@zoralabs/coins 0.9.0 → 1.0.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 (131) hide show
  1. package/.turbo/turbo-build.log +179 -114
  2. package/CHANGELOG.md +46 -0
  3. package/abis/BaseCoin.json +26 -118
  4. package/abis/BaseTest.json +47 -0
  5. package/abis/BuySupplyWithSwapRouterHook.json +40 -0
  6. package/abis/Coin.json +171 -63
  7. package/abis/CoinDopplerMultiCurve.json +38 -0
  8. package/abis/CoinRewardsV4.json +54 -0
  9. package/abis/CoinTest.json +53 -20
  10. package/abis/CoinUniV4Test.json +1091 -0
  11. package/abis/CoinV4.json +234 -211
  12. package/abis/DeployScript.json +47 -0
  13. package/abis/DeployedCoinVersionLookup.json +21 -0
  14. package/abis/DeployedCoinVersionLookupTest.json +716 -0
  15. package/abis/DifferentNamespaceVersionLookup.json +39 -0
  16. package/abis/DopplerUniswapV3Test.json +49 -93
  17. package/abis/ERC20.json +310 -0
  18. package/abis/FactoryTest.json +85 -7
  19. package/abis/FeeEstimatorHook.json +1515 -0
  20. package/abis/HooksDeployment.json +23 -0
  21. package/abis/HooksTest.json +60 -0
  22. package/abis/ICoin.json +40 -71
  23. package/abis/ICoinV3.json +879 -0
  24. package/abis/ICoinV4.json +915 -0
  25. package/abis/IDeployedCoinVersionLookup.json +21 -0
  26. package/abis/IERC721.json +36 -36
  27. package/abis/IHasPoolKey.json +42 -0
  28. package/abis/IHasRewardsRecipients.json +54 -0
  29. package/abis/IHasSwapPath.json +60 -0
  30. package/abis/IMsgSender.json +15 -0
  31. package/abis/IPoolConfigEncoding.json +46 -0
  32. package/abis/ISwapPathRouter.json +92 -0
  33. package/abis/IUniversalRouter.json +61 -0
  34. package/abis/IUnlockCallback.json +21 -0
  35. package/abis/IV4Quoter.json +310 -0
  36. package/abis/IZoraFactory.json +210 -11
  37. package/abis/IZoraV4CoinHook.json +348 -4
  38. package/abis/MockERC20.json +21 -0
  39. package/abis/MultiOwnableTest.json +47 -0
  40. package/abis/{CoinConfigurationVersions.json → Position.json} +1 -1
  41. package/abis/PrintUpgradeCommand.json +9 -0
  42. package/abis/ProxyShim.json +24 -0
  43. package/abis/StateLibrary.json +80 -0
  44. package/abis/TestDeployedCoinVersionLookupImplementation.json +39 -0
  45. package/abis/TestV4Swap.json +9 -0
  46. package/abis/UpgradeCoinImpl.json +47 -0
  47. package/abis/UpgradesTest.json +81 -0
  48. package/abis/Vm.json +1482 -111
  49. package/abis/VmSafe.json +856 -32
  50. package/abis/ZoraFactoryImpl.json +339 -1
  51. package/abis/ZoraV4CoinHook.json +442 -5
  52. package/addresses/8453.json +7 -4
  53. package/addresses/84532.json +8 -5
  54. package/addresses/dev/8453.json +10 -0
  55. package/dist/index.cjs +1932 -167
  56. package/dist/index.cjs.map +1 -1
  57. package/dist/index.js +1928 -167
  58. package/dist/index.js.map +1 -1
  59. package/dist/wagmiGenerated.d.ts +2606 -160
  60. package/dist/wagmiGenerated.d.ts.map +1 -1
  61. package/foundry.toml +1 -0
  62. package/package/wagmiGenerated.ts +1941 -164
  63. package/package.json +8 -3
  64. package/remappings.txt +6 -1
  65. package/script/Deploy.s.sol +1 -1
  66. package/script/DeployDevFactory.s.sol +21 -0
  67. package/script/DeployHooks.s.sol +1 -1
  68. package/script/PrintUpgradeCommand.s.sol +13 -0
  69. package/script/Simulate.s.sol +1 -10
  70. package/script/TestBackingCoinSwap.s.sol +147 -0
  71. package/script/TestV4Swap.s.sol +136 -0
  72. package/script/UpgradeCoinImpl.sol +2 -2
  73. package/script/UpgradeFactoryImpl.s.sol +2 -2
  74. package/src/BaseCoin.sol +190 -0
  75. package/src/Coin.sol +87 -202
  76. package/src/CoinV4.sol +121 -0
  77. package/src/ZoraFactoryImpl.sol +208 -36
  78. package/{script → src/deployment}/CoinsDeployerBase.sol +111 -17
  79. package/src/hooks/ZoraV4CoinHook.sol +212 -0
  80. package/src/hooks/{BaseCoinDeployHook.sol → deployment/BaseCoinDeployHook.sol} +3 -3
  81. package/src/hooks/deployment/BuySupplyWithSwapRouterHook.sol +140 -0
  82. package/src/interfaces/ICoin.sol +31 -39
  83. package/src/interfaces/ICoinV3.sol +71 -0
  84. package/src/interfaces/ICoinV4.sol +69 -0
  85. package/src/interfaces/IDeployedCoinVersionLookup.sol +11 -0
  86. package/src/interfaces/IMsgSender.sol +9 -0
  87. package/src/interfaces/IPoolConfigEncoding.sol +14 -0
  88. package/src/interfaces/ISwapPathRouter.sol +14 -0
  89. package/src/interfaces/IZoraFactory.sol +67 -28
  90. package/src/interfaces/IZoraV4CoinHook.sol +116 -0
  91. package/src/libs/CoinCommon.sol +15 -0
  92. package/src/libs/CoinConfigurationVersions.sol +116 -1
  93. package/src/libs/CoinConstants.sol +5 -0
  94. package/src/libs/CoinDopplerMultiCurve.sol +134 -0
  95. package/src/libs/CoinDopplerUniV3.sol +19 -171
  96. package/src/libs/CoinRewards.sol +195 -0
  97. package/src/libs/CoinRewardsV4.sol +179 -0
  98. package/src/libs/CoinSetup.sol +57 -0
  99. package/src/libs/CoinSetupV3.sol +6 -67
  100. package/src/libs/DopplerMath.sol +156 -0
  101. package/src/libs/HooksDeployment.sol +128 -0
  102. package/src/libs/MarketConstants.sol +4 -0
  103. package/src/libs/PoolStateReader.sol +22 -0
  104. package/src/libs/UniV3BuySell.sol +74 -292
  105. package/src/libs/UniV4SwapHelper.sol +65 -0
  106. package/src/libs/UniV4SwapToCurrency.sol +109 -0
  107. package/src/libs/V4Liquidity.sol +122 -0
  108. package/src/types/PoolConfiguration.sol +15 -0
  109. package/src/utils/DeployedCoinVersionLookup.sol +52 -0
  110. package/src/version/ContractVersionBase.sol +1 -1
  111. package/test/Coin.t.sol +78 -88
  112. package/test/CoinDopplerUniV3.t.sol +32 -171
  113. package/test/CoinUniV4.t.sol +777 -0
  114. package/test/{Hooks.t.sol → DeploymentHooks.t.sol} +53 -16
  115. package/test/Factory.t.sol +80 -47
  116. package/test/MultiOwnable.t.sol +6 -3
  117. package/test/Upgrades.t.sol +97 -5
  118. package/test/mocks/MockERC20.sol +12 -0
  119. package/test/utils/BaseTest.sol +162 -57
  120. package/test/utils/DeployedCoinVersionLookup.t.sol +127 -0
  121. package/test/utils/FeeEstimatorHook.sol +84 -0
  122. package/test/utils/ProxyShim.sol +17 -0
  123. package/wagmi.config.ts +4 -0
  124. package/.env +0 -1
  125. package/.turbo/turbo-update-contract-version.log +0 -22
  126. package/abis/CoinSetupV3.json +0 -7
  127. package/abis/HookDeployer.json +0 -68
  128. package/abis/IHookDeployer.json +0 -42
  129. package/src/hooks/BuySupplyWithSwapRouterHook.sol +0 -78
  130. package/src/libs/CoinLegacy.sol +0 -48
  131. package/src/libs/CoinLegacyMarket.sol +0 -182
@@ -12,6 +12,7 @@ export const buySupplyWithSwapRouterHookABI = [
12
12
  type: 'address',
13
13
  },
14
14
  { name: '_swapRouter', internalType: 'address', type: 'address' },
15
+ { name: '_poolManager', internalType: 'address', type: 'address' },
15
16
  ],
16
17
  stateMutability: 'nonpayable',
17
18
  },
@@ -42,16 +43,29 @@ export const buySupplyWithSwapRouterHookABI = [
42
43
  outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
43
44
  stateMutability: 'pure',
44
45
  },
46
+ {
47
+ type: 'function',
48
+ inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
49
+ name: 'unlockCallback',
50
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
51
+ stateMutability: 'nonpayable',
52
+ },
45
53
  { type: 'error', inputs: [], name: 'AddressZero' },
46
54
  {
47
55
  type: 'error',
48
56
  inputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }],
49
57
  name: 'CoinBalanceNot0',
50
58
  },
59
+ {
60
+ type: 'error',
61
+ inputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }],
62
+ name: 'CurrencyBalanceNot0',
63
+ },
51
64
  { type: 'error', inputs: [], name: 'Erc20NotReceived' },
52
65
  { type: 'error', inputs: [], name: 'HookNotImplemented' },
53
66
  { type: 'error', inputs: [], name: 'InvalidSwapRouterCall' },
54
67
  { type: 'error', inputs: [], name: 'NotFactory' },
68
+ { type: 'error', inputs: [], name: 'OnlyPoolManager' },
55
69
  {
56
70
  type: 'error',
57
71
  inputs: [{ name: 'error', internalType: 'bytes', type: 'bytes' }],
@@ -68,15 +82,15 @@ export const coinABI = [
68
82
  type: 'constructor',
69
83
  inputs: [
70
84
  {
71
- name: '_protocolRewardRecipient',
85
+ name: 'protocolRewardRecipient_',
72
86
  internalType: 'address',
73
87
  type: 'address',
74
88
  },
75
- { name: '_protocolRewards', internalType: 'address', type: 'address' },
76
- { name: '_weth', internalType: 'address', type: 'address' },
77
- { name: '_v3Factory', internalType: 'address', type: 'address' },
78
- { name: '_swapRouter', internalType: 'address', type: 'address' },
79
- { name: '_airlock', internalType: 'address', type: 'address' },
89
+ { name: 'protocolRewards_', internalType: 'address', type: 'address' },
90
+ { name: 'weth_', internalType: 'address', type: 'address' },
91
+ { name: 'v3Factory_', internalType: 'address', type: 'address' },
92
+ { name: 'swapRouter_', internalType: 'address', type: 'address' },
93
+ { name: 'airlock_', internalType: 'address', type: 'address' },
80
94
  ],
81
95
  stateMutability: 'nonpayable',
82
96
  },
@@ -203,6 +217,13 @@ export const coinABI = [
203
217
  outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
204
218
  stateMutability: 'view',
205
219
  },
220
+ {
221
+ type: 'function',
222
+ inputs: [],
223
+ name: 'dopplerFeeRecipient',
224
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
225
+ stateMutability: 'view',
226
+ },
206
227
  {
207
228
  type: 'function',
208
229
  inputs: [],
@@ -218,6 +239,37 @@ export const coinABI = [
218
239
  ],
219
240
  stateMutability: 'view',
220
241
  },
242
+ {
243
+ type: 'function',
244
+ inputs: [],
245
+ name: 'getPoolConfiguration',
246
+ outputs: [
247
+ {
248
+ name: '',
249
+ internalType: 'struct PoolConfiguration',
250
+ type: 'tuple',
251
+ components: [
252
+ { name: 'version', internalType: 'uint8', type: 'uint8' },
253
+ { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
254
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
255
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
256
+ {
257
+ name: 'numDiscoveryPositions',
258
+ internalType: 'uint16[]',
259
+ type: 'uint16[]',
260
+ },
261
+ { name: 'tickLower', internalType: 'int24[]', type: 'int24[]' },
262
+ { name: 'tickUpper', internalType: 'int24[]', type: 'int24[]' },
263
+ {
264
+ name: 'maxDiscoverySupplyShare',
265
+ internalType: 'uint256[]',
266
+ type: 'uint256[]',
267
+ },
268
+ ],
269
+ },
270
+ ],
271
+ stateMutability: 'view',
272
+ },
221
273
  {
222
274
  type: 'function',
223
275
  inputs: [
@@ -226,8 +278,42 @@ export const coinABI = [
226
278
  { name: 'tokenURI_', internalType: 'string', type: 'string' },
227
279
  { name: 'name_', internalType: 'string', type: 'string' },
228
280
  { name: 'symbol_', internalType: 'string', type: 'string' },
229
- { name: 'poolConfig_', internalType: 'bytes', type: 'bytes' },
230
281
  { name: 'platformReferrer_', internalType: 'address', type: 'address' },
282
+ { name: 'currency_', internalType: 'address', type: 'address' },
283
+ { name: 'poolAddress_', internalType: 'address', type: 'address' },
284
+ {
285
+ name: 'poolConfiguration_',
286
+ internalType: 'struct PoolConfiguration',
287
+ type: 'tuple',
288
+ components: [
289
+ { name: 'version', internalType: 'uint8', type: 'uint8' },
290
+ { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
291
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
292
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
293
+ {
294
+ name: 'numDiscoveryPositions',
295
+ internalType: 'uint16[]',
296
+ type: 'uint16[]',
297
+ },
298
+ { name: 'tickLower', internalType: 'int24[]', type: 'int24[]' },
299
+ { name: 'tickUpper', internalType: 'int24[]', type: 'int24[]' },
300
+ {
301
+ name: 'maxDiscoverySupplyShare',
302
+ internalType: 'uint256[]',
303
+ type: 'uint256[]',
304
+ },
305
+ ],
306
+ },
307
+ {
308
+ name: 'positions_',
309
+ internalType: 'struct LpPosition[]',
310
+ type: 'tuple[]',
311
+ components: [
312
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
313
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
314
+ { name: 'liquidity', internalType: 'uint128', type: 'uint128' },
315
+ ],
316
+ },
231
317
  ],
232
318
  name: 'initialize',
233
319
  outputs: [],
@@ -317,35 +403,20 @@ export const coinABI = [
317
403
  name: 'poolConfiguration',
318
404
  outputs: [
319
405
  { name: 'version', internalType: 'uint8', type: 'uint8' },
320
- { name: 'tickLower', internalType: 'int24', type: 'int24' },
321
- { name: 'tickUpper', internalType: 'int24', type: 'int24' },
322
406
  { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
323
- {
324
- name: 'maxDiscoverySupplyShare',
325
- internalType: 'uint256',
326
- type: 'uint256',
327
- },
407
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
408
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
328
409
  ],
329
410
  stateMutability: 'view',
330
411
  },
331
412
  {
332
413
  type: 'function',
333
- inputs: [],
334
- name: 'poolState',
414
+ inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
415
+ name: 'positions',
335
416
  outputs: [
336
- { name: 'asset', internalType: 'address', type: 'address' },
337
- { name: 'numeraire', internalType: 'address', type: 'address' },
338
417
  { name: 'tickLower', internalType: 'int24', type: 'int24' },
339
418
  { name: 'tickUpper', internalType: 'int24', type: 'int24' },
340
- { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
341
- { name: 'isInitialized', internalType: 'bool', type: 'bool' },
342
- { name: 'isExited', internalType: 'bool', type: 'bool' },
343
- { name: 'maxShareToBeSold', internalType: 'uint256', type: 'uint256' },
344
- {
345
- name: 'totalTokensOnBondingCurve',
346
- internalType: 'uint256',
347
- type: 'uint256',
348
- },
419
+ { name: 'liquidity', internalType: 'uint128', type: 'uint128' },
349
420
  ],
350
421
  stateMutability: 'view',
351
422
  },
@@ -990,7 +1061,6 @@ export const coinABI = [
990
1061
  { type: 'error', inputs: [], name: 'InvalidInitialization' },
991
1062
  { type: 'error', inputs: [], name: 'InvalidMarketType' },
992
1063
  { type: 'error', inputs: [], name: 'InvalidPoolVersion' },
993
- { type: 'error', inputs: [], name: 'InvalidPoolVersion' },
994
1064
  {
995
1065
  type: 'error',
996
1066
  inputs: [
@@ -1037,216 +1107,1814 @@ export const coinABI = [
1037
1107
  ] as const
1038
1108
 
1039
1109
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1040
- // IUniswapV3Pool
1110
+ // CoinV4
1041
1111
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1042
1112
 
1043
- export const iUniswapV3PoolABI = [
1044
- {
1045
- type: 'function',
1046
- inputs: [
1047
- { name: 'tickLower', internalType: 'int24', type: 'int24' },
1048
- { name: 'tickUpper', internalType: 'int24', type: 'int24' },
1049
- { name: 'amount', internalType: 'uint128', type: 'uint128' },
1050
- ],
1051
- name: 'burn',
1052
- outputs: [
1053
- { name: 'amount0', internalType: 'uint256', type: 'uint256' },
1054
- { name: 'amount1', internalType: 'uint256', type: 'uint256' },
1055
- ],
1056
- stateMutability: 'nonpayable',
1057
- },
1113
+ export const coinV4ABI = [
1058
1114
  {
1059
- type: 'function',
1115
+ type: 'constructor',
1060
1116
  inputs: [
1061
- { name: 'recipient', internalType: 'address', type: 'address' },
1062
- { name: 'tickLower', internalType: 'int24', type: 'int24' },
1063
- { name: 'tickUpper', internalType: 'int24', type: 'int24' },
1064
- { name: 'amount0Requested', internalType: 'uint128', type: 'uint128' },
1065
- { name: 'amount1Requested', internalType: 'uint128', type: 'uint128' },
1066
- ],
1067
- name: 'collect',
1068
- outputs: [
1069
- { name: 'amount0', internalType: 'uint128', type: 'uint128' },
1070
- { name: 'amount1', internalType: 'uint128', type: 'uint128' },
1117
+ {
1118
+ name: 'protocolRewardRecipient_',
1119
+ internalType: 'address',
1120
+ type: 'address',
1121
+ },
1122
+ { name: 'protocolRewards_', internalType: 'address', type: 'address' },
1123
+ {
1124
+ name: 'poolManager_',
1125
+ internalType: 'contract IPoolManager',
1126
+ type: 'address',
1127
+ },
1128
+ { name: 'airlock_', internalType: 'address', type: 'address' },
1129
+ { name: 'hooks_', internalType: 'contract IHooks', type: 'address' },
1071
1130
  ],
1072
1131
  stateMutability: 'nonpayable',
1073
1132
  },
1074
1133
  {
1075
1134
  type: 'function',
1076
1135
  inputs: [],
1077
- name: 'feeGrowthGlobal0X128',
1078
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1136
+ name: 'DOMAIN_SEPARATOR',
1137
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
1079
1138
  stateMutability: 'view',
1080
1139
  },
1081
1140
  {
1082
1141
  type: 'function',
1083
- inputs: [],
1084
- name: 'feeGrowthGlobal1X128',
1085
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1086
- stateMutability: 'view',
1142
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
1143
+ name: 'addOwner',
1144
+ outputs: [],
1145
+ stateMutability: 'nonpayable',
1087
1146
  },
1088
1147
  {
1089
1148
  type: 'function',
1090
1149
  inputs: [
1091
- { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
1150
+ { name: 'accounts', internalType: 'address[]', type: 'address[]' },
1092
1151
  ],
1093
- name: 'initialize',
1152
+ name: 'addOwners',
1094
1153
  outputs: [],
1095
1154
  stateMutability: 'nonpayable',
1096
1155
  },
1097
1156
  {
1098
1157
  type: 'function',
1099
- inputs: [
1100
- { name: 'recipient', internalType: 'address', type: 'address' },
1101
- { name: 'tickLower', internalType: 'int24', type: 'int24' },
1102
- { name: 'tickUpper', internalType: 'int24', type: 'int24' },
1103
- { name: 'amount', internalType: 'uint128', type: 'uint128' },
1104
- { name: 'data', internalType: 'bytes', type: 'bytes' },
1105
- ],
1106
- name: 'mint',
1107
- outputs: [
1108
- { name: 'amount0', internalType: 'uint256', type: 'uint256' },
1109
- { name: 'amount1', internalType: 'uint256', type: 'uint256' },
1110
- ],
1111
- stateMutability: 'nonpayable',
1158
+ inputs: [],
1159
+ name: 'airlock',
1160
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1161
+ stateMutability: 'view',
1112
1162
  },
1113
1163
  {
1114
1164
  type: 'function',
1115
- inputs: [],
1116
- name: 'slot0',
1117
- outputs: [
1118
- {
1119
- name: 'slot0',
1120
- internalType: 'struct IUniswapV3Pool.Slot0',
1121
- type: 'tuple',
1122
- components: [
1123
- { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
1124
- { name: 'tick', internalType: 'int24', type: 'int24' },
1125
- { name: 'observationIndex', internalType: 'uint16', type: 'uint16' },
1126
- {
1127
- name: 'observationCardinality',
1128
- internalType: 'uint16',
1129
- type: 'uint16',
1130
- },
1131
- {
1132
- name: 'observationCardinalityNext',
1133
- internalType: 'uint16',
1134
- type: 'uint16',
1135
- },
1136
- { name: 'feeProtocol', internalType: 'uint8', type: 'uint8' },
1137
- { name: 'unlocked', internalType: 'bool', type: 'bool' },
1138
- ],
1139
- },
1165
+ inputs: [
1166
+ { name: 'owner', internalType: 'address', type: 'address' },
1167
+ { name: 'spender', internalType: 'address', type: 'address' },
1140
1168
  ],
1169
+ name: 'allowance',
1170
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1141
1171
  stateMutability: 'view',
1142
1172
  },
1143
1173
  {
1144
1174
  type: 'function',
1145
1175
  inputs: [
1146
- { name: 'recipient', internalType: 'address', type: 'address' },
1147
- { name: 'zeroForOne', internalType: 'bool', type: 'bool' },
1148
- { name: 'amountSpecified', internalType: 'int256', type: 'int256' },
1149
- { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },
1150
- { name: 'data', internalType: 'bytes', type: 'bytes' },
1151
- ],
1152
- name: 'swap',
1153
- outputs: [
1154
- { name: 'amount0', internalType: 'int256', type: 'int256' },
1155
- { name: 'amount1', internalType: 'int256', type: 'int256' },
1176
+ { name: 'spender', internalType: 'address', type: 'address' },
1177
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1156
1178
  ],
1179
+ name: 'approve',
1180
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1157
1181
  stateMutability: 'nonpayable',
1158
1182
  },
1159
1183
  {
1160
1184
  type: 'function',
1161
- inputs: [],
1162
- name: 'token0',
1163
- outputs: [{ name: '', internalType: 'address', type: 'address' }],
1164
- stateMutability: 'nonpayable',
1185
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
1186
+ name: 'balanceOf',
1187
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1188
+ stateMutability: 'view',
1165
1189
  },
1166
1190
  {
1167
1191
  type: 'function',
1168
- inputs: [],
1169
- name: 'token1',
1170
- outputs: [{ name: '', internalType: 'address', type: 'address' }],
1192
+ inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
1193
+ name: 'burn',
1194
+ outputs: [],
1171
1195
  stateMutability: 'nonpayable',
1172
1196
  },
1173
- ] as const
1174
-
1175
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1176
- // ZoraFactoryImpl
1177
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1178
-
1179
- export const zoraFactoryImplABI = [
1180
1197
  {
1181
- type: 'constructor',
1182
- inputs: [{ name: '_coinImpl', internalType: 'address', type: 'address' }],
1183
- stateMutability: 'nonpayable',
1198
+ type: 'function',
1199
+ inputs: [],
1200
+ name: 'contractURI',
1201
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
1202
+ stateMutability: 'view',
1184
1203
  },
1185
1204
  {
1186
1205
  type: 'function',
1187
1206
  inputs: [],
1188
- name: 'UPGRADE_INTERFACE_VERSION',
1207
+ name: 'contractVersion',
1189
1208
  outputs: [{ name: '', internalType: 'string', type: 'string' }],
1190
- stateMutability: 'view',
1209
+ stateMutability: 'pure',
1191
1210
  },
1192
1211
  {
1193
1212
  type: 'function',
1194
1213
  inputs: [],
1195
- name: 'coinImpl',
1214
+ name: 'currency',
1196
1215
  outputs: [{ name: '', internalType: 'address', type: 'address' }],
1197
1216
  stateMutability: 'view',
1198
1217
  },
1199
1218
  {
1200
1219
  type: 'function',
1201
1220
  inputs: [],
1202
- name: 'contractName',
1203
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
1204
- stateMutability: 'pure',
1221
+ name: 'decimals',
1222
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
1223
+ stateMutability: 'view',
1205
1224
  },
1206
1225
  {
1207
1226
  type: 'function',
1208
1227
  inputs: [],
1209
- name: 'contractVersion',
1210
- outputs: [{ name: '', internalType: 'string', type: 'string' }],
1211
- stateMutability: 'pure',
1228
+ name: 'dopplerFeeRecipient',
1229
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1230
+ stateMutability: 'view',
1212
1231
  },
1213
1232
  {
1214
1233
  type: 'function',
1215
- inputs: [
1216
- { name: 'payoutRecipient', internalType: 'address', type: 'address' },
1217
- { name: 'owners', internalType: 'address[]', type: 'address[]' },
1218
- { name: 'uri', internalType: 'string', type: 'string' },
1219
- { name: 'name', internalType: 'string', type: 'string' },
1220
- { name: 'symbol', internalType: 'string', type: 'string' },
1221
- { name: 'platformReferrer', internalType: 'address', type: 'address' },
1222
- { name: 'currency', internalType: 'address', type: 'address' },
1223
- { name: 'tickLower', internalType: 'int24', type: 'int24' },
1224
- { name: 'orderSize', internalType: 'uint256', type: 'uint256' },
1225
- ],
1226
- name: 'deploy',
1234
+ inputs: [],
1235
+ name: 'eip712Domain',
1227
1236
  outputs: [
1228
- { name: '', internalType: 'address', type: 'address' },
1229
- { name: '', internalType: 'uint256', type: 'uint256' },
1237
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
1238
+ { name: 'name', internalType: 'string', type: 'string' },
1239
+ { name: 'version', internalType: 'string', type: 'string' },
1240
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
1241
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
1242
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1243
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
1230
1244
  ],
1231
- stateMutability: 'payable',
1245
+ stateMutability: 'view',
1232
1246
  },
1233
1247
  {
1234
1248
  type: 'function',
1235
1249
  inputs: [
1236
- { name: 'payoutRecipient', internalType: 'address', type: 'address' },
1237
- { name: 'owners', internalType: 'address[]', type: 'address[]' },
1238
- { name: 'uri', internalType: 'string', type: 'string' },
1239
- { name: 'name', internalType: 'string', type: 'string' },
1240
- { name: 'symbol', internalType: 'string', type: 'string' },
1241
- { name: 'poolConfig', internalType: 'bytes', type: 'bytes' },
1242
- { name: 'platformReferrer', internalType: 'address', type: 'address' },
1243
- { name: 'orderSize', internalType: 'uint256', type: 'uint256' },
1250
+ {
1251
+ name: 'coinVersionLookup',
1252
+ internalType: 'contract IDeployedCoinVersionLookup',
1253
+ type: 'address',
1254
+ },
1244
1255
  ],
1245
- name: 'deploy',
1256
+ name: 'getPayoutSwapPath',
1246
1257
  outputs: [
1247
- { name: '', internalType: 'address', type: 'address' },
1248
- { name: '', internalType: 'uint256', type: 'uint256' },
1249
- ],
1258
+ {
1259
+ name: 'payoutSwapPath',
1260
+ internalType: 'struct IHasSwapPath.PayoutSwapPath',
1261
+ type: 'tuple',
1262
+ components: [
1263
+ {
1264
+ name: 'path',
1265
+ internalType: 'struct PathKey[]',
1266
+ type: 'tuple[]',
1267
+ components: [
1268
+ {
1269
+ name: 'intermediateCurrency',
1270
+ internalType: 'Currency',
1271
+ type: 'address',
1272
+ },
1273
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1274
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
1275
+ {
1276
+ name: 'hooks',
1277
+ internalType: 'contract IHooks',
1278
+ type: 'address',
1279
+ },
1280
+ { name: 'hookData', internalType: 'bytes', type: 'bytes' },
1281
+ ],
1282
+ },
1283
+ { name: 'currencyIn', internalType: 'Currency', type: 'address' },
1284
+ ],
1285
+ },
1286
+ ],
1287
+ stateMutability: 'view',
1288
+ },
1289
+ {
1290
+ type: 'function',
1291
+ inputs: [],
1292
+ name: 'getPoolConfiguration',
1293
+ outputs: [
1294
+ {
1295
+ name: '',
1296
+ internalType: 'struct PoolConfiguration',
1297
+ type: 'tuple',
1298
+ components: [
1299
+ { name: 'version', internalType: 'uint8', type: 'uint8' },
1300
+ { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
1301
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1302
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
1303
+ {
1304
+ name: 'numDiscoveryPositions',
1305
+ internalType: 'uint16[]',
1306
+ type: 'uint16[]',
1307
+ },
1308
+ { name: 'tickLower', internalType: 'int24[]', type: 'int24[]' },
1309
+ { name: 'tickUpper', internalType: 'int24[]', type: 'int24[]' },
1310
+ {
1311
+ name: 'maxDiscoverySupplyShare',
1312
+ internalType: 'uint256[]',
1313
+ type: 'uint256[]',
1314
+ },
1315
+ ],
1316
+ },
1317
+ ],
1318
+ stateMutability: 'view',
1319
+ },
1320
+ {
1321
+ type: 'function',
1322
+ inputs: [],
1323
+ name: 'getPoolKey',
1324
+ outputs: [
1325
+ {
1326
+ name: '',
1327
+ internalType: 'struct PoolKey',
1328
+ type: 'tuple',
1329
+ components: [
1330
+ { name: 'currency0', internalType: 'Currency', type: 'address' },
1331
+ { name: 'currency1', internalType: 'Currency', type: 'address' },
1332
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1333
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
1334
+ { name: 'hooks', internalType: 'contract IHooks', type: 'address' },
1335
+ ],
1336
+ },
1337
+ ],
1338
+ stateMutability: 'view',
1339
+ },
1340
+ {
1341
+ type: 'function',
1342
+ inputs: [],
1343
+ name: 'hooks',
1344
+ outputs: [{ name: '', internalType: 'contract IHooks', type: 'address' }],
1345
+ stateMutability: 'view',
1346
+ },
1347
+ {
1348
+ type: 'function',
1349
+ inputs: [
1350
+ { name: 'payoutRecipient_', internalType: 'address', type: 'address' },
1351
+ { name: 'owners_', internalType: 'address[]', type: 'address[]' },
1352
+ { name: 'tokenURI_', internalType: 'string', type: 'string' },
1353
+ { name: 'name_', internalType: 'string', type: 'string' },
1354
+ { name: 'symbol_', internalType: 'string', type: 'string' },
1355
+ { name: 'platformReferrer_', internalType: 'address', type: 'address' },
1356
+ { name: 'currency_', internalType: 'address', type: 'address' },
1357
+ {
1358
+ name: 'poolKey_',
1359
+ internalType: 'struct PoolKey',
1360
+ type: 'tuple',
1361
+ components: [
1362
+ { name: 'currency0', internalType: 'Currency', type: 'address' },
1363
+ { name: 'currency1', internalType: 'Currency', type: 'address' },
1364
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1365
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
1366
+ { name: 'hooks', internalType: 'contract IHooks', type: 'address' },
1367
+ ],
1368
+ },
1369
+ { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
1370
+ {
1371
+ name: 'poolConfiguration_',
1372
+ internalType: 'struct PoolConfiguration',
1373
+ type: 'tuple',
1374
+ components: [
1375
+ { name: 'version', internalType: 'uint8', type: 'uint8' },
1376
+ { name: 'numPositions', internalType: 'uint16', type: 'uint16' },
1377
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1378
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
1379
+ {
1380
+ name: 'numDiscoveryPositions',
1381
+ internalType: 'uint16[]',
1382
+ type: 'uint16[]',
1383
+ },
1384
+ { name: 'tickLower', internalType: 'int24[]', type: 'int24[]' },
1385
+ { name: 'tickUpper', internalType: 'int24[]', type: 'int24[]' },
1386
+ {
1387
+ name: 'maxDiscoverySupplyShare',
1388
+ internalType: 'uint256[]',
1389
+ type: 'uint256[]',
1390
+ },
1391
+ ],
1392
+ },
1393
+ ],
1394
+ name: 'initialize',
1395
+ outputs: [],
1396
+ stateMutability: 'nonpayable',
1397
+ },
1398
+ {
1399
+ type: 'function',
1400
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
1401
+ name: 'isOwner',
1402
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1403
+ stateMutability: 'view',
1404
+ },
1405
+ {
1406
+ type: 'function',
1407
+ inputs: [],
1408
+ name: 'name',
1409
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
1410
+ stateMutability: 'view',
1411
+ },
1412
+ {
1413
+ type: 'function',
1414
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
1415
+ name: 'nonces',
1416
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1417
+ stateMutability: 'view',
1418
+ },
1419
+ {
1420
+ type: 'function',
1421
+ inputs: [],
1422
+ name: 'owners',
1423
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
1424
+ stateMutability: 'view',
1425
+ },
1426
+ {
1427
+ type: 'function',
1428
+ inputs: [],
1429
+ name: 'payoutRecipient',
1430
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1431
+ stateMutability: 'view',
1432
+ },
1433
+ {
1434
+ type: 'function',
1435
+ inputs: [
1436
+ { name: 'owner', internalType: 'address', type: 'address' },
1437
+ { name: 'spender', internalType: 'address', type: 'address' },
1438
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1439
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
1440
+ { name: 'v', internalType: 'uint8', type: 'uint8' },
1441
+ { name: 'r', internalType: 'bytes32', type: 'bytes32' },
1442
+ { name: 's', internalType: 'bytes32', type: 'bytes32' },
1443
+ ],
1444
+ name: 'permit',
1445
+ outputs: [],
1446
+ stateMutability: 'nonpayable',
1447
+ },
1448
+ {
1449
+ type: 'function',
1450
+ inputs: [],
1451
+ name: 'platformReferrer',
1452
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1453
+ stateMutability: 'view',
1454
+ },
1455
+ {
1456
+ type: 'function',
1457
+ inputs: [],
1458
+ name: 'poolManager',
1459
+ outputs: [
1460
+ { name: '', internalType: 'contract IPoolManager', type: 'address' },
1461
+ ],
1462
+ stateMutability: 'view',
1463
+ },
1464
+ {
1465
+ type: 'function',
1466
+ inputs: [],
1467
+ name: 'protocolRewardRecipient',
1468
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1469
+ stateMutability: 'view',
1470
+ },
1471
+ {
1472
+ type: 'function',
1473
+ inputs: [],
1474
+ name: 'protocolRewards',
1475
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1476
+ stateMutability: 'view',
1477
+ },
1478
+ {
1479
+ type: 'function',
1480
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
1481
+ name: 'removeOwner',
1482
+ outputs: [],
1483
+ stateMutability: 'nonpayable',
1484
+ },
1485
+ {
1486
+ type: 'function',
1487
+ inputs: [
1488
+ { name: 'accounts', internalType: 'address[]', type: 'address[]' },
1489
+ ],
1490
+ name: 'removeOwners',
1491
+ outputs: [],
1492
+ stateMutability: 'nonpayable',
1493
+ },
1494
+ {
1495
+ type: 'function',
1496
+ inputs: [],
1497
+ name: 'revokeOwnership',
1498
+ outputs: [],
1499
+ stateMutability: 'nonpayable',
1500
+ },
1501
+ {
1502
+ type: 'function',
1503
+ inputs: [{ name: 'newURI', internalType: 'string', type: 'string' }],
1504
+ name: 'setContractURI',
1505
+ outputs: [],
1506
+ stateMutability: 'nonpayable',
1507
+ },
1508
+ {
1509
+ type: 'function',
1510
+ inputs: [
1511
+ { name: 'newPayoutRecipient', internalType: 'address', type: 'address' },
1512
+ ],
1513
+ name: 'setPayoutRecipient',
1514
+ outputs: [],
1515
+ stateMutability: 'nonpayable',
1516
+ },
1517
+ {
1518
+ type: 'function',
1519
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
1520
+ name: 'supportsInterface',
1521
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1522
+ stateMutability: 'pure',
1523
+ },
1524
+ {
1525
+ type: 'function',
1526
+ inputs: [],
1527
+ name: 'symbol',
1528
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
1529
+ stateMutability: 'view',
1530
+ },
1531
+ {
1532
+ type: 'function',
1533
+ inputs: [],
1534
+ name: 'tokenURI',
1535
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
1536
+ stateMutability: 'view',
1537
+ },
1538
+ {
1539
+ type: 'function',
1540
+ inputs: [],
1541
+ name: 'totalSupply',
1542
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1543
+ stateMutability: 'view',
1544
+ },
1545
+ {
1546
+ type: 'function',
1547
+ inputs: [
1548
+ { name: 'to', internalType: 'address', type: 'address' },
1549
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1550
+ ],
1551
+ name: 'transfer',
1552
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1553
+ stateMutability: 'nonpayable',
1554
+ },
1555
+ {
1556
+ type: 'function',
1557
+ inputs: [
1558
+ { name: 'from', internalType: 'address', type: 'address' },
1559
+ { name: 'to', internalType: 'address', type: 'address' },
1560
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1561
+ ],
1562
+ name: 'transferFrom',
1563
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1564
+ stateMutability: 'nonpayable',
1565
+ },
1566
+ {
1567
+ type: 'event',
1568
+ anonymous: false,
1569
+ inputs: [
1570
+ {
1571
+ name: 'owner',
1572
+ internalType: 'address',
1573
+ type: 'address',
1574
+ indexed: true,
1575
+ },
1576
+ {
1577
+ name: 'spender',
1578
+ internalType: 'address',
1579
+ type: 'address',
1580
+ indexed: true,
1581
+ },
1582
+ {
1583
+ name: 'value',
1584
+ internalType: 'uint256',
1585
+ type: 'uint256',
1586
+ indexed: false,
1587
+ },
1588
+ ],
1589
+ name: 'Approval',
1590
+ },
1591
+ {
1592
+ type: 'event',
1593
+ anonymous: false,
1594
+ inputs: [
1595
+ {
1596
+ name: 'buyer',
1597
+ internalType: 'address',
1598
+ type: 'address',
1599
+ indexed: true,
1600
+ },
1601
+ {
1602
+ name: 'recipient',
1603
+ internalType: 'address',
1604
+ type: 'address',
1605
+ indexed: true,
1606
+ },
1607
+ {
1608
+ name: 'tradeReferrer',
1609
+ internalType: 'address',
1610
+ type: 'address',
1611
+ indexed: true,
1612
+ },
1613
+ {
1614
+ name: 'coinsPurchased',
1615
+ internalType: 'uint256',
1616
+ type: 'uint256',
1617
+ indexed: false,
1618
+ },
1619
+ {
1620
+ name: 'currency',
1621
+ internalType: 'address',
1622
+ type: 'address',
1623
+ indexed: false,
1624
+ },
1625
+ {
1626
+ name: 'amountFee',
1627
+ internalType: 'uint256',
1628
+ type: 'uint256',
1629
+ indexed: false,
1630
+ },
1631
+ {
1632
+ name: 'amountSold',
1633
+ internalType: 'uint256',
1634
+ type: 'uint256',
1635
+ indexed: false,
1636
+ },
1637
+ ],
1638
+ name: 'CoinBuy',
1639
+ },
1640
+ {
1641
+ type: 'event',
1642
+ anonymous: false,
1643
+ inputs: [
1644
+ {
1645
+ name: 'payoutRecipient',
1646
+ internalType: 'address',
1647
+ type: 'address',
1648
+ indexed: true,
1649
+ },
1650
+ {
1651
+ name: 'platformReferrer',
1652
+ internalType: 'address',
1653
+ type: 'address',
1654
+ indexed: true,
1655
+ },
1656
+ {
1657
+ name: 'protocolRewardRecipient',
1658
+ internalType: 'address',
1659
+ type: 'address',
1660
+ indexed: false,
1661
+ },
1662
+ {
1663
+ name: 'currency',
1664
+ internalType: 'address',
1665
+ type: 'address',
1666
+ indexed: false,
1667
+ },
1668
+ {
1669
+ name: 'marketRewards',
1670
+ internalType: 'struct ICoin.MarketRewards',
1671
+ type: 'tuple',
1672
+ components: [
1673
+ {
1674
+ name: 'totalAmountCurrency',
1675
+ internalType: 'uint256',
1676
+ type: 'uint256',
1677
+ },
1678
+ { name: 'totalAmountCoin', internalType: 'uint256', type: 'uint256' },
1679
+ {
1680
+ name: 'creatorPayoutAmountCurrency',
1681
+ internalType: 'uint256',
1682
+ type: 'uint256',
1683
+ },
1684
+ {
1685
+ name: 'creatorPayoutAmountCoin',
1686
+ internalType: 'uint256',
1687
+ type: 'uint256',
1688
+ },
1689
+ {
1690
+ name: 'platformReferrerAmountCurrency',
1691
+ internalType: 'uint256',
1692
+ type: 'uint256',
1693
+ },
1694
+ {
1695
+ name: 'platformReferrerAmountCoin',
1696
+ internalType: 'uint256',
1697
+ type: 'uint256',
1698
+ },
1699
+ {
1700
+ name: 'protocolAmountCurrency',
1701
+ internalType: 'uint256',
1702
+ type: 'uint256',
1703
+ },
1704
+ {
1705
+ name: 'protocolAmountCoin',
1706
+ internalType: 'uint256',
1707
+ type: 'uint256',
1708
+ },
1709
+ ],
1710
+ indexed: false,
1711
+ },
1712
+ ],
1713
+ name: 'CoinMarketRewards',
1714
+ },
1715
+ {
1716
+ type: 'event',
1717
+ anonymous: false,
1718
+ inputs: [
1719
+ {
1720
+ name: 'caller',
1721
+ internalType: 'address',
1722
+ type: 'address',
1723
+ indexed: true,
1724
+ },
1725
+ {
1726
+ name: 'prevRecipient',
1727
+ internalType: 'address',
1728
+ type: 'address',
1729
+ indexed: true,
1730
+ },
1731
+ {
1732
+ name: 'newRecipient',
1733
+ internalType: 'address',
1734
+ type: 'address',
1735
+ indexed: true,
1736
+ },
1737
+ ],
1738
+ name: 'CoinPayoutRecipientUpdated',
1739
+ },
1740
+ {
1741
+ type: 'event',
1742
+ anonymous: false,
1743
+ inputs: [
1744
+ {
1745
+ name: 'seller',
1746
+ internalType: 'address',
1747
+ type: 'address',
1748
+ indexed: true,
1749
+ },
1750
+ {
1751
+ name: 'recipient',
1752
+ internalType: 'address',
1753
+ type: 'address',
1754
+ indexed: true,
1755
+ },
1756
+ {
1757
+ name: 'tradeReferrer',
1758
+ internalType: 'address',
1759
+ type: 'address',
1760
+ indexed: true,
1761
+ },
1762
+ {
1763
+ name: 'coinsSold',
1764
+ internalType: 'uint256',
1765
+ type: 'uint256',
1766
+ indexed: false,
1767
+ },
1768
+ {
1769
+ name: 'currency',
1770
+ internalType: 'address',
1771
+ type: 'address',
1772
+ indexed: false,
1773
+ },
1774
+ {
1775
+ name: 'amountFee',
1776
+ internalType: 'uint256',
1777
+ type: 'uint256',
1778
+ indexed: false,
1779
+ },
1780
+ {
1781
+ name: 'amountPurchased',
1782
+ internalType: 'uint256',
1783
+ type: 'uint256',
1784
+ indexed: false,
1785
+ },
1786
+ ],
1787
+ name: 'CoinSell',
1788
+ },
1789
+ {
1790
+ type: 'event',
1791
+ anonymous: false,
1792
+ inputs: [
1793
+ {
1794
+ name: 'payoutRecipient',
1795
+ internalType: 'address',
1796
+ type: 'address',
1797
+ indexed: true,
1798
+ },
1799
+ {
1800
+ name: 'platformReferrer',
1801
+ internalType: 'address',
1802
+ type: 'address',
1803
+ indexed: true,
1804
+ },
1805
+ {
1806
+ name: 'tradeReferrer',
1807
+ internalType: 'address',
1808
+ type: 'address',
1809
+ indexed: true,
1810
+ },
1811
+ {
1812
+ name: 'protocolRewardRecipient',
1813
+ internalType: 'address',
1814
+ type: 'address',
1815
+ indexed: false,
1816
+ },
1817
+ {
1818
+ name: 'creatorReward',
1819
+ internalType: 'uint256',
1820
+ type: 'uint256',
1821
+ indexed: false,
1822
+ },
1823
+ {
1824
+ name: 'platformReferrerReward',
1825
+ internalType: 'uint256',
1826
+ type: 'uint256',
1827
+ indexed: false,
1828
+ },
1829
+ {
1830
+ name: 'traderReferrerReward',
1831
+ internalType: 'uint256',
1832
+ type: 'uint256',
1833
+ indexed: false,
1834
+ },
1835
+ {
1836
+ name: 'protocolReward',
1837
+ internalType: 'uint256',
1838
+ type: 'uint256',
1839
+ indexed: false,
1840
+ },
1841
+ {
1842
+ name: 'currency',
1843
+ internalType: 'address',
1844
+ type: 'address',
1845
+ indexed: false,
1846
+ },
1847
+ ],
1848
+ name: 'CoinTradeRewards',
1849
+ },
1850
+ {
1851
+ type: 'event',
1852
+ anonymous: false,
1853
+ inputs: [
1854
+ {
1855
+ name: 'sender',
1856
+ internalType: 'address',
1857
+ type: 'address',
1858
+ indexed: true,
1859
+ },
1860
+ {
1861
+ name: 'recipient',
1862
+ internalType: 'address',
1863
+ type: 'address',
1864
+ indexed: true,
1865
+ },
1866
+ {
1867
+ name: 'amount',
1868
+ internalType: 'uint256',
1869
+ type: 'uint256',
1870
+ indexed: false,
1871
+ },
1872
+ {
1873
+ name: 'senderBalance',
1874
+ internalType: 'uint256',
1875
+ type: 'uint256',
1876
+ indexed: false,
1877
+ },
1878
+ {
1879
+ name: 'recipientBalance',
1880
+ internalType: 'uint256',
1881
+ type: 'uint256',
1882
+ indexed: false,
1883
+ },
1884
+ ],
1885
+ name: 'CoinTransfer',
1886
+ },
1887
+ {
1888
+ type: 'event',
1889
+ anonymous: false,
1890
+ inputs: [
1891
+ {
1892
+ name: 'caller',
1893
+ internalType: 'address',
1894
+ type: 'address',
1895
+ indexed: true,
1896
+ },
1897
+ {
1898
+ name: 'newURI',
1899
+ internalType: 'string',
1900
+ type: 'string',
1901
+ indexed: false,
1902
+ },
1903
+ { name: 'name', internalType: 'string', type: 'string', indexed: false },
1904
+ ],
1905
+ name: 'ContractMetadataUpdated',
1906
+ },
1907
+ { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },
1908
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
1909
+ {
1910
+ type: 'event',
1911
+ anonymous: false,
1912
+ inputs: [
1913
+ {
1914
+ name: 'version',
1915
+ internalType: 'uint64',
1916
+ type: 'uint64',
1917
+ indexed: false,
1918
+ },
1919
+ ],
1920
+ name: 'Initialized',
1921
+ },
1922
+ {
1923
+ type: 'event',
1924
+ anonymous: false,
1925
+ inputs: [
1926
+ {
1927
+ name: 'caller',
1928
+ internalType: 'address',
1929
+ type: 'address',
1930
+ indexed: true,
1931
+ },
1932
+ {
1933
+ name: 'prevOwner',
1934
+ internalType: 'address',
1935
+ type: 'address',
1936
+ indexed: true,
1937
+ },
1938
+ {
1939
+ name: 'newOwner',
1940
+ internalType: 'address',
1941
+ type: 'address',
1942
+ indexed: true,
1943
+ },
1944
+ ],
1945
+ name: 'OwnerUpdated',
1946
+ },
1947
+ {
1948
+ type: 'event',
1949
+ anonymous: false,
1950
+ inputs: [
1951
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
1952
+ { name: 'to', internalType: 'address', type: 'address', indexed: true },
1953
+ {
1954
+ name: 'value',
1955
+ internalType: 'uint256',
1956
+ type: 'uint256',
1957
+ indexed: false,
1958
+ },
1959
+ ],
1960
+ name: 'Transfer',
1961
+ },
1962
+ { type: 'error', inputs: [], name: 'AddressZero' },
1963
+ { type: 'error', inputs: [], name: 'AlreadyOwner' },
1964
+ { type: 'error', inputs: [], name: 'CannotMintZeroLiquidity' },
1965
+ {
1966
+ type: 'error',
1967
+ inputs: [],
1968
+ name: 'DopplerPoolMustHaveMoreThan2DiscoveryPositions',
1969
+ },
1970
+ { type: 'error', inputs: [], name: 'ECDSAInvalidSignature' },
1971
+ {
1972
+ type: 'error',
1973
+ inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
1974
+ name: 'ECDSAInvalidSignatureLength',
1975
+ },
1976
+ {
1977
+ type: 'error',
1978
+ inputs: [{ name: 's', internalType: 'bytes32', type: 'bytes32' }],
1979
+ name: 'ECDSAInvalidSignatureS',
1980
+ },
1981
+ {
1982
+ type: 'error',
1983
+ inputs: [
1984
+ { name: 'spender', internalType: 'address', type: 'address' },
1985
+ { name: 'allowance', internalType: 'uint256', type: 'uint256' },
1986
+ { name: 'needed', internalType: 'uint256', type: 'uint256' },
1987
+ ],
1988
+ name: 'ERC20InsufficientAllowance',
1989
+ },
1990
+ {
1991
+ type: 'error',
1992
+ inputs: [
1993
+ { name: 'sender', internalType: 'address', type: 'address' },
1994
+ { name: 'balance', internalType: 'uint256', type: 'uint256' },
1995
+ { name: 'needed', internalType: 'uint256', type: 'uint256' },
1996
+ ],
1997
+ name: 'ERC20InsufficientBalance',
1998
+ },
1999
+ {
2000
+ type: 'error',
2001
+ inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],
2002
+ name: 'ERC20InvalidApprover',
2003
+ },
2004
+ {
2005
+ type: 'error',
2006
+ inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],
2007
+ name: 'ERC20InvalidReceiver',
2008
+ },
2009
+ {
2010
+ type: 'error',
2011
+ inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],
2012
+ name: 'ERC20InvalidSender',
2013
+ },
2014
+ {
2015
+ type: 'error',
2016
+ inputs: [{ name: 'spender', internalType: 'address', type: 'address' }],
2017
+ name: 'ERC20InvalidSpender',
2018
+ },
2019
+ { type: 'error', inputs: [], name: 'ERC20TransferAmountMismatch' },
2020
+ {
2021
+ type: 'error',
2022
+ inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],
2023
+ name: 'ERC2612ExpiredSignature',
2024
+ },
2025
+ {
2026
+ type: 'error',
2027
+ inputs: [
2028
+ { name: 'signer', internalType: 'address', type: 'address' },
2029
+ { name: 'owner', internalType: 'address', type: 'address' },
2030
+ ],
2031
+ name: 'ERC2612InvalidSigner',
2032
+ },
2033
+ { type: 'error', inputs: [], name: 'EthAmountMismatch' },
2034
+ { type: 'error', inputs: [], name: 'EthAmountTooSmall' },
2035
+ { type: 'error', inputs: [], name: 'EthTransferFailed' },
2036
+ { type: 'error', inputs: [], name: 'EthTransferInvalid' },
2037
+ { type: 'error', inputs: [], name: 'InitialOrderSizeTooLarge' },
2038
+ { type: 'error', inputs: [], name: 'InsufficientFunds' },
2039
+ { type: 'error', inputs: [], name: 'InsufficientLiquidity' },
2040
+ {
2041
+ type: 'error',
2042
+ inputs: [
2043
+ { name: 'account', internalType: 'address', type: 'address' },
2044
+ { name: 'currentNonce', internalType: 'uint256', type: 'uint256' },
2045
+ ],
2046
+ name: 'InvalidAccountNonce',
2047
+ },
2048
+ { type: 'error', inputs: [], name: 'InvalidCurrencyLowerTick' },
2049
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2050
+ { type: 'error', inputs: [], name: 'InvalidMarketType' },
2051
+ { type: 'error', inputs: [], name: 'InvalidPoolVersion' },
2052
+ {
2053
+ type: 'error',
2054
+ inputs: [
2055
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
2056
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
2057
+ ],
2058
+ name: 'InvalidTickRangeMisordered',
2059
+ },
2060
+ { type: 'error', inputs: [], name: 'InvalidWethLowerTick' },
2061
+ { type: 'error', inputs: [], name: 'LegacyPoolMustHaveOneDiscoveryPosition' },
2062
+ { type: 'error', inputs: [], name: 'MarketAlreadyGraduated' },
2063
+ { type: 'error', inputs: [], name: 'MarketNotGraduated' },
2064
+ {
2065
+ type: 'error',
2066
+ inputs: [
2067
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
2068
+ { name: 'limit', internalType: 'uint256', type: 'uint256' },
2069
+ ],
2070
+ name: 'MaxShareToBeSoldExceeded',
2071
+ },
2072
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2073
+ { type: 'error', inputs: [], name: 'NotOwner' },
2074
+ { type: 'error', inputs: [], name: 'NumDiscoveryPositionsOutOfRange' },
2075
+ { type: 'error', inputs: [], name: 'OneOwnerRequired' },
2076
+ { type: 'error', inputs: [], name: 'OnlyOwner' },
2077
+ {
2078
+ type: 'error',
2079
+ inputs: [
2080
+ { name: 'sender', internalType: 'address', type: 'address' },
2081
+ { name: 'pool', internalType: 'address', type: 'address' },
2082
+ ],
2083
+ name: 'OnlyPool',
2084
+ },
2085
+ { type: 'error', inputs: [], name: 'OnlyWeth' },
2086
+ { type: 'error', inputs: [], name: 'OwnerCannotBeAddressZero' },
2087
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
2088
+ { type: 'error', inputs: [], name: 'SlippageBoundsExceeded' },
2089
+ { type: 'error', inputs: [], name: 'UseRevokeOwnershipToRemoveSelf' },
2090
+ ] as const
2091
+
2092
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2093
+ // IPermit2
2094
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2095
+
2096
+ export const iPermit2ABI = [
2097
+ {
2098
+ type: 'function',
2099
+ inputs: [],
2100
+ name: 'DOMAIN_SEPARATOR',
2101
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2102
+ stateMutability: 'view',
2103
+ },
2104
+ {
2105
+ type: 'function',
2106
+ inputs: [
2107
+ { name: 'user', internalType: 'address', type: 'address' },
2108
+ { name: 'token', internalType: 'address', type: 'address' },
2109
+ { name: 'spender', internalType: 'address', type: 'address' },
2110
+ ],
2111
+ name: 'allowance',
2112
+ outputs: [
2113
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2114
+ { name: 'expiration', internalType: 'uint48', type: 'uint48' },
2115
+ { name: 'nonce', internalType: 'uint48', type: 'uint48' },
2116
+ ],
2117
+ stateMutability: 'view',
2118
+ },
2119
+ {
2120
+ type: 'function',
2121
+ inputs: [
2122
+ { name: 'token', internalType: 'address', type: 'address' },
2123
+ { name: 'spender', internalType: 'address', type: 'address' },
2124
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2125
+ { name: 'expiration', internalType: 'uint48', type: 'uint48' },
2126
+ ],
2127
+ name: 'approve',
2128
+ outputs: [],
2129
+ stateMutability: 'nonpayable',
2130
+ },
2131
+ {
2132
+ type: 'function',
2133
+ inputs: [
2134
+ { name: 'token', internalType: 'address', type: 'address' },
2135
+ { name: 'spender', internalType: 'address', type: 'address' },
2136
+ { name: 'newNonce', internalType: 'uint48', type: 'uint48' },
2137
+ ],
2138
+ name: 'invalidateNonces',
2139
+ outputs: [],
2140
+ stateMutability: 'nonpayable',
2141
+ },
2142
+ {
2143
+ type: 'function',
2144
+ inputs: [
2145
+ { name: 'wordPos', internalType: 'uint256', type: 'uint256' },
2146
+ { name: 'mask', internalType: 'uint256', type: 'uint256' },
2147
+ ],
2148
+ name: 'invalidateUnorderedNonces',
2149
+ outputs: [],
2150
+ stateMutability: 'nonpayable',
2151
+ },
2152
+ {
2153
+ type: 'function',
2154
+ inputs: [
2155
+ {
2156
+ name: 'approvals',
2157
+ internalType: 'struct IAllowanceTransfer.TokenSpenderPair[]',
2158
+ type: 'tuple[]',
2159
+ components: [
2160
+ { name: 'token', internalType: 'address', type: 'address' },
2161
+ { name: 'spender', internalType: 'address', type: 'address' },
2162
+ ],
2163
+ },
2164
+ ],
2165
+ name: 'lockdown',
2166
+ outputs: [],
2167
+ stateMutability: 'nonpayable',
2168
+ },
2169
+ {
2170
+ type: 'function',
2171
+ inputs: [
2172
+ { name: '', internalType: 'address', type: 'address' },
2173
+ { name: '', internalType: 'uint256', type: 'uint256' },
2174
+ ],
2175
+ name: 'nonceBitmap',
2176
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
2177
+ stateMutability: 'view',
2178
+ },
2179
+ {
2180
+ type: 'function',
2181
+ inputs: [
2182
+ { name: 'owner', internalType: 'address', type: 'address' },
2183
+ {
2184
+ name: 'permitBatch',
2185
+ internalType: 'struct IAllowanceTransfer.PermitBatch',
2186
+ type: 'tuple',
2187
+ components: [
2188
+ {
2189
+ name: 'details',
2190
+ internalType: 'struct IAllowanceTransfer.PermitDetails[]',
2191
+ type: 'tuple[]',
2192
+ components: [
2193
+ { name: 'token', internalType: 'address', type: 'address' },
2194
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2195
+ { name: 'expiration', internalType: 'uint48', type: 'uint48' },
2196
+ { name: 'nonce', internalType: 'uint48', type: 'uint48' },
2197
+ ],
2198
+ },
2199
+ { name: 'spender', internalType: 'address', type: 'address' },
2200
+ { name: 'sigDeadline', internalType: 'uint256', type: 'uint256' },
2201
+ ],
2202
+ },
2203
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2204
+ ],
2205
+ name: 'permit',
2206
+ outputs: [],
2207
+ stateMutability: 'nonpayable',
2208
+ },
2209
+ {
2210
+ type: 'function',
2211
+ inputs: [
2212
+ { name: 'owner', internalType: 'address', type: 'address' },
2213
+ {
2214
+ name: 'permitSingle',
2215
+ internalType: 'struct IAllowanceTransfer.PermitSingle',
2216
+ type: 'tuple',
2217
+ components: [
2218
+ {
2219
+ name: 'details',
2220
+ internalType: 'struct IAllowanceTransfer.PermitDetails',
2221
+ type: 'tuple',
2222
+ components: [
2223
+ { name: 'token', internalType: 'address', type: 'address' },
2224
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2225
+ { name: 'expiration', internalType: 'uint48', type: 'uint48' },
2226
+ { name: 'nonce', internalType: 'uint48', type: 'uint48' },
2227
+ ],
2228
+ },
2229
+ { name: 'spender', internalType: 'address', type: 'address' },
2230
+ { name: 'sigDeadline', internalType: 'uint256', type: 'uint256' },
2231
+ ],
2232
+ },
2233
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2234
+ ],
2235
+ name: 'permit',
2236
+ outputs: [],
2237
+ stateMutability: 'nonpayable',
2238
+ },
2239
+ {
2240
+ type: 'function',
2241
+ inputs: [
2242
+ {
2243
+ name: 'permit',
2244
+ internalType: 'struct ISignatureTransfer.PermitTransferFrom',
2245
+ type: 'tuple',
2246
+ components: [
2247
+ {
2248
+ name: 'permitted',
2249
+ internalType: 'struct ISignatureTransfer.TokenPermissions',
2250
+ type: 'tuple',
2251
+ components: [
2252
+ { name: 'token', internalType: 'address', type: 'address' },
2253
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2254
+ ],
2255
+ },
2256
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2257
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
2258
+ ],
2259
+ },
2260
+ {
2261
+ name: 'transferDetails',
2262
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails',
2263
+ type: 'tuple',
2264
+ components: [
2265
+ { name: 'to', internalType: 'address', type: 'address' },
2266
+ { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },
2267
+ ],
2268
+ },
2269
+ { name: 'owner', internalType: 'address', type: 'address' },
2270
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2271
+ ],
2272
+ name: 'permitTransferFrom',
2273
+ outputs: [],
2274
+ stateMutability: 'nonpayable',
2275
+ },
2276
+ {
2277
+ type: 'function',
2278
+ inputs: [
2279
+ {
2280
+ name: 'permit',
2281
+ internalType: 'struct ISignatureTransfer.PermitBatchTransferFrom',
2282
+ type: 'tuple',
2283
+ components: [
2284
+ {
2285
+ name: 'permitted',
2286
+ internalType: 'struct ISignatureTransfer.TokenPermissions[]',
2287
+ type: 'tuple[]',
2288
+ components: [
2289
+ { name: 'token', internalType: 'address', type: 'address' },
2290
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2291
+ ],
2292
+ },
2293
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2294
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
2295
+ ],
2296
+ },
2297
+ {
2298
+ name: 'transferDetails',
2299
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails[]',
2300
+ type: 'tuple[]',
2301
+ components: [
2302
+ { name: 'to', internalType: 'address', type: 'address' },
2303
+ { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },
2304
+ ],
2305
+ },
2306
+ { name: 'owner', internalType: 'address', type: 'address' },
2307
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2308
+ ],
2309
+ name: 'permitTransferFrom',
2310
+ outputs: [],
2311
+ stateMutability: 'nonpayable',
2312
+ },
2313
+ {
2314
+ type: 'function',
2315
+ inputs: [
2316
+ {
2317
+ name: 'permit',
2318
+ internalType: 'struct ISignatureTransfer.PermitTransferFrom',
2319
+ type: 'tuple',
2320
+ components: [
2321
+ {
2322
+ name: 'permitted',
2323
+ internalType: 'struct ISignatureTransfer.TokenPermissions',
2324
+ type: 'tuple',
2325
+ components: [
2326
+ { name: 'token', internalType: 'address', type: 'address' },
2327
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2328
+ ],
2329
+ },
2330
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2331
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
2332
+ ],
2333
+ },
2334
+ {
2335
+ name: 'transferDetails',
2336
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails',
2337
+ type: 'tuple',
2338
+ components: [
2339
+ { name: 'to', internalType: 'address', type: 'address' },
2340
+ { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },
2341
+ ],
2342
+ },
2343
+ { name: 'owner', internalType: 'address', type: 'address' },
2344
+ { name: 'witness', internalType: 'bytes32', type: 'bytes32' },
2345
+ { name: 'witnessTypeString', internalType: 'string', type: 'string' },
2346
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2347
+ ],
2348
+ name: 'permitWitnessTransferFrom',
2349
+ outputs: [],
2350
+ stateMutability: 'nonpayable',
2351
+ },
2352
+ {
2353
+ type: 'function',
2354
+ inputs: [
2355
+ {
2356
+ name: 'permit',
2357
+ internalType: 'struct ISignatureTransfer.PermitBatchTransferFrom',
2358
+ type: 'tuple',
2359
+ components: [
2360
+ {
2361
+ name: 'permitted',
2362
+ internalType: 'struct ISignatureTransfer.TokenPermissions[]',
2363
+ type: 'tuple[]',
2364
+ components: [
2365
+ { name: 'token', internalType: 'address', type: 'address' },
2366
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
2367
+ ],
2368
+ },
2369
+ { name: 'nonce', internalType: 'uint256', type: 'uint256' },
2370
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
2371
+ ],
2372
+ },
2373
+ {
2374
+ name: 'transferDetails',
2375
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails[]',
2376
+ type: 'tuple[]',
2377
+ components: [
2378
+ { name: 'to', internalType: 'address', type: 'address' },
2379
+ { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },
2380
+ ],
2381
+ },
2382
+ { name: 'owner', internalType: 'address', type: 'address' },
2383
+ { name: 'witness', internalType: 'bytes32', type: 'bytes32' },
2384
+ { name: 'witnessTypeString', internalType: 'string', type: 'string' },
2385
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
2386
+ ],
2387
+ name: 'permitWitnessTransferFrom',
2388
+ outputs: [],
2389
+ stateMutability: 'nonpayable',
2390
+ },
2391
+ {
2392
+ type: 'function',
2393
+ inputs: [
2394
+ {
2395
+ name: 'transferDetails',
2396
+ internalType: 'struct IAllowanceTransfer.AllowanceTransferDetails[]',
2397
+ type: 'tuple[]',
2398
+ components: [
2399
+ { name: 'from', internalType: 'address', type: 'address' },
2400
+ { name: 'to', internalType: 'address', type: 'address' },
2401
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2402
+ { name: 'token', internalType: 'address', type: 'address' },
2403
+ ],
2404
+ },
2405
+ ],
2406
+ name: 'transferFrom',
2407
+ outputs: [],
2408
+ stateMutability: 'nonpayable',
2409
+ },
2410
+ {
2411
+ type: 'function',
2412
+ inputs: [
2413
+ { name: 'from', internalType: 'address', type: 'address' },
2414
+ { name: 'to', internalType: 'address', type: 'address' },
2415
+ { name: 'amount', internalType: 'uint160', type: 'uint160' },
2416
+ { name: 'token', internalType: 'address', type: 'address' },
2417
+ ],
2418
+ name: 'transferFrom',
2419
+ outputs: [],
2420
+ stateMutability: 'nonpayable',
2421
+ },
2422
+ {
2423
+ type: 'event',
2424
+ anonymous: false,
2425
+ inputs: [
2426
+ {
2427
+ name: 'owner',
2428
+ internalType: 'address',
2429
+ type: 'address',
2430
+ indexed: true,
2431
+ },
2432
+ {
2433
+ name: 'token',
2434
+ internalType: 'address',
2435
+ type: 'address',
2436
+ indexed: true,
2437
+ },
2438
+ {
2439
+ name: 'spender',
2440
+ internalType: 'address',
2441
+ type: 'address',
2442
+ indexed: true,
2443
+ },
2444
+ {
2445
+ name: 'amount',
2446
+ internalType: 'uint160',
2447
+ type: 'uint160',
2448
+ indexed: false,
2449
+ },
2450
+ {
2451
+ name: 'expiration',
2452
+ internalType: 'uint48',
2453
+ type: 'uint48',
2454
+ indexed: false,
2455
+ },
2456
+ ],
2457
+ name: 'Approval',
2458
+ },
2459
+ {
2460
+ type: 'event',
2461
+ anonymous: false,
2462
+ inputs: [
2463
+ {
2464
+ name: 'owner',
2465
+ internalType: 'address',
2466
+ type: 'address',
2467
+ indexed: true,
2468
+ },
2469
+ {
2470
+ name: 'token',
2471
+ internalType: 'address',
2472
+ type: 'address',
2473
+ indexed: false,
2474
+ },
2475
+ {
2476
+ name: 'spender',
2477
+ internalType: 'address',
2478
+ type: 'address',
2479
+ indexed: false,
2480
+ },
2481
+ ],
2482
+ name: 'Lockdown',
2483
+ },
2484
+ {
2485
+ type: 'event',
2486
+ anonymous: false,
2487
+ inputs: [
2488
+ {
2489
+ name: 'owner',
2490
+ internalType: 'address',
2491
+ type: 'address',
2492
+ indexed: true,
2493
+ },
2494
+ {
2495
+ name: 'token',
2496
+ internalType: 'address',
2497
+ type: 'address',
2498
+ indexed: true,
2499
+ },
2500
+ {
2501
+ name: 'spender',
2502
+ internalType: 'address',
2503
+ type: 'address',
2504
+ indexed: true,
2505
+ },
2506
+ {
2507
+ name: 'newNonce',
2508
+ internalType: 'uint48',
2509
+ type: 'uint48',
2510
+ indexed: false,
2511
+ },
2512
+ {
2513
+ name: 'oldNonce',
2514
+ internalType: 'uint48',
2515
+ type: 'uint48',
2516
+ indexed: false,
2517
+ },
2518
+ ],
2519
+ name: 'NonceInvalidation',
2520
+ },
2521
+ {
2522
+ type: 'event',
2523
+ anonymous: false,
2524
+ inputs: [
2525
+ {
2526
+ name: 'owner',
2527
+ internalType: 'address',
2528
+ type: 'address',
2529
+ indexed: true,
2530
+ },
2531
+ {
2532
+ name: 'token',
2533
+ internalType: 'address',
2534
+ type: 'address',
2535
+ indexed: true,
2536
+ },
2537
+ {
2538
+ name: 'spender',
2539
+ internalType: 'address',
2540
+ type: 'address',
2541
+ indexed: true,
2542
+ },
2543
+ {
2544
+ name: 'amount',
2545
+ internalType: 'uint160',
2546
+ type: 'uint160',
2547
+ indexed: false,
2548
+ },
2549
+ {
2550
+ name: 'expiration',
2551
+ internalType: 'uint48',
2552
+ type: 'uint48',
2553
+ indexed: false,
2554
+ },
2555
+ { name: 'nonce', internalType: 'uint48', type: 'uint48', indexed: false },
2556
+ ],
2557
+ name: 'Permit',
2558
+ },
2559
+ {
2560
+ type: 'event',
2561
+ anonymous: false,
2562
+ inputs: [
2563
+ {
2564
+ name: 'owner',
2565
+ internalType: 'address',
2566
+ type: 'address',
2567
+ indexed: true,
2568
+ },
2569
+ {
2570
+ name: 'word',
2571
+ internalType: 'uint256',
2572
+ type: 'uint256',
2573
+ indexed: false,
2574
+ },
2575
+ {
2576
+ name: 'mask',
2577
+ internalType: 'uint256',
2578
+ type: 'uint256',
2579
+ indexed: false,
2580
+ },
2581
+ ],
2582
+ name: 'UnorderedNonceInvalidation',
2583
+ },
2584
+ {
2585
+ type: 'error',
2586
+ inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],
2587
+ name: 'AllowanceExpired',
2588
+ },
2589
+ { type: 'error', inputs: [], name: 'ExcessiveInvalidation' },
2590
+ {
2591
+ type: 'error',
2592
+ inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
2593
+ name: 'InsufficientAllowance',
2594
+ },
2595
+ {
2596
+ type: 'error',
2597
+ inputs: [{ name: 'maxAmount', internalType: 'uint256', type: 'uint256' }],
2598
+ name: 'InvalidAmount',
2599
+ },
2600
+ { type: 'error', inputs: [], name: 'LengthMismatch' },
2601
+ ] as const
2602
+
2603
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2604
+ // IPoolConfigEncoding
2605
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2606
+
2607
+ export const iPoolConfigEncodingABI = [
2608
+ {
2609
+ type: 'function',
2610
+ inputs: [
2611
+ { name: 'version', internalType: 'uint8', type: 'uint8' },
2612
+ { name: 'currency', internalType: 'address', type: 'address' },
2613
+ { name: 'tickLower', internalType: 'int24[]', type: 'int24[]' },
2614
+ { name: 'tickUpper', internalType: 'int24[]', type: 'int24[]' },
2615
+ {
2616
+ name: 'numDiscoveryPositions',
2617
+ internalType: 'uint16[]',
2618
+ type: 'uint16[]',
2619
+ },
2620
+ {
2621
+ name: 'maxDiscoverySupplyShare',
2622
+ internalType: 'uint256[]',
2623
+ type: 'uint256[]',
2624
+ },
2625
+ ],
2626
+ name: 'encodeMultiCurvePoolConfig',
2627
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
2628
+ stateMutability: 'pure',
2629
+ },
2630
+ ] as const
2631
+
2632
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2633
+ // IUniswapV3Pool
2634
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2635
+
2636
+ export const iUniswapV3PoolABI = [
2637
+ {
2638
+ type: 'function',
2639
+ inputs: [
2640
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
2641
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
2642
+ { name: 'amount', internalType: 'uint128', type: 'uint128' },
2643
+ ],
2644
+ name: 'burn',
2645
+ outputs: [
2646
+ { name: 'amount0', internalType: 'uint256', type: 'uint256' },
2647
+ { name: 'amount1', internalType: 'uint256', type: 'uint256' },
2648
+ ],
2649
+ stateMutability: 'nonpayable',
2650
+ },
2651
+ {
2652
+ type: 'function',
2653
+ inputs: [
2654
+ { name: 'recipient', internalType: 'address', type: 'address' },
2655
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
2656
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
2657
+ { name: 'amount0Requested', internalType: 'uint128', type: 'uint128' },
2658
+ { name: 'amount1Requested', internalType: 'uint128', type: 'uint128' },
2659
+ ],
2660
+ name: 'collect',
2661
+ outputs: [
2662
+ { name: 'amount0', internalType: 'uint128', type: 'uint128' },
2663
+ { name: 'amount1', internalType: 'uint128', type: 'uint128' },
2664
+ ],
2665
+ stateMutability: 'nonpayable',
2666
+ },
2667
+ {
2668
+ type: 'function',
2669
+ inputs: [],
2670
+ name: 'feeGrowthGlobal0X128',
2671
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
2672
+ stateMutability: 'view',
2673
+ },
2674
+ {
2675
+ type: 'function',
2676
+ inputs: [],
2677
+ name: 'feeGrowthGlobal1X128',
2678
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
2679
+ stateMutability: 'view',
2680
+ },
2681
+ {
2682
+ type: 'function',
2683
+ inputs: [
2684
+ { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
2685
+ ],
2686
+ name: 'initialize',
2687
+ outputs: [],
2688
+ stateMutability: 'nonpayable',
2689
+ },
2690
+ {
2691
+ type: 'function',
2692
+ inputs: [
2693
+ { name: 'recipient', internalType: 'address', type: 'address' },
2694
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
2695
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
2696
+ { name: 'amount', internalType: 'uint128', type: 'uint128' },
2697
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2698
+ ],
2699
+ name: 'mint',
2700
+ outputs: [
2701
+ { name: 'amount0', internalType: 'uint256', type: 'uint256' },
2702
+ { name: 'amount1', internalType: 'uint256', type: 'uint256' },
2703
+ ],
2704
+ stateMutability: 'nonpayable',
2705
+ },
2706
+ {
2707
+ type: 'function',
2708
+ inputs: [],
2709
+ name: 'slot0',
2710
+ outputs: [
2711
+ {
2712
+ name: 'slot0',
2713
+ internalType: 'struct IUniswapV3Pool.Slot0',
2714
+ type: 'tuple',
2715
+ components: [
2716
+ { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },
2717
+ { name: 'tick', internalType: 'int24', type: 'int24' },
2718
+ { name: 'observationIndex', internalType: 'uint16', type: 'uint16' },
2719
+ {
2720
+ name: 'observationCardinality',
2721
+ internalType: 'uint16',
2722
+ type: 'uint16',
2723
+ },
2724
+ {
2725
+ name: 'observationCardinalityNext',
2726
+ internalType: 'uint16',
2727
+ type: 'uint16',
2728
+ },
2729
+ { name: 'feeProtocol', internalType: 'uint8', type: 'uint8' },
2730
+ { name: 'unlocked', internalType: 'bool', type: 'bool' },
2731
+ ],
2732
+ },
2733
+ ],
2734
+ stateMutability: 'view',
2735
+ },
2736
+ {
2737
+ type: 'function',
2738
+ inputs: [
2739
+ { name: 'recipient', internalType: 'address', type: 'address' },
2740
+ { name: 'zeroForOne', internalType: 'bool', type: 'bool' },
2741
+ { name: 'amountSpecified', internalType: 'int256', type: 'int256' },
2742
+ { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },
2743
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2744
+ ],
2745
+ name: 'swap',
2746
+ outputs: [
2747
+ { name: 'amount0', internalType: 'int256', type: 'int256' },
2748
+ { name: 'amount1', internalType: 'int256', type: 'int256' },
2749
+ ],
2750
+ stateMutability: 'nonpayable',
2751
+ },
2752
+ {
2753
+ type: 'function',
2754
+ inputs: [],
2755
+ name: 'token0',
2756
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2757
+ stateMutability: 'nonpayable',
2758
+ },
2759
+ {
2760
+ type: 'function',
2761
+ inputs: [],
2762
+ name: 'token1',
2763
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2764
+ stateMutability: 'nonpayable',
2765
+ },
2766
+ ] as const
2767
+
2768
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2769
+ // IUniversalRouter
2770
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2771
+
2772
+ export const iUniversalRouterABI = [
2773
+ {
2774
+ type: 'function',
2775
+ inputs: [
2776
+ { name: 'commands', internalType: 'bytes', type: 'bytes' },
2777
+ { name: 'inputs', internalType: 'bytes[]', type: 'bytes[]' },
2778
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
2779
+ ],
2780
+ name: 'execute',
2781
+ outputs: [],
2782
+ stateMutability: 'payable',
2783
+ },
2784
+ { type: 'error', inputs: [], name: 'ETHNotAccepted' },
2785
+ {
2786
+ type: 'error',
2787
+ inputs: [
2788
+ { name: 'commandIndex', internalType: 'uint256', type: 'uint256' },
2789
+ { name: 'message', internalType: 'bytes', type: 'bytes' },
2790
+ ],
2791
+ name: 'ExecutionFailed',
2792
+ },
2793
+ { type: 'error', inputs: [], name: 'InvalidEthSender' },
2794
+ { type: 'error', inputs: [], name: 'LengthMismatch' },
2795
+ { type: 'error', inputs: [], name: 'TransactionDeadlinePassed' },
2796
+ ] as const
2797
+
2798
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2799
+ // ZoraFactoryImpl
2800
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2801
+
2802
+ export const zoraFactoryImplABI = [
2803
+ {
2804
+ type: 'constructor',
2805
+ inputs: [
2806
+ { name: '_coinImpl', internalType: 'address', type: 'address' },
2807
+ { name: '_coinV4Impl', internalType: 'address', type: 'address' },
2808
+ ],
2809
+ stateMutability: 'nonpayable',
2810
+ },
2811
+ {
2812
+ type: 'function',
2813
+ inputs: [],
2814
+ name: 'UPGRADE_INTERFACE_VERSION',
2815
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2816
+ stateMutability: 'view',
2817
+ },
2818
+ {
2819
+ type: 'function',
2820
+ inputs: [
2821
+ { name: 'msgSender', internalType: 'address', type: 'address' },
2822
+ { name: 'name', internalType: 'string', type: 'string' },
2823
+ { name: 'symbol', internalType: 'string', type: 'string' },
2824
+ { name: 'poolConfig', internalType: 'bytes', type: 'bytes' },
2825
+ { name: 'platformReferrer', internalType: 'address', type: 'address' },
2826
+ { name: 'coinSalt', internalType: 'bytes32', type: 'bytes32' },
2827
+ ],
2828
+ name: 'coinAddress',
2829
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2830
+ stateMutability: 'view',
2831
+ },
2832
+ {
2833
+ type: 'function',
2834
+ inputs: [],
2835
+ name: 'coinImpl',
2836
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2837
+ stateMutability: 'view',
2838
+ },
2839
+ {
2840
+ type: 'function',
2841
+ inputs: [],
2842
+ name: 'coinV4Impl',
2843
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2844
+ stateMutability: 'view',
2845
+ },
2846
+ {
2847
+ type: 'function',
2848
+ inputs: [],
2849
+ name: 'contractName',
2850
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2851
+ stateMutability: 'pure',
2852
+ },
2853
+ {
2854
+ type: 'function',
2855
+ inputs: [],
2856
+ name: 'contractVersion',
2857
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2858
+ stateMutability: 'pure',
2859
+ },
2860
+ {
2861
+ type: 'function',
2862
+ inputs: [
2863
+ { name: 'payoutRecipient', internalType: 'address', type: 'address' },
2864
+ { name: 'owners', internalType: 'address[]', type: 'address[]' },
2865
+ { name: 'uri', internalType: 'string', type: 'string' },
2866
+ { name: 'name', internalType: 'string', type: 'string' },
2867
+ { name: 'symbol', internalType: 'string', type: 'string' },
2868
+ { name: 'platformReferrer', internalType: 'address', type: 'address' },
2869
+ { name: 'currency', internalType: 'address', type: 'address' },
2870
+ { name: '', internalType: 'int24', type: 'int24' },
2871
+ { name: 'orderSize', internalType: 'uint256', type: 'uint256' },
2872
+ ],
2873
+ name: 'deploy',
2874
+ outputs: [
2875
+ { name: '', internalType: 'address', type: 'address' },
2876
+ { name: '', internalType: 'uint256', type: 'uint256' },
2877
+ ],
2878
+ stateMutability: 'payable',
2879
+ },
2880
+ {
2881
+ type: 'function',
2882
+ inputs: [
2883
+ { name: 'payoutRecipient', internalType: 'address', type: 'address' },
2884
+ { name: 'owners', internalType: 'address[]', type: 'address[]' },
2885
+ { name: 'uri', internalType: 'string', type: 'string' },
2886
+ { name: 'name', internalType: 'string', type: 'string' },
2887
+ { name: 'symbol', internalType: 'string', type: 'string' },
2888
+ { name: 'poolConfig', internalType: 'bytes', type: 'bytes' },
2889
+ { name: 'platformReferrer', internalType: 'address', type: 'address' },
2890
+ { name: 'postDeployHook', internalType: 'address', type: 'address' },
2891
+ { name: 'postDeployHookData', internalType: 'bytes', type: 'bytes' },
2892
+ { name: 'coinSalt', internalType: 'bytes32', type: 'bytes32' },
2893
+ ],
2894
+ name: 'deploy',
2895
+ outputs: [
2896
+ { name: 'coin', internalType: 'address', type: 'address' },
2897
+ { name: 'postDeployHookDataOut', internalType: 'bytes', type: 'bytes' },
2898
+ ],
2899
+ stateMutability: 'payable',
2900
+ },
2901
+ {
2902
+ type: 'function',
2903
+ inputs: [
2904
+ { name: 'payoutRecipient', internalType: 'address', type: 'address' },
2905
+ { name: 'owners', internalType: 'address[]', type: 'address[]' },
2906
+ { name: 'uri', internalType: 'string', type: 'string' },
2907
+ { name: 'name', internalType: 'string', type: 'string' },
2908
+ { name: 'symbol', internalType: 'string', type: 'string' },
2909
+ { name: 'poolConfig', internalType: 'bytes', type: 'bytes' },
2910
+ { name: 'platformReferrer', internalType: 'address', type: 'address' },
2911
+ { name: 'orderSize', internalType: 'uint256', type: 'uint256' },
2912
+ ],
2913
+ name: 'deploy',
2914
+ outputs: [
2915
+ { name: '', internalType: 'address', type: 'address' },
2916
+ { name: '', internalType: 'uint256', type: 'uint256' },
2917
+ ],
1250
2918
  stateMutability: 'payable',
1251
2919
  },
1252
2920
  {
@@ -1269,6 +2937,13 @@ export const zoraFactoryImplABI = [
1269
2937
  ],
1270
2938
  stateMutability: 'payable',
1271
2939
  },
2940
+ {
2941
+ type: 'function',
2942
+ inputs: [{ name: 'coin', internalType: 'address', type: 'address' }],
2943
+ name: 'getVersionForDeployedCoin',
2944
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2945
+ stateMutability: 'view',
2946
+ },
1272
2947
  {
1273
2948
  type: 'function',
1274
2949
  inputs: [],
@@ -1380,6 +3055,76 @@ export const zoraFactoryImplABI = [
1380
3055
  ],
1381
3056
  name: 'CoinCreated',
1382
3057
  },
3058
+ {
3059
+ type: 'event',
3060
+ anonymous: false,
3061
+ inputs: [
3062
+ {
3063
+ name: 'caller',
3064
+ internalType: 'address',
3065
+ type: 'address',
3066
+ indexed: true,
3067
+ },
3068
+ {
3069
+ name: 'payoutRecipient',
3070
+ internalType: 'address',
3071
+ type: 'address',
3072
+ indexed: true,
3073
+ },
3074
+ {
3075
+ name: 'platformReferrer',
3076
+ internalType: 'address',
3077
+ type: 'address',
3078
+ indexed: true,
3079
+ },
3080
+ {
3081
+ name: 'currency',
3082
+ internalType: 'address',
3083
+ type: 'address',
3084
+ indexed: false,
3085
+ },
3086
+ { name: 'uri', internalType: 'string', type: 'string', indexed: false },
3087
+ { name: 'name', internalType: 'string', type: 'string', indexed: false },
3088
+ {
3089
+ name: 'symbol',
3090
+ internalType: 'string',
3091
+ type: 'string',
3092
+ indexed: false,
3093
+ },
3094
+ {
3095
+ name: 'coin',
3096
+ internalType: 'address',
3097
+ type: 'address',
3098
+ indexed: false,
3099
+ },
3100
+ {
3101
+ name: 'poolKey',
3102
+ internalType: 'struct PoolKey',
3103
+ type: 'tuple',
3104
+ components: [
3105
+ { name: 'currency0', internalType: 'Currency', type: 'address' },
3106
+ { name: 'currency1', internalType: 'Currency', type: 'address' },
3107
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
3108
+ { name: 'tickSpacing', internalType: 'int24', type: 'int24' },
3109
+ { name: 'hooks', internalType: 'contract IHooks', type: 'address' },
3110
+ ],
3111
+ indexed: false,
3112
+ },
3113
+ {
3114
+ name: 'poolKeyHash',
3115
+ internalType: 'bytes32',
3116
+ type: 'bytes32',
3117
+ indexed: false,
3118
+ },
3119
+ {
3120
+ name: 'version',
3121
+ internalType: 'string',
3122
+ type: 'string',
3123
+ indexed: false,
3124
+ },
3125
+ ],
3126
+ name: 'CoinCreatedV4',
3127
+ },
1383
3128
  {
1384
3129
  type: 'event',
1385
3130
  anonymous: false,
@@ -1435,6 +3180,10 @@ export const zoraFactoryImplABI = [
1435
3180
  inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
1436
3181
  name: 'AddressInsufficientBalance',
1437
3182
  },
3183
+ { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },
3184
+ { type: 'error', inputs: [], name: 'CannotMintZeroLiquidity' },
3185
+ { type: 'error', inputs: [], name: 'ConfigTickLowerMustBeLessThanTickUpper' },
3186
+ { type: 'error', inputs: [], name: 'Deprecated' },
1438
3187
  { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },
1439
3188
  {
1440
3189
  type: 'error',
@@ -1449,7 +3198,33 @@ export const zoraFactoryImplABI = [
1449
3198
  { type: 'error', inputs: [], name: 'FailedInnerCall' },
1450
3199
  { type: 'error', inputs: [], name: 'InvalidHook' },
1451
3200
  { type: 'error', inputs: [], name: 'InvalidInitialization' },
3201
+ { type: 'error', inputs: [], name: 'InvalidPoolVersion' },
3202
+ {
3203
+ type: 'error',
3204
+ inputs: [
3205
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
3206
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
3207
+ ],
3208
+ name: 'InvalidTickRangeMisordered',
3209
+ },
3210
+ {
3211
+ type: 'error',
3212
+ inputs: [
3213
+ { name: 'tickLower', internalType: 'int24', type: 'int24' },
3214
+ { name: 'tickUpper', internalType: 'int24', type: 'int24' },
3215
+ ],
3216
+ name: 'InvalidTickRangeMisordered',
3217
+ },
3218
+ {
3219
+ type: 'error',
3220
+ inputs: [
3221
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
3222
+ { name: 'limit', internalType: 'uint256', type: 'uint256' },
3223
+ ],
3224
+ name: 'MaxShareToBeSoldExceeded',
3225
+ },
1452
3226
  { type: 'error', inputs: [], name: 'NotInitializing' },
3227
+ { type: 'error', inputs: [], name: 'NumDiscoveryPositionsOutOfRange' },
1453
3228
  {
1454
3229
  type: 'error',
1455
3230
  inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
@@ -1480,4 +3255,6 @@ export const zoraFactoryImplABI = [
1480
3255
  ],
1481
3256
  name: 'UpgradeToMismatchedContractName',
1482
3257
  },
3258
+ { type: 'error', inputs: [], name: 'ZeroDiscoveryPositions' },
3259
+ { type: 'error', inputs: [], name: 'ZeroDiscoverySupplyShare' },
1483
3260
  ] as const