@zoralabs/coins 0.7.1 → 0.9.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 (104) hide show
  1. package/.env +1 -0
  2. package/.turbo/turbo-build.log +114 -109
  3. package/.turbo/turbo-update-contract-version.log +22 -0
  4. package/CHANGELOG.md +28 -0
  5. package/abis/BadImpl.json +15 -0
  6. package/abis/BalanceDeltaLibrary.json +15 -0
  7. package/abis/BaseCoin.json +1442 -0
  8. package/abis/BaseCoinDeployHook.json +78 -0
  9. package/abis/BaseHook.json +897 -0
  10. package/abis/BaseTest.json +13 -91
  11. package/abis/BeforeSwapDeltaLibrary.json +15 -0
  12. package/abis/BuySupplyWithSwapRouterHook.json +126 -0
  13. package/abis/Coin.json +48 -92
  14. package/abis/CoinConstants.json +65 -0
  15. package/abis/CoinTest.json +13 -91
  16. package/abis/CoinV4.json +1664 -0
  17. package/abis/CurrencyLibrary.json +25 -0
  18. package/abis/DeployHooks.json +9 -0
  19. package/abis/DopplerUniswapV3Test.json +13 -91
  20. package/abis/FactoryTest.json +13 -91
  21. package/abis/FakeHookNoInterface.json +21 -0
  22. package/abis/HookDeployer.json +68 -0
  23. package/abis/Hooks.json +28 -0
  24. package/abis/HooksTest.json +651 -0
  25. package/abis/IAllowanceTransfer.json +486 -0
  26. package/abis/ICoin.json +25 -1
  27. package/abis/ICoinDeployHook.json +31 -0
  28. package/abis/IContractMetadata.json +28 -0
  29. package/abis/IEIP712.json +15 -0
  30. package/abis/IEIP712_v4.json +15 -0
  31. package/abis/IERC20Minimal.json +172 -0
  32. package/abis/IERC6909Claims.json +288 -0
  33. package/abis/IERC721Permit_v4.json +88 -0
  34. package/abis/IExtsload.json +64 -0
  35. package/abis/IExttload.json +40 -0
  36. package/abis/IHasAfterCoinDeploy.json +31 -0
  37. package/abis/IHasContractName.json +15 -0
  38. package/abis/IHookDeployer.json +42 -0
  39. package/abis/IHooks.json +789 -0
  40. package/abis/IImmutableState.json +15 -0
  41. package/abis/IMulticall_v4.json +21 -0
  42. package/abis/INotifier.json +187 -0
  43. package/abis/IPermit2.json +865 -0
  44. package/abis/IPermit2Forwarder.json +138 -0
  45. package/abis/IPoolInitializer_v4.json +53 -0
  46. package/abis/IPoolManager.json +1286 -0
  47. package/abis/IPositionManager.json +712 -0
  48. package/abis/IProtocolFees.json +174 -0
  49. package/abis/ISignatureTransfer.json +394 -0
  50. package/abis/ISubscriber.json +89 -0
  51. package/abis/ISwapRouter.json +82 -0
  52. package/abis/IUnorderedNonce.json +44 -0
  53. package/abis/IV4Router.json +47 -0
  54. package/abis/IZoraFactory.json +144 -0
  55. package/abis/IZoraV4CoinHook.json +83 -0
  56. package/abis/ImmutableState.json +36 -0
  57. package/abis/LPFeeLibrary.json +65 -0
  58. package/abis/MultiOwnableTest.json +13 -91
  59. package/abis/Simulate.json +0 -91
  60. package/abis/UniV3BuySell.json +12 -0
  61. package/abis/UniV3Errors.json +32 -0
  62. package/abis/UpgradeFactoryImpl.json +9 -0
  63. package/abis/UpgradesTest.json +604 -0
  64. package/abis/ZoraFactoryImpl.json +111 -0
  65. package/abis/ZoraV4CoinHook.json +989 -0
  66. package/addresses/8453.json +2 -1
  67. package/addresses/84532.json +4 -3
  68. package/dist/index.cjs +125 -62
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/index.js +120 -56
  71. package/dist/index.js.map +1 -1
  72. package/dist/wagmiGenerated.d.ts +212 -464
  73. package/dist/wagmiGenerated.d.ts.map +1 -1
  74. package/package/wagmiGenerated.ts +122 -66
  75. package/package.json +4 -4
  76. package/script/CoinsDeployerBase.sol +32 -0
  77. package/script/DeployHooks.s.sol +22 -0
  78. package/script/Simulate.s.sol +3 -2
  79. package/script/UpgradeCoinImpl.sol +2 -2
  80. package/script/UpgradeFactoryImpl.s.sol +23 -0
  81. package/src/Coin.sol +35 -342
  82. package/src/ZoraFactoryImpl.sol +73 -45
  83. package/src/hooks/BaseCoinDeployHook.sol +62 -0
  84. package/src/hooks/BuySupplyWithSwapRouterHook.sol +78 -0
  85. package/src/interfaces/ICoin.sol +5 -1
  86. package/src/interfaces/ICoinDeployHook.sol +8 -0
  87. package/src/interfaces/ISwapRouter.sol +1 -35
  88. package/src/interfaces/IZoraFactory.sol +52 -0
  89. package/src/{utils → libs}/CoinConstants.sol +6 -6
  90. package/src/libs/CoinLegacy.sol +4 -4
  91. package/src/libs/CoinLegacyMarket.sol +182 -0
  92. package/src/libs/CoinSetupV3.sol +111 -0
  93. package/src/libs/UniV3BuySell.sol +449 -0
  94. package/src/libs/UniV3Errors.sol +11 -0
  95. package/src/version/ContractVersionBase.sol +1 -1
  96. package/test/Coin.t.sol +20 -17
  97. package/test/CoinDopplerUniV3.t.sol +7 -17
  98. package/test/Factory.t.sol +4 -3
  99. package/test/Hooks.t.sol +274 -0
  100. package/test/Upgrades.t.sol +67 -0
  101. package/test/utils/BaseTest.sol +18 -3
  102. package/wagmi.config.ts +6 -9
  103. package/src/libs/CoinSetup.sol +0 -37
  104. /package/abis/{CoinSetup.json → CoinSetupV3.json} +0 -0
@@ -0,0 +1,1442 @@
1
+ [
2
+ {
3
+ "type": "receive",
4
+ "stateMutability": "payable"
5
+ },
6
+ {
7
+ "type": "function",
8
+ "name": "DOMAIN_SEPARATOR",
9
+ "inputs": [],
10
+ "outputs": [
11
+ {
12
+ "name": "",
13
+ "type": "bytes32",
14
+ "internalType": "bytes32"
15
+ }
16
+ ],
17
+ "stateMutability": "view"
18
+ },
19
+ {
20
+ "type": "function",
21
+ "name": "WETH",
22
+ "inputs": [],
23
+ "outputs": [
24
+ {
25
+ "name": "",
26
+ "type": "address",
27
+ "internalType": "address"
28
+ }
29
+ ],
30
+ "stateMutability": "view"
31
+ },
32
+ {
33
+ "type": "function",
34
+ "name": "addOwner",
35
+ "inputs": [
36
+ {
37
+ "name": "account",
38
+ "type": "address",
39
+ "internalType": "address"
40
+ }
41
+ ],
42
+ "outputs": [],
43
+ "stateMutability": "nonpayable"
44
+ },
45
+ {
46
+ "type": "function",
47
+ "name": "addOwners",
48
+ "inputs": [
49
+ {
50
+ "name": "accounts",
51
+ "type": "address[]",
52
+ "internalType": "address[]"
53
+ }
54
+ ],
55
+ "outputs": [],
56
+ "stateMutability": "nonpayable"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "allowance",
61
+ "inputs": [
62
+ {
63
+ "name": "owner",
64
+ "type": "address",
65
+ "internalType": "address"
66
+ },
67
+ {
68
+ "name": "spender",
69
+ "type": "address",
70
+ "internalType": "address"
71
+ }
72
+ ],
73
+ "outputs": [
74
+ {
75
+ "name": "",
76
+ "type": "uint256",
77
+ "internalType": "uint256"
78
+ }
79
+ ],
80
+ "stateMutability": "view"
81
+ },
82
+ {
83
+ "type": "function",
84
+ "name": "approve",
85
+ "inputs": [
86
+ {
87
+ "name": "spender",
88
+ "type": "address",
89
+ "internalType": "address"
90
+ },
91
+ {
92
+ "name": "value",
93
+ "type": "uint256",
94
+ "internalType": "uint256"
95
+ }
96
+ ],
97
+ "outputs": [
98
+ {
99
+ "name": "",
100
+ "type": "bool",
101
+ "internalType": "bool"
102
+ }
103
+ ],
104
+ "stateMutability": "nonpayable"
105
+ },
106
+ {
107
+ "type": "function",
108
+ "name": "balanceOf",
109
+ "inputs": [
110
+ {
111
+ "name": "account",
112
+ "type": "address",
113
+ "internalType": "address"
114
+ }
115
+ ],
116
+ "outputs": [
117
+ {
118
+ "name": "",
119
+ "type": "uint256",
120
+ "internalType": "uint256"
121
+ }
122
+ ],
123
+ "stateMutability": "view"
124
+ },
125
+ {
126
+ "type": "function",
127
+ "name": "burn",
128
+ "inputs": [
129
+ {
130
+ "name": "amount",
131
+ "type": "uint256",
132
+ "internalType": "uint256"
133
+ }
134
+ ],
135
+ "outputs": [],
136
+ "stateMutability": "nonpayable"
137
+ },
138
+ {
139
+ "type": "function",
140
+ "name": "buy",
141
+ "inputs": [
142
+ {
143
+ "name": "recipient",
144
+ "type": "address",
145
+ "internalType": "address"
146
+ },
147
+ {
148
+ "name": "orderSize",
149
+ "type": "uint256",
150
+ "internalType": "uint256"
151
+ },
152
+ {
153
+ "name": "minAmountOut",
154
+ "type": "uint256",
155
+ "internalType": "uint256"
156
+ },
157
+ {
158
+ "name": "sqrtPriceLimitX96",
159
+ "type": "uint160",
160
+ "internalType": "uint160"
161
+ },
162
+ {
163
+ "name": "tradeReferrer",
164
+ "type": "address",
165
+ "internalType": "address"
166
+ }
167
+ ],
168
+ "outputs": [
169
+ {
170
+ "name": "",
171
+ "type": "uint256",
172
+ "internalType": "uint256"
173
+ },
174
+ {
175
+ "name": "",
176
+ "type": "uint256",
177
+ "internalType": "uint256"
178
+ }
179
+ ],
180
+ "stateMutability": "payable"
181
+ },
182
+ {
183
+ "type": "function",
184
+ "name": "claimSecondaryRewards",
185
+ "inputs": [
186
+ {
187
+ "name": "pushEthRewards",
188
+ "type": "bool",
189
+ "internalType": "bool"
190
+ }
191
+ ],
192
+ "outputs": [],
193
+ "stateMutability": "nonpayable"
194
+ },
195
+ {
196
+ "type": "function",
197
+ "name": "contractURI",
198
+ "inputs": [],
199
+ "outputs": [
200
+ {
201
+ "name": "",
202
+ "type": "string",
203
+ "internalType": "string"
204
+ }
205
+ ],
206
+ "stateMutability": "view"
207
+ },
208
+ {
209
+ "type": "function",
210
+ "name": "contractVersion",
211
+ "inputs": [],
212
+ "outputs": [
213
+ {
214
+ "name": "",
215
+ "type": "string",
216
+ "internalType": "string"
217
+ }
218
+ ],
219
+ "stateMutability": "pure"
220
+ },
221
+ {
222
+ "type": "function",
223
+ "name": "currency",
224
+ "inputs": [],
225
+ "outputs": [
226
+ {
227
+ "name": "",
228
+ "type": "address",
229
+ "internalType": "address"
230
+ }
231
+ ],
232
+ "stateMutability": "view"
233
+ },
234
+ {
235
+ "type": "function",
236
+ "name": "decimals",
237
+ "inputs": [],
238
+ "outputs": [
239
+ {
240
+ "name": "",
241
+ "type": "uint8",
242
+ "internalType": "uint8"
243
+ }
244
+ ],
245
+ "stateMutability": "view"
246
+ },
247
+ {
248
+ "type": "function",
249
+ "name": "eip712Domain",
250
+ "inputs": [],
251
+ "outputs": [
252
+ {
253
+ "name": "fields",
254
+ "type": "bytes1",
255
+ "internalType": "bytes1"
256
+ },
257
+ {
258
+ "name": "name",
259
+ "type": "string",
260
+ "internalType": "string"
261
+ },
262
+ {
263
+ "name": "version",
264
+ "type": "string",
265
+ "internalType": "string"
266
+ },
267
+ {
268
+ "name": "chainId",
269
+ "type": "uint256",
270
+ "internalType": "uint256"
271
+ },
272
+ {
273
+ "name": "verifyingContract",
274
+ "type": "address",
275
+ "internalType": "address"
276
+ },
277
+ {
278
+ "name": "salt",
279
+ "type": "bytes32",
280
+ "internalType": "bytes32"
281
+ },
282
+ {
283
+ "name": "extensions",
284
+ "type": "uint256[]",
285
+ "internalType": "uint256[]"
286
+ }
287
+ ],
288
+ "stateMutability": "view"
289
+ },
290
+ {
291
+ "type": "function",
292
+ "name": "isOwner",
293
+ "inputs": [
294
+ {
295
+ "name": "account",
296
+ "type": "address",
297
+ "internalType": "address"
298
+ }
299
+ ],
300
+ "outputs": [
301
+ {
302
+ "name": "",
303
+ "type": "bool",
304
+ "internalType": "bool"
305
+ }
306
+ ],
307
+ "stateMutability": "view"
308
+ },
309
+ {
310
+ "type": "function",
311
+ "name": "name",
312
+ "inputs": [],
313
+ "outputs": [
314
+ {
315
+ "name": "",
316
+ "type": "string",
317
+ "internalType": "string"
318
+ }
319
+ ],
320
+ "stateMutability": "view"
321
+ },
322
+ {
323
+ "type": "function",
324
+ "name": "nonces",
325
+ "inputs": [
326
+ {
327
+ "name": "owner",
328
+ "type": "address",
329
+ "internalType": "address"
330
+ }
331
+ ],
332
+ "outputs": [
333
+ {
334
+ "name": "",
335
+ "type": "uint256",
336
+ "internalType": "uint256"
337
+ }
338
+ ],
339
+ "stateMutability": "view"
340
+ },
341
+ {
342
+ "type": "function",
343
+ "name": "owners",
344
+ "inputs": [],
345
+ "outputs": [
346
+ {
347
+ "name": "",
348
+ "type": "address[]",
349
+ "internalType": "address[]"
350
+ }
351
+ ],
352
+ "stateMutability": "view"
353
+ },
354
+ {
355
+ "type": "function",
356
+ "name": "payoutRecipient",
357
+ "inputs": [],
358
+ "outputs": [
359
+ {
360
+ "name": "",
361
+ "type": "address",
362
+ "internalType": "address"
363
+ }
364
+ ],
365
+ "stateMutability": "view"
366
+ },
367
+ {
368
+ "type": "function",
369
+ "name": "permit",
370
+ "inputs": [
371
+ {
372
+ "name": "owner",
373
+ "type": "address",
374
+ "internalType": "address"
375
+ },
376
+ {
377
+ "name": "spender",
378
+ "type": "address",
379
+ "internalType": "address"
380
+ },
381
+ {
382
+ "name": "value",
383
+ "type": "uint256",
384
+ "internalType": "uint256"
385
+ },
386
+ {
387
+ "name": "deadline",
388
+ "type": "uint256",
389
+ "internalType": "uint256"
390
+ },
391
+ {
392
+ "name": "v",
393
+ "type": "uint8",
394
+ "internalType": "uint8"
395
+ },
396
+ {
397
+ "name": "r",
398
+ "type": "bytes32",
399
+ "internalType": "bytes32"
400
+ },
401
+ {
402
+ "name": "s",
403
+ "type": "bytes32",
404
+ "internalType": "bytes32"
405
+ }
406
+ ],
407
+ "outputs": [],
408
+ "stateMutability": "nonpayable"
409
+ },
410
+ {
411
+ "type": "function",
412
+ "name": "platformReferrer",
413
+ "inputs": [],
414
+ "outputs": [
415
+ {
416
+ "name": "",
417
+ "type": "address",
418
+ "internalType": "address"
419
+ }
420
+ ],
421
+ "stateMutability": "view"
422
+ },
423
+ {
424
+ "type": "function",
425
+ "name": "protocolRewardRecipient",
426
+ "inputs": [],
427
+ "outputs": [
428
+ {
429
+ "name": "",
430
+ "type": "address",
431
+ "internalType": "address"
432
+ }
433
+ ],
434
+ "stateMutability": "view"
435
+ },
436
+ {
437
+ "type": "function",
438
+ "name": "protocolRewards",
439
+ "inputs": [],
440
+ "outputs": [
441
+ {
442
+ "name": "",
443
+ "type": "address",
444
+ "internalType": "address"
445
+ }
446
+ ],
447
+ "stateMutability": "view"
448
+ },
449
+ {
450
+ "type": "function",
451
+ "name": "removeOwner",
452
+ "inputs": [
453
+ {
454
+ "name": "account",
455
+ "type": "address",
456
+ "internalType": "address"
457
+ }
458
+ ],
459
+ "outputs": [],
460
+ "stateMutability": "nonpayable"
461
+ },
462
+ {
463
+ "type": "function",
464
+ "name": "removeOwners",
465
+ "inputs": [
466
+ {
467
+ "name": "accounts",
468
+ "type": "address[]",
469
+ "internalType": "address[]"
470
+ }
471
+ ],
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable"
474
+ },
475
+ {
476
+ "type": "function",
477
+ "name": "revokeOwnership",
478
+ "inputs": [],
479
+ "outputs": [],
480
+ "stateMutability": "nonpayable"
481
+ },
482
+ {
483
+ "type": "function",
484
+ "name": "sell",
485
+ "inputs": [
486
+ {
487
+ "name": "recipient",
488
+ "type": "address",
489
+ "internalType": "address"
490
+ },
491
+ {
492
+ "name": "orderSize",
493
+ "type": "uint256",
494
+ "internalType": "uint256"
495
+ },
496
+ {
497
+ "name": "minAmountOut",
498
+ "type": "uint256",
499
+ "internalType": "uint256"
500
+ },
501
+ {
502
+ "name": "sqrtPriceLimitX96",
503
+ "type": "uint160",
504
+ "internalType": "uint160"
505
+ },
506
+ {
507
+ "name": "tradeReferrer",
508
+ "type": "address",
509
+ "internalType": "address"
510
+ }
511
+ ],
512
+ "outputs": [
513
+ {
514
+ "name": "",
515
+ "type": "uint256",
516
+ "internalType": "uint256"
517
+ },
518
+ {
519
+ "name": "",
520
+ "type": "uint256",
521
+ "internalType": "uint256"
522
+ }
523
+ ],
524
+ "stateMutability": "nonpayable"
525
+ },
526
+ {
527
+ "type": "function",
528
+ "name": "setContractURI",
529
+ "inputs": [
530
+ {
531
+ "name": "newURI",
532
+ "type": "string",
533
+ "internalType": "string"
534
+ }
535
+ ],
536
+ "outputs": [],
537
+ "stateMutability": "nonpayable"
538
+ },
539
+ {
540
+ "type": "function",
541
+ "name": "setPayoutRecipient",
542
+ "inputs": [
543
+ {
544
+ "name": "newPayoutRecipient",
545
+ "type": "address",
546
+ "internalType": "address"
547
+ }
548
+ ],
549
+ "outputs": [],
550
+ "stateMutability": "nonpayable"
551
+ },
552
+ {
553
+ "type": "function",
554
+ "name": "supportsInterface",
555
+ "inputs": [
556
+ {
557
+ "name": "interfaceId",
558
+ "type": "bytes4",
559
+ "internalType": "bytes4"
560
+ }
561
+ ],
562
+ "outputs": [
563
+ {
564
+ "name": "",
565
+ "type": "bool",
566
+ "internalType": "bool"
567
+ }
568
+ ],
569
+ "stateMutability": "pure"
570
+ },
571
+ {
572
+ "type": "function",
573
+ "name": "symbol",
574
+ "inputs": [],
575
+ "outputs": [
576
+ {
577
+ "name": "",
578
+ "type": "string",
579
+ "internalType": "string"
580
+ }
581
+ ],
582
+ "stateMutability": "view"
583
+ },
584
+ {
585
+ "type": "function",
586
+ "name": "tokenURI",
587
+ "inputs": [],
588
+ "outputs": [
589
+ {
590
+ "name": "",
591
+ "type": "string",
592
+ "internalType": "string"
593
+ }
594
+ ],
595
+ "stateMutability": "view"
596
+ },
597
+ {
598
+ "type": "function",
599
+ "name": "totalSupply",
600
+ "inputs": [],
601
+ "outputs": [
602
+ {
603
+ "name": "",
604
+ "type": "uint256",
605
+ "internalType": "uint256"
606
+ }
607
+ ],
608
+ "stateMutability": "view"
609
+ },
610
+ {
611
+ "type": "function",
612
+ "name": "transfer",
613
+ "inputs": [
614
+ {
615
+ "name": "to",
616
+ "type": "address",
617
+ "internalType": "address"
618
+ },
619
+ {
620
+ "name": "value",
621
+ "type": "uint256",
622
+ "internalType": "uint256"
623
+ }
624
+ ],
625
+ "outputs": [
626
+ {
627
+ "name": "",
628
+ "type": "bool",
629
+ "internalType": "bool"
630
+ }
631
+ ],
632
+ "stateMutability": "nonpayable"
633
+ },
634
+ {
635
+ "type": "function",
636
+ "name": "transferFrom",
637
+ "inputs": [
638
+ {
639
+ "name": "from",
640
+ "type": "address",
641
+ "internalType": "address"
642
+ },
643
+ {
644
+ "name": "to",
645
+ "type": "address",
646
+ "internalType": "address"
647
+ },
648
+ {
649
+ "name": "value",
650
+ "type": "uint256",
651
+ "internalType": "uint256"
652
+ }
653
+ ],
654
+ "outputs": [
655
+ {
656
+ "name": "",
657
+ "type": "bool",
658
+ "internalType": "bool"
659
+ }
660
+ ],
661
+ "stateMutability": "nonpayable"
662
+ },
663
+ {
664
+ "type": "event",
665
+ "name": "Approval",
666
+ "inputs": [
667
+ {
668
+ "name": "owner",
669
+ "type": "address",
670
+ "indexed": true,
671
+ "internalType": "address"
672
+ },
673
+ {
674
+ "name": "spender",
675
+ "type": "address",
676
+ "indexed": true,
677
+ "internalType": "address"
678
+ },
679
+ {
680
+ "name": "value",
681
+ "type": "uint256",
682
+ "indexed": false,
683
+ "internalType": "uint256"
684
+ }
685
+ ],
686
+ "anonymous": false
687
+ },
688
+ {
689
+ "type": "event",
690
+ "name": "CoinBuy",
691
+ "inputs": [
692
+ {
693
+ "name": "buyer",
694
+ "type": "address",
695
+ "indexed": true,
696
+ "internalType": "address"
697
+ },
698
+ {
699
+ "name": "recipient",
700
+ "type": "address",
701
+ "indexed": true,
702
+ "internalType": "address"
703
+ },
704
+ {
705
+ "name": "tradeReferrer",
706
+ "type": "address",
707
+ "indexed": true,
708
+ "internalType": "address"
709
+ },
710
+ {
711
+ "name": "coinsPurchased",
712
+ "type": "uint256",
713
+ "indexed": false,
714
+ "internalType": "uint256"
715
+ },
716
+ {
717
+ "name": "currency",
718
+ "type": "address",
719
+ "indexed": false,
720
+ "internalType": "address"
721
+ },
722
+ {
723
+ "name": "amountFee",
724
+ "type": "uint256",
725
+ "indexed": false,
726
+ "internalType": "uint256"
727
+ },
728
+ {
729
+ "name": "amountSold",
730
+ "type": "uint256",
731
+ "indexed": false,
732
+ "internalType": "uint256"
733
+ }
734
+ ],
735
+ "anonymous": false
736
+ },
737
+ {
738
+ "type": "event",
739
+ "name": "CoinMarketRewards",
740
+ "inputs": [
741
+ {
742
+ "name": "payoutRecipient",
743
+ "type": "address",
744
+ "indexed": true,
745
+ "internalType": "address"
746
+ },
747
+ {
748
+ "name": "platformReferrer",
749
+ "type": "address",
750
+ "indexed": true,
751
+ "internalType": "address"
752
+ },
753
+ {
754
+ "name": "protocolRewardRecipient",
755
+ "type": "address",
756
+ "indexed": false,
757
+ "internalType": "address"
758
+ },
759
+ {
760
+ "name": "currency",
761
+ "type": "address",
762
+ "indexed": false,
763
+ "internalType": "address"
764
+ },
765
+ {
766
+ "name": "marketRewards",
767
+ "type": "tuple",
768
+ "indexed": false,
769
+ "internalType": "struct ICoin.MarketRewards",
770
+ "components": [
771
+ {
772
+ "name": "totalAmountCurrency",
773
+ "type": "uint256",
774
+ "internalType": "uint256"
775
+ },
776
+ {
777
+ "name": "totalAmountCoin",
778
+ "type": "uint256",
779
+ "internalType": "uint256"
780
+ },
781
+ {
782
+ "name": "creatorPayoutAmountCurrency",
783
+ "type": "uint256",
784
+ "internalType": "uint256"
785
+ },
786
+ {
787
+ "name": "creatorPayoutAmountCoin",
788
+ "type": "uint256",
789
+ "internalType": "uint256"
790
+ },
791
+ {
792
+ "name": "platformReferrerAmountCurrency",
793
+ "type": "uint256",
794
+ "internalType": "uint256"
795
+ },
796
+ {
797
+ "name": "platformReferrerAmountCoin",
798
+ "type": "uint256",
799
+ "internalType": "uint256"
800
+ },
801
+ {
802
+ "name": "protocolAmountCurrency",
803
+ "type": "uint256",
804
+ "internalType": "uint256"
805
+ },
806
+ {
807
+ "name": "protocolAmountCoin",
808
+ "type": "uint256",
809
+ "internalType": "uint256"
810
+ }
811
+ ]
812
+ }
813
+ ],
814
+ "anonymous": false
815
+ },
816
+ {
817
+ "type": "event",
818
+ "name": "CoinPayoutRecipientUpdated",
819
+ "inputs": [
820
+ {
821
+ "name": "caller",
822
+ "type": "address",
823
+ "indexed": true,
824
+ "internalType": "address"
825
+ },
826
+ {
827
+ "name": "prevRecipient",
828
+ "type": "address",
829
+ "indexed": true,
830
+ "internalType": "address"
831
+ },
832
+ {
833
+ "name": "newRecipient",
834
+ "type": "address",
835
+ "indexed": true,
836
+ "internalType": "address"
837
+ }
838
+ ],
839
+ "anonymous": false
840
+ },
841
+ {
842
+ "type": "event",
843
+ "name": "CoinSell",
844
+ "inputs": [
845
+ {
846
+ "name": "seller",
847
+ "type": "address",
848
+ "indexed": true,
849
+ "internalType": "address"
850
+ },
851
+ {
852
+ "name": "recipient",
853
+ "type": "address",
854
+ "indexed": true,
855
+ "internalType": "address"
856
+ },
857
+ {
858
+ "name": "tradeReferrer",
859
+ "type": "address",
860
+ "indexed": true,
861
+ "internalType": "address"
862
+ },
863
+ {
864
+ "name": "coinsSold",
865
+ "type": "uint256",
866
+ "indexed": false,
867
+ "internalType": "uint256"
868
+ },
869
+ {
870
+ "name": "currency",
871
+ "type": "address",
872
+ "indexed": false,
873
+ "internalType": "address"
874
+ },
875
+ {
876
+ "name": "amountFee",
877
+ "type": "uint256",
878
+ "indexed": false,
879
+ "internalType": "uint256"
880
+ },
881
+ {
882
+ "name": "amountPurchased",
883
+ "type": "uint256",
884
+ "indexed": false,
885
+ "internalType": "uint256"
886
+ }
887
+ ],
888
+ "anonymous": false
889
+ },
890
+ {
891
+ "type": "event",
892
+ "name": "CoinTradeRewards",
893
+ "inputs": [
894
+ {
895
+ "name": "payoutRecipient",
896
+ "type": "address",
897
+ "indexed": true,
898
+ "internalType": "address"
899
+ },
900
+ {
901
+ "name": "platformReferrer",
902
+ "type": "address",
903
+ "indexed": true,
904
+ "internalType": "address"
905
+ },
906
+ {
907
+ "name": "tradeReferrer",
908
+ "type": "address",
909
+ "indexed": true,
910
+ "internalType": "address"
911
+ },
912
+ {
913
+ "name": "protocolRewardRecipient",
914
+ "type": "address",
915
+ "indexed": false,
916
+ "internalType": "address"
917
+ },
918
+ {
919
+ "name": "creatorReward",
920
+ "type": "uint256",
921
+ "indexed": false,
922
+ "internalType": "uint256"
923
+ },
924
+ {
925
+ "name": "platformReferrerReward",
926
+ "type": "uint256",
927
+ "indexed": false,
928
+ "internalType": "uint256"
929
+ },
930
+ {
931
+ "name": "traderReferrerReward",
932
+ "type": "uint256",
933
+ "indexed": false,
934
+ "internalType": "uint256"
935
+ },
936
+ {
937
+ "name": "protocolReward",
938
+ "type": "uint256",
939
+ "indexed": false,
940
+ "internalType": "uint256"
941
+ },
942
+ {
943
+ "name": "currency",
944
+ "type": "address",
945
+ "indexed": false,
946
+ "internalType": "address"
947
+ }
948
+ ],
949
+ "anonymous": false
950
+ },
951
+ {
952
+ "type": "event",
953
+ "name": "CoinTransfer",
954
+ "inputs": [
955
+ {
956
+ "name": "sender",
957
+ "type": "address",
958
+ "indexed": true,
959
+ "internalType": "address"
960
+ },
961
+ {
962
+ "name": "recipient",
963
+ "type": "address",
964
+ "indexed": true,
965
+ "internalType": "address"
966
+ },
967
+ {
968
+ "name": "amount",
969
+ "type": "uint256",
970
+ "indexed": false,
971
+ "internalType": "uint256"
972
+ },
973
+ {
974
+ "name": "senderBalance",
975
+ "type": "uint256",
976
+ "indexed": false,
977
+ "internalType": "uint256"
978
+ },
979
+ {
980
+ "name": "recipientBalance",
981
+ "type": "uint256",
982
+ "indexed": false,
983
+ "internalType": "uint256"
984
+ }
985
+ ],
986
+ "anonymous": false
987
+ },
988
+ {
989
+ "type": "event",
990
+ "name": "ContractMetadataUpdated",
991
+ "inputs": [
992
+ {
993
+ "name": "caller",
994
+ "type": "address",
995
+ "indexed": true,
996
+ "internalType": "address"
997
+ },
998
+ {
999
+ "name": "newURI",
1000
+ "type": "string",
1001
+ "indexed": false,
1002
+ "internalType": "string"
1003
+ },
1004
+ {
1005
+ "name": "name",
1006
+ "type": "string",
1007
+ "indexed": false,
1008
+ "internalType": "string"
1009
+ }
1010
+ ],
1011
+ "anonymous": false
1012
+ },
1013
+ {
1014
+ "type": "event",
1015
+ "name": "ContractURIUpdated",
1016
+ "inputs": [],
1017
+ "anonymous": false
1018
+ },
1019
+ {
1020
+ "type": "event",
1021
+ "name": "EIP712DomainChanged",
1022
+ "inputs": [],
1023
+ "anonymous": false
1024
+ },
1025
+ {
1026
+ "type": "event",
1027
+ "name": "Initialized",
1028
+ "inputs": [
1029
+ {
1030
+ "name": "version",
1031
+ "type": "uint64",
1032
+ "indexed": false,
1033
+ "internalType": "uint64"
1034
+ }
1035
+ ],
1036
+ "anonymous": false
1037
+ },
1038
+ {
1039
+ "type": "event",
1040
+ "name": "OwnerUpdated",
1041
+ "inputs": [
1042
+ {
1043
+ "name": "caller",
1044
+ "type": "address",
1045
+ "indexed": true,
1046
+ "internalType": "address"
1047
+ },
1048
+ {
1049
+ "name": "prevOwner",
1050
+ "type": "address",
1051
+ "indexed": true,
1052
+ "internalType": "address"
1053
+ },
1054
+ {
1055
+ "name": "newOwner",
1056
+ "type": "address",
1057
+ "indexed": true,
1058
+ "internalType": "address"
1059
+ }
1060
+ ],
1061
+ "anonymous": false
1062
+ },
1063
+ {
1064
+ "type": "event",
1065
+ "name": "Transfer",
1066
+ "inputs": [
1067
+ {
1068
+ "name": "from",
1069
+ "type": "address",
1070
+ "indexed": true,
1071
+ "internalType": "address"
1072
+ },
1073
+ {
1074
+ "name": "to",
1075
+ "type": "address",
1076
+ "indexed": true,
1077
+ "internalType": "address"
1078
+ },
1079
+ {
1080
+ "name": "value",
1081
+ "type": "uint256",
1082
+ "indexed": false,
1083
+ "internalType": "uint256"
1084
+ }
1085
+ ],
1086
+ "anonymous": false
1087
+ },
1088
+ {
1089
+ "type": "error",
1090
+ "name": "AddressZero",
1091
+ "inputs": []
1092
+ },
1093
+ {
1094
+ "type": "error",
1095
+ "name": "AlreadyOwner",
1096
+ "inputs": []
1097
+ },
1098
+ {
1099
+ "type": "error",
1100
+ "name": "CannotMintZeroLiquidity",
1101
+ "inputs": []
1102
+ },
1103
+ {
1104
+ "type": "error",
1105
+ "name": "DopplerPoolMustHaveMoreThan2DiscoveryPositions",
1106
+ "inputs": []
1107
+ },
1108
+ {
1109
+ "type": "error",
1110
+ "name": "ECDSAInvalidSignature",
1111
+ "inputs": []
1112
+ },
1113
+ {
1114
+ "type": "error",
1115
+ "name": "ECDSAInvalidSignatureLength",
1116
+ "inputs": [
1117
+ {
1118
+ "name": "length",
1119
+ "type": "uint256",
1120
+ "internalType": "uint256"
1121
+ }
1122
+ ]
1123
+ },
1124
+ {
1125
+ "type": "error",
1126
+ "name": "ECDSAInvalidSignatureS",
1127
+ "inputs": [
1128
+ {
1129
+ "name": "s",
1130
+ "type": "bytes32",
1131
+ "internalType": "bytes32"
1132
+ }
1133
+ ]
1134
+ },
1135
+ {
1136
+ "type": "error",
1137
+ "name": "ERC20InsufficientAllowance",
1138
+ "inputs": [
1139
+ {
1140
+ "name": "spender",
1141
+ "type": "address",
1142
+ "internalType": "address"
1143
+ },
1144
+ {
1145
+ "name": "allowance",
1146
+ "type": "uint256",
1147
+ "internalType": "uint256"
1148
+ },
1149
+ {
1150
+ "name": "needed",
1151
+ "type": "uint256",
1152
+ "internalType": "uint256"
1153
+ }
1154
+ ]
1155
+ },
1156
+ {
1157
+ "type": "error",
1158
+ "name": "ERC20InsufficientBalance",
1159
+ "inputs": [
1160
+ {
1161
+ "name": "sender",
1162
+ "type": "address",
1163
+ "internalType": "address"
1164
+ },
1165
+ {
1166
+ "name": "balance",
1167
+ "type": "uint256",
1168
+ "internalType": "uint256"
1169
+ },
1170
+ {
1171
+ "name": "needed",
1172
+ "type": "uint256",
1173
+ "internalType": "uint256"
1174
+ }
1175
+ ]
1176
+ },
1177
+ {
1178
+ "type": "error",
1179
+ "name": "ERC20InvalidApprover",
1180
+ "inputs": [
1181
+ {
1182
+ "name": "approver",
1183
+ "type": "address",
1184
+ "internalType": "address"
1185
+ }
1186
+ ]
1187
+ },
1188
+ {
1189
+ "type": "error",
1190
+ "name": "ERC20InvalidReceiver",
1191
+ "inputs": [
1192
+ {
1193
+ "name": "receiver",
1194
+ "type": "address",
1195
+ "internalType": "address"
1196
+ }
1197
+ ]
1198
+ },
1199
+ {
1200
+ "type": "error",
1201
+ "name": "ERC20InvalidSender",
1202
+ "inputs": [
1203
+ {
1204
+ "name": "sender",
1205
+ "type": "address",
1206
+ "internalType": "address"
1207
+ }
1208
+ ]
1209
+ },
1210
+ {
1211
+ "type": "error",
1212
+ "name": "ERC20InvalidSpender",
1213
+ "inputs": [
1214
+ {
1215
+ "name": "spender",
1216
+ "type": "address",
1217
+ "internalType": "address"
1218
+ }
1219
+ ]
1220
+ },
1221
+ {
1222
+ "type": "error",
1223
+ "name": "ERC20TransferAmountMismatch",
1224
+ "inputs": []
1225
+ },
1226
+ {
1227
+ "type": "error",
1228
+ "name": "ERC2612ExpiredSignature",
1229
+ "inputs": [
1230
+ {
1231
+ "name": "deadline",
1232
+ "type": "uint256",
1233
+ "internalType": "uint256"
1234
+ }
1235
+ ]
1236
+ },
1237
+ {
1238
+ "type": "error",
1239
+ "name": "ERC2612InvalidSigner",
1240
+ "inputs": [
1241
+ {
1242
+ "name": "signer",
1243
+ "type": "address",
1244
+ "internalType": "address"
1245
+ },
1246
+ {
1247
+ "name": "owner",
1248
+ "type": "address",
1249
+ "internalType": "address"
1250
+ }
1251
+ ]
1252
+ },
1253
+ {
1254
+ "type": "error",
1255
+ "name": "EthAmountMismatch",
1256
+ "inputs": []
1257
+ },
1258
+ {
1259
+ "type": "error",
1260
+ "name": "EthAmountTooSmall",
1261
+ "inputs": []
1262
+ },
1263
+ {
1264
+ "type": "error",
1265
+ "name": "EthTransferFailed",
1266
+ "inputs": []
1267
+ },
1268
+ {
1269
+ "type": "error",
1270
+ "name": "EthTransferInvalid",
1271
+ "inputs": []
1272
+ },
1273
+ {
1274
+ "type": "error",
1275
+ "name": "InitialOrderSizeTooLarge",
1276
+ "inputs": []
1277
+ },
1278
+ {
1279
+ "type": "error",
1280
+ "name": "InsufficientFunds",
1281
+ "inputs": []
1282
+ },
1283
+ {
1284
+ "type": "error",
1285
+ "name": "InsufficientLiquidity",
1286
+ "inputs": []
1287
+ },
1288
+ {
1289
+ "type": "error",
1290
+ "name": "InvalidAccountNonce",
1291
+ "inputs": [
1292
+ {
1293
+ "name": "account",
1294
+ "type": "address",
1295
+ "internalType": "address"
1296
+ },
1297
+ {
1298
+ "name": "currentNonce",
1299
+ "type": "uint256",
1300
+ "internalType": "uint256"
1301
+ }
1302
+ ]
1303
+ },
1304
+ {
1305
+ "type": "error",
1306
+ "name": "InvalidCurrencyLowerTick",
1307
+ "inputs": []
1308
+ },
1309
+ {
1310
+ "type": "error",
1311
+ "name": "InvalidInitialization",
1312
+ "inputs": []
1313
+ },
1314
+ {
1315
+ "type": "error",
1316
+ "name": "InvalidMarketType",
1317
+ "inputs": []
1318
+ },
1319
+ {
1320
+ "type": "error",
1321
+ "name": "InvalidPoolVersion",
1322
+ "inputs": []
1323
+ },
1324
+ {
1325
+ "type": "error",
1326
+ "name": "InvalidTickRangeMisordered",
1327
+ "inputs": [
1328
+ {
1329
+ "name": "tickLower",
1330
+ "type": "int24",
1331
+ "internalType": "int24"
1332
+ },
1333
+ {
1334
+ "name": "tickUpper",
1335
+ "type": "int24",
1336
+ "internalType": "int24"
1337
+ }
1338
+ ]
1339
+ },
1340
+ {
1341
+ "type": "error",
1342
+ "name": "InvalidWethLowerTick",
1343
+ "inputs": []
1344
+ },
1345
+ {
1346
+ "type": "error",
1347
+ "name": "LegacyPoolMustHaveOneDiscoveryPosition",
1348
+ "inputs": []
1349
+ },
1350
+ {
1351
+ "type": "error",
1352
+ "name": "MarketAlreadyGraduated",
1353
+ "inputs": []
1354
+ },
1355
+ {
1356
+ "type": "error",
1357
+ "name": "MarketNotGraduated",
1358
+ "inputs": []
1359
+ },
1360
+ {
1361
+ "type": "error",
1362
+ "name": "MaxShareToBeSoldExceeded",
1363
+ "inputs": [
1364
+ {
1365
+ "name": "value",
1366
+ "type": "uint256",
1367
+ "internalType": "uint256"
1368
+ },
1369
+ {
1370
+ "name": "limit",
1371
+ "type": "uint256",
1372
+ "internalType": "uint256"
1373
+ }
1374
+ ]
1375
+ },
1376
+ {
1377
+ "type": "error",
1378
+ "name": "NotInitializing",
1379
+ "inputs": []
1380
+ },
1381
+ {
1382
+ "type": "error",
1383
+ "name": "NotOwner",
1384
+ "inputs": []
1385
+ },
1386
+ {
1387
+ "type": "error",
1388
+ "name": "NumDiscoveryPositionsOutOfRange",
1389
+ "inputs": []
1390
+ },
1391
+ {
1392
+ "type": "error",
1393
+ "name": "OneOwnerRequired",
1394
+ "inputs": []
1395
+ },
1396
+ {
1397
+ "type": "error",
1398
+ "name": "OnlyOwner",
1399
+ "inputs": []
1400
+ },
1401
+ {
1402
+ "type": "error",
1403
+ "name": "OnlyPool",
1404
+ "inputs": [
1405
+ {
1406
+ "name": "sender",
1407
+ "type": "address",
1408
+ "internalType": "address"
1409
+ },
1410
+ {
1411
+ "name": "pool",
1412
+ "type": "address",
1413
+ "internalType": "address"
1414
+ }
1415
+ ]
1416
+ },
1417
+ {
1418
+ "type": "error",
1419
+ "name": "OnlyWeth",
1420
+ "inputs": []
1421
+ },
1422
+ {
1423
+ "type": "error",
1424
+ "name": "OwnerCannotBeAddressZero",
1425
+ "inputs": []
1426
+ },
1427
+ {
1428
+ "type": "error",
1429
+ "name": "ReentrancyGuardReentrantCall",
1430
+ "inputs": []
1431
+ },
1432
+ {
1433
+ "type": "error",
1434
+ "name": "SlippageBoundsExceeded",
1435
+ "inputs": []
1436
+ },
1437
+ {
1438
+ "type": "error",
1439
+ "name": "UseRevokeOwnershipToRemoveSelf",
1440
+ "inputs": []
1441
+ }
1442
+ ]