@chainlink/ccip-sdk 1.2.1 → 1.3.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 (100) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +10 -20
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/aptos/index.d.ts +2 -2
  6. package/dist/aptos/index.d.ts.map +1 -1
  7. package/dist/aptos/index.js +1 -1
  8. package/dist/aptos/index.js.map +1 -1
  9. package/dist/chain.d.ts +75 -2
  10. package/dist/chain.d.ts.map +1 -1
  11. package/dist/chain.js +19 -0
  12. package/dist/chain.js.map +1 -1
  13. package/dist/errors/codes.d.ts +1 -0
  14. package/dist/errors/codes.d.ts.map +1 -1
  15. package/dist/errors/codes.js +1 -0
  16. package/dist/errors/codes.js.map +1 -1
  17. package/dist/errors/index.d.ts +1 -1
  18. package/dist/errors/index.d.ts.map +1 -1
  19. package/dist/errors/index.js +1 -1
  20. package/dist/errors/index.js.map +1 -1
  21. package/dist/errors/recovery.d.ts.map +1 -1
  22. package/dist/errors/recovery.js +1 -0
  23. package/dist/errors/recovery.js.map +1 -1
  24. package/dist/errors/specialized.d.ts +8 -0
  25. package/dist/errors/specialized.d.ts.map +1 -1
  26. package/dist/errors/specialized.js +10 -0
  27. package/dist/errors/specialized.js.map +1 -1
  28. package/dist/evm/abi/CCTPVerifier_2_0.d.ts +1118 -0
  29. package/dist/evm/abi/CCTPVerifier_2_0.d.ts.map +1 -0
  30. package/dist/evm/abi/CCTPVerifier_2_0.js +1147 -0
  31. package/dist/evm/abi/CCTPVerifier_2_0.js.map +1 -0
  32. package/dist/evm/abi/USDCTokenPoolProxy_2_0.d.ts +825 -0
  33. package/dist/evm/abi/USDCTokenPoolProxy_2_0.d.ts.map +1 -0
  34. package/dist/evm/abi/USDCTokenPoolProxy_2_0.js +873 -0
  35. package/dist/evm/abi/USDCTokenPoolProxy_2_0.js.map +1 -0
  36. package/dist/evm/abi/VersionedVerifierResolver_2_0.d.ts +350 -0
  37. package/dist/evm/abi/VersionedVerifierResolver_2_0.d.ts.map +1 -0
  38. package/dist/evm/abi/VersionedVerifierResolver_2_0.js +370 -0
  39. package/dist/evm/abi/VersionedVerifierResolver_2_0.js.map +1 -0
  40. package/dist/evm/const.d.ts +3 -0
  41. package/dist/evm/const.d.ts.map +1 -1
  42. package/dist/evm/const.js +6 -0
  43. package/dist/evm/const.js.map +1 -1
  44. package/dist/evm/index.d.ts +24 -3
  45. package/dist/evm/index.d.ts.map +1 -1
  46. package/dist/evm/index.js +193 -7
  47. package/dist/evm/index.js.map +1 -1
  48. package/dist/index.d.ts +3 -3
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/offchain.d.ts +27 -0
  53. package/dist/offchain.d.ts.map +1 -1
  54. package/dist/offchain.js +44 -2
  55. package/dist/offchain.js.map +1 -1
  56. package/dist/requests.d.ts +1 -25
  57. package/dist/requests.d.ts.map +1 -1
  58. package/dist/requests.js +0 -57
  59. package/dist/requests.js.map +1 -1
  60. package/dist/solana/index.d.ts +2 -2
  61. package/dist/solana/index.d.ts.map +1 -1
  62. package/dist/solana/index.js +1 -1
  63. package/dist/solana/index.js.map +1 -1
  64. package/dist/sui/index.d.ts +2 -2
  65. package/dist/sui/index.d.ts.map +1 -1
  66. package/dist/sui/index.js +1 -1
  67. package/dist/sui/index.js.map +1 -1
  68. package/dist/ton/index.d.ts +2 -2
  69. package/dist/ton/index.d.ts.map +1 -1
  70. package/dist/ton/index.js +28 -49
  71. package/dist/ton/index.js.map +1 -1
  72. package/dist/ton/send.d.ts +13 -1
  73. package/dist/ton/send.d.ts.map +1 -1
  74. package/dist/ton/send.js +16 -16
  75. package/dist/ton/send.js.map +1 -1
  76. package/dist/utils.d.ts +16 -0
  77. package/dist/utils.d.ts.map +1 -1
  78. package/dist/utils.js +31 -1
  79. package/dist/utils.js.map +1 -1
  80. package/package.json +4 -4
  81. package/src/api/index.ts +9 -23
  82. package/src/aptos/index.ts +5 -1
  83. package/src/chain.ts +85 -2
  84. package/src/errors/codes.ts +1 -0
  85. package/src/errors/index.ts +1 -0
  86. package/src/errors/recovery.ts +2 -0
  87. package/src/errors/specialized.ts +15 -0
  88. package/src/evm/abi/CCTPVerifier_2_0.ts +1146 -0
  89. package/src/evm/abi/USDCTokenPoolProxy_2_0.ts +872 -0
  90. package/src/evm/abi/VersionedVerifierResolver_2_0.ts +369 -0
  91. package/src/evm/const.ts +6 -0
  92. package/src/evm/index.ts +262 -8
  93. package/src/index.ts +6 -2
  94. package/src/offchain.ts +53 -1
  95. package/src/requests.ts +1 -59
  96. package/src/solana/index.ts +5 -1
  97. package/src/sui/index.ts +2 -1
  98. package/src/ton/index.ts +41 -56
  99. package/src/ton/send.ts +20 -21
  100. package/src/utils.ts +42 -0
@@ -0,0 +1,872 @@
1
+ // TODO: track a v2 release tag and the v2.0.0 folder instead of a commit + latest/ folder, once 2.0.0 is released in `chainlink-ccip`
2
+ export default [
3
+ // generate:
4
+ // fetch('https://github.com/smartcontractkit/chainlink-ccip/raw/refs/heads/develop/ccv/chains/evm/gobindings/generated/latest/usdc_token_pool_proxy/usdc_token_pool_proxy.go')
5
+ // .then((res) => res.text())
6
+ // .then((body) => body.match(/^\s*ABI: "(.*?)",$/m)?.[1])
7
+ // .then((abi) => JSON.parse(abi.replace(/\\"/g, '"')))
8
+ // .then((obj) => require('util').inspect(obj, {depth:99}).split('\n').slice(1, -1))
9
+ {
10
+ type: 'constructor',
11
+ inputs: [
12
+ {
13
+ name: 'token',
14
+ type: 'address',
15
+ internalType: 'contract IERC20',
16
+ },
17
+ {
18
+ name: 'pools',
19
+ type: 'tuple',
20
+ internalType: 'struct USDCTokenPoolProxy.PoolAddresses',
21
+ components: [
22
+ {
23
+ name: 'cctpV1Pool',
24
+ type: 'address',
25
+ internalType: 'address',
26
+ },
27
+ {
28
+ name: 'cctpV2Pool',
29
+ type: 'address',
30
+ internalType: 'address',
31
+ },
32
+ {
33
+ name: 'cctpV2PoolWithCCV',
34
+ type: 'address',
35
+ internalType: 'address',
36
+ },
37
+ {
38
+ name: 'siloedLockReleasePool',
39
+ type: 'address',
40
+ internalType: 'address',
41
+ },
42
+ ],
43
+ },
44
+ { name: 'router', type: 'address', internalType: 'address' },
45
+ {
46
+ name: 'cctpVerifier',
47
+ type: 'address',
48
+ internalType: 'address',
49
+ },
50
+ ],
51
+ stateMutability: 'nonpayable',
52
+ },
53
+ {
54
+ type: 'function',
55
+ name: 'acceptOwnership',
56
+ inputs: [],
57
+ outputs: [],
58
+ stateMutability: 'nonpayable',
59
+ },
60
+ {
61
+ type: 'function',
62
+ name: 'getFee',
63
+ inputs: [
64
+ { name: 'localToken', type: 'address', internalType: 'address' },
65
+ {
66
+ name: 'destChainSelector',
67
+ type: 'uint64',
68
+ internalType: 'uint64',
69
+ },
70
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
71
+ { name: 'feeToken', type: 'address', internalType: 'address' },
72
+ {
73
+ name: 'blockConfirmationsRequested',
74
+ type: 'uint16',
75
+ internalType: 'uint16',
76
+ },
77
+ { name: 'tokenArgs', type: 'bytes', internalType: 'bytes' },
78
+ ],
79
+ outputs: [
80
+ { name: 'feeUSDCents', type: 'uint256', internalType: 'uint256' },
81
+ {
82
+ name: 'destGasOverhead',
83
+ type: 'uint32',
84
+ internalType: 'uint32',
85
+ },
86
+ {
87
+ name: 'destBytesOverhead',
88
+ type: 'uint32',
89
+ internalType: 'uint32',
90
+ },
91
+ { name: 'tokenFeeBps', type: 'uint16', internalType: 'uint16' },
92
+ { name: 'isEnabled', type: 'bool', internalType: 'bool' },
93
+ ],
94
+ stateMutability: 'view',
95
+ },
96
+ {
97
+ type: 'function',
98
+ name: 'getFeeAggregator',
99
+ inputs: [],
100
+ outputs: [{ name: '', type: 'address', internalType: 'address' }],
101
+ stateMutability: 'view',
102
+ },
103
+ {
104
+ type: 'function',
105
+ name: 'getLockOrBurnMechanism',
106
+ inputs: [
107
+ {
108
+ name: 'remoteChainSelector',
109
+ type: 'uint64',
110
+ internalType: 'uint64',
111
+ },
112
+ ],
113
+ outputs: [
114
+ {
115
+ name: '',
116
+ type: 'uint8',
117
+ internalType: 'enum USDCTokenPoolProxy.LockOrBurnMechanism',
118
+ },
119
+ ],
120
+ stateMutability: 'view',
121
+ },
122
+ {
123
+ type: 'function',
124
+ name: 'getPools',
125
+ inputs: [],
126
+ outputs: [
127
+ {
128
+ name: '',
129
+ type: 'tuple',
130
+ internalType: 'struct USDCTokenPoolProxy.PoolAddresses',
131
+ components: [
132
+ {
133
+ name: 'cctpV1Pool',
134
+ type: 'address',
135
+ internalType: 'address',
136
+ },
137
+ {
138
+ name: 'cctpV2Pool',
139
+ type: 'address',
140
+ internalType: 'address',
141
+ },
142
+ {
143
+ name: 'cctpV2PoolWithCCV',
144
+ type: 'address',
145
+ internalType: 'address',
146
+ },
147
+ {
148
+ name: 'siloedLockReleasePool',
149
+ type: 'address',
150
+ internalType: 'address',
151
+ },
152
+ ],
153
+ },
154
+ ],
155
+ stateMutability: 'view',
156
+ },
157
+ {
158
+ type: 'function',
159
+ name: 'getRemotePools',
160
+ inputs: [
161
+ {
162
+ name: 'remoteChainSelector',
163
+ type: 'uint64',
164
+ internalType: 'uint64',
165
+ },
166
+ ],
167
+ outputs: [{ name: '', type: 'bytes[]', internalType: 'bytes[]' }],
168
+ stateMutability: 'view',
169
+ },
170
+ {
171
+ type: 'function',
172
+ name: 'getRemoteToken',
173
+ inputs: [
174
+ {
175
+ name: 'remoteChainSelector',
176
+ type: 'uint64',
177
+ internalType: 'uint64',
178
+ },
179
+ ],
180
+ outputs: [{ name: '', type: 'bytes', internalType: 'bytes' }],
181
+ stateMutability: 'view',
182
+ },
183
+ {
184
+ type: 'function',
185
+ name: 'getRequiredCCVs',
186
+ inputs: [
187
+ { name: '', type: 'address', internalType: 'address' },
188
+ {
189
+ name: 'remoteChainSelector',
190
+ type: 'uint64',
191
+ internalType: 'uint64',
192
+ },
193
+ { name: '', type: 'uint256', internalType: 'uint256' },
194
+ { name: '', type: 'uint16', internalType: 'uint16' },
195
+ { name: 'extraData', type: 'bytes', internalType: 'bytes' },
196
+ {
197
+ name: 'direction',
198
+ type: 'uint8',
199
+ internalType: 'enum IPoolV2.MessageDirection',
200
+ },
201
+ ],
202
+ outputs: [
203
+ {
204
+ name: 'requiredCCVs',
205
+ type: 'address[]',
206
+ internalType: 'address[]',
207
+ },
208
+ ],
209
+ stateMutability: 'view',
210
+ },
211
+ {
212
+ type: 'function',
213
+ name: 'getStaticConfig',
214
+ inputs: [],
215
+ outputs: [
216
+ { name: 'token', type: 'address', internalType: 'address' },
217
+ { name: 'router', type: 'address', internalType: 'address' },
218
+ {
219
+ name: 'cctpVerifier',
220
+ type: 'address',
221
+ internalType: 'address',
222
+ },
223
+ ],
224
+ stateMutability: 'view',
225
+ },
226
+ {
227
+ type: 'function',
228
+ name: 'getToken',
229
+ inputs: [],
230
+ outputs: [
231
+ {
232
+ name: 'token',
233
+ type: 'address',
234
+ internalType: 'contract IERC20',
235
+ },
236
+ ],
237
+ stateMutability: 'view',
238
+ },
239
+ {
240
+ type: 'function',
241
+ name: 'getTokenTransferFeeConfig',
242
+ inputs: [
243
+ { name: 'localToken', type: 'address', internalType: 'address' },
244
+ {
245
+ name: 'destChainSelector',
246
+ type: 'uint64',
247
+ internalType: 'uint64',
248
+ },
249
+ {
250
+ name: 'blockConfirmationsRequested',
251
+ type: 'uint16',
252
+ internalType: 'uint16',
253
+ },
254
+ { name: 'tokenArgs', type: 'bytes', internalType: 'bytes' },
255
+ ],
256
+ outputs: [
257
+ {
258
+ name: 'feeConfig',
259
+ type: 'tuple',
260
+ internalType: 'struct IPoolV2.TokenTransferFeeConfig',
261
+ components: [
262
+ {
263
+ name: 'destGasOverhead',
264
+ type: 'uint32',
265
+ internalType: 'uint32',
266
+ },
267
+ {
268
+ name: 'destBytesOverhead',
269
+ type: 'uint32',
270
+ internalType: 'uint32',
271
+ },
272
+ {
273
+ name: 'defaultBlockConfirmationsFeeUSDCents',
274
+ type: 'uint32',
275
+ internalType: 'uint32',
276
+ },
277
+ {
278
+ name: 'customBlockConfirmationsFeeUSDCents',
279
+ type: 'uint32',
280
+ internalType: 'uint32',
281
+ },
282
+ {
283
+ name: 'defaultBlockConfirmationsTransferFeeBps',
284
+ type: 'uint16',
285
+ internalType: 'uint16',
286
+ },
287
+ {
288
+ name: 'customBlockConfirmationsTransferFeeBps',
289
+ type: 'uint16',
290
+ internalType: 'uint16',
291
+ },
292
+ { name: 'isEnabled', type: 'bool', internalType: 'bool' },
293
+ ],
294
+ },
295
+ ],
296
+ stateMutability: 'view',
297
+ },
298
+ {
299
+ type: 'function',
300
+ name: 'isSupportedChain',
301
+ inputs: [
302
+ {
303
+ name: 'remoteChainSelector',
304
+ type: 'uint64',
305
+ internalType: 'uint64',
306
+ },
307
+ ],
308
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
309
+ stateMutability: 'view',
310
+ },
311
+ {
312
+ type: 'function',
313
+ name: 'isSupportedToken',
314
+ inputs: [{ name: 'token', type: 'address', internalType: 'address' }],
315
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
316
+ stateMutability: 'view',
317
+ },
318
+ {
319
+ type: 'function',
320
+ name: 'lockOrBurn',
321
+ inputs: [
322
+ {
323
+ name: 'lockOrBurnIn',
324
+ type: 'tuple',
325
+ internalType: 'struct Pool.LockOrBurnInV1',
326
+ components: [
327
+ { name: 'receiver', type: 'bytes', internalType: 'bytes' },
328
+ {
329
+ name: 'remoteChainSelector',
330
+ type: 'uint64',
331
+ internalType: 'uint64',
332
+ },
333
+ {
334
+ name: 'originalSender',
335
+ type: 'address',
336
+ internalType: 'address',
337
+ },
338
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
339
+ {
340
+ name: 'localToken',
341
+ type: 'address',
342
+ internalType: 'address',
343
+ },
344
+ ],
345
+ },
346
+ ],
347
+ outputs: [
348
+ {
349
+ name: '',
350
+ type: 'tuple',
351
+ internalType: 'struct Pool.LockOrBurnOutV1',
352
+ components: [
353
+ {
354
+ name: 'destTokenAddress',
355
+ type: 'bytes',
356
+ internalType: 'bytes',
357
+ },
358
+ {
359
+ name: 'destPoolData',
360
+ type: 'bytes',
361
+ internalType: 'bytes',
362
+ },
363
+ ],
364
+ },
365
+ ],
366
+ stateMutability: 'nonpayable',
367
+ },
368
+ {
369
+ type: 'function',
370
+ name: 'lockOrBurn',
371
+ inputs: [
372
+ {
373
+ name: 'lockOrBurnIn',
374
+ type: 'tuple',
375
+ internalType: 'struct Pool.LockOrBurnInV1',
376
+ components: [
377
+ { name: 'receiver', type: 'bytes', internalType: 'bytes' },
378
+ {
379
+ name: 'remoteChainSelector',
380
+ type: 'uint64',
381
+ internalType: 'uint64',
382
+ },
383
+ {
384
+ name: 'originalSender',
385
+ type: 'address',
386
+ internalType: 'address',
387
+ },
388
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
389
+ {
390
+ name: 'localToken',
391
+ type: 'address',
392
+ internalType: 'address',
393
+ },
394
+ ],
395
+ },
396
+ {
397
+ name: 'blockConfirmationsRequested',
398
+ type: 'uint16',
399
+ internalType: 'uint16',
400
+ },
401
+ { name: 'tokenArgs', type: 'bytes', internalType: 'bytes' },
402
+ ],
403
+ outputs: [
404
+ {
405
+ name: 'lockOrBurnOut',
406
+ type: 'tuple',
407
+ internalType: 'struct Pool.LockOrBurnOutV1',
408
+ components: [
409
+ {
410
+ name: 'destTokenAddress',
411
+ type: 'bytes',
412
+ internalType: 'bytes',
413
+ },
414
+ {
415
+ name: 'destPoolData',
416
+ type: 'bytes',
417
+ internalType: 'bytes',
418
+ },
419
+ ],
420
+ },
421
+ {
422
+ name: 'destTokenAmount',
423
+ type: 'uint256',
424
+ internalType: 'uint256',
425
+ },
426
+ ],
427
+ stateMutability: 'nonpayable',
428
+ },
429
+ {
430
+ type: 'function',
431
+ name: 'owner',
432
+ inputs: [],
433
+ outputs: [{ name: '', type: 'address', internalType: 'address' }],
434
+ stateMutability: 'view',
435
+ },
436
+ {
437
+ type: 'function',
438
+ name: 'releaseOrMint',
439
+ inputs: [
440
+ {
441
+ name: 'releaseOrMintIn',
442
+ type: 'tuple',
443
+ internalType: 'struct Pool.ReleaseOrMintInV1',
444
+ components: [
445
+ {
446
+ name: 'originalSender',
447
+ type: 'bytes',
448
+ internalType: 'bytes',
449
+ },
450
+ {
451
+ name: 'remoteChainSelector',
452
+ type: 'uint64',
453
+ internalType: 'uint64',
454
+ },
455
+ {
456
+ name: 'receiver',
457
+ type: 'address',
458
+ internalType: 'address',
459
+ },
460
+ {
461
+ name: 'sourceDenominatedAmount',
462
+ type: 'uint256',
463
+ internalType: 'uint256',
464
+ },
465
+ {
466
+ name: 'localToken',
467
+ type: 'address',
468
+ internalType: 'address',
469
+ },
470
+ {
471
+ name: 'sourcePoolAddress',
472
+ type: 'bytes',
473
+ internalType: 'bytes',
474
+ },
475
+ {
476
+ name: 'sourcePoolData',
477
+ type: 'bytes',
478
+ internalType: 'bytes',
479
+ },
480
+ {
481
+ name: 'offchainTokenData',
482
+ type: 'bytes',
483
+ internalType: 'bytes',
484
+ },
485
+ ],
486
+ },
487
+ ],
488
+ outputs: [
489
+ {
490
+ name: '',
491
+ type: 'tuple',
492
+ internalType: 'struct Pool.ReleaseOrMintOutV1',
493
+ components: [
494
+ {
495
+ name: 'destinationAmount',
496
+ type: 'uint256',
497
+ internalType: 'uint256',
498
+ },
499
+ ],
500
+ },
501
+ ],
502
+ stateMutability: 'nonpayable',
503
+ },
504
+ {
505
+ type: 'function',
506
+ name: 'releaseOrMint',
507
+ inputs: [
508
+ {
509
+ name: 'releaseOrMintIn',
510
+ type: 'tuple',
511
+ internalType: 'struct Pool.ReleaseOrMintInV1',
512
+ components: [
513
+ {
514
+ name: 'originalSender',
515
+ type: 'bytes',
516
+ internalType: 'bytes',
517
+ },
518
+ {
519
+ name: 'remoteChainSelector',
520
+ type: 'uint64',
521
+ internalType: 'uint64',
522
+ },
523
+ {
524
+ name: 'receiver',
525
+ type: 'address',
526
+ internalType: 'address',
527
+ },
528
+ {
529
+ name: 'sourceDenominatedAmount',
530
+ type: 'uint256',
531
+ internalType: 'uint256',
532
+ },
533
+ {
534
+ name: 'localToken',
535
+ type: 'address',
536
+ internalType: 'address',
537
+ },
538
+ {
539
+ name: 'sourcePoolAddress',
540
+ type: 'bytes',
541
+ internalType: 'bytes',
542
+ },
543
+ {
544
+ name: 'sourcePoolData',
545
+ type: 'bytes',
546
+ internalType: 'bytes',
547
+ },
548
+ {
549
+ name: 'offchainTokenData',
550
+ type: 'bytes',
551
+ internalType: 'bytes',
552
+ },
553
+ ],
554
+ },
555
+ {
556
+ name: 'blockConfirmationsRequested',
557
+ type: 'uint16',
558
+ internalType: 'uint16',
559
+ },
560
+ ],
561
+ outputs: [
562
+ {
563
+ name: '',
564
+ type: 'tuple',
565
+ internalType: 'struct Pool.ReleaseOrMintOutV1',
566
+ components: [
567
+ {
568
+ name: 'destinationAmount',
569
+ type: 'uint256',
570
+ internalType: 'uint256',
571
+ },
572
+ ],
573
+ },
574
+ ],
575
+ stateMutability: 'nonpayable',
576
+ },
577
+ {
578
+ type: 'function',
579
+ name: 'setFeeAggregator',
580
+ inputs: [
581
+ {
582
+ name: 'feeAggregator',
583
+ type: 'address',
584
+ internalType: 'address',
585
+ },
586
+ ],
587
+ outputs: [],
588
+ stateMutability: 'nonpayable',
589
+ },
590
+ {
591
+ type: 'function',
592
+ name: 'supportsInterface',
593
+ inputs: [{ name: 'interfaceId', type: 'bytes4', internalType: 'bytes4' }],
594
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
595
+ stateMutability: 'pure',
596
+ },
597
+ {
598
+ type: 'function',
599
+ name: 'transferOwnership',
600
+ inputs: [{ name: 'to', type: 'address', internalType: 'address' }],
601
+ outputs: [],
602
+ stateMutability: 'nonpayable',
603
+ },
604
+ {
605
+ type: 'function',
606
+ name: 'typeAndVersion',
607
+ inputs: [],
608
+ outputs: [{ name: '', type: 'string', internalType: 'string' }],
609
+ stateMutability: 'view',
610
+ },
611
+ {
612
+ type: 'function',
613
+ name: 'updateLockOrBurnMechanisms',
614
+ inputs: [
615
+ {
616
+ name: 'remoteChainSelectors',
617
+ type: 'uint64[]',
618
+ internalType: 'uint64[]',
619
+ },
620
+ {
621
+ name: 'mechanisms',
622
+ type: 'uint8[]',
623
+ internalType: 'enum USDCTokenPoolProxy.LockOrBurnMechanism[]',
624
+ },
625
+ ],
626
+ outputs: [],
627
+ stateMutability: 'nonpayable',
628
+ },
629
+ {
630
+ type: 'function',
631
+ name: 'updatePoolAddresses',
632
+ inputs: [
633
+ {
634
+ name: 'pools',
635
+ type: 'tuple',
636
+ internalType: 'struct USDCTokenPoolProxy.PoolAddresses',
637
+ components: [
638
+ {
639
+ name: 'cctpV1Pool',
640
+ type: 'address',
641
+ internalType: 'address',
642
+ },
643
+ {
644
+ name: 'cctpV2Pool',
645
+ type: 'address',
646
+ internalType: 'address',
647
+ },
648
+ {
649
+ name: 'cctpV2PoolWithCCV',
650
+ type: 'address',
651
+ internalType: 'address',
652
+ },
653
+ {
654
+ name: 'siloedLockReleasePool',
655
+ type: 'address',
656
+ internalType: 'address',
657
+ },
658
+ ],
659
+ },
660
+ ],
661
+ outputs: [],
662
+ stateMutability: 'nonpayable',
663
+ },
664
+ {
665
+ type: 'function',
666
+ name: 'withdrawFeeTokens',
667
+ inputs: [
668
+ {
669
+ name: 'feeTokens',
670
+ type: 'address[]',
671
+ internalType: 'address[]',
672
+ },
673
+ ],
674
+ outputs: [],
675
+ stateMutability: 'nonpayable',
676
+ },
677
+ {
678
+ type: 'event',
679
+ name: 'FeeTokenWithdrawn',
680
+ inputs: [
681
+ {
682
+ name: 'receiver',
683
+ type: 'address',
684
+ indexed: true,
685
+ internalType: 'address',
686
+ },
687
+ {
688
+ name: 'feeToken',
689
+ type: 'address',
690
+ indexed: true,
691
+ internalType: 'address',
692
+ },
693
+ {
694
+ name: 'amount',
695
+ type: 'uint256',
696
+ indexed: false,
697
+ internalType: 'uint256',
698
+ },
699
+ ],
700
+ anonymous: false,
701
+ },
702
+ {
703
+ type: 'event',
704
+ name: 'LockOrBurnMechanismUpdated',
705
+ inputs: [
706
+ {
707
+ name: 'remoteChainSelector',
708
+ type: 'uint64',
709
+ indexed: true,
710
+ internalType: 'uint64',
711
+ },
712
+ {
713
+ name: 'mechanism',
714
+ type: 'uint8',
715
+ indexed: false,
716
+ internalType: 'enum USDCTokenPoolProxy.LockOrBurnMechanism',
717
+ },
718
+ ],
719
+ anonymous: false,
720
+ },
721
+ {
722
+ type: 'event',
723
+ name: 'OwnershipTransferRequested',
724
+ inputs: [
725
+ {
726
+ name: 'from',
727
+ type: 'address',
728
+ indexed: true,
729
+ internalType: 'address',
730
+ },
731
+ {
732
+ name: 'to',
733
+ type: 'address',
734
+ indexed: true,
735
+ internalType: 'address',
736
+ },
737
+ ],
738
+ anonymous: false,
739
+ },
740
+ {
741
+ type: 'event',
742
+ name: 'OwnershipTransferred',
743
+ inputs: [
744
+ {
745
+ name: 'from',
746
+ type: 'address',
747
+ indexed: true,
748
+ internalType: 'address',
749
+ },
750
+ {
751
+ name: 'to',
752
+ type: 'address',
753
+ indexed: true,
754
+ internalType: 'address',
755
+ },
756
+ ],
757
+ anonymous: false,
758
+ },
759
+ {
760
+ type: 'event',
761
+ name: 'PoolAddressesUpdated',
762
+ inputs: [
763
+ {
764
+ name: 'pools',
765
+ type: 'tuple',
766
+ indexed: false,
767
+ internalType: 'struct USDCTokenPoolProxy.PoolAddresses',
768
+ components: [
769
+ {
770
+ name: 'cctpV1Pool',
771
+ type: 'address',
772
+ internalType: 'address',
773
+ },
774
+ {
775
+ name: 'cctpV2Pool',
776
+ type: 'address',
777
+ internalType: 'address',
778
+ },
779
+ {
780
+ name: 'cctpV2PoolWithCCV',
781
+ type: 'address',
782
+ internalType: 'address',
783
+ },
784
+ {
785
+ name: 'siloedLockReleasePool',
786
+ type: 'address',
787
+ internalType: 'address',
788
+ },
789
+ ],
790
+ },
791
+ ],
792
+ anonymous: false,
793
+ },
794
+ { type: 'error', name: 'AddressCannotBeZero', inputs: [] },
795
+ {
796
+ type: 'error',
797
+ name: 'CallerIsNotARampOnRouter',
798
+ inputs: [{ name: 'caller', type: 'address', internalType: 'address' }],
799
+ },
800
+ { type: 'error', name: 'CannotTransferToSelf', inputs: [] },
801
+ {
802
+ type: 'error',
803
+ name: 'ChainNotSupportedByVerifier',
804
+ inputs: [
805
+ {
806
+ name: 'remoteChainSelector',
807
+ type: 'uint64',
808
+ internalType: 'uint64',
809
+ },
810
+ ],
811
+ },
812
+ {
813
+ type: 'error',
814
+ name: 'InvalidLockOrBurnMechanism',
815
+ inputs: [
816
+ {
817
+ name: 'mechanism',
818
+ type: 'uint8',
819
+ internalType: 'enum USDCTokenPoolProxy.LockOrBurnMechanism',
820
+ },
821
+ ],
822
+ },
823
+ {
824
+ type: 'error',
825
+ name: 'InvalidMessageVersion',
826
+ inputs: [{ name: 'version', type: 'bytes4', internalType: 'bytes4' }],
827
+ },
828
+ { type: 'error', name: 'MismatchedArrayLengths', inputs: [] },
829
+ { type: 'error', name: 'MustBeProposedOwner', inputs: [] },
830
+ {
831
+ type: 'error',
832
+ name: 'MustSetPoolForMechanism',
833
+ inputs: [
834
+ {
835
+ name: 'remoteChainSelector',
836
+ type: 'uint64',
837
+ internalType: 'uint64',
838
+ },
839
+ {
840
+ name: 'mechanism',
841
+ type: 'uint8',
842
+ internalType: 'enum USDCTokenPoolProxy.LockOrBurnMechanism',
843
+ },
844
+ ],
845
+ },
846
+ {
847
+ type: 'error',
848
+ name: 'NoLockOrBurnMechanismSet',
849
+ inputs: [
850
+ {
851
+ name: 'remoteChainSelector',
852
+ type: 'uint64',
853
+ internalType: 'uint64',
854
+ },
855
+ ],
856
+ },
857
+ { type: 'error', name: 'OnlyCallableByOwner', inputs: [] },
858
+ { type: 'error', name: 'OwnerCannotBeZero', inputs: [] },
859
+ { type: 'error', name: 'PoolAddressCannotBeSelf', inputs: [] },
860
+ {
861
+ type: 'error',
862
+ name: 'SafeERC20FailedOperation',
863
+ inputs: [{ name: 'token', type: 'address', internalType: 'address' }],
864
+ },
865
+ {
866
+ type: 'error',
867
+ name: 'TokenPoolUnsupported',
868
+ inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],
869
+ },
870
+ { type: 'error', name: 'ZeroAddressNotAllowed', inputs: [] },
871
+ // generate:end
872
+ ] as const