@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
package/dist/index.js ADDED
@@ -0,0 +1,908 @@
1
+ // package/wagmiGenerated.ts
2
+ var commentsImplABI = [
3
+ {
4
+ stateMutability: "nonpayable",
5
+ type: "constructor",
6
+ inputs: [
7
+ { name: "_sparkValue", internalType: "uint256", type: "uint256" },
8
+ { name: "_protocolRewards", internalType: "address", type: "address" }
9
+ ]
10
+ },
11
+ {
12
+ stateMutability: "view",
13
+ type: "function",
14
+ inputs: [],
15
+ name: "BACKFILLER_ROLE",
16
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
17
+ },
18
+ {
19
+ stateMutability: "view",
20
+ type: "function",
21
+ inputs: [],
22
+ name: "DEFAULT_ADMIN_ROLE",
23
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
24
+ },
25
+ {
26
+ stateMutability: "view",
27
+ type: "function",
28
+ inputs: [],
29
+ name: "DELEGATE_COMMENTOR",
30
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
31
+ },
32
+ {
33
+ stateMutability: "view",
34
+ type: "function",
35
+ inputs: [],
36
+ name: "DOMAIN_NAME",
37
+ outputs: [{ name: "", internalType: "string", type: "string" }]
38
+ },
39
+ {
40
+ stateMutability: "view",
41
+ type: "function",
42
+ inputs: [],
43
+ name: "DOMAIN_VERSION",
44
+ outputs: [{ name: "", internalType: "string", type: "string" }]
45
+ },
46
+ {
47
+ stateMutability: "view",
48
+ type: "function",
49
+ inputs: [],
50
+ name: "PERMISSION_BIT_ADMIN",
51
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }]
52
+ },
53
+ {
54
+ stateMutability: "view",
55
+ type: "function",
56
+ inputs: [],
57
+ name: "REFERRER_REWARD_PCT",
58
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }]
59
+ },
60
+ {
61
+ stateMutability: "view",
62
+ type: "function",
63
+ inputs: [],
64
+ name: "UPGRADE_INTERFACE_VERSION",
65
+ outputs: [{ name: "", internalType: "string", type: "string" }]
66
+ },
67
+ {
68
+ stateMutability: "view",
69
+ type: "function",
70
+ inputs: [],
71
+ name: "ZORA_REWARD_NO_REFERRER_PCT",
72
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }]
73
+ },
74
+ {
75
+ stateMutability: "view",
76
+ type: "function",
77
+ inputs: [],
78
+ name: "ZORA_REWARD_PCT",
79
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }]
80
+ },
81
+ {
82
+ stateMutability: "nonpayable",
83
+ type: "function",
84
+ inputs: [
85
+ {
86
+ name: "commentIdentifiers",
87
+ internalType: "struct IComments.CommentIdentifier[]",
88
+ type: "tuple[]",
89
+ components: [
90
+ { name: "commenter", internalType: "address", type: "address" },
91
+ { name: "contractAddress", internalType: "address", type: "address" },
92
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
93
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
94
+ ]
95
+ },
96
+ { name: "texts", internalType: "string[]", type: "string[]" },
97
+ { name: "timestamps", internalType: "uint256[]", type: "uint256[]" },
98
+ {
99
+ name: "originalTransactionHashes",
100
+ internalType: "bytes32[]",
101
+ type: "bytes32[]"
102
+ }
103
+ ],
104
+ name: "backfillBatchAddComment",
105
+ outputs: []
106
+ },
107
+ {
108
+ stateMutability: "payable",
109
+ type: "function",
110
+ inputs: [
111
+ { name: "commenter", internalType: "address", type: "address" },
112
+ { name: "contractAddress", internalType: "address", type: "address" },
113
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
114
+ { name: "text", internalType: "string", type: "string" },
115
+ {
116
+ name: "replyTo",
117
+ internalType: "struct IComments.CommentIdentifier",
118
+ type: "tuple",
119
+ components: [
120
+ { name: "commenter", internalType: "address", type: "address" },
121
+ { name: "contractAddress", internalType: "address", type: "address" },
122
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
123
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
124
+ ]
125
+ },
126
+ { name: "referrer", internalType: "address", type: "address" }
127
+ ],
128
+ name: "comment",
129
+ outputs: [
130
+ {
131
+ name: "commentIdentifier",
132
+ internalType: "struct IComments.CommentIdentifier",
133
+ type: "tuple",
134
+ components: [
135
+ { name: "commenter", internalType: "address", type: "address" },
136
+ { name: "contractAddress", internalType: "address", type: "address" },
137
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
138
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
139
+ ]
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ stateMutability: "view",
145
+ type: "function",
146
+ inputs: [{ name: "commentId", internalType: "bytes32", type: "bytes32" }],
147
+ name: "commentSparksQuantity",
148
+ outputs: [{ name: "", internalType: "uint64", type: "uint64" }]
149
+ },
150
+ {
151
+ stateMutability: "pure",
152
+ type: "function",
153
+ inputs: [],
154
+ name: "contractName",
155
+ outputs: [{ name: "", internalType: "string", type: "string" }]
156
+ },
157
+ {
158
+ stateMutability: "pure",
159
+ type: "function",
160
+ inputs: [],
161
+ name: "contractVersion",
162
+ outputs: [{ name: "", internalType: "string", type: "string" }]
163
+ },
164
+ {
165
+ stateMutability: "nonpayable",
166
+ type: "function",
167
+ inputs: [
168
+ { name: "commenter", internalType: "address", type: "address" },
169
+ { name: "contractAddress", internalType: "address", type: "address" },
170
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
171
+ { name: "text", internalType: "string", type: "string" },
172
+ {
173
+ name: "replyTo",
174
+ internalType: "struct IComments.CommentIdentifier",
175
+ type: "tuple",
176
+ components: [
177
+ { name: "commenter", internalType: "address", type: "address" },
178
+ { name: "contractAddress", internalType: "address", type: "address" },
179
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
180
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
181
+ ]
182
+ }
183
+ ],
184
+ name: "delegateComment",
185
+ outputs: [
186
+ {
187
+ name: "commentIdentifier",
188
+ internalType: "struct IComments.CommentIdentifier",
189
+ type: "tuple",
190
+ components: [
191
+ { name: "commenter", internalType: "address", type: "address" },
192
+ { name: "contractAddress", internalType: "address", type: "address" },
193
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
194
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
195
+ ]
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ stateMutability: "view",
201
+ type: "function",
202
+ inputs: [{ name: "role", internalType: "bytes32", type: "bytes32" }],
203
+ name: "getRoleAdmin",
204
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
205
+ },
206
+ {
207
+ stateMutability: "nonpayable",
208
+ type: "function",
209
+ inputs: [
210
+ { name: "role", internalType: "bytes32", type: "bytes32" },
211
+ { name: "account", internalType: "address", type: "address" }
212
+ ],
213
+ name: "grantRole",
214
+ outputs: []
215
+ },
216
+ {
217
+ stateMutability: "view",
218
+ type: "function",
219
+ inputs: [
220
+ { name: "role", internalType: "bytes32", type: "bytes32" },
221
+ { name: "account", internalType: "address", type: "address" }
222
+ ],
223
+ name: "hasRole",
224
+ outputs: [{ name: "", internalType: "bool", type: "bool" }]
225
+ },
226
+ {
227
+ stateMutability: "view",
228
+ type: "function",
229
+ inputs: [
230
+ {
231
+ name: "commentIdentifier",
232
+ internalType: "struct IComments.CommentIdentifier",
233
+ type: "tuple",
234
+ components: [
235
+ { name: "commenter", internalType: "address", type: "address" },
236
+ { name: "contractAddress", internalType: "address", type: "address" },
237
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
238
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
239
+ ]
240
+ }
241
+ ],
242
+ name: "hashAndCheckCommentExists",
243
+ outputs: [
244
+ { name: "commentId", internalType: "bytes32", type: "bytes32" },
245
+ { name: "exists", internalType: "bool", type: "bool" }
246
+ ]
247
+ },
248
+ {
249
+ stateMutability: "view",
250
+ type: "function",
251
+ inputs: [
252
+ {
253
+ name: "commentIdentifier",
254
+ internalType: "struct IComments.CommentIdentifier",
255
+ type: "tuple",
256
+ components: [
257
+ { name: "commenter", internalType: "address", type: "address" },
258
+ { name: "contractAddress", internalType: "address", type: "address" },
259
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
260
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
261
+ ]
262
+ }
263
+ ],
264
+ name: "hashAndValidateCommentExists",
265
+ outputs: [{ name: "commentId", internalType: "bytes32", type: "bytes32" }]
266
+ },
267
+ {
268
+ stateMutability: "pure",
269
+ type: "function",
270
+ inputs: [
271
+ {
272
+ name: "commentIdentifier",
273
+ internalType: "struct IComments.CommentIdentifier",
274
+ type: "tuple",
275
+ components: [
276
+ { name: "commenter", internalType: "address", type: "address" },
277
+ { name: "contractAddress", internalType: "address", type: "address" },
278
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
279
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
280
+ ]
281
+ }
282
+ ],
283
+ name: "hashCommentIdentifier",
284
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
285
+ },
286
+ {
287
+ stateMutability: "view",
288
+ type: "function",
289
+ inputs: [
290
+ {
291
+ name: "permit",
292
+ internalType: "struct IComments.PermitComment",
293
+ type: "tuple",
294
+ components: [
295
+ { name: "commenter", internalType: "address", type: "address" },
296
+ { name: "contractAddress", internalType: "address", type: "address" },
297
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
298
+ {
299
+ name: "replyTo",
300
+ internalType: "struct IComments.CommentIdentifier",
301
+ type: "tuple",
302
+ components: [
303
+ { name: "commenter", internalType: "address", type: "address" },
304
+ {
305
+ name: "contractAddress",
306
+ internalType: "address",
307
+ type: "address"
308
+ },
309
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
310
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
311
+ ]
312
+ },
313
+ { name: "text", internalType: "string", type: "string" },
314
+ { name: "sparksQuantity", internalType: "uint64", type: "uint64" },
315
+ { name: "deadline", internalType: "uint256", type: "uint256" },
316
+ { name: "nonce", internalType: "bytes32", type: "bytes32" },
317
+ { name: "referrer", internalType: "address", type: "address" },
318
+ { name: "sourceChainId", internalType: "uint256", type: "uint256" },
319
+ {
320
+ name: "destinationChainId",
321
+ internalType: "uint256",
322
+ type: "uint256"
323
+ }
324
+ ]
325
+ }
326
+ ],
327
+ name: "hashPermitComment",
328
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
329
+ },
330
+ {
331
+ stateMutability: "view",
332
+ type: "function",
333
+ inputs: [
334
+ {
335
+ name: "permit",
336
+ internalType: "struct IComments.PermitSparkComment",
337
+ type: "tuple",
338
+ components: [
339
+ {
340
+ name: "comment",
341
+ internalType: "struct IComments.CommentIdentifier",
342
+ type: "tuple",
343
+ components: [
344
+ { name: "commenter", internalType: "address", type: "address" },
345
+ {
346
+ name: "contractAddress",
347
+ internalType: "address",
348
+ type: "address"
349
+ },
350
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
351
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
352
+ ]
353
+ },
354
+ { name: "sparker", internalType: "address", type: "address" },
355
+ { name: "sparksQuantity", internalType: "uint64", type: "uint64" },
356
+ { name: "deadline", internalType: "uint256", type: "uint256" },
357
+ { name: "nonce", internalType: "bytes32", type: "bytes32" },
358
+ { name: "referrer", internalType: "address", type: "address" },
359
+ { name: "sourceChainId", internalType: "uint256", type: "uint256" },
360
+ {
361
+ name: "destinationChainId",
362
+ internalType: "uint256",
363
+ type: "uint256"
364
+ }
365
+ ]
366
+ }
367
+ ],
368
+ name: "hashPermitSparkComment",
369
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
370
+ },
371
+ {
372
+ stateMutability: "nonpayable",
373
+ type: "function",
374
+ inputs: [
375
+ { name: "_zoraRecipient", internalType: "address", type: "address" },
376
+ { name: "defaultAdmin", internalType: "address", type: "address" },
377
+ { name: "backfiller", internalType: "address", type: "address" },
378
+ {
379
+ name: "delegateCommenters",
380
+ internalType: "address[]",
381
+ type: "address[]"
382
+ }
383
+ ],
384
+ name: "initialize",
385
+ outputs: []
386
+ },
387
+ {
388
+ stateMutability: "view",
389
+ type: "function",
390
+ inputs: [],
391
+ name: "nextNonce",
392
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
393
+ },
394
+ {
395
+ stateMutability: "view",
396
+ type: "function",
397
+ inputs: [
398
+ { name: "owner", internalType: "address", type: "address" },
399
+ { name: "nonce", internalType: "uint256", type: "uint256" }
400
+ ],
401
+ name: "nonceUsed",
402
+ outputs: [{ name: "", internalType: "bool", type: "bool" }]
403
+ },
404
+ {
405
+ stateMutability: "payable",
406
+ type: "function",
407
+ inputs: [
408
+ {
409
+ name: "permit",
410
+ internalType: "struct IComments.PermitComment",
411
+ type: "tuple",
412
+ components: [
413
+ { name: "commenter", internalType: "address", type: "address" },
414
+ { name: "contractAddress", internalType: "address", type: "address" },
415
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
416
+ {
417
+ name: "replyTo",
418
+ internalType: "struct IComments.CommentIdentifier",
419
+ type: "tuple",
420
+ components: [
421
+ { name: "commenter", internalType: "address", type: "address" },
422
+ {
423
+ name: "contractAddress",
424
+ internalType: "address",
425
+ type: "address"
426
+ },
427
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
428
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
429
+ ]
430
+ },
431
+ { name: "text", internalType: "string", type: "string" },
432
+ { name: "sparksQuantity", internalType: "uint64", type: "uint64" },
433
+ { name: "deadline", internalType: "uint256", type: "uint256" },
434
+ { name: "nonce", internalType: "bytes32", type: "bytes32" },
435
+ { name: "referrer", internalType: "address", type: "address" },
436
+ { name: "sourceChainId", internalType: "uint256", type: "uint256" },
437
+ {
438
+ name: "destinationChainId",
439
+ internalType: "uint256",
440
+ type: "uint256"
441
+ }
442
+ ]
443
+ },
444
+ { name: "signature", internalType: "bytes", type: "bytes" }
445
+ ],
446
+ name: "permitComment",
447
+ outputs: []
448
+ },
449
+ {
450
+ stateMutability: "payable",
451
+ type: "function",
452
+ inputs: [
453
+ {
454
+ name: "permit",
455
+ internalType: "struct IComments.PermitSparkComment",
456
+ type: "tuple",
457
+ components: [
458
+ {
459
+ name: "comment",
460
+ internalType: "struct IComments.CommentIdentifier",
461
+ type: "tuple",
462
+ components: [
463
+ { name: "commenter", internalType: "address", type: "address" },
464
+ {
465
+ name: "contractAddress",
466
+ internalType: "address",
467
+ type: "address"
468
+ },
469
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
470
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
471
+ ]
472
+ },
473
+ { name: "sparker", internalType: "address", type: "address" },
474
+ { name: "sparksQuantity", internalType: "uint64", type: "uint64" },
475
+ { name: "deadline", internalType: "uint256", type: "uint256" },
476
+ { name: "nonce", internalType: "bytes32", type: "bytes32" },
477
+ { name: "referrer", internalType: "address", type: "address" },
478
+ { name: "sourceChainId", internalType: "uint256", type: "uint256" },
479
+ {
480
+ name: "destinationChainId",
481
+ internalType: "uint256",
482
+ type: "uint256"
483
+ }
484
+ ]
485
+ },
486
+ { name: "signature", internalType: "bytes", type: "bytes" }
487
+ ],
488
+ name: "permitSparkComment",
489
+ outputs: []
490
+ },
491
+ {
492
+ stateMutability: "view",
493
+ type: "function",
494
+ inputs: [],
495
+ name: "protocolRewards",
496
+ outputs: [
497
+ { name: "", internalType: "contract IProtocolRewards", type: "address" }
498
+ ]
499
+ },
500
+ {
501
+ stateMutability: "view",
502
+ type: "function",
503
+ inputs: [],
504
+ name: "proxiableUUID",
505
+ outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }]
506
+ },
507
+ {
508
+ stateMutability: "nonpayable",
509
+ type: "function",
510
+ inputs: [
511
+ { name: "role", internalType: "bytes32", type: "bytes32" },
512
+ { name: "callerConfirmation", internalType: "address", type: "address" }
513
+ ],
514
+ name: "renounceRole",
515
+ outputs: []
516
+ },
517
+ {
518
+ stateMutability: "nonpayable",
519
+ type: "function",
520
+ inputs: [
521
+ { name: "role", internalType: "bytes32", type: "bytes32" },
522
+ { name: "account", internalType: "address", type: "address" }
523
+ ],
524
+ name: "revokeRole",
525
+ outputs: []
526
+ },
527
+ {
528
+ stateMutability: "payable",
529
+ type: "function",
530
+ inputs: [
531
+ {
532
+ name: "commentIdentifier",
533
+ internalType: "struct IComments.CommentIdentifier",
534
+ type: "tuple",
535
+ components: [
536
+ { name: "commenter", internalType: "address", type: "address" },
537
+ { name: "contractAddress", internalType: "address", type: "address" },
538
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
539
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
540
+ ]
541
+ },
542
+ { name: "sparksQuantity", internalType: "uint64", type: "uint64" },
543
+ { name: "referrer", internalType: "address", type: "address" }
544
+ ],
545
+ name: "sparkComment",
546
+ outputs: []
547
+ },
548
+ {
549
+ stateMutability: "view",
550
+ type: "function",
551
+ inputs: [],
552
+ name: "sparkValue",
553
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }]
554
+ },
555
+ {
556
+ stateMutability: "view",
557
+ type: "function",
558
+ inputs: [{ name: "interfaceId", internalType: "bytes4", type: "bytes4" }],
559
+ name: "supportsInterface",
560
+ outputs: [{ name: "", internalType: "bool", type: "bool" }]
561
+ },
562
+ {
563
+ stateMutability: "payable",
564
+ type: "function",
565
+ inputs: [
566
+ { name: "newImplementation", internalType: "address", type: "address" },
567
+ { name: "data", internalType: "bytes", type: "bytes" }
568
+ ],
569
+ name: "upgradeToAndCall",
570
+ outputs: []
571
+ },
572
+ {
573
+ type: "event",
574
+ anonymous: false,
575
+ inputs: [
576
+ {
577
+ name: "commentId",
578
+ internalType: "bytes32",
579
+ type: "bytes32",
580
+ indexed: true
581
+ },
582
+ {
583
+ name: "comment",
584
+ internalType: "struct IComments.CommentIdentifier",
585
+ type: "tuple",
586
+ components: [
587
+ { name: "commenter", internalType: "address", type: "address" },
588
+ { name: "contractAddress", internalType: "address", type: "address" },
589
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
590
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
591
+ ],
592
+ indexed: false
593
+ },
594
+ { name: "text", internalType: "string", type: "string", indexed: false },
595
+ {
596
+ name: "timestamp",
597
+ internalType: "uint256",
598
+ type: "uint256",
599
+ indexed: false
600
+ },
601
+ {
602
+ name: "originalTransactionId",
603
+ internalType: "bytes32",
604
+ type: "bytes32",
605
+ indexed: false
606
+ }
607
+ ],
608
+ name: "BackfilledComment"
609
+ },
610
+ {
611
+ type: "event",
612
+ anonymous: false,
613
+ inputs: [
614
+ {
615
+ name: "commentId",
616
+ internalType: "bytes32",
617
+ type: "bytes32",
618
+ indexed: true
619
+ },
620
+ {
621
+ name: "comment",
622
+ internalType: "struct IComments.CommentIdentifier",
623
+ type: "tuple",
624
+ components: [
625
+ { name: "commenter", internalType: "address", type: "address" },
626
+ { name: "contractAddress", internalType: "address", type: "address" },
627
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
628
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
629
+ ],
630
+ indexed: false
631
+ },
632
+ {
633
+ name: "replyToId",
634
+ internalType: "bytes32",
635
+ type: "bytes32",
636
+ indexed: false
637
+ },
638
+ {
639
+ name: "replyTo",
640
+ internalType: "struct IComments.CommentIdentifier",
641
+ type: "tuple",
642
+ components: [
643
+ { name: "commenter", internalType: "address", type: "address" },
644
+ { name: "contractAddress", internalType: "address", type: "address" },
645
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
646
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
647
+ ],
648
+ indexed: false
649
+ },
650
+ {
651
+ name: "sparksQuantity",
652
+ internalType: "uint64",
653
+ type: "uint64",
654
+ indexed: false
655
+ },
656
+ { name: "text", internalType: "string", type: "string", indexed: false },
657
+ {
658
+ name: "timestamp",
659
+ internalType: "uint256",
660
+ type: "uint256",
661
+ indexed: false
662
+ },
663
+ {
664
+ name: "referrer",
665
+ internalType: "address",
666
+ type: "address",
667
+ indexed: false
668
+ }
669
+ ],
670
+ name: "Commented"
671
+ },
672
+ {
673
+ type: "event",
674
+ anonymous: false,
675
+ inputs: [
676
+ {
677
+ name: "version",
678
+ internalType: "uint64",
679
+ type: "uint64",
680
+ indexed: false
681
+ }
682
+ ],
683
+ name: "Initialized"
684
+ },
685
+ {
686
+ type: "event",
687
+ anonymous: false,
688
+ inputs: [
689
+ { name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
690
+ {
691
+ name: "previousAdminRole",
692
+ internalType: "bytes32",
693
+ type: "bytes32",
694
+ indexed: true
695
+ },
696
+ {
697
+ name: "newAdminRole",
698
+ internalType: "bytes32",
699
+ type: "bytes32",
700
+ indexed: true
701
+ }
702
+ ],
703
+ name: "RoleAdminChanged"
704
+ },
705
+ {
706
+ type: "event",
707
+ anonymous: false,
708
+ inputs: [
709
+ { name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
710
+ {
711
+ name: "account",
712
+ internalType: "address",
713
+ type: "address",
714
+ indexed: true
715
+ },
716
+ {
717
+ name: "sender",
718
+ internalType: "address",
719
+ type: "address",
720
+ indexed: true
721
+ }
722
+ ],
723
+ name: "RoleGranted"
724
+ },
725
+ {
726
+ type: "event",
727
+ anonymous: false,
728
+ inputs: [
729
+ { name: "role", internalType: "bytes32", type: "bytes32", indexed: true },
730
+ {
731
+ name: "account",
732
+ internalType: "address",
733
+ type: "address",
734
+ indexed: true
735
+ },
736
+ {
737
+ name: "sender",
738
+ internalType: "address",
739
+ type: "address",
740
+ indexed: true
741
+ }
742
+ ],
743
+ name: "RoleRevoked"
744
+ },
745
+ {
746
+ type: "event",
747
+ anonymous: false,
748
+ inputs: [
749
+ {
750
+ name: "commentId",
751
+ internalType: "bytes32",
752
+ type: "bytes32",
753
+ indexed: true
754
+ },
755
+ {
756
+ name: "commentIdentifier",
757
+ internalType: "struct IComments.CommentIdentifier",
758
+ type: "tuple",
759
+ components: [
760
+ { name: "commenter", internalType: "address", type: "address" },
761
+ { name: "contractAddress", internalType: "address", type: "address" },
762
+ { name: "tokenId", internalType: "uint256", type: "uint256" },
763
+ { name: "nonce", internalType: "bytes32", type: "bytes32" }
764
+ ],
765
+ indexed: false
766
+ },
767
+ {
768
+ name: "sparksQuantity",
769
+ internalType: "uint64",
770
+ type: "uint64",
771
+ indexed: false
772
+ },
773
+ {
774
+ name: "sparker",
775
+ internalType: "address",
776
+ type: "address",
777
+ indexed: false
778
+ },
779
+ {
780
+ name: "timestamp",
781
+ internalType: "uint256",
782
+ type: "uint256",
783
+ indexed: false
784
+ }
785
+ ],
786
+ name: "SparkedComment"
787
+ },
788
+ {
789
+ type: "event",
790
+ anonymous: false,
791
+ inputs: [
792
+ {
793
+ name: "implementation",
794
+ internalType: "address",
795
+ type: "address",
796
+ indexed: true
797
+ }
798
+ ],
799
+ name: "Upgraded"
800
+ },
801
+ { type: "error", inputs: [], name: "AccessControlBadConfirmation" },
802
+ {
803
+ type: "error",
804
+ inputs: [
805
+ { name: "account", internalType: "address", type: "address" },
806
+ { name: "neededRole", internalType: "bytes32", type: "bytes32" }
807
+ ],
808
+ name: "AccessControlUnauthorizedAccount"
809
+ },
810
+ {
811
+ type: "error",
812
+ inputs: [{ name: "target", internalType: "address", type: "address" }],
813
+ name: "AddressEmptyCode"
814
+ },
815
+ { type: "error", inputs: [], name: "ArrayLengthMismatch" },
816
+ { type: "error", inputs: [], name: "CannotSparkOwnComment" },
817
+ {
818
+ type: "error",
819
+ inputs: [
820
+ { name: "commentAddress", internalType: "address", type: "address" },
821
+ { name: "commentTokenId", internalType: "uint256", type: "uint256" },
822
+ { name: "replyAddress", internalType: "address", type: "address" },
823
+ { name: "replyTokenId", internalType: "uint256", type: "uint256" }
824
+ ],
825
+ name: "CommentAddressOrTokenIdsDoNotMatch"
826
+ },
827
+ { type: "error", inputs: [], name: "CommentDoesntExist" },
828
+ {
829
+ type: "error",
830
+ inputs: [
831
+ { name: "expected", internalType: "address", type: "address" },
832
+ { name: "actual", internalType: "address", type: "address" }
833
+ ],
834
+ name: "CommenterMismatch"
835
+ },
836
+ {
837
+ type: "error",
838
+ inputs: [{ name: "commentId", internalType: "bytes32", type: "bytes32" }],
839
+ name: "DuplicateComment"
840
+ },
841
+ {
842
+ type: "error",
843
+ inputs: [
844
+ { name: "implementation", internalType: "address", type: "address" }
845
+ ],
846
+ name: "ERC1967InvalidImplementation"
847
+ },
848
+ { type: "error", inputs: [], name: "ERC1967NonPayable" },
849
+ {
850
+ type: "error",
851
+ inputs: [{ name: "deadline", internalType: "uint256", type: "uint256" }],
852
+ name: "ERC2612ExpiredSignature"
853
+ },
854
+ { type: "error", inputs: [], name: "EmptyComment" },
855
+ { type: "error", inputs: [], name: "FailedInnerCall" },
856
+ {
857
+ type: "error",
858
+ inputs: [
859
+ {
860
+ name: "wrongDestinationChainId",
861
+ internalType: "uint256",
862
+ type: "uint256"
863
+ }
864
+ ],
865
+ name: "IncorrectDestinationChain"
866
+ },
867
+ {
868
+ type: "error",
869
+ inputs: [
870
+ { name: "actual", internalType: "uint256", type: "uint256" },
871
+ { name: "expected", internalType: "uint256", type: "uint256" }
872
+ ],
873
+ name: "IncorrectETHAmountForSparks"
874
+ },
875
+ {
876
+ type: "error",
877
+ inputs: [
878
+ { name: "account", internalType: "address", type: "address" },
879
+ { name: "currentNonce", internalType: "uint256", type: "uint256" }
880
+ ],
881
+ name: "InvalidAccountNonce"
882
+ },
883
+ { type: "error", inputs: [], name: "InvalidInitialization" },
884
+ { type: "error", inputs: [], name: "InvalidSignature" },
885
+ { type: "error", inputs: [], name: "MustSendAtLeastOneSpark" },
886
+ { type: "error", inputs: [], name: "NotInitializing" },
887
+ { type: "error", inputs: [], name: "NotTokenHolderOrAdmin" },
888
+ { type: "error", inputs: [], name: "OnlySparksContract" },
889
+ { type: "error", inputs: [], name: "TransferFailed" },
890
+ { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" },
891
+ {
892
+ type: "error",
893
+ inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }],
894
+ name: "UUPSUnsupportedProxiableUUID"
895
+ },
896
+ {
897
+ type: "error",
898
+ inputs: [
899
+ { name: "currentName", internalType: "string", type: "string" },
900
+ { name: "newName", internalType: "string", type: "string" }
901
+ ],
902
+ name: "UpgradeToMismatchedContractName"
903
+ }
904
+ ];
905
+ export {
906
+ commentsImplABI
907
+ };
908
+ //# sourceMappingURL=index.js.map