Skip to content

Relayer Contract

The Wormhole Relayer Contract on EVM enables cross-chain message delivery with automatic execution on the destination chain. It publishes delivery instructions as Wormhole messages and defines the logic to process them via the deliver function. The contract supports optional value forwarding, gas refunds, message overrides, and integration with third-party delivery providers.

Structure Overview

The Wormhole Relayer system on EVM is implemented as a modular, upgradeable contract suite, organized through layered inheritance and interfaces.

IWormholeRelayer.sol (Interface)
└── WormholeRelayerBase.sol
    ├── WormholeRelayer.sol
    ├── CircleRelayer.sol
    └── TypedUnits.sol
DeliveryProvider.sol (Standalone)

Key Components:

  • IWormholeRelayer.sol: Defines the public interface for the Wormhole Relayer, including delivery functions and fee quoting.
  • WormholeRelayerBase.sol: Base logic contract shared by both WormholeRelayer and CircleRelayer. Handles delivery processing, fee management, and VAA parsing.
  • WormholeRelayer.sol: Main relayer implementation used with the Wormhole Messaging protocol. Inherits from WormholeRelayerBase.
  • CircleRelayer.sol: Specialized implementation for Circle messages. Also extends WormholeRelayerBase, but is out of scope for this reference.
  • TypedUnits.sol: Utility module for safe unit conversions, fee accounting, and delivery quote handling.
  • DeliveryProvider.sol: Separate contract that sets and manages delivery pricing and supported chains. Queried by the relayer when calculating fees.

State Variables

  • chainId uint16: Wormhole chain ID for the current network (e.g., 2 for Ethereum).
  • wormhole IWormhole: Address of the core Wormhole messaging contract used to verify VAAs.
  • deliveryProvider address: Address of the Delivery Provider contract responsible for quoting and setting delivery prices.
  • rewardAddress address: Address that receives excess fees collected from users.
  • gasOverheads mapping(uint16 => GasOverhead): Per-chain gas overheads used to calculate delivery costs.
  • supportedChains mapping(uint16 => bool): Tracks which destination chains are supported for message delivery.
  • deliveries mapping(bytes32 => bool): Records completed deliveries (by VAA hash) to prevent replay.
  • deliverySuccessBlock mapping(bytes32 => uint256): Stores the block number when a delivery succeeded (used for auditing).
  • owner address: Contract owner with permission to update system parameters (e.g., gas overheads).
  • chainHash uint256: EVM chain ID hash used for cross-checking delivery source chain.
  • implementation address: Address of the current logic contract (used in proxy pattern).

Events

SendEvent

Emitted when a send instruction is published and payment is handled. (Defined in IWormholeRelayerTyped.sol)

event SendEvent(
    uint64 indexed sequence,
    LocalNative deliveryQuote,
    LocalNative paymentForExtraReceiverValue
);
Parameters

sequence uint64

Sequence number of the published delivery instruction message.


deliveryQuote LocalNative

Price charged by the delivery provider (in source chain currency units).


paymentForExtraReceiverValue LocalNative

Extra amount (in source chain currency units) used to top up the receiver value on the target chain.

Delivery

Emitted after a delivery attempt is executed by a delivery provider. (Defined in IWormholeRelayerTyped.sol)

event Delivery(
    address indexed recipientContract,
    uint16 indexed sourceChain,
    uint64 indexed sequence,
    bytes32 deliveryVaaHash,
    DeliveryStatus status,
    Gas gasUsed,
    RefundStatus refundStatus,
    bytes additionalStatusInfo,
    bytes overridesInfo
);
Parameters

recipientContract address

Target contract that was called.


sourceChain uint16

Wormhole chain ID where the delivery was requested.


sequence uint64

Sequence number of the delivery VAA on the source chain.


deliveryVaaHash bytes32

Hash of the delivery VAA.


status DeliveryStatus

SUCCESS if the target call did not revert; RECEIVER_FAILURE if it reverted.


gasUsed Gas

Gas consumed when calling the target contract.


refundStatus RefundStatus

Result of the refund path (same-chain or cross-chain) or NO_REFUND_REQUESTED.


additionalStatusInfo bytes

Empty on success; otherwise, truncated return data from the revert.


overridesInfo bytes

Empty if not an override; otherwise, an encoded DeliveryOverride.

ContractUpgraded (WormholeRelayer)

Emitted when the Wormhole Relayer contract is upgraded to a new implementation via governance. (Defined in WormholeRelayerGovernance.sol)

event ContractUpgraded(
    address indexed oldContract,
    address indexed newContract
);
Parameters

oldContract address

Address of the previous implementation.


newContract address

Address of the new implementation.

ContractUpgraded (DeliveryProvider)

Emitted when the Delivery Provider contract is upgraded to a new implementation. (Defined in DeliveryProviderGovernance.sol)

event ContractUpgraded(
    address indexed oldContract,
    address indexed newContract
);
Parameters

oldContract address

Address of the previous implementation.


newContract address

Address of the new implementation.

ChainSupportUpdated

Emitted when Delivery Provider support for a target chain is changed. (Defined in DeliveryProviderGovernance.sol)

event ChainSupportUpdated(
    uint16 targetChain,
    bool isSupported
);
Parameters

targetChain uint16

Wormhole chain ID whose support setting changed.


isSupported bool

Whether deliveries to targetChain are supported.

OwnershipTransfered

Emitted when Delivery Provider ownership is transferred. (Defined in DeliveryProviderGovernance.sol)

event OwnershipTransfered(
    address indexed oldOwner,
    address indexed newOwner
);
Parameters

oldOwner address

Previous owner.


newOwner address

New owner.

RewardAddressUpdated

Emitted when the Delivery Provider reward address is updated. (Defined in DeliveryProviderGovernance.sol)

event RewardAddressUpdated(
    address indexed newAddress
);
Parameters

newAddress address

New reward address.

TargetChainAddressUpdated

Emitted when the Delivery Provider's peer address for a target chain is updated. (Defined in DeliveryProviderGovernance.sol)

event TargetChainAddressUpdated(
    uint16 indexed targetChain,
    bytes32 indexed newAddress
);
Parameters

targetChain uint16

Wormhole chain ID whose peer address changed.


newAddress bytes32

New peer address in Wormhole bytes32 format.

DeliverGasOverheadUpdated

Emitted when the configured gas overhead for deliveries is updated. (Defined in DeliveryProviderGovernance.sol)

event DeliverGasOverheadUpdated(
    Gas indexed oldGasOverhead,
    Gas indexed newGasOverhead
);
Parameters

oldGasOverhead Gas

Previous overhead value.


newGasOverhead Gas

New overhead value.

WormholeRelayerUpdated

Emitted when the Delivery Provider's associated Wormhole Relayer address is updated. (Defined in DeliveryProviderGovernance.sol)

event WormholeRelayerUpdated(
    address coreRelayer
);
Parameters

coreRelayer address

New Wormhole Relayer contract address on this chain.

AssetConversionBufferUpdated

Emitted when the Delivery Provider's asset conversion buffer is updated. (Defined in DeliveryProviderGovernance.sol)

event AssetConversionBufferUpdated(
    uint16 targetChain,
    uint16 buffer,
    uint16 bufferDenominator
);
Parameters

targetChain uint16

Wormhole chain ID whose buffer settings changed.


buffer uint16

Buffer numerator.


bufferDenominator uint16

Buffer denominator.

Functions

sendPayloadToEvm

Publishes an instruction for the default delivery provider to relay a payload to an EVM target. Must be called with msg.value == quoteEVMDeliveryPrice(targetChain, receiverValue, gasLimit). (Defined in WormholeRelayerSend.sol)

function sendPayloadToEvm(
    uint16 targetChain,
    address targetAddress,
    bytes memory payload,
    TargetNative receiverValue,
    Gas gasLimit
) external payable returns (uint64 sequence)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


targetAddress address

Contract on the destination chain (must implement IWormholeReceiver).


payload bytes

Bytes delivered to targetAddress.


receiverValue TargetNative

Value (destination chain Wei) to forward to targetAddress.


gasLimit Gas

Gas limit for calling targetAddress.

Returns

sequence uint64

Sequence number of the published delivery instruction.

sendPayloadToEvm (with refund)

Same as above, but sends any refund to refundAddress on refundChain. (Defined in WormholeRelayerSend.sol)

function sendPayloadToEvm(
    uint16 targetChain,
    address targetAddress,
    bytes memory payload,
    TargetNative receiverValue,
    Gas gasLimit,
    uint16 refundChain,
    address refundAddress
) external payable returns (uint64 sequence)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


targetAddress address

Contract on the destination chain (must implement IWormholeReceiver).


payload bytes

Bytes delivered to targetAddress.


receiverValue TargetNative

Value (destination chain Wei) to forward to targetAddress.


gasLimit Gas

Gas limit for calling targetAddress.


refundChain uint16

Wormhole chain ID where refunds should be sent.


refundAddress address

Address on refundChain to receive refunds.

Returns

sequence uint64

Sequence number of the published delivery instruction.

sendVaasToEvm (with refund)

Publishes an instruction (default delivery provider) to relay a payload and additional VAAs. Refunds go to refundAddress on refundChain. (Defined in WormholeRelayerSend.sol)

function sendVaasToEvm(
    uint16 targetChain,
    address targetAddress,
    bytes memory payload,
    TargetNative receiverValue,
    Gas gasLimit,
    VaaKey[] memory vaaKeys,
    uint16 refundChain,
    address refundAddress
) external payable returns (uint64 sequence)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


targetAddress address

Contract on the destination chain (must implement IWormholeReceiver).


payload bytes

Bytes delivered to targetAddress.


receiverValue TargetNative

Value (destination chain Wei) to forward to targetAddress.


gasLimit Gas

Gas limit for calling targetAddress.


vaaKeys VaaKey[]

Extra Wormhole messages (VAAs) to deliver along with payload.


refundChain uint16

Wormhole chain ID where any refund will be sent.


refundAddress address

Address on refundChain that receives any refund.

Returns

sequence uint64

Sequence number of the published delivery instruction.

sendToEvm (MessageKeys)

Publishes an instruction using a specific delivery provider, optionally attaching extra receiver value funded on the source chain and arbitrary MessageKeys (e.g., VAAs or other supported keys). (Defined in WormholeRelayerSend.sol)

function sendToEvm(
    uint16 targetChain,
    address targetAddress,
    bytes memory payload,
    TargetNative receiverValue,
    LocalNative paymentForExtraReceiverValue,
    Gas gasLimit,
    uint16 refundChain,
    address refundAddress,
    address deliveryProviderAddress,
    MessageKey[] memory messageKeys,
    uint8 consistencyLevel
) external payable returns (uint64 sequence)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


targetAddress address

Contract on the destination chain (must implement IWormholeReceiver).


payload bytes

Bytes delivered to targetAddress.


receiverValue TargetNative
Value (destination chain Wei) to forward to targetAddress.


paymentForExtraReceiverValue LocalNative

Extra source chain amount. The delivery provider converts this to destination native and adds it to receiverValue.


gasLimit Gas

Gas limit for calling targetAddress on the destination chain.


refundChain uint16

Wormhole chain ID where any refund will be sent.


refundAddress address

Address on refundChain that receives any refund.


deliveryProviderAddress address

Chosen delivery provider (must implement IDeliveryProvider).


messageKeys MessageKey[]

External messages to deliver (e.g., VAAs). Each key’s keyType must be supported by the delivery provider; otherwise the call reverts.


consistencyLevel uint8

Wormhole publishing consistency (e.g., instant vs. finalized) used when emitting the delivery instruction.

Returns

sequence uint64

Sequence number of the published delivery instruction.

send (MessageKeys, generic)

Generic chain-agnostic form (addresses are Wormhole-formatted bytes32, and execution params are encoded). (Defined in WormholeRelayerSend.sol)

function send(
    uint16 targetChain,
    bytes32 targetAddress,
    bytes memory payload,
    TargetNative receiverValue,
    LocalNative paymentForExtraReceiverValue,
    bytes memory encodedExecutionParameters,
    uint16 refundChain,
    bytes32 refundAddress,
    address deliveryProviderAddress,
    MessageKey[] memory messageKeys,
    uint8 consistencyLevel
) external payable returns (uint64 sequence)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


targetAddress bytes32

Wormhole-formatted 32-byte address of the destination contract.


payload bytes

Bytes delivered to targetAddress.


receiverValue TargetNative

Amount of destination chain native (e.g., Wei) forwarded to targetAddress.


paymentForExtraReceiverValue LocalNative

Extra source chain native to be converted by the delivery provider and added to receiverValue.


encodedExecutionParameters bytes

Versioned execution params for the target chain (e.g., for EVM use encodeEvmExecutionParamsV1(EvmExecutionParamsV1(gasLimit))).


refundChain uint16

Wormhole chain ID where any refund will be sent.


refundAddress bytes32

Wormhole-formatted address on refundChain that receives any refund.


deliveryProviderAddress address

Chosen delivery provider (must implement IDeliveryProvider).


messageKeys MessageKey[]

External messages to deliver (e.g., VAAs). Each key’s keyType must be supported by the delivery provider.


consistencyLevel uint8

Wormhole publishing consistency used when emitting the delivery instruction.

Returns

sequence uint64

Sequence number of the published delivery instruction.

resendToEvm

Requests a previously published delivery instruction to be redelivered (EVM convenience). (Defined in WormholeRelayerSend.sol)

function resendToEvm(
    VaaKey memory deliveryVaaKey,
    uint16 targetChain,
    TargetNative newReceiverValue,
    Gas newGasLimit,
    address newDeliveryProviderAddress
) external payable returns (uint64 sequence)
Parameters

deliveryVaaKey VaaKey

Identifies the original delivery instruction VAA.


targetChain uint16

Wormhole chain ID where the message should be redelivered.


newReceiverValue TargetNative

Updated value sent to the target contract.


newGasLimit Gas

Updated gas limit for the target call.


newDeliveryProviderAddress address

Delivery provider to use for the redelivery.

Returns

sequence uint64

Sequence number of the redelivery instruction.

resend (generic)

Generic redelivery (chain-agnostic execution params). (Defined in WormholeRelayerSend.sol)

function resend(
    VaaKey memory deliveryVaaKey,
    uint16 targetChain,
    TargetNative newReceiverValue,
    bytes memory newEncodedExecutionParameters,
    address newDeliveryProviderAddress
) external payable returns (uint64 sequence)
Parameters

deliveryVaaKey VaaKey

Identifies the original delivery instruction VAA.


targetChain uint16

Wormhole chain ID where the message should be redelivered.


newReceiverValue TargetNative

Updated value to forward to the target contract on the destination chain.


newEncodedExecutionParameters bytes

Versioned, chain-specific execution params for the redelivery (e.g., for EVM use encodeEvmExecutionParamsV1(EvmExecutionParamsV1(gasLimit))).


newDeliveryProviderAddress address

Delivery provider to use for the redelivery (must implement IDeliveryProvider).

Returns

sequence uint64

Sequence number of the redelivery instruction.

quoteEVMDeliveryPrice (default provider)

Returns the price and refund-per-gas info for an EVM delivery using the default provider. (Defined in WormholeRelayerSend.sol)

function quoteEVMDeliveryPrice(
    uint16 targetChain,
    TargetNative receiverValue,
    Gas gasLimit
) external view returns (LocalNative nativePriceQuote, GasPrice targetChainRefundPerGasUnused)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


receiverValue TargetNative

Amount of destination chain Wei that will be forwarded to the target contract.


gasLimit Gas

Gas limit that will be used to call the target contract.

Returns

nativePriceQuote LocalNative

Source chain price to request the delivery.


targetChainRefundPerGasUnused GasPrice

Refund rate per unused gas on target chain.

quoteEVMDeliveryPrice (explicit provider)

Same as above, but quotes using a given provider. (Defined in WormholeRelayerSend.sol)

function quoteEVMDeliveryPrice(
    uint16 targetChain,
    TargetNative receiverValue,
    Gas gasLimit,
    address deliveryProviderAddress
) external view returns (LocalNative nativePriceQuote, GasPrice targetChainRefundPerGasUnused)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


receiverValue TargetNative

Amount of destination chain Wei to forward to the target contract.


gasLimit Gas

Gas limit to call the target contract with.


deliveryProviderAddress address

Address of the chosen provider (implements IDeliveryProvider).

Returns

nativePriceQuote LocalNative

Source chain price to request this delivery.


targetChainRefundPerGasUnused GasPrice

Refund rate per unit of unused gas on the destination chain.

quoteDeliveryPrice (generic)

Generic quote (versioned execution params), returning price and provider's encoded execution info. (Defined in WormholeRelayerSend.sol)

function quoteDeliveryPrice(
    uint16 targetChain,
    TargetNative receiverValue,
    bytes memory encodedExecutionParameters,
    address deliveryProviderAddress
) external view returns (LocalNative nativePriceQuote, bytes memory encodedExecutionInfo)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


receiverValue TargetNative

Amount of destination chain Wei to forward to the target contract.


encodedExecutionParameters bytes

Versioned execution parameters (e.g., for EVM_V1, encodes the gas limit).


deliveryProviderAddress address

Address of the chosen provider (implements IDeliveryProvider).

Returns

nativePriceQuote LocalNative

Source chain price to request this delivery.


encodedExecutionInfo bytes

Provider's encoded execution info (e.g., for EVM_V1, includes gas limit and refund-per-gas).

quoteNativeForChain

Converts a source chain amount into extra value that will be delivered on the target chain. (Defined in WormholeRelayerSend.sol)

function quoteNativeForChain(
    uint16 targetChain,
    LocalNative currentChainAmount,
    address deliveryProviderAddress
) external view returns (TargetNative targetChainAmount)
Parameters

targetChain uint16

Wormhole chain ID of the destination chain.


currentChainAmount LocalNative

Amount paid on the source chain to fund extra receiver value.


deliveryProviderAddress address

Address of the chosen provider (implements IDeliveryProvider).

Returns

targetChainAmount TargetNative

Extra destination chain Wei that will be added to the call's value.

getDefaultDeliveryProvider

Returns the current default delivery provider address. (Defined in WormholeRelayerSend.sol)

function getDefaultDeliveryProvider() external view returns (address deliveryProvider)
Returns

deliveryProvider address

Address of the default IDeliveryProvider on this chain.

deliver

Called by a delivery provider to execute a delivery on the target chain. (Defined in WormholeRelayerDelivery.sol)

function deliver(
    bytes[] memory encodedVMs,
    bytes memory encodedDeliveryVAA,
    address payable relayerRefundAddress,
    bytes memory deliveryOverrides
) external payable
Parameters

encodedVMs ++"bytes[]"+

Signed Wormhole messages to relay.


encodedDeliveryVAA bytes

Signed WormholeRelayer instruction VAA.


relayerRefundAddress address payable

Address to receive any relayer refund.


deliveryOverrides bytes

Optional encoded overrides (or empty).

deliveryAttempted

Checks whether a delivery attempt has been made for a given hash. (Defined in WormholeRelayerBase.sol)

function deliveryAttempted(bytes32 deliveryHash) external view returns (bool attempted)
Parameters

deliveryHash bytes32

Hash of the delivery VAA.

Returns

attempted bool

true if a success or failure block was recorded for this hash.

deliverySuccessBlock

Block number when a delivery was successfully executed. (Defined in WormholeRelayerBase.sol)

function deliverySuccessBlock(bytes32 deliveryHash) external view returns (uint256 blockNumber)
Parameters

deliveryHash bytes32

Hash of the delivery VAA.

Returns

blockNumber uint256

Block number where the delivery was marked successful (0 if never successful).

deliveryFailureBlock

Block number of the latest failed delivery attempt. (Defined in WormholeRelayerBase.sol)

function deliveryFailureBlock(bytes32 deliveryHash) external view returns (uint256 blockNumber)
Parameters

deliveryHash bytes32

Hash of the delivery VAA.

Returns

blockNumber uint256

Block number of the most recent failed attempt (0 if none).

getRegisteredWormholeRelayerContract

Returns the registered Wormhole Relayer contract address (wormhole format) for a given chain ID. (Defined in WormholeRelayerBase.sol)

function getRegisteredWormholeRelayerContract(uint16 chainId) external view returns (bytes32)
Parameters

chainId uint16

Wormhole chain ID.

Returns

address bytes32

Wormhole-formatted address of the relayer contract registered for chainId (zero if none).

registerWormholeRelayerContract

Registers a Wormhole Relayer contract deployed on another chain (governance VM required). (Defined in WormholeRelayerGovernance.sol)

function registerWormholeRelayerContract(bytes memory encodedVm) external
Parameters

encodedVm bytes

Signed governance VM that encodes the foreignChainId and foreignContractAddress.

setDefaultDeliveryProvider

Sets the default delivery provider via a governance VM. (Defined in WormholeRelayerGovernance.sol)

function setDefaultDeliveryProvider(bytes memory encodedVm) external
Parameters

encodedVm bytes

Signed governance VM that encodes the new provider address.

submitContractUpgrade

Upgrades the Wormhole Relayer contract to a new implementation (governance VM required). (Defined in WormholeRelayerGovernance.sol)

function submitContractUpgrade(bytes memory encodedVm) external
Parameters

encodedVm bytes

Signed governance VM that encodes the new implementation address.

Errors

InvalidDeliveryVaa

Thrown when the delivery VAA fails parseAndVerifyVM. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

InvalidEmitter

Emitted when the VAA emitter is not the registered Wormhole Relayer for the source chain. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

InsufficientRelayerFunds

Reverts if msg.value is less than the required execution + refund budget on the target chain. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

TargetChainIsNotThisChain

Reverts when the instruction's targetChain does not match the current chain. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

MessageKeysLengthDoesNotMatchMessagesLength

Reverts when the provided message keys do not match the number of delivered messages. (Used in WormholeRelayerDelivery.sol), defined in IWormholeRelayerTyped.sol)

VaaKeysDoNotMatchVaas

Reverts when described VAAs don't match the actual VAAs delivered. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

InvalidOverrideGasLimit

Reverts if a redelivery override sets a gas limit lower than the original. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

InvalidOverrideReceiverValue

Reverts if a redelivery override sets a receiver value lower than the original. (Used in WormholeRelayerDelivery.sol, defined in IWormholeRelayerTyped.sol)

InvalidMsgValue

Reverts when msg.value does not equal wormholeMessageFee + deliveryQuote + paymentForExtraReceiverValue. (Used in WormholeRelayerBase.sol, defined in IWormholeRelayerTyped.sol)

ReentrantDelivery

Reverts on re-entrant calls to relayer entrypoints guarded by nonReentrant. (Used in WormholeRelayerBase.sol, defined in IWormholeRelayerTyped.sol)

CallerNotApproved(address msgSender)

Custom error declared for access checks. (Defined in DeliveryProvider.sol)

PriceIsZero(uint16 chain)

Reverts if a required price value for a chain is zero during quoting/conversion. (Defined in DeliveryProvider.sol)

Overflow(uint256 value, uint256 max)

Reverts when an internal quote exceeds a type's allowed maximum (e.g., gas overhead/price bounds). (Defined in DeliveryProvider.sol)

MaxRefundGreaterThanGasLimitCost(uint256 maxRefund, uint256 gasLimitCost)

Declared to guard refund limits vs. gas limit cost. (Defined in DeliveryProvider.sol)

MaxRefundGreaterThanGasLimitCostOnSourceChain(uint256 maxRefund, uint256 gasLimitCost)

Declared to guard source chain refund limits vs. gas limit cost. (Defined in DeliveryProvider.sol)

ExceedsMaximumBudget(uint16 targetChain, uint256 exceedingValue, uint256 maximumBudget)

Reverts when required target-chain Wei (receiver value + gas) exceeds that chain's configured maximum budget. (Defined in DeliveryProvider.sol)

ChainIdIsZero()

Reverts if an update is attempted with chainId = 0. (Defined in DeliveryProviderGovernance.sol)

GasPriceIsZero()

Reverts if a price update sets gas price to zero. (Defined in DeliveryProviderGovernance.sol)

NativeCurrencyPriceIsZero()

Reverts if a price update sets native currency price to zero. (Defined in DeliveryProviderGovernance.sol)

FailedToInitializeImplementation(string reason)

Reverts if the implementation's initialize() delegatecall fails during upgrade/setup. (Defined in DeliveryProviderGovernance.sol and DeliveryProviderSetup.sol)

WrongChainId()

Reverts when an operation is invoked with a chainId that doesn't match the contract's configured chain. (Defined in DeliveryProviderGovernance.sol)

AddressIsZero()

Reverts if a zero address is provided where a nonzero address is required (e.g., ownership handoff). (Defined in DeliveryProviderGovernance.sol)

CallerMustBePendingOwner()

Reverts if confirmOwnershipTransferRequest is called by an address other than pendingOwner. (Defined in DeliveryProviderGovernance.sol)

CallerMustBeOwner()

Reverts on functions guarded by onlyOwner when msg.sender is not the owner. (Defined in DeliveryProviderGovernance.sol)

CallerMustBeOwnerOrPricingWallet()

Reverts on functions guarded by onlyOwnerOrPricingWallet when caller is neither. (Defined in DeliveryProviderGovernance.sol)

ImplementationAlreadyInitialized()

Reverts if initialize() is called on an implementation that was already initialized. (Defined in DeliveryProviderImplementation.sol)

ImplementationAddressIsZero()

Reverts if setup() is called with a zero implementation address. (Defined in DeliveryProviderSetup.sol)

UnexpectedExecutionInfoVersion

Reverts when the executionInfoVersion in the delivery VAA does not match the expected version. (Defined in WormholeRelayerDelivery.sol)

VersionMismatchOverride

Reverts when the override's executionInfoVersion does not match the original delivery's version. (Defined in WormholeRelayerDelivery.sol)