@nradko/metric-omm-sdk-v1 0.3.0 → 0.4.2

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 (110) hide show
  1. package/README.md +98 -111
  2. package/dist/abis/MetricOmmPool.d.ts +14 -0
  3. package/dist/abis/MetricOmmPool.d.ts.map +1 -1
  4. package/dist/abis/MetricOmmPool.js +18 -0
  5. package/dist/abis/MetricOmmPool.js.map +1 -1
  6. package/dist/abis/MetricOmmPoolDataProvider.d.ts +0 -136
  7. package/dist/abis/MetricOmmPoolDataProvider.d.ts.map +1 -1
  8. package/dist/abis/MetricOmmPoolDataProvider.js +0 -177
  9. package/dist/abis/MetricOmmPoolDataProvider.js.map +1 -1
  10. package/dist/abis/MetricOmmPoolStateView.d.ts +238 -0
  11. package/dist/abis/MetricOmmPoolStateView.d.ts.map +1 -0
  12. package/dist/abis/MetricOmmPoolStateView.js +315 -0
  13. package/dist/abis/MetricOmmPoolStateView.js.map +1 -0
  14. package/dist/abis/MetricOmmSimpleRouter.d.ts +619 -0
  15. package/dist/abis/{MetricOmmPoolSwapper.d.ts.map → MetricOmmSimpleRouter.d.ts.map} +1 -1
  16. package/dist/abis/MetricOmmSimpleRouter.js +805 -0
  17. package/dist/abis/MetricOmmSimpleRouter.js.map +1 -0
  18. package/dist/abis/MetricOmmSwapQuoter.d.ts +576 -0
  19. package/dist/abis/{PriceProviderUi.d.ts.map → MetricOmmSwapQuoter.d.ts.map} +1 -1
  20. package/dist/abis/MetricOmmSwapQuoter.js +748 -0
  21. package/dist/abis/MetricOmmSwapQuoter.js.map +1 -0
  22. package/dist/abis/OracleProvider.d.ts +106 -0
  23. package/dist/abis/OracleProvider.d.ts.map +1 -0
  24. package/dist/abis/OracleProvider.js +62 -0
  25. package/dist/abis/OracleProvider.js.map +1 -0
  26. package/dist/abis/PriceProvider.d.ts +8 -2
  27. package/dist/abis/PriceProvider.d.ts.map +1 -1
  28. package/dist/abis/PriceProvider.js +9 -1
  29. package/dist/abis/PriceProvider.js.map +1 -1
  30. package/dist/abis/index.d.ts +4 -2
  31. package/dist/abis/index.d.ts.map +1 -1
  32. package/dist/abis/index.js +4 -2
  33. package/dist/abis/index.js.map +1 -1
  34. package/dist/addresses.d.ts +3 -3
  35. package/dist/addresses.d.ts.map +1 -1
  36. package/dist/addresses.js +10 -10
  37. package/dist/addresses.js.map +1 -1
  38. package/dist/constants.d.ts +4 -1
  39. package/dist/constants.d.ts.map +1 -1
  40. package/dist/constants.js +7 -2
  41. package/dist/constants.js.map +1 -1
  42. package/dist/index.d.ts +5 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +8 -4
  45. package/dist/index.js.map +1 -1
  46. package/dist/oracle/index.d.ts +5 -0
  47. package/dist/oracle/index.d.ts.map +1 -0
  48. package/dist/oracle/index.js +5 -0
  49. package/dist/oracle/index.js.map +1 -0
  50. package/dist/oracle/registry.d.ts +53 -0
  51. package/dist/oracle/registry.d.ts.map +1 -0
  52. package/dist/oracle/registry.js +70 -0
  53. package/dist/oracle/registry.js.map +1 -0
  54. package/dist/quoter/index.d.ts +6 -0
  55. package/dist/quoter/index.d.ts.map +1 -0
  56. package/dist/quoter/index.js +6 -0
  57. package/dist/quoter/index.js.map +1 -0
  58. package/dist/quoter/quote.d.ts +58 -0
  59. package/dist/quoter/quote.d.ts.map +1 -0
  60. package/dist/quoter/quote.js +74 -0
  61. package/dist/quoter/quote.js.map +1 -0
  62. package/dist/quoter/quotePath.d.ts +65 -0
  63. package/dist/quoter/quotePath.d.ts.map +1 -0
  64. package/dist/quoter/quotePath.js +108 -0
  65. package/dist/quoter/quotePath.js.map +1 -0
  66. package/dist/router/index.d.ts +2 -1
  67. package/dist/router/index.d.ts.map +1 -1
  68. package/dist/router/index.js +2 -1
  69. package/dist/router/index.js.map +1 -1
  70. package/dist/router/swap.d.ts +37 -92
  71. package/dist/router/swap.d.ts.map +1 -1
  72. package/dist/router/swap.js +96 -298
  73. package/dist/router/swap.js.map +1 -1
  74. package/dist/router/swapPath.d.ts +56 -0
  75. package/dist/router/swapPath.d.ts.map +1 -0
  76. package/dist/router/swapPath.js +98 -0
  77. package/dist/router/swapPath.js.map +1 -0
  78. package/dist/swap/path.d.ts +13 -0
  79. package/dist/swap/path.d.ts.map +1 -0
  80. package/dist/swap/path.js +74 -0
  81. package/dist/swap/path.js.map +1 -0
  82. package/package.json +4 -5
  83. package/src/abis/MetricOmmPool.ts +18 -0
  84. package/src/abis/MetricOmmPoolDataProvider.ts +0 -177
  85. package/src/abis/MetricOmmPoolStateView.ts +314 -0
  86. package/src/abis/MetricOmmSimpleRouter.ts +804 -0
  87. package/src/abis/MetricOmmSwapQuoter.ts +747 -0
  88. package/src/abis/OracleProvider.ts +61 -0
  89. package/src/abis/PriceProvider.ts +9 -1
  90. package/src/abis/index.ts +4 -2
  91. package/src/addresses.ts +13 -13
  92. package/src/constants.ts +7 -2
  93. package/src/index.ts +62 -23
  94. package/src/oracle/index.ts +14 -0
  95. package/src/oracle/registry.ts +146 -0
  96. package/src/quoter/index.ts +28 -0
  97. package/src/quoter/quote.ts +193 -0
  98. package/src/quoter/quotePath.ts +240 -0
  99. package/src/router/index.ts +24 -25
  100. package/src/router/swap.ts +142 -480
  101. package/src/router/swapPath.ts +181 -0
  102. package/src/swap/path.ts +107 -0
  103. package/dist/abis/MetricOmmPoolSwapper.d.ts +0 -917
  104. package/dist/abis/MetricOmmPoolSwapper.js +0 -1185
  105. package/dist/abis/MetricOmmPoolSwapper.js.map +0 -1
  106. package/dist/abis/PriceProviderUi.d.ts +0 -433
  107. package/dist/abis/PriceProviderUi.js +0 -318
  108. package/dist/abis/PriceProviderUi.js.map +0 -1
  109. package/src/abis/MetricOmmPoolSwapper.ts +0 -1184
  110. package/src/abis/PriceProviderUi.ts +0 -317
@@ -0,0 +1,804 @@
1
+ export const MetricOmmSimpleRouterAbi = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: "address",
6
+ name: "weth",
7
+ type: "address",
8
+ },
9
+ ],
10
+ stateMutability: "nonpayable",
11
+ type: "constructor",
12
+ },
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "target",
18
+ type: "address",
19
+ },
20
+ ],
21
+ name: "AddressEmptyCode",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [
26
+ {
27
+ internalType: "uint128",
28
+ name: "amount",
29
+ type: "uint128",
30
+ },
31
+ ],
32
+ name: "AmountTooLarge",
33
+ type: "error",
34
+ },
35
+ {
36
+ inputs: [],
37
+ name: "ETHTransferFailed",
38
+ type: "error",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "FailedCall",
43
+ type: "error",
44
+ },
45
+ {
46
+ inputs: [
47
+ {
48
+ internalType: "uint256",
49
+ name: "amountIn",
50
+ type: "uint256",
51
+ },
52
+ {
53
+ internalType: "uint256",
54
+ name: "maxAmountIn",
55
+ type: "uint256",
56
+ },
57
+ ],
58
+ name: "InputTooHigh",
59
+ type: "error",
60
+ },
61
+ {
62
+ inputs: [
63
+ {
64
+ internalType: "uint256",
65
+ name: "amountOut",
66
+ type: "uint256",
67
+ },
68
+ {
69
+ internalType: "uint256",
70
+ name: "minAmountOut",
71
+ type: "uint256",
72
+ },
73
+ ],
74
+ name: "InsufficientOutput",
75
+ type: "error",
76
+ },
77
+ {
78
+ inputs: [
79
+ {
80
+ internalType: "address",
81
+ name: "token",
82
+ type: "address",
83
+ },
84
+ {
85
+ internalType: "uint256",
86
+ name: "required",
87
+ type: "uint256",
88
+ },
89
+ {
90
+ internalType: "uint256",
91
+ name: "available",
92
+ type: "uint256",
93
+ },
94
+ ],
95
+ name: "InsufficientToken",
96
+ type: "error",
97
+ },
98
+ {
99
+ inputs: [
100
+ {
101
+ internalType: "uint256",
102
+ name: "required",
103
+ type: "uint256",
104
+ },
105
+ {
106
+ internalType: "uint256",
107
+ name: "available",
108
+ type: "uint256",
109
+ },
110
+ ],
111
+ name: "InsufficientWETH",
112
+ type: "error",
113
+ },
114
+ {
115
+ inputs: [],
116
+ name: "InvalidCallbackCaller",
117
+ type: "error",
118
+ },
119
+ {
120
+ inputs: [
121
+ {
122
+ internalType: "uint8",
123
+ name: "callbackMode",
124
+ type: "uint8",
125
+ },
126
+ ],
127
+ name: "InvalidCallbackMode",
128
+ type: "error",
129
+ },
130
+ {
131
+ inputs: [
132
+ {
133
+ internalType: "uint8",
134
+ name: "hop",
135
+ type: "uint8",
136
+ },
137
+ {
138
+ internalType: "int128",
139
+ name: "amountIn",
140
+ type: "int128",
141
+ },
142
+ {
143
+ internalType: "int256",
144
+ name: "expected",
145
+ type: "int256",
146
+ },
147
+ ],
148
+ name: "InvalidInputAmountAtHop",
149
+ type: "error",
150
+ },
151
+ {
152
+ inputs: [
153
+ {
154
+ internalType: "int128",
155
+ name: "amountOut",
156
+ type: "int128",
157
+ },
158
+ {
159
+ internalType: "uint128",
160
+ name: "expectedAmountOut",
161
+ type: "uint128",
162
+ },
163
+ ],
164
+ name: "InvalidOutputAmount",
165
+ type: "error",
166
+ },
167
+ {
168
+ inputs: [
169
+ {
170
+ internalType: "uint8",
171
+ name: "hop",
172
+ type: "uint8",
173
+ },
174
+ {
175
+ internalType: "int128",
176
+ name: "amountOut",
177
+ type: "int128",
178
+ },
179
+ {
180
+ internalType: "int256",
181
+ name: "amount",
182
+ type: "int256",
183
+ },
184
+ ],
185
+ name: "InvalidOutputAmountAtHop",
186
+ type: "error",
187
+ },
188
+ {
189
+ inputs: [],
190
+ name: "InvalidPath",
191
+ type: "error",
192
+ },
193
+ {
194
+ inputs: [
195
+ {
196
+ internalType: "bool",
197
+ name: "zeroForOne",
198
+ type: "bool",
199
+ },
200
+ {
201
+ internalType: "uint128",
202
+ name: "priceLimitX64",
203
+ type: "uint128",
204
+ },
205
+ ],
206
+ name: "InvalidPriceLimitForDirection",
207
+ type: "error",
208
+ },
209
+ {
210
+ inputs: [],
211
+ name: "InvalidSwapDeltas",
212
+ type: "error",
213
+ },
214
+ {
215
+ inputs: [],
216
+ name: "InvalidWETH",
217
+ type: "error",
218
+ },
219
+ {
220
+ inputs: [],
221
+ name: "NotWETH",
222
+ type: "error",
223
+ },
224
+ {
225
+ inputs: [
226
+ {
227
+ internalType: "uint8",
228
+ name: "bits",
229
+ type: "uint8",
230
+ },
231
+ {
232
+ internalType: "int256",
233
+ name: "value",
234
+ type: "int256",
235
+ },
236
+ ],
237
+ name: "SafeCastOverflowedIntDowncast",
238
+ type: "error",
239
+ },
240
+ {
241
+ inputs: [
242
+ {
243
+ internalType: "int256",
244
+ name: "value",
245
+ type: "int256",
246
+ },
247
+ ],
248
+ name: "SafeCastOverflowedIntToUint",
249
+ type: "error",
250
+ },
251
+ {
252
+ inputs: [
253
+ {
254
+ internalType: "uint8",
255
+ name: "bits",
256
+ type: "uint8",
257
+ },
258
+ {
259
+ internalType: "uint256",
260
+ name: "value",
261
+ type: "uint256",
262
+ },
263
+ ],
264
+ name: "SafeCastOverflowedUintDowncast",
265
+ type: "error",
266
+ },
267
+ {
268
+ inputs: [
269
+ {
270
+ internalType: "address",
271
+ name: "token",
272
+ type: "address",
273
+ },
274
+ ],
275
+ name: "SafeERC20FailedOperation",
276
+ type: "error",
277
+ },
278
+ {
279
+ inputs: [
280
+ {
281
+ internalType: "uint256",
282
+ name: "deadline",
283
+ type: "uint256",
284
+ },
285
+ {
286
+ internalType: "uint256",
287
+ name: "timestamp",
288
+ type: "uint256",
289
+ },
290
+ ],
291
+ name: "TransactionExpired",
292
+ type: "error",
293
+ },
294
+ {
295
+ inputs: [
296
+ {
297
+ components: [
298
+ {
299
+ internalType: "address[]",
300
+ name: "tokens",
301
+ type: "address[]",
302
+ },
303
+ {
304
+ internalType: "address[]",
305
+ name: "pools",
306
+ type: "address[]",
307
+ },
308
+ {
309
+ internalType: "bytes[]",
310
+ name: "extensionDatas",
311
+ type: "bytes[]",
312
+ },
313
+ {
314
+ internalType: "uint256",
315
+ name: "zeroForOneBitMap",
316
+ type: "uint256",
317
+ },
318
+ {
319
+ internalType: "uint128",
320
+ name: "amountIn",
321
+ type: "uint128",
322
+ },
323
+ {
324
+ internalType: "uint128",
325
+ name: "amountOutMinimum",
326
+ type: "uint128",
327
+ },
328
+ {
329
+ internalType: "address",
330
+ name: "recipient",
331
+ type: "address",
332
+ },
333
+ {
334
+ internalType: "uint256",
335
+ name: "deadline",
336
+ type: "uint256",
337
+ },
338
+ ],
339
+ internalType: "struct IMetricOmmSimpleRouter.ExactInputParams",
340
+ name: "params",
341
+ type: "tuple",
342
+ },
343
+ ],
344
+ name: "exactInput",
345
+ outputs: [
346
+ {
347
+ internalType: "uint256",
348
+ name: "amountOut",
349
+ type: "uint256",
350
+ },
351
+ ],
352
+ stateMutability: "payable",
353
+ type: "function",
354
+ },
355
+ {
356
+ inputs: [
357
+ {
358
+ components: [
359
+ {
360
+ internalType: "address",
361
+ name: "pool",
362
+ type: "address",
363
+ },
364
+ {
365
+ internalType: "address",
366
+ name: "tokenIn",
367
+ type: "address",
368
+ },
369
+ {
370
+ internalType: "address",
371
+ name: "tokenOut",
372
+ type: "address",
373
+ },
374
+ {
375
+ internalType: "bool",
376
+ name: "zeroForOne",
377
+ type: "bool",
378
+ },
379
+ {
380
+ internalType: "uint128",
381
+ name: "amountIn",
382
+ type: "uint128",
383
+ },
384
+ {
385
+ internalType: "uint128",
386
+ name: "amountOutMinimum",
387
+ type: "uint128",
388
+ },
389
+ {
390
+ internalType: "address",
391
+ name: "recipient",
392
+ type: "address",
393
+ },
394
+ {
395
+ internalType: "uint256",
396
+ name: "deadline",
397
+ type: "uint256",
398
+ },
399
+ {
400
+ internalType: "uint128",
401
+ name: "priceLimitX64",
402
+ type: "uint128",
403
+ },
404
+ {
405
+ internalType: "bytes",
406
+ name: "extensionData",
407
+ type: "bytes",
408
+ },
409
+ ],
410
+ internalType: "struct IMetricOmmSimpleRouter.ExactInputSingleParams",
411
+ name: "params",
412
+ type: "tuple",
413
+ },
414
+ ],
415
+ name: "exactInputSingle",
416
+ outputs: [
417
+ {
418
+ internalType: "uint256",
419
+ name: "amountOut",
420
+ type: "uint256",
421
+ },
422
+ ],
423
+ stateMutability: "payable",
424
+ type: "function",
425
+ },
426
+ {
427
+ inputs: [
428
+ {
429
+ components: [
430
+ {
431
+ internalType: "address[]",
432
+ name: "tokens",
433
+ type: "address[]",
434
+ },
435
+ {
436
+ internalType: "address[]",
437
+ name: "pools",
438
+ type: "address[]",
439
+ },
440
+ {
441
+ internalType: "bytes[]",
442
+ name: "extensionDatas",
443
+ type: "bytes[]",
444
+ },
445
+ {
446
+ internalType: "uint256",
447
+ name: "zeroForOneBitMap",
448
+ type: "uint256",
449
+ },
450
+ {
451
+ internalType: "uint128",
452
+ name: "amountOut",
453
+ type: "uint128",
454
+ },
455
+ {
456
+ internalType: "uint128",
457
+ name: "amountInMaximum",
458
+ type: "uint128",
459
+ },
460
+ {
461
+ internalType: "address",
462
+ name: "recipient",
463
+ type: "address",
464
+ },
465
+ {
466
+ internalType: "uint256",
467
+ name: "deadline",
468
+ type: "uint256",
469
+ },
470
+ ],
471
+ internalType: "struct IMetricOmmSimpleRouter.ExactOutputParams",
472
+ name: "params",
473
+ type: "tuple",
474
+ },
475
+ ],
476
+ name: "exactOutput",
477
+ outputs: [
478
+ {
479
+ internalType: "uint256",
480
+ name: "amountIn",
481
+ type: "uint256",
482
+ },
483
+ ],
484
+ stateMutability: "payable",
485
+ type: "function",
486
+ },
487
+ {
488
+ inputs: [
489
+ {
490
+ components: [
491
+ {
492
+ internalType: "address",
493
+ name: "pool",
494
+ type: "address",
495
+ },
496
+ {
497
+ internalType: "address",
498
+ name: "tokenIn",
499
+ type: "address",
500
+ },
501
+ {
502
+ internalType: "address",
503
+ name: "tokenOut",
504
+ type: "address",
505
+ },
506
+ {
507
+ internalType: "bool",
508
+ name: "zeroForOne",
509
+ type: "bool",
510
+ },
511
+ {
512
+ internalType: "uint128",
513
+ name: "amountOut",
514
+ type: "uint128",
515
+ },
516
+ {
517
+ internalType: "uint128",
518
+ name: "amountInMaximum",
519
+ type: "uint128",
520
+ },
521
+ {
522
+ internalType: "address",
523
+ name: "recipient",
524
+ type: "address",
525
+ },
526
+ {
527
+ internalType: "uint256",
528
+ name: "deadline",
529
+ type: "uint256",
530
+ },
531
+ {
532
+ internalType: "uint128",
533
+ name: "priceLimitX64",
534
+ type: "uint128",
535
+ },
536
+ {
537
+ internalType: "bytes",
538
+ name: "extensionData",
539
+ type: "bytes",
540
+ },
541
+ ],
542
+ internalType: "struct IMetricOmmSimpleRouter.ExactOutputSingleParams",
543
+ name: "params",
544
+ type: "tuple",
545
+ },
546
+ ],
547
+ name: "exactOutputSingle",
548
+ outputs: [
549
+ {
550
+ internalType: "uint256",
551
+ name: "amountIn",
552
+ type: "uint256",
553
+ },
554
+ ],
555
+ stateMutability: "payable",
556
+ type: "function",
557
+ },
558
+ {
559
+ inputs: [
560
+ {
561
+ internalType: "int256",
562
+ name: "amount0Delta",
563
+ type: "int256",
564
+ },
565
+ {
566
+ internalType: "int256",
567
+ name: "amount1Delta",
568
+ type: "int256",
569
+ },
570
+ {
571
+ internalType: "bytes",
572
+ name: "data",
573
+ type: "bytes",
574
+ },
575
+ ],
576
+ name: "metricOmmSwapCallback",
577
+ outputs: [],
578
+ stateMutability: "nonpayable",
579
+ type: "function",
580
+ },
581
+ {
582
+ inputs: [
583
+ {
584
+ internalType: "bytes[]",
585
+ name: "data",
586
+ type: "bytes[]",
587
+ },
588
+ ],
589
+ name: "multicall",
590
+ outputs: [
591
+ {
592
+ internalType: "bytes[]",
593
+ name: "results",
594
+ type: "bytes[]",
595
+ },
596
+ ],
597
+ stateMutability: "payable",
598
+ type: "function",
599
+ },
600
+ {
601
+ inputs: [],
602
+ name: "refundETH",
603
+ outputs: [],
604
+ stateMutability: "payable",
605
+ type: "function",
606
+ },
607
+ {
608
+ inputs: [
609
+ {
610
+ internalType: "address",
611
+ name: "token",
612
+ type: "address",
613
+ },
614
+ {
615
+ internalType: "uint256",
616
+ name: "value",
617
+ type: "uint256",
618
+ },
619
+ {
620
+ internalType: "uint256",
621
+ name: "deadline",
622
+ type: "uint256",
623
+ },
624
+ {
625
+ internalType: "uint8",
626
+ name: "v",
627
+ type: "uint8",
628
+ },
629
+ {
630
+ internalType: "bytes32",
631
+ name: "r",
632
+ type: "bytes32",
633
+ },
634
+ {
635
+ internalType: "bytes32",
636
+ name: "s",
637
+ type: "bytes32",
638
+ },
639
+ ],
640
+ name: "selfPermit",
641
+ outputs: [],
642
+ stateMutability: "payable",
643
+ type: "function",
644
+ },
645
+ {
646
+ inputs: [
647
+ {
648
+ internalType: "address",
649
+ name: "token",
650
+ type: "address",
651
+ },
652
+ {
653
+ internalType: "uint256",
654
+ name: "nonce",
655
+ type: "uint256",
656
+ },
657
+ {
658
+ internalType: "uint256",
659
+ name: "expiry",
660
+ type: "uint256",
661
+ },
662
+ {
663
+ internalType: "uint8",
664
+ name: "v",
665
+ type: "uint8",
666
+ },
667
+ {
668
+ internalType: "bytes32",
669
+ name: "r",
670
+ type: "bytes32",
671
+ },
672
+ {
673
+ internalType: "bytes32",
674
+ name: "s",
675
+ type: "bytes32",
676
+ },
677
+ ],
678
+ name: "selfPermitAllowed",
679
+ outputs: [],
680
+ stateMutability: "payable",
681
+ type: "function",
682
+ },
683
+ {
684
+ inputs: [
685
+ {
686
+ internalType: "address",
687
+ name: "token",
688
+ type: "address",
689
+ },
690
+ {
691
+ internalType: "uint256",
692
+ name: "nonce",
693
+ type: "uint256",
694
+ },
695
+ {
696
+ internalType: "uint256",
697
+ name: "expiry",
698
+ type: "uint256",
699
+ },
700
+ {
701
+ internalType: "uint8",
702
+ name: "v",
703
+ type: "uint8",
704
+ },
705
+ {
706
+ internalType: "bytes32",
707
+ name: "r",
708
+ type: "bytes32",
709
+ },
710
+ {
711
+ internalType: "bytes32",
712
+ name: "s",
713
+ type: "bytes32",
714
+ },
715
+ ],
716
+ name: "selfPermitAllowedIfNecessary",
717
+ outputs: [],
718
+ stateMutability: "payable",
719
+ type: "function",
720
+ },
721
+ {
722
+ inputs: [
723
+ {
724
+ internalType: "address",
725
+ name: "token",
726
+ type: "address",
727
+ },
728
+ {
729
+ internalType: "uint256",
730
+ name: "value",
731
+ type: "uint256",
732
+ },
733
+ {
734
+ internalType: "uint256",
735
+ name: "deadline",
736
+ type: "uint256",
737
+ },
738
+ {
739
+ internalType: "uint8",
740
+ name: "v",
741
+ type: "uint8",
742
+ },
743
+ {
744
+ internalType: "bytes32",
745
+ name: "r",
746
+ type: "bytes32",
747
+ },
748
+ {
749
+ internalType: "bytes32",
750
+ name: "s",
751
+ type: "bytes32",
752
+ },
753
+ ],
754
+ name: "selfPermitIfNecessary",
755
+ outputs: [],
756
+ stateMutability: "payable",
757
+ type: "function",
758
+ },
759
+ {
760
+ inputs: [
761
+ {
762
+ internalType: "address",
763
+ name: "token",
764
+ type: "address",
765
+ },
766
+ {
767
+ internalType: "uint256",
768
+ name: "amountMinimum",
769
+ type: "uint256",
770
+ },
771
+ {
772
+ internalType: "address",
773
+ name: "recipient",
774
+ type: "address",
775
+ },
776
+ ],
777
+ name: "sweepToken",
778
+ outputs: [],
779
+ stateMutability: "payable",
780
+ type: "function",
781
+ },
782
+ {
783
+ inputs: [
784
+ {
785
+ internalType: "uint256",
786
+ name: "amountMinimum",
787
+ type: "uint256",
788
+ },
789
+ {
790
+ internalType: "address",
791
+ name: "recipient",
792
+ type: "address",
793
+ },
794
+ ],
795
+ name: "unwrapWETH9",
796
+ outputs: [],
797
+ stateMutability: "payable",
798
+ type: "function",
799
+ },
800
+ {
801
+ stateMutability: "payable",
802
+ type: "receive",
803
+ },
804
+ ] as const;