Get Particle Settings
getCreatorAnnuities
Gets the creator of a Particle and the percentage of creator annuities for the specified Particle. Creator annuities can be reassigned from the original creator to a 3rd party using the setCreatorAnnuitiesRedirect
function.
Copy function getCreatorAnnuities(
address contractAddress,
uint256 tokenId
) external returns (
address creator,
uint256 annuityPct
);
getCreatorAnnuitiesRedirect
Get the address that receives creator annuities for a given Particle/ Defaults to creator address if it has not been redirected via the setCreatorAnnuitiesRedirect
function.
Copy function getCreatorAnnuitiesRedirect(
address contractAddress,
uint256 tokenId
) external view returns (address);
getTempLockExpiryBlocks
Get the unlock block of the temporary timelock associated with a Particle. The temporary timelock exists to prevent front-running.
Copy function getTempLockExpiryBlocks () returns (uint256)
getTimelockApprovals
Gets the approvals for time locks.
Copy function getTimelockApprovals(
address operator
) external view returns (
bool timelockAny,
bool timelockOwn
);
getAssetRequirements
Get requirements for an asset token that determine whether it can be deposited into a Particle. Aave, Compound, etc. have different requirements for tokens, and this function returns those requirements for each type of wallet manager / ERC20 asset.
Copy function getAssetRequirements(
address contractAddress,
address assetToken
) external view returns (
string memory requiredWalletManager,
bool energizeEnabled,
bool restrictedAssets,
bool validAsset,
uint256 depositCap,
uint256 depositMin,
uint256 depositMax,
bool invalidAsset
);
getNftAssetRequirements
Get requirements for NFTs that can be deposited into a Particle
Copy function getNftAssetRequirements(
address contractAddress,
address nftTokenAddress
) external view returns (
string memory requiredBasketManager,
bool basketEnabled,
uint256 maxNfts
);
Update Particle Settings
setCreatorAnnuities
Sets a custom percentage for the Creator Annuities of a Particle.
Copy function setCreatorAnnuities(
address contractAddress,
uint256 tokenId,
address creator,
uint256 annuityPercent
) external;
setCreatorAnnuitiesRedirect
Sets a custom receiver address for the Creator Annuities.
Copy function setCreatorAnnuitiesRedirect(
address contractAddress,
uint256 tokenId,
address receiver
) external;
Update Settings for Entire NFT Contracts
For the owner or admin of an NFT contract only
setRequiredWalletManager
Sets a required Wallet Manager for External NFT contracts (otherwise set to "none" to allow any Wallet Manager).
Copy function setRequiredWalletManager(
address contractAddress,
string calldata walletManager
) external;
setRequiredBasketManager
Sets a required Basket Manager for External NFT contracts (otherwise set to "none" to allow any Basket Manager).
Copy function setRequiredBasketManager(
address contractAddress,
string calldata basketManager
) external;
setAssetTokenRestrictions
Enables or disables asset token restrictions for External NFT contracts.
Copy function setAssetTokenRestrictions(
address contractAddress,
bool restrictionsEnabled
) external;
setAllowedAssetToken
Enables or disables allowed asset tokens for External NFT contracts.
Copy function setAllowedAssetToken(
address contractAddress,
address assetToken,
bool isAllowed
) external;
setAssetTokenLimits
Sets the custom configuration for External contracts.
Copy function setAssetTokenLimits(
address contractAddress,
address assetToken,
uint256 depositMin,
uint256 depositMax
) external;
setMaxNfts
Sets the maximum number of NFTs that can be held by a Particle, for a given contract. For example, if you wanted a Particle to only be able to hold one Bored Ape, you would use this function to set that restriction.
Copy function setMaxNfts(
address contractAddress,
address nftTokenAddress,
uint256 maxNfts
) external;
Other
Events
Copy event Initialized(address indexed initiator);
Copy event ControllerSet(address indexed controllerAddress, string controllerId);
Copy event DepositCapSet(address assetToken, uint256 depositCap);
Copy event TempLockExpirySet(uint256 expiryBlocks);
Copy event RequiredWalletManagerSet(address indexed contractAddress, string walletManager);
Copy event RequiredBasketManagerSet(address indexed contractAddress, string basketManager);
Copy event AssetTokenRestrictionsSet(address indexed contractAddress, bool restrictionsEnabled);
Copy event AllowedAssetTokenSet(address indexed contractAddress, address assetToken, bool isAllowed);
Copy event AssetTokenLimitsSet(address indexed contractAddress, address assetToken, uint256 assetDepositMin, uint256 assetDepositMax);
Copy event MaxNftsSet(address indexed contractAddress, address indexed nftTokenAddress, uint256 maxNfts);
Copy event AssetInvaliditySet(address indexed assetToken, bool invalidity);
Copy event TokenCreatorConfigsSet(address indexed contractAddress, uint256 indexed tokenId, address indexed creatorAddress, uint256 annuityPercent);
Copy event TokenCreatorAnnuitiesRedirected(address indexed contractAddress, uint256 indexed tokenId, address indexed redirectAddress);
Copy event PermsSetForCharge(address indexed contractAddress, bool state);
Copy event PermsSetForBasket(address indexed contractAddress, bool state);
Copy event PermsSetForTimelockAny(address indexed contractAddress, bool state);
Copy event PermsSetForTimelockSelf(address indexed contractAddress, bool state);