TokenManagerLinker
Links custom TokenManagers to MessageProxy.
onlyRegistrar onlyRegistrar() modifier
Modifier to make a function callable only if caller is granted with REGISTRAR_ROLE.
registerTokenManager registerTokenManager(contract TokenManager newTokenManager) external
removeTokenManager removeTokenManager(contract TokenManager tokenManagerAddress) external
Cancel registration of token manager.
Requirements:
-
Function caller has to be granted with
REGISTRAR_ROLE.
connectSchain connectSchain(string schainName, address[] tokenManagerAddresses) external
Register new SKALE chain.
Requirements:
-
Function caller has to be granted with
REGISTRAR_ROLE. -
Direct messaging between SKALE chains must be allowed.
-
Amount of token managers on target SKALE chain must be equal to the amount on current one.
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 caller of the function.
-
Linkermust be an origin of the message on mainnet. -
The message must come from the mainnet.
-
The message must contains information about interchain connection allowance.
-
Interchain connection allowance in the message must be different from the current one.
disconnectSchain disconnectSchain(string schainName) external
Cancel registration of linked SKALE chain.
Requirements:
-
Function caller has to be granted with
REGISTRAR_ROLE.
hasTokenManager hasTokenManager(contract TokenManager tokenManager) → bool external
Check if TokenManager is registered in IMA.
hasSchain hasSchain(string schainName) → bool connected external
Check if SKALE chain with name {schainName} is registered in IMA.
initialize initialize(contract MessageProxy newMessageProxyAddress, address linker) external
Is called once during contract deployment.
InterchainConnectionAllowed InterchainConnectionAllowed(bool isAllowed) event
Emitted when interchainConnections was changed.