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

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


  • MessageProxy must be the caller of the function.

  • CommunityPool must be an origin of the message on mainnet.

  • The message must come from the mainnet.

  • The message must contains status of a user.

  • Status of a user in the message must be different from the current status.

checkAllowedToSendMessage checkAllowedToSendMessage(address receiver) external

Reverts if {receiver} is not allowed to send a message.


  • Function caller has to be registered in TokenManagerLinker as a TokenManager.

  • {receiver} must be an active user.

  • Previous message sent by {receiver} must be sent earlier then timeLimitPerMessage seconds before current time or there are no messages sent by {receiver}.

setTimeLimitPerMessage setTimeLimitPerMessage(uint256 newTimeLimitPerMessage) external

Set value of timeLimitPerMessage.


initialize initialize(string newSchainName, contract MessageProxyForSchain newMessageProxy, contract TokenManagerLinker newTokenManagerLinker, address newCommunityPool) external

Is called once during contract deployment.

ActivateUser ActivateUser(bytes32 schainHash, address user) event

Emitted when a user becomes active.

LockUser LockUser(bytes32 schainHash, address user) event

Emitted when a user stops being active.

TimeLimitPerMessageWasChanged TimeLimitPerMessageWasChanged(uint256 oldValue, uint256 newValue) event

Emitted when value of timeLimitPerMessage was changed.