@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.
Files changed (273) hide show
  1. package/README.md +127 -80
  2. package/dist/aptos/hasher.d.ts.map +1 -1
  3. package/dist/aptos/hasher.js +7 -6
  4. package/dist/aptos/hasher.js.map +1 -1
  5. package/dist/aptos/index.d.ts +7 -2
  6. package/dist/aptos/index.d.ts.map +1 -1
  7. package/dist/aptos/index.js +29 -20
  8. package/dist/aptos/index.js.map +1 -1
  9. package/dist/aptos/logs.d.ts +5 -3
  10. package/dist/aptos/logs.d.ts.map +1 -1
  11. package/dist/aptos/logs.js +64 -27
  12. package/dist/aptos/logs.js.map +1 -1
  13. package/dist/aptos/token.d.ts.map +1 -1
  14. package/dist/aptos/token.js +2 -1
  15. package/dist/aptos/token.js.map +1 -1
  16. package/dist/aptos/types.js +6 -6
  17. package/dist/aptos/types.js.map +1 -1
  18. package/dist/chain.d.ts +36 -11
  19. package/dist/chain.d.ts.map +1 -1
  20. package/dist/chain.js +34 -2
  21. package/dist/chain.js.map +1 -1
  22. package/dist/commits.d.ts +2 -3
  23. package/dist/commits.d.ts.map +1 -1
  24. package/dist/commits.js +19 -8
  25. package/dist/commits.js.map +1 -1
  26. package/dist/errors/CCIPError.d.ts +48 -0
  27. package/dist/errors/CCIPError.d.ts.map +1 -0
  28. package/dist/errors/CCIPError.js +65 -0
  29. package/dist/errors/CCIPError.js.map +1 -0
  30. package/dist/errors/codes.d.ts +120 -0
  31. package/dist/errors/codes.d.ts.map +1 -0
  32. package/dist/errors/codes.js +156 -0
  33. package/dist/errors/codes.js.map +1 -0
  34. package/dist/errors/index.d.ts +26 -0
  35. package/dist/errors/index.d.ts.map +1 -0
  36. package/dist/errors/index.js +51 -0
  37. package/dist/errors/index.js.map +1 -0
  38. package/dist/errors/recovery.d.ts +6 -0
  39. package/dist/errors/recovery.d.ts.map +1 -0
  40. package/dist/errors/recovery.js +118 -0
  41. package/dist/errors/recovery.js.map +1 -0
  42. package/dist/errors/specialized.d.ts +637 -0
  43. package/dist/errors/specialized.d.ts.map +1 -0
  44. package/dist/errors/specialized.js +1298 -0
  45. package/dist/errors/specialized.js.map +1 -0
  46. package/dist/errors/utils.d.ts +11 -0
  47. package/dist/errors/utils.d.ts.map +1 -0
  48. package/dist/errors/utils.js +61 -0
  49. package/dist/errors/utils.js.map +1 -0
  50. package/dist/evm/abi/CommitStore_1_5.js +1 -1
  51. package/dist/evm/abi/LockReleaseTokenPool_1_5.js +1 -1
  52. package/dist/evm/abi/OffRamp_1_5.js +1 -1
  53. package/dist/evm/abi/OnRamp_1_5.js +1 -1
  54. package/dist/evm/abi/PriceRegistry_1_2.d.ts +443 -0
  55. package/dist/evm/abi/PriceRegistry_1_2.d.ts.map +1 -0
  56. package/dist/evm/abi/PriceRegistry_1_2.js +439 -0
  57. package/dist/evm/abi/PriceRegistry_1_2.js.map +1 -0
  58. package/dist/evm/const.d.ts +1 -0
  59. package/dist/evm/const.d.ts.map +1 -1
  60. package/dist/evm/const.js +2 -0
  61. package/dist/evm/const.js.map +1 -1
  62. package/dist/evm/hasher.d.ts.map +1 -1
  63. package/dist/evm/hasher.js +7 -6
  64. package/dist/evm/hasher.js.map +1 -1
  65. package/dist/evm/index.d.ts +9 -13
  66. package/dist/evm/index.d.ts.map +1 -1
  67. package/dist/evm/index.js +85 -68
  68. package/dist/evm/index.js.map +1 -1
  69. package/dist/evm/logs.d.ts.map +1 -1
  70. package/dist/evm/logs.js +47 -16
  71. package/dist/evm/logs.js.map +1 -1
  72. package/dist/evm/messages.d.ts +7 -6
  73. package/dist/evm/messages.d.ts.map +1 -1
  74. package/dist/evm/offchain.js +1 -1
  75. package/dist/evm/offchain.js.map +1 -1
  76. package/dist/evm/types.d.ts +10 -0
  77. package/dist/evm/types.d.ts.map +1 -0
  78. package/dist/evm/types.js +2 -0
  79. package/dist/evm/types.js.map +1 -0
  80. package/dist/execution.d.ts.map +1 -1
  81. package/dist/execution.js +9 -5
  82. package/dist/execution.js.map +1 -1
  83. package/dist/extra-args.d.ts.map +1 -1
  84. package/dist/extra-args.js +4 -3
  85. package/dist/extra-args.js.map +1 -1
  86. package/dist/gas.d.ts.map +1 -1
  87. package/dist/gas.js +3 -2
  88. package/dist/gas.js.map +1 -1
  89. package/dist/hasher/hasher.d.ts.map +1 -1
  90. package/dist/hasher/hasher.js +2 -1
  91. package/dist/hasher/hasher.js.map +1 -1
  92. package/dist/hasher/merklemulti.d.ts.map +1 -1
  93. package/dist/hasher/merklemulti.js +9 -8
  94. package/dist/hasher/merklemulti.js.map +1 -1
  95. package/dist/index.d.ts +5 -2
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +6 -2
  98. package/dist/index.js.map +1 -1
  99. package/dist/offchain.d.ts.map +1 -1
  100. package/dist/offchain.js +5 -8
  101. package/dist/offchain.js.map +1 -1
  102. package/dist/requests.d.ts +1 -1
  103. package/dist/requests.d.ts.map +1 -1
  104. package/dist/requests.js +37 -43
  105. package/dist/requests.js.map +1 -1
  106. package/dist/selectors.d.ts.map +1 -1
  107. package/dist/selectors.js +22 -0
  108. package/dist/selectors.js.map +1 -1
  109. package/dist/solana/cleanup.d.ts +2 -2
  110. package/dist/solana/cleanup.d.ts.map +1 -1
  111. package/dist/solana/cleanup.js +2 -3
  112. package/dist/solana/cleanup.js.map +1 -1
  113. package/dist/solana/exec.d.ts.map +1 -1
  114. package/dist/solana/exec.js +12 -12
  115. package/dist/solana/exec.js.map +1 -1
  116. package/dist/solana/hasher.d.ts.map +1 -1
  117. package/dist/solana/hasher.js +6 -5
  118. package/dist/solana/hasher.js.map +1 -1
  119. package/dist/solana/index.d.ts +30 -13
  120. package/dist/solana/index.d.ts.map +1 -1
  121. package/dist/solana/index.js +96 -143
  122. package/dist/solana/index.js.map +1 -1
  123. package/dist/solana/logs.d.ts +15 -0
  124. package/dist/solana/logs.d.ts.map +1 -0
  125. package/dist/solana/logs.js +106 -0
  126. package/dist/solana/logs.js.map +1 -0
  127. package/dist/solana/offchain.d.ts.map +1 -1
  128. package/dist/solana/offchain.js +6 -5
  129. package/dist/solana/offchain.js.map +1 -1
  130. package/dist/solana/patchBorsh.d.ts.map +1 -1
  131. package/dist/solana/patchBorsh.js +3 -2
  132. package/dist/solana/patchBorsh.js.map +1 -1
  133. package/dist/solana/send.d.ts.map +1 -1
  134. package/dist/solana/send.js +8 -7
  135. package/dist/solana/send.js.map +1 -1
  136. package/dist/solana/utils.d.ts +7 -8
  137. package/dist/solana/utils.d.ts.map +1 -1
  138. package/dist/solana/utils.js +23 -11
  139. package/dist/solana/utils.js.map +1 -1
  140. package/dist/sui/discovery.d.ts +18 -0
  141. package/dist/sui/discovery.d.ts.map +1 -0
  142. package/dist/sui/discovery.js +116 -0
  143. package/dist/sui/discovery.js.map +1 -0
  144. package/dist/sui/events.d.ts +36 -0
  145. package/dist/sui/events.d.ts.map +1 -0
  146. package/dist/sui/events.js +179 -0
  147. package/dist/sui/events.js.map +1 -0
  148. package/dist/sui/hasher.d.ts.map +1 -1
  149. package/dist/sui/hasher.js +6 -5
  150. package/dist/sui/hasher.js.map +1 -1
  151. package/dist/sui/index.d.ts +69 -41
  152. package/dist/sui/index.d.ts.map +1 -1
  153. package/dist/sui/index.js +402 -65
  154. package/dist/sui/index.js.map +1 -1
  155. package/dist/sui/manuallyExec/encoder.d.ts +8 -0
  156. package/dist/sui/manuallyExec/encoder.d.ts.map +1 -0
  157. package/dist/sui/manuallyExec/encoder.js +76 -0
  158. package/dist/sui/manuallyExec/encoder.js.map +1 -0
  159. package/dist/sui/manuallyExec/index.d.ts +37 -0
  160. package/dist/sui/manuallyExec/index.d.ts.map +1 -0
  161. package/dist/sui/manuallyExec/index.js +81 -0
  162. package/dist/sui/manuallyExec/index.js.map +1 -0
  163. package/dist/sui/objects.d.ts +46 -0
  164. package/dist/sui/objects.d.ts.map +1 -0
  165. package/dist/sui/objects.js +259 -0
  166. package/dist/sui/objects.js.map +1 -0
  167. package/dist/ton/bindings/offramp.d.ts +48 -0
  168. package/dist/ton/bindings/offramp.d.ts.map +1 -0
  169. package/dist/ton/bindings/offramp.js +63 -0
  170. package/dist/ton/bindings/offramp.js.map +1 -0
  171. package/dist/ton/bindings/onramp.d.ts +40 -0
  172. package/dist/ton/bindings/onramp.d.ts.map +1 -0
  173. package/dist/ton/bindings/onramp.js +51 -0
  174. package/dist/ton/bindings/onramp.js.map +1 -0
  175. package/dist/ton/bindings/router.d.ts +47 -0
  176. package/dist/ton/bindings/router.d.ts.map +1 -0
  177. package/dist/ton/bindings/router.js +51 -0
  178. package/dist/ton/bindings/router.js.map +1 -0
  179. package/dist/ton/exec.d.ts +18 -0
  180. package/dist/ton/exec.d.ts.map +1 -0
  181. package/dist/ton/exec.js +28 -0
  182. package/dist/ton/exec.js.map +1 -0
  183. package/dist/ton/hasher.d.ts +27 -0
  184. package/dist/ton/hasher.d.ts.map +1 -0
  185. package/dist/ton/hasher.js +134 -0
  186. package/dist/ton/hasher.js.map +1 -0
  187. package/dist/ton/index.d.ts +247 -0
  188. package/dist/ton/index.d.ts.map +1 -0
  189. package/dist/ton/index.js +781 -0
  190. package/dist/ton/index.js.map +1 -0
  191. package/dist/ton/logs.d.ts +26 -0
  192. package/dist/ton/logs.d.ts.map +1 -0
  193. package/dist/ton/logs.js +126 -0
  194. package/dist/ton/logs.js.map +1 -0
  195. package/dist/ton/types.d.ts +37 -0
  196. package/dist/ton/types.d.ts.map +1 -0
  197. package/dist/ton/types.js +92 -0
  198. package/dist/ton/types.js.map +1 -0
  199. package/dist/ton/utils.d.ts +67 -0
  200. package/dist/ton/utils.d.ts.map +1 -0
  201. package/dist/ton/utils.js +425 -0
  202. package/dist/ton/utils.js.map +1 -0
  203. package/dist/types.d.ts +4 -2
  204. package/dist/types.d.ts.map +1 -1
  205. package/dist/types.js +1 -0
  206. package/dist/types.js.map +1 -1
  207. package/dist/utils.d.ts +10 -0
  208. package/dist/utils.d.ts.map +1 -1
  209. package/dist/utils.js +52 -17
  210. package/dist/utils.js.map +1 -1
  211. package/package.json +12 -10
  212. package/src/aptos/hasher.ts +10 -6
  213. package/src/aptos/index.ts +50 -31
  214. package/src/aptos/logs.ts +85 -29
  215. package/src/aptos/token.ts +5 -1
  216. package/src/aptos/types.ts +6 -6
  217. package/src/chain.ts +83 -12
  218. package/src/commits.ts +23 -11
  219. package/src/errors/CCIPError.ts +86 -0
  220. package/src/errors/codes.ts +179 -0
  221. package/src/errors/index.ts +175 -0
  222. package/src/errors/recovery.ts +170 -0
  223. package/src/errors/specialized.ts +1655 -0
  224. package/src/errors/utils.ts +73 -0
  225. package/src/evm/abi/CommitStore_1_5.ts +1 -1
  226. package/src/evm/abi/LockReleaseTokenPool_1_5.ts +1 -1
  227. package/src/evm/abi/OffRamp_1_5.ts +1 -1
  228. package/src/evm/abi/OnRamp_1_5.ts +1 -1
  229. package/src/evm/abi/PriceRegistry_1_2.ts +438 -0
  230. package/src/evm/const.ts +2 -0
  231. package/src/evm/hasher.ts +7 -6
  232. package/src/evm/index.ts +104 -86
  233. package/src/evm/logs.ts +64 -16
  234. package/src/evm/messages.ts +14 -14
  235. package/src/evm/offchain.ts +1 -1
  236. package/src/evm/types.ts +11 -0
  237. package/src/execution.ts +13 -9
  238. package/src/extra-args.ts +4 -3
  239. package/src/gas.ts +10 -3
  240. package/src/hasher/hasher.ts +2 -1
  241. package/src/hasher/merklemulti.ts +18 -8
  242. package/src/index.ts +14 -2
  243. package/src/offchain.ts +10 -14
  244. package/src/requests.ts +51 -53
  245. package/src/selectors.ts +23 -0
  246. package/src/solana/cleanup.ts +2 -4
  247. package/src/solana/exec.ts +13 -13
  248. package/src/solana/hasher.ts +9 -5
  249. package/src/solana/index.ts +126 -200
  250. package/src/solana/logs.ts +155 -0
  251. package/src/solana/offchain.ts +10 -7
  252. package/src/solana/patchBorsh.ts +3 -2
  253. package/src/solana/send.ts +14 -7
  254. package/src/solana/utils.ts +31 -17
  255. package/src/sui/discovery.ts +163 -0
  256. package/src/sui/events.ts +328 -0
  257. package/src/sui/hasher.ts +6 -5
  258. package/src/sui/index.ts +528 -80
  259. package/src/sui/manuallyExec/encoder.ts +88 -0
  260. package/src/sui/manuallyExec/index.ts +137 -0
  261. package/src/sui/objects.ts +358 -0
  262. package/src/ton/bindings/offramp.ts +96 -0
  263. package/src/ton/bindings/onramp.ts +72 -0
  264. package/src/ton/bindings/router.ts +65 -0
  265. package/src/ton/exec.ts +44 -0
  266. package/src/ton/hasher.ts +184 -0
  267. package/src/ton/index.ts +989 -0
  268. package/src/ton/logs.ts +157 -0
  269. package/src/ton/types.ts +143 -0
  270. package/src/ton/utils.ts +514 -0
  271. package/src/types.ts +6 -2
  272. package/src/utils.ts +58 -23
  273. package/tsconfig.json +2 -1
@@ -0,0 +1,425 @@
1
+ import { Cell, Dictionary, beginCell } from '@ton/core';
2
+ import { CCIPTransactionNotFinalizedError, CCIPTransactionNotFoundError, } from "../errors/specialized.js";
3
+ import { bytesToBuffer, sleep } from "../utils.js";
4
+ /**
5
+ * Converts hex string to Buffer, handling 0x prefix normalization
6
+ * Returns empty buffer for empty input
7
+ */
8
+ export const hexToBuffer = (value) => {
9
+ if (!value || value === '0x' || value === '0X')
10
+ return Buffer.alloc(0);
11
+ // Normalize to lowercase 0x prefix for bytesToBuffer/getDataBytes
12
+ let normalized;
13
+ if (value.startsWith('0x')) {
14
+ normalized = value;
15
+ }
16
+ else if (value.startsWith('0X')) {
17
+ normalized = `0x${value.slice(2)}`;
18
+ }
19
+ else {
20
+ normalized = `0x${value}`;
21
+ }
22
+ return bytesToBuffer(normalized);
23
+ };
24
+ /**
25
+ * Attempts to parse hex string as TON BOC (Bag of Cells) format
26
+ * Falls back to storing raw bytes as cell data if BOC parsing fails
27
+ * Used for parsing message data, extra data, and other hex-encoded fields
28
+ */
29
+ export const tryParseCell = (hex) => {
30
+ const bytes = hexToBuffer(hex);
31
+ if (bytes.length === 0)
32
+ return beginCell().endCell();
33
+ try {
34
+ return Cell.fromBoc(bytes)[0];
35
+ }
36
+ catch {
37
+ return beginCell().storeBuffer(bytes).endCell();
38
+ }
39
+ };
40
+ /**
41
+ * Extracts the 32-bit magic tag from a BOC-encoded cell
42
+ * Magic tags identify the type of TON structures (e.g., extra args types)
43
+ * Used for type detection and validation when decoding CCIP extra args
44
+ * Returns tag as 0x-prefixed hex string for easy comparison
45
+ */
46
+ export function extractMagicTag(bocHex) {
47
+ const cell = Cell.fromBoc(hexToBuffer(bocHex))[0];
48
+ const tag = cell.beginParse().loadUint(32);
49
+ return `0x${tag.toString(16).padStart(8, '0')}`;
50
+ }
51
+ /**
52
+ * Waits for a transaction to be confirmed by polling until the wallet's seqno advances.
53
+ * Once seqno advances past expectedSeqno, fetches the latest transaction details.
54
+ *
55
+ * @param client - TON V4 client
56
+ * @param walletAddress - Address of the wallet that sent the transaction
57
+ * @param expectedSeqno - The seqno used when sending the transaction
58
+ * @param expectedDestination - Optional destination address to verify (e.g., offRamp)
59
+ * @param maxAttempts - Maximum polling attempts (default: 25)
60
+ * @param intervalMs - Polling interval in ms (default: 1000)
61
+ * @returns Transaction info with lt and hash
62
+ */
63
+ export async function waitForTransaction(client, walletAddress, expectedSeqno, expectedDestination, maxAttempts = 25, intervalMs = 1000) {
64
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
65
+ try {
66
+ // Get latest block for state lookup (V4 API requires block seqno)
67
+ const lastBlock = await client.getLastBlock();
68
+ // Check current seqno by running the getter
69
+ const seqnoResult = await client.runMethod(lastBlock.last.seqno, walletAddress, 'seqno');
70
+ const currentSeqno = seqnoResult.reader.readNumber();
71
+ const seqnoAdvanced = currentSeqno > expectedSeqno;
72
+ if (seqnoAdvanced) {
73
+ // Get account state to find latest transaction
74
+ const account = await client.getAccountLite(lastBlock.last.seqno, walletAddress);
75
+ if (!account.account.last) {
76
+ await sleep(intervalMs);
77
+ continue;
78
+ }
79
+ // Get recent transactions using V4 API
80
+ const txs = await client.getAccountTransactions(walletAddress, BigInt(account.account.last.lt), Buffer.from(account.account.last.hash, 'base64'));
81
+ for (const { tx } of txs) {
82
+ // If destination verification requested, check outgoing messages
83
+ if (expectedDestination) {
84
+ const outMessages = tx.outMessages.values();
85
+ let destinationMatch = false;
86
+ for (const msg of outMessages) {
87
+ if (msg.info.type === 'internal' && msg.info.dest.equals(expectedDestination)) {
88
+ destinationMatch = true;
89
+ break;
90
+ }
91
+ }
92
+ if (!destinationMatch)
93
+ continue;
94
+ }
95
+ return {
96
+ lt: tx.lt.toString(),
97
+ hash: tx.hash().toString('hex'),
98
+ timestamp: tx.now,
99
+ };
100
+ }
101
+ }
102
+ // Handle case where contract was just deployed (seqno 0 -> 1)
103
+ if (expectedSeqno === 0 && attempt > 0) {
104
+ const account = await client.getAccountLite(lastBlock.last.seqno, walletAddress);
105
+ if (account.account.last) {
106
+ const txs = await client.getAccountTransactions(walletAddress, BigInt(account.account.last.lt), Buffer.from(account.account.last.hash, 'base64'));
107
+ if (txs.length > 0) {
108
+ const { tx } = txs[0];
109
+ return {
110
+ lt: tx.lt.toString(),
111
+ hash: tx.hash().toString('hex'),
112
+ timestamp: tx.now,
113
+ };
114
+ }
115
+ }
116
+ }
117
+ }
118
+ catch {
119
+ // Contract might not be initialized yet, or network error - retry
120
+ }
121
+ await sleep(intervalMs);
122
+ }
123
+ throw new CCIPTransactionNotFinalizedError(String(expectedSeqno));
124
+ }
125
+ /**
126
+ * Parses snake format data from a cell.
127
+ * Snake format: first byte indicates format (0x00), followed by string data that may span multiple cells.
128
+ */
129
+ function parseSnakeData(cell) {
130
+ const slice = cell.beginParse();
131
+ // Check first byte. Should be 0x00 for snake format
132
+ if (slice.remainingBits >= 8) {
133
+ const firstByte = slice.preloadUint(8);
134
+ if (firstByte === 0x00) {
135
+ // Standard snake format. skip the indicator byte
136
+ slice.loadUint(8);
137
+ }
138
+ // If not 0x00, the data might be stored directly without indicator
139
+ }
140
+ // Load the string, following references if needed
141
+ let result = '';
142
+ // Load available bits as string
143
+ const bits = slice.remainingBits;
144
+ if (bits > 0) {
145
+ // Round down to nearest byte
146
+ const bytes = Math.floor(bits / 8);
147
+ if (bytes > 0) {
148
+ const buffer = slice.loadBuffer(bytes);
149
+ result = buffer.toString('utf-8');
150
+ }
151
+ }
152
+ // Follow references for continuation (snake format can span multiple cells)
153
+ while (slice.remainingRefs > 0) {
154
+ const refCell = slice.loadRef();
155
+ const refSlice = refCell.beginParse();
156
+ const refBits = refSlice.remainingBits;
157
+ if (refBits > 0) {
158
+ const refBytes = Math.floor(refBits / 8);
159
+ if (refBytes > 0) {
160
+ const buffer = refSlice.loadBuffer(refBytes);
161
+ result += buffer.toString('utf-8');
162
+ }
163
+ }
164
+ break;
165
+ }
166
+ return result;
167
+ }
168
+ /**
169
+ * Fetches Jetton metadata from an external URI.
170
+ * Handles IPFS and HTTP(S) URIs.
171
+ */
172
+ async function fetchOffchainJettonMetadata(uri, rateLimitedFetch, logger) {
173
+ // Default values
174
+ let symbol = 'JETTON';
175
+ let decimals = 9;
176
+ try {
177
+ // Normalize URI
178
+ let normalizedUri = uri;
179
+ if (uri.startsWith('ipfs://')) {
180
+ normalizedUri = 'https://ipfs.io/ipfs/' + uri.slice(7);
181
+ }
182
+ else if (uri.startsWith('Qm') && uri.length >= 46) {
183
+ normalizedUri = 'https://ipfs.io/ipfs/' + uri;
184
+ }
185
+ if (!normalizedUri.startsWith('http://') && !normalizedUri.startsWith('https://')) {
186
+ return { symbol, decimals };
187
+ }
188
+ const response = await rateLimitedFetch(normalizedUri, {
189
+ headers: { Accept: 'application/json' },
190
+ });
191
+ if (!response.ok) {
192
+ return { symbol, decimals };
193
+ }
194
+ const metadata = (await response.json());
195
+ if (metadata.symbol && typeof metadata.symbol === 'string') {
196
+ symbol = metadata.symbol;
197
+ }
198
+ if (metadata.decimals !== undefined) {
199
+ const dec = typeof metadata.decimals === 'string' ? parseInt(metadata.decimals, 10) : metadata.decimals;
200
+ if (!isNaN(dec) && dec >= 0 && dec <= 255) {
201
+ decimals = dec;
202
+ }
203
+ }
204
+ }
205
+ catch (error) {
206
+ logger?.debug?.(`Failed to fetch offchain jetton metadata from ${uri}:`, error);
207
+ }
208
+ return { symbol, decimals };
209
+ }
210
+ /** SHA256 hashes of known TEP-64 attribute names */
211
+ const TEP64_HASHES = {
212
+ symbol: BigInt('0xb76a7ca153c24671658335bbd08946350ffc621fa1c516e7123095d4ffd5c581'),
213
+ decimals: BigInt('0xee80fd2f1e03480e2282363596ee752d7bb27f50776b95086a0279189675923e'),
214
+ uri: BigInt('0x70e5d7b6a29b392f85076fe15ca2f2053c56c2338728c4e33c9e8ddb1ee827cc'),
215
+ };
216
+ /**
217
+ * Parses onchain metadata dictionary to extract symbol and decimals.
218
+ * If symbol is not found, checks for URI key to fetch offchain metadata.
219
+ */
220
+ async function parseOnchainDict(dict, rateLimitedFetch, logger) {
221
+ let symbol = 'JETTON';
222
+ let decimals = 9;
223
+ // Try to get symbol from dict
224
+ const symbolCell = dict.get(TEP64_HASHES.symbol);
225
+ if (symbolCell) {
226
+ const parsed = parseSnakeData(symbolCell);
227
+ if (parsed) {
228
+ symbol = parsed;
229
+ }
230
+ }
231
+ // Try to get decimals from dict
232
+ const decimalsCell = dict.get(TEP64_HASHES.decimals);
233
+ if (decimalsCell) {
234
+ const decStr = parseSnakeData(decimalsCell);
235
+ const parsed = parseInt(decStr, 10);
236
+ if (!isNaN(parsed) && parsed >= 0 && parsed <= 255) {
237
+ decimals = parsed;
238
+ }
239
+ }
240
+ // If symbol not found in dict, check for URI key and fetch offchain
241
+ if (symbol === 'JETTON') {
242
+ const uriCell = dict.get(TEP64_HASHES.uri);
243
+ if (uriCell) {
244
+ const uri = parseSnakeData(uriCell);
245
+ if (uri && (uri.startsWith('http') || uri.startsWith('ipfs://') || uri.startsWith('Qm'))) {
246
+ const offchain = await fetchOffchainJettonMetadata(uri, rateLimitedFetch, logger);
247
+ symbol = offchain.symbol;
248
+ // Only use offchain decimals if we didn't get it from onchain
249
+ if (decimals === 9) {
250
+ decimals = offchain.decimals;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ return { symbol, decimals };
256
+ }
257
+ /**
258
+ * Parses Jetton content cell to extract metadata.
259
+ * Supports onchain (0x00), offchain (0x01), and semichain (0x02) formats per TEP-64.
260
+ */
261
+ export async function parseJettonContent(contentCell, rateLimitedFetch, logger) {
262
+ const slice = contentCell.beginParse();
263
+ // Default values
264
+ const symbol = 'JETTON';
265
+ const decimals = 9;
266
+ try {
267
+ // Check content type (first byte)
268
+ const contentType = slice.loadUint(8);
269
+ if (contentType === 0x00) {
270
+ // Onchain metadata - dictionary may be inline or in a reference
271
+ let dict;
272
+ // Check if there's remaining data for inline dict
273
+ if (slice.remainingBits > 1) {
274
+ try {
275
+ dict = slice.loadDict(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell());
276
+ }
277
+ catch {
278
+ // Failed, will try from ref below
279
+ }
280
+ }
281
+ // If no inline dict, check for Maybe ^Cell pattern (1 bit + ref)
282
+ if (!dict && slice.remainingBits >= 1 && slice.remainingRefs > 0) {
283
+ const hasDict = slice.loadBit();
284
+ if (hasDict) {
285
+ const dictCell = slice.loadRef();
286
+ try {
287
+ dict = dictCell
288
+ .beginParse()
289
+ .loadDictDirect(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell());
290
+ }
291
+ catch {
292
+ try {
293
+ dict = Dictionary.loadDirect(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell(), dictCell.beginParse());
294
+ }
295
+ catch {
296
+ logger?.debug?.('Onchain: failed to load dict from ref');
297
+ }
298
+ }
299
+ }
300
+ }
301
+ // If still no dict, try loading directly from first ref
302
+ if (!dict && contentCell.refs.length > 0) {
303
+ try {
304
+ const refSlice = contentCell.refs[0].beginParse();
305
+ dict = refSlice.loadDictDirect(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell());
306
+ }
307
+ catch {
308
+ logger?.debug?.('Onchain: failed to load dict directly from ref');
309
+ }
310
+ }
311
+ if (dict) {
312
+ return await parseOnchainDict(dict, rateLimitedFetch, logger);
313
+ }
314
+ return { symbol, decimals };
315
+ }
316
+ else if (contentType === 0x01) {
317
+ // Offchain metadata: URI stored in remaining bits
318
+ const uri = slice.loadStringTail();
319
+ return fetchOffchainJettonMetadata(uri, rateLimitedFetch, logger);
320
+ }
321
+ else if (contentType === 0x02) {
322
+ // Semichain metadata per TEP-64
323
+ let onchainResult = { symbol: 'JETTON', decimals: 9 };
324
+ let uri = '';
325
+ // Load dictionary directly from remaining slice data
326
+ try {
327
+ const dict = slice.loadDictDirect(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell());
328
+ onchainResult = await parseOnchainDict(dict, rateLimitedFetch, logger);
329
+ }
330
+ catch (e) {
331
+ logger?.debug?.('Semichain: failed to load dict directly:', e);
332
+ }
333
+ // After dictionary, there may be a URI in remaining bits or refs
334
+ if (slice.remainingBits > 0) {
335
+ try {
336
+ uri = slice.loadStringTail();
337
+ }
338
+ catch {
339
+ logger?.debug?.('Semichain: failed to load URI from remaining bits');
340
+ }
341
+ }
342
+ // If no URI in bits, try from cell reference
343
+ if (!uri && slice.remainingRefs > 0) {
344
+ try {
345
+ const uriCell = slice.loadRef();
346
+ const uriSlice = uriCell.beginParse();
347
+ if (uriSlice.remainingBits >= 8) {
348
+ const firstByte = uriSlice.preloadUint(8);
349
+ if (firstByte === 0x01) {
350
+ uriSlice.loadUint(8);
351
+ }
352
+ }
353
+ uri = uriSlice.loadStringTail();
354
+ }
355
+ catch {
356
+ logger?.debug?.('Semichain: failed to load URI from ref');
357
+ }
358
+ }
359
+ // If we got valid symbol from onchain dict, use it
360
+ if (onchainResult.symbol !== 'JETTON') {
361
+ return onchainResult;
362
+ }
363
+ // Otherwise try fetching from URI
364
+ if (uri && (uri.startsWith('http') || uri.startsWith('ipfs://') || uri.startsWith('Qm'))) {
365
+ const offchainResult = await fetchOffchainJettonMetadata(uri, rateLimitedFetch, logger);
366
+ return {
367
+ symbol: offchainResult.symbol,
368
+ decimals: onchainResult.decimals !== 9 ? onchainResult.decimals : offchainResult.decimals,
369
+ };
370
+ }
371
+ return onchainResult;
372
+ }
373
+ }
374
+ catch (error) {
375
+ logger?.debug?.('Failed to parse jetton content:', error);
376
+ }
377
+ return { symbol, decimals };
378
+ }
379
+ /**
380
+ * Looks up a transaction by raw hash using the TonCenter V3 API.
381
+ *
382
+ * This is necessary because TON's V4 API requires (address, lt, hash) for lookups,
383
+ * but users typically only have the raw transaction hash from explorers.
384
+ * TonCenter V3 provides an index that allows hash-only lookups.
385
+ *
386
+ * @param hash - Raw 64-char hex transaction hash
387
+ * @param isTestnet - Whether to use testnet API
388
+ * @param rateLimitedFetch - Rate-limited fetch function
389
+ * @param logger - Logger instance
390
+ * @returns Transaction identifier components needed for V4 API lookup
391
+ */
392
+ export async function lookupTxByRawHash(hash, isTestnet, rateLimitedFetch, logger) {
393
+ const baseUrl = isTestnet
394
+ ? 'https://testnet.toncenter.com/api/v3/transactions'
395
+ : 'https://toncenter.com/api/v3/transactions';
396
+ // TonCenter V3 accepts hex directly
397
+ const cleanHash = hash.startsWith('0x') ? hash.slice(2) : hash;
398
+ const url = `${baseUrl}?hash=${cleanHash}`;
399
+ logger?.debug?.(`TonCenter V3 lookup: ${url}`);
400
+ let response;
401
+ try {
402
+ response = await rateLimitedFetch(url, {
403
+ headers: { Accept: 'application/json' },
404
+ });
405
+ }
406
+ catch (error) {
407
+ logger?.error?.(`TonCenter V3 fetch failed:`, error);
408
+ throw new CCIPTransactionNotFoundError(hash, { cause: error });
409
+ }
410
+ let data;
411
+ try {
412
+ data = (await response.json());
413
+ }
414
+ catch (error) {
415
+ logger?.error?.(`TonCenter V3 JSON parse failed:`, error);
416
+ throw new CCIPTransactionNotFoundError(hash, { cause: error });
417
+ }
418
+ logger?.debug?.(`TonCenter V3 response:`, data);
419
+ if (!data.transactions || data.transactions.length === 0) {
420
+ logger?.debug?.(`TonCenter V3: no transactions found for hash ${cleanHash}`);
421
+ throw new CCIPTransactionNotFoundError(hash);
422
+ }
423
+ return data.transactions[0];
424
+ }
425
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ton/utils.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { CCIPMessage_EVM, CCIPMessage_V1_6_EVM } from './evm/messages.ts';
5
5
  import type { ExtraArgs } from './extra-args.ts';
6
6
  import type { CCIPMessage_V1_6_Solana } from './solana/types.ts';
7
7
  import type { CCIPMessage_V1_6_Sui } from './sui/types.ts';
8
+ import type { CCIPMessage_V1_6_TON } from './ton/types.ts';
8
9
  export type { CCIPMessage_V1_6 } from './evm/messages.ts';
9
10
  /**
10
11
  * Logger interface for logging messages (compatible with console)
@@ -39,6 +40,7 @@ export declare const ChainFamily: {
39
40
  readonly Solana: "solana";
40
41
  readonly Aptos: "aptos";
41
42
  readonly Sui: "sui";
43
+ readonly TON: "ton";
42
44
  };
43
45
  /** Type representing one of the supported chain families. */
44
46
  export type ChainFamily = (typeof ChainFamily)[keyof typeof ChainFamily];
@@ -53,7 +55,7 @@ export declare const CCIPVersion: {
53
55
  /** Type representing one of the supported CCIP versions. */
54
56
  export type CCIPVersion = (typeof CCIPVersion)[keyof typeof CCIPVersion];
55
57
  /** Helper type that maps chain family to its chain ID format. */
56
- type ChainFamilyWithId<F extends ChainFamily> = F extends typeof ChainFamily.EVM ? {
58
+ type ChainFamilyWithId<F extends ChainFamily> = F extends typeof ChainFamily.EVM | typeof ChainFamily.TON ? {
57
59
  readonly family: F;
58
60
  readonly chainId: number;
59
61
  } : F extends typeof ChainFamily.Solana ? {
@@ -90,7 +92,7 @@ export interface Lane<V extends CCIPVersion = CCIPVersion> {
90
92
  /**
91
93
  * Union type representing a CCIP message across different versions and chain families.
92
94
  */
93
- export type CCIPMessage<V extends CCIPVersion = CCIPVersion> = V extends typeof CCIPVersion.V1_2 | typeof CCIPVersion.V1_5 ? CCIPMessage_EVM<V> : CCIPMessage_V1_6_EVM | CCIPMessage_V1_6_Solana | CCIPMessage_V1_6_Sui;
95
+ export type CCIPMessage<V extends CCIPVersion = CCIPVersion> = V extends typeof CCIPVersion.V1_2 | typeof CCIPVersion.V1_5 ? CCIPMessage_EVM<V> : CCIPMessage_V1_6_EVM | CCIPMessage_V1_6_Solana | CCIPMessage_V1_6_Sui | CCIPMessage_V1_6_TON;
94
96
  /**
95
97
  * Generic log structure compatible across chain families.
96
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACpC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KACpC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,GAC7C,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GACpB,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAC/B,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GACxC,KAAK,GACT,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GACxC,KAAK,GACP,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC7B,KAAK,GACL,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACd,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAA;AACV,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAId,CAAA;AACV,4DAA4D;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAExE,iEAAiE;AACjE,KAAK,iBAAiB,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,WAAW,CAAC,GAAG,GAC5E;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChD,CAAC,SAAS,OAAO,WAAW,CAAC,MAAM,GACjC;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChD,CAAC,SAAS,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO,WAAW,CAAC,GAAG,GACzD;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAA;CAAE,GAC1D,KAAK,CAAA;AAEb;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IAC7D,0CAA0C;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAExB;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACvD,6BAA6B;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAA;CACX;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,SAC5D,OAAO,WAAW,CAAC,IAAI,GACvB,OAAO,WAAW,CAAC,IAAI,GACvB,eAAe,CAAC,CAAC,CAAC,GAClB,oBAAoB,GAAG,uBAAuB,GAAG,oBAAoB,CAAA;AAEzE;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,iBAAiB,CAAC,GAAG;IACjG,0CAA0C;IAC1C,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,wDAAwD;IACxD,EAAE,CAAC,EAAE,gBAAgB,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;IACrB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC9D,2CAA2C;IAC3C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,mCAAmC;IACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACvB,iCAAiC;IACjC,GAAG,EAAE,IAAI,CAAA;IACT,4CAA4C;IAC5C,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAC7F;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,6BAA6B,CACtD,eAAe,CAAC,OAAO,eAAe,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAC1E,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEZ;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,MAAM,EAAE,YAAY,CAAA;IACpB,iCAAiC;IACjC,GAAG,EAAE,IAAI,CAAA;CACV;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,gCAAgC;;IAEhC,wCAAwC;;IAExC,wBAAwB;;CAEhB,CAAA;AACV,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,+BAA+B;IAC/B,KAAK,EAAE,cAAc,CAAA;IACrB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uDAAuD;IACvD,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/C,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,OAAO,EAAE,gBAAgB,CAAA;IACzB,oCAAoC;IACpC,GAAG,EAAE,IAAI,CAAA;IACT,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACjE,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAA;IACV,qCAAqC;IACrC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;IAC5B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAChD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,iDAAiD;IACjD,QAAQ,EAAE,SAAS,CAAA;IACnB,8BAA8B;IAC9B,IAAI,EAAE,SAAS,CAAA;IACf,yDAAyD;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,gCAAgC;IAChC,YAAY,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3D,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -6,6 +6,7 @@ export const ChainFamily = {
6
6
  Solana: 'solana',
7
7
  Aptos: 'aptos',
8
8
  Sui: 'sui',
9
+ TON: 'ton',
9
10
  };
10
11
  /**
11
12
  * Enumeration of supported CCIP protocol versions.
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyDA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAA;AAIV;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;CACL,CAAA;AA2GV;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gCAAgC;IAChC,UAAU,EAAE,CAAC;IACb,wCAAwC;IACxC,OAAO,EAAE,CAAC;IACV,wBAAwB;IACxB,MAAM,EAAE,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACF,CAAA;AAIV;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;CACL,CAAA;AA6GV;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gCAAgC;IAChC,UAAU,EAAE,CAAC;IACb,wCAAwC;IACxC,OAAO,EAAE,CAAC;IACV,wBAAwB;IACxB,MAAM,EAAE,CAAC;CACD,CAAA"}
package/dist/utils.d.ts CHANGED
@@ -62,6 +62,10 @@ export declare function bigIntReviver(_key: string, value: unknown): unknown;
62
62
  * Decode address from a 32-byte hex string
63
63
  **/
64
64
  export declare function decodeAddress(address: BytesLike, family?: ChainFamily): string;
65
+ /**
66
+ * Validate a value is a txHash string in some supported chain family
67
+ **/
68
+ export declare function isSupportedTxHash(txHash: unknown, family?: ChainFamily): txHash is string;
65
69
  /**
66
70
  * Version of decodeAddress which is aware of custom cross-chain OnRamp formats
67
71
  **/
@@ -91,6 +95,12 @@ export declare function isBase64(data: unknown): data is string;
91
95
  * @returns Uint8Array representation.
92
96
  */
93
97
  export declare function getDataBytes(data: BytesLike | readonly number[]): Uint8Array;
98
+ /**
99
+ * Converts bytes to a Node.js Buffer.
100
+ * @param bytes - Bytes to convert (hex string, Uint8Array, Base64, etc).
101
+ * @returns Node.js Buffer.
102
+ */
103
+ export declare function bytesToBuffer(bytes: BytesLike | readonly number[]): Buffer;
94
104
  /**
95
105
  * Extracts address bytes, handling both hex and Base58 formats.
96
106
  * @param address - Address in hex or Base58 format.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}