TokenManagerERC721
Runs on SKALE Chains, accepts messages from mainnet, and creates ERC721 clones. TokenManagerERC721 mints tokens. When a user exits a SKALE chain, it burns them.
exitToMainERC721 exitToMainERC721(address contractOnMainnet, uint256 tokenId)
external
Move tokens from schain to mainnet.
{contractOnMainnet} tokens are burned on schain and unlocked on mainnet for {to} address.
transferToSchainERC721 transferToSchainERC721(string targetSchainName, address contractOnMainnet, uint256 tokenId)
external
Move tokens from schain to schain.
{contractOnMainnet} tokens are burned on origin schain and are minted on {targetSchainName} schain for {to} address.
postMessage postMessage(bytes32 fromChainHash, address sender, bytes data) → address
external
Allows MessageProxy to post operational message from mainnet or SKALE chains.
Requirements:
-
MessageProxy must be the sender.
-
fromSchainName
must exist in TokenManager addresses.
addERC721TokenByOwner addERC721TokenByOwner(address erc721OnMainnet, contract ERC721OnChain erc721OnSchain)
external
Allows Schain owner to register an ERC721 token clone in the token manager.
initialize initialize(string newChainName, contract MessageProxyForSchain newMessageProxy, contract TokenManagerLinker newIMALinker, contract CommunityLocker newCommunityLocker, address newDepositBox)
external
Is called once during contract deployment.
ERC721TokenAdded ERC721TokenAdded(address erc721OnMainnet, address erc721OnSchain)
event
Emitted when schain owner register new ERC721 clone.
ERC721TokenCreated ERC721TokenCreated(address erc721OnMainnet, address erc721OnSchain)
event
Emitted when TokenManagerERC721 automatically deploys new ERC721 clone.
ERC721TokenReceived ERC721TokenReceived(address erc721OnMainnet, address erc721OnSchain, uint256 tokenId)
event
Emitted when someone sends tokens from mainnet to schain.