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.
-
Linker
must 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.