Skip to main content
Version: 1.15.0

Class: CCIPDestExecutionRevertError

Defined in: errors/specialized.ts:4063

Thrown when the destination pool's releaseOrMint simulation reverts. A revert means the message would not execute on the destination, so the send is blocked — regardless of whether the SDK recognizes the specific error. Rather than classify the revert into bespoke error subclasses, this single error carries the raw encoded revert in context.revert so the caller can decode it with the SDK's standard parse (EVMChain.parse(context.revert)) and branch on the exact cause; the message also includes a best-effort decoded name for convenience.

isTransient reflects whether the specific revert typically clears on its own — a liquidity shortfall, an inbound rate/bridge limit, or an RMN curse (true, retry may later succeed) versus a mint-authority or lane-config problem (false, needs a fix). It is passed in by the caller via options.isTransient; when omitted it defaults to false.

Example​

TypeScript
import { CCIPDestExecutionRevertError, EVMChain } from '@chainlink/ccip-sdk'

try {
await estimateReceiveExecution({ source, dest, routerOrRamp, message })
} catch (error) {
if (error instanceof CCIPDestExecutionRevertError) {
const parsed = EVMChain.parse(error.context.revert) // decode the raw revert
console.log(`Dest execution would revert: ${parsed?.error}`, 'retryable:', error.isTransient)
}
}

Extends​

Constructors​

Constructor​

new CCIPDestExecutionRevertError(detail: string, options?: CCIPErrorOptions): CCIPDestExecutionRevertError

Defined in: errors/specialized.ts:4071

Creates a destination-execution revert error.

Parameters​

ParameterTypeDescription
detailstringBest-effort decoded revert for the message (name + data, or raw selector).
options?CCIPErrorOptionsOptional error options. Put the raw encoded revert in context.revert for the caller to parse, and pass isTransient when the revert is one that recovers on its own.

Returns​

CCIPDestExecutionRevertError

Overrides​

CCIPError.constructor

Properties​

_isCCIPError​

readonly _isCCIPError: true

Defined in: errors/CCIPError.ts:30

Brand for cross-module identification (dual package hazard).

Inherited from​

CCIPError._isCCIPError


code​

readonly code: CCIPErrorCode

Defined in: errors/CCIPError.ts:32

Machine-readable error code.

Inherited from​

CCIPError.code


context​

readonly context: Record<string, unknown>

Defined in: errors/CCIPError.ts:34

Structured context (IDs, addresses).

Inherited from​

CCIPError.context


isTransient​

readonly isTransient: boolean

Defined in: errors/CCIPError.ts:36

True if retry may succeed.

Inherited from​

CCIPError.isTransient


name​

readonly name: "CCIPDestExecutionRevertError" = 'CCIPDestExecutionRevertError'

Defined in: errors/specialized.ts:4064

Overrides​

CCIPError.name


recovery?​

readonly optional recovery?: string

Defined in: errors/CCIPError.ts:40

Recovery suggestion.

Inherited from​

CCIPError.recovery


retryAfterMs?​

readonly optional retryAfterMs?: number

Defined in: errors/CCIPError.ts:38

Retry delay in ms.

Inherited from​

CCIPError.retryAfterMs

Methods​

toJSON()​

toJSON(): Record<string, unknown>

Defined in: errors/CCIPError.ts:105

Serializes the error for logging.

Use this instead of JSON.stringify(error) directly, as Error properties are non-enumerable and would be lost.

Returns​

Record<string, unknown>

An object containing all error properties

Inherited from​

CCIPError.toJSON


from()​

static from(error: unknown, code?: CCIPErrorCode): CCIPError

Defined in: errors/CCIPError.ts:89

Wraps an unknown caught value in a CCIPError.

Useful for normalizing errors in catch blocks.

Parameters​

ParameterTypeDescription
errorunknownThe error to wrap
code?CCIPErrorCodeOptional error code (defaults to 'UNKNOWN')

Returns​

CCIPError

A CCIPError wrapping the original error

Inherited from​

CCIPError.from


isCCIPError()​

static isCCIPError(error: unknown): error is CCIPError

Defined in: errors/CCIPError.ts:73

Type guard for CCIPError.

Prefer this over instanceof to handle the dual package hazard when multiple versions of the SDK may be present.

Parameters​

ParameterTypeDescription
errorunknownThe error to check

Returns​

error is CCIPError

True if the error is a CCIPError instance

Inherited from​

CCIPError.isCCIPError