@dhedge/v2-sdk 1.2.0 → 1.4.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 (41) hide show
  1. package/dist/config.d.ts +5 -0
  2. package/dist/entities/pool.d.ts +72 -5
  3. package/dist/entities/utils.d.ts +6 -0
  4. package/dist/services/claim-balancer/claim.service.d.ts +1 -5
  5. package/dist/services/uniswap/V3Liquidity.d.ts +9 -0
  6. package/dist/services/uniswap/V3Trade.d.ts +4 -0
  7. package/dist/services/uniswap/types.d.ts +3 -0
  8. package/dist/test/constants.d.ts +3 -2
  9. package/dist/test/txOptions.d.ts +1 -0
  10. package/dist/types.d.ts +19 -10
  11. package/dist/v2-sdk.cjs.development.js +4172 -1593
  12. package/dist/v2-sdk.cjs.development.js.map +1 -1
  13. package/dist/v2-sdk.cjs.production.min.js +1 -1
  14. package/dist/v2-sdk.cjs.production.min.js.map +1 -1
  15. package/dist/v2-sdk.esm.js +4175 -1596
  16. package/dist/v2-sdk.esm.js.map +1 -1
  17. package/package.json +4 -1
  18. package/src/abi/IArrakisV1RouterStaking.json +107 -0
  19. package/src/abi/IERC20.json +15 -1
  20. package/src/abi/ILiquidityGaugeV4.json +153 -0
  21. package/src/abi/INonfungiblePositionManager.json +1221 -0
  22. package/src/abi/ISynthetix.json +139 -0
  23. package/src/abi/IUniswapV3Quoter.json +195 -0
  24. package/src/abi/IUniswapV3Router.json +221 -0
  25. package/src/config.ts +40 -9
  26. package/src/entities/dhedge.ts +4 -2
  27. package/src/entities/pool.ts +316 -30
  28. package/src/entities/utils.ts +12 -0
  29. package/src/services/claim-balancer/claim.service.ts +14 -76
  30. package/src/services/uniswap/V3Liquidity.ts +134 -0
  31. package/src/services/uniswap/V3Trade.ts +47 -0
  32. package/src/services/uniswap/types.ts +16 -0
  33. package/src/test/aave.test.ts +53 -25
  34. package/src/test/arrakis.test.ts +89 -0
  35. package/src/test/constants.ts +10 -2
  36. package/src/test/oneInch.test.ts +13 -20
  37. package/src/test/synthetix.test.ts +34 -0
  38. package/src/test/txOptions.ts +15 -0
  39. package/src/test/uniswap.test.ts +125 -0
  40. package/src/test/wallet.ts +4 -0
  41. package/src/types.ts +19 -10
@@ -0,0 +1,1221 @@
1
+ { "abi" : [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "address",
6
+ "name": "_factory",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "_WETH9",
12
+ "type": "address"
13
+ },
14
+ {
15
+ "internalType": "address",
16
+ "name": "_tokenDescriptor_",
17
+ "type": "address"
18
+ }
19
+ ],
20
+ "stateMutability": "nonpayable",
21
+ "type": "constructor"
22
+ },
23
+ {
24
+ "anonymous": false,
25
+ "inputs": [
26
+ {
27
+ "indexed": true,
28
+ "internalType": "address",
29
+ "name": "owner",
30
+ "type": "address"
31
+ },
32
+ {
33
+ "indexed": true,
34
+ "internalType": "address",
35
+ "name": "approved",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "indexed": true,
40
+ "internalType": "uint256",
41
+ "name": "tokenId",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "Approval",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": true,
53
+ "internalType": "address",
54
+ "name": "owner",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "indexed": true,
59
+ "internalType": "address",
60
+ "name": "operator",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "bool",
66
+ "name": "approved",
67
+ "type": "bool"
68
+ }
69
+ ],
70
+ "name": "ApprovalForAll",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "uint256",
79
+ "name": "tokenId",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "address",
85
+ "name": "recipient",
86
+ "type": "address"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint256",
91
+ "name": "amount0",
92
+ "type": "uint256"
93
+ },
94
+ {
95
+ "indexed": false,
96
+ "internalType": "uint256",
97
+ "name": "amount1",
98
+ "type": "uint256"
99
+ }
100
+ ],
101
+ "name": "Collect",
102
+ "type": "event"
103
+ },
104
+ {
105
+ "anonymous": false,
106
+ "inputs": [
107
+ {
108
+ "indexed": true,
109
+ "internalType": "uint256",
110
+ "name": "tokenId",
111
+ "type": "uint256"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint128",
116
+ "name": "liquidity",
117
+ "type": "uint128"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "uint256",
122
+ "name": "amount0",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint256",
128
+ "name": "amount1",
129
+ "type": "uint256"
130
+ }
131
+ ],
132
+ "name": "DecreaseLiquidity",
133
+ "type": "event"
134
+ },
135
+ {
136
+ "anonymous": false,
137
+ "inputs": [
138
+ {
139
+ "indexed": true,
140
+ "internalType": "uint256",
141
+ "name": "tokenId",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint128",
147
+ "name": "liquidity",
148
+ "type": "uint128"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "amount0",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "amount1",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "IncreaseLiquidity",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "address",
172
+ "name": "from",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "to",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": true,
183
+ "internalType": "uint256",
184
+ "name": "tokenId",
185
+ "type": "uint256"
186
+ }
187
+ ],
188
+ "name": "Transfer",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "inputs": [],
193
+ "name": "DOMAIN_SEPARATOR",
194
+ "outputs": [
195
+ {
196
+ "internalType": "bytes32",
197
+ "name": "",
198
+ "type": "bytes32"
199
+ }
200
+ ],
201
+ "stateMutability": "view",
202
+ "type": "function"
203
+ },
204
+ {
205
+ "inputs": [],
206
+ "name": "PERMIT_TYPEHASH",
207
+ "outputs": [
208
+ {
209
+ "internalType": "bytes32",
210
+ "name": "",
211
+ "type": "bytes32"
212
+ }
213
+ ],
214
+ "stateMutability": "view",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [],
219
+ "name": "WETH9",
220
+ "outputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "",
224
+ "type": "address"
225
+ }
226
+ ],
227
+ "stateMutability": "view",
228
+ "type": "function"
229
+ },
230
+ {
231
+ "inputs": [
232
+ {
233
+ "internalType": "address",
234
+ "name": "to",
235
+ "type": "address"
236
+ },
237
+ {
238
+ "internalType": "uint256",
239
+ "name": "tokenId",
240
+ "type": "uint256"
241
+ }
242
+ ],
243
+ "name": "approve",
244
+ "outputs": [],
245
+ "stateMutability": "nonpayable",
246
+ "type": "function"
247
+ },
248
+ {
249
+ "inputs": [
250
+ {
251
+ "internalType": "address",
252
+ "name": "owner",
253
+ "type": "address"
254
+ }
255
+ ],
256
+ "name": "balanceOf",
257
+ "outputs": [
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "baseURI",
270
+ "outputs": [
271
+ {
272
+ "internalType": "string",
273
+ "name": "",
274
+ "type": "string"
275
+ }
276
+ ],
277
+ "stateMutability": "pure",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "tokenId",
285
+ "type": "uint256"
286
+ }
287
+ ],
288
+ "name": "burn",
289
+ "outputs": [],
290
+ "stateMutability": "payable",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "components": [
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "tokenId",
300
+ "type": "uint256"
301
+ },
302
+ {
303
+ "internalType": "address",
304
+ "name": "recipient",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "internalType": "uint128",
309
+ "name": "amount0Max",
310
+ "type": "uint128"
311
+ },
312
+ {
313
+ "internalType": "uint128",
314
+ "name": "amount1Max",
315
+ "type": "uint128"
316
+ }
317
+ ],
318
+ "internalType": "struct INonfungiblePositionManager.CollectParams",
319
+ "name": "params",
320
+ "type": "tuple"
321
+ }
322
+ ],
323
+ "name": "collect",
324
+ "outputs": [
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "amount0",
328
+ "type": "uint256"
329
+ },
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "amount1",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "stateMutability": "payable",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [
341
+ {
342
+ "internalType": "address",
343
+ "name": "token0",
344
+ "type": "address"
345
+ },
346
+ {
347
+ "internalType": "address",
348
+ "name": "token1",
349
+ "type": "address"
350
+ },
351
+ {
352
+ "internalType": "uint24",
353
+ "name": "fee",
354
+ "type": "uint24"
355
+ },
356
+ {
357
+ "internalType": "uint160",
358
+ "name": "sqrtPriceX96",
359
+ "type": "uint160"
360
+ }
361
+ ],
362
+ "name": "createAndInitializePoolIfNecessary",
363
+ "outputs": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "pool",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "stateMutability": "payable",
371
+ "type": "function"
372
+ },
373
+ {
374
+ "inputs": [
375
+ {
376
+ "components": [
377
+ {
378
+ "internalType": "uint256",
379
+ "name": "tokenId",
380
+ "type": "uint256"
381
+ },
382
+ {
383
+ "internalType": "uint128",
384
+ "name": "liquidity",
385
+ "type": "uint128"
386
+ },
387
+ {
388
+ "internalType": "uint256",
389
+ "name": "amount0Min",
390
+ "type": "uint256"
391
+ },
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "amount1Min",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "uint256",
399
+ "name": "deadline",
400
+ "type": "uint256"
401
+ }
402
+ ],
403
+ "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams",
404
+ "name": "params",
405
+ "type": "tuple"
406
+ }
407
+ ],
408
+ "name": "decreaseLiquidity",
409
+ "outputs": [
410
+ {
411
+ "internalType": "uint256",
412
+ "name": "amount0",
413
+ "type": "uint256"
414
+ },
415
+ {
416
+ "internalType": "uint256",
417
+ "name": "amount1",
418
+ "type": "uint256"
419
+ }
420
+ ],
421
+ "stateMutability": "payable",
422
+ "type": "function"
423
+ },
424
+ {
425
+ "inputs": [],
426
+ "name": "factory",
427
+ "outputs": [
428
+ {
429
+ "internalType": "address",
430
+ "name": "",
431
+ "type": "address"
432
+ }
433
+ ],
434
+ "stateMutability": "view",
435
+ "type": "function"
436
+ },
437
+ {
438
+ "inputs": [
439
+ {
440
+ "internalType": "uint256",
441
+ "name": "tokenId",
442
+ "type": "uint256"
443
+ }
444
+ ],
445
+ "name": "getApproved",
446
+ "outputs": [
447
+ {
448
+ "internalType": "address",
449
+ "name": "",
450
+ "type": "address"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [
458
+ {
459
+ "components": [
460
+ {
461
+ "internalType": "uint256",
462
+ "name": "tokenId",
463
+ "type": "uint256"
464
+ },
465
+ {
466
+ "internalType": "uint256",
467
+ "name": "amount0Desired",
468
+ "type": "uint256"
469
+ },
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "amount1Desired",
473
+ "type": "uint256"
474
+ },
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "amount0Min",
478
+ "type": "uint256"
479
+ },
480
+ {
481
+ "internalType": "uint256",
482
+ "name": "amount1Min",
483
+ "type": "uint256"
484
+ },
485
+ {
486
+ "internalType": "uint256",
487
+ "name": "deadline",
488
+ "type": "uint256"
489
+ }
490
+ ],
491
+ "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams",
492
+ "name": "params",
493
+ "type": "tuple"
494
+ }
495
+ ],
496
+ "name": "increaseLiquidity",
497
+ "outputs": [
498
+ {
499
+ "internalType": "uint128",
500
+ "name": "liquidity",
501
+ "type": "uint128"
502
+ },
503
+ {
504
+ "internalType": "uint256",
505
+ "name": "amount0",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "internalType": "uint256",
510
+ "name": "amount1",
511
+ "type": "uint256"
512
+ }
513
+ ],
514
+ "stateMutability": "payable",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [
519
+ {
520
+ "internalType": "address",
521
+ "name": "owner",
522
+ "type": "address"
523
+ },
524
+ {
525
+ "internalType": "address",
526
+ "name": "operator",
527
+ "type": "address"
528
+ }
529
+ ],
530
+ "name": "isApprovedForAll",
531
+ "outputs": [
532
+ {
533
+ "internalType": "bool",
534
+ "name": "",
535
+ "type": "bool"
536
+ }
537
+ ],
538
+ "stateMutability": "view",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "components": [
545
+ {
546
+ "internalType": "address",
547
+ "name": "token0",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "internalType": "address",
552
+ "name": "token1",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "uint24",
557
+ "name": "fee",
558
+ "type": "uint24"
559
+ },
560
+ {
561
+ "internalType": "int24",
562
+ "name": "tickLower",
563
+ "type": "int24"
564
+ },
565
+ {
566
+ "internalType": "int24",
567
+ "name": "tickUpper",
568
+ "type": "int24"
569
+ },
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "amount0Desired",
573
+ "type": "uint256"
574
+ },
575
+ {
576
+ "internalType": "uint256",
577
+ "name": "amount1Desired",
578
+ "type": "uint256"
579
+ },
580
+ {
581
+ "internalType": "uint256",
582
+ "name": "amount0Min",
583
+ "type": "uint256"
584
+ },
585
+ {
586
+ "internalType": "uint256",
587
+ "name": "amount1Min",
588
+ "type": "uint256"
589
+ },
590
+ {
591
+ "internalType": "address",
592
+ "name": "recipient",
593
+ "type": "address"
594
+ },
595
+ {
596
+ "internalType": "uint256",
597
+ "name": "deadline",
598
+ "type": "uint256"
599
+ }
600
+ ],
601
+ "internalType": "struct INonfungiblePositionManager.MintParams",
602
+ "name": "params",
603
+ "type": "tuple"
604
+ }
605
+ ],
606
+ "name": "mint",
607
+ "outputs": [
608
+ {
609
+ "internalType": "uint256",
610
+ "name": "tokenId",
611
+ "type": "uint256"
612
+ },
613
+ {
614
+ "internalType": "uint128",
615
+ "name": "liquidity",
616
+ "type": "uint128"
617
+ },
618
+ {
619
+ "internalType": "uint256",
620
+ "name": "amount0",
621
+ "type": "uint256"
622
+ },
623
+ {
624
+ "internalType": "uint256",
625
+ "name": "amount1",
626
+ "type": "uint256"
627
+ }
628
+ ],
629
+ "stateMutability": "payable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "bytes[]",
636
+ "name": "data",
637
+ "type": "bytes[]"
638
+ }
639
+ ],
640
+ "name": "multicall",
641
+ "outputs": [
642
+ {
643
+ "internalType": "bytes[]",
644
+ "name": "results",
645
+ "type": "bytes[]"
646
+ }
647
+ ],
648
+ "stateMutability": "payable",
649
+ "type": "function"
650
+ },
651
+ {
652
+ "inputs": [],
653
+ "name": "name",
654
+ "outputs": [
655
+ {
656
+ "internalType": "string",
657
+ "name": "",
658
+ "type": "string"
659
+ }
660
+ ],
661
+ "stateMutability": "view",
662
+ "type": "function"
663
+ },
664
+ {
665
+ "inputs": [
666
+ {
667
+ "internalType": "uint256",
668
+ "name": "tokenId",
669
+ "type": "uint256"
670
+ }
671
+ ],
672
+ "name": "ownerOf",
673
+ "outputs": [
674
+ {
675
+ "internalType": "address",
676
+ "name": "",
677
+ "type": "address"
678
+ }
679
+ ],
680
+ "stateMutability": "view",
681
+ "type": "function"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "address",
687
+ "name": "spender",
688
+ "type": "address"
689
+ },
690
+ {
691
+ "internalType": "uint256",
692
+ "name": "tokenId",
693
+ "type": "uint256"
694
+ },
695
+ {
696
+ "internalType": "uint256",
697
+ "name": "deadline",
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": "permit",
717
+ "outputs": [],
718
+ "stateMutability": "payable",
719
+ "type": "function"
720
+ },
721
+ {
722
+ "inputs": [
723
+ {
724
+ "internalType": "uint256",
725
+ "name": "tokenId",
726
+ "type": "uint256"
727
+ }
728
+ ],
729
+ "name": "positions",
730
+ "outputs": [
731
+ {
732
+ "internalType": "uint96",
733
+ "name": "nonce",
734
+ "type": "uint96"
735
+ },
736
+ {
737
+ "internalType": "address",
738
+ "name": "operator",
739
+ "type": "address"
740
+ },
741
+ {
742
+ "internalType": "address",
743
+ "name": "token0",
744
+ "type": "address"
745
+ },
746
+ {
747
+ "internalType": "address",
748
+ "name": "token1",
749
+ "type": "address"
750
+ },
751
+ {
752
+ "internalType": "uint24",
753
+ "name": "fee",
754
+ "type": "uint24"
755
+ },
756
+ {
757
+ "internalType": "int24",
758
+ "name": "tickLower",
759
+ "type": "int24"
760
+ },
761
+ {
762
+ "internalType": "int24",
763
+ "name": "tickUpper",
764
+ "type": "int24"
765
+ },
766
+ {
767
+ "internalType": "uint128",
768
+ "name": "liquidity",
769
+ "type": "uint128"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "feeGrowthInside0LastX128",
774
+ "type": "uint256"
775
+ },
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "feeGrowthInside1LastX128",
779
+ "type": "uint256"
780
+ },
781
+ {
782
+ "internalType": "uint128",
783
+ "name": "tokensOwed0",
784
+ "type": "uint128"
785
+ },
786
+ {
787
+ "internalType": "uint128",
788
+ "name": "tokensOwed1",
789
+ "type": "uint128"
790
+ }
791
+ ],
792
+ "stateMutability": "view",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [],
797
+ "name": "refundETH",
798
+ "outputs": [],
799
+ "stateMutability": "payable",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "from",
807
+ "type": "address"
808
+ },
809
+ {
810
+ "internalType": "address",
811
+ "name": "to",
812
+ "type": "address"
813
+ },
814
+ {
815
+ "internalType": "uint256",
816
+ "name": "tokenId",
817
+ "type": "uint256"
818
+ }
819
+ ],
820
+ "name": "safeTransferFrom",
821
+ "outputs": [],
822
+ "stateMutability": "nonpayable",
823
+ "type": "function"
824
+ },
825
+ {
826
+ "inputs": [
827
+ {
828
+ "internalType": "address",
829
+ "name": "from",
830
+ "type": "address"
831
+ },
832
+ {
833
+ "internalType": "address",
834
+ "name": "to",
835
+ "type": "address"
836
+ },
837
+ {
838
+ "internalType": "uint256",
839
+ "name": "tokenId",
840
+ "type": "uint256"
841
+ },
842
+ {
843
+ "internalType": "bytes",
844
+ "name": "_data",
845
+ "type": "bytes"
846
+ }
847
+ ],
848
+ "name": "safeTransferFrom",
849
+ "outputs": [],
850
+ "stateMutability": "nonpayable",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [
855
+ {
856
+ "internalType": "address",
857
+ "name": "token",
858
+ "type": "address"
859
+ },
860
+ {
861
+ "internalType": "uint256",
862
+ "name": "value",
863
+ "type": "uint256"
864
+ },
865
+ {
866
+ "internalType": "uint256",
867
+ "name": "deadline",
868
+ "type": "uint256"
869
+ },
870
+ {
871
+ "internalType": "uint8",
872
+ "name": "v",
873
+ "type": "uint8"
874
+ },
875
+ {
876
+ "internalType": "bytes32",
877
+ "name": "r",
878
+ "type": "bytes32"
879
+ },
880
+ {
881
+ "internalType": "bytes32",
882
+ "name": "s",
883
+ "type": "bytes32"
884
+ }
885
+ ],
886
+ "name": "selfPermit",
887
+ "outputs": [],
888
+ "stateMutability": "payable",
889
+ "type": "function"
890
+ },
891
+ {
892
+ "inputs": [
893
+ {
894
+ "internalType": "address",
895
+ "name": "token",
896
+ "type": "address"
897
+ },
898
+ {
899
+ "internalType": "uint256",
900
+ "name": "nonce",
901
+ "type": "uint256"
902
+ },
903
+ {
904
+ "internalType": "uint256",
905
+ "name": "expiry",
906
+ "type": "uint256"
907
+ },
908
+ {
909
+ "internalType": "uint8",
910
+ "name": "v",
911
+ "type": "uint8"
912
+ },
913
+ {
914
+ "internalType": "bytes32",
915
+ "name": "r",
916
+ "type": "bytes32"
917
+ },
918
+ {
919
+ "internalType": "bytes32",
920
+ "name": "s",
921
+ "type": "bytes32"
922
+ }
923
+ ],
924
+ "name": "selfPermitAllowed",
925
+ "outputs": [],
926
+ "stateMutability": "payable",
927
+ "type": "function"
928
+ },
929
+ {
930
+ "inputs": [
931
+ {
932
+ "internalType": "address",
933
+ "name": "token",
934
+ "type": "address"
935
+ },
936
+ {
937
+ "internalType": "uint256",
938
+ "name": "nonce",
939
+ "type": "uint256"
940
+ },
941
+ {
942
+ "internalType": "uint256",
943
+ "name": "expiry",
944
+ "type": "uint256"
945
+ },
946
+ {
947
+ "internalType": "uint8",
948
+ "name": "v",
949
+ "type": "uint8"
950
+ },
951
+ {
952
+ "internalType": "bytes32",
953
+ "name": "r",
954
+ "type": "bytes32"
955
+ },
956
+ {
957
+ "internalType": "bytes32",
958
+ "name": "s",
959
+ "type": "bytes32"
960
+ }
961
+ ],
962
+ "name": "selfPermitAllowedIfNecessary",
963
+ "outputs": [],
964
+ "stateMutability": "payable",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [
969
+ {
970
+ "internalType": "address",
971
+ "name": "token",
972
+ "type": "address"
973
+ },
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "value",
977
+ "type": "uint256"
978
+ },
979
+ {
980
+ "internalType": "uint256",
981
+ "name": "deadline",
982
+ "type": "uint256"
983
+ },
984
+ {
985
+ "internalType": "uint8",
986
+ "name": "v",
987
+ "type": "uint8"
988
+ },
989
+ {
990
+ "internalType": "bytes32",
991
+ "name": "r",
992
+ "type": "bytes32"
993
+ },
994
+ {
995
+ "internalType": "bytes32",
996
+ "name": "s",
997
+ "type": "bytes32"
998
+ }
999
+ ],
1000
+ "name": "selfPermitIfNecessary",
1001
+ "outputs": [],
1002
+ "stateMutability": "payable",
1003
+ "type": "function"
1004
+ },
1005
+ {
1006
+ "inputs": [
1007
+ {
1008
+ "internalType": "address",
1009
+ "name": "operator",
1010
+ "type": "address"
1011
+ },
1012
+ {
1013
+ "internalType": "bool",
1014
+ "name": "approved",
1015
+ "type": "bool"
1016
+ }
1017
+ ],
1018
+ "name": "setApprovalForAll",
1019
+ "outputs": [],
1020
+ "stateMutability": "nonpayable",
1021
+ "type": "function"
1022
+ },
1023
+ {
1024
+ "inputs": [
1025
+ {
1026
+ "internalType": "bytes4",
1027
+ "name": "interfaceId",
1028
+ "type": "bytes4"
1029
+ }
1030
+ ],
1031
+ "name": "supportsInterface",
1032
+ "outputs": [
1033
+ {
1034
+ "internalType": "bool",
1035
+ "name": "",
1036
+ "type": "bool"
1037
+ }
1038
+ ],
1039
+ "stateMutability": "view",
1040
+ "type": "function"
1041
+ },
1042
+ {
1043
+ "inputs": [
1044
+ {
1045
+ "internalType": "address",
1046
+ "name": "token",
1047
+ "type": "address"
1048
+ },
1049
+ {
1050
+ "internalType": "uint256",
1051
+ "name": "amountMinimum",
1052
+ "type": "uint256"
1053
+ },
1054
+ {
1055
+ "internalType": "address",
1056
+ "name": "recipient",
1057
+ "type": "address"
1058
+ }
1059
+ ],
1060
+ "name": "sweepToken",
1061
+ "outputs": [],
1062
+ "stateMutability": "payable",
1063
+ "type": "function"
1064
+ },
1065
+ {
1066
+ "inputs": [],
1067
+ "name": "symbol",
1068
+ "outputs": [
1069
+ {
1070
+ "internalType": "string",
1071
+ "name": "",
1072
+ "type": "string"
1073
+ }
1074
+ ],
1075
+ "stateMutability": "view",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [
1080
+ {
1081
+ "internalType": "uint256",
1082
+ "name": "index",
1083
+ "type": "uint256"
1084
+ }
1085
+ ],
1086
+ "name": "tokenByIndex",
1087
+ "outputs": [
1088
+ {
1089
+ "internalType": "uint256",
1090
+ "name": "",
1091
+ "type": "uint256"
1092
+ }
1093
+ ],
1094
+ "stateMutability": "view",
1095
+ "type": "function"
1096
+ },
1097
+ {
1098
+ "inputs": [
1099
+ {
1100
+ "internalType": "address",
1101
+ "name": "owner",
1102
+ "type": "address"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "index",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "name": "tokenOfOwnerByIndex",
1111
+ "outputs": [
1112
+ {
1113
+ "internalType": "uint256",
1114
+ "name": "",
1115
+ "type": "uint256"
1116
+ }
1117
+ ],
1118
+ "stateMutability": "view",
1119
+ "type": "function"
1120
+ },
1121
+ {
1122
+ "inputs": [
1123
+ {
1124
+ "internalType": "uint256",
1125
+ "name": "tokenId",
1126
+ "type": "uint256"
1127
+ }
1128
+ ],
1129
+ "name": "tokenURI",
1130
+ "outputs": [
1131
+ {
1132
+ "internalType": "string",
1133
+ "name": "",
1134
+ "type": "string"
1135
+ }
1136
+ ],
1137
+ "stateMutability": "view",
1138
+ "type": "function"
1139
+ },
1140
+ {
1141
+ "inputs": [],
1142
+ "name": "totalSupply",
1143
+ "outputs": [
1144
+ {
1145
+ "internalType": "uint256",
1146
+ "name": "",
1147
+ "type": "uint256"
1148
+ }
1149
+ ],
1150
+ "stateMutability": "view",
1151
+ "type": "function"
1152
+ },
1153
+ {
1154
+ "inputs": [
1155
+ {
1156
+ "internalType": "address",
1157
+ "name": "from",
1158
+ "type": "address"
1159
+ },
1160
+ {
1161
+ "internalType": "address",
1162
+ "name": "to",
1163
+ "type": "address"
1164
+ },
1165
+ {
1166
+ "internalType": "uint256",
1167
+ "name": "tokenId",
1168
+ "type": "uint256"
1169
+ }
1170
+ ],
1171
+ "name": "transferFrom",
1172
+ "outputs": [],
1173
+ "stateMutability": "nonpayable",
1174
+ "type": "function"
1175
+ },
1176
+ {
1177
+ "inputs": [
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "amount0Owed",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "amount1Owed",
1186
+ "type": "uint256"
1187
+ },
1188
+ {
1189
+ "internalType": "bytes",
1190
+ "name": "data",
1191
+ "type": "bytes"
1192
+ }
1193
+ ],
1194
+ "name": "uniswapV3MintCallback",
1195
+ "outputs": [],
1196
+ "stateMutability": "nonpayable",
1197
+ "type": "function"
1198
+ },
1199
+ {
1200
+ "inputs": [
1201
+ {
1202
+ "internalType": "uint256",
1203
+ "name": "amountMinimum",
1204
+ "type": "uint256"
1205
+ },
1206
+ {
1207
+ "internalType": "address",
1208
+ "name": "recipient",
1209
+ "type": "address"
1210
+ }
1211
+ ],
1212
+ "name": "unwrapWETH9",
1213
+ "outputs": [],
1214
+ "stateMutability": "payable",
1215
+ "type": "function"
1216
+ },
1217
+ {
1218
+ "stateMutability": "payable",
1219
+ "type": "receive"
1220
+ }
1221
+ ]}