@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
@@ -0,0 +1,215 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "trustedMessageSenders",
7
+ "type": "address[]",
8
+ "internalType": "address[]"
9
+ },
10
+ {
11
+ "name": "initialOwner",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "nonpayable"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "acceptOwnership",
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "stateMutability": "nonpayable"
24
+ },
25
+ {
26
+ "type": "function",
27
+ "name": "addTrustedMsgSenderProviders",
28
+ "inputs": [
29
+ {
30
+ "name": "senders",
31
+ "type": "address[]",
32
+ "internalType": "address[]"
33
+ }
34
+ ],
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable"
37
+ },
38
+ {
39
+ "type": "function",
40
+ "name": "contractVersion",
41
+ "inputs": [],
42
+ "outputs": [
43
+ {
44
+ "name": "",
45
+ "type": "string",
46
+ "internalType": "string"
47
+ }
48
+ ],
49
+ "stateMutability": "pure"
50
+ },
51
+ {
52
+ "type": "function",
53
+ "name": "isTrustedMsgSenderProvider",
54
+ "inputs": [
55
+ {
56
+ "name": "sender",
57
+ "type": "address",
58
+ "internalType": "address"
59
+ }
60
+ ],
61
+ "outputs": [
62
+ {
63
+ "name": "",
64
+ "type": "bool",
65
+ "internalType": "bool"
66
+ }
67
+ ],
68
+ "stateMutability": "view"
69
+ },
70
+ {
71
+ "type": "function",
72
+ "name": "owner",
73
+ "inputs": [],
74
+ "outputs": [
75
+ {
76
+ "name": "",
77
+ "type": "address",
78
+ "internalType": "address"
79
+ }
80
+ ],
81
+ "stateMutability": "view"
82
+ },
83
+ {
84
+ "type": "function",
85
+ "name": "pendingOwner",
86
+ "inputs": [],
87
+ "outputs": [
88
+ {
89
+ "name": "",
90
+ "type": "address",
91
+ "internalType": "address"
92
+ }
93
+ ],
94
+ "stateMutability": "view"
95
+ },
96
+ {
97
+ "type": "function",
98
+ "name": "removeTrustedMsgSenderProviders",
99
+ "inputs": [
100
+ {
101
+ "name": "senders",
102
+ "type": "address[]",
103
+ "internalType": "address[]"
104
+ }
105
+ ],
106
+ "outputs": [],
107
+ "stateMutability": "nonpayable"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "name": "renounceOwnership",
112
+ "inputs": [],
113
+ "outputs": [],
114
+ "stateMutability": "nonpayable"
115
+ },
116
+ {
117
+ "type": "function",
118
+ "name": "transferOwnership",
119
+ "inputs": [
120
+ {
121
+ "name": "newOwner",
122
+ "type": "address",
123
+ "internalType": "address"
124
+ }
125
+ ],
126
+ "outputs": [],
127
+ "stateMutability": "nonpayable"
128
+ },
129
+ {
130
+ "type": "event",
131
+ "name": "OwnershipTransferStarted",
132
+ "inputs": [
133
+ {
134
+ "name": "previousOwner",
135
+ "type": "address",
136
+ "indexed": true,
137
+ "internalType": "address"
138
+ },
139
+ {
140
+ "name": "newOwner",
141
+ "type": "address",
142
+ "indexed": true,
143
+ "internalType": "address"
144
+ }
145
+ ],
146
+ "anonymous": false
147
+ },
148
+ {
149
+ "type": "event",
150
+ "name": "OwnershipTransferred",
151
+ "inputs": [
152
+ {
153
+ "name": "previousOwner",
154
+ "type": "address",
155
+ "indexed": true,
156
+ "internalType": "address"
157
+ },
158
+ {
159
+ "name": "newOwner",
160
+ "type": "address",
161
+ "indexed": true,
162
+ "internalType": "address"
163
+ }
164
+ ],
165
+ "anonymous": false
166
+ },
167
+ {
168
+ "type": "event",
169
+ "name": "TrustedSenderAdded",
170
+ "inputs": [
171
+ {
172
+ "name": "sender",
173
+ "type": "address",
174
+ "indexed": true,
175
+ "internalType": "address"
176
+ }
177
+ ],
178
+ "anonymous": false
179
+ },
180
+ {
181
+ "type": "event",
182
+ "name": "TrustedSenderRemoved",
183
+ "inputs": [
184
+ {
185
+ "name": "sender",
186
+ "type": "address",
187
+ "indexed": true,
188
+ "internalType": "address"
189
+ }
190
+ ],
191
+ "anonymous": false
192
+ },
193
+ {
194
+ "type": "error",
195
+ "name": "OwnableInvalidOwner",
196
+ "inputs": [
197
+ {
198
+ "name": "owner",
199
+ "type": "address",
200
+ "internalType": "address"
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "type": "error",
206
+ "name": "OwnableUnauthorizedAccount",
207
+ "inputs": [
208
+ {
209
+ "name": "account",
210
+ "type": "address",
211
+ "internalType": "address"
212
+ }
213
+ ]
214
+ }
215
+ ]
@@ -98,7 +98,7 @@
98
98
  },
99
99
  {
100
100
  "type": "error",
101
- "name": "FailedInnerCall",
101
+ "name": "FailedCall",
102
102
  "inputs": []
103
103
  },
104
104
  {
@@ -0,0 +1,28 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "InsufficientInputCurrency",
5
+ "inputs": [
6
+ {
7
+ "name": "inputAmount",
8
+ "type": "uint256",
9
+ "internalType": "uint256"
10
+ },
11
+ {
12
+ "name": "availableAmount",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ]
17
+ },
18
+ {
19
+ "type": "error",
20
+ "name": "V3RouteCannotStartWithInputCurrency",
21
+ "inputs": []
22
+ },
23
+ {
24
+ "type": "error",
25
+ "name": "V3RouteDoesNotConnectToV4RouteStart",
26
+ "inputs": []
27
+ }
28
+ ]
@@ -56,7 +56,7 @@
56
56
  },
57
57
  {
58
58
  "type": "error",
59
- "name": "FailedInnerCall",
59
+ "name": "FailedCall",
60
60
  "inputs": []
61
61
  }
62
62
  ]
@@ -1051,11 +1051,6 @@
1051
1051
  "name": "Deprecated",
1052
1052
  "inputs": []
1053
1053
  },
1054
- {
1055
- "type": "error",
1056
- "name": "ERC1167FailedCreateClone",
1057
- "inputs": []
1058
- },
1059
1054
  {
1060
1055
  "type": "error",
1061
1056
  "name": "ERC1967InvalidImplementation",
@@ -1079,9 +1074,30 @@
1079
1074
  },
1080
1075
  {
1081
1076
  "type": "error",
1082
- "name": "FailedInnerCall",
1077
+ "name": "FailedCall",
1083
1078
  "inputs": []
1084
1079
  },
1080
+ {
1081
+ "type": "error",
1082
+ "name": "FailedDeployment",
1083
+ "inputs": []
1084
+ },
1085
+ {
1086
+ "type": "error",
1087
+ "name": "InsufficientBalance",
1088
+ "inputs": [
1089
+ {
1090
+ "name": "balance",
1091
+ "type": "uint256",
1092
+ "internalType": "uint256"
1093
+ },
1094
+ {
1095
+ "name": "needed",
1096
+ "type": "uint256",
1097
+ "internalType": "uint256"
1098
+ }
1099
+ ]
1100
+ },
1085
1101
  {
1086
1102
  "type": "error",
1087
1103
  "name": "InvalidConfig",
@@ -13,14 +13,24 @@
13
13
  "internalType": "contract IDeployedCoinVersionLookup"
14
14
  },
15
15
  {
16
- "name": "trustedMessageSenders_",
17
- "type": "address[]",
18
- "internalType": "address[]"
16
+ "name": "trustedMsgSenderLookup_",
17
+ "type": "address",
18
+ "internalType": "contract ITrustedMsgSenderProviderLookup"
19
19
  },
20
20
  {
21
21
  "name": "upgradeGate_",
22
22
  "type": "address",
23
23
  "internalType": "contract IHooksUpgradeGate"
24
+ },
25
+ {
26
+ "name": "zoraLimitOrderBook_",
27
+ "type": "address",
28
+ "internalType": "contract IZoraLimitOrderBookCoinsInterface"
29
+ },
30
+ {
31
+ "name": "zoraHookRegistry_",
32
+ "type": "address",
33
+ "internalType": "contract IZoraHookRegistry"
24
34
  }
25
35
  ],
26
36
  "stateMutability": "nonpayable"
@@ -1037,6 +1047,19 @@
1037
1047
  ],
1038
1048
  "stateMutability": "view"
1039
1049
  },
1050
+ {
1051
+ "type": "function",
1052
+ "name": "getTrustedMsgSenderLookup",
1053
+ "inputs": [],
1054
+ "outputs": [
1055
+ {
1056
+ "name": "",
1057
+ "type": "address",
1058
+ "internalType": "contract ITrustedMsgSenderProviderLookup"
1059
+ }
1060
+ ],
1061
+ "stateMutability": "view"
1062
+ },
1040
1063
  {
1041
1064
  "type": "function",
1042
1065
  "name": "initializeFromMigration",
@@ -1669,33 +1692,6 @@
1669
1692
  ],
1670
1693
  "anonymous": false
1671
1694
  },
1672
- {
1673
- "type": "error",
1674
- "name": "AddressEmptyCode",
1675
- "inputs": [
1676
- {
1677
- "name": "target",
1678
- "type": "address",
1679
- "internalType": "address"
1680
- }
1681
- ]
1682
- },
1683
- {
1684
- "type": "error",
1685
- "name": "AddressInsufficientBalance",
1686
- "inputs": [
1687
- {
1688
- "name": "account",
1689
- "type": "address",
1690
- "internalType": "address"
1691
- }
1692
- ]
1693
- },
1694
- {
1695
- "type": "error",
1696
- "name": "CannotMintZeroLiquidity",
1697
- "inputs": []
1698
- },
1699
1695
  {
1700
1696
  "type": "error",
1701
1697
  "name": "CoinVersionLookupCannotBeZeroAddress",
@@ -1706,11 +1702,6 @@
1706
1702
  "name": "EthTransferFailed",
1707
1703
  "inputs": []
1708
1704
  },
1709
- {
1710
- "type": "error",
1711
- "name": "FailedInnerCall",
1712
- "inputs": []
1713
- },
1714
1705
  {
1715
1706
  "type": "error",
1716
1707
  "name": "HookNotImplemented",
@@ -1738,22 +1729,6 @@
1738
1729
  }
1739
1730
  ]
1740
1731
  },
1741
- {
1742
- "type": "error",
1743
- "name": "InvalidTickRangeMisordered",
1744
- "inputs": [
1745
- {
1746
- "name": "tickLower",
1747
- "type": "int24",
1748
- "internalType": "int24"
1749
- },
1750
- {
1751
- "name": "tickUpper",
1752
- "type": "int24",
1753
- "internalType": "int24"
1754
- }
1755
- ]
1756
- },
1757
1732
  {
1758
1733
  "type": "error",
1759
1734
  "name": "NoCoinForHook",
@@ -1845,6 +1820,11 @@
1845
1820
  }
1846
1821
  ]
1847
1822
  },
1823
+ {
1824
+ "type": "error",
1825
+ "name": "TrustedMsgSenderLookupCannotBeZeroAddress",
1826
+ "inputs": []
1827
+ },
1848
1828
  {
1849
1829
  "type": "error",
1850
1830
  "name": "UpgradeGateCannotBeZeroAddress",
@@ -1865,5 +1845,15 @@
1865
1845
  "internalType": "address"
1866
1846
  }
1867
1847
  ]
1848
+ },
1849
+ {
1850
+ "type": "error",
1851
+ "name": "ZoraHookRegistryCannotBeZeroAddress",
1852
+ "inputs": []
1853
+ },
1854
+ {
1855
+ "type": "error",
1856
+ "name": "ZoraLimitOrderBookCannotBeZeroAddress",
1857
+ "inputs": []
1868
1858
  }
1869
1859
  ]