Function: decodeExtraArgs()
decodeExtraArgs(
data:BytesLike,from?:ChainFamily):EVMExtraArgsV1& {_tag:"EVMExtraArgsV1"; } |EVMExtraArgsV1& {allowOutOfOrderExecution:boolean; } & {_tag:"EVMExtraArgsV2"; } |GenericExtraArgsV3& {_tag:"GenericExtraArgsV3"; } |SVMExtraArgsV1& {_tag:"SVMExtraArgsV1"; } |EVMExtraArgsV1& {allowOutOfOrderExecution:boolean; } & {receiverObjectIds:string[];tokenReceiver:string; } & {_tag:"SuiExtraArgsV1"; } |undefined
Defined in: extra-args.ts:194
Parses extra arguments from CCIP messages.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | BytesLike | Extra arguments bytearray data. |
from? | ChainFamily | Optional chain family to narrow decoding attempts. |
Returns
EVMExtraArgsV1 & { _tag: "EVMExtraArgsV1"; }
EVMExtraArgsV1 & { allowOutOfOrderExecution: boolean; } & { _tag: "EVMExtraArgsV2"; }
GenericExtraArgsV3 & { _tag: "GenericExtraArgsV3"; }
SVMExtraArgsV1 & { _tag: "SVMExtraArgsV1"; }
EVMExtraArgsV1 & { allowOutOfOrderExecution: boolean; } & { receiverObjectIds: string[]; tokenReceiver: string; } & { _tag: "SuiExtraArgsV1"; }
undefined
Extra arguments object if found, undefined otherwise.
Throws
CCIPChainFamilyUnsupportedError if specified chain family not supported
Throws
CCIPExtraArgsParseError if data cannot be parsed as valid extra args
Example
import { decodeExtraArgs } from '@chainlink/ccip-sdk'
const decoded = decodeExtraArgs('0x181dcf10...')
if (decoded?._tag === 'EVMExtraArgsV2') {
console.log('Gas limit:', decoded.gasLimit)
console.log('Out of order:', decoded.allowOutOfOrderExecution)
}
See
encodeExtraArgs - Encode extra arguments to bytes