TokenManagerERC20

exitToMainERC20 exitToMainERC20(address contractOnMainnet, uint256 amount) external

Move tokens from schain to mainnet.

{contractOnMainnet} tokens are burned on schain and unlocked on mainnet for {msg.sender} address.

transferToSchainERC20 transferToSchainERC20(string targetSchainName, address contractOnMainnet, uint256 amount) external

Move tokens from schain to schain.

{contractOnMainnet} tokens are burned on origin schain and are minted on {targetSchainName} schain for {msg.sender} address.

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

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

Requirements:

  • MessageProxy must be the sender.

  • fromChainHash must exist in TokenManager addresses.

addERC20TokenByOwner addERC20TokenByOwner(string targetChainName, address erc20OnMainChain, address erc20OnSchain) external

Allows Schain owner to register an ERC20 token clone in the TokenManager.

initialize initialize(string newChainName, contract IMessageProxyForSchain newMessageProxy, contract ITokenManagerLinker newIMALinker, contract ICommunityLocker newCommunityLocker, address newDepositBox) external

Is called once during contract deployment.

ERC20TokenAdded ERC20TokenAdded(bytes32 chainHash, address erc20OnMainChain, address erc20OnSchain) event

Emitted when schain owner register new ERC20 clone.

ERC20TokenCreated ERC20TokenCreated(bytes32 chainHash, address erc20OnMainChain, address erc20OnSchain) event

Emitted when TokenManagerERC20 automatically deploys new ERC20 clone.

ERC20TokenReceived ERC20TokenReceived(bytes32 chainHash, address erc20OnMainChain, address erc20OnSchain, uint256 amount) event

Emitted when someone sends tokens from mainnet to schain.

ERC20TokenReady ERC20TokenReady(bytes32 chainHash, address contractOnMainnet, uint256 amount) event

Emitted when token is received by TokenManager and is ready to be cloned or transferred on SKALE chain.