@zoralabs/coins 0.1.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 (116) hide show
  1. package/.turbo/turbo-build.log +76 -0
  2. package/CHANGELOG.md +14 -0
  3. package/LICENSE +21 -0
  4. package/abis/Address.json +29 -0
  5. package/abis/BaseTest.json +691 -0
  6. package/abis/Clones.json +7 -0
  7. package/abis/Coin.json +1693 -0
  8. package/abis/CoinConstants.json +93 -0
  9. package/abis/CoinTest.json +998 -0
  10. package/abis/ContextUpgradeable.json +25 -0
  11. package/abis/ContractVersionBase.json +15 -0
  12. package/abis/Deploy.json +29 -0
  13. package/abis/ECDSA.json +29 -0
  14. package/abis/EIP712.json +67 -0
  15. package/abis/EIP712Upgradeable.json +74 -0
  16. package/abis/ERC1967Proxy.json +67 -0
  17. package/abis/ERC1967Utils.json +85 -0
  18. package/abis/ERC20PermitUpgradeable.json +527 -0
  19. package/abis/ERC20Upgradeable.json +333 -0
  20. package/abis/FactoryTest.json +845 -0
  21. package/abis/IBeacon.json +15 -0
  22. package/abis/ICoin.json +541 -0
  23. package/abis/ICoinComments.json +53 -0
  24. package/abis/IERC1155Errors.json +104 -0
  25. package/abis/IERC165.json +21 -0
  26. package/abis/IERC1822Proxiable.json +15 -0
  27. package/abis/IERC20.json +221 -0
  28. package/abis/IERC20Errors.json +88 -0
  29. package/abis/IERC20Metadata.json +224 -0
  30. package/abis/IERC20Permit.json +77 -0
  31. package/abis/IERC5267.json +51 -0
  32. package/abis/IERC721.json +287 -0
  33. package/abis/IERC721Enumerable.json +343 -0
  34. package/abis/IERC721Errors.json +105 -0
  35. package/abis/IERC721Metadata.json +332 -0
  36. package/abis/IERC721Receiver.json +36 -0
  37. package/abis/IERC721TokenReceiver.json +36 -0
  38. package/abis/IERC7572.json +21 -0
  39. package/abis/IMulticall3.json +440 -0
  40. package/abis/INonfungiblePositionManager.json +366 -0
  41. package/abis/IProtocolRewards.json +348 -0
  42. package/abis/ISwapRouter.json +137 -0
  43. package/abis/IUniswapV3Pool.json +148 -0
  44. package/abis/IUniswapV3SwapCallback.json +25 -0
  45. package/abis/IVersionedContract.json +15 -0
  46. package/abis/IWETH.json +118 -0
  47. package/abis/IZoraFactory.json +138 -0
  48. package/abis/Initializable.json +25 -0
  49. package/abis/Math.json +7 -0
  50. package/abis/MockERC20.json +322 -0
  51. package/abis/MockERC721.json +350 -0
  52. package/abis/MultiOwnable.json +171 -0
  53. package/abis/MultiOwnableTest.json +796 -0
  54. package/abis/NoncesUpgradeable.json +60 -0
  55. package/abis/OwnableUpgradeable.json +99 -0
  56. package/abis/ProtocolRewards.json +494 -0
  57. package/abis/Proxy.json +6 -0
  58. package/abis/ReentrancyGuardUpgradeable.json +30 -0
  59. package/abis/SafeERC20.json +34 -0
  60. package/abis/Script.json +15 -0
  61. package/abis/ShortStrings.json +18 -0
  62. package/abis/StdAssertions.json +379 -0
  63. package/abis/StdInvariant.json +180 -0
  64. package/abis/Strings.json +18 -0
  65. package/abis/Test.json +570 -0
  66. package/abis/UUPSUpgradeable.json +130 -0
  67. package/abis/Vm.json +8627 -0
  68. package/abis/VmSafe.json +7297 -0
  69. package/abis/ZoraFactory.json +67 -0
  70. package/abis/ZoraFactoryImpl.json +422 -0
  71. package/abis/stdError.json +119 -0
  72. package/abis/stdStorageSafe.json +52 -0
  73. package/addresses/1.json +4 -0
  74. package/addresses/8453.json +9 -0
  75. package/addresses/84532.json +9 -0
  76. package/dist/index.cjs +1236 -0
  77. package/dist/index.cjs.map +1 -0
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +1208 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/wagmiGenerated.d.ts +1645 -0
  83. package/dist/wagmiGenerated.d.ts.map +1 -0
  84. package/foundry.toml +9 -0
  85. package/package/index.ts +1 -0
  86. package/package/wagmiGenerated.ts +1211 -0
  87. package/package.json +48 -0
  88. package/remappings.txt +4 -0
  89. package/script/Deploy.s.sol +14 -0
  90. package/slither.config.json +6 -0
  91. package/src/Coin.sol +579 -0
  92. package/src/ZoraFactoryImpl.sol +142 -0
  93. package/src/interfaces/ICoin.sol +194 -0
  94. package/src/interfaces/ICoinComments.sol +8 -0
  95. package/src/interfaces/IERC7572.sol +12 -0
  96. package/src/interfaces/INonfungiblePositionManager.sol +104 -0
  97. package/src/interfaces/IProtocolRewards.sol +12 -0
  98. package/src/interfaces/ISwapRouter.sol +38 -0
  99. package/src/interfaces/IUniswapV3Pool.sol +43 -0
  100. package/src/interfaces/IUniswapV3SwapCallback.sol +17 -0
  101. package/src/interfaces/IWETH.sol +16 -0
  102. package/src/interfaces/IZoraFactory.sol +56 -0
  103. package/src/proxy/ZoraFactory.sol +26 -0
  104. package/src/utils/CoinConstants.sol +67 -0
  105. package/src/utils/MultiOwnable.sol +126 -0
  106. package/src/utils/TickMath.sol +210 -0
  107. package/src/version/ContractVersionBase.sol +14 -0
  108. package/test/Coin.t.sol +443 -0
  109. package/test/Factory.t.sol +298 -0
  110. package/test/MultiOwnable.t.sol +156 -0
  111. package/test/utils/BaseTest.sol +178 -0
  112. package/test/utils/ProtocolRewards.sol +1499 -0
  113. package/tsconfig.build.json +10 -0
  114. package/tsconfig.json +9 -0
  115. package/tsup.config.ts +11 -0
  116. package/wagmi.config.ts +16 -0
@@ -0,0 +1,366 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "approve",
5
+ "inputs": [
6
+ {
7
+ "name": "to",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "tokenId",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ],
17
+ "outputs": [],
18
+ "stateMutability": "nonpayable"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "collect",
23
+ "inputs": [
24
+ {
25
+ "name": "params",
26
+ "type": "tuple",
27
+ "internalType": "struct INonfungiblePositionManager.CollectParams",
28
+ "components": [
29
+ {
30
+ "name": "tokenId",
31
+ "type": "uint256",
32
+ "internalType": "uint256"
33
+ },
34
+ {
35
+ "name": "recipient",
36
+ "type": "address",
37
+ "internalType": "address"
38
+ },
39
+ {
40
+ "name": "amount0Max",
41
+ "type": "uint128",
42
+ "internalType": "uint128"
43
+ },
44
+ {
45
+ "name": "amount1Max",
46
+ "type": "uint128",
47
+ "internalType": "uint128"
48
+ }
49
+ ]
50
+ }
51
+ ],
52
+ "outputs": [
53
+ {
54
+ "name": "amount0",
55
+ "type": "uint256",
56
+ "internalType": "uint256"
57
+ },
58
+ {
59
+ "name": "amount1",
60
+ "type": "uint256",
61
+ "internalType": "uint256"
62
+ }
63
+ ],
64
+ "stateMutability": "payable"
65
+ },
66
+ {
67
+ "type": "function",
68
+ "name": "createAndInitializePoolIfNecessary",
69
+ "inputs": [
70
+ {
71
+ "name": "token0",
72
+ "type": "address",
73
+ "internalType": "address"
74
+ },
75
+ {
76
+ "name": "token1",
77
+ "type": "address",
78
+ "internalType": "address"
79
+ },
80
+ {
81
+ "name": "fee",
82
+ "type": "uint24",
83
+ "internalType": "uint24"
84
+ },
85
+ {
86
+ "name": "sqrtPriceX96",
87
+ "type": "uint160",
88
+ "internalType": "uint160"
89
+ }
90
+ ],
91
+ "outputs": [
92
+ {
93
+ "name": "pool",
94
+ "type": "address",
95
+ "internalType": "address"
96
+ }
97
+ ],
98
+ "stateMutability": "payable"
99
+ },
100
+ {
101
+ "type": "function",
102
+ "name": "mint",
103
+ "inputs": [
104
+ {
105
+ "name": "params",
106
+ "type": "tuple",
107
+ "internalType": "struct INonfungiblePositionManager.MintParams",
108
+ "components": [
109
+ {
110
+ "name": "token0",
111
+ "type": "address",
112
+ "internalType": "address"
113
+ },
114
+ {
115
+ "name": "token1",
116
+ "type": "address",
117
+ "internalType": "address"
118
+ },
119
+ {
120
+ "name": "fee",
121
+ "type": "uint24",
122
+ "internalType": "uint24"
123
+ },
124
+ {
125
+ "name": "tickLower",
126
+ "type": "int24",
127
+ "internalType": "int24"
128
+ },
129
+ {
130
+ "name": "tickUpper",
131
+ "type": "int24",
132
+ "internalType": "int24"
133
+ },
134
+ {
135
+ "name": "amount0Desired",
136
+ "type": "uint256",
137
+ "internalType": "uint256"
138
+ },
139
+ {
140
+ "name": "amount1Desired",
141
+ "type": "uint256",
142
+ "internalType": "uint256"
143
+ },
144
+ {
145
+ "name": "amount0Min",
146
+ "type": "uint256",
147
+ "internalType": "uint256"
148
+ },
149
+ {
150
+ "name": "amount1Min",
151
+ "type": "uint256",
152
+ "internalType": "uint256"
153
+ },
154
+ {
155
+ "name": "recipient",
156
+ "type": "address",
157
+ "internalType": "address"
158
+ },
159
+ {
160
+ "name": "deadline",
161
+ "type": "uint256",
162
+ "internalType": "uint256"
163
+ }
164
+ ]
165
+ }
166
+ ],
167
+ "outputs": [
168
+ {
169
+ "name": "tokenId",
170
+ "type": "uint256",
171
+ "internalType": "uint256"
172
+ },
173
+ {
174
+ "name": "liquidity",
175
+ "type": "uint128",
176
+ "internalType": "uint128"
177
+ },
178
+ {
179
+ "name": "amount0",
180
+ "type": "uint256",
181
+ "internalType": "uint256"
182
+ },
183
+ {
184
+ "name": "amount1",
185
+ "type": "uint256",
186
+ "internalType": "uint256"
187
+ }
188
+ ],
189
+ "stateMutability": "payable"
190
+ },
191
+ {
192
+ "type": "function",
193
+ "name": "ownerOf",
194
+ "inputs": [
195
+ {
196
+ "name": "tokenId",
197
+ "type": "uint256",
198
+ "internalType": "uint256"
199
+ }
200
+ ],
201
+ "outputs": [
202
+ {
203
+ "name": "",
204
+ "type": "address",
205
+ "internalType": "address"
206
+ }
207
+ ],
208
+ "stateMutability": "view"
209
+ },
210
+ {
211
+ "type": "function",
212
+ "name": "positions",
213
+ "inputs": [
214
+ {
215
+ "name": "tokenId",
216
+ "type": "uint256",
217
+ "internalType": "uint256"
218
+ }
219
+ ],
220
+ "outputs": [
221
+ {
222
+ "name": "nonce",
223
+ "type": "uint96",
224
+ "internalType": "uint96"
225
+ },
226
+ {
227
+ "name": "operator",
228
+ "type": "address",
229
+ "internalType": "address"
230
+ },
231
+ {
232
+ "name": "token0",
233
+ "type": "address",
234
+ "internalType": "address"
235
+ },
236
+ {
237
+ "name": "token1",
238
+ "type": "address",
239
+ "internalType": "address"
240
+ },
241
+ {
242
+ "name": "fee",
243
+ "type": "uint24",
244
+ "internalType": "uint24"
245
+ },
246
+ {
247
+ "name": "tickLower",
248
+ "type": "int24",
249
+ "internalType": "int24"
250
+ },
251
+ {
252
+ "name": "tickUpper",
253
+ "type": "int24",
254
+ "internalType": "int24"
255
+ },
256
+ {
257
+ "name": "liquidity",
258
+ "type": "uint128",
259
+ "internalType": "uint128"
260
+ },
261
+ {
262
+ "name": "feeGrowthInside0LastX128",
263
+ "type": "uint256",
264
+ "internalType": "uint256"
265
+ },
266
+ {
267
+ "name": "feeGrowthInside1LastX128",
268
+ "type": "uint256",
269
+ "internalType": "uint256"
270
+ },
271
+ {
272
+ "name": "tokensOwed0",
273
+ "type": "uint128",
274
+ "internalType": "uint128"
275
+ },
276
+ {
277
+ "name": "tokensOwed1",
278
+ "type": "uint128",
279
+ "internalType": "uint128"
280
+ }
281
+ ],
282
+ "stateMutability": "view"
283
+ },
284
+ {
285
+ "type": "function",
286
+ "name": "safeTransferFrom",
287
+ "inputs": [
288
+ {
289
+ "name": "from",
290
+ "type": "address",
291
+ "internalType": "address"
292
+ },
293
+ {
294
+ "name": "to",
295
+ "type": "address",
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "tokenId",
300
+ "type": "uint256",
301
+ "internalType": "uint256"
302
+ },
303
+ {
304
+ "name": "data",
305
+ "type": "bytes",
306
+ "internalType": "bytes"
307
+ }
308
+ ],
309
+ "outputs": [],
310
+ "stateMutability": "nonpayable"
311
+ },
312
+ {
313
+ "type": "function",
314
+ "name": "transferFrom",
315
+ "inputs": [
316
+ {
317
+ "name": "from",
318
+ "type": "address",
319
+ "internalType": "address"
320
+ },
321
+ {
322
+ "name": "to",
323
+ "type": "address",
324
+ "internalType": "address"
325
+ },
326
+ {
327
+ "name": "tokenId",
328
+ "type": "uint256",
329
+ "internalType": "uint256"
330
+ }
331
+ ],
332
+ "outputs": [],
333
+ "stateMutability": "nonpayable"
334
+ },
335
+ {
336
+ "type": "event",
337
+ "name": "Collect",
338
+ "inputs": [
339
+ {
340
+ "name": "tokenId",
341
+ "type": "uint256",
342
+ "indexed": true,
343
+ "internalType": "uint256"
344
+ },
345
+ {
346
+ "name": "recipient",
347
+ "type": "address",
348
+ "indexed": false,
349
+ "internalType": "address"
350
+ },
351
+ {
352
+ "name": "amount0",
353
+ "type": "uint256",
354
+ "indexed": false,
355
+ "internalType": "uint256"
356
+ },
357
+ {
358
+ "name": "amount1",
359
+ "type": "uint256",
360
+ "indexed": false,
361
+ "internalType": "uint256"
362
+ }
363
+ ],
364
+ "anonymous": false
365
+ }
366
+ ]
@@ -0,0 +1,348 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "balanceOf",
5
+ "inputs": [
6
+ {
7
+ "name": "account",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "outputs": [
13
+ {
14
+ "name": "",
15
+ "type": "uint256",
16
+ "internalType": "uint256"
17
+ }
18
+ ],
19
+ "stateMutability": "view"
20
+ },
21
+ {
22
+ "type": "function",
23
+ "name": "deposit",
24
+ "inputs": [
25
+ {
26
+ "name": "to",
27
+ "type": "address",
28
+ "internalType": "address"
29
+ },
30
+ {
31
+ "name": "why",
32
+ "type": "bytes4",
33
+ "internalType": "bytes4"
34
+ },
35
+ {
36
+ "name": "comment",
37
+ "type": "string",
38
+ "internalType": "string"
39
+ }
40
+ ],
41
+ "outputs": [],
42
+ "stateMutability": "payable"
43
+ },
44
+ {
45
+ "type": "function",
46
+ "name": "depositBatch",
47
+ "inputs": [
48
+ {
49
+ "name": "recipients",
50
+ "type": "address[]",
51
+ "internalType": "address[]"
52
+ },
53
+ {
54
+ "name": "amounts",
55
+ "type": "uint256[]",
56
+ "internalType": "uint256[]"
57
+ },
58
+ {
59
+ "name": "reasons",
60
+ "type": "bytes4[]",
61
+ "internalType": "bytes4[]"
62
+ },
63
+ {
64
+ "name": "comment",
65
+ "type": "string",
66
+ "internalType": "string"
67
+ }
68
+ ],
69
+ "outputs": [],
70
+ "stateMutability": "payable"
71
+ },
72
+ {
73
+ "type": "function",
74
+ "name": "withdrawFor",
75
+ "inputs": [
76
+ {
77
+ "name": "to",
78
+ "type": "address",
79
+ "internalType": "address"
80
+ },
81
+ {
82
+ "name": "amount",
83
+ "type": "uint256",
84
+ "internalType": "uint256"
85
+ }
86
+ ],
87
+ "outputs": [],
88
+ "stateMutability": "nonpayable"
89
+ }
90
+ ] "type": "uint256",
91
+ "internalType": "uint256"
92
+ },
93
+ {
94
+ "name": "firstMinter",
95
+ "type": "address",
96
+ "internalType": "address"
97
+ },
98
+ {
99
+ "name": "firstMinterReward",
100
+ "type": "uint256",
101
+ "internalType": "uint256"
102
+ },
103
+ {
104
+ "name": "zora",
105
+ "type": "address",
106
+ "internalType": "address"
107
+ },
108
+ {
109
+ "name": "zoraReward",
110
+ "type": "uint256",
111
+ "internalType": "uint256"
112
+ }
113
+ ],
114
+ "outputs": [],
115
+ "stateMutability": "payable"
116
+ },
117
+ {
118
+ "type": "function",
119
+ "name": "withdraw",
120
+ "inputs": [
121
+ {
122
+ "name": "to",
123
+ "type": "address",
124
+ "internalType": "address"
125
+ },
126
+ {
127
+ "name": "amount",
128
+ "type": "uint256",
129
+ "internalType": "uint256"
130
+ }
131
+ ],
132
+ "outputs": [],
133
+ "stateMutability": "nonpayable"
134
+ },
135
+ {
136
+ "type": "function",
137
+ "name": "withdrawWithSig",
138
+ "inputs": [
139
+ {
140
+ "name": "from",
141
+ "type": "address",
142
+ "internalType": "address"
143
+ },
144
+ {
145
+ "name": "to",
146
+ "type": "address",
147
+ "internalType": "address"
148
+ },
149
+ {
150
+ "name": "amount",
151
+ "type": "uint256",
152
+ "internalType": "uint256"
153
+ },
154
+ {
155
+ "name": "deadline",
156
+ "type": "uint256",
157
+ "internalType": "uint256"
158
+ },
159
+ {
160
+ "name": "v",
161
+ "type": "uint8",
162
+ "internalType": "uint8"
163
+ },
164
+ {
165
+ "name": "r",
166
+ "type": "bytes32",
167
+ "internalType": "bytes32"
168
+ },
169
+ {
170
+ "name": "s",
171
+ "type": "bytes32",
172
+ "internalType": "bytes32"
173
+ }
174
+ ],
175
+ "outputs": [],
176
+ "stateMutability": "nonpayable"
177
+ },
178
+ {
179
+ "type": "event",
180
+ "name": "Deposit",
181
+ "inputs": [
182
+ {
183
+ "name": "from",
184
+ "type": "address",
185
+ "indexed": true,
186
+ "internalType": "address"
187
+ },
188
+ {
189
+ "name": "to",
190
+ "type": "address",
191
+ "indexed": true,
192
+ "internalType": "address"
193
+ },
194
+ {
195
+ "name": "reason",
196
+ "type": "bytes4",
197
+ "indexed": true,
198
+ "internalType": "bytes4"
199
+ },
200
+ {
201
+ "name": "amount",
202
+ "type": "uint256",
203
+ "indexed": false,
204
+ "internalType": "uint256"
205
+ },
206
+ {
207
+ "name": "comment",
208
+ "type": "string",
209
+ "indexed": false,
210
+ "internalType": "string"
211
+ }
212
+ ],
213
+ "anonymous": false
214
+ },
215
+ {
216
+ "type": "event",
217
+ "name": "RewardsDeposit",
218
+ "inputs": [
219
+ {
220
+ "name": "creator",
221
+ "type": "address",
222
+ "indexed": true,
223
+ "internalType": "address"
224
+ },
225
+ {
226
+ "name": "createReferral",
227
+ "type": "address",
228
+ "indexed": true,
229
+ "internalType": "address"
230
+ },
231
+ {
232
+ "name": "mintReferral",
233
+ "type": "address",
234
+ "indexed": true,
235
+ "internalType": "address"
236
+ },
237
+ {
238
+ "name": "firstMinter",
239
+ "type": "address",
240
+ "indexed": false,
241
+ "internalType": "address"
242
+ },
243
+ {
244
+ "name": "zora",
245
+ "type": "address",
246
+ "indexed": false,
247
+ "internalType": "address"
248
+ },
249
+ {
250
+ "name": "from",
251
+ "type": "address",
252
+ "indexed": false,
253
+ "internalType": "address"
254
+ },
255
+ {
256
+ "name": "creatorReward",
257
+ "type": "uint256",
258
+ "indexed": false,
259
+ "internalType": "uint256"
260
+ },
261
+ {
262
+ "name": "createReferralReward",
263
+ "type": "uint256",
264
+ "indexed": false,
265
+ "internalType": "uint256"
266
+ },
267
+ {
268
+ "name": "mintReferralReward",
269
+ "type": "uint256",
270
+ "indexed": false,
271
+ "internalType": "uint256"
272
+ },
273
+ {
274
+ "name": "firstMinterReward",
275
+ "type": "uint256",
276
+ "indexed": false,
277
+ "internalType": "uint256"
278
+ },
279
+ {
280
+ "name": "zoraReward",
281
+ "type": "uint256",
282
+ "indexed": false,
283
+ "internalType": "uint256"
284
+ }
285
+ ],
286
+ "anonymous": false
287
+ },
288
+ {
289
+ "type": "event",
290
+ "name": "Withdraw",
291
+ "inputs": [
292
+ {
293
+ "name": "from",
294
+ "type": "address",
295
+ "indexed": true,
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "to",
300
+ "type": "address",
301
+ "indexed": true,
302
+ "internalType": "address"
303
+ },
304
+ {
305
+ "name": "amount",
306
+ "type": "uint256",
307
+ "indexed": false,
308
+ "internalType": "uint256"
309
+ }
310
+ ],
311
+ "anonymous": false
312
+ },
313
+ {
314
+ "type": "error",
315
+ "name": "ADDRESS_ZERO",
316
+ "inputs": []
317
+ },
318
+ {
319
+ "type": "error",
320
+ "name": "ARRAY_LENGTH_MISMATCH",
321
+ "inputs": []
322
+ },
323
+ {
324
+ "type": "error",
325
+ "name": "INVALID_DEPOSIT",
326
+ "inputs": []
327
+ },
328
+ {
329
+ "type": "error",
330
+ "name": "INVALID_SIGNATURE",
331
+ "inputs": []
332
+ },
333
+ {
334
+ "type": "error",
335
+ "name": "INVALID_WITHDRAW",
336
+ "inputs": []
337
+ },
338
+ {
339
+ "type": "error",
340
+ "name": "SIGNATURE_DEADLINE_EXPIRED",
341
+ "inputs": []
342
+ },
343
+ {
344
+ "type": "error",
345
+ "name": "TRANSFER_FAILED",
346
+ "inputs": []
347
+ }
348
+ ]