NTT Manager Contract Reference (EVM)#
The NttManager contract is responsible for managing the token and associated transceivers. It enables cross-chain token transfers, peer registration, rate limiting, and message attestation for the NTT protocol.
Structure Overview#
The NTT Manager system is built using a layered inheritance structure composed of multiple base contracts and interfaces.
NttManager.sol
├── INttManager.sol
├── RateLimiter.sol
│ ├── IRateLimiter.sol
│ └── IRateLimiterEvents.sol
└── ManagerBase.sol
├── IManagerBase.sol
├── TransceiverRegistry.sol
├── PausableOwnable.sol
├── ReentrancyGuardUpgradeable.sol
└── Implementation.sol
Key Components:
NttManager.sol
: The main contract that combines all functionality for token transfers with rate limiting.ManagerBase.sol
: Provides core management functionality including message handling, threshold management, and transceiver coordination.RateLimiter.sol
: Adds rate limiting capabilities with queuing mechanisms for both inbound and outbound transfers.TransceiverRegistry.sol
: Manages the registration, enabling, and disabling of transceivers.PausableOwnable.sol
: Provides ownership and emergency pause functionality.ReentrancyGuardUpgradeable.sol
: Protects against reentrancy attacks in an upgradeable context.Implementation.sol
: Handles proxy implementation logic for upgradeable contracts.
State Variables#
Core Identification#
token
address: Address of the token that this NTT Manager is tied to.mode
Mode: Mode of the NTT Manager (LOCKING=0 or BURNING=1).chainId
uint16: Wormhole chain ID that the NTT Manager is deployed on.NTT_MANAGER_VERSION
string: The version string of the NttManager contract implementation.rateLimitDuration
uint64: Duration (in seconds) until limits fully replenish.
Cross-chain Peers and Governance Thresholds#
peers
mapping(uint16 ⇒ NttManagerPeer): Mapping of peer chain IDs to their peer NTT Manager address and token decimals.messageAttestations
mapping(bytes32 ⇒ AttestationInfo): Tracks whether a message has been executed and the bitmap of transceivers that have attested to it.THRESHOLD_SLOT
uint8: Number of attestation approvals required for message execution.MESSAGE_SEQUENCE_SLOT
uint64: Monotonic sequence number for outgoing messages.
Rate Limiting and Queues#
rateLimitDuration
uint64: Duration (in seconds) until limits fully replenish.outboundLimitParams
RateLimitParams: Parameters controlling outbound transfer rate limits, including capacity and last transaction timestamp.inboundLimitParams
mapping(uint16 ⇒ RateLimitParams): Parameters controlling inbound transfer rate limits per peer chain.outboundQueue
mapping(uint64 ⇒ OutboundQueuedTransfer): Queue of outbound transfers when rate limits are exceeded, keyed by sequence number.inboundQueue
mapping(bytes32 ⇒ InboundQueuedTransfer): Queue of inbound transfers when rate limits are exceeded, keyed by message digest.
Events#
InboundTransferLimitUpdated#
Emitted when the inbound transfer limit is updated. (Defined in RateLimiter.sol)
Parameters
chainId
uint16
The chain ID for which the limit was updated.
oldLimit
uint256
The previous inbound limit.
newLimit
uint256
The new inbound limit.
InboundTransferQueued#
Emitted when an inbound transfer is queued due to rate limiting. (Defined in RateLimiter.sol)
Parameters
digest
bytes32
The digest of the queued transfer.
MessageAlreadyExecuted#
Emitted when a message has already been executed to notify client against retries. (Defined in ManagerBase.sol)
Parameters
sourceNttManager
bytes32
The address of the source NttManager.
digest
bytes32
The keccak-256 hash of the message.
MessageAttestedTo#
Emitted when a message has been attested to by a transceiver. (Defined in ManagerBase.sol)
Parameters
digest
bytes32
The digest of the message.
transceiver
address
The address of the transceiver that attested to the message.
index
uint8
The index of the transceiver in the registry.
NotPaused#
Emitted when the contract is unpaused. (Defined in PausableUpgradeable.sol)
Parameters
notPaused
bool
Whether the contract is not paused.
OutboundTransferCancelled#
Emitted when an outbound transfer has been cancelled. (Defined in NttManager.sol)
Parameters
sequence
uint256
The sequence number being cancelled.
recipient
address
The canceller and recipient of the funds.
amount
uint256
The amount of the transfer being cancelled.
OutboundTransferLimitUpdated#
Emitted when the outbound transfer limit is updated. (Defined in RateLimiter.sol)
Parameters
oldLimit
uint256
The previous outbound limit.
newLimit
uint256
The new outbound limit.
OutboundTransferQueued#
Emitted when an outbound transfer is queued due to rate limiting. (Defined in RateLimiter.sol)
Parameters
sequence
uint64
The sequence number of the queued transfer.
OutboundTransferRateLimited#
Emitted when an outbound transfer is rate limited. (Defined in RateLimiter.sol)
event OutboundTransferRateLimited(
address sender,
uint64 sequence,
uint256 amount,
uint256 currentCapacity
)
Parameters
sender
address
The address that initiated the transfer.
sequence
uint64
The sequence number of the transfer.
amount
uint256
The amount being transferred.
currentCapacity
uint256
The current available capacity.
OwnershipTransferred#
Emitted when ownership of the contract is transferred. (Defined in OwnableUpgradeable.sol)
Parameters
previousOwner
address
The previous owner's address.
newOwner
address
The new owner's address.
Paused#
Emitted when the contract is paused. (Defined in PausableUpgradeable.sol)
Parameters
paused
bool
Whether the contract is paused.
PauserTransferred#
Emitted when pauser capability is transferred. (Defined in PausableUpgradeable.sol)
Parameters
oldPauser
address
The previous pauser's address.
newPauser
address
The new pauser's address.
PeerUpdated#
Emitted when the peer contract is updated. (Defined in NttManager.sol)
event PeerUpdated(
uint16 indexed chainId_,
bytes32 oldPeerContract,
uint8 oldPeerDecimals,
bytes32 peerContract,
uint8 peerDecimals
)
Parameters
chainId_
uint16
The chain ID of the peer contract.
oldPeerContract
bytes32
The old peer contract address.
oldPeerDecimals
uint8
The old peer contract decimals.
peerContract
bytes32
The new peer contract address.
peerDecimals
uint8
The new peer contract decimals.
ThresholdChanged#
Emitted when the threshold required for transceivers is changed. (Defined in ManagerBase.sol)
Parameters
oldThreshold
uint8
The old threshold.
threshold
uint8
The new threshold.
TransceiverAdded#
Emitted when a transceiver is added to the NttManager. (Defined in ManagerBase.sol)
Parameters
transceiver
address
The address of the transceiver.
transceiversNum
uint256
The current number of transceivers.
threshold
uint8
The current threshold of transceivers.
TransceiverRemoved#
Emitted when a transceiver is removed from the NttManager. (Defined in ManagerBase.sol)
Parameters
transceiver
address
The address of the transceiver.
threshold
uint8
The current threshold of transceivers.
TransferRedeemed#
Emitted when a transfer has been redeemed (either minted or unlocked on the recipient chain). (Defined in NttManager.sol)
Parameters
digest
bytes32
The digest of the message.
TransferSent#
Emitted when a message is sent from the NttManager. (Defined in NttManager.sol)
event TransferSent(
bytes32 indexed recipient,
bytes32 indexed refundAddress,
uint256 amount,
uint256 fee,
uint16 recipientChain,
uint64 msgSequence
)
Parameters
recipient
bytes32
The recipient of the message.
refundAddress
bytes32
The address on the destination chain to which the refund of unused gas will be paid.
amount
uint256
The amount transferred.
fee
uint256
The amount of ether sent along with the tx to cover the delivery fee.
recipientChain
uint16
The chain ID of the recipient.
msgSequence
uint64
The unique sequence ID of the message.
TransferSent (Digest Version)#
Emitted when a message is sent from the NttManager (digest version). (Defined in NttManager.sol)
Parameters
digest
bytes32
The digest of the message.
Functions#
attestationReceived#
Called by transceivers when the attestation is received. (Defined in NttManager.sol)
function attestationReceived(
uint16 sourceChainId,
bytes32 sourceNttManagerAddress,
TransceiverStructs.NttManagerMessage memory payload
) external
Parameters
sourceChainId
uint16
The chain ID of the source.
sourceNttManagerAddress
bytes32
The address of the source NttManager.
payload
TransceiverStructs.NttManagerMessage
The message payload containing transfer details.
NttManagerMessage
struct
id
bytes32
Unique message identifier (incrementally assigned on EVM chains).
sender
bytes32
Original message sender address.
payload
bytes
Payload that corresponds to the transfer type.
Emits:
MessageAlreadyExecuted
(if the message was already executed),OutboundTransferCancelled
orTransferRedeemed
(if the message execution succeeds),TransferSent
(if the message execution succeeds)
cancelOutboundQueuedTransfer#
Cancel an outbound transfer that's been queued due to rate limiting. (Defined in NttManager.sol)
Parameters
messageSequence
uint64
The sequence number of the queued transfer to cancel.
Emits:
OutboundTransferCancelled
completeInboundQueuedTransfer#
Complete an inbound transfer that's been queued due to rate limiting. (Defined in NttManager.sol)
Parameters
digest
bytes32
The digest of the queued transfer.
Emits:
TransferRedeemed
completeOutboundQueuedTransfer#
Complete an outbound transfer that's been queued due to rate limiting. (Defined in NttManager.sol)
Parameters
messageSequence
uint64
The sequence number of the queued transfer.
Returns
sequence
uint64
The sequence number of the completed transfer.
Emits:
TransferSent
(two variants)
executeMsg#
Execute a message when the threshold is met. (Defined in NttManager.sol)
function executeMsg(
uint16 sourceChainId,
bytes32 sourceNttManagerAddress,
TransceiverStructs.NttManagerMessage memory message
) external
Parameters
sourceChainId
uint16
The chain ID of the source.
sourceNttManagerAddress
bytes32
The address of the source NttManager.
message
TransceiverStructs.NttManagerMessage
The message to execute containing transfer details.
NttManagerMessage
struct
id
bytes32
Unique message identifier (incrementally assigned on EVM chains).
sender
bytes32
Original message sender address.
payload
bytes
Payload that corresponds to the transfer type.
Emits:
MessageAlreadyExecuted
(if already executed),OutboundTransferCancelled
, orTransferRedeemed
(depending on the transfer type)
getCurrentInboundCapacity#
Returns the currently remaining inbound capacity from a chain. (Defined in RateLimiter.sol)
Parameters
chainId
uint16
The chain ID to check capacity for.
Returns
capacity
uint256
The current available inbound capacity from the specified chain.
getCurrentOutboundCapacity#
Returns the currently remaining outbound capacity. (Defined in RateLimiter.sol)
Returns
capacity
uint256
The current available outbound capacity.
getInboundLimitParams#
Returns the inbound rate limit parameters for a chain. (Defined in RateLimiter.sol)
Parameters
chainId_
uint16
The chain ID to get parameters for.
Returns
params
RateLimitParams struct
The inbound rate limit parameters for the specified chain.
RateLimitParams
struct
limit
TrimmedAmount
Current rate limit value.
currentCapacity
TrimmedAmount
The current capacity left.
lastTxTimestamp
uint64
Timestamp of when capacity was previously consumed.
getInboundQueuedTransfer#
Returns queued transfer details for inbound queue. (Defined in RateLimiter.sol)
function getInboundQueuedTransfer(bytes32 digest) external view returns (InboundQueuedTransfer memory)
Parameters
digest
bytes32
The digest of the queued transfer.
Returns
transfer
InboundQueuedTransfer struct
The queued transfer details.
InboundQueuedTransfer
struct
amount
TrimmedAmount
The trimmed amount of the transfer.
txTimestamp
uint64
The timestamp of the transfer.
recipient
address
The recipient of the transfer.
getMode#
Returns the mode (locking or burning) of the NttManager. (Defined in ManagerBase.sol)
Returns
mode
uint8
The mode of the NttManager (0 for LOCKING, 1 for BURNING).
Mode
enum values
LOCKING
0
Tokens are locked on the source chain and unlocked on the destination chain.
BURNING
1
Tokens are burned on the source chain and minted on the destination chain.
getMigratesImmutables#
Returns whether the contract migrates immutables. (Defined in Implementation.sol)
Returns
migrates
bool
Whether the contract migrates immutables.
getOutboundLimitParams#
Returns the outbound rate limit parameters. (Defined in RateLimiter.sol)
Returns
params
RateLimitParams struct
The outbound rate limit parameters.
RateLimitParams
struct
limit
TrimmedAmount
Current rate limit value.
currentCapacity
TrimmedAmount
The current capacity left.
lastTxTimestamp
uint64
Timestamp of when capacity was previously consumed.
getOutboundQueuedTransfer#
Returns queued transfer details for outbound queue. (Defined in RateLimiter.sol)
function getOutboundQueuedTransfer(uint64 queueSequence) external view returns (OutboundQueuedTransfer memory)
Parameters
queueSequence
uint64
The sequence number of the queued transfer.
Returns
transfer
OutboundQueuedTransfer struct
The queued transfer details.
OutboundQueuedTransfer
struct
recipient
bytes32
The recipient of the transfer.
refundAddress
bytes32
The refund address for unused gas.
amount
TrimmedAmount
The amount of the transfer, trimmed.
txTimestamp
uint64
The timestamp of the transfer.
recipientChain
uint16
The chain of the recipient.
sender
address
The sender of the transfer.
transceiverInstructions
bytes
Additional instructions for the recipient chain.
getPeer#
Returns peer information for a given chain ID. (Defined in NttManager.sol)
Parameters
chainId_
uint16
The chain ID of the peer.
Returns
peer
NttManagerPeer struct
The peer information for the given chain ID.
NttManagerPeer
struct
peerAddress
bytes32
The address of the peer contract on the remote chain.
tokenDecimals
uint8
The number of decimals for the peer token.
getThreshold#
Returns the number of transceivers that must attest to a message. (Defined in ManagerBase.sol)
Returns
threshold
uint8
The number of attestations required for a message to be considered valid.
getTransceiverInfo#
Returns the info for all enabled transceivers. (Defined in TransceiverRegistry.sol)
Returns
info
TransceiverInfo[] memory
An array of transceiver information structs.
TransceiverInfo
struct
registered
bool
Whether this transceiver is registered.
enabled
bool
Whether this transceiver is enabled.
index
uint8
Index of the transceiver.
getTransceivers#
Returns the enabled Transceiver contracts. (Defined in TransceiverRegistry.sol)
Returns
result
address[] memory
An array of enabled transceiver addresses.
initialize#
Initializes the contract. (Defined in Implementation.sol)
isMessageApproved#
Checks if a message has been approved with at least the minimum threshold of attestations from distinct endpoints. (Defined in ManagerBase.sol)
Parameters
digest
bytes32
The keccak-256 hash of the message.
Returns
approved
bool
Whether the message has been approved.
isMessageExecuted#
Checks if a message has been executed. (Defined in ManagerBase.sol)
Parameters
digest
bytes32
The keccak-256 hash of the message.
Returns
executed
bool
Whether the message has been executed.
isPaused#
Returns true if the contract is paused, and false otherwise. (Defined in PausableUpgradeable.sol)
Returns
paused
bool
Whether the contract is paused.
messageAttestations#
Returns the number of attestations for a given message. (Defined in ManagerBase.sol)
Parameters
digest
bytes32
The keccak-256 hash of the message.
Returns
count
uint8
The number of attestations for the message.
migrate#
Migrates the contract state to a new implementation. (Defined in Implementation.sol)
nextMessageSequence#
Returns the next message sequence. (Defined in ManagerBase.sol)
Returns
sequence
uint64
The next message sequence number.
owner#
Returns the address of the current owner. (Defined in OwnableUpgradeable.sol)
Returns
owner
address
The address of the current owner.
pause#
Pauses the manager. (Defined in ManagerBase.sol)
Emits:
Paused
pauser#
Returns the current pauser account address. (Defined in PausableUpgradeable.sol)
Returns
pauser
address
The address of the current pauser.
quoteDeliveryPrice#
Fetches the delivery price for a given recipient chain transfer. (Defined in ManagerBase.sol)
function quoteDeliveryPrice(
uint16 recipientChain,
bytes memory transceiverInstructions
) public view returns (uint256[] memory, uint256)
Parameters
recipientChain
uint16
The chain ID of the recipient.
transceiverInstructions
bytes
The transceiver-specific instructions for the transfer.
Returns
deliveryQuotes
uint256[] memory
An array of delivery quotes from each transceiver.
totalPrice
uint256
The total price for delivery across all transceivers.
removeTransceiver#
Removes/disables a transceiver address in the registry of a given chain. (Defined in ManagerBase.sol)
Parameters
transceiver
address
The address of the transceiver contract to remove.
setInboundLimit#
Set the inbound transfer limit for a specific chain. (Defined in NttManager.sol)
Parameters
limit
uint256
The new inbound transfer limit.
chainId_
uint16
The chain ID to set the limit for.
setOutboundLimit#
Set the outbound transfer limit. (Defined in NttManager.sol)
Parameters
limit
uint256
The new outbound transfer limit.
setPeer#
Set peer contract information for a specific chain. (Defined in NttManager.sol)
function setPeer(
uint16 peerChainId,
bytes32 peerContract,
uint8 decimals,
uint256 inboundLimit
) external
Parameters
peerChainId
uint16
The chain ID of the peer.
peerContract
bytes32
The address of the peer contract.
decimals
uint8
The number of decimals for the peer token.
inboundLimit
uint256
The inbound transfer limit for this peer.
Emits:
PeerUpdated
setThreshold#
Sets the threshold for the number of attestations required for a message to be considered valid. (Defined in ManagerBase.sol)
Parameters
threshold
uint8
The number of attestations required.
Emits:
ThresholdChanged
setTransceiver#
Sets the transceiver for the given chain. (Defined in ManagerBase.sol)
Parameters
transceiver
address
The address of the transceiver contract.
Emits:
TransceiverAdded
tokenDecimals#
Returns the number of decimals for the token. (Defined in NttManager.sol)
Returns
decimals
uint8
The number of decimals for the token.
transceiverAttestedToMessage#
Returns if the transceiver has attested to the message. (Defined in ManagerBase.sol)
Parameters
digest
bytes32
The keccak-256 hash of the message.
index
uint8
The index of the transceiver.
Returns
attested
bool
Whether the transceiver has attested to the message.
transfer (basic)#
Transfer tokens (simple version). (Defined in NttManager.sol)
function transfer(
uint256 amount,
uint16 recipientChain,
bytes32 recipient
) external payable returns (uint64)
Parameters
amount
uint256
The amount of tokens to transfer.
recipientChain
uint16
The chain ID of the recipient.
recipient
bytes32
The recipient address on the destination chain.
Returns
sequence
uint64
The sequence number of the transfer.
Emits:
OutboundTransferRateLimited
(if rate limited),TransferSent
(two variants, if successful)
transfer (advanced)#
Transfer tokens (full version with additional parameters). (Defined in NttManager.sol)
function transfer(
uint256 amount,
uint16 recipientChain,
bytes32 recipient,
bytes32 refundAddress,
bool shouldQueue,
bytes memory transceiverInstructions
) external payable returns (uint64)
Parameters
amount
uint256
The amount of tokens to transfer.
recipientChain
uint16
The chain ID of the recipient.
recipient
bytes32
The recipient address on the destination chain.
refundAddress
bytes32
The address to refund unused gas to.
shouldQueue
bool
Whether to queue the transfer if rate limited.
transceiverInstructions
bytes
Additional instructions for transceivers.
Returns
sequence
uint64
The sequence number of the transfer.
Emits:
OutboundTransferRateLimited
(if rate limited),TransferSent
(two variants, if successful)
transferOwnership#
Transfer ownership of the Manager and all Transceiver contracts. (Defined in ManagerBase.sol)
Parameters
newOwner
address
The address of the new owner.
Emits:
OwnershipTransferred
transferPauserCapability#
Transfers the ability to pause to a new account. (Defined in PausableOwnable.sol)
Parameters
newPauser
address
The address of the new pauser.
Emits:
PauserTransferred
upgrade#
Upgrades to a new manager implementation. (Defined in ManagerBase.sol)
Parameters
newImplementation
address
The address of the new implementation contract.
unpause#
Unpauses the manager. (Defined in ManagerBase.sol)
Emits:
NotPaused
Errors#
BurnAmountDifferentThanBalanceDiff#
Error when the burn amount differs from the balance difference. (Defined in NttManager.sol)
Parameters
burnAmount
uint256
The amount that was burned.
balanceDiff
uint256
The actual balance difference.
CallerNotTransceiver#
Error when the caller is not the transceiver. (Defined in TransceiverRegistry.sol)
Parameters
caller
address
The address that is not a transceiver.
CancellerNotSender#
Error when someone other than the original sender tries to cancel a queued outbound transfer. (Defined in NttManager.sol)
Parameters
canceller
address
The address attempting to cancel.
sender
address
The original sender's address.
CapacityCannotExceedLimit#
The new capacity cannot exceed the limit. (Defined in RateLimiter.sol)
Parameters
newCurrentCapacity
TrimmedAmount
The new current capacity value.
TrimmedAmount
type
amount
uint64
The amount value (64 bits).
decimals
uint8
The number of decimals (8 bits).
newLimit
TrimmedAmount
The new limit value.
TrimmedAmount
type
amount
uint64
The amount value (64 bits).
decimals
uint8
The number of decimals (8 bits).
DeliveryPaymentTooLow#
Payment for a transfer is too low. (Defined in ManagerBase.sol)
Parameters
requiredPayment
uint256
The required payment amount.
providedPayment
uint256
The payment amount that was provided.
DisabledTransceiver#
Error when the transceiver is disabled. (Defined in TransceiverRegistry.sol)
Parameters
transceiver
address
The disabled transceiver address.
InboundQueuedTransferNotFound#
The inbound transfer is no longer queued. (Defined in RateLimiter.sol)
Parameters
digest
bytes32
The digest of the queued transfer.
InboundQueuedTransferStillQueued#
The transfer is still queued. (Defined in RateLimiter.sol)
Parameters
digest
bytes32
The digest of the queued transfer.
transferTimestamp
uint256
The timestamp of the transfer.
InvalidInitialization#
Error when the contract is in an invalid initialization state. (Defined in Initializable.sol)
InvalidMode#
The mode is invalid (neither LOCKING nor BURNING). (Defined in NttManager.sol)
Parameters
mode
uint8
The invalid mode value.
InvalidPauser#
Error when the pauser is not a valid pauser account. (Defined in PausableUpgradeable.sol)
Parameters
account
address
The invalid pauser account address.
InvalidPeer#
The peer for the chain does not match the configuration. (Defined in NttManager.sol)
Parameters
chainId
uint16
The chain ID of the peer.
peerAddress
bytes32
The peer address that doesn't match.
InvalidPeerChainIdZero#
The peer chain ID cannot be zero. (Defined in NttManager.sol)
InvalidPeerDecimals#
The peer cannot have zero decimals. (Defined in NttManager.sol)
InvalidPeerSameChainId#
The peer cannot be on the same chain. (Defined in NttManager.sol)
InvalidPeerZeroAddress#
The peer cannot be the zero address. (Defined in NttManager.sol)
InvalidRecipient#
Error when the recipient is invalid. (Defined in NttManager.sol)
InvalidRefundAddress#
Error when the refund address is invalid. (Defined in NttManager.sol)
InvalidTargetChain#
Error when trying to execute a message on an unintended target chain. (Defined in NttManager.sol)
Parameters
targetChain
uint16
The target chain ID from the message.
thisChain
uint16
The current chain ID.
InvalidTransceiverZeroAddress#
Error when the transceiver is the zero address. (Defined in TransceiverRegistry.sol)
MessageNotApproved#
Error when the message is not approved. (Defined in ManagerBase.sol)
Parameters
msgHash
bytes32
The hash of the message that is not approved.
NoEnabledTransceivers#
There are no transceivers enabled with the Manager. (Defined in ManagerBase.sol)
NonRegisteredTransceiver#
Error when attempting to remove a transceiver that is not registered. (Defined in TransceiverRegistry.sol)
Parameters
transceiver
address
The non-registered transceiver address.
NotEnoughCapacity#
Not enough capacity to send the transfer. (Defined in RateLimiter.sol)
Parameters
currentCapacity
uint256
The current available capacity.
amount
uint256
The requested transfer amount.
NotInitializing#
Error when a function can only be called during initialization. (Defined in Initializable.sol)
NotMigrating#
Error when a function can only be called during migration. (Defined in Implementation.sol)
NotImplemented#
Feature is not implemented. (Defined in INttManager.sol)
OnlyDelegateCall#
Error when a function can only be called via delegate call. (Defined in Implementation.sol)
OwnableInvalidOwner#
Error when the owner is not a valid owner account. (Defined in OwnableUpgradeable.sol)
Parameters
owner
address
The invalid owner address.
OwnableUnauthorizedAccount#
Error when the caller account is not authorized to perform an operation. (Defined in OwnableUpgradeable.sol)
Parameters
account
address
The unauthorized account address.
OutboundQueuedTransferNotFound#
Outbound transfer is no longer queued. (Defined in RateLimiter.sol)
Parameters
queueSequence
uint64
The sequence number of the queued transfer.
OutboundQueuedTransferStillQueued#
Cannot complete the outbound transfer. The transfer is still queued. (Defined in RateLimiter.sol)
Parameters
queueSequence
uint64
The sequence number of the queued transfer.
transferTimestamp
uint256
The timestamp of the transfer.
PeerNotRegistered#
Error when the manager doesn't have a peer registered for the destination chain. (Defined in ManagerBase.sol)
Parameters
chainId
uint16
The chain ID for which no peer is registered.
RefundFailed#
Error when the refund to the sender fails. (Defined in ManagerBase.sol)
Parameters
refundAmount
uint256
The amount that failed to be refunded.
RequireContractIsNotPaused#
Error when a function requires the contract to not be paused. (Defined in PausableUpgradeable.sol)
RequireContractIsPaused#
Error when a function requires the contract to be paused. (Defined in PausableUpgradeable.sol)
RetrievedIncorrectRegisteredTransceivers#
Retrieved an incorrect number of registered transceivers. (Defined in ManagerBase.sol)
Parameters
retrieved
uint256
The number of transceivers retrieved.
registered
uint256
The number of transceivers that should be registered.
StaticcallFailed#
Staticcall reverted. (Defined in NttManager.sol)
ThresholdTooHigh#
The threshold for transceiver attestations is too high. (Defined in ManagerBase.sol)
Parameters
threshold
uint256
The requested threshold value.
transceivers
uint256
The number of available transceivers.
TooManyTransceivers#
Error when the number of registered transceivers exceeds 64. (Defined in TransceiverRegistry.sol)
TransceiverAlreadyAttestedToMessage#
Error when the transceiver already attested to the message. (Defined in ManagerBase.sol)
Parameters
nttManagerMessageHash
bytes32
The hash of the NTT Manager message.
TransceiverAlreadyEnabled#
Error when attempting to enable a transceiver that is already enabled. (Defined in TransceiverRegistry.sol)
Parameters
transceiver
address
The already enabled transceiver address.
TransferAmountHasDust#
The transfer has some dust. (Defined in NttManager.sol)
Parameters
amount
uint256
The transfer amount.
dust
uint256
The dust amount.
UndefinedRateLimiting#
If the rate limiting behavior isn't explicitly defined in the constructor. (Defined in RateLimiter.sol)
UnexpectedDeployer#
The caller is not the deployer. (Defined in NttManager.sol)
Parameters
expectedOwner
address
The expected owner address.
owner
address
The actual owner address.
UnexpectedMsgValue#
An unexpected msg.value was passed with the call. (Defined in NttManager.sol)
ZeroAmount#
Error when the transfer amount is zero. (Defined in NttManager.sol)
ZeroThreshold#
The number of thresholds should not be zero. (Defined in ManagerBase.sol)
TransferAlreadyCompleted#
Thrown when trying to complete an inbound transfer that was already processed. (Defined in NttManager.sol)
Parameters
digest
bytes32
The digest of the transfer message that has already been completed.
UnexpectedRecipientNttManagerAddress#
Thrown when the recipient NTT Manager address in the message does not match this contract. (Defined in NttManager.sol)
Parameters
recipientNttManagerAddress
bytes32
The unexpected NTT Manager address from the message.