CommunityLocker

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.

  • 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.

Requirements:

  • 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.

Requirements:

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.