@zoralabs/coins 2.3.1 → 2.4.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 (126) hide show
  1. package/.turbo/turbo-build$colon$js.log +119 -128
  2. package/CHANGELOG.md +30 -0
  3. package/abis/Address.json +0 -16
  4. package/abis/BuySupplyWithSwapRouterHook.json +0 -27
  5. package/abis/BuySupplyWithV4SwapHook.json +0 -32
  6. package/abis/Clones.json +1 -1
  7. package/abis/CoinDopplerMultiCurve.json +109 -0
  8. package/abis/Create2.json +0 -21
  9. package/abis/ERC1967Proxy.json +1 -1
  10. package/abis/ERC1967Utils.json +0 -45
  11. package/abis/{UpgradeCoinImpl.json → Errors.json} +14 -10
  12. package/abis/{MockERC20.json → IERC1363.json} +134 -104
  13. package/abis/IERC1967.json +47 -0
  14. package/abis/IERC20.json +0 -36
  15. package/abis/IProtocolRewards.json +0 -258
  16. package/abis/{Script.json → ISupportsLimitOrderFill.json} +2 -2
  17. package/abis/ITrustedMsgSenderProviderLookup.json +21 -0
  18. package/abis/IZoraLimitOrderBookCoinsInterface.json +67 -0
  19. package/abis/IZoraV4CoinHook.json +15 -0
  20. package/abis/ProxyShim.json +15 -16
  21. package/abis/SafeCast.json +51 -0
  22. package/abis/{AddressConstants.json → SafeCast160.json} +1 -1
  23. package/abis/Strings.json +10 -0
  24. package/abis/TrustedMsgSenderProviderLookup.json +215 -0
  25. package/abis/UUPSUpgradeable.json +1 -1
  26. package/abis/V3ToV4SwapLib.json +28 -0
  27. package/abis/ZoraFactory.json +1 -1
  28. package/abis/ZoraFactoryImpl.json +22 -6
  29. package/abis/ZoraV4CoinHook.json +41 -51
  30. package/dist/index.cjs +950 -43
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.js +948 -41
  33. package/dist/index.js.map +1 -1
  34. package/dist/wagmiGenerated.d.ts +1459 -76
  35. package/dist/wagmiGenerated.d.ts.map +1 -1
  36. package/foundry.toml +5 -1
  37. package/package/wagmiGenerated.ts +951 -44
  38. package/package.json +7 -7
  39. package/remappings.txt +2 -1
  40. package/src/ZoraFactoryImpl.sol +8 -0
  41. package/src/deployment/ForkedCoinsAddresses.sol +54 -0
  42. package/src/hooks/ZoraV4CoinHook.sol +92 -74
  43. package/src/hooks/deployment/BuySupplyWithV4SwapHook.sol +20 -142
  44. package/src/interfaces/ISupportsLimitOrderFill.sol +11 -0
  45. package/src/interfaces/ITrustedMsgSenderProviderLookup.sol +18 -0
  46. package/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol +21 -0
  47. package/src/interfaces/IZoraV4CoinHook.sol +9 -0
  48. package/src/libs/CoinConstants.sol +6 -0
  49. package/src/libs/CoinDopplerMultiCurve.sol +1 -1
  50. package/src/libs/CoinRewardsV4.sol +0 -1
  51. package/src/libs/HooksDeployment.sol +25 -12
  52. package/src/libs/UniV4SwapHelper.sol +35 -0
  53. package/src/libs/V3ToV4SwapLib.sol +261 -0
  54. package/src/libs/V4Liquidity.sol +50 -6
  55. package/src/utils/TrustedMsgSenderProviderLookup.sol +73 -0
  56. package/src/version/ContractVersionBase.sol +1 -1
  57. package/test/BuySupplyWithV4SwapHook.t.sol +4 -3
  58. package/test/Coin.t.sol +7 -1
  59. package/test/CoinUniV4.t.sol +2 -1
  60. package/test/ContentCoinRewards.t.sol +5 -1
  61. package/test/CreatorCoin.t.sol +3 -1
  62. package/test/CreatorCoinRewards.t.sol +7 -1
  63. package/test/Factory.t.sol +20 -7
  64. package/test/HooksDeployment.t.sol +73 -8
  65. package/test/LiquidityMigration.t.sol +55 -43
  66. package/test/MultiOwnable.t.sol +2 -1
  67. package/test/TrustedMsgSenderProviderLookup.t.sol +112 -0
  68. package/test/Upgrades.t.sol +112 -78
  69. package/test/V4Liquidity.t.sol +1 -1
  70. package/test/mocks/MockSwapRouter.sol +33 -0
  71. package/test/mocks/MockZoraLimitOrderBook.sol +14 -0
  72. package/test/utils/BaseTest.sol +17 -425
  73. package/test/utils/FeeEstimatorHook.sol +8 -2
  74. package/test/utils/TrustedSenderTestHelper.sol +18 -0
  75. package/test/utils/V4TestSetup.sol +595 -0
  76. package/wagmi.config.ts +1 -1
  77. package/abis/BaseTest.json +0 -718
  78. package/abis/DeterministicDeployerAndCaller.json +0 -315
  79. package/abis/DeterministicUUPSProxyDeployer.json +0 -167
  80. package/abis/EIP712.json +0 -67
  81. package/abis/ERC20.json +0 -310
  82. package/abis/FeeEstimatorHook.json +0 -1915
  83. package/abis/IERC721.json +0 -287
  84. package/abis/IERC721Enumerable.json +0 -343
  85. package/abis/IERC721Metadata.json +0 -332
  86. package/abis/IERC721TokenReceiver.json +0 -36
  87. package/abis/IImmutableCreate2Factory.json +0 -93
  88. package/abis/IMulticall3.json +0 -440
  89. package/abis/ISafe.json +0 -15
  90. package/abis/ISymbol.json +0 -15
  91. package/abis/IUniswapV4Router04.json +0 -484
  92. package/abis/IUniversalRouter.json +0 -61
  93. package/abis/IV4Quoter.json +0 -310
  94. package/abis/ImmutableCreate2FactoryUtils.json +0 -15
  95. package/abis/LibString.json +0 -7
  96. package/abis/Math.json +0 -7
  97. package/abis/MockAirlock.json +0 -39
  98. package/abis/MockERC721.json +0 -350
  99. package/abis/ProtocolRewards.json +0 -494
  100. package/abis/ShortStrings.json +0 -18
  101. package/abis/SimpleERC20.json +0 -326
  102. package/abis/StdAssertions.json +0 -379
  103. package/abis/StdInvariant.json +0 -180
  104. package/abis/Test.json +0 -570
  105. package/abis/VmContractHelper239.json +0 -233
  106. package/abis/stdError.json +0 -119
  107. package/abis/stdStorageSafe.json +0 -52
  108. package/addresses/8453.json +0 -13
  109. package/addresses/84532.json +0 -10
  110. package/deterministicConfig/deployerAndCaller.json +0 -5
  111. package/deterministicConfig/zoraFactory.json +0 -8
  112. package/script/Deploy.s.sol +0 -23
  113. package/script/DeployAutoSwapper.s.sol +0 -30
  114. package/script/DeployDevFactory.s.sol +0 -21
  115. package/script/DeployPostDeploymentHooks.s.sol +0 -20
  116. package/script/DeployUpgradeGate.s.sol +0 -21
  117. package/script/GenerateDeterministicParams.s.sol +0 -43
  118. package/script/PrintRegisterUpgradePath.s.sol +0 -28
  119. package/script/PrintUpgradeCommand.s.sol +0 -13
  120. package/script/TestBackingCoinSwap.s.sol +0 -144
  121. package/script/TestV4Swap.s.sol +0 -133
  122. package/script/UpgradeCoinImpl.sol +0 -23
  123. package/script/UpgradeFactoryImpl.s.sol +0 -28
  124. package/script/UpgradeHooks.s.sol +0 -23
  125. package/src/deployment/CoinsDeployerBase.sol +0 -276
  126. /package/{test → src}/utils/ProxyShim.sol +0 -0
@@ -87,262 +87,4 @@
87
87
  "outputs": [],
88
88
  "stateMutability": "nonpayable"
89
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
90
  ]
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "type": "function",
4
- "name": "IS_SCRIPT",
4
+ "name": "supportsLimitOrderFill",
5
5
  "inputs": [],
6
6
  "outputs": [
7
7
  {
@@ -10,6 +10,6 @@
10
10
  "internalType": "bool"
11
11
  }
12
12
  ],
13
- "stateMutability": "view"
13
+ "stateMutability": "pure"
14
14
  }
15
15
  ]
@@ -0,0 +1,21 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "isTrustedMsgSenderProvider",
5
+ "inputs": [
6
+ {
7
+ "name": "sender",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "outputs": [
13
+ {
14
+ "name": "",
15
+ "type": "bool",
16
+ "internalType": "bool"
17
+ }
18
+ ],
19
+ "stateMutability": "view"
20
+ }
21
+ ]
@@ -0,0 +1,67 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "fill",
5
+ "inputs": [
6
+ {
7
+ "name": "key",
8
+ "type": "tuple",
9
+ "internalType": "struct PoolKey",
10
+ "components": [
11
+ {
12
+ "name": "currency0",
13
+ "type": "address",
14
+ "internalType": "Currency"
15
+ },
16
+ {
17
+ "name": "currency1",
18
+ "type": "address",
19
+ "internalType": "Currency"
20
+ },
21
+ {
22
+ "name": "fee",
23
+ "type": "uint24",
24
+ "internalType": "uint24"
25
+ },
26
+ {
27
+ "name": "tickSpacing",
28
+ "type": "int24",
29
+ "internalType": "int24"
30
+ },
31
+ {
32
+ "name": "hooks",
33
+ "type": "address",
34
+ "internalType": "contract IHooks"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "name": "isCurrency0",
40
+ "type": "bool",
41
+ "internalType": "bool"
42
+ },
43
+ {
44
+ "name": "startTick",
45
+ "type": "int24",
46
+ "internalType": "int24"
47
+ },
48
+ {
49
+ "name": "endTick",
50
+ "type": "int24",
51
+ "internalType": "int24"
52
+ },
53
+ {
54
+ "name": "maxFillCount",
55
+ "type": "uint256",
56
+ "internalType": "uint256"
57
+ },
58
+ {
59
+ "name": "fillReferral",
60
+ "type": "address",
61
+ "internalType": "address"
62
+ }
63
+ ],
64
+ "outputs": [],
65
+ "stateMutability": "nonpayable"
66
+ }
67
+ ]
@@ -571,6 +571,11 @@
571
571
  "name": "PathMustHaveAtLeastOneStep",
572
572
  "inputs": []
573
573
  },
574
+ {
575
+ "type": "error",
576
+ "name": "TrustedMsgSenderLookupCannotBeZeroAddress",
577
+ "inputs": []
578
+ },
574
579
  {
575
580
  "type": "error",
576
581
  "name": "UpgradeGateCannotBeZeroAddress",
@@ -591,5 +596,15 @@
591
596
  "internalType": "address"
592
597
  }
593
598
  ]
599
+ },
600
+ {
601
+ "type": "error",
602
+ "name": "ZoraHookRegistryCannotBeZeroAddress",
603
+ "inputs": []
604
+ },
605
+ {
606
+ "type": "error",
607
+ "name": "ZoraLimitOrderBookCannotBeZeroAddress",
608
+ "inputs": []
594
609
  }
595
610
  ]
@@ -48,6 +48,19 @@
48
48
  "outputs": [],
49
49
  "stateMutability": "payable"
50
50
  },
51
+ {
52
+ "type": "event",
53
+ "name": "Initialized",
54
+ "inputs": [
55
+ {
56
+ "name": "version",
57
+ "type": "uint64",
58
+ "indexed": false,
59
+ "internalType": "uint64"
60
+ }
61
+ ],
62
+ "anonymous": false
63
+ },
51
64
  {
52
65
  "type": "event",
53
66
  "name": "Upgraded",
@@ -90,26 +103,12 @@
90
103
  },
91
104
  {
92
105
  "type": "error",
93
- "name": "FailedInnerCall",
94
- "inputs": []
95
- },
96
- {
97
- "type": "error",
98
- "name": "UUPSUnauthorizedCallContext",
106
+ "name": "FailedCall",
99
107
  "inputs": []
100
108
  },
101
109
  {
102
110
  "type": "error",
103
- "name": "UUPSUnsupportedProxiableUUID",
104
- "inputs": [
105
- {
106
- "name": "slot",
107
- "type": "bytes32",
108
- "internalType": "bytes32"
109
- }
110
- ]
111
- }
112
- ]ion",
111
+ "name": "InvalidInitialization",
113
112
  "inputs": []
114
113
  },
115
114
  {
@@ -4,4 +4,55 @@
4
4
  "name": "SafeCastOverflow",
5
5
  "inputs": []
6
6
  }
7
+ ]ts": [
8
+ {
9
+ "name": "bits",
10
+ "type": "uint8",
11
+ "internalType": "uint8"
12
+ },
13
+ {
14
+ "name": "value",
15
+ "type": "int256",
16
+ "internalType": "int256"
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "type": "error",
22
+ "name": "SafeCastOverflowedIntToUint",
23
+ "inputs": [
24
+ {
25
+ "name": "value",
26
+ "type": "int256",
27
+ "internalType": "int256"
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "type": "error",
33
+ "name": "SafeCastOverflowedUintDowncast",
34
+ "inputs": [
35
+ {
36
+ "name": "bits",
37
+ "type": "uint8",
38
+ "internalType": "uint8"
39
+ },
40
+ {
41
+ "name": "value",
42
+ "type": "uint256",
43
+ "internalType": "uint256"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "type": "error",
49
+ "name": "SafeCastOverflowedUintToInt",
50
+ "inputs": [
51
+ {
52
+ "name": "value",
53
+ "type": "uint256",
54
+ "internalType": "uint256"
55
+ }
56
+ ]
57
+ }
7
58
  ]
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "type": "error",
4
- "name": "UnsupportedChainId",
4
+ "name": "UnsafeCast",
5
5
  "inputs": []
6
6
  }
7
7
  ]
package/abis/Strings.json CHANGED
@@ -14,5 +14,15 @@
14
14
  "internalType": "uint256"
15
15
  }
16
16
  ]
17
+ },
18
+ {
19
+ "type": "error",
20
+ "name": "StringsInvalidAddressFormat",
21
+ "inputs": []
22
+ },
23
+ {
24
+ "type": "error",
25
+ "name": "StringsInvalidChar",
26
+ "inputs": []
17
27
  }
18
28
  ]