Skip to main content
Version: 1.16.1

Class: CCIPLaneConfigIncompleteError

Defined in: errors/specialized.ts:2810

Thrown when a token's lane lacks a configuration record that a transfer in that direction requires, so the transfer would revert (e.g. a multi-token pool's LaneFeeNotFound on send). context.missing lists the record types: 'connection', 'remotePool', 'rateLimit', 'fee', 'destOverhead' or 'security'. Decoded from a LaneFeeNotFound revert, it lists both 'fee' and 'destOverhead', because the revert does not say which one is missing. Not transient: the pool's configuration must change.

Example​

TypeScript
try {
await chain.getFee({ router, destChainSelector, message })
} catch (error) {
if (error instanceof CCIPLaneConfigIncompleteError) {
console.log(`Lane not ready, missing: ${error.context.missing.join(', ')}`)
}
}

Extends​

Constructors​

Constructor​

new CCIPLaneConfigIncompleteError(missing: readonly LaneRecordType[], lane: Omit<TokenTransferLane, "tokenPool"> & { tokenPool?: string; }, options?: CCIPErrorOptions): CCIPLaneConfigIncompleteError

Defined in: errors/specialized.ts:2813

Creates a lane config incomplete error.

Parameters​

ParameterType
missingreadonly LaneRecordType[]
laneOmit<TokenTransferLane, "tokenPool"> & { tokenPool?: string; }
options?CCIPErrorOptions

Returns​

CCIPLaneConfigIncompleteError

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: "CCIPLaneConfigIncompleteError" = 'CCIPLaneConfigIncompleteError'

Defined in: errors/specialized.ts:2811

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