Charged Settings Contract

Charged Particles Settings Contract. Used to view and update rules for how the Charged Particles contract functions.

Get Contract Settings

Get a Contract's settings, such as its Owner, and which features are enabled, etc.

isContractOwner

Checks if an Account is the Owner of an NFT Contract. When Custom Contracts are registered, only the "owner" or operator of the Contract is allowed to register them and define custom rules for how their tokens are "Charged". Otherwise, any token can be "Charged" according to the default rules of Charged Particles.

function isContractOwner(
  address contractAddress,
  address account
) external view override virtual returns (bool);

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

account

if set, will only allow deposits from allowed asset tokens

return

true if the account is the Owner of the contract

isWalletManagerEnabled

Returns true or false depending on whether or not wallet manager is enabled.

function isWalletManagerEnabled(
  string calldata walletManagerId
) external virtual override view returns (bool);

Parameter / Return Value

Description

walletManagerId

id of wallet manager to check

return

True if enabled

getWalletManager

Gets interface for wallet manager contract.

Parameter / Return Value

Description

walletManagerId

id of wallet manager to check

IWalletManager

interface of wallet manager contract

isNftBasketEnabled

Returns true or false depending on whether or not basket manager is enabled.

Parameter / Return Value

Description

basketManagerId

id of basket manager to check

return

True if enabled

getBasketManager

Gets the interface of the Basket Manager.

Parameter / Return Value

Description

basketManagerId

id of basket manager to check

IBasketManager

interface of basket manager contract

getCreatorAnnuities

Gets the amount of creator annuities reserved for the creator for the specified NFT.

Parameter / Return Value

Description

contractAddress

The Address to the Contract of the NFT

tokenId

The tokenId of the NFT

creator

The creator's address

annuityPct

The percentage of annuities reserved for the creator

getCreatorAnnuitiesRedirect

Gets address that creator annuties are being redirected to.

Parameter / Return Value

Description

contractAddress

The Address to the Contract of the NFT

tokenId

The tokenId of the NFT

address

address of account where annuities are being redirected

getTempLockExpiryBlocks

Gets the temporary time lock expiry blocks.

Parameter / Return Value

Description

return

expiry blocks

getTimelockApprovals

Gets the approvals for time locks.

Parameter / Return Value

Parameter / Return Value

Description

operator

operator of Particle

timelockAny

whether or not operator can time lock any NFT on behalf of user

timelockOwn

whether or not operator can time lock their own NFTS

getAssetRequirements

Get requirements for an asset token. Aave, Compound, etc. have requirements for tokens. This function returns the requirements for those tokens.

Parameter / Return Value

Description

contractAddress

address of contract

assetToken

address of asset token to get requirements for

requiredWalletManager

wallet manager required for asset token

energizeEnabled

whether or not energizing is enabled for asset token

restrictedAssets

whether or not asset token is a restricted asset

validAsset

whether or not asset token is a valid asset

depositCap

cap on deposit amount for asset token

depositMin

minimum deposit amount for asset token

depositMax

maximum deposit amount for asset token

getNftAssetRequirements

Get requirements relating to if / how many NFTs can be deposited into a particle.

Parameter / Return Value

Description

contractAddress

address of Particle contract

nftTokenAddress

address of NFT token

requiredBasketManager

basket manager

basketEnabled

whether or not depositing NFTs into Particles is enabled

maxNfts

maxNfts that can be desposited into a Particle

Register (Set) Contract Settings

Used for external contract integration

setCreatorAnnuities

Sets the Custom Configuration for Creators of Proton-based NFTs.

Parameter / Return Value

Description

contractAddress

address of Particle contract

tokenId

id of Particle

creator

address of creator

annuityPercent

percentage of Particle's charge (interest) creator will receive

setCreatorAnnuitiesRedirect

Sets a Custom Receiver Address for the Creator Annuities.

Parameter / Return Value

Description

contractAddress

address of Particle contract

tokenId

id of Particle

creator

address of creator

receiver

address that annuities will be redirected to

setRequiredWalletManager

Sets a Required Wallet-Manager for External NFT Contracts (otherwise set to "none" to allow any Wallet-Manager).

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

walletManager

if set, will only allow deposits from this specific wallet-manager

setRequiredBasketManager

Sets a Required Basket-Manager for External NFT Contracts (otherwise set to "none" to allow any Basket-Manager).

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

basketManager

if set, will only allow deposits from this specific wallet-manager

setAssetTokenRestrictions

Enables or Disables Asset-Token Restrictions for External NFT Contracts.

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

restrictionsEnabled

if set, will only allow deposits from allowed asset tokens

setAllowedAssetToken

Enables or Disables Allowed Asset Tokens for External NFT Contracts.

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

walletManager

if set, will only allow deposits from allowed asset tokens

setAssetTokenLimits

Sets the Custom Configuration for External Contracts.

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

assetToken

address of asset token to set limits for (e.g. DAI)

depositMin

if set, will define the minimum amount of Asset tokens the NFT may hold, otherwise any amount

depositMax

if set, will define the maximum amount of Asset tokens the NFT may hold, otherwise any amount

setMaxNfts

Sets the Max Number of NFTs that can be held by a Charged Particle NFT.

Parameter / Return Value

Description

contractAddress

address of external NFT contract to configure

nftTokenAddress

address of the NFT token to set a maximum for

maxNfts

maximum number of NFTs a Particle can hold

Other

Events

DepositCapSet

TempLockExpirySet

WalletManagerRegistered

BasketManagerRegistered

RequiredWalletManagerSet

RequiredBasketManagerSet

AssetTokenRestrictionsSet

AllowedAssetTokenSet

AssetTokenLimitsSet

MaxNftsSet

TokenCreatorConfigsSet

TokenCreatorAnnuitiesRedirected

PermsForSetCharge

PermsSetForBasket

PermsSetForTimelockAny

PermsSetForTimelockSelf

Last updated

Was this helpful?