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#
chainIduint16: Wormhole chain ID for the current network (e.g., 2 for Ethereum).wormholeIWormhole: Address of the core Wormhole messaging contract used to verify VAAs.deliveryProvideraddress: Address of the Delivery Provider contract responsible for quoting and setting delivery prices.rewardAddressaddress: Address that receives excess fees collected from users.gasOverheadsmapping(uint16 => GasOverhead): Per-chain gas overheads used to calculate delivery costs.supportedChainsmapping(uint16 => bool): Tracks which destination chains are supported for message delivery.deliveriesmapping(bytes32 => bool): Records completed deliveries (by VAA hash) to prevent replay.deliverySuccessBlockmapping(bytes32 => uint256): Stores the block number when a delivery succeeded (used for auditing).owneraddress: Contract owner with permission to update system parameters (e.g., gas overheads).chainHashuint256: EVM chain ID hash used for cross-checking delivery source chain.implementationaddress: 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)
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)
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)
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)
Parameters
oldOwner address
Previous owner.
newOwner address
New owner.
RewardAddressUpdated#
Emitted when the Delivery Provider reward address is updated. (Defined in DeliveryProviderGovernance.sol)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)