Express Relay
EVM

EVM Error Codes

The following table lists the error codes and their explanations for ExpressRelay (opens in a new tab) and OpportunityAdapter (opens in a new tab) contracts. They can be used to identify the cause of a failed transaction or bid.

ExpressRelay

ErrorSelectorExplanation
Unauthorized()0x82b42900This function is called by an unauthorized party.
InvalidMagicValue()0x4ed848c1An upgrade was attempted to a contract that does not match the ExpressRelay specification.
InvalidPermission()0x868a64deThe provided permissionKey is invalid (too short).
InvalidFeeSplit()0x0601f697The proposed fee split is invalid (fee is larger than feePrecision, 10**18).
InvalidTargetContract()0x5569851aThe provided target contract is not allowed. (e.g. can not call the ExpressRelay contract).
DuplicateRelayerSubwallet()0xb40d37c3The provided subwallet to add has already been added.
RelayerSubwalletNotFound()0xac4d92b3The provided subwallet to delete does not exist in the store.
ExternalCallFailed(MulticallStatus status)0x740d0306The external call failed with the following MulticallStatus output.

OpportunityAdapter

ErrorSelectorExplanation
NotCalledByExpressRelay()0xd5668c88The OpportunityAdapterFactory contract was not called by the ExpressRelay contract.
NotCalledByFactory()0xb02436ccThe OpportunityAdapter contract was not called by the OpportunityAdapterFactory contract.
AdapterOwnerMismatch()0x446f3eebThe provided executor field does not match the owner of the called OpportunityAdapter contract.
InsufficientTokenReceived()0x4af147aaThe specified buyTokens were not received after calling the target contract.
InsufficientEthToSettleBid()0x9caaa1d7The contract did not receive enough ETH to pay the specified bid.
InsufficientWethForTargetCallValue()0x5e520cd4The contract did not receive enough Wrapped ETH to pay the targetCallValue to the targetContract.
TargetCallFailed(bytes returnData)0xa932c97aThe call to targetContract failed with the specified returnData.
DuplicateToken()0x464e3f6aThere is a duplicate token in either the sellTokens or buyTokens.
EthOrWethBalanceDecreased()0x1979776dThe ETH or WETH balance of the contract decreased as a result of the call to targetContract and the bid payment.
TargetContractNotAllowed()0x9c86e59eThe provided targetContract is not allowed. (e.g. can not call the Permit2 contract).
OnlyOwnerCanCall()0x47a8ea58Only the owner of the contract can call this method.
Last updated on