MsgAcceptOwner
Broadcasts a transaction that finalizes a transfer of ownership.
It accepts the newOwner
and completes the two stage process of transferring an owner.
This message accepts no arguments.
Requires:
- MsgUpdateOwner must be broadcasted first. This sets a pending
newOwner
- Message must be sent from the
Pending Owner
account
State changes:
Events emitted:
MsgAddRemoteTokenMessenger
Broadcast a transaction that adds a remote token messenger for a provided domain.
Arguments:
domain-id
address
- address ofRemoteTokenMessenger
to add
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgDepositForBurn
Broadcast a transaction that deposits for burn to a provided domain.
Arguments:
Amount
- The burn amountDestinationDomain
- Domain of destination chainMintRecipient
- address receiving minted tokens on destination chain as a 32 length byte arrayBurnToken
- The burn token address on source domain
Requires:
Amount
must be positiveAmount
must be <=PerMessageBurnLimit
MintRecipient
must not be blankBurnToken
must align with a denom that can be minted from thefiattokenfactory
BurningAndMintingPaused
must be false
State Changes:
- (indirect)
NextAvailableNonce
(Changed by:SendMessage
)
Events emitted:
DepositForBurn
- (indirect)
MessageSent
(Emitted by:SendMessage
)
If a Destination Caller is not included, this message calls: SendMessage
If a Destination Caller is included, this message calls: SendMessageWithCaller
. See DepositForBurnWithCaller
MsgDepositForBurnWithCaller
Broadcast a transaction that deposits for burn with caller to a provided domain.
This message wraps MsgDepositForBurn
. It adds one extra argument:
Arguments:
DestinationCaller
- authorized caller as 32 length byte array of receiveMessage() on destination domain
Requires:
DestinationCaller
must not be blank
MsgDisableAttester
Broadcast a transaction that disables a provided attester.
Arguments:
attester
- address of attester to disable.
Requires:
- Message must be sent from the
Attester Manager
account - You cannot remove an attester if there is currently only one attester.
len(storedAttesters) > 0
- Number of current attesters must be greater than the signature threshold; disallow removing public key if it causes the n in m/n multisig to fall below m (threshold # of signers)
State changes:
Events emitted:
MsgEnableAttester
Broadcast a transaction that enables a provided attester.
Arguments:
attester
- address of attester to enable.
Requires:
- Message must be sent from the
Attester Manager
account
State changes:
Events emitted:
MsgLinkTokenPair
Broadcast a transaction that links a token pair for a provided domain. This is used for minting/burning. It maps a remote token on a remote domain to a local token.
Arguments:
LocalToken
- Denom of local token in uunitsRemoteToken
- The remote token addressRemoteDomain
- The domain where the message originated from.
Requires:
- Message must be sent from the
Token Controller
account
State changes:
Events emitted:
MsgPauseBurningAndMinting
Broadcast a transaction that pauses burning & minting.
This message accepts no arguments.
Requires:
- Message must be sent from the
Pauser
account
State changes:
Events emitted:
MsgPauseSendingAndReceivingMessages
Broadcast a transaction that pauses sending & receiving messages.
This message accepts no arguments.
Requires:
- Message must be sent from the
Pauser
account
State changes:
Events emitted:
MsgReceiveMessage
Broadcast a transaction that receives a provided message from another domain. After validation, it performs a mint.
Arguments:
message
(https://developers.circle.com/stablecoin/docs/cctp-technical-reference#message)attestation
- Concatenated 65-byte signature(s) ofmessage
, in increasing order of the attester address recovered from signatures. See Valid Attestation
Requires:
SendingAndReceivingMessagesPaused
must be falseBurningAndMintingPaused
must be false- if
message
includes destination caller, then message must be sent from the same address as destination caller message.destinationDomain
must be4
(Noble chain's domain-ID)message.version
must be equal to Noble chain's message version (0
)message.nonce
must not be a used nonce- if
message.messageBody
is a validburnMessage
, then:burnMessage.version
must be equal to the hard codedMessageBodyVersion
(0
)burnMessage.burnToken
andmessage.sourceDomain
must be a validtoken pair
State changes:
- nonce
- sets a used nonce
Events emitted:
- Length of
_attestation
== 65 (signature length) * signatureThreshold - Addresses recovered from attestation must be in increasing order. For example, if signature A is signed by address 0x1..., and signature B is signed by address 0x2..., attestation must be passed as AB.
- No duplicate signers
- All signers must be enabled attesters
MsgRemoveRemoteTokenMessenger
Broadcast a transaction that removes the remote token messenger of a provided domain.
Arguments:
domainId
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgReplaceDepositForBurn
Broadcast a transaction that replaces a deposit for burn message. Replace the mint recipient and/or destination caller.
Allows the sender of a previous BurnMessage (created by depositForBurn or depositForBurnWithCaller) to send a new BurnMessage to replace the original. The new BurnMessage will reuse the amount and burn token of the original without requiring a new deposit.
Arguments:
OriginalMessage
- original message bytes to replaceOriginalAttestation
- attestation bytes ofOriginalMessage
NewDestinationCaller
- the new destination caller, which may be the same as the original destination caller, a new destination caller, or an empty destination caller, indicating that any destination caller is valid.NewMintRecipient
- the new mint recipient. May be the same as the original mint recipient, or different.
Requires:
BurningAndMintingPaused
must be false- Must be sent from the same account as the original message sender
State Changes:
- (indirect)
NextAvailableNonce
(Changed by callingMsgReplaceMessage
which calls:SendMessage
)
Events emitted:
DepositForBurn
- (indirect)
MessageSent
(Emitted by callingMsgReplaceMessage
which calls:SendMessage
)
This message calls: MsgReplaceMessage
MsgReplaceMessage
Broadcast a transaction that replaces a provided message. Replace the message body and/or destination caller.
Arguments:
OriginalMessage
- original message bytes to replaceOriginalAttestation
- attestation bytes ofOriginalMessage
NewMessageBody
- new message body of replaced messageNewDestinationCaller
- the new destination caller, which may be the same as the original destination caller, a new destination caller, or an empty destination caller, indicating that any destination caller is valid.
Requires:
SendingAndReceivingMessagesPaused
must be false- The attestation signatures of the original message must still be valid. Changing attesters or the signature threshold can render all previous messages irreplaceable
- Must be sent from the same account as the original message sender
- The
OriginalMessage
sourceDomain
must be equal to Noble Chain's source domain (4
)
State Changes:
- (indirect)
NextAvailableNonce
(Changed by:SendMessage
)
Events emitted:
- (indirect)
MessageSent
(Emitted by:SendMessage
)
This message calls: SendMessage
MsgSendMessage
Broadcast a transaction that sends a message to a provided domain.
Arguments:
DestinationDomain
- Domain of destination chainRecipient
- Address of message recipient on destination chainMessageBody
- Raw bytes content of message
Requires:
SendingAndReceivingMessagesPaused
must be false- if
MaxMessageBodySize
is set, check that theMessageBody
is not greater than theMaxMessageBodySize
. Recipient
cannot be blank
State Changes:
Events emitted:
MsgSendMessageWithCaller
Broadcast a transaction that sends a message with a caller to a provided domain.
Specifying a Destination caller requires that only the specified caller can call receiveMessage() on destination domain.
This message wraps SendMessage
. It adds one extra argument:
Arguments:
DestinationCaller
- caller on the destination domain, as 32 length byte array
Requires:
DestinationCaller
cannot be blank
State Changes:
MsgSetMaxBurnAmountPerMessage
Broadcast a transaction that updates the max burn amount per message for a provided token.
Arguments:
LocalToken
- Denom of local token in uunitsAmount
Requires:
- Must be sent from
Token Controller
account
State Changes:
Events emitted:
MsgUnlinkTokenPair
Broadcast a transaction that unlinks a token pair for a provided domain.
Arguments:
RemoteDomain
- The domain tied to remote tokenRemoteToken
- The remote token addressLocalToken
- Denom of local token in uunits
Requires:
- Must be sent from
Token Controller
account - The
RemoteDomain
andRemoteToken
must correlate to a valid tokenPair
State Changes:
Events emitted:
- TokenPairUnlinked
MsgUpdateAttesterManager
Broadcast a transaction that updates the attester manager to the provided address.
Arguments:
NewAttesterManager
- address of the new attester manager
Requires:
- Must be sent from
Owner
account
State Changes:
Events Emitted:
AttesterManagerUpdated
MsgUpdateMaxMessageBodySize
Broadcast a transaction that updates the max message body size to the provided size.
Arguments:
MessageSize
- new max message body size
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgUpdateOwner
Broadcast a transaction that initiates a transfer of ownership to the provided address.
Arguments:
newOwner
- noble address to set as thePending Owner
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgUpdatePauser
Broadcast a transaction that updates the pauser to the provided address.
Arguments:
NewPauser
- address of the new pauser
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgUpdateSignatureThreshold
Broadcast a transaction that updates the signature threshold to the provided amount.
Arguments:
Amount
Requires:
- Must be sent from
Attester Manager
account - The new signature threshold cannot be greater than the number of attesters
State Changes:
Events emitted:
MsgUpdateTokenController
Broadcast a transaction that updates the token controller to the provided address.
Arguments:
NewTokenController
- address of the new token controller
Requires:
- Must be sent from
Owner
account
State Changes:
Events emitted:
MsgUnpauseBurningAndMinting
Broadcast a transaction that unpauses burning & minting.
This message accepts no arguments.
Requires:
- Message must be sent from the
Pauser
account
State changes:
Events emitted:
MsgUnpauseSendingAndReceivingMessages
Broadcast a transaction that unpauses sending & receiving messages.
This message accepts no arguments.
Requires:
- Message must be sent from the
Pauser
account
State changes:
Events emitted: