@chainlink/ccip-sdk 0.91.1 → 0.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -80
- package/dist/aptos/hasher.d.ts.map +1 -1
- package/dist/aptos/hasher.js +7 -6
- package/dist/aptos/hasher.js.map +1 -1
- package/dist/aptos/index.d.ts +7 -2
- package/dist/aptos/index.d.ts.map +1 -1
- package/dist/aptos/index.js +29 -20
- package/dist/aptos/index.js.map +1 -1
- package/dist/aptos/logs.d.ts +5 -3
- package/dist/aptos/logs.d.ts.map +1 -1
- package/dist/aptos/logs.js +64 -27
- package/dist/aptos/logs.js.map +1 -1
- package/dist/aptos/token.d.ts.map +1 -1
- package/dist/aptos/token.js +2 -1
- package/dist/aptos/token.js.map +1 -1
- package/dist/aptos/types.js +6 -6
- package/dist/aptos/types.js.map +1 -1
- package/dist/chain.d.ts +36 -11
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js +34 -2
- package/dist/chain.js.map +1 -1
- package/dist/commits.d.ts +2 -3
- package/dist/commits.d.ts.map +1 -1
- package/dist/commits.js +19 -8
- package/dist/commits.js.map +1 -1
- package/dist/errors/CCIPError.d.ts +48 -0
- package/dist/errors/CCIPError.d.ts.map +1 -0
- package/dist/errors/CCIPError.js +65 -0
- package/dist/errors/CCIPError.js.map +1 -0
- package/dist/errors/codes.d.ts +120 -0
- package/dist/errors/codes.d.ts.map +1 -0
- package/dist/errors/codes.js +156 -0
- package/dist/errors/codes.js.map +1 -0
- package/dist/errors/index.d.ts +26 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +51 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/recovery.d.ts +6 -0
- package/dist/errors/recovery.d.ts.map +1 -0
- package/dist/errors/recovery.js +118 -0
- package/dist/errors/recovery.js.map +1 -0
- package/dist/errors/specialized.d.ts +637 -0
- package/dist/errors/specialized.d.ts.map +1 -0
- package/dist/errors/specialized.js +1298 -0
- package/dist/errors/specialized.js.map +1 -0
- package/dist/errors/utils.d.ts +11 -0
- package/dist/errors/utils.d.ts.map +1 -0
- package/dist/errors/utils.js +61 -0
- package/dist/errors/utils.js.map +1 -0
- package/dist/evm/abi/CommitStore_1_5.js +1 -1
- package/dist/evm/abi/LockReleaseTokenPool_1_5.js +1 -1
- package/dist/evm/abi/OffRamp_1_5.js +1 -1
- package/dist/evm/abi/OnRamp_1_5.js +1 -1
- package/dist/evm/abi/PriceRegistry_1_2.d.ts +443 -0
- package/dist/evm/abi/PriceRegistry_1_2.d.ts.map +1 -0
- package/dist/evm/abi/PriceRegistry_1_2.js +439 -0
- package/dist/evm/abi/PriceRegistry_1_2.js.map +1 -0
- package/dist/evm/const.d.ts +1 -0
- package/dist/evm/const.d.ts.map +1 -1
- package/dist/evm/const.js +2 -0
- package/dist/evm/const.js.map +1 -1
- package/dist/evm/hasher.d.ts.map +1 -1
- package/dist/evm/hasher.js +7 -6
- package/dist/evm/hasher.js.map +1 -1
- package/dist/evm/index.d.ts +9 -13
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +85 -68
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/logs.d.ts.map +1 -1
- package/dist/evm/logs.js +47 -16
- package/dist/evm/logs.js.map +1 -1
- package/dist/evm/messages.d.ts +7 -6
- package/dist/evm/messages.d.ts.map +1 -1
- package/dist/evm/offchain.js +1 -1
- package/dist/evm/offchain.js.map +1 -1
- package/dist/evm/types.d.ts +10 -0
- package/dist/evm/types.d.ts.map +1 -0
- package/dist/evm/types.js +2 -0
- package/dist/evm/types.js.map +1 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +9 -5
- package/dist/execution.js.map +1 -1
- package/dist/extra-args.d.ts.map +1 -1
- package/dist/extra-args.js +4 -3
- package/dist/extra-args.js.map +1 -1
- package/dist/gas.d.ts.map +1 -1
- package/dist/gas.js +3 -2
- package/dist/gas.js.map +1 -1
- package/dist/hasher/hasher.d.ts.map +1 -1
- package/dist/hasher/hasher.js +2 -1
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/merklemulti.d.ts.map +1 -1
- package/dist/hasher/merklemulti.js +9 -8
- package/dist/hasher/merklemulti.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/offchain.d.ts.map +1 -1
- package/dist/offchain.js +5 -8
- package/dist/offchain.js.map +1 -1
- package/dist/requests.d.ts +1 -1
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +37 -43
- package/dist/requests.js.map +1 -1
- package/dist/selectors.d.ts.map +1 -1
- package/dist/selectors.js +22 -0
- package/dist/selectors.js.map +1 -1
- package/dist/solana/cleanup.d.ts +2 -2
- package/dist/solana/cleanup.d.ts.map +1 -1
- package/dist/solana/cleanup.js +2 -3
- package/dist/solana/cleanup.js.map +1 -1
- package/dist/solana/exec.d.ts.map +1 -1
- package/dist/solana/exec.js +12 -12
- package/dist/solana/exec.js.map +1 -1
- package/dist/solana/hasher.d.ts.map +1 -1
- package/dist/solana/hasher.js +6 -5
- package/dist/solana/hasher.js.map +1 -1
- package/dist/solana/index.d.ts +30 -13
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/index.js +96 -143
- package/dist/solana/index.js.map +1 -1
- package/dist/solana/logs.d.ts +15 -0
- package/dist/solana/logs.d.ts.map +1 -0
- package/dist/solana/logs.js +106 -0
- package/dist/solana/logs.js.map +1 -0
- package/dist/solana/offchain.d.ts.map +1 -1
- package/dist/solana/offchain.js +6 -5
- package/dist/solana/offchain.js.map +1 -1
- package/dist/solana/patchBorsh.d.ts.map +1 -1
- package/dist/solana/patchBorsh.js +3 -2
- package/dist/solana/patchBorsh.js.map +1 -1
- package/dist/solana/send.d.ts.map +1 -1
- package/dist/solana/send.js +8 -7
- package/dist/solana/send.js.map +1 -1
- package/dist/solana/utils.d.ts +7 -8
- package/dist/solana/utils.d.ts.map +1 -1
- package/dist/solana/utils.js +23 -11
- package/dist/solana/utils.js.map +1 -1
- package/dist/sui/discovery.d.ts +18 -0
- package/dist/sui/discovery.d.ts.map +1 -0
- package/dist/sui/discovery.js +116 -0
- package/dist/sui/discovery.js.map +1 -0
- package/dist/sui/events.d.ts +36 -0
- package/dist/sui/events.d.ts.map +1 -0
- package/dist/sui/events.js +179 -0
- package/dist/sui/events.js.map +1 -0
- package/dist/sui/hasher.d.ts.map +1 -1
- package/dist/sui/hasher.js +6 -5
- package/dist/sui/hasher.js.map +1 -1
- package/dist/sui/index.d.ts +69 -41
- package/dist/sui/index.d.ts.map +1 -1
- package/dist/sui/index.js +402 -65
- package/dist/sui/index.js.map +1 -1
- package/dist/sui/manuallyExec/encoder.d.ts +8 -0
- package/dist/sui/manuallyExec/encoder.d.ts.map +1 -0
- package/dist/sui/manuallyExec/encoder.js +76 -0
- package/dist/sui/manuallyExec/encoder.js.map +1 -0
- package/dist/sui/manuallyExec/index.d.ts +37 -0
- package/dist/sui/manuallyExec/index.d.ts.map +1 -0
- package/dist/sui/manuallyExec/index.js +81 -0
- package/dist/sui/manuallyExec/index.js.map +1 -0
- package/dist/sui/objects.d.ts +46 -0
- package/dist/sui/objects.d.ts.map +1 -0
- package/dist/sui/objects.js +259 -0
- package/dist/sui/objects.js.map +1 -0
- package/dist/ton/bindings/offramp.d.ts +48 -0
- package/dist/ton/bindings/offramp.d.ts.map +1 -0
- package/dist/ton/bindings/offramp.js +63 -0
- package/dist/ton/bindings/offramp.js.map +1 -0
- package/dist/ton/bindings/onramp.d.ts +40 -0
- package/dist/ton/bindings/onramp.d.ts.map +1 -0
- package/dist/ton/bindings/onramp.js +51 -0
- package/dist/ton/bindings/onramp.js.map +1 -0
- package/dist/ton/bindings/router.d.ts +47 -0
- package/dist/ton/bindings/router.d.ts.map +1 -0
- package/dist/ton/bindings/router.js +51 -0
- package/dist/ton/bindings/router.js.map +1 -0
- package/dist/ton/exec.d.ts +18 -0
- package/dist/ton/exec.d.ts.map +1 -0
- package/dist/ton/exec.js +28 -0
- package/dist/ton/exec.js.map +1 -0
- package/dist/ton/hasher.d.ts +27 -0
- package/dist/ton/hasher.d.ts.map +1 -0
- package/dist/ton/hasher.js +134 -0
- package/dist/ton/hasher.js.map +1 -0
- package/dist/ton/index.d.ts +247 -0
- package/dist/ton/index.d.ts.map +1 -0
- package/dist/ton/index.js +781 -0
- package/dist/ton/index.js.map +1 -0
- package/dist/ton/logs.d.ts +26 -0
- package/dist/ton/logs.d.ts.map +1 -0
- package/dist/ton/logs.js +126 -0
- package/dist/ton/logs.js.map +1 -0
- package/dist/ton/types.d.ts +37 -0
- package/dist/ton/types.d.ts.map +1 -0
- package/dist/ton/types.js +92 -0
- package/dist/ton/types.js.map +1 -0
- package/dist/ton/utils.d.ts +67 -0
- package/dist/ton/utils.d.ts.map +1 -0
- package/dist/ton/utils.js +425 -0
- package/dist/ton/utils.js.map +1 -0
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +52 -17
- package/dist/utils.js.map +1 -1
- package/package.json +12 -10
- package/src/aptos/hasher.ts +10 -6
- package/src/aptos/index.ts +50 -31
- package/src/aptos/logs.ts +85 -29
- package/src/aptos/token.ts +5 -1
- package/src/aptos/types.ts +6 -6
- package/src/chain.ts +83 -12
- package/src/commits.ts +23 -11
- package/src/errors/CCIPError.ts +86 -0
- package/src/errors/codes.ts +179 -0
- package/src/errors/index.ts +175 -0
- package/src/errors/recovery.ts +170 -0
- package/src/errors/specialized.ts +1655 -0
- package/src/errors/utils.ts +73 -0
- package/src/evm/abi/CommitStore_1_5.ts +1 -1
- package/src/evm/abi/LockReleaseTokenPool_1_5.ts +1 -1
- package/src/evm/abi/OffRamp_1_5.ts +1 -1
- package/src/evm/abi/OnRamp_1_5.ts +1 -1
- package/src/evm/abi/PriceRegistry_1_2.ts +438 -0
- package/src/evm/const.ts +2 -0
- package/src/evm/hasher.ts +7 -6
- package/src/evm/index.ts +104 -86
- package/src/evm/logs.ts +64 -16
- package/src/evm/messages.ts +14 -14
- package/src/evm/offchain.ts +1 -1
- package/src/evm/types.ts +11 -0
- package/src/execution.ts +13 -9
- package/src/extra-args.ts +4 -3
- package/src/gas.ts +10 -3
- package/src/hasher/hasher.ts +2 -1
- package/src/hasher/merklemulti.ts +18 -8
- package/src/index.ts +14 -2
- package/src/offchain.ts +10 -14
- package/src/requests.ts +51 -53
- package/src/selectors.ts +23 -0
- package/src/solana/cleanup.ts +2 -4
- package/src/solana/exec.ts +13 -13
- package/src/solana/hasher.ts +9 -5
- package/src/solana/index.ts +126 -200
- package/src/solana/logs.ts +155 -0
- package/src/solana/offchain.ts +10 -7
- package/src/solana/patchBorsh.ts +3 -2
- package/src/solana/send.ts +14 -7
- package/src/solana/utils.ts +31 -17
- package/src/sui/discovery.ts +163 -0
- package/src/sui/events.ts +328 -0
- package/src/sui/hasher.ts +6 -5
- package/src/sui/index.ts +528 -80
- package/src/sui/manuallyExec/encoder.ts +88 -0
- package/src/sui/manuallyExec/index.ts +137 -0
- package/src/sui/objects.ts +358 -0
- package/src/ton/bindings/offramp.ts +96 -0
- package/src/ton/bindings/onramp.ts +72 -0
- package/src/ton/bindings/router.ts +65 -0
- package/src/ton/exec.ts +44 -0
- package/src/ton/hasher.ts +184 -0
- package/src/ton/index.ts +989 -0
- package/src/ton/logs.ts +157 -0
- package/src/ton/types.ts +143 -0
- package/src/ton/utils.ts +514 -0
- package/src/types.ts +6 -2
- package/src/utils.ts +58 -23
- package/tsconfig.json +2 -1
package/src/solana/exec.ts
CHANGED
|
@@ -13,12 +13,12 @@ import {
|
|
|
13
13
|
import BN from 'bn.js'
|
|
14
14
|
import { hexlify } from 'ethers'
|
|
15
15
|
|
|
16
|
+
import { CCIPSolanaLookupTableNotFoundError } from '../errors/index.ts'
|
|
16
17
|
import { type ExecutionReport, type WithLogger, ChainFamily } from '../types.ts'
|
|
17
18
|
import { IDL as CCIP_OFFRAMP_IDL } from './idl/1.6.0/CCIP_OFFRAMP.ts'
|
|
18
19
|
import { encodeSolanaOffchainTokenData } from './offchain.ts'
|
|
19
20
|
import type { CCIPMessage_V1_6_Solana, UnsignedSolanaTx } from './types.ts'
|
|
20
|
-
import { getDataBytes, toLeArray } from '../utils.ts'
|
|
21
|
-
import { bytesToBuffer } from './utils.ts'
|
|
21
|
+
import { bytesToBuffer, getDataBytes, toLeArray } from '../utils.ts'
|
|
22
22
|
|
|
23
23
|
type ExecAlt = {
|
|
24
24
|
initialIxs: TransactionInstruction[]
|
|
@@ -51,7 +51,7 @@ export async function generateUnsignedExecuteReport(
|
|
|
51
51
|
let bufferId
|
|
52
52
|
if (opts?.forceBuffer) {
|
|
53
53
|
// Use messageId for bufferId. This is arbitrary, but easy to track.
|
|
54
|
-
bufferId = bytesToBuffer(execReport.message.
|
|
54
|
+
bufferId = bytesToBuffer(execReport.message.messageId)
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const {
|
|
@@ -72,7 +72,7 @@ export async function generateUnsignedExecuteReport(
|
|
|
72
72
|
const lookupTableAccountInfo = await connection.getAddressLookupTable(acc)
|
|
73
73
|
|
|
74
74
|
if (!lookupTableAccountInfo.value) {
|
|
75
|
-
throw new
|
|
75
|
+
throw new CCIPSolanaLookupTableNotFoundError(acc.toBase58())
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
return lookupTableAccountInfo.value
|
|
@@ -155,8 +155,8 @@ async function buildLookupTableIxs(
|
|
|
155
155
|
logger.info('Using Address Lookup Table', altAddr.toBase58())
|
|
156
156
|
|
|
157
157
|
if (addresses.length > 256) {
|
|
158
|
-
throw new
|
|
159
|
-
`
|
|
158
|
+
throw new CCIPSolanaLookupTableNotFoundError(
|
|
159
|
+
`addresses count ${addresses.length} exceeds Solana limit of 256 for Address Lookup Tables`,
|
|
160
160
|
)
|
|
161
161
|
}
|
|
162
162
|
|
|
@@ -324,7 +324,7 @@ async function getManuallyExecuteInputs({
|
|
|
324
324
|
originalSender: bytesToBuffer(execReport.message.sender),
|
|
325
325
|
payer,
|
|
326
326
|
messagingAccounts,
|
|
327
|
-
sourceChainSelector: execReport.message.
|
|
327
|
+
sourceChainSelector: execReport.message.sourceChainSelector,
|
|
328
328
|
tokenTransferAndOffchainData,
|
|
329
329
|
merkleRoot: bytesToBuffer(execReport.merkleRoot),
|
|
330
330
|
bufferId,
|
|
@@ -348,14 +348,14 @@ function prepareExecutionReport({
|
|
|
348
348
|
typeof CCIP_OFFRAMP_IDL
|
|
349
349
|
>['ExecutionReportSingleChain'] {
|
|
350
350
|
return {
|
|
351
|
-
sourceChainSelector: new BN(message.
|
|
351
|
+
sourceChainSelector: new BN(message.sourceChainSelector.toString()),
|
|
352
352
|
message: {
|
|
353
353
|
header: {
|
|
354
|
-
messageId: Array.from(getDataBytes(message.
|
|
355
|
-
sourceChainSelector: new BN(message.
|
|
356
|
-
destChainSelector: new BN(message.
|
|
357
|
-
sequenceNumber: new BN(message.
|
|
358
|
-
nonce: new BN(message.
|
|
354
|
+
messageId: Array.from(getDataBytes(message.messageId)),
|
|
355
|
+
sourceChainSelector: new BN(message.sourceChainSelector),
|
|
356
|
+
destChainSelector: new BN(message.destChainSelector),
|
|
357
|
+
sequenceNumber: new BN(message.sequenceNumber),
|
|
358
|
+
nonce: new BN(message.nonce),
|
|
359
359
|
},
|
|
360
360
|
sender: bytesToBuffer(message.sender),
|
|
361
361
|
data: bytesToBuffer(message.data),
|
package/src/solana/hasher.ts
CHANGED
|
@@ -12,6 +12,10 @@ import {
|
|
|
12
12
|
} from 'ethers'
|
|
13
13
|
import type { ReadonlyDeep } from 'type-fest'
|
|
14
14
|
|
|
15
|
+
import {
|
|
16
|
+
CCIPExtraArgsInvalidError,
|
|
17
|
+
CCIPSolanaLaneVersionUnsupportedError,
|
|
18
|
+
} from '../errors/index.ts'
|
|
15
19
|
import { decodeExtraArgs } from '../extra-args.ts'
|
|
16
20
|
import type { LeafHasher } from '../hasher/index.ts'
|
|
17
21
|
import { type CCIPMessage, type Lane, type WithLogger, CCIPVersion } from '../types.ts'
|
|
@@ -48,7 +52,7 @@ export function getV16SolanaLeafHasher(
|
|
|
48
52
|
{ logger = console }: WithLogger = {},
|
|
49
53
|
): LeafHasher<typeof CCIPVersion.V1_6> {
|
|
50
54
|
if (lane.version !== CCIPVersion.V1_6)
|
|
51
|
-
throw new
|
|
55
|
+
throw new CCIPSolanaLaneVersionUnsupportedError(lane.version)
|
|
52
56
|
|
|
53
57
|
return (message: ReadonlyDeep<CCIPMessage<typeof CCIPVersion.V1_6>>): string => {
|
|
54
58
|
let parsedArgs
|
|
@@ -62,7 +66,7 @@ export function getV16SolanaLeafHasher(
|
|
|
62
66
|
} else {
|
|
63
67
|
parsedArgs = decodeExtraArgs(message.extraArgs, networkInfo(lane.sourceChainSelector).family)
|
|
64
68
|
if (!parsedArgs || parsedArgs._tag !== 'SVMExtraArgsV1')
|
|
65
|
-
throw new
|
|
69
|
+
throw new CCIPExtraArgsInvalidError('SVM', message.extraArgs)
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
const any2SVMExtraArgsBorshEncoded = borshSerialize(SvmExtraArgsSchema, parsedArgs, true)
|
|
@@ -91,11 +95,11 @@ export function getV16SolanaLeafHasher(
|
|
|
91
95
|
toBeHex(lane.destChainSelector, 8),
|
|
92
96
|
toBeHex(dataLength(onRampBytes), 2),
|
|
93
97
|
onRampBytes,
|
|
94
|
-
message.
|
|
98
|
+
message.messageId,
|
|
95
99
|
tokenReceiver,
|
|
96
|
-
toBeHex(message.
|
|
100
|
+
toBeHex(message.sequenceNumber, 8),
|
|
97
101
|
any2SVMExtraArgsBorshEncoded,
|
|
98
|
-
toBeHex(message.
|
|
102
|
+
toBeHex(message.nonce, 8),
|
|
99
103
|
toBeHex(dataLength(sender), 2),
|
|
100
104
|
sender,
|
|
101
105
|
toBeHex(dataLength(dataBytes), 2),
|