@chainlink/ccip-sdk 0.96.0 → 0.97.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/dist/api/index.d.ts +17 -8
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +27 -10
- package/dist/api/index.js.map +1 -1
- package/dist/api/types.d.ts +0 -2
- package/dist/api/types.d.ts.map +1 -1
- package/dist/aptos/exec.d.ts +2 -2
- package/dist/aptos/exec.d.ts.map +1 -1
- package/dist/aptos/exec.js.map +1 -1
- package/dist/aptos/hasher.d.ts.map +1 -1
- package/dist/aptos/hasher.js +1 -1
- package/dist/aptos/hasher.js.map +1 -1
- package/dist/aptos/index.d.ts +13 -10
- package/dist/aptos/index.d.ts.map +1 -1
- package/dist/aptos/index.js +42 -68
- package/dist/aptos/index.js.map +1 -1
- package/dist/aptos/types.d.ts +2 -19
- package/dist/aptos/types.d.ts.map +1 -1
- package/dist/aptos/types.js +0 -11
- package/dist/aptos/types.js.map +1 -1
- package/dist/chain.d.ts +532 -151
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js +113 -18
- package/dist/chain.js.map +1 -1
- package/dist/commits.d.ts +4 -6
- package/dist/commits.d.ts.map +1 -1
- package/dist/commits.js +4 -4
- package/dist/commits.js.map +1 -1
- package/dist/errors/CCIPError.d.ts +33 -4
- package/dist/errors/CCIPError.d.ts.map +1 -1
- package/dist/errors/CCIPError.js +33 -4
- package/dist/errors/CCIPError.js.map +1 -1
- package/dist/errors/codes.d.ts +3 -0
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/errors/codes.js +3 -1
- package/dist/errors/codes.js.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/recovery.d.ts.map +1 -1
- package/dist/errors/recovery.js +4 -1
- package/dist/errors/recovery.js.map +1 -1
- package/dist/errors/specialized.d.ts +1695 -120
- package/dist/errors/specialized.d.ts.map +1 -1
- package/dist/errors/specialized.js +1715 -123
- package/dist/errors/specialized.js.map +1 -1
- package/dist/errors/utils.d.ts.map +1 -1
- package/dist/errors/utils.js +0 -1
- package/dist/errors/utils.js.map +1 -1
- package/dist/evm/abi/OffRamp_2_0.d.ts +764 -0
- package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -0
- package/dist/evm/abi/OffRamp_2_0.js +744 -0
- package/dist/evm/abi/OffRamp_2_0.js.map +1 -0
- package/dist/evm/abi/OnRamp_2_0.d.ts +925 -0
- package/dist/evm/abi/OnRamp_2_0.d.ts.map +1 -0
- package/dist/evm/abi/OnRamp_2_0.js +992 -0
- package/dist/evm/abi/OnRamp_2_0.js.map +1 -0
- package/dist/evm/const.d.ts +12 -2
- package/dist/evm/const.d.ts.map +1 -1
- package/dist/evm/const.js +8 -2
- package/dist/evm/const.js.map +1 -1
- package/dist/evm/errors.d.ts.map +1 -1
- package/dist/evm/errors.js +7 -2
- package/dist/evm/errors.js.map +1 -1
- package/dist/evm/extra-args.d.ts.map +1 -1
- package/dist/evm/extra-args.js +5 -24
- package/dist/evm/extra-args.js.map +1 -1
- package/dist/evm/hasher.d.ts.map +1 -1
- package/dist/evm/hasher.js +23 -13
- package/dist/evm/hasher.js.map +1 -1
- package/dist/evm/index.d.ts +73 -14
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +240 -141
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/messages.d.ts +59 -5
- package/dist/evm/messages.d.ts.map +1 -1
- package/dist/evm/messages.js +210 -0
- package/dist/evm/messages.js.map +1 -1
- package/dist/evm/offchain.js.map +1 -1
- package/dist/evm/types.d.ts +7 -2
- package/dist/evm/types.d.ts.map +1 -1
- package/dist/evm/types.js +22 -1
- package/dist/evm/types.js.map +1 -1
- package/dist/execution.d.ts +62 -22
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +98 -61
- package/dist/execution.js.map +1 -1
- package/dist/extra-args.d.ts +13 -3
- package/dist/extra-args.d.ts.map +1 -1
- package/dist/extra-args.js +13 -3
- package/dist/extra-args.js.map +1 -1
- package/dist/gas.d.ts +25 -2
- package/dist/gas.d.ts.map +1 -1
- package/dist/gas.js +30 -4
- package/dist/gas.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/requests.d.ts +85 -14
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +99 -16
- package/dist/requests.js.map +1 -1
- package/dist/selectors.d.ts.map +1 -1
- package/dist/selectors.js +12 -0
- package/dist/selectors.js.map +1 -1
- package/dist/shared/bcs-codecs.d.ts +61 -0
- package/dist/shared/bcs-codecs.d.ts.map +1 -0
- package/dist/shared/bcs-codecs.js +102 -0
- package/dist/shared/bcs-codecs.js.map +1 -0
- package/dist/shared/constants.d.ts +3 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +3 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/solana/exec.d.ts +2 -2
- package/dist/solana/exec.d.ts.map +1 -1
- package/dist/solana/exec.js.map +1 -1
- package/dist/solana/index.d.ts +80 -17
- package/dist/solana/index.d.ts.map +1 -1
- package/dist/solana/index.js +67 -30
- package/dist/solana/index.js.map +1 -1
- package/dist/sui/hasher.d.ts.map +1 -1
- package/dist/sui/hasher.js +1 -1
- package/dist/sui/hasher.js.map +1 -1
- package/dist/sui/index.d.ts +14 -12
- package/dist/sui/index.d.ts.map +1 -1
- package/dist/sui/index.js +38 -34
- package/dist/sui/index.js.map +1 -1
- package/dist/sui/manuallyExec/encoder.d.ts +2 -2
- package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
- package/dist/sui/manuallyExec/encoder.js.map +1 -1
- package/dist/sui/manuallyExec/index.d.ts +2 -2
- package/dist/sui/manuallyExec/index.d.ts.map +1 -1
- package/dist/ton/exec.d.ts +2 -2
- package/dist/ton/exec.d.ts.map +1 -1
- package/dist/ton/exec.js.map +1 -1
- package/dist/ton/index.d.ts +9 -16
- package/dist/ton/index.d.ts.map +1 -1
- package/dist/ton/index.js +26 -31
- package/dist/ton/index.js.map +1 -1
- package/dist/ton/types.d.ts +2 -2
- package/dist/ton/types.d.ts.map +1 -1
- package/dist/ton/types.js.map +1 -1
- package/dist/types.d.ts +46 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +65 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +74 -2
- package/dist/utils.js.map +1 -1
- package/package.json +9 -9
- package/src/api/index.ts +33 -10
- package/src/api/types.ts +0 -2
- package/src/aptos/exec.ts +2 -2
- package/src/aptos/hasher.ts +1 -1
- package/src/aptos/index.ts +51 -89
- package/src/aptos/types.ts +2 -15
- package/src/chain.ts +581 -163
- package/src/commits.ts +9 -9
- package/src/errors/CCIPError.ts +33 -4
- package/src/errors/codes.ts +3 -1
- package/src/errors/index.ts +1 -0
- package/src/errors/recovery.ts +7 -1
- package/src/errors/specialized.ts +1726 -130
- package/src/errors/utils.ts +0 -1
- package/src/evm/abi/OffRamp_2_0.ts +743 -0
- package/src/evm/abi/OnRamp_2_0.ts +991 -0
- package/src/evm/const.ts +10 -3
- package/src/evm/errors.ts +6 -2
- package/src/evm/extra-args.ts +4 -21
- package/src/evm/hasher.ts +30 -18
- package/src/evm/index.ts +310 -166
- package/src/evm/messages.ts +323 -11
- package/src/evm/offchain.ts +2 -2
- package/src/evm/types.ts +20 -2
- package/src/execution.ts +125 -86
- package/src/extra-args.ts +13 -3
- package/src/gas.ts +29 -3
- package/src/index.ts +2 -2
- package/src/requests.ts +112 -16
- package/src/selectors.ts +12 -0
- package/src/shared/bcs-codecs.ts +132 -0
- package/src/shared/constants.ts +2 -0
- package/src/solana/exec.ts +4 -4
- package/src/solana/index.ts +100 -68
- package/src/sui/hasher.ts +1 -1
- package/src/sui/index.ts +50 -47
- package/src/sui/manuallyExec/encoder.ts +2 -2
- package/src/sui/manuallyExec/index.ts +2 -2
- package/src/ton/exec.ts +2 -2
- package/src/ton/index.ts +37 -40
- package/src/ton/types.ts +2 -2
- package/src/types.ts +70 -29
- package/src/utils.ts +73 -2
- package/dist/aptos/utils.d.ts +0 -12
- package/dist/aptos/utils.d.ts.map +0 -1
- package/dist/aptos/utils.js +0 -15
- package/dist/aptos/utils.js.map +0 -1
- package/src/aptos/utils.ts +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bcs-codecs.d.ts","sourceRoot":"","sources":["../../src/shared/bcs-codecs.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EASf,MAAM,QAAQ,CAAA;AAGf,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EAGpB,MAAM,kBAAkB,CAAA;AAIzB;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;UAGjC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;UAMjC,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,SAAS,CA4BZ;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,CAc3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,MAA4B,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,MAI9C,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BCS (Binary Canonical Serialization) codecs for Move-based chains (Aptos, Sui).
|
|
3
|
+
* These chains share similar BCS encoding and 32-byte address formats.
|
|
4
|
+
*/
|
|
5
|
+
import { bcs } from '@mysten/bcs';
|
|
6
|
+
import { concat, dataLength, dataSlice, getBytes, hexlify, toBeHex, zeroPadBytes, zeroPadValue, } from 'ethers';
|
|
7
|
+
import { CCIPDataFormatUnsupportedError } from "../errors/index.js";
|
|
8
|
+
import { EVMExtraArgsV2Tag, SVMExtraArgsV1Tag, } from "../extra-args.js";
|
|
9
|
+
import { ChainFamily } from "../types.js";
|
|
10
|
+
import { decodeAddress, getDataBytes } from "../utils.js";
|
|
11
|
+
/**
|
|
12
|
+
* BCS codec for decoding EVM extra args on Move chains (Aptos/Sui).
|
|
13
|
+
* Used when receiving cross-chain messages from EVM source chains.
|
|
14
|
+
*/
|
|
15
|
+
export const BcsEVMExtraArgsV2Codec = bcs.struct('EVMExtraArgsV2', {
|
|
16
|
+
gasLimit: bcs.u256(),
|
|
17
|
+
allowOutOfOrderExecution: bcs.bool(),
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* BCS codec for decoding SVM (Solana) extra args on Move chains (Aptos/Sui).
|
|
21
|
+
* Used when receiving cross-chain messages from Solana source chains.
|
|
22
|
+
*/
|
|
23
|
+
export const BcsSVMExtraArgsV1Codec = bcs.struct('SVMExtraArgsV1', {
|
|
24
|
+
computeUnits: bcs.u32(),
|
|
25
|
+
accountIsWritableBitmap: bcs.u64(),
|
|
26
|
+
allowOutOfOrderExecution: bcs.bool(),
|
|
27
|
+
tokenReceiver: bcs.vector(bcs.u8()),
|
|
28
|
+
accounts: bcs.vector(bcs.vector(bcs.u8())),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Decodes extra arguments from Move-based chain CCIP messages.
|
|
32
|
+
* Works for both Aptos and Sui since they share the same BCS encoding.
|
|
33
|
+
* @param extraArgs - Encoded extra arguments bytes.
|
|
34
|
+
* @returns Decoded extra arguments or undefined if unknown format.
|
|
35
|
+
*/
|
|
36
|
+
export function decodeMoveExtraArgs(extraArgs) {
|
|
37
|
+
const data = getDataBytes(extraArgs), tag = dataSlice(data, 0, 4);
|
|
38
|
+
switch (tag) {
|
|
39
|
+
case EVMExtraArgsV2Tag: {
|
|
40
|
+
const parsed = BcsEVMExtraArgsV2Codec.parse(getBytes(dataSlice(data, 4)));
|
|
41
|
+
// Move serialization of EVMExtraArgsV2: 37 bytes total: 4 tag + 32 LE gasLimit + 1 allowOOOE
|
|
42
|
+
return {
|
|
43
|
+
_tag: 'EVMExtraArgsV2',
|
|
44
|
+
...parsed,
|
|
45
|
+
gasLimit: BigInt(parsed.gasLimit),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case SVMExtraArgsV1Tag: {
|
|
49
|
+
const parsed = BcsSVMExtraArgsV1Codec.parse(getBytes(dataSlice(data, 4)));
|
|
50
|
+
// Move serialization of SVMExtraArgsV1: 13 bytes total: 4 tag + 8 LE computeUnits
|
|
51
|
+
return {
|
|
52
|
+
_tag: 'SVMExtraArgsV1',
|
|
53
|
+
...parsed,
|
|
54
|
+
computeUnits: BigInt(parsed.computeUnits),
|
|
55
|
+
accountIsWritableBitmap: BigInt(parsed.accountIsWritableBitmap),
|
|
56
|
+
tokenReceiver: decodeAddress(new Uint8Array(parsed.tokenReceiver), ChainFamily.Solana),
|
|
57
|
+
accounts: parsed.accounts.map((account) => decodeAddress(new Uint8Array(account), ChainFamily.Solana)),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Converts bytes to a Move-chain address (32-byte zero-padded).
|
|
64
|
+
* Works for both Aptos and Sui since they share the same address format.
|
|
65
|
+
* @param bytes - Bytes to convert.
|
|
66
|
+
* @returns Address as 0x-prefixed hex string, 32 bytes padded.
|
|
67
|
+
* @throws {@link CCIPDataFormatUnsupportedError} if bytes length exceeds 32
|
|
68
|
+
*/
|
|
69
|
+
export function getMoveAddress(bytes) {
|
|
70
|
+
let suffix = '';
|
|
71
|
+
if (Array.isArray(bytes))
|
|
72
|
+
bytes = new Uint8Array(bytes);
|
|
73
|
+
if (typeof bytes === 'string' && bytes.startsWith('0x')) {
|
|
74
|
+
const idx = bytes.indexOf('::');
|
|
75
|
+
if (idx > 0) {
|
|
76
|
+
suffix = bytes.slice(idx);
|
|
77
|
+
bytes = bytes.slice(0, idx);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
bytes = getDataBytes(bytes);
|
|
81
|
+
if (bytes.length > 32)
|
|
82
|
+
throw new CCIPDataFormatUnsupportedError(`Move address exceeds 32 bytes: ${hexlify(bytes)}`);
|
|
83
|
+
return zeroPadValue(bytes, 32) + suffix;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Encodes a numeric value as a 32-byte hex string.
|
|
87
|
+
* Used for BCS encoding on Move chains (Aptos/Sui).
|
|
88
|
+
* @param value - Numeric value to encode.
|
|
89
|
+
* @returns 32-byte hex string representation of the value.
|
|
90
|
+
*/
|
|
91
|
+
export const encodeNumber = (value) => toBeHex(value, 32);
|
|
92
|
+
/**
|
|
93
|
+
* Encodes dynamic bytes with length prefix for BCS serialization.
|
|
94
|
+
* Used for BCS encoding on Move chains (Aptos/Sui).
|
|
95
|
+
* @param value - Bytes to encode.
|
|
96
|
+
* @returns Encoded bytes with 32-byte aligned padding.
|
|
97
|
+
*/
|
|
98
|
+
export const encodeRawBytes = (value) => concat([
|
|
99
|
+
encodeNumber(dataLength(value)),
|
|
100
|
+
zeroPadBytes(value, Math.ceil(dataLength(value) / 32) * 32),
|
|
101
|
+
]);
|
|
102
|
+
//# sourceMappingURL=bcs-codecs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bcs-codecs.js","sourceRoot":"","sources":["../../src/shared/bcs-codecs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,UAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAQ,CAAA"}
|
package/dist/solana/exec.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Connection, PublicKey } from '@solana/web3.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ExecutionInput, type WithLogger } from '../types.ts';
|
|
3
3
|
import type { CCIPMessage_V1_6_Solana, UnsignedSolanaTx } from './types.ts';
|
|
4
4
|
/**
|
|
5
5
|
* Generate unsigned tx to execute a CCIP report on Solana.
|
|
@@ -15,7 +15,7 @@ import type { CCIPMessage_V1_6_Solana, UnsignedSolanaTx } from './types.ts';
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function generateUnsignedExecuteReport(ctx: {
|
|
17
17
|
connection: Connection;
|
|
18
|
-
} & WithLogger, payer: PublicKey, offramp: PublicKey, execReport:
|
|
18
|
+
} & WithLogger, payer: PublicKey, offramp: PublicKey, execReport: ExecutionInput<CCIPMessage_V1_6_Solana>, opts?: {
|
|
19
19
|
forceLookupTable?: boolean;
|
|
20
20
|
forceBuffer?: boolean;
|
|
21
21
|
clearLeftoverAccounts?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/solana/exec.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EAIf,SAAS,EAEV,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/solana/exec.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EAIf,SAAS,EAEV,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAA;AAG/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAU3E;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,EAC5C,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,cAAc,CAAC,uBAAuB,CAAC,EACnD,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5F,OAAO,CAAC,gBAAgB,CAAC,CA+F3B"}
|
package/dist/solana/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/solana/exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/solana/exec.ts"],"names":[],"mappings":"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"}
|
package/dist/solana/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { PickDeep } from 'type-fest';
|
|
|
4
4
|
import { type ChainContext, type ChainStatic, type GetBalanceOpts, type LogFilter, type TokenInfo, type TokenPoolRemote, Chain } from '../chain.ts';
|
|
5
5
|
import { type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1 } from '../extra-args.ts';
|
|
6
6
|
import type { LeafHasher } from '../hasher/common.ts';
|
|
7
|
-
import { type AnyMessage, type
|
|
7
|
+
import { type AnyMessage, type CCIPExecution, type CCIPMessage, type CCIPRequest, type CCIPVerifications, type ChainTransaction, type CommitReport, type ExecutionReceipt, type Lane, type Log_, type MergeArrayElements, type NetworkInfo, type OffchainTokenData, type WithLogger, CCIPVersion, ChainFamily } from '../types.ts';
|
|
8
8
|
import { type CCIPMessage_V1_6_Solana, type UnsignedSolanaTx } from './types.ts';
|
|
9
9
|
export type { UnsignedSolanaTx };
|
|
10
10
|
/** Solana-specific log structure with transaction reference and log level. */
|
|
@@ -20,6 +20,29 @@ export type SolanaTransaction = MergeArrayElements<ChainTransaction, {
|
|
|
20
20
|
}>;
|
|
21
21
|
/**
|
|
22
22
|
* Solana chain implementation supporting Solana networks.
|
|
23
|
+
*
|
|
24
|
+
* Provides methods for sending CCIP cross-chain messages, querying message
|
|
25
|
+
* status, fetching fee quotes, and manually executing pending messages on
|
|
26
|
+
* Solana networks.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* Solana uses CCIP v1.6+ protocol only.
|
|
30
|
+
*
|
|
31
|
+
* @example Create from RPC URL
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import { SolanaChain } from '@chainlink/ccip-sdk'
|
|
34
|
+
*
|
|
35
|
+
* const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
|
|
36
|
+
* console.log(`Connected to: ${chain.network.name}`)
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @example Query messages in a transaction
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const requests = await chain.getMessagesInTx('5abc123...')
|
|
42
|
+
* for (const req of requests) {
|
|
43
|
+
* console.log(`Message ID: ${req.message.messageId}`)
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
23
46
|
*/
|
|
24
47
|
export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
25
48
|
static readonly family: "SVM";
|
|
@@ -50,9 +73,20 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
50
73
|
static fromConnection(connection: Connection, ctx?: ChainContext): Promise<SolanaChain>;
|
|
51
74
|
/**
|
|
52
75
|
* Creates a SolanaChain instance from an RPC URL.
|
|
53
|
-
*
|
|
54
|
-
* @param
|
|
55
|
-
* @
|
|
76
|
+
*
|
|
77
|
+
* @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
|
|
78
|
+
* @param ctx - Optional context containing logger and API client configuration.
|
|
79
|
+
* @returns A new SolanaChain instance connected to the specified network.
|
|
80
|
+
* @throws {@link CCIPChainNotFoundError} if chain cannot be identified from genesis hash
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* // Create from devnet URL
|
|
85
|
+
* const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
|
|
86
|
+
*
|
|
87
|
+
* // With custom logger
|
|
88
|
+
* const chain = await SolanaChain.fromUrl(url, { logger: customLogger })
|
|
89
|
+
* ```
|
|
56
90
|
*/
|
|
57
91
|
static fromUrl(url: string, ctx?: ChainContext): Promise<SolanaChain>;
|
|
58
92
|
/**
|
|
@@ -105,9 +139,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
105
139
|
tx: SolanaTransaction;
|
|
106
140
|
}>;
|
|
107
141
|
/** {@inheritDoc Chain.getMessagesInBatch} */
|
|
108
|
-
getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R,
|
|
109
|
-
page?: number;
|
|
110
|
-
}): Promise<R['message'][]>;
|
|
142
|
+
getMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.sequenceNumber'>>(request: R, range: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: Pick<LogFilter, 'page'>): Promise<R['message'][]>;
|
|
111
143
|
/** {@inheritDoc Chain.typeAndVersion} */
|
|
112
144
|
typeAndVersion(address: string): Promise<[type: string, version: string, typeAndVersion: string, suffix?: string | undefined]>;
|
|
113
145
|
/** {@inheritDoc Chain.getRouterForOnRamp} */
|
|
@@ -126,10 +158,8 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
126
158
|
getOffRampsForRouter(router: string, sourceChainSelector: bigint): Promise<string[]>;
|
|
127
159
|
/** {@inheritDoc Chain.getOnRampForRouter} */
|
|
128
160
|
getOnRampForRouter(router: string, _destChainSelector: bigint): Promise<string>;
|
|
129
|
-
/** {@inheritDoc Chain.
|
|
130
|
-
|
|
131
|
-
/** {@inheritDoc Chain.getCommitStoreForOffRamp} */
|
|
132
|
-
getCommitStoreForOffRamp(offRamp: string): Promise<string>;
|
|
161
|
+
/** {@inheritDoc Chain.getOnRampsForOffRamp} */
|
|
162
|
+
getOnRampsForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string[]>;
|
|
133
163
|
/**
|
|
134
164
|
* {@inheritDoc Chain.getTokenForTokenPool}
|
|
135
165
|
* @throws {@link CCIPTokenPoolInfoNotFoundError} if token pool info not found
|
|
@@ -234,7 +264,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
234
264
|
/** {@inheritDoc Chain.getOffchainTokenData} */
|
|
235
265
|
getOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
|
|
236
266
|
/**
|
|
237
|
-
* {@inheritDoc Chain.
|
|
267
|
+
* {@inheritDoc Chain.generateUnsignedExecute}
|
|
238
268
|
* @returns instructions - array of instructions to execute the report
|
|
239
269
|
* lookupTables - array of lookup tables for `manuallyExecute` call
|
|
240
270
|
* mainIndex - index of the `manuallyExecute` instruction in the array; last unless
|
|
@@ -242,12 +272,12 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
242
272
|
* second to last
|
|
243
273
|
* @throws {@link CCIPExecutionReportChainMismatchError} if message is not a Solana message
|
|
244
274
|
*/
|
|
245
|
-
|
|
275
|
+
generateUnsignedExecute({ payer, ...opts }: Parameters<Chain['generateUnsignedExecute']>[0]): Promise<UnsignedSolanaTx>;
|
|
246
276
|
/**
|
|
247
|
-
* {@inheritDoc Chain.
|
|
277
|
+
* {@inheritDoc Chain.execute}
|
|
248
278
|
* @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
|
|
249
279
|
*/
|
|
250
|
-
|
|
280
|
+
execute(opts: Parameters<Chain['execute']>[0] & {
|
|
251
281
|
waitDeactivation?: boolean;
|
|
252
282
|
}): Promise<CCIPExecution>;
|
|
253
283
|
/**
|
|
@@ -269,6 +299,35 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
269
299
|
* @returns Parsed data or undefined.
|
|
270
300
|
*/
|
|
271
301
|
static parse(data: unknown): {
|
|
302
|
+
messageId: string;
|
|
303
|
+
destChainSelector: bigint;
|
|
304
|
+
sender: string;
|
|
305
|
+
feeToken: string;
|
|
306
|
+
tokenAmountBeforeTokenPoolFees: bigint;
|
|
307
|
+
encodedMessage: string;
|
|
308
|
+
receipts: readonly {
|
|
309
|
+
issuer: string;
|
|
310
|
+
destGasLimit: bigint;
|
|
311
|
+
destBytesOverhead: bigint;
|
|
312
|
+
feeTokenAmount: bigint;
|
|
313
|
+
extraArgs: string;
|
|
314
|
+
}[];
|
|
315
|
+
verifierBlobs: readonly string[];
|
|
316
|
+
data: string;
|
|
317
|
+
sourceChainSelector: bigint;
|
|
318
|
+
receiver: string;
|
|
319
|
+
onRampAddress: string;
|
|
320
|
+
messageNumber: bigint;
|
|
321
|
+
executionGasLimit: number;
|
|
322
|
+
ccipReceiveGasLimit: number;
|
|
323
|
+
finality: number;
|
|
324
|
+
ccvAndExecutorHash: string;
|
|
325
|
+
offRampAddress: string;
|
|
326
|
+
destBlob: string;
|
|
327
|
+
tokenAmounts: import("../evm/messages.ts").MessageV1["tokenTransfer"];
|
|
328
|
+
sequenceNumber: import("../evm/messages.ts").MessageV1["messageNumber"];
|
|
329
|
+
feeTokenAmount: bigint;
|
|
330
|
+
} | {
|
|
272
331
|
sourceChainSelector: bigint;
|
|
273
332
|
sender: string;
|
|
274
333
|
receiver: string;
|
|
@@ -299,7 +358,7 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
299
358
|
/**
|
|
300
359
|
* Solana specialization: use getProgramAccounts to fetch commit reports from PDAs
|
|
301
360
|
*/
|
|
302
|
-
|
|
361
|
+
getVerifications(opts: Parameters<Chain['getVerifications']>[0]): Promise<CCIPVerifications>;
|
|
303
362
|
/** {@inheritDoc Chain.getExecutionReceipts} */
|
|
304
363
|
getExecutionReceipts(opts: Parameters<Chain['getExecutionReceipts']>[0]): AsyncIterableIterator<CCIPExecution>;
|
|
305
364
|
/**
|
|
@@ -356,7 +415,11 @@ export declare class SolanaChain extends Chain<typeof ChainFamily.Solana> {
|
|
|
356
415
|
feeAggregator: PublicKey;
|
|
357
416
|
}>;
|
|
358
417
|
/**
|
|
359
|
-
*
|
|
418
|
+
* Returns a copy of a message, populating missing fields like `extraArgs` with defaults.
|
|
419
|
+
* It's expected to return a message suitable at least for basic token transfers.
|
|
420
|
+
*
|
|
421
|
+
* @param message - AnyMessage (from source), containing at least `receiver`
|
|
422
|
+
* @returns A message suitable for `sendMessage` to this destination chain family
|
|
360
423
|
* @throws {@link CCIPArgumentInvalidError} if tokenReceiver missing when sending tokens with data
|
|
361
424
|
*/
|
|
362
425
|
static buildMessageForDest(message: Parameters<ChainStatic['buildMessageForDest']>[0]): AnyMessage & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,4BAA4B,EACjC,UAAU,EACV,SAAS,EAGV,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,KAAK,SAAS,EASf,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,EACN,MAAM,aAAa,CAAA;AA0BpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/solana/index.ts"],"names":[],"mappings":"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"}
|
package/dist/solana/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { EVMExtraArgsV2Tag, } from "../extra-args.js";
|
|
|
11
11
|
import SELECTORS from "../selectors.js";
|
|
12
12
|
import { supportedChains } from "../supported-chains.js";
|
|
13
13
|
import { CCIPVersion, ChainFamily, ExecutionState, } from "../types.js";
|
|
14
|
-
import { bytesToBuffer, createRateLimitedFetch, decodeAddress, decodeOnRampAddress, getDataBytes, leToBigInt, networkInfo, parseTypeAndVersion, toLeArray, util, } from "../utils.js";
|
|
14
|
+
import { bytesToBuffer, createRateLimitedFetch, decodeAddress, decodeOnRampAddress, getAddressBytes, getDataBytes, leToBigInt, networkInfo, parseTypeAndVersion, toLeArray, util, } from "../utils.js";
|
|
15
15
|
import { cleanUpBuffers } from "./cleanup.js";
|
|
16
16
|
import { generateUnsignedExecuteReport } from "./exec.js";
|
|
17
17
|
import { getV16SolanaLeafHasher } from "./hasher.js";
|
|
@@ -27,7 +27,7 @@ import { isWallet } from "./types.js";
|
|
|
27
27
|
import { convertRateLimiter, getErrorFromLogs, hexDiscriminator, parseSolanaLogs, resolveATA, simulateAndSendTxs, simulationProvider, } from "./utils.js";
|
|
28
28
|
import { buildMessageForDest, getMessagesInBatch } from "../requests.js";
|
|
29
29
|
import { patchBorsh } from "./patchBorsh.js";
|
|
30
|
-
import { DEFAULT_GAS_LIMIT } from "../
|
|
30
|
+
import { DEFAULT_GAS_LIMIT } from "../shared/constants.js";
|
|
31
31
|
const routerCoder = new BorshCoder(CCIP_ROUTER_IDL);
|
|
32
32
|
const offrampCoder = new BorshCoder(CCIP_OFFRAMP_IDL);
|
|
33
33
|
const TOKEN_POOL_IDL = {
|
|
@@ -50,6 +50,29 @@ const unknownTokens = {
|
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* Solana chain implementation supporting Solana networks.
|
|
53
|
+
*
|
|
54
|
+
* Provides methods for sending CCIP cross-chain messages, querying message
|
|
55
|
+
* status, fetching fee quotes, and manually executing pending messages on
|
|
56
|
+
* Solana networks.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* Solana uses CCIP v1.6+ protocol only.
|
|
60
|
+
*
|
|
61
|
+
* @example Create from RPC URL
|
|
62
|
+
* ```typescript
|
|
63
|
+
* import { SolanaChain } from '@chainlink/ccip-sdk'
|
|
64
|
+
*
|
|
65
|
+
* const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
|
|
66
|
+
* console.log(`Connected to: ${chain.network.name}`)
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @example Query messages in a transaction
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const requests = await chain.getMessagesInTx('5abc123...')
|
|
72
|
+
* for (const req of requests) {
|
|
73
|
+
* console.log(`Message ID: ${req.message.messageId}`)
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
53
76
|
*/
|
|
54
77
|
export class SolanaChain extends Chain {
|
|
55
78
|
static {
|
|
@@ -141,9 +164,20 @@ export class SolanaChain extends Chain {
|
|
|
141
164
|
}
|
|
142
165
|
/**
|
|
143
166
|
* Creates a SolanaChain instance from an RPC URL.
|
|
144
|
-
*
|
|
145
|
-
* @param
|
|
146
|
-
* @
|
|
167
|
+
*
|
|
168
|
+
* @param url - RPC endpoint URL (https://, http://, wss://, or ws://).
|
|
169
|
+
* @param ctx - Optional context containing logger and API client configuration.
|
|
170
|
+
* @returns A new SolanaChain instance connected to the specified network.
|
|
171
|
+
* @throws {@link CCIPChainNotFoundError} if chain cannot be identified from genesis hash
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* // Create from devnet URL
|
|
176
|
+
* const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
|
|
177
|
+
*
|
|
178
|
+
* // With custom logger
|
|
179
|
+
* const chain = await SolanaChain.fromUrl(url, { logger: customLogger })
|
|
180
|
+
* ```
|
|
147
181
|
*/
|
|
148
182
|
static async fromUrl(url, ctx) {
|
|
149
183
|
const connection = this._getConnection(url, ctx);
|
|
@@ -286,7 +320,7 @@ export class SolanaChain extends Chain {
|
|
|
286
320
|
}
|
|
287
321
|
}
|
|
288
322
|
/** {@inheritDoc Chain.getMessagesInBatch} */
|
|
289
|
-
async getMessagesInBatch(request,
|
|
323
|
+
async getMessagesInBatch(request, range, opts) {
|
|
290
324
|
const [destChainStatePda] = PublicKey.findProgramAddressSync([Buffer.from('dest_chain_state'), toLeArray(request.lane.destChainSelector, 8)], new PublicKey(request.log.address));
|
|
291
325
|
// getMessagesInBatch pass opts back to getLogs; use it to narrow getLogs filter only to
|
|
292
326
|
// txs touching destChainStatePda
|
|
@@ -295,7 +329,7 @@ export class SolanaChain extends Chain {
|
|
|
295
329
|
programs: [request.log.address],
|
|
296
330
|
address: destChainStatePda.toBase58(),
|
|
297
331
|
};
|
|
298
|
-
return getMessagesInBatch(this, request,
|
|
332
|
+
return getMessagesInBatch(this, request, range, opts_);
|
|
299
333
|
}
|
|
300
334
|
/** {@inheritDoc Chain.typeAndVersion} */
|
|
301
335
|
async typeAndVersion(address) {
|
|
@@ -358,19 +392,17 @@ export class SolanaChain extends Chain {
|
|
|
358
392
|
getOnRampForRouter(router, _destChainSelector) {
|
|
359
393
|
return Promise.resolve(router); // solana's Router is also the OnRamp
|
|
360
394
|
}
|
|
361
|
-
/** {@inheritDoc Chain.
|
|
362
|
-
async
|
|
395
|
+
/** {@inheritDoc Chain.getOnRampsForOffRamp} */
|
|
396
|
+
async getOnRampsForOffRamp(offRamp, sourceChainSelector) {
|
|
363
397
|
const program = new Program(CCIP_OFFRAMP_IDL, new PublicKey(offRamp), {
|
|
364
398
|
connection: this.connection,
|
|
365
399
|
});
|
|
366
400
|
const [statePda] = PublicKey.findProgramAddressSync([Buffer.from('source_chain_state'), toLeArray(sourceChainSelector, 8)], program.programId);
|
|
367
401
|
// Decode the config account using the program's coder
|
|
368
402
|
const { config: { onRamp }, } = await program.account.sourceChain.fetch(statePda);
|
|
369
|
-
return
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
getCommitStoreForOffRamp(offRamp) {
|
|
373
|
-
return Promise.resolve(offRamp); // Solana supports only CCIP>=1.6, for which OffRamp and CommitStore are the same
|
|
403
|
+
return [
|
|
404
|
+
decodeAddress(getAddressBytes(onRamp.bytes).subarray(0, onRamp.len), networkInfo(sourceChainSelector).family),
|
|
405
|
+
];
|
|
374
406
|
}
|
|
375
407
|
/**
|
|
376
408
|
* {@inheritDoc Chain.getTokenForTokenPool}
|
|
@@ -816,7 +848,7 @@ export class SolanaChain extends Chain {
|
|
|
816
848
|
return fetchSolanaOffchainTokenData(request, this);
|
|
817
849
|
}
|
|
818
850
|
/**
|
|
819
|
-
* {@inheritDoc Chain.
|
|
851
|
+
* {@inheritDoc Chain.generateUnsignedExecute}
|
|
820
852
|
* @returns instructions - array of instructions to execute the report
|
|
821
853
|
* lookupTables - array of lookup tables for `manuallyExecute` call
|
|
822
854
|
* mainIndex - index of the `manuallyExecute` instruction in the array; last unless
|
|
@@ -824,24 +856,25 @@ export class SolanaChain extends Chain {
|
|
|
824
856
|
* second to last
|
|
825
857
|
* @throws {@link CCIPExecutionReportChainMismatchError} if message is not a Solana message
|
|
826
858
|
*/
|
|
827
|
-
async
|
|
828
|
-
if (!('computeUnits' in
|
|
859
|
+
async generateUnsignedExecute({ payer, ...opts }) {
|
|
860
|
+
if (!('input' in opts) || !('message' in opts.input) || !('computeUnits' in opts.input.message))
|
|
829
861
|
throw new CCIPExecutionReportChainMismatchError('Solana');
|
|
830
|
-
const
|
|
862
|
+
const { offRamp, input } = opts;
|
|
863
|
+
const execReport_ = input;
|
|
831
864
|
return generateUnsignedExecuteReport(this, new PublicKey(payer), new PublicKey(offRamp), execReport_, opts);
|
|
832
865
|
}
|
|
833
866
|
/**
|
|
834
|
-
* {@inheritDoc Chain.
|
|
867
|
+
* {@inheritDoc Chain.execute}
|
|
835
868
|
* @throws {@link CCIPWalletInvalidError} if wallet is not a valid Solana wallet
|
|
836
869
|
*/
|
|
837
|
-
async
|
|
870
|
+
async execute(opts) {
|
|
838
871
|
const wallet = opts.wallet;
|
|
839
872
|
if (!isWallet(wallet))
|
|
840
873
|
throw new CCIPWalletInvalidError(util.inspect(wallet));
|
|
841
874
|
let hash;
|
|
842
875
|
do {
|
|
843
876
|
try {
|
|
844
|
-
const unsigned = await this.
|
|
877
|
+
const unsigned = await this.generateUnsignedExecute({
|
|
845
878
|
...opts,
|
|
846
879
|
payer: wallet.publicKey.toBase58(),
|
|
847
880
|
});
|
|
@@ -926,9 +959,9 @@ export class SolanaChain extends Chain {
|
|
|
926
959
|
/**
|
|
927
960
|
* Solana specialization: use getProgramAccounts to fetch commit reports from PDAs
|
|
928
961
|
*/
|
|
929
|
-
async
|
|
930
|
-
const {
|
|
931
|
-
const commitsAroundSeqNum = await this.connection.getProgramAccounts(new PublicKey(
|
|
962
|
+
async getVerifications(opts) {
|
|
963
|
+
const { offRamp, request } = opts;
|
|
964
|
+
const commitsAroundSeqNum = await this.connection.getProgramAccounts(new PublicKey(offRamp), {
|
|
932
965
|
filters: [
|
|
933
966
|
{
|
|
934
967
|
// commit report account discriminator filter
|
|
@@ -963,7 +996,7 @@ export class SolanaChain extends Chain {
|
|
|
963
996
|
// we have all the commit report info, but we also need log details (txHash, etc)
|
|
964
997
|
for await (const log of this.getLogs({
|
|
965
998
|
startTime: 1, // just to force getting the oldest log first
|
|
966
|
-
programs: [
|
|
999
|
+
programs: [offRamp],
|
|
967
1000
|
address: acc.pubkey.toBase58(),
|
|
968
1001
|
topics: ['CommitReportAccepted'],
|
|
969
1002
|
})) {
|
|
@@ -974,18 +1007,18 @@ export class SolanaChain extends Chain {
|
|
|
974
1007
|
}
|
|
975
1008
|
}
|
|
976
1009
|
// in case we can't find it, fallback to generic iterating txs
|
|
977
|
-
return super.
|
|
1010
|
+
return super.getVerifications(opts);
|
|
978
1011
|
}
|
|
979
1012
|
/** {@inheritDoc Chain.getExecutionReceipts} */
|
|
980
1013
|
async *getExecutionReceipts(opts) {
|
|
981
|
-
const { offRamp, sourceChainSelector,
|
|
1014
|
+
const { offRamp, sourceChainSelector, verifications } = opts;
|
|
982
1015
|
let opts_ = opts;
|
|
983
|
-
if (
|
|
1016
|
+
if (sourceChainSelector && verifications && 'report' in verifications) {
|
|
984
1017
|
// if we know of commit, use `commit_report` PDA as more specialized address
|
|
985
1018
|
const [commitReportPda] = PublicKey.findProgramAddressSync([
|
|
986
1019
|
Buffer.from('commit_report'),
|
|
987
1020
|
toLeArray(sourceChainSelector, 8),
|
|
988
|
-
bytesToBuffer(
|
|
1021
|
+
bytesToBuffer(verifications.report.merkleRoot),
|
|
989
1022
|
], new PublicKey(offRamp));
|
|
990
1023
|
opts_ = {
|
|
991
1024
|
...opts,
|
|
@@ -1210,7 +1243,11 @@ export class SolanaChain extends Chain {
|
|
|
1210
1243
|
return program.account.config.fetch(configPda);
|
|
1211
1244
|
}
|
|
1212
1245
|
/**
|
|
1213
|
-
*
|
|
1246
|
+
* Returns a copy of a message, populating missing fields like `extraArgs` with defaults.
|
|
1247
|
+
* It's expected to return a message suitable at least for basic token transfers.
|
|
1248
|
+
*
|
|
1249
|
+
* @param message - AnyMessage (from source), containing at least `receiver`
|
|
1250
|
+
* @returns A message suitable for `sendMessage` to this destination chain family
|
|
1214
1251
|
* @throws {@link CCIPArgumentInvalidError} if tokenReceiver missing when sending tokens with data
|
|
1215
1252
|
*/
|
|
1216
1253
|
static buildMessageForDest(message) {
|