TokenManagerERC20
Runs on SKALE Chains, accepts messages from mainnet, and creates ERC20 clones. TokenManagerERC20 mints tokens. When a user exits a SKALE chain, it burns them.
exitToMainERC20 exitToMainERC20(address contractOnMainnet, uint256 amount)
external
Move tokens from schain to mainnet.
{contractOnMainnet} tokens are burned on schain and unlocked on mainnet for {to} 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 {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.
addERC20TokenByOwner addERC20TokenByOwner(address erc20OnMainnet, contract ERC20OnChain erc20OnSchain)
external
Allows Schain owner to register an ERC20 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.
ERC20TokenAdded ERC20TokenAdded(address erc20OnMainnet, address erc20OnSchain)
event
Emitted when schain owner register new ERC20 clone.
ERC20TokenCreated ERC20TokenCreated(address erc20OnMainnet, address erc20OnSchain)
event
Emitted when TokenManagerERC20 automatically deploys new ERC20 clone.
ERC20TokenReceived ERC20TokenReceived(address erc20OnMainnet, address erc20OnSchain, uint256 amount)
event
Emitted when someone sends tokens from mainnet to schain.