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