@zoralabs/comments-contracts 0.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 (140) hide show
  1. package/.env.example +11 -0
  2. package/.turbo/turbo-build.log +60 -0
  3. package/LICENSE +21 -0
  4. package/README.md +70 -0
  5. package/_imagine/Enjoy.sol +41 -0
  6. package/abis/AccessControlUpgradeable.json +250 -0
  7. package/abis/Address.json +29 -0
  8. package/abis/Comments.json +62 -0
  9. package/abis/CommentsDeployerBase.json +15 -0
  10. package/abis/CommentsImpl.json +1750 -0
  11. package/abis/CommentsPermitTest.json +847 -0
  12. package/abis/CommentsTest.json +986 -0
  13. package/abis/CommentsTestBase.json +577 -0
  14. package/abis/Comments_mintAndCommentTest.json +690 -0
  15. package/abis/ContextUpgradeable.json +25 -0
  16. package/abis/ContractVersionBase.json +15 -0
  17. package/abis/Create2.json +28 -0
  18. package/abis/DeployImpl.json +22 -0
  19. package/abis/DeployNonDeterministic.json +22 -0
  20. package/abis/DeployScript.json +22 -0
  21. package/abis/DeterministicDeployerAndCaller.json +315 -0
  22. package/abis/DeterministicUUPSProxyDeployer.json +167 -0
  23. package/abis/ECDSA.json +29 -0
  24. package/abis/EIP712.json +67 -0
  25. package/abis/EIP712UpgradeableWithChainId.json +25 -0
  26. package/abis/ERC1155.json +416 -0
  27. package/abis/ERC1155Holder.json +99 -0
  28. package/abis/ERC165.json +21 -0
  29. package/abis/ERC165Upgradeable.json +44 -0
  30. package/abis/ERC1967Proxy.json +67 -0
  31. package/abis/ERC1967Utils.json +85 -0
  32. package/abis/GenerateDeterministicParams.json +22 -0
  33. package/abis/IAccessControl.json +195 -0
  34. package/abis/IBeacon.json +15 -0
  35. package/abis/IComments.json +654 -0
  36. package/abis/IContractMetadata.json +28 -0
  37. package/abis/IERC1155.json +295 -0
  38. package/abis/IERC1155Errors.json +104 -0
  39. package/abis/IERC1155MetadataURI.json +314 -0
  40. package/abis/IERC1155Receiver.json +99 -0
  41. package/abis/IERC1271.json +26 -0
  42. package/abis/IERC165.json +21 -0
  43. package/abis/IERC1822Proxiable.json +15 -0
  44. package/abis/IERC20.json +224 -0
  45. package/abis/IERC20Errors.json +88 -0
  46. package/abis/IERC5267.json +51 -0
  47. package/abis/IERC721.json +287 -0
  48. package/abis/IERC721Enumerable.json +343 -0
  49. package/abis/IERC721Errors.json +105 -0
  50. package/abis/IERC721Metadata.json +332 -0
  51. package/abis/IERC721TokenReceiver.json +36 -0
  52. package/abis/IHasContractName.json +15 -0
  53. package/abis/IImmutableCreate2Factory.json +93 -0
  54. package/abis/IMulticall3.json +440 -0
  55. package/abis/IProtocolRewards.json +342 -0
  56. package/abis/ISafe.json +15 -0
  57. package/abis/ISymbol.json +15 -0
  58. package/abis/IVersionedContract.json +15 -0
  59. package/abis/IZoraCreator1155.json +343 -0
  60. package/abis/ImmutableCreate2FactoryUtils.json +15 -0
  61. package/abis/Initializable.json +25 -0
  62. package/abis/LibString.json +7 -0
  63. package/abis/Math.json +7 -0
  64. package/abis/Mock1155.json +547 -0
  65. package/abis/MockERC20.json +322 -0
  66. package/abis/MockERC721.json +350 -0
  67. package/abis/MockMinter.json +64 -0
  68. package/abis/OwnableUpgradeable.json +99 -0
  69. package/abis/ProtocolRewards.json +494 -0
  70. package/abis/Proxy.json +6 -0
  71. package/abis/ProxyDeployerScript.json +15 -0
  72. package/abis/ProxyShim.json +112 -0
  73. package/abis/Script.json +15 -0
  74. package/abis/ShortStrings.json +18 -0
  75. package/abis/StdAssertions.json +379 -0
  76. package/abis/StdInvariant.json +180 -0
  77. package/abis/Strings.json +18 -0
  78. package/abis/Test.json +570 -0
  79. package/abis/UUPSUpgradeable.json +130 -0
  80. package/abis/UnorderedNoncesUpgradeable.json +42 -0
  81. package/abis/Vm.json +8627 -0
  82. package/abis/VmSafe.json +7297 -0
  83. package/abis/stdError.json +119 -0
  84. package/abis/stdStorageSafe.json +52 -0
  85. package/addresses/999999999.json +4 -0
  86. package/deterministicConfig/comments.json +8 -0
  87. package/dist/index.cjs +935 -0
  88. package/dist/index.cjs.map +1 -0
  89. package/dist/index.d.ts +2 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +908 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/types.d.ts +4 -0
  94. package/dist/types.d.ts.map +1 -0
  95. package/dist/wagmiGenerated.d.ts +1354 -0
  96. package/dist/wagmiGenerated.d.ts.map +1 -0
  97. package/foundry.toml +24 -0
  98. package/package/index.ts +4 -0
  99. package/package/types.ts +5 -0
  100. package/package/wagmiGenerated.ts +907 -0
  101. package/package.json +62 -0
  102. package/remappings.txt +8 -0
  103. package/script/CommentsDeployerBase.sol +60 -0
  104. package/script/Deploy.s.sol +66 -0
  105. package/script/DeployImpl.s.sol +26 -0
  106. package/script/DeployNonDeterministic.s.sol +43 -0
  107. package/script/GenerateDeterministicParams.s.sol +55 -0
  108. package/script/bundle-abis.ts +109 -0
  109. package/script/storage-check.sh +57 -0
  110. package/script/update-contract-version.ts +63 -0
  111. package/scripts/abis.ts +3 -0
  112. package/scripts/backfillComments.ts +176 -0
  113. package/scripts/generateCommentsTestData.ts +247 -0
  114. package/scripts/getCommentsAddresses.ts +10 -0
  115. package/scripts/queries.ts +73 -0
  116. package/scripts/queryAndSaveComments.ts +48 -0
  117. package/scripts/queryQuantityOfComments.ts +53 -0
  118. package/scripts/signDeployAndCall.ts +51 -0
  119. package/scripts/turnkey.ts +36 -0
  120. package/scripts/utils.ts +127 -0
  121. package/scripts/writeComments.ts +198 -0
  122. package/slither.config.json +7 -0
  123. package/src/CommentsImpl.sol +552 -0
  124. package/src/deployments/CommentsDeployment.sol +14 -0
  125. package/src/interfaces/IComments.sol +156 -0
  126. package/src/interfaces/IZoraCreator1155.sol +12 -0
  127. package/src/proxy/Comments.sol +43 -0
  128. package/src/utils/EIP712UpgradeableWithChainId.sol +36 -0
  129. package/src/version/ContractVersionBase.sol +14 -0
  130. package/test/Comments.t.sol +482 -0
  131. package/test/CommentsTestBase.sol +86 -0
  132. package/test/Comments_mintAndComment.t.sol +101 -0
  133. package/test/Comments_permit.t.sol +397 -0
  134. package/test/mocks/Mock1155.sol +50 -0
  135. package/test/mocks/MockMinter.sol +29 -0
  136. package/test/mocks/ProtocolRewards.sol +1497 -0
  137. package/tsconfig.build.json +10 -0
  138. package/tsconfig.json +9 -0
  139. package/tsup.config.ts +11 -0
  140. package/wagmi.config.ts +14 -0
@@ -0,0 +1,105 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "ERC721IncorrectOwner",
5
+ "inputs": [
6
+ {
7
+ "name": "sender",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "tokenId",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ },
16
+ {
17
+ "name": "owner",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "type": "error",
25
+ "name": "ERC721InsufficientApproval",
26
+ "inputs": [
27
+ {
28
+ "name": "operator",
29
+ "type": "address",
30
+ "internalType": "address"
31
+ },
32
+ {
33
+ "name": "tokenId",
34
+ "type": "uint256",
35
+ "internalType": "uint256"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "type": "error",
41
+ "name": "ERC721InvalidApprover",
42
+ "inputs": [
43
+ {
44
+ "name": "approver",
45
+ "type": "address",
46
+ "internalType": "address"
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "type": "error",
52
+ "name": "ERC721InvalidOperator",
53
+ "inputs": [
54
+ {
55
+ "name": "operator",
56
+ "type": "address",
57
+ "internalType": "address"
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "type": "error",
63
+ "name": "ERC721InvalidOwner",
64
+ "inputs": [
65
+ {
66
+ "name": "owner",
67
+ "type": "address",
68
+ "internalType": "address"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "type": "error",
74
+ "name": "ERC721InvalidReceiver",
75
+ "inputs": [
76
+ {
77
+ "name": "receiver",
78
+ "type": "address",
79
+ "internalType": "address"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "type": "error",
85
+ "name": "ERC721InvalidSender",
86
+ "inputs": [
87
+ {
88
+ "name": "sender",
89
+ "type": "address",
90
+ "internalType": "address"
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "type": "error",
96
+ "name": "ERC721NonexistentToken",
97
+ "inputs": [
98
+ {
99
+ "name": "tokenId",
100
+ "type": "uint256",
101
+ "internalType": "uint256"
102
+ }
103
+ ]
104
+ }
105
+ ]
@@ -0,0 +1,332 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "approve",
5
+ "inputs": [
6
+ {
7
+ "name": "_approved",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "_tokenId",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ],
17
+ "outputs": [],
18
+ "stateMutability": "payable"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "balanceOf",
23
+ "inputs": [
24
+ {
25
+ "name": "_owner",
26
+ "type": "address",
27
+ "internalType": "address"
28
+ }
29
+ ],
30
+ "outputs": [
31
+ {
32
+ "name": "",
33
+ "type": "uint256",
34
+ "internalType": "uint256"
35
+ }
36
+ ],
37
+ "stateMutability": "view"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "getApproved",
42
+ "inputs": [
43
+ {
44
+ "name": "_tokenId",
45
+ "type": "uint256",
46
+ "internalType": "uint256"
47
+ }
48
+ ],
49
+ "outputs": [
50
+ {
51
+ "name": "",
52
+ "type": "address",
53
+ "internalType": "address"
54
+ }
55
+ ],
56
+ "stateMutability": "view"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "isApprovedForAll",
61
+ "inputs": [
62
+ {
63
+ "name": "_owner",
64
+ "type": "address",
65
+ "internalType": "address"
66
+ },
67
+ {
68
+ "name": "_operator",
69
+ "type": "address",
70
+ "internalType": "address"
71
+ }
72
+ ],
73
+ "outputs": [
74
+ {
75
+ "name": "",
76
+ "type": "bool",
77
+ "internalType": "bool"
78
+ }
79
+ ],
80
+ "stateMutability": "view"
81
+ },
82
+ {
83
+ "type": "function",
84
+ "name": "name",
85
+ "inputs": [],
86
+ "outputs": [
87
+ {
88
+ "name": "_name",
89
+ "type": "string",
90
+ "internalType": "string"
91
+ }
92
+ ],
93
+ "stateMutability": "view"
94
+ },
95
+ {
96
+ "type": "function",
97
+ "name": "ownerOf",
98
+ "inputs": [
99
+ {
100
+ "name": "_tokenId",
101
+ "type": "uint256",
102
+ "internalType": "uint256"
103
+ }
104
+ ],
105
+ "outputs": [
106
+ {
107
+ "name": "",
108
+ "type": "address",
109
+ "internalType": "address"
110
+ }
111
+ ],
112
+ "stateMutability": "view"
113
+ },
114
+ {
115
+ "type": "function",
116
+ "name": "safeTransferFrom",
117
+ "inputs": [
118
+ {
119
+ "name": "_from",
120
+ "type": "address",
121
+ "internalType": "address"
122
+ },
123
+ {
124
+ "name": "_to",
125
+ "type": "address",
126
+ "internalType": "address"
127
+ },
128
+ {
129
+ "name": "_tokenId",
130
+ "type": "uint256",
131
+ "internalType": "uint256"
132
+ }
133
+ ],
134
+ "outputs": [],
135
+ "stateMutability": "payable"
136
+ },
137
+ {
138
+ "type": "function",
139
+ "name": "safeTransferFrom",
140
+ "inputs": [
141
+ {
142
+ "name": "_from",
143
+ "type": "address",
144
+ "internalType": "address"
145
+ },
146
+ {
147
+ "name": "_to",
148
+ "type": "address",
149
+ "internalType": "address"
150
+ },
151
+ {
152
+ "name": "_tokenId",
153
+ "type": "uint256",
154
+ "internalType": "uint256"
155
+ },
156
+ {
157
+ "name": "data",
158
+ "type": "bytes",
159
+ "internalType": "bytes"
160
+ }
161
+ ],
162
+ "outputs": [],
163
+ "stateMutability": "payable"
164
+ },
165
+ {
166
+ "type": "function",
167
+ "name": "setApprovalForAll",
168
+ "inputs": [
169
+ {
170
+ "name": "_operator",
171
+ "type": "address",
172
+ "internalType": "address"
173
+ },
174
+ {
175
+ "name": "_approved",
176
+ "type": "bool",
177
+ "internalType": "bool"
178
+ }
179
+ ],
180
+ "outputs": [],
181
+ "stateMutability": "nonpayable"
182
+ },
183
+ {
184
+ "type": "function",
185
+ "name": "supportsInterface",
186
+ "inputs": [
187
+ {
188
+ "name": "interfaceID",
189
+ "type": "bytes4",
190
+ "internalType": "bytes4"
191
+ }
192
+ ],
193
+ "outputs": [
194
+ {
195
+ "name": "",
196
+ "type": "bool",
197
+ "internalType": "bool"
198
+ }
199
+ ],
200
+ "stateMutability": "view"
201
+ },
202
+ {
203
+ "type": "function",
204
+ "name": "symbol",
205
+ "inputs": [],
206
+ "outputs": [
207
+ {
208
+ "name": "_symbol",
209
+ "type": "string",
210
+ "internalType": "string"
211
+ }
212
+ ],
213
+ "stateMutability": "view"
214
+ },
215
+ {
216
+ "type": "function",
217
+ "name": "tokenURI",
218
+ "inputs": [
219
+ {
220
+ "name": "_tokenId",
221
+ "type": "uint256",
222
+ "internalType": "uint256"
223
+ }
224
+ ],
225
+ "outputs": [
226
+ {
227
+ "name": "",
228
+ "type": "string",
229
+ "internalType": "string"
230
+ }
231
+ ],
232
+ "stateMutability": "view"
233
+ },
234
+ {
235
+ "type": "function",
236
+ "name": "transferFrom",
237
+ "inputs": [
238
+ {
239
+ "name": "_from",
240
+ "type": "address",
241
+ "internalType": "address"
242
+ },
243
+ {
244
+ "name": "_to",
245
+ "type": "address",
246
+ "internalType": "address"
247
+ },
248
+ {
249
+ "name": "_tokenId",
250
+ "type": "uint256",
251
+ "internalType": "uint256"
252
+ }
253
+ ],
254
+ "outputs": [],
255
+ "stateMutability": "payable"
256
+ },
257
+ {
258
+ "type": "event",
259
+ "name": "Approval",
260
+ "inputs": [
261
+ {
262
+ "name": "_owner",
263
+ "type": "address",
264
+ "indexed": true,
265
+ "internalType": "address"
266
+ },
267
+ {
268
+ "name": "_approved",
269
+ "type": "address",
270
+ "indexed": true,
271
+ "internalType": "address"
272
+ },
273
+ {
274
+ "name": "_tokenId",
275
+ "type": "uint256",
276
+ "indexed": true,
277
+ "internalType": "uint256"
278
+ }
279
+ ],
280
+ "anonymous": false
281
+ },
282
+ {
283
+ "type": "event",
284
+ "name": "ApprovalForAll",
285
+ "inputs": [
286
+ {
287
+ "name": "_owner",
288
+ "type": "address",
289
+ "indexed": true,
290
+ "internalType": "address"
291
+ },
292
+ {
293
+ "name": "_operator",
294
+ "type": "address",
295
+ "indexed": true,
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "_approved",
300
+ "type": "bool",
301
+ "indexed": false,
302
+ "internalType": "bool"
303
+ }
304
+ ],
305
+ "anonymous": false
306
+ },
307
+ {
308
+ "type": "event",
309
+ "name": "Transfer",
310
+ "inputs": [
311
+ {
312
+ "name": "_from",
313
+ "type": "address",
314
+ "indexed": true,
315
+ "internalType": "address"
316
+ },
317
+ {
318
+ "name": "_to",
319
+ "type": "address",
320
+ "indexed": true,
321
+ "internalType": "address"
322
+ },
323
+ {
324
+ "name": "_tokenId",
325
+ "type": "uint256",
326
+ "indexed": true,
327
+ "internalType": "uint256"
328
+ }
329
+ ],
330
+ "anonymous": false
331
+ }
332
+ ]
@@ -0,0 +1,36 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "onERC721Received",
5
+ "inputs": [
6
+ {
7
+ "name": "_operator",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "_from",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "_tokenId",
18
+ "type": "uint256",
19
+ "internalType": "uint256"
20
+ },
21
+ {
22
+ "name": "_data",
23
+ "type": "bytes",
24
+ "internalType": "bytes"
25
+ }
26
+ ],
27
+ "outputs": [
28
+ {
29
+ "name": "",
30
+ "type": "bytes4",
31
+ "internalType": "bytes4"
32
+ }
33
+ ],
34
+ "stateMutability": "nonpayable"
35
+ }
36
+ ]
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "contractName",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "string",
10
+ "internalType": "string"
11
+ }
12
+ ],
13
+ "stateMutability": "nonpayable"
14
+ }
15
+ ]
@@ -0,0 +1,93 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "findCreate2Address",
5
+ "inputs": [
6
+ {
7
+ "name": "salt",
8
+ "type": "bytes32",
9
+ "internalType": "bytes32"
10
+ },
11
+ {
12
+ "name": "initCode",
13
+ "type": "bytes",
14
+ "internalType": "bytes"
15
+ }
16
+ ],
17
+ "outputs": [
18
+ {
19
+ "name": "deploymentAddress",
20
+ "type": "address",
21
+ "internalType": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "view"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "findCreate2AddressViaHash",
29
+ "inputs": [
30
+ {
31
+ "name": "salt",
32
+ "type": "bytes32",
33
+ "internalType": "bytes32"
34
+ },
35
+ {
36
+ "name": "initCodeHash",
37
+ "type": "bytes32",
38
+ "internalType": "bytes32"
39
+ }
40
+ ],
41
+ "outputs": [
42
+ {
43
+ "name": "deploymentAddress",
44
+ "type": "address",
45
+ "internalType": "address"
46
+ }
47
+ ],
48
+ "stateMutability": "view"
49
+ },
50
+ {
51
+ "type": "function",
52
+ "name": "hasBeenDeployed",
53
+ "inputs": [
54
+ {
55
+ "name": "deploymentAddress",
56
+ "type": "address",
57
+ "internalType": "address"
58
+ }
59
+ ],
60
+ "outputs": [
61
+ {
62
+ "name": "",
63
+ "type": "bool",
64
+ "internalType": "bool"
65
+ }
66
+ ],
67
+ "stateMutability": "view"
68
+ },
69
+ {
70
+ "type": "function",
71
+ "name": "safeCreate2",
72
+ "inputs": [
73
+ {
74
+ "name": "salt",
75
+ "type": "bytes32",
76
+ "internalType": "bytes32"
77
+ },
78
+ {
79
+ "name": "initializationCode",
80
+ "type": "bytes",
81
+ "internalType": "bytes"
82
+ }
83
+ ],
84
+ "outputs": [
85
+ {
86
+ "name": "deploymentAddress",
87
+ "type": "address",
88
+ "internalType": "address"
89
+ }
90
+ ],
91
+ "stateMutability": "payable"
92
+ }
93
+ ]