@chainlink/ccip-sdk 1.0.0 → 1.1.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.
Files changed (91) hide show
  1. package/dist/api/index.d.ts +4 -4
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +110 -11
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/types.d.ts +34 -0
  6. package/dist/api/types.d.ts.map +1 -1
  7. package/dist/chain.d.ts +93 -4
  8. package/dist/chain.d.ts.map +1 -1
  9. package/dist/chain.js +78 -8
  10. package/dist/chain.js.map +1 -1
  11. package/dist/errors/codes.d.ts +1 -1
  12. package/dist/errors/codes.d.ts.map +1 -1
  13. package/dist/errors/codes.js +2 -1
  14. package/dist/errors/codes.js.map +1 -1
  15. package/dist/errors/index.d.ts +2 -2
  16. package/dist/errors/index.d.ts.map +1 -1
  17. package/dist/errors/index.js +2 -2
  18. package/dist/errors/index.js.map +1 -1
  19. package/dist/errors/recovery.js +1 -1
  20. package/dist/errors/recovery.js.map +1 -1
  21. package/dist/errors/specialized.d.ts +22 -19
  22. package/dist/errors/specialized.d.ts.map +1 -1
  23. package/dist/errors/specialized.js +30 -25
  24. package/dist/errors/specialized.js.map +1 -1
  25. package/dist/evm/abi/OffRamp_2_0.d.ts +24 -12
  26. package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -1
  27. package/dist/evm/abi/OffRamp_2_0.js +16 -8
  28. package/dist/evm/abi/OffRamp_2_0.js.map +1 -1
  29. package/dist/evm/abi/TokenPool_2_0.d.ts +1552 -0
  30. package/dist/evm/abi/TokenPool_2_0.d.ts.map +1 -0
  31. package/dist/evm/abi/TokenPool_2_0.js +1637 -0
  32. package/dist/evm/abi/TokenPool_2_0.js.map +1 -0
  33. package/dist/evm/const.d.ts +1 -0
  34. package/dist/evm/const.d.ts.map +1 -1
  35. package/dist/evm/const.js +2 -0
  36. package/dist/evm/const.js.map +1 -1
  37. package/dist/evm/index.d.ts +10 -4
  38. package/dist/evm/index.d.ts.map +1 -1
  39. package/dist/evm/index.js +138 -41
  40. package/dist/evm/index.js.map +1 -1
  41. package/dist/evm/messages.d.ts +2 -33
  42. package/dist/evm/messages.d.ts.map +1 -1
  43. package/dist/evm/messages.js +0 -210
  44. package/dist/evm/messages.js.map +1 -1
  45. package/dist/gas.d.ts +4 -0
  46. package/dist/gas.d.ts.map +1 -1
  47. package/dist/gas.js +27 -21
  48. package/dist/gas.js.map +1 -1
  49. package/dist/index.d.ts +2 -2
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +1 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/messages.d.ts +34 -0
  54. package/dist/messages.d.ts.map +1 -0
  55. package/dist/messages.js +211 -0
  56. package/dist/messages.js.map +1 -0
  57. package/dist/solana/cleanup.js +2 -2
  58. package/dist/solana/cleanup.js.map +1 -1
  59. package/dist/solana/exec.js +1 -1
  60. package/dist/solana/exec.js.map +1 -1
  61. package/dist/solana/index.d.ts +19 -19
  62. package/dist/solana/index.d.ts.map +1 -1
  63. package/dist/solana/index.js +14 -0
  64. package/dist/solana/index.js.map +1 -1
  65. package/dist/sui/index.d.ts.map +1 -1
  66. package/dist/sui/index.js +14 -1
  67. package/dist/sui/index.js.map +1 -1
  68. package/dist/ton/index.d.ts.map +1 -1
  69. package/dist/ton/index.js +3 -1
  70. package/dist/ton/index.js.map +1 -1
  71. package/package.json +5 -5
  72. package/src/api/index.ts +126 -11
  73. package/src/api/types.ts +43 -0
  74. package/src/chain.ts +131 -11
  75. package/src/errors/codes.ts +2 -1
  76. package/src/errors/index.ts +1 -1
  77. package/src/errors/recovery.ts +1 -1
  78. package/src/errors/specialized.ts +35 -30
  79. package/src/evm/abi/OffRamp_2_0.ts +16 -8
  80. package/src/evm/abi/TokenPool_2_0.ts +1636 -0
  81. package/src/evm/const.ts +2 -0
  82. package/src/evm/index.ts +230 -75
  83. package/src/evm/messages.ts +3 -285
  84. package/src/gas.ts +27 -19
  85. package/src/index.ts +2 -1
  86. package/src/messages.ts +278 -0
  87. package/src/solana/cleanup.ts +2 -2
  88. package/src/solana/exec.ts +1 -1
  89. package/src/solana/index.ts +17 -0
  90. package/src/sui/index.ts +17 -0
  91. package/src/ton/index.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evm/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { AbiParameterToPrimitiveType, AbiParametersToPrimitiveTypes, ExtractAbiEvent } from 'abitype';
2
- import { type Addressable, type BytesLike } from 'ethers';
2
+ import type { Addressable } from 'ethers';
3
3
  import type { Simplify } from 'type-fest';
4
4
  import type { EVMExtraArgsV2 } from '../extra-args.ts';
5
5
  import type { CCIPVersion, MergeArrayElements } from '../types.ts';
6
6
  import type EVM2EVMOnRamp_1_5_ABI from './abi/OnRamp_1_5.ts';
7
7
  import type OnRamp_1_6_ABI from './abi/OnRamp_1_6.ts';
8
8
  import type OnRamp_2_0_ABI from './abi/OnRamp_2_0.ts';
9
+ import type { MessageV1 } from '../messages.ts';
9
10
  /** Utility type that cleans up address types to just `string`. */
10
11
  export type CleanAddressable<T> = T extends string | Addressable ? string : T extends {
11
12
  [K: string]: unknown;
@@ -16,38 +17,6 @@ export type CleanAddressable<T> = T extends string | Addressable ? string : T ex
16
17
  } | readonly [...unknown[]] ? {
17
18
  readonly [K in keyof T]: CleanAddressable<T[K]>;
18
19
  } : T;
19
- /** Token transfer in MessageV1 format. */
20
- export type TokenTransferV1 = {
21
- amount: bigint;
22
- sourcePoolAddress: string;
23
- sourceTokenAddress: string;
24
- destTokenAddress: string;
25
- tokenReceiver: string;
26
- extraData: string;
27
- };
28
- /** MessageV1 struct matching the Solidity MessageV1Codec format. */
29
- export type MessageV1 = {
30
- sourceChainSelector: bigint;
31
- destChainSelector: bigint;
32
- messageNumber: bigint;
33
- executionGasLimit: number;
34
- ccipReceiveGasLimit: number;
35
- finality: number;
36
- ccvAndExecutorHash: string;
37
- onRampAddress: string;
38
- offRampAddress: string;
39
- sender: string;
40
- receiver: string;
41
- destBlob: string;
42
- tokenTransfer: readonly TokenTransferV1[];
43
- data: string;
44
- };
45
- /**
46
- * Decodes a MessageV1 from bytes following the v1 protocol format.
47
- * @param encodedMessage - The encoded message bytes to decode.
48
- * @returns The decoded MessageV1 struct.
49
- */
50
- export declare function decodeMessageV1(encodedMessage: BytesLike): MessageV1;
51
20
  type EVM2AnyMessageRequested = CleanAddressable<AbiParametersToPrimitiveTypes<ExtractAbiEvent<typeof EVM2EVMOnRamp_1_5_ABI, 'CCIPSendRequested'>['inputs']>[0]>;
52
21
  type CCIPMessageSent = CleanAddressable<AbiParametersToPrimitiveTypes<ExtractAbiEvent<typeof OnRamp_1_6_ABI, 'CCIPMessageSent'>['inputs']>[2]>;
53
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/evm/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/evm/messages.ts"],"names":[],"mappings":"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"}
@@ -1,214 +1,4 @@
1
- import { dataSlice, hexlify, toBigInt, toNumber, } from 'ethers';
2
- import { CCIPMessageDecodeError } from "../errors/index.js";
3
- import { decodeAddress, getDataBytes, networkInfo } from "../utils.js";
4
1
  import { defaultAbiCoder } from "./const.js";
5
- /**
6
- * Decodes a TokenTransferV1 from bytes.
7
- * @param encoded - The encoded bytes.
8
- * @param offset - The starting offset.
9
- * @param sourceFamily - The source chain family for source addresses.
10
- * @param destFamily - The destination chain family for dest addresses.
11
- * @returns The decoded token transfer and the new offset.
12
- */
13
- function decodeTokenTransferV1(encoded, offset, sourceFamily, destFamily) {
14
- // version (1 byte)
15
- if (offset >= encoded.length)
16
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_VERSION');
17
- const version = encoded[offset++];
18
- if (version !== 1)
19
- throw new CCIPMessageDecodeError(`Invalid encoding version: ${version}`);
20
- // amount (32 bytes)
21
- if (offset + 32 > encoded.length)
22
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_AMOUNT');
23
- const amount = toBigInt(dataSlice(encoded, offset, offset + 32));
24
- offset += 32;
25
- // sourcePoolAddressLength and sourcePoolAddress
26
- if (offset >= encoded.length) {
27
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_SOURCE_POOL_LENGTH');
28
- }
29
- const sourcePoolAddressLength = encoded[offset++];
30
- if (offset + sourcePoolAddressLength > encoded.length) {
31
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_SOURCE_POOL_CONTENT');
32
- }
33
- const sourcePoolAddress = decodeAddress(dataSlice(encoded, offset, offset + sourcePoolAddressLength), sourceFamily);
34
- offset += sourcePoolAddressLength;
35
- // sourceTokenAddressLength and sourceTokenAddress
36
- if (offset >= encoded.length) {
37
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_SOURCE_TOKEN_LENGTH');
38
- }
39
- const sourceTokenAddressLength = encoded[offset++];
40
- if (offset + sourceTokenAddressLength > encoded.length) {
41
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_SOURCE_TOKEN_CONTENT');
42
- }
43
- const sourceTokenAddress = decodeAddress(dataSlice(encoded, offset, offset + sourceTokenAddressLength), sourceFamily);
44
- offset += sourceTokenAddressLength;
45
- // destTokenAddressLength and destTokenAddress
46
- if (offset >= encoded.length) {
47
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_DEST_TOKEN_LENGTH');
48
- }
49
- const destTokenAddressLength = encoded[offset++];
50
- if (offset + destTokenAddressLength > encoded.length) {
51
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_DEST_TOKEN_CONTENT');
52
- }
53
- const destTokenAddress = decodeAddress(dataSlice(encoded, offset, offset + destTokenAddressLength), destFamily);
54
- offset += destTokenAddressLength;
55
- // tokenReceiverLength and tokenReceiver
56
- if (offset >= encoded.length) {
57
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_TOKEN_RECEIVER_LENGTH');
58
- }
59
- const tokenReceiverLength = encoded[offset++];
60
- if (offset + tokenReceiverLength > encoded.length) {
61
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_TOKEN_RECEIVER_CONTENT');
62
- }
63
- const tokenReceiver = decodeAddress(dataSlice(encoded, offset, offset + tokenReceiverLength), destFamily);
64
- offset += tokenReceiverLength;
65
- // extraDataLength and extraData
66
- if (offset + 2 > encoded.length) {
67
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_EXTRA_DATA_LENGTH');
68
- }
69
- const extraDataLength = toNumber(dataSlice(encoded, offset, offset + 2));
70
- offset += 2;
71
- if (offset + extraDataLength > encoded.length) {
72
- throw new CCIPMessageDecodeError('TOKEN_TRANSFER_EXTRA_DATA_CONTENT');
73
- }
74
- const extraData = hexlify(dataSlice(encoded, offset, offset + extraDataLength));
75
- offset += extraDataLength;
76
- return {
77
- tokenTransfer: {
78
- amount,
79
- sourcePoolAddress,
80
- sourceTokenAddress,
81
- destTokenAddress,
82
- tokenReceiver,
83
- extraData,
84
- },
85
- newOffset: offset,
86
- };
87
- }
88
- /**
89
- * Decodes a MessageV1 from bytes following the v1 protocol format.
90
- * @param encodedMessage - The encoded message bytes to decode.
91
- * @returns The decoded MessageV1 struct.
92
- */
93
- export function decodeMessageV1(encodedMessage) {
94
- const MESSAGE_V1_BASE_SIZE = 77;
95
- const encoded = getDataBytes(encodedMessage);
96
- if (encoded.length < MESSAGE_V1_BASE_SIZE)
97
- throw new CCIPMessageDecodeError('MESSAGE_MIN_SIZE');
98
- const version = encoded[0];
99
- if (version !== 1)
100
- throw new CCIPMessageDecodeError(`Invalid encoding version: ${version}`);
101
- // sourceChainSelector (8 bytes, big endian)
102
- const sourceChainSelector = toBigInt(dataSlice(encoded, 1, 9));
103
- // destChainSelector (8 bytes, big endian)
104
- const destChainSelector = toBigInt(dataSlice(encoded, 9, 17));
105
- // Get chain families for address decoding
106
- const sourceNetworkInfo = networkInfo(sourceChainSelector);
107
- const destNetworkInfo = networkInfo(destChainSelector);
108
- const sourceFamily = sourceNetworkInfo.family;
109
- const destFamily = destNetworkInfo.family;
110
- // messageNumber (8 bytes, big endian)
111
- const messageNumber = toBigInt(dataSlice(encoded, 17, 25));
112
- // executionGasLimit (4 bytes, big endian)
113
- const executionGasLimit = toNumber(dataSlice(encoded, 25, 29));
114
- // ccipReceiveGasLimit (4 bytes, big endian)
115
- const ccipReceiveGasLimit = toNumber(dataSlice(encoded, 29, 33));
116
- // finality (2 bytes, big endian)
117
- const finality = toNumber(dataSlice(encoded, 33, 35));
118
- // ccvAndExecutorHash (32 bytes)
119
- const ccvAndExecutorHash = hexlify(dataSlice(encoded, 35, 67));
120
- // onRampAddressLength and onRampAddress
121
- let offset = 67;
122
- if (offset >= encoded.length)
123
- throw new CCIPMessageDecodeError('MESSAGE_ONRAMP_ADDRESS_LENGTH');
124
- const onRampAddressLength = encoded[offset++];
125
- if (offset + onRampAddressLength > encoded.length) {
126
- throw new CCIPMessageDecodeError('MESSAGE_ONRAMP_ADDRESS_CONTENT');
127
- }
128
- const onRampAddress = decodeAddress(dataSlice(encoded, offset, offset + onRampAddressLength), sourceFamily);
129
- offset += onRampAddressLength;
130
- // offRampAddressLength and offRampAddress
131
- if (offset >= encoded.length)
132
- throw new CCIPMessageDecodeError('MESSAGE_OFFRAMP_ADDRESS_LENGTH');
133
- const offRampAddressLength = encoded[offset++];
134
- if (offset + offRampAddressLength > encoded.length) {
135
- throw new CCIPMessageDecodeError('MESSAGE_OFFRAMP_ADDRESS_CONTENT');
136
- }
137
- const offRampAddress = decodeAddress(dataSlice(encoded, offset, offset + offRampAddressLength), destFamily);
138
- offset += offRampAddressLength;
139
- // senderLength and sender
140
- if (offset >= encoded.length)
141
- throw new CCIPMessageDecodeError('MESSAGE_SENDER_LENGTH');
142
- const senderLength = encoded[offset++];
143
- if (offset + senderLength > encoded.length) {
144
- throw new CCIPMessageDecodeError('MESSAGE_SENDER_CONTENT');
145
- }
146
- const sender = decodeAddress(dataSlice(encoded, offset, offset + senderLength), sourceFamily);
147
- offset += senderLength;
148
- // receiverLength and receiver
149
- if (offset >= encoded.length)
150
- throw new CCIPMessageDecodeError('MESSAGE_RECEIVER_LENGTH');
151
- const receiverLength = encoded[offset++];
152
- if (offset + receiverLength > encoded.length) {
153
- throw new CCIPMessageDecodeError('MESSAGE_RECEIVER_CONTENT');
154
- }
155
- const receiver = decodeAddress(dataSlice(encoded, offset, offset + receiverLength), destFamily);
156
- offset += receiverLength;
157
- // destBlobLength and destBlob
158
- if (offset + 2 > encoded.length)
159
- throw new CCIPMessageDecodeError('MESSAGE_DEST_BLOB_LENGTH');
160
- const destBlobLength = toNumber(dataSlice(encoded, offset, offset + 2));
161
- offset += 2;
162
- if (offset + destBlobLength > encoded.length) {
163
- throw new CCIPMessageDecodeError('MESSAGE_DEST_BLOB_CONTENT');
164
- }
165
- const destBlob = hexlify(dataSlice(encoded, offset, offset + destBlobLength));
166
- offset += destBlobLength;
167
- // tokenTransferLength and tokenTransfer
168
- if (offset + 2 > encoded.length)
169
- throw new CCIPMessageDecodeError('MESSAGE_TOKEN_TRANSFER_LENGTH');
170
- const tokenTransferLength = toNumber(dataSlice(encoded, offset, offset + 2));
171
- offset += 2;
172
- // Decode token transfer, which is either 0 or 1
173
- const tokenTransfer = [];
174
- if (tokenTransferLength > 0) {
175
- const expectedEnd = offset + tokenTransferLength;
176
- const result = decodeTokenTransferV1(encoded, offset, sourceFamily, destFamily);
177
- tokenTransfer.push(result.tokenTransfer);
178
- offset = result.newOffset;
179
- if (offset !== expectedEnd)
180
- throw new CCIPMessageDecodeError('MESSAGE_TOKEN_TRANSFER_CONTENT');
181
- }
182
- // dataLength and data
183
- if (offset + 2 > encoded.length)
184
- throw new CCIPMessageDecodeError('MESSAGE_DATA_LENGTH');
185
- const dataLength = toNumber(dataSlice(encoded, offset, offset + 2));
186
- offset += 2;
187
- if (offset + dataLength > encoded.length) {
188
- throw new CCIPMessageDecodeError('MESSAGE_DATA_CONTENT');
189
- }
190
- const data = hexlify(dataSlice(encoded, offset, offset + dataLength));
191
- offset += dataLength;
192
- // Ensure we've consumed all bytes
193
- if (offset !== encoded.length)
194
- throw new CCIPMessageDecodeError('MESSAGE_FINAL_OFFSET');
195
- return {
196
- sourceChainSelector,
197
- destChainSelector,
198
- messageNumber,
199
- executionGasLimit,
200
- ccipReceiveGasLimit,
201
- finality,
202
- ccvAndExecutorHash,
203
- onRampAddress,
204
- offRampAddress,
205
- sender,
206
- receiver,
207
- destBlob,
208
- tokenTransfer,
209
- data,
210
- };
211
- }
212
2
  const SourceTokenData = 'tuple(bytes sourcePoolAddress, bytes destTokenAddress, bytes extraData, uint64 destGasAmount)';
213
3
  /**
214
4
  * Parses v1.5 and earlier `message.sourceTokenData`.
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/evm/messages.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAItE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAuC5C;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAC5B,OAAmB,EACnB,MAAc,EACd,YAAyB,EACzB,UAAuB;IAEvB,mBAAmB;IACnB,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,wBAAwB,CAAC,CAAA;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IAClC,IAAI,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;IAE3F,oBAAoB;IACpB,IAAI,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,CAAA;IAC3F,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAA;IAChE,MAAM,IAAI,EAAE,CAAA;IAEZ,gDAAgD;IAChD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IAClD,IAAI,MAAM,GAAG,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,iBAAiB,GAAG,aAAa,CACrC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,uBAAuB,CAAC,EAC5D,YAAY,CACb,CAAA;IACD,MAAM,IAAI,uBAAuB,CAAA;IAEjC,kDAAkD;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IACnD,IAAI,MAAM,GAAG,wBAAwB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,sBAAsB,CAAC,qCAAqC,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,kBAAkB,GAAG,aAAa,CACtC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,wBAAwB,CAAC,EAC7D,YAAY,CACb,CAAA;IACD,MAAM,IAAI,wBAAwB,CAAA;IAElC,8CAA8C;IAC9C,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,sBAAsB,CAAC,kCAAkC,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IACjD,IAAI,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,gBAAgB,GAAG,aAAa,CACpC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAAC,EAC3D,UAAU,CACX,CAAA;IACD,MAAM,IAAI,sBAAsB,CAAA;IAEhC,wCAAwC;IACxC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,sBAAsB,CAAC,sCAAsC,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IAC9C,IAAI,MAAM,GAAG,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,sBAAsB,CAAC,uCAAuC,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,aAAa,GAAG,aAAa,CACjC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,EACxD,UAAU,CACX,CAAA;IACD,MAAM,IAAI,mBAAmB,CAAA;IAE7B,gCAAgC;IAChC,IAAI,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,sBAAsB,CAAC,kCAAkC,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,IAAI,CAAC,CAAA;IACX,IAAI,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAA;IAC/E,MAAM,IAAI,eAAe,CAAA;IAEzB,OAAO;QACL,aAAa,EAAE;YACb,MAAM;YACN,iBAAiB;YACjB,kBAAkB;YAClB,gBAAgB;YAChB,aAAa;YACb,SAAS;SACV;QACD,SAAS,EAAE,MAAM;KAClB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,cAAyB;IACvD,MAAM,oBAAoB,GAAG,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAE5C,IAAI,OAAO,CAAC,MAAM,GAAG,oBAAoB;QAAE,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IAE/F,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IAC3B,IAAI,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;IAE3F,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9D,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAE7D,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;IACtD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAA;IAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAA;IAEzC,sCAAsC;IACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAE1D,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAE9D,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAEhE,iCAAiC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAErD,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAE9D,wCAAwC;IACxC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,+BAA+B,CAAC,CAAA;IAC/F,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IAC9C,IAAI,MAAM,GAAG,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,sBAAsB,CAAC,gCAAgC,CAAC,CAAA;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,aAAa,CACjC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,EACxD,YAAY,CACb,CAAA;IACD,MAAM,IAAI,mBAAmB,CAAA;IAE7B,0CAA0C;IAC1C,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,gCAAgC,CAAC,CAAA;IAChG,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IAC/C,IAAI,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,sBAAsB,CAAC,iCAAiC,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,cAAc,GAAG,aAAa,CAClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAC,EACzD,UAAU,CACX,CAAA;IACD,MAAM,IAAI,oBAAoB,CAAA;IAE9B,0BAA0B;IAC1B,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,CAAA;IACvF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IACvC,IAAI,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,sBAAsB,CAAC,wBAAwB,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;IAC7F,MAAM,IAAI,YAAY,CAAA;IAEtB,8BAA8B;IAC9B,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;IACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAE,CAAA;IACzC,IAAI,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;IAC/F,MAAM,IAAI,cAAc,CAAA;IAExB,8BAA8B;IAC9B,IAAI,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;IAC7F,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,CAAC,CAAA;IACX,IAAI,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAA;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAA;IAC7E,MAAM,IAAI,cAAc,CAAA;IAExB,wCAAwC;IACxC,IAAI,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,+BAA+B,CAAC,CAAA;IAClG,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,IAAI,CAAC,CAAA;IAEX,gDAAgD;IAChD,MAAM,aAAa,GAAsB,EAAE,CAAA;IAC3C,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,GAAG,mBAAmB,CAAA;QAChD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QAC/E,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACxC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAA;QACzB,IAAI,MAAM,KAAK,WAAW;YAAE,MAAM,IAAI,sBAAsB,CAAC,gCAAgC,CAAC,CAAA;IAChG,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAA;IACxF,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,IAAI,CAAC,CAAA;IACX,IAAI,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,sBAAsB,CAAC,sBAAsB,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAA;IACrE,MAAM,IAAI,UAAU,CAAA;IAEpB,kCAAkC;IAClC,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,sBAAsB,CAAC,sBAAsB,CAAC,CAAA;IAEvF,OAAO;QACL,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,QAAQ;QACR,kBAAkB;QAClB,aAAa;QACb,cAAc;QACd,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,IAAI;KACL,CAAA;AACH,CAAC;AAkED,MAAM,eAAe,GACnB,+FAA+F,CAAA;AASjG;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/D,OAAQ,OAAO,CAAC,CAAC,CAAY,CAAC,QAAQ,EAAqB,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/evm/messages.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA4E5C,MAAM,eAAe,GACnB,+FAA+F,CAAA;AASjG;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/D,OAAQ,OAAO,CAAC,CAAC,CAAY,CAAC,QAAQ,EAAqB,CAAA;AAC7D,CAAC"}
package/dist/gas.d.ts CHANGED
@@ -10,6 +10,10 @@ export type EstimateMessageInput = {
10
10
  messageId?: string;
11
11
  /** optional sender: zero address will be used if omitted */
12
12
  sender?: string;
13
+ /** optional onRampAddress */
14
+ onRampAddress?: string;
15
+ /** optional offRampAddress */
16
+ offRampAddress?: string;
13
17
  /** optional data: zero bytes will be used if omitted */
14
18
  data?: BytesLike;
15
19
  /**
package/dist/gas.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../src/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqC,MAAM,QAAQ,CAAA;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;QACvB,MAAM,EAAE,MAAM,CAAA;KACf,GAAG,CACA;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACjB;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CACvF,CAAC,EAAE,CAAA;CACL,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,uDAAuD;IACvD,MAAM,EAAE,KAAK,CAAA;IACb,+DAA+D;IAC/D,IAAI,EAAE,KAAK,CAAA;IACX,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,OAAO,EAAE,oBAAoB,CAAA;CAC9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE,4BAA4B,mBAgE9B"}
1
+ {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../src/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqC,MAAM,QAAQ,CAAA;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;QACvB,MAAM,EAAE,MAAM,CAAA;KACf,GAAG,CACA;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACjB;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CACvF,CAAC,EAAE,CAAA;CACL,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,uDAAuD;IACvD,MAAM,EAAE,KAAK,CAAA;IACb,+DAA+D;IAC/D,IAAI,EAAE,KAAK,CAAA;IACX,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,OAAO,EAAE,oBAAoB,CAAA;CAC9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE,4BAA4B,mBAoE9B"}
package/dist/gas.js CHANGED
@@ -37,29 +37,34 @@ export async function estimateReceiveExecution({ source, dest, routerOrRamp, mes
37
37
  if (!dest.estimateReceiveExecution)
38
38
  throw new CCIPMethodUnsupportedError(dest.constructor.name, 'estimateReceiveExecution');
39
39
  let onRamp, offRamp;
40
- try {
41
- const tnv = await source.typeAndVersion(routerOrRamp);
42
- if (!tnv[0].includes('OnRamp'))
43
- onRamp = await source.getOnRampForRouter(routerOrRamp, dest.network.chainSelector);
44
- else
45
- onRamp = routerOrRamp;
46
- offRamp = await discoverOffRamp(source, dest, onRamp, source);
47
- }
48
- catch (sourceErr) {
40
+ if (message.onRampAddress)
41
+ onRamp = message.onRampAddress;
42
+ if (message.offRampAddress)
43
+ offRamp = message.offRampAddress;
44
+ if (!onRamp || !offRamp)
49
45
  try {
50
- const tnv = await dest.typeAndVersion(routerOrRamp);
51
- if (!tnv[0].includes('OffRamp'))
52
- throw new CCIPContractTypeInvalidError(routerOrRamp, tnv[2], ['OffRamp']);
53
- offRamp = routerOrRamp;
54
- const onRamps = await dest.getOnRampsForOffRamp(offRamp, source.network.chainSelector);
55
- if (!onRamps.length)
56
- throw new CCIPOnRampRequiredError();
57
- onRamp = onRamps[onRamps.length - 1];
46
+ const tnv = await source.typeAndVersion(routerOrRamp);
47
+ if (!tnv[0].includes('OnRamp'))
48
+ onRamp = await source.getOnRampForRouter(routerOrRamp, dest.network.chainSelector);
49
+ else
50
+ onRamp = routerOrRamp;
51
+ offRamp = await discoverOffRamp(source, dest, onRamp, source);
58
52
  }
59
- catch {
60
- throw sourceErr; // re-throw original error
53
+ catch (sourceErr) {
54
+ try {
55
+ const tnv = await dest.typeAndVersion(routerOrRamp);
56
+ if (!tnv[0].includes('OffRamp'))
57
+ throw new CCIPContractTypeInvalidError(routerOrRamp, tnv[2], ['OffRamp']);
58
+ offRamp = routerOrRamp;
59
+ const onRamps = await dest.getOnRampsForOffRamp(offRamp, source.network.chainSelector);
60
+ if (!onRamps.length)
61
+ throw new CCIPOnRampRequiredError();
62
+ onRamp = onRamps[onRamps.length - 1];
63
+ }
64
+ catch {
65
+ throw sourceErr; // re-throw original error
66
+ }
61
67
  }
62
- }
63
68
  const destTokenAmounts = await Promise.all((message.tokenAmounts ?? []).map(async (ta) => {
64
69
  const tokenAmount = 'destTokenAddress' in ta
65
70
  ? ta
@@ -73,7 +78,8 @@ export async function estimateReceiveExecution({ source, dest, routerOrRamp, mes
73
78
  source.getTokenInfo(sourceTokenAddress),
74
79
  dest.getTokenInfo(tokenAmount.destTokenAddress),
75
80
  ]);
76
- const destAmount = (tokenAmount.amount * 10n ** BigInt(destDecimals)) / 10n ** BigInt(sourceDecimals);
81
+ const destAmount = (tokenAmount.amount * BigInt(10) ** BigInt(destDecimals)) /
82
+ BigInt(10) ** BigInt(sourceDecimals);
77
83
  if (destAmount === 0n)
78
84
  throw new CCIPTokenDecimalsInsufficientError(tokenAmount.destTokenAddress, destDecimals, dest.network.name, formatUnits(tokenAmount.amount, sourceDecimals));
79
85
  return { token: tokenAmount.destTokenAddress, amount: destAmount };
package/dist/gas.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gas.js","sourceRoot":"","sources":["../src/gas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gas.js","sourceRoot":"","sources":["../src/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG1E,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AA6C1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,OAAO,GACsB;IAC7B,IAAI,CAAC,IAAI,CAAC,wBAAwB;QAChC,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAA;IAEzF,IAAI,MAAc,EAAE,OAAe,CAAA;IACnC,IAAI,OAAO,CAAC,aAAa;QAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAA;IACzD,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAA;IAC5D,IAAI,CAAC,MAAO,IAAI,CAAC,OAAQ;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC5B,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;;gBAC/E,MAAM,GAAG,YAAY,CAAA;YAC1B,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;gBACnD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC7B,MAAM,IAAI,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC3E,OAAO,GAAG,YAAY,CAAA;gBACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBACtF,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,MAAM,IAAI,uBAAuB,EAAE,CAAA;gBACxD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,SAAS,CAAA,CAAC,0BAA0B;YAC5C,CAAC;QACH,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC5C,MAAM,WAAW,GACf,kBAAkB,IAAI,EAAE;YACtB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QACtF,MAAM,kBAAkB,GACtB,OAAO,IAAI,EAAE;YACX,CAAC,CAAC,EAAE,CAAC,KAAK;YACV,CAAC,CAAC,EAAE,CAAC,kBAAkB;gBACrB,CAAC,CAAC,EAAE,CAAC,kBAAkB;gBACvB,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;QACxE,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnF,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAChD,CAAC,CAAA;QACF,MAAM,UAAU,GACd,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAA;QACtC,IAAI,UAAU,KAAK,EAAE;YACnB,MAAM,IAAI,kCAAkC,CAC1C,WAAW,CAAC,gBAAgB,EAC5B,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAChD,CAAA;QACH,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IACpE,CAAC,CAAC,CACH,CAAA;IACD,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO;QACP,OAAO,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YACjD,gBAAgB;SACjB;KACF,CAAC,CAAA;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,8 +8,8 @@
8
8
  */
9
9
  export type { APICCIPRequestMetadata, APIErrorResponse, CCIPAPIClientContext, LaneLatencyResponse, } from './api/index.ts';
10
10
  export { CCIPAPIClient, DEFAULT_API_BASE_URL, SDK_VERSION, SDK_VERSION_HEADER, } from './api/index.ts';
11
- export type { ApiRetryConfig, Chain, ChainContext, ChainGetter, ChainStatic, GetBalanceOpts, LogFilter, RateLimiterState, RegistryTokenConfig, TokenInfo, TokenPoolConfig, TokenPoolRemote, } from './chain.ts';
12
- export { DEFAULT_API_RETRY_CONFIG } from './chain.ts';
11
+ export type { ApiRetryConfig, Chain, ChainContext, ChainGetter, ChainStatic, GetBalanceOpts, LaneFeatures, LogFilter, RateLimiterState, RegistryTokenConfig, TokenInfo, TokenPoolConfig, TokenPoolRemote, } from './chain.ts';
12
+ export { DEFAULT_API_RETRY_CONFIG, LaneFeature } from './chain.ts';
13
13
  export { calculateManualExecProof, discoverOffRamp } from './execution.ts';
14
14
  export { type EVMExtraArgsV1, type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1, type SuiExtraArgsV1, decodeExtraArgs, encodeExtraArgs, } from './extra-args.ts';
15
15
  export { estimateReceiveExecution } from './gas.ts';