@zoralabs/coins 0.6.1 → 0.7.0-doppler.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 (55) hide show
  1. package/.turbo/turbo-build.log +49 -55
  2. package/CHANGELOG.md +6 -0
  3. package/abis/BaseTest.json +0 -23
  4. package/abis/Coin.json +133 -77
  5. package/abis/CoinTest.json +0 -37
  6. package/abis/CustomRevert.json +28 -0
  7. package/abis/DopplerUniswapV3.json +39 -0
  8. package/abis/DopplerUniswapV3Test.json +893 -0
  9. package/abis/FactoryTest.json +7 -23
  10. package/abis/IAirlock.json +15 -0
  11. package/abis/ICoin.json +0 -34
  12. package/abis/INonfungiblePositionManager.json +13 -0
  13. package/abis/IUniswapV3Factory.json +198 -0
  14. package/abis/IUniswapV3Pool.json +135 -0
  15. package/abis/MultiOwnableTest.json +0 -23
  16. package/abis/SafeCast.json +7 -0
  17. package/abis/SqrtPriceMath.json +22 -0
  18. package/abis/TickMath.json +24 -0
  19. package/abis/ZoraFactoryImpl.json +59 -0
  20. package/addresses/8453.json +1 -1
  21. package/dist/index.cjs +135 -39
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +135 -39
  24. package/dist/index.js.map +1 -1
  25. package/dist/wagmiGenerated.d.ts +307 -67
  26. package/dist/wagmiGenerated.d.ts.map +1 -1
  27. package/package/wagmiGenerated.ts +136 -40
  28. package/package.json +3 -3
  29. package/script/CoinsDeployerBase.sol +1 -1
  30. package/src/Coin.sol +191 -81
  31. package/src/ZoraFactoryImpl.sol +46 -1
  32. package/src/doppler/DopplerUniswapV3.sol +162 -0
  33. package/src/interfaces/IAirlock.sol +6 -0
  34. package/src/interfaces/ICoin.sol +1 -2
  35. package/src/interfaces/INonfungiblePositionManager.sol +2 -0
  36. package/src/interfaces/IUniswapV3Factory.sol +64 -0
  37. package/src/interfaces/IUniswapV3Pool.sol +48 -0
  38. package/src/utils/CoinConstants.sol +12 -5
  39. package/src/utils/uniswap/BitMath.sol +55 -0
  40. package/src/utils/uniswap/CustomRevert.sol +111 -0
  41. package/src/utils/uniswap/FixedPoint96.sol +11 -0
  42. package/src/utils/uniswap/FullMath.sol +118 -0
  43. package/src/utils/uniswap/LiquidityAmounts.sol +117 -0
  44. package/src/utils/uniswap/SafeCast.sol +61 -0
  45. package/src/utils/uniswap/SqrtPriceMath.sol +249 -0
  46. package/src/utils/uniswap/TickMath.sol +244 -0
  47. package/src/utils/uniswap/UnsafeMath.sol +30 -0
  48. package/src/version/ContractVersionBase.sol +1 -1
  49. package/test/Coin.t.sol +29 -35
  50. package/test/DopplerUniswapV3.t.sol +412 -0
  51. package/test/Factory.t.sol +33 -0
  52. package/test/utils/BaseTest.sol +24 -5
  53. package/wagmi.config.ts +1 -1
  54. package/abis/IERC721Receiver.json +0 -36
  55. package/src/utils/TickMath.sol +0 -210
@@ -1,38 +1,20 @@
1
1
 
2
- > @zoralabs/coins@0.6.1 build /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
2
+ > @zoralabs/coins@0.7.0-doppler.0 build /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
3
3
  > pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
4
4
 
5
5
 
6
- > @zoralabs/coins@0.6.1 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
6
+ > @zoralabs/coins@0.7.0-doppler.0 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
7
7
  > FOUNDRY_PROFILE=dev forge build && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
8
8
 
9
- Compiling 94 files with Solc 0.8.28
10
- Solc 0.8.28 finished in 108.30s
9
+ Compiling 105 files with Solc 0.8.28
10
+ Solc 0.8.28 finished in 125.06s
11
11
  Compiler run successful with warnings:
12
- Warning (9302): Return value of low-level calls not used.
13
- --> test/Coin.t.sol:527:9:
14
- |
15
- 527 | address(coin).call{value: 1 ether}("");
16
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17
-
18
12
  Warning (2072): Unused local variable.
19
13
  --> script/UpgradeCoinImpl.sol:14:9:
20
14
  |
21
15
  14 | DeterministicDeployerAndCaller deployer = createOrGetDeployerAndCaller();
22
16
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23
17
 
24
- Warning (2072): Unused local variable.
25
- --> test/Coin.t.sol:446:10:
26
- |
27
- 446 | (address newCoinAddr, ) = factory.deploy(
28
- | ^^^^^^^^^^^^^^^^^^^
29
-
30
- Warning (2072): Unused local variable.
31
- --> test/Coin.t.sol:464:10:
32
- |
33
- 464 | (address newCoinAddr, ) = factory.deploy(
34
- | ^^^^^^^^^^^^^^^^^^^
35
-
36
18
  - Validating plugins
37
19
  ✔ Validating plugins
38
20
  - Resolving contracts
@@ -46,38 +28,50 @@ Warning (2072): Unused local variable.
46
28
  ✅ Updated ./package/wagmiGenerated.ts (4 replacements)
47
29
  ✨ All files processed successfully!
48
30
 
49
- > @zoralabs/coins@0.6.1 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
31
+ > @zoralabs/coins@0.7.0-doppler.0 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
50
32
  > pnpm exec bundle-abis
51
33
 
52
34
 
53
- > @zoralabs/coins@0.6.1 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
35
+ > @zoralabs/coins@0.7.0-doppler.0 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
54
36
  > prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
55
37
 
56
- src/Coin.sol 1595ms (unchanged)
57
- src/interfaces/ICoin.sol 75ms (unchanged)
58
- src/interfaces/ICoinComments.sol 5ms (unchanged)
59
- src/interfaces/IERC7572.sol 4ms (unchanged)
60
- src/interfaces/INonfungiblePositionManager.sol 30ms (unchanged)
61
- src/interfaces/IProtocolRewards.sol 8ms (unchanged)
62
- src/interfaces/ISwapRouter.sol 6ms (unchanged)
63
- src/interfaces/IUniswapV3Pool.sol 8ms (unchanged)
64
- src/interfaces/IUniswapV3SwapCallback.sol 5ms (unchanged)
65
- src/interfaces/IWETH.sol 7ms (unchanged)
66
- src/interfaces/IZoraFactory.sol 11ms (unchanged)
67
- src/proxy/ZoraFactory.sol 23ms (unchanged)
68
- src/utils/CoinConstants.sol 8ms (unchanged)
69
- src/utils/MultiOwnable.sol 236ms (unchanged)
70
- src/utils/TickMath.sol 365ms (unchanged)
71
- src/version/ContractVersionBase.sol 6ms (unchanged)
72
- src/ZoraFactoryImpl.sol 190ms (unchanged)
73
- test/Coin.t.sol 950ms (unchanged)
74
- test/Factory.t.sol 395ms (unchanged)
75
- test/MultiOwnable.t.sol 429ms (unchanged)
76
- test/utils/BaseTest.sol 304ms (unchanged)
77
- test/utils/ProtocolRewards.sol 967ms (unchanged)
78
- script/CoinsDeployerBase.sol 134ms (unchanged)
79
- script/Deploy.s.sol 13ms (unchanged)
80
- script/GenerateDeterministicParams.s.sol 44ms (unchanged)
38
+ src/Coin.sol 1850ms (unchanged)
39
+ src/doppler/DopplerUniswapV3.sol 283ms (unchanged)
40
+ src/interfaces/IAirlock.sol 2ms (unchanged)
41
+ src/interfaces/ICoin.sol 36ms (unchanged)
42
+ src/interfaces/ICoinComments.sol 3ms (unchanged)
43
+ src/interfaces/IERC7572.sol 5ms (unchanged)
44
+ src/interfaces/INonfungiblePositionManager.sol 29ms (unchanged)
45
+ src/interfaces/IProtocolRewards.sol 9ms (unchanged)
46
+ src/interfaces/ISwapRouter.sol 8ms (unchanged)
47
+ src/interfaces/IUniswapV3Factory.sol 9ms (unchanged)
48
+ src/interfaces/IUniswapV3Pool.sol 14ms (unchanged)
49
+ src/interfaces/IUniswapV3SwapCallback.sol 2ms (unchanged)
50
+ src/interfaces/IWETH.sol 3ms (unchanged)
51
+ src/interfaces/IZoraFactory.sol 9ms (unchanged)
52
+ src/proxy/ZoraFactory.sol 17ms (unchanged)
53
+ src/utils/CoinConstants.sol 6ms (unchanged)
54
+ src/utils/MultiOwnable.sol 96ms (unchanged)
55
+ src/utils/uniswap/BitMath.sol 47ms (unchanged)
56
+ src/utils/uniswap/CustomRevert.sol 95ms (unchanged)
57
+ src/utils/uniswap/FixedPoint96.sol 2ms (unchanged)
58
+ src/utils/uniswap/FullMath.sol 86ms (unchanged)
59
+ src/utils/uniswap/LiquidityAmounts.sol 160ms (unchanged)
60
+ src/utils/uniswap/SafeCast.sol 43ms (unchanged)
61
+ src/utils/uniswap/SqrtPriceMath.sol 169ms (unchanged)
62
+ src/utils/uniswap/TickMath.sol 210ms (unchanged)
63
+ src/utils/uniswap/UnsafeMath.sol 5ms (unchanged)
64
+ src/version/ContractVersionBase.sol 2ms (unchanged)
65
+ src/ZoraFactoryImpl.sol 184ms (unchanged)
66
+ test/Coin.t.sol 1103ms (unchanged)
67
+ test/DopplerUniswapV3.t.sol 542ms (unchanged)
68
+ test/Factory.t.sol 389ms (unchanged)
69
+ test/MultiOwnable.t.sol 270ms (unchanged)
70
+ test/utils/BaseTest.sol 246ms (unchanged)
71
+ test/utils/ProtocolRewards.sol 829ms (unchanged)
72
+ script/CoinsDeployerBase.sol 123ms (unchanged)
73
+ script/Deploy.s.sol 12ms (unchanged)
74
+ script/GenerateDeterministicParams.s.sol 36ms (unchanged)
81
75
  script/UpgradeCoinImpl.sol 13ms (unchanged)
82
76
  CLI Building entry: package/index.ts
83
77
  CLI Using tsconfig: tsconfig.json
@@ -87,9 +81,9 @@ CLI Target: es2021
87
81
  CLI Cleaning output folder
88
82
  CJS Build start
89
83
  ESM Build start
90
- CJS dist/index.cjs 34.70 KB
91
- CJS dist/index.cjs.map 61.94 KB
92
- CJS ⚡️ Build success in 44ms
93
- ESM dist/index.js 33.49 KB
94
- ESM dist/index.js.map 61.82 KB
95
- ESM ⚡️ Build success in 44ms
84
+ CJS dist/index.cjs 38.12 KB
85
+ CJS dist/index.cjs.map 67.97 KB
86
+ CJS ⚡️ Build success in 42ms
87
+ ESM dist/index.js 36.91 KB
88
+ ESM dist/index.js.map 67.84 KB
89
+ ESM ⚡️ Build success in 46ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @zoralabs/coins
2
2
 
3
+ ## 0.7.0-doppler.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 96ab8907: Integrate doppler for liquidity management with uniswap v3
8
+
3
9
  ## 0.6.1
4
10
 
5
11
  ### Patch Changes
@@ -301,29 +301,6 @@
301
301
  ],
302
302
  "stateMutability": "view"
303
303
  },
304
- {
305
- "type": "function",
306
- "name": "uniswapV3SwapCallback",
307
- "inputs": [
308
- {
309
- "name": "amount0Delta",
310
- "type": "int256",
311
- "internalType": "int256"
312
- },
313
- {
314
- "name": "amount1Delta",
315
- "type": "int256",
316
- "internalType": "int256"
317
- },
318
- {
319
- "name": "data",
320
- "type": "bytes",
321
- "internalType": "bytes"
322
- }
323
- ],
324
- "outputs": [],
325
- "stateMutability": "nonpayable"
326
- },
327
304
  {
328
305
  "type": "event",
329
306
  "name": "log",
package/abis/Coin.json CHANGED
@@ -18,7 +18,7 @@
18
18
  "internalType": "address"
19
19
  },
20
20
  {
21
- "name": "_nonfungiblePositionManager",
21
+ "name": "_v3Factory",
22
22
  "type": "address",
23
23
  "internalType": "address"
24
24
  },
@@ -26,6 +26,11 @@
26
26
  "name": "_swapRouter",
27
27
  "type": "address",
28
28
  "internalType": "address"
29
+ },
30
+ {
31
+ "name": "_airlock",
32
+ "type": "address",
33
+ "internalType": "address"
29
34
  }
30
35
  ],
31
36
  "stateMutability": "nonpayable"
@@ -177,6 +182,19 @@
177
182
  "outputs": [],
178
183
  "stateMutability": "nonpayable"
179
184
  },
185
+ {
186
+ "type": "function",
187
+ "name": "airlock",
188
+ "inputs": [],
189
+ "outputs": [
190
+ {
191
+ "name": "",
192
+ "type": "address",
193
+ "internalType": "address"
194
+ }
195
+ ],
196
+ "stateMutability": "view"
197
+ },
180
198
  {
181
199
  "type": "function",
182
200
  "name": "allowance",
@@ -439,19 +457,14 @@
439
457
  "internalType": "string"
440
458
  },
441
459
  {
442
- "name": "platformReferrer_",
443
- "type": "address",
444
- "internalType": "address"
460
+ "name": "poolConfig_",
461
+ "type": "bytes",
462
+ "internalType": "bytes"
445
463
  },
446
464
  {
447
- "name": "currency_",
465
+ "name": "platformReferrer_",
448
466
  "type": "address",
449
467
  "internalType": "address"
450
- },
451
- {
452
- "name": "tickLower_",
453
- "type": "int24",
454
- "internalType": "int24"
455
468
  }
456
469
  ],
457
470
  "outputs": [],
@@ -476,19 +489,6 @@
476
489
  ],
477
490
  "stateMutability": "view"
478
491
  },
479
- {
480
- "type": "function",
481
- "name": "lpTokenId",
482
- "inputs": [],
483
- "outputs": [
484
- {
485
- "name": "",
486
- "type": "uint256",
487
- "internalType": "uint256"
488
- }
489
- ],
490
- "stateMutability": "view"
491
- },
492
492
  {
493
493
  "type": "function",
494
494
  "name": "name",
@@ -521,53 +521,6 @@
521
521
  ],
522
522
  "stateMutability": "view"
523
523
  },
524
- {
525
- "type": "function",
526
- "name": "nonfungiblePositionManager",
527
- "inputs": [],
528
- "outputs": [
529
- {
530
- "name": "",
531
- "type": "address",
532
- "internalType": "address"
533
- }
534
- ],
535
- "stateMutability": "view"
536
- },
537
- {
538
- "type": "function",
539
- "name": "onERC721Received",
540
- "inputs": [
541
- {
542
- "name": "",
543
- "type": "address",
544
- "internalType": "address"
545
- },
546
- {
547
- "name": "",
548
- "type": "address",
549
- "internalType": "address"
550
- },
551
- {
552
- "name": "",
553
- "type": "uint256",
554
- "internalType": "uint256"
555
- },
556
- {
557
- "name": "",
558
- "type": "bytes",
559
- "internalType": "bytes"
560
- }
561
- ],
562
- "outputs": [
563
- {
564
- "name": "",
565
- "type": "bytes4",
566
- "internalType": "bytes4"
567
- }
568
- ],
569
- "stateMutability": "view"
570
- },
571
524
  {
572
525
  "type": "function",
573
526
  "name": "owners",
@@ -663,6 +616,59 @@
663
616
  ],
664
617
  "stateMutability": "view"
665
618
  },
619
+ {
620
+ "type": "function",
621
+ "name": "poolState",
622
+ "inputs": [],
623
+ "outputs": [
624
+ {
625
+ "name": "asset",
626
+ "type": "address",
627
+ "internalType": "address"
628
+ },
629
+ {
630
+ "name": "numeraire",
631
+ "type": "address",
632
+ "internalType": "address"
633
+ },
634
+ {
635
+ "name": "tickLower",
636
+ "type": "int24",
637
+ "internalType": "int24"
638
+ },
639
+ {
640
+ "name": "tickUpper",
641
+ "type": "int24",
642
+ "internalType": "int24"
643
+ },
644
+ {
645
+ "name": "numPositions",
646
+ "type": "uint16",
647
+ "internalType": "uint16"
648
+ },
649
+ {
650
+ "name": "isInitialized",
651
+ "type": "bool",
652
+ "internalType": "bool"
653
+ },
654
+ {
655
+ "name": "isExited",
656
+ "type": "bool",
657
+ "internalType": "bool"
658
+ },
659
+ {
660
+ "name": "maxShareToBeSold",
661
+ "type": "uint256",
662
+ "internalType": "uint256"
663
+ },
664
+ {
665
+ "name": "totalTokensOnBondingCurve",
666
+ "type": "uint256",
667
+ "internalType": "uint256"
668
+ }
669
+ ],
670
+ "stateMutability": "view"
671
+ },
666
672
  {
667
673
  "type": "function",
668
674
  "name": "protocolRewardRecipient",
@@ -918,17 +924,17 @@
918
924
  },
919
925
  {
920
926
  "type": "function",
921
- "name": "uniswapV3SwapCallback",
927
+ "name": "uniswapV3MintCallback",
922
928
  "inputs": [
923
929
  {
924
- "name": "amount0Delta",
925
- "type": "int256",
926
- "internalType": "int256"
930
+ "name": "amount0Owed",
931
+ "type": "uint256",
932
+ "internalType": "uint256"
927
933
  },
928
934
  {
929
- "name": "amount1Delta",
930
- "type": "int256",
931
- "internalType": "int256"
935
+ "name": "amount1Owed",
936
+ "type": "uint256",
937
+ "internalType": "uint256"
932
938
  },
933
939
  {
934
940
  "name": "",
@@ -939,6 +945,19 @@
939
945
  "outputs": [],
940
946
  "stateMutability": "nonpayable"
941
947
  },
948
+ {
949
+ "type": "function",
950
+ "name": "v3Factory",
951
+ "inputs": [],
952
+ "outputs": [
953
+ {
954
+ "name": "",
955
+ "type": "address",
956
+ "internalType": "address"
957
+ }
958
+ ],
959
+ "stateMutability": "view"
960
+ },
942
961
  {
943
962
  "type": "event",
944
963
  "name": "Approval",
@@ -1396,6 +1415,11 @@
1396
1415
  "name": "AlreadyOwner",
1397
1416
  "inputs": []
1398
1417
  },
1418
+ {
1419
+ "type": "error",
1420
+ "name": "CannotMintZeroLiquidity",
1421
+ "inputs": []
1422
+ },
1399
1423
  {
1400
1424
  "type": "error",
1401
1425
  "name": "ECDSAInvalidSignature",
@@ -1612,6 +1636,22 @@
1612
1636
  "name": "InvalidMarketType",
1613
1637
  "inputs": []
1614
1638
  },
1639
+ {
1640
+ "type": "error",
1641
+ "name": "InvalidTickRangeMisordered",
1642
+ "inputs": [
1643
+ {
1644
+ "name": "tickLower",
1645
+ "type": "int24",
1646
+ "internalType": "int24"
1647
+ },
1648
+ {
1649
+ "name": "tickUpper",
1650
+ "type": "int24",
1651
+ "internalType": "int24"
1652
+ }
1653
+ ]
1654
+ },
1615
1655
  {
1616
1656
  "type": "error",
1617
1657
  "name": "InvalidWethLowerTick",
@@ -1627,6 +1667,22 @@
1627
1667
  "name": "MarketNotGraduated",
1628
1668
  "inputs": []
1629
1669
  },
1670
+ {
1671
+ "type": "error",
1672
+ "name": "MaxShareToBeSoldExceeded",
1673
+ "inputs": [
1674
+ {
1675
+ "name": "value",
1676
+ "type": "uint256",
1677
+ "internalType": "uint256"
1678
+ },
1679
+ {
1680
+ "name": "limit",
1681
+ "type": "uint256",
1682
+ "internalType": "uint256"
1683
+ }
1684
+ ]
1685
+ },
1630
1686
  {
1631
1687
  "type": "error",
1632
1688
  "name": "NotInitializing",
@@ -446,13 +446,6 @@
446
446
  "outputs": [],
447
447
  "stateMutability": "nonpayable"
448
448
  },
449
- {
450
- "type": "function",
451
- "name": "test_only_pool_callback",
452
- "inputs": [],
453
- "outputs": [],
454
- "stateMutability": "nonpayable"
455
- },
456
449
  {
457
450
  "type": "function",
458
451
  "name": "test_receive_from_weth",
@@ -599,36 +592,6 @@
599
592
  "outputs": [],
600
593
  "stateMutability": "view"
601
594
  },
602
- {
603
- "type": "function",
604
- "name": "test_uniswap_swap_callback",
605
- "inputs": [],
606
- "outputs": [],
607
- "stateMutability": "nonpayable"
608
- },
609
- {
610
- "type": "function",
611
- "name": "uniswapV3SwapCallback",
612
- "inputs": [
613
- {
614
- "name": "amount0Delta",
615
- "type": "int256",
616
- "internalType": "int256"
617
- },
618
- {
619
- "name": "amount1Delta",
620
- "type": "int256",
621
- "internalType": "int256"
622
- },
623
- {
624
- "name": "data",
625
- "type": "bytes",
626
- "internalType": "bytes"
627
- }
628
- ],
629
- "outputs": [],
630
- "stateMutability": "nonpayable"
631
- },
632
595
  {
633
596
  "type": "event",
634
597
  "name": "SlotFound",
@@ -0,0 +1,28 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "WrappedError",
5
+ "inputs": [
6
+ {
7
+ "name": "target",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "selector",
13
+ "type": "bytes4",
14
+ "internalType": "bytes4"
15
+ },
16
+ {
17
+ "name": "reason",
18
+ "type": "bytes",
19
+ "internalType": "bytes"
20
+ },
21
+ {
22
+ "name": "details",
23
+ "type": "bytes",
24
+ "internalType": "bytes"
25
+ }
26
+ ]
27
+ }
28
+ ]
@@ -0,0 +1,39 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "CannotMintZeroLiquidity",
5
+ "inputs": []
6
+ },
7
+ {
8
+ "type": "error",
9
+ "name": "InvalidTickRangeMisordered",
10
+ "inputs": [
11
+ {
12
+ "name": "tickLower",
13
+ "type": "int24",
14
+ "internalType": "int24"
15
+ },
16
+ {
17
+ "name": "tickUpper",
18
+ "type": "int24",
19
+ "internalType": "int24"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "type": "error",
25
+ "name": "MaxShareToBeSoldExceeded",
26
+ "inputs": [
27
+ {
28
+ "name": "value",
29
+ "type": "uint256",
30
+ "internalType": "uint256"
31
+ },
32
+ {
33
+ "name": "limit",
34
+ "type": "uint256",
35
+ "internalType": "uint256"
36
+ }
37
+ ]
38
+ }
39
+ ]