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.


postMessage postMessage(bytes32 fromChainHash, address sender, bytes data) external

Allows MessageProxy to post operational message from mainnet or SKALE chains.


  • MessageProxy must be the sender.

  • fromChainHash must exist in TokenManager addresses.

_sendERC721 _sendERC721(bytes32 fromChainHash, bytes data) → address internal

Allows TokenManager to send ERC721 tokens.

Emits a {ERC20TokenCreated} event if token did not exist and was automatically deployed. Emits a {ERC20TokenReceived} event on success.

_exit _exit(bytes32 chainHash, address messageReceiver, address contractOnMainChain, address to, uint256 tokenId) internal

Burn tokens on schain and send message to unlock them on target chain.

_receiveERC721 _receiveERC721(bytes32 chainHash, address erc721OnMainChain, address to, uint256 tokenId) → bytes data internal

Allows DepositBoxERC721 to receive ERC721 tokens.

Emits an {ERC721TokenReady} event.


  • Whitelist should be turned off for auto adding tokens to DepositBoxERC721.