@zoralabs/coins 2.5.0 → 2.6.1

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 (48) hide show
  1. package/.turbo/turbo-build$colon$js.log +136 -130
  2. package/CHANGELOG.md +28 -17
  3. package/abis/BaseCoin.json +5 -0
  4. package/abis/ContentCoin.json +5 -0
  5. package/abis/ICoin.json +5 -0
  6. package/abis/ICoinV3.json +5 -0
  7. package/abis/ITrendCoin.json +140 -0
  8. package/abis/ITrendCoinErrors.json +33 -0
  9. package/abis/IUniversalRouter.json +61 -0
  10. package/abis/IZoraFactory.json +237 -0
  11. package/abis/TrendCoin.json +2053 -0
  12. package/abis/ZoraFactoryImpl.json +242 -0
  13. package/dist/index.cjs +955 -138
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +953 -138
  16. package/dist/index.js.map +1 -1
  17. package/dist/wagmiGenerated.d.ts +1388 -149
  18. package/dist/wagmiGenerated.d.ts.map +1 -1
  19. package/foundry.toml +1 -0
  20. package/package/wagmiGenerated.ts +962 -139
  21. package/package.json +2 -2
  22. package/src/BaseCoin.sol +12 -12
  23. package/src/ContentCoin.sol +20 -1
  24. package/src/CreatorCoin.sol +3 -0
  25. package/src/TrendCoin.sol +117 -0
  26. package/src/ZoraFactoryImpl.sol +142 -1
  27. package/src/hooks/ZoraV4CoinHook.sol +17 -7
  28. package/src/interfaces/ICoin.sol +5 -1
  29. package/src/interfaces/ICreatorCoin.sol +0 -3
  30. package/src/interfaces/IPoolManager.sol +13 -0
  31. package/src/interfaces/ITrendCoin.sol +26 -0
  32. package/src/interfaces/ITrendCoinErrors.sol +24 -0
  33. package/src/interfaces/IZoraFactory.sol +60 -1
  34. package/src/libs/CoinConstants.sol +13 -1
  35. package/src/libs/CoinRewardsV4.sol +82 -21
  36. package/src/libs/TickerUtils.sol +66 -0
  37. package/src/libs/UniV4SwapToCurrency.sol +2 -1
  38. package/src/version/ContractVersionBase.sol +1 -1
  39. package/test/CoinRewardsV4.t.sol +48 -0
  40. package/test/CreatorCoin.t.sol +2 -1
  41. package/test/Factory.t.sol +31 -5
  42. package/test/LaunchFee.t.sol +0 -2
  43. package/test/LiquidityMigration.t.sol +0 -2
  44. package/test/TrendCoin.t.sol +1128 -0
  45. package/test/Upgrades.t.sol +16 -3
  46. package/test/utils/FeeEstimatorHook.sol +36 -10
  47. package/test/utils/V4TestSetup.sol +36 -4
  48. package/wagmi.config.ts +2 -0
@@ -0,0 +1,2053 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "protocolRewardRecipient_",
7
+ "type": "address",
8
+ "internalType": "address"
9
+ },
10
+ {
11
+ "name": "protocolRewards_",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ },
15
+ {
16
+ "name": "poolManager_",
17
+ "type": "address",
18
+ "internalType": "contract IPoolManager"
19
+ },
20
+ {
21
+ "name": "airlock_",
22
+ "type": "address",
23
+ "internalType": "address"
24
+ },
25
+ {
26
+ "name": "metadataManager_",
27
+ "type": "address",
28
+ "internalType": "address"
29
+ }
30
+ ],
31
+ "stateMutability": "nonpayable"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "name": "DOMAIN_SEPARATOR",
36
+ "inputs": [],
37
+ "outputs": [
38
+ {
39
+ "name": "",
40
+ "type": "bytes32",
41
+ "internalType": "bytes32"
42
+ }
43
+ ],
44
+ "stateMutability": "view"
45
+ },
46
+ {
47
+ "type": "function",
48
+ "name": "addOwner",
49
+ "inputs": [
50
+ {
51
+ "name": "account",
52
+ "type": "address",
53
+ "internalType": "address"
54
+ }
55
+ ],
56
+ "outputs": [],
57
+ "stateMutability": "nonpayable"
58
+ },
59
+ {
60
+ "type": "function",
61
+ "name": "addOwners",
62
+ "inputs": [
63
+ {
64
+ "name": "accounts",
65
+ "type": "address[]",
66
+ "internalType": "address[]"
67
+ }
68
+ ],
69
+ "outputs": [],
70
+ "stateMutability": "nonpayable"
71
+ },
72
+ {
73
+ "type": "function",
74
+ "name": "airlock",
75
+ "inputs": [],
76
+ "outputs": [
77
+ {
78
+ "name": "",
79
+ "type": "address",
80
+ "internalType": "address"
81
+ }
82
+ ],
83
+ "stateMutability": "view"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "name": "allowance",
88
+ "inputs": [
89
+ {
90
+ "name": "owner",
91
+ "type": "address",
92
+ "internalType": "address"
93
+ },
94
+ {
95
+ "name": "spender",
96
+ "type": "address",
97
+ "internalType": "address"
98
+ }
99
+ ],
100
+ "outputs": [
101
+ {
102
+ "name": "",
103
+ "type": "uint256",
104
+ "internalType": "uint256"
105
+ }
106
+ ],
107
+ "stateMutability": "view"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "name": "approve",
112
+ "inputs": [
113
+ {
114
+ "name": "spender",
115
+ "type": "address",
116
+ "internalType": "address"
117
+ },
118
+ {
119
+ "name": "value",
120
+ "type": "uint256",
121
+ "internalType": "uint256"
122
+ }
123
+ ],
124
+ "outputs": [
125
+ {
126
+ "name": "",
127
+ "type": "bool",
128
+ "internalType": "bool"
129
+ }
130
+ ],
131
+ "stateMutability": "nonpayable"
132
+ },
133
+ {
134
+ "type": "function",
135
+ "name": "balanceOf",
136
+ "inputs": [
137
+ {
138
+ "name": "account",
139
+ "type": "address",
140
+ "internalType": "address"
141
+ }
142
+ ],
143
+ "outputs": [
144
+ {
145
+ "name": "",
146
+ "type": "uint256",
147
+ "internalType": "uint256"
148
+ }
149
+ ],
150
+ "stateMutability": "view"
151
+ },
152
+ {
153
+ "type": "function",
154
+ "name": "burn",
155
+ "inputs": [
156
+ {
157
+ "name": "amount",
158
+ "type": "uint256",
159
+ "internalType": "uint256"
160
+ }
161
+ ],
162
+ "outputs": [],
163
+ "stateMutability": "nonpayable"
164
+ },
165
+ {
166
+ "type": "function",
167
+ "name": "coinType",
168
+ "inputs": [],
169
+ "outputs": [
170
+ {
171
+ "name": "",
172
+ "type": "uint8",
173
+ "internalType": "enum IHasCoinType.CoinType"
174
+ }
175
+ ],
176
+ "stateMutability": "pure"
177
+ },
178
+ {
179
+ "type": "function",
180
+ "name": "contractURI",
181
+ "inputs": [],
182
+ "outputs": [
183
+ {
184
+ "name": "",
185
+ "type": "string",
186
+ "internalType": "string"
187
+ }
188
+ ],
189
+ "stateMutability": "view"
190
+ },
191
+ {
192
+ "type": "function",
193
+ "name": "contractVersion",
194
+ "inputs": [],
195
+ "outputs": [
196
+ {
197
+ "name": "",
198
+ "type": "string",
199
+ "internalType": "string"
200
+ }
201
+ ],
202
+ "stateMutability": "pure"
203
+ },
204
+ {
205
+ "type": "function",
206
+ "name": "creationInfo",
207
+ "inputs": [],
208
+ "outputs": [
209
+ {
210
+ "name": "creationTimestamp",
211
+ "type": "uint256",
212
+ "internalType": "uint256"
213
+ },
214
+ {
215
+ "name": "isDeploying",
216
+ "type": "bool",
217
+ "internalType": "bool"
218
+ }
219
+ ],
220
+ "stateMutability": "view"
221
+ },
222
+ {
223
+ "type": "function",
224
+ "name": "currency",
225
+ "inputs": [],
226
+ "outputs": [
227
+ {
228
+ "name": "",
229
+ "type": "address",
230
+ "internalType": "address"
231
+ }
232
+ ],
233
+ "stateMutability": "view"
234
+ },
235
+ {
236
+ "type": "function",
237
+ "name": "decimals",
238
+ "inputs": [],
239
+ "outputs": [
240
+ {
241
+ "name": "",
242
+ "type": "uint8",
243
+ "internalType": "uint8"
244
+ }
245
+ ],
246
+ "stateMutability": "view"
247
+ },
248
+ {
249
+ "type": "function",
250
+ "name": "dopplerFeeRecipient",
251
+ "inputs": [],
252
+ "outputs": [
253
+ {
254
+ "name": "",
255
+ "type": "address",
256
+ "internalType": "address"
257
+ }
258
+ ],
259
+ "stateMutability": "view"
260
+ },
261
+ {
262
+ "type": "function",
263
+ "name": "eip712Domain",
264
+ "inputs": [],
265
+ "outputs": [
266
+ {
267
+ "name": "fields",
268
+ "type": "bytes1",
269
+ "internalType": "bytes1"
270
+ },
271
+ {
272
+ "name": "name",
273
+ "type": "string",
274
+ "internalType": "string"
275
+ },
276
+ {
277
+ "name": "version",
278
+ "type": "string",
279
+ "internalType": "string"
280
+ },
281
+ {
282
+ "name": "chainId",
283
+ "type": "uint256",
284
+ "internalType": "uint256"
285
+ },
286
+ {
287
+ "name": "verifyingContract",
288
+ "type": "address",
289
+ "internalType": "address"
290
+ },
291
+ {
292
+ "name": "salt",
293
+ "type": "bytes32",
294
+ "internalType": "bytes32"
295
+ },
296
+ {
297
+ "name": "extensions",
298
+ "type": "uint256[]",
299
+ "internalType": "uint256[]"
300
+ }
301
+ ],
302
+ "stateMutability": "view"
303
+ },
304
+ {
305
+ "type": "function",
306
+ "name": "getPayoutSwapPath",
307
+ "inputs": [
308
+ {
309
+ "name": "coinVersionLookup",
310
+ "type": "address",
311
+ "internalType": "contract IDeployedCoinVersionLookup"
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "payoutSwapPath",
317
+ "type": "tuple",
318
+ "internalType": "struct IHasSwapPath.PayoutSwapPath",
319
+ "components": [
320
+ {
321
+ "name": "path",
322
+ "type": "tuple[]",
323
+ "internalType": "struct PathKey[]",
324
+ "components": [
325
+ {
326
+ "name": "intermediateCurrency",
327
+ "type": "address",
328
+ "internalType": "Currency"
329
+ },
330
+ {
331
+ "name": "fee",
332
+ "type": "uint24",
333
+ "internalType": "uint24"
334
+ },
335
+ {
336
+ "name": "tickSpacing",
337
+ "type": "int24",
338
+ "internalType": "int24"
339
+ },
340
+ {
341
+ "name": "hooks",
342
+ "type": "address",
343
+ "internalType": "contract IHooks"
344
+ },
345
+ {
346
+ "name": "hookData",
347
+ "type": "bytes",
348
+ "internalType": "bytes"
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "name": "currencyIn",
354
+ "type": "address",
355
+ "internalType": "Currency"
356
+ }
357
+ ]
358
+ }
359
+ ],
360
+ "stateMutability": "view"
361
+ },
362
+ {
363
+ "type": "function",
364
+ "name": "getPoolConfiguration",
365
+ "inputs": [],
366
+ "outputs": [
367
+ {
368
+ "name": "",
369
+ "type": "tuple",
370
+ "internalType": "struct PoolConfiguration",
371
+ "components": [
372
+ {
373
+ "name": "version",
374
+ "type": "uint8",
375
+ "internalType": "uint8"
376
+ },
377
+ {
378
+ "name": "numPositions",
379
+ "type": "uint16",
380
+ "internalType": "uint16"
381
+ },
382
+ {
383
+ "name": "fee",
384
+ "type": "uint24",
385
+ "internalType": "uint24"
386
+ },
387
+ {
388
+ "name": "tickSpacing",
389
+ "type": "int24",
390
+ "internalType": "int24"
391
+ },
392
+ {
393
+ "name": "numDiscoveryPositions",
394
+ "type": "uint16[]",
395
+ "internalType": "uint16[]"
396
+ },
397
+ {
398
+ "name": "tickLower",
399
+ "type": "int24[]",
400
+ "internalType": "int24[]"
401
+ },
402
+ {
403
+ "name": "tickUpper",
404
+ "type": "int24[]",
405
+ "internalType": "int24[]"
406
+ },
407
+ {
408
+ "name": "maxDiscoverySupplyShare",
409
+ "type": "uint256[]",
410
+ "internalType": "uint256[]"
411
+ }
412
+ ]
413
+ }
414
+ ],
415
+ "stateMutability": "view"
416
+ },
417
+ {
418
+ "type": "function",
419
+ "name": "getPoolKey",
420
+ "inputs": [],
421
+ "outputs": [
422
+ {
423
+ "name": "",
424
+ "type": "tuple",
425
+ "internalType": "struct PoolKey",
426
+ "components": [
427
+ {
428
+ "name": "currency0",
429
+ "type": "address",
430
+ "internalType": "Currency"
431
+ },
432
+ {
433
+ "name": "currency1",
434
+ "type": "address",
435
+ "internalType": "Currency"
436
+ },
437
+ {
438
+ "name": "fee",
439
+ "type": "uint24",
440
+ "internalType": "uint24"
441
+ },
442
+ {
443
+ "name": "tickSpacing",
444
+ "type": "int24",
445
+ "internalType": "int24"
446
+ },
447
+ {
448
+ "name": "hooks",
449
+ "type": "address",
450
+ "internalType": "contract IHooks"
451
+ }
452
+ ]
453
+ }
454
+ ],
455
+ "stateMutability": "view"
456
+ },
457
+ {
458
+ "type": "function",
459
+ "name": "hooks",
460
+ "inputs": [],
461
+ "outputs": [
462
+ {
463
+ "name": "",
464
+ "type": "address",
465
+ "internalType": "contract IHooks"
466
+ }
467
+ ],
468
+ "stateMutability": "view"
469
+ },
470
+ {
471
+ "type": "function",
472
+ "name": "initialize",
473
+ "inputs": [
474
+ {
475
+ "name": "",
476
+ "type": "address",
477
+ "internalType": "address"
478
+ },
479
+ {
480
+ "name": "",
481
+ "type": "address[]",
482
+ "internalType": "address[]"
483
+ },
484
+ {
485
+ "name": "",
486
+ "type": "string",
487
+ "internalType": "string"
488
+ },
489
+ {
490
+ "name": "",
491
+ "type": "string",
492
+ "internalType": "string"
493
+ },
494
+ {
495
+ "name": "",
496
+ "type": "string",
497
+ "internalType": "string"
498
+ },
499
+ {
500
+ "name": "",
501
+ "type": "address",
502
+ "internalType": "address"
503
+ },
504
+ {
505
+ "name": "",
506
+ "type": "address",
507
+ "internalType": "address"
508
+ },
509
+ {
510
+ "name": "",
511
+ "type": "tuple",
512
+ "internalType": "struct PoolKey",
513
+ "components": [
514
+ {
515
+ "name": "currency0",
516
+ "type": "address",
517
+ "internalType": "Currency"
518
+ },
519
+ {
520
+ "name": "currency1",
521
+ "type": "address",
522
+ "internalType": "Currency"
523
+ },
524
+ {
525
+ "name": "fee",
526
+ "type": "uint24",
527
+ "internalType": "uint24"
528
+ },
529
+ {
530
+ "name": "tickSpacing",
531
+ "type": "int24",
532
+ "internalType": "int24"
533
+ },
534
+ {
535
+ "name": "hooks",
536
+ "type": "address",
537
+ "internalType": "contract IHooks"
538
+ }
539
+ ]
540
+ },
541
+ {
542
+ "name": "",
543
+ "type": "uint160",
544
+ "internalType": "uint160"
545
+ },
546
+ {
547
+ "name": "",
548
+ "type": "tuple",
549
+ "internalType": "struct PoolConfiguration",
550
+ "components": [
551
+ {
552
+ "name": "version",
553
+ "type": "uint8",
554
+ "internalType": "uint8"
555
+ },
556
+ {
557
+ "name": "numPositions",
558
+ "type": "uint16",
559
+ "internalType": "uint16"
560
+ },
561
+ {
562
+ "name": "fee",
563
+ "type": "uint24",
564
+ "internalType": "uint24"
565
+ },
566
+ {
567
+ "name": "tickSpacing",
568
+ "type": "int24",
569
+ "internalType": "int24"
570
+ },
571
+ {
572
+ "name": "numDiscoveryPositions",
573
+ "type": "uint16[]",
574
+ "internalType": "uint16[]"
575
+ },
576
+ {
577
+ "name": "tickLower",
578
+ "type": "int24[]",
579
+ "internalType": "int24[]"
580
+ },
581
+ {
582
+ "name": "tickUpper",
583
+ "type": "int24[]",
584
+ "internalType": "int24[]"
585
+ },
586
+ {
587
+ "name": "maxDiscoverySupplyShare",
588
+ "type": "uint256[]",
589
+ "internalType": "uint256[]"
590
+ }
591
+ ]
592
+ }
593
+ ],
594
+ "outputs": [],
595
+ "stateMutability": "pure"
596
+ },
597
+ {
598
+ "type": "function",
599
+ "name": "initializeTrendCoin",
600
+ "inputs": [
601
+ {
602
+ "name": "owners_",
603
+ "type": "address[]",
604
+ "internalType": "address[]"
605
+ },
606
+ {
607
+ "name": "symbol_",
608
+ "type": "string",
609
+ "internalType": "string"
610
+ },
611
+ {
612
+ "name": "poolKey_",
613
+ "type": "tuple",
614
+ "internalType": "struct PoolKey",
615
+ "components": [
616
+ {
617
+ "name": "currency0",
618
+ "type": "address",
619
+ "internalType": "Currency"
620
+ },
621
+ {
622
+ "name": "currency1",
623
+ "type": "address",
624
+ "internalType": "Currency"
625
+ },
626
+ {
627
+ "name": "fee",
628
+ "type": "uint24",
629
+ "internalType": "uint24"
630
+ },
631
+ {
632
+ "name": "tickSpacing",
633
+ "type": "int24",
634
+ "internalType": "int24"
635
+ },
636
+ {
637
+ "name": "hooks",
638
+ "type": "address",
639
+ "internalType": "contract IHooks"
640
+ }
641
+ ]
642
+ },
643
+ {
644
+ "name": "sqrtPriceX96",
645
+ "type": "uint160",
646
+ "internalType": "uint160"
647
+ },
648
+ {
649
+ "name": "poolConfiguration_",
650
+ "type": "tuple",
651
+ "internalType": "struct PoolConfiguration",
652
+ "components": [
653
+ {
654
+ "name": "version",
655
+ "type": "uint8",
656
+ "internalType": "uint8"
657
+ },
658
+ {
659
+ "name": "numPositions",
660
+ "type": "uint16",
661
+ "internalType": "uint16"
662
+ },
663
+ {
664
+ "name": "fee",
665
+ "type": "uint24",
666
+ "internalType": "uint24"
667
+ },
668
+ {
669
+ "name": "tickSpacing",
670
+ "type": "int24",
671
+ "internalType": "int24"
672
+ },
673
+ {
674
+ "name": "numDiscoveryPositions",
675
+ "type": "uint16[]",
676
+ "internalType": "uint16[]"
677
+ },
678
+ {
679
+ "name": "tickLower",
680
+ "type": "int24[]",
681
+ "internalType": "int24[]"
682
+ },
683
+ {
684
+ "name": "tickUpper",
685
+ "type": "int24[]",
686
+ "internalType": "int24[]"
687
+ },
688
+ {
689
+ "name": "maxDiscoverySupplyShare",
690
+ "type": "uint256[]",
691
+ "internalType": "uint256[]"
692
+ }
693
+ ]
694
+ }
695
+ ],
696
+ "outputs": [],
697
+ "stateMutability": "nonpayable"
698
+ },
699
+ {
700
+ "type": "function",
701
+ "name": "isOwner",
702
+ "inputs": [
703
+ {
704
+ "name": "account",
705
+ "type": "address",
706
+ "internalType": "address"
707
+ }
708
+ ],
709
+ "outputs": [
710
+ {
711
+ "name": "",
712
+ "type": "bool",
713
+ "internalType": "bool"
714
+ }
715
+ ],
716
+ "stateMutability": "view"
717
+ },
718
+ {
719
+ "type": "function",
720
+ "name": "migrateLiquidity",
721
+ "inputs": [
722
+ {
723
+ "name": "newHook",
724
+ "type": "address",
725
+ "internalType": "address"
726
+ },
727
+ {
728
+ "name": "additionalData",
729
+ "type": "bytes",
730
+ "internalType": "bytes"
731
+ }
732
+ ],
733
+ "outputs": [
734
+ {
735
+ "name": "newPoolKey",
736
+ "type": "tuple",
737
+ "internalType": "struct PoolKey",
738
+ "components": [
739
+ {
740
+ "name": "currency0",
741
+ "type": "address",
742
+ "internalType": "Currency"
743
+ },
744
+ {
745
+ "name": "currency1",
746
+ "type": "address",
747
+ "internalType": "Currency"
748
+ },
749
+ {
750
+ "name": "fee",
751
+ "type": "uint24",
752
+ "internalType": "uint24"
753
+ },
754
+ {
755
+ "name": "tickSpacing",
756
+ "type": "int24",
757
+ "internalType": "int24"
758
+ },
759
+ {
760
+ "name": "hooks",
761
+ "type": "address",
762
+ "internalType": "contract IHooks"
763
+ }
764
+ ]
765
+ }
766
+ ],
767
+ "stateMutability": "nonpayable"
768
+ },
769
+ {
770
+ "type": "function",
771
+ "name": "name",
772
+ "inputs": [],
773
+ "outputs": [
774
+ {
775
+ "name": "",
776
+ "type": "string",
777
+ "internalType": "string"
778
+ }
779
+ ],
780
+ "stateMutability": "view"
781
+ },
782
+ {
783
+ "type": "function",
784
+ "name": "nonces",
785
+ "inputs": [
786
+ {
787
+ "name": "owner",
788
+ "type": "address",
789
+ "internalType": "address"
790
+ }
791
+ ],
792
+ "outputs": [
793
+ {
794
+ "name": "",
795
+ "type": "uint256",
796
+ "internalType": "uint256"
797
+ }
798
+ ],
799
+ "stateMutability": "view"
800
+ },
801
+ {
802
+ "type": "function",
803
+ "name": "owners",
804
+ "inputs": [],
805
+ "outputs": [
806
+ {
807
+ "name": "",
808
+ "type": "address[]",
809
+ "internalType": "address[]"
810
+ }
811
+ ],
812
+ "stateMutability": "view"
813
+ },
814
+ {
815
+ "type": "function",
816
+ "name": "payoutRecipient",
817
+ "inputs": [],
818
+ "outputs": [
819
+ {
820
+ "name": "",
821
+ "type": "address",
822
+ "internalType": "address"
823
+ }
824
+ ],
825
+ "stateMutability": "view"
826
+ },
827
+ {
828
+ "type": "function",
829
+ "name": "permit",
830
+ "inputs": [
831
+ {
832
+ "name": "owner",
833
+ "type": "address",
834
+ "internalType": "address"
835
+ },
836
+ {
837
+ "name": "spender",
838
+ "type": "address",
839
+ "internalType": "address"
840
+ },
841
+ {
842
+ "name": "value",
843
+ "type": "uint256",
844
+ "internalType": "uint256"
845
+ },
846
+ {
847
+ "name": "deadline",
848
+ "type": "uint256",
849
+ "internalType": "uint256"
850
+ },
851
+ {
852
+ "name": "v",
853
+ "type": "uint8",
854
+ "internalType": "uint8"
855
+ },
856
+ {
857
+ "name": "r",
858
+ "type": "bytes32",
859
+ "internalType": "bytes32"
860
+ },
861
+ {
862
+ "name": "s",
863
+ "type": "bytes32",
864
+ "internalType": "bytes32"
865
+ }
866
+ ],
867
+ "outputs": [],
868
+ "stateMutability": "nonpayable"
869
+ },
870
+ {
871
+ "type": "function",
872
+ "name": "platformReferrer",
873
+ "inputs": [],
874
+ "outputs": [
875
+ {
876
+ "name": "",
877
+ "type": "address",
878
+ "internalType": "address"
879
+ }
880
+ ],
881
+ "stateMutability": "pure"
882
+ },
883
+ {
884
+ "type": "function",
885
+ "name": "poolManager",
886
+ "inputs": [],
887
+ "outputs": [
888
+ {
889
+ "name": "",
890
+ "type": "address",
891
+ "internalType": "contract IPoolManager"
892
+ }
893
+ ],
894
+ "stateMutability": "view"
895
+ },
896
+ {
897
+ "type": "function",
898
+ "name": "protocolRewardRecipient",
899
+ "inputs": [],
900
+ "outputs": [
901
+ {
902
+ "name": "",
903
+ "type": "address",
904
+ "internalType": "address"
905
+ }
906
+ ],
907
+ "stateMutability": "view"
908
+ },
909
+ {
910
+ "type": "function",
911
+ "name": "protocolRewards",
912
+ "inputs": [],
913
+ "outputs": [
914
+ {
915
+ "name": "",
916
+ "type": "address",
917
+ "internalType": "address"
918
+ }
919
+ ],
920
+ "stateMutability": "view"
921
+ },
922
+ {
923
+ "type": "function",
924
+ "name": "removeOwner",
925
+ "inputs": [
926
+ {
927
+ "name": "account",
928
+ "type": "address",
929
+ "internalType": "address"
930
+ }
931
+ ],
932
+ "outputs": [],
933
+ "stateMutability": "nonpayable"
934
+ },
935
+ {
936
+ "type": "function",
937
+ "name": "removeOwners",
938
+ "inputs": [
939
+ {
940
+ "name": "accounts",
941
+ "type": "address[]",
942
+ "internalType": "address[]"
943
+ }
944
+ ],
945
+ "outputs": [],
946
+ "stateMutability": "nonpayable"
947
+ },
948
+ {
949
+ "type": "function",
950
+ "name": "revokeOwnership",
951
+ "inputs": [],
952
+ "outputs": [],
953
+ "stateMutability": "nonpayable"
954
+ },
955
+ {
956
+ "type": "function",
957
+ "name": "setContractURI",
958
+ "inputs": [
959
+ {
960
+ "name": "newURI",
961
+ "type": "string",
962
+ "internalType": "string"
963
+ }
964
+ ],
965
+ "outputs": [],
966
+ "stateMutability": "nonpayable"
967
+ },
968
+ {
969
+ "type": "function",
970
+ "name": "setNameAndSymbol",
971
+ "inputs": [
972
+ {
973
+ "name": "newName",
974
+ "type": "string",
975
+ "internalType": "string"
976
+ },
977
+ {
978
+ "name": "newSymbol",
979
+ "type": "string",
980
+ "internalType": "string"
981
+ }
982
+ ],
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable"
985
+ },
986
+ {
987
+ "type": "function",
988
+ "name": "setPayoutRecipient",
989
+ "inputs": [
990
+ {
991
+ "name": "newPayoutRecipient",
992
+ "type": "address",
993
+ "internalType": "address"
994
+ }
995
+ ],
996
+ "outputs": [],
997
+ "stateMutability": "nonpayable"
998
+ },
999
+ {
1000
+ "type": "function",
1001
+ "name": "supportsInterface",
1002
+ "inputs": [
1003
+ {
1004
+ "name": "interfaceId",
1005
+ "type": "bytes4",
1006
+ "internalType": "bytes4"
1007
+ }
1008
+ ],
1009
+ "outputs": [
1010
+ {
1011
+ "name": "",
1012
+ "type": "bool",
1013
+ "internalType": "bool"
1014
+ }
1015
+ ],
1016
+ "stateMutability": "view"
1017
+ },
1018
+ {
1019
+ "type": "function",
1020
+ "name": "symbol",
1021
+ "inputs": [],
1022
+ "outputs": [
1023
+ {
1024
+ "name": "",
1025
+ "type": "string",
1026
+ "internalType": "string"
1027
+ }
1028
+ ],
1029
+ "stateMutability": "view"
1030
+ },
1031
+ {
1032
+ "type": "function",
1033
+ "name": "tokenURI",
1034
+ "inputs": [],
1035
+ "outputs": [
1036
+ {
1037
+ "name": "",
1038
+ "type": "string",
1039
+ "internalType": "string"
1040
+ }
1041
+ ],
1042
+ "stateMutability": "view"
1043
+ },
1044
+ {
1045
+ "type": "function",
1046
+ "name": "totalSupply",
1047
+ "inputs": [],
1048
+ "outputs": [
1049
+ {
1050
+ "name": "",
1051
+ "type": "uint256",
1052
+ "internalType": "uint256"
1053
+ }
1054
+ ],
1055
+ "stateMutability": "view"
1056
+ },
1057
+ {
1058
+ "type": "function",
1059
+ "name": "totalSupplyForPositions",
1060
+ "inputs": [],
1061
+ "outputs": [
1062
+ {
1063
+ "name": "",
1064
+ "type": "uint256",
1065
+ "internalType": "uint256"
1066
+ }
1067
+ ],
1068
+ "stateMutability": "pure"
1069
+ },
1070
+ {
1071
+ "type": "function",
1072
+ "name": "transfer",
1073
+ "inputs": [
1074
+ {
1075
+ "name": "to",
1076
+ "type": "address",
1077
+ "internalType": "address"
1078
+ },
1079
+ {
1080
+ "name": "value",
1081
+ "type": "uint256",
1082
+ "internalType": "uint256"
1083
+ }
1084
+ ],
1085
+ "outputs": [
1086
+ {
1087
+ "name": "",
1088
+ "type": "bool",
1089
+ "internalType": "bool"
1090
+ }
1091
+ ],
1092
+ "stateMutability": "nonpayable"
1093
+ },
1094
+ {
1095
+ "type": "function",
1096
+ "name": "transferFrom",
1097
+ "inputs": [
1098
+ {
1099
+ "name": "from",
1100
+ "type": "address",
1101
+ "internalType": "address"
1102
+ },
1103
+ {
1104
+ "name": "to",
1105
+ "type": "address",
1106
+ "internalType": "address"
1107
+ },
1108
+ {
1109
+ "name": "value",
1110
+ "type": "uint256",
1111
+ "internalType": "uint256"
1112
+ }
1113
+ ],
1114
+ "outputs": [
1115
+ {
1116
+ "name": "",
1117
+ "type": "bool",
1118
+ "internalType": "bool"
1119
+ }
1120
+ ],
1121
+ "stateMutability": "nonpayable"
1122
+ },
1123
+ {
1124
+ "type": "event",
1125
+ "name": "Approval",
1126
+ "inputs": [
1127
+ {
1128
+ "name": "owner",
1129
+ "type": "address",
1130
+ "indexed": true,
1131
+ "internalType": "address"
1132
+ },
1133
+ {
1134
+ "name": "spender",
1135
+ "type": "address",
1136
+ "indexed": true,
1137
+ "internalType": "address"
1138
+ },
1139
+ {
1140
+ "name": "value",
1141
+ "type": "uint256",
1142
+ "indexed": false,
1143
+ "internalType": "uint256"
1144
+ }
1145
+ ],
1146
+ "anonymous": false
1147
+ },
1148
+ {
1149
+ "type": "event",
1150
+ "name": "CoinBuy",
1151
+ "inputs": [
1152
+ {
1153
+ "name": "buyer",
1154
+ "type": "address",
1155
+ "indexed": true,
1156
+ "internalType": "address"
1157
+ },
1158
+ {
1159
+ "name": "recipient",
1160
+ "type": "address",
1161
+ "indexed": true,
1162
+ "internalType": "address"
1163
+ },
1164
+ {
1165
+ "name": "tradeReferrer",
1166
+ "type": "address",
1167
+ "indexed": true,
1168
+ "internalType": "address"
1169
+ },
1170
+ {
1171
+ "name": "coinsPurchased",
1172
+ "type": "uint256",
1173
+ "indexed": false,
1174
+ "internalType": "uint256"
1175
+ },
1176
+ {
1177
+ "name": "currency",
1178
+ "type": "address",
1179
+ "indexed": false,
1180
+ "internalType": "address"
1181
+ },
1182
+ {
1183
+ "name": "amountFee",
1184
+ "type": "uint256",
1185
+ "indexed": false,
1186
+ "internalType": "uint256"
1187
+ },
1188
+ {
1189
+ "name": "amountSold",
1190
+ "type": "uint256",
1191
+ "indexed": false,
1192
+ "internalType": "uint256"
1193
+ }
1194
+ ],
1195
+ "anonymous": false
1196
+ },
1197
+ {
1198
+ "type": "event",
1199
+ "name": "CoinMarketRewards",
1200
+ "inputs": [
1201
+ {
1202
+ "name": "payoutRecipient",
1203
+ "type": "address",
1204
+ "indexed": true,
1205
+ "internalType": "address"
1206
+ },
1207
+ {
1208
+ "name": "platformReferrer",
1209
+ "type": "address",
1210
+ "indexed": true,
1211
+ "internalType": "address"
1212
+ },
1213
+ {
1214
+ "name": "protocolRewardRecipient",
1215
+ "type": "address",
1216
+ "indexed": false,
1217
+ "internalType": "address"
1218
+ },
1219
+ {
1220
+ "name": "currency",
1221
+ "type": "address",
1222
+ "indexed": false,
1223
+ "internalType": "address"
1224
+ },
1225
+ {
1226
+ "name": "marketRewards",
1227
+ "type": "tuple",
1228
+ "indexed": false,
1229
+ "internalType": "struct ICoin.MarketRewards",
1230
+ "components": [
1231
+ {
1232
+ "name": "totalAmountCurrency",
1233
+ "type": "uint256",
1234
+ "internalType": "uint256"
1235
+ },
1236
+ {
1237
+ "name": "totalAmountCoin",
1238
+ "type": "uint256",
1239
+ "internalType": "uint256"
1240
+ },
1241
+ {
1242
+ "name": "creatorPayoutAmountCurrency",
1243
+ "type": "uint256",
1244
+ "internalType": "uint256"
1245
+ },
1246
+ {
1247
+ "name": "creatorPayoutAmountCoin",
1248
+ "type": "uint256",
1249
+ "internalType": "uint256"
1250
+ },
1251
+ {
1252
+ "name": "platformReferrerAmountCurrency",
1253
+ "type": "uint256",
1254
+ "internalType": "uint256"
1255
+ },
1256
+ {
1257
+ "name": "platformReferrerAmountCoin",
1258
+ "type": "uint256",
1259
+ "internalType": "uint256"
1260
+ },
1261
+ {
1262
+ "name": "protocolAmountCurrency",
1263
+ "type": "uint256",
1264
+ "internalType": "uint256"
1265
+ },
1266
+ {
1267
+ "name": "protocolAmountCoin",
1268
+ "type": "uint256",
1269
+ "internalType": "uint256"
1270
+ }
1271
+ ]
1272
+ }
1273
+ ],
1274
+ "anonymous": false
1275
+ },
1276
+ {
1277
+ "type": "event",
1278
+ "name": "CoinPayoutRecipientUpdated",
1279
+ "inputs": [
1280
+ {
1281
+ "name": "caller",
1282
+ "type": "address",
1283
+ "indexed": true,
1284
+ "internalType": "address"
1285
+ },
1286
+ {
1287
+ "name": "prevRecipient",
1288
+ "type": "address",
1289
+ "indexed": true,
1290
+ "internalType": "address"
1291
+ },
1292
+ {
1293
+ "name": "newRecipient",
1294
+ "type": "address",
1295
+ "indexed": true,
1296
+ "internalType": "address"
1297
+ }
1298
+ ],
1299
+ "anonymous": false
1300
+ },
1301
+ {
1302
+ "type": "event",
1303
+ "name": "CoinSell",
1304
+ "inputs": [
1305
+ {
1306
+ "name": "seller",
1307
+ "type": "address",
1308
+ "indexed": true,
1309
+ "internalType": "address"
1310
+ },
1311
+ {
1312
+ "name": "recipient",
1313
+ "type": "address",
1314
+ "indexed": true,
1315
+ "internalType": "address"
1316
+ },
1317
+ {
1318
+ "name": "tradeReferrer",
1319
+ "type": "address",
1320
+ "indexed": true,
1321
+ "internalType": "address"
1322
+ },
1323
+ {
1324
+ "name": "coinsSold",
1325
+ "type": "uint256",
1326
+ "indexed": false,
1327
+ "internalType": "uint256"
1328
+ },
1329
+ {
1330
+ "name": "currency",
1331
+ "type": "address",
1332
+ "indexed": false,
1333
+ "internalType": "address"
1334
+ },
1335
+ {
1336
+ "name": "amountFee",
1337
+ "type": "uint256",
1338
+ "indexed": false,
1339
+ "internalType": "uint256"
1340
+ },
1341
+ {
1342
+ "name": "amountPurchased",
1343
+ "type": "uint256",
1344
+ "indexed": false,
1345
+ "internalType": "uint256"
1346
+ }
1347
+ ],
1348
+ "anonymous": false
1349
+ },
1350
+ {
1351
+ "type": "event",
1352
+ "name": "CoinTradeRewards",
1353
+ "inputs": [
1354
+ {
1355
+ "name": "payoutRecipient",
1356
+ "type": "address",
1357
+ "indexed": true,
1358
+ "internalType": "address"
1359
+ },
1360
+ {
1361
+ "name": "platformReferrer",
1362
+ "type": "address",
1363
+ "indexed": true,
1364
+ "internalType": "address"
1365
+ },
1366
+ {
1367
+ "name": "tradeReferrer",
1368
+ "type": "address",
1369
+ "indexed": true,
1370
+ "internalType": "address"
1371
+ },
1372
+ {
1373
+ "name": "protocolRewardRecipient",
1374
+ "type": "address",
1375
+ "indexed": false,
1376
+ "internalType": "address"
1377
+ },
1378
+ {
1379
+ "name": "creatorReward",
1380
+ "type": "uint256",
1381
+ "indexed": false,
1382
+ "internalType": "uint256"
1383
+ },
1384
+ {
1385
+ "name": "platformReferrerReward",
1386
+ "type": "uint256",
1387
+ "indexed": false,
1388
+ "internalType": "uint256"
1389
+ },
1390
+ {
1391
+ "name": "traderReferrerReward",
1392
+ "type": "uint256",
1393
+ "indexed": false,
1394
+ "internalType": "uint256"
1395
+ },
1396
+ {
1397
+ "name": "protocolReward",
1398
+ "type": "uint256",
1399
+ "indexed": false,
1400
+ "internalType": "uint256"
1401
+ },
1402
+ {
1403
+ "name": "currency",
1404
+ "type": "address",
1405
+ "indexed": false,
1406
+ "internalType": "address"
1407
+ }
1408
+ ],
1409
+ "anonymous": false
1410
+ },
1411
+ {
1412
+ "type": "event",
1413
+ "name": "CoinTransfer",
1414
+ "inputs": [
1415
+ {
1416
+ "name": "sender",
1417
+ "type": "address",
1418
+ "indexed": true,
1419
+ "internalType": "address"
1420
+ },
1421
+ {
1422
+ "name": "recipient",
1423
+ "type": "address",
1424
+ "indexed": true,
1425
+ "internalType": "address"
1426
+ },
1427
+ {
1428
+ "name": "amount",
1429
+ "type": "uint256",
1430
+ "indexed": false,
1431
+ "internalType": "uint256"
1432
+ },
1433
+ {
1434
+ "name": "senderBalance",
1435
+ "type": "uint256",
1436
+ "indexed": false,
1437
+ "internalType": "uint256"
1438
+ },
1439
+ {
1440
+ "name": "recipientBalance",
1441
+ "type": "uint256",
1442
+ "indexed": false,
1443
+ "internalType": "uint256"
1444
+ }
1445
+ ],
1446
+ "anonymous": false
1447
+ },
1448
+ {
1449
+ "type": "event",
1450
+ "name": "ContractMetadataUpdated",
1451
+ "inputs": [
1452
+ {
1453
+ "name": "caller",
1454
+ "type": "address",
1455
+ "indexed": true,
1456
+ "internalType": "address"
1457
+ },
1458
+ {
1459
+ "name": "newURI",
1460
+ "type": "string",
1461
+ "indexed": false,
1462
+ "internalType": "string"
1463
+ },
1464
+ {
1465
+ "name": "name",
1466
+ "type": "string",
1467
+ "indexed": false,
1468
+ "internalType": "string"
1469
+ }
1470
+ ],
1471
+ "anonymous": false
1472
+ },
1473
+ {
1474
+ "type": "event",
1475
+ "name": "ContractURIUpdated",
1476
+ "inputs": [],
1477
+ "anonymous": false
1478
+ },
1479
+ {
1480
+ "type": "event",
1481
+ "name": "EIP712DomainChanged",
1482
+ "inputs": [],
1483
+ "anonymous": false
1484
+ },
1485
+ {
1486
+ "type": "event",
1487
+ "name": "Initialized",
1488
+ "inputs": [
1489
+ {
1490
+ "name": "version",
1491
+ "type": "uint64",
1492
+ "indexed": false,
1493
+ "internalType": "uint64"
1494
+ }
1495
+ ],
1496
+ "anonymous": false
1497
+ },
1498
+ {
1499
+ "type": "event",
1500
+ "name": "LiquidityMigrated",
1501
+ "inputs": [
1502
+ {
1503
+ "name": "fromPoolKey",
1504
+ "type": "tuple",
1505
+ "indexed": false,
1506
+ "internalType": "struct PoolKey",
1507
+ "components": [
1508
+ {
1509
+ "name": "currency0",
1510
+ "type": "address",
1511
+ "internalType": "Currency"
1512
+ },
1513
+ {
1514
+ "name": "currency1",
1515
+ "type": "address",
1516
+ "internalType": "Currency"
1517
+ },
1518
+ {
1519
+ "name": "fee",
1520
+ "type": "uint24",
1521
+ "internalType": "uint24"
1522
+ },
1523
+ {
1524
+ "name": "tickSpacing",
1525
+ "type": "int24",
1526
+ "internalType": "int24"
1527
+ },
1528
+ {
1529
+ "name": "hooks",
1530
+ "type": "address",
1531
+ "internalType": "contract IHooks"
1532
+ }
1533
+ ]
1534
+ },
1535
+ {
1536
+ "name": "fromPoolKeyHash",
1537
+ "type": "bytes32",
1538
+ "indexed": false,
1539
+ "internalType": "bytes32"
1540
+ },
1541
+ {
1542
+ "name": "toPoolKey",
1543
+ "type": "tuple",
1544
+ "indexed": false,
1545
+ "internalType": "struct PoolKey",
1546
+ "components": [
1547
+ {
1548
+ "name": "currency0",
1549
+ "type": "address",
1550
+ "internalType": "Currency"
1551
+ },
1552
+ {
1553
+ "name": "currency1",
1554
+ "type": "address",
1555
+ "internalType": "Currency"
1556
+ },
1557
+ {
1558
+ "name": "fee",
1559
+ "type": "uint24",
1560
+ "internalType": "uint24"
1561
+ },
1562
+ {
1563
+ "name": "tickSpacing",
1564
+ "type": "int24",
1565
+ "internalType": "int24"
1566
+ },
1567
+ {
1568
+ "name": "hooks",
1569
+ "type": "address",
1570
+ "internalType": "contract IHooks"
1571
+ }
1572
+ ]
1573
+ },
1574
+ {
1575
+ "name": "toPoolKeyHash",
1576
+ "type": "bytes32",
1577
+ "indexed": false,
1578
+ "internalType": "bytes32"
1579
+ }
1580
+ ],
1581
+ "anonymous": false
1582
+ },
1583
+ {
1584
+ "type": "event",
1585
+ "name": "NameAndSymbolUpdated",
1586
+ "inputs": [
1587
+ {
1588
+ "name": "caller",
1589
+ "type": "address",
1590
+ "indexed": true,
1591
+ "internalType": "address"
1592
+ },
1593
+ {
1594
+ "name": "newName",
1595
+ "type": "string",
1596
+ "indexed": false,
1597
+ "internalType": "string"
1598
+ },
1599
+ {
1600
+ "name": "newSymbol",
1601
+ "type": "string",
1602
+ "indexed": false,
1603
+ "internalType": "string"
1604
+ }
1605
+ ],
1606
+ "anonymous": false
1607
+ },
1608
+ {
1609
+ "type": "event",
1610
+ "name": "OwnerUpdated",
1611
+ "inputs": [
1612
+ {
1613
+ "name": "caller",
1614
+ "type": "address",
1615
+ "indexed": true,
1616
+ "internalType": "address"
1617
+ },
1618
+ {
1619
+ "name": "prevOwner",
1620
+ "type": "address",
1621
+ "indexed": true,
1622
+ "internalType": "address"
1623
+ },
1624
+ {
1625
+ "name": "newOwner",
1626
+ "type": "address",
1627
+ "indexed": true,
1628
+ "internalType": "address"
1629
+ }
1630
+ ],
1631
+ "anonymous": false
1632
+ },
1633
+ {
1634
+ "type": "event",
1635
+ "name": "Transfer",
1636
+ "inputs": [
1637
+ {
1638
+ "name": "from",
1639
+ "type": "address",
1640
+ "indexed": true,
1641
+ "internalType": "address"
1642
+ },
1643
+ {
1644
+ "name": "to",
1645
+ "type": "address",
1646
+ "indexed": true,
1647
+ "internalType": "address"
1648
+ },
1649
+ {
1650
+ "name": "value",
1651
+ "type": "uint256",
1652
+ "indexed": false,
1653
+ "internalType": "uint256"
1654
+ }
1655
+ ],
1656
+ "anonymous": false
1657
+ },
1658
+ {
1659
+ "type": "error",
1660
+ "name": "AddressZero",
1661
+ "inputs": []
1662
+ },
1663
+ {
1664
+ "type": "error",
1665
+ "name": "AlreadyOwner",
1666
+ "inputs": []
1667
+ },
1668
+ {
1669
+ "type": "error",
1670
+ "name": "CannotMintZeroLiquidity",
1671
+ "inputs": []
1672
+ },
1673
+ {
1674
+ "type": "error",
1675
+ "name": "DopplerPoolMustHaveMoreThan2DiscoveryPositions",
1676
+ "inputs": []
1677
+ },
1678
+ {
1679
+ "type": "error",
1680
+ "name": "ECDSAInvalidSignature",
1681
+ "inputs": []
1682
+ },
1683
+ {
1684
+ "type": "error",
1685
+ "name": "ECDSAInvalidSignatureLength",
1686
+ "inputs": [
1687
+ {
1688
+ "name": "length",
1689
+ "type": "uint256",
1690
+ "internalType": "uint256"
1691
+ }
1692
+ ]
1693
+ },
1694
+ {
1695
+ "type": "error",
1696
+ "name": "ECDSAInvalidSignatureS",
1697
+ "inputs": [
1698
+ {
1699
+ "name": "s",
1700
+ "type": "bytes32",
1701
+ "internalType": "bytes32"
1702
+ }
1703
+ ]
1704
+ },
1705
+ {
1706
+ "type": "error",
1707
+ "name": "ERC20InsufficientAllowance",
1708
+ "inputs": [
1709
+ {
1710
+ "name": "spender",
1711
+ "type": "address",
1712
+ "internalType": "address"
1713
+ },
1714
+ {
1715
+ "name": "allowance",
1716
+ "type": "uint256",
1717
+ "internalType": "uint256"
1718
+ },
1719
+ {
1720
+ "name": "needed",
1721
+ "type": "uint256",
1722
+ "internalType": "uint256"
1723
+ }
1724
+ ]
1725
+ },
1726
+ {
1727
+ "type": "error",
1728
+ "name": "ERC20InsufficientBalance",
1729
+ "inputs": [
1730
+ {
1731
+ "name": "sender",
1732
+ "type": "address",
1733
+ "internalType": "address"
1734
+ },
1735
+ {
1736
+ "name": "balance",
1737
+ "type": "uint256",
1738
+ "internalType": "uint256"
1739
+ },
1740
+ {
1741
+ "name": "needed",
1742
+ "type": "uint256",
1743
+ "internalType": "uint256"
1744
+ }
1745
+ ]
1746
+ },
1747
+ {
1748
+ "type": "error",
1749
+ "name": "ERC20InvalidApprover",
1750
+ "inputs": [
1751
+ {
1752
+ "name": "approver",
1753
+ "type": "address",
1754
+ "internalType": "address"
1755
+ }
1756
+ ]
1757
+ },
1758
+ {
1759
+ "type": "error",
1760
+ "name": "ERC20InvalidReceiver",
1761
+ "inputs": [
1762
+ {
1763
+ "name": "receiver",
1764
+ "type": "address",
1765
+ "internalType": "address"
1766
+ }
1767
+ ]
1768
+ },
1769
+ {
1770
+ "type": "error",
1771
+ "name": "ERC20InvalidSender",
1772
+ "inputs": [
1773
+ {
1774
+ "name": "sender",
1775
+ "type": "address",
1776
+ "internalType": "address"
1777
+ }
1778
+ ]
1779
+ },
1780
+ {
1781
+ "type": "error",
1782
+ "name": "ERC20InvalidSpender",
1783
+ "inputs": [
1784
+ {
1785
+ "name": "spender",
1786
+ "type": "address",
1787
+ "internalType": "address"
1788
+ }
1789
+ ]
1790
+ },
1791
+ {
1792
+ "type": "error",
1793
+ "name": "ERC20TransferAmountMismatch",
1794
+ "inputs": []
1795
+ },
1796
+ {
1797
+ "type": "error",
1798
+ "name": "ERC2612ExpiredSignature",
1799
+ "inputs": [
1800
+ {
1801
+ "name": "deadline",
1802
+ "type": "uint256",
1803
+ "internalType": "uint256"
1804
+ }
1805
+ ]
1806
+ },
1807
+ {
1808
+ "type": "error",
1809
+ "name": "ERC2612InvalidSigner",
1810
+ "inputs": [
1811
+ {
1812
+ "name": "signer",
1813
+ "type": "address",
1814
+ "internalType": "address"
1815
+ },
1816
+ {
1817
+ "name": "owner",
1818
+ "type": "address",
1819
+ "internalType": "address"
1820
+ }
1821
+ ]
1822
+ },
1823
+ {
1824
+ "type": "error",
1825
+ "name": "EthAmountMismatch",
1826
+ "inputs": []
1827
+ },
1828
+ {
1829
+ "type": "error",
1830
+ "name": "EthAmountTooSmall",
1831
+ "inputs": []
1832
+ },
1833
+ {
1834
+ "type": "error",
1835
+ "name": "EthTransferFailed",
1836
+ "inputs": []
1837
+ },
1838
+ {
1839
+ "type": "error",
1840
+ "name": "EthTransferInvalid",
1841
+ "inputs": []
1842
+ },
1843
+ {
1844
+ "type": "error",
1845
+ "name": "InitialOrderSizeTooLarge",
1846
+ "inputs": []
1847
+ },
1848
+ {
1849
+ "type": "error",
1850
+ "name": "InsufficientFunds",
1851
+ "inputs": []
1852
+ },
1853
+ {
1854
+ "type": "error",
1855
+ "name": "InsufficientLiquidity",
1856
+ "inputs": []
1857
+ },
1858
+ {
1859
+ "type": "error",
1860
+ "name": "InvalidAccountNonce",
1861
+ "inputs": [
1862
+ {
1863
+ "name": "account",
1864
+ "type": "address",
1865
+ "internalType": "address"
1866
+ },
1867
+ {
1868
+ "name": "currentNonce",
1869
+ "type": "uint256",
1870
+ "internalType": "uint256"
1871
+ }
1872
+ ]
1873
+ },
1874
+ {
1875
+ "type": "error",
1876
+ "name": "InvalidCurrency",
1877
+ "inputs": []
1878
+ },
1879
+ {
1880
+ "type": "error",
1881
+ "name": "InvalidCurrencyLowerTick",
1882
+ "inputs": []
1883
+ },
1884
+ {
1885
+ "type": "error",
1886
+ "name": "InvalidInitialization",
1887
+ "inputs": []
1888
+ },
1889
+ {
1890
+ "type": "error",
1891
+ "name": "InvalidMarketType",
1892
+ "inputs": []
1893
+ },
1894
+ {
1895
+ "type": "error",
1896
+ "name": "InvalidPoolVersion",
1897
+ "inputs": []
1898
+ },
1899
+ {
1900
+ "type": "error",
1901
+ "name": "InvalidTickRangeMisordered",
1902
+ "inputs": [
1903
+ {
1904
+ "name": "tickLower",
1905
+ "type": "int24",
1906
+ "internalType": "int24"
1907
+ },
1908
+ {
1909
+ "name": "tickUpper",
1910
+ "type": "int24",
1911
+ "internalType": "int24"
1912
+ }
1913
+ ]
1914
+ },
1915
+ {
1916
+ "type": "error",
1917
+ "name": "InvalidWethLowerTick",
1918
+ "inputs": []
1919
+ },
1920
+ {
1921
+ "type": "error",
1922
+ "name": "LegacyPoolMustHaveOneDiscoveryPosition",
1923
+ "inputs": []
1924
+ },
1925
+ {
1926
+ "type": "error",
1927
+ "name": "MarketAlreadyGraduated",
1928
+ "inputs": []
1929
+ },
1930
+ {
1931
+ "type": "error",
1932
+ "name": "MarketNotGraduated",
1933
+ "inputs": []
1934
+ },
1935
+ {
1936
+ "type": "error",
1937
+ "name": "MaxShareToBeSoldExceeded",
1938
+ "inputs": [
1939
+ {
1940
+ "name": "value",
1941
+ "type": "uint256",
1942
+ "internalType": "uint256"
1943
+ },
1944
+ {
1945
+ "name": "limit",
1946
+ "type": "uint256",
1947
+ "internalType": "uint256"
1948
+ }
1949
+ ]
1950
+ },
1951
+ {
1952
+ "type": "error",
1953
+ "name": "NameIsRequired",
1954
+ "inputs": []
1955
+ },
1956
+ {
1957
+ "type": "error",
1958
+ "name": "NotInitializing",
1959
+ "inputs": []
1960
+ },
1961
+ {
1962
+ "type": "error",
1963
+ "name": "NotOwner",
1964
+ "inputs": []
1965
+ },
1966
+ {
1967
+ "type": "error",
1968
+ "name": "NumDiscoveryPositionsOutOfRange",
1969
+ "inputs": []
1970
+ },
1971
+ {
1972
+ "type": "error",
1973
+ "name": "OneOwnerRequired",
1974
+ "inputs": []
1975
+ },
1976
+ {
1977
+ "type": "error",
1978
+ "name": "OnlyMetadataManager",
1979
+ "inputs": []
1980
+ },
1981
+ {
1982
+ "type": "error",
1983
+ "name": "OnlyOwner",
1984
+ "inputs": []
1985
+ },
1986
+ {
1987
+ "type": "error",
1988
+ "name": "OnlyPool",
1989
+ "inputs": [
1990
+ {
1991
+ "name": "sender",
1992
+ "type": "address",
1993
+ "internalType": "address"
1994
+ },
1995
+ {
1996
+ "name": "pool",
1997
+ "type": "address",
1998
+ "internalType": "address"
1999
+ }
2000
+ ]
2001
+ },
2002
+ {
2003
+ "type": "error",
2004
+ "name": "OnlyWeth",
2005
+ "inputs": []
2006
+ },
2007
+ {
2008
+ "type": "error",
2009
+ "name": "OwnerCannotBeAddressZero",
2010
+ "inputs": []
2011
+ },
2012
+ {
2013
+ "type": "error",
2014
+ "name": "SlippageBoundsExceeded",
2015
+ "inputs": []
2016
+ },
2017
+ {
2018
+ "type": "error",
2019
+ "name": "TickerAlreadyUsed",
2020
+ "inputs": [
2021
+ {
2022
+ "name": "symbol",
2023
+ "type": "string",
2024
+ "internalType": "string"
2025
+ }
2026
+ ]
2027
+ },
2028
+ {
2029
+ "type": "error",
2030
+ "name": "TickerInvalidCharacters",
2031
+ "inputs": []
2032
+ },
2033
+ {
2034
+ "type": "error",
2035
+ "name": "TickerTooLong",
2036
+ "inputs": []
2037
+ },
2038
+ {
2039
+ "type": "error",
2040
+ "name": "TickerTooShort",
2041
+ "inputs": []
2042
+ },
2043
+ {
2044
+ "type": "error",
2045
+ "name": "UseRevokeOwnershipToRemoveSelf",
2046
+ "inputs": []
2047
+ },
2048
+ {
2049
+ "type": "error",
2050
+ "name": "UseSpecificTrendCoinInitialize",
2051
+ "inputs": []
2052
+ }
2053
+ ]