@zoralabs/comments-contracts 0.0.3 → 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.
- package/.abi-stability +225 -0
- package/.env.example +0 -1
- package/.turbo/turbo-build$colon$js.log +416 -0
- package/CHANGELOG.md +16 -0
- package/abis/CommentsImpl.json +0 -5
- package/abis/IComments.json +0 -5
- package/abis/Vm.json +1482 -111
- package/abis/{MockMultiOwnable.json → VmContractHelper121.json} +119 -98
- package/abis/VmContractHelper135.json +233 -0
- package/abis/VmContractHelper98.json +233 -0
- package/abis/VmSafe.json +856 -32
- package/dist/index.cjs +3 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +0 -4
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/foundry.toml +1 -0
- package/package/wagmiGenerated.ts +0 -1
- package/package.json +11 -7
- package/script/CommentsDeployerBase.sol +1 -1
- package/script/storage-check.sh +1 -1
- package/src/CommentsImpl.sol +2 -20
- package/src/interfaces/IComments.sol +0 -3
- package/src/version/ContractVersionBase.sol +1 -1
- package/test/Comments.t.sol +4 -6
- package/test/Comments_delegateComment.t.sol +19 -2
- package/test/Comments_permit.t.sol +2 -2
- package/test/Comments_smartWallet.t.sol +2 -4
- package/.turbo/turbo-build.log +0 -84
- package/abis/AddDelegateCommenterRole.json +0 -9
- package/abis/CallerAndCommenterMintAndCommentTest.json +0 -771
- package/abis/CallerAndCommenterSwapAndCommentTest.json +0 -844
- package/abis/CommentsPermitTest.json +0 -867
- package/abis/CommentsTest.json +0 -1062
- package/abis/Comments_mintAndCommentTest.json +0 -697
- package/abis/Comments_smartWallet.json +0 -746
- package/abis/DeployCallerAndCommenterImpl.json +0 -9
- package/abis/DeployImpl.json +0 -9
- package/abis/DeployNonDeterministic.json +0 -9
- package/abis/DeployScript.json +0 -9
- package/abis/ERC1155Holder.json +0 -99
- package/abis/GenerateDeterministicParams.json +0 -9
- package/test/CallerAndCommenter_mintAndComment.t copy.sol +0 -214
package/.abi-stability
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
=======================
|
|
2
|
+
👁👁 ABI STABILITY snapshot 👁👁
|
|
3
|
+
=======================
|
|
4
|
+
|
|
5
|
+
===============================
|
|
6
|
+
DEPRECATED FUNCTIONS
|
|
7
|
+
===============================
|
|
8
|
+
|
|
9
|
+
(none)
|
|
10
|
+
|
|
11
|
+
===============================
|
|
12
|
+
➡ ICallerAndCommenter
|
|
13
|
+
===============================
|
|
14
|
+
|
|
15
|
+
--- EVENTS ---
|
|
16
|
+
|
|
17
|
+
╭----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╮
|
|
18
|
+
| Event | Topic |
|
|
19
|
+
+===========================================================================================================================================================================================+
|
|
20
|
+
| MintedAndCommented(bytes32,IComments.CommentIdentifier,uint256,string) | 0xcedb5a75580654e29d3155d729722981b31eaf1430626b7c53aadf5b6e4c159b |
|
|
21
|
+
|----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
22
|
+
| SwappedOnSecondaryAndCommented(bytes32,IComments.CommentIdentifier,uint256,string,ICallerAndCommenter.SwapDirection) | 0x75abe44fdeadfdd67030f2daa67c1059ca29139b11a7474bc1b0ad0de3ef53e1 |
|
|
23
|
+
╰----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╯
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
--- FUNCTIONS ---
|
|
27
|
+
|
|
28
|
+
╭------------------------------------------------------------------------------------------------------------------------------+------------╮
|
|
29
|
+
| Method | Identifier |
|
|
30
|
+
+===========================================================================================================================================+
|
|
31
|
+
| buyOnSecondaryAndComment(address,uint256,address,uint256,address,uint256,uint160,string) | 39ba9549 |
|
|
32
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
33
|
+
| comments() | 25c843b9 |
|
|
34
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
35
|
+
| hashPermitBuyOnSecondaryAndComment((address,uint256,address,uint256,uint256,uint160,string,uint256,bytes32,uint32,uint32)) | 168c50d5 |
|
|
36
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
37
|
+
| hashPermitTimedSaleMintAndComment((address,uint256,address,uint256,address,string,uint256,bytes32,uint32,uint32)) | 9d6cc5f8 |
|
|
38
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
39
|
+
| initialize(address) | c4d66de8 |
|
|
40
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
41
|
+
| permitBuyOnSecondaryAndComment((address,uint256,address,uint256,uint256,uint160,string,uint256,bytes32,uint32,uint32),bytes) | 0fa432e8 |
|
|
42
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
43
|
+
| permitTimedSaleMintAndComment((address,uint256,address,uint256,address,string,uint256,bytes32,uint32,uint32),bytes) | 51a08885 |
|
|
44
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
45
|
+
| sellOnSecondaryAndComment(address,uint256,address,uint256,address,uint256,uint160,string) | f5c540d0 |
|
|
46
|
+
|------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
47
|
+
| timedSaleMintAndComment(address,uint256,address,uint256,address,string) | 77713026 |
|
|
48
|
+
╰------------------------------------------------------------------------------------------------------------------------------+------------╯
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
===============================
|
|
52
|
+
➡ ICoinComments
|
|
53
|
+
===============================
|
|
54
|
+
|
|
55
|
+
--- EVENTS ---
|
|
56
|
+
|
|
57
|
+
╭-------+-------╮
|
|
58
|
+
| Event | Topic |
|
|
59
|
+
+===============+
|
|
60
|
+
╰-------+-------╯
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
--- FUNCTIONS ---
|
|
64
|
+
|
|
65
|
+
╭--------------------+------------╮
|
|
66
|
+
| Method | Identifier |
|
|
67
|
+
+=================================+
|
|
68
|
+
| balanceOf(address) | 70a08231 |
|
|
69
|
+
|--------------------+------------|
|
|
70
|
+
| isOwner(address) | 2f54bf6e |
|
|
71
|
+
|--------------------+------------|
|
|
72
|
+
| payoutRecipient() | 3fb80b15 |
|
|
73
|
+
╰--------------------+------------╯
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
===============================
|
|
77
|
+
➡ IComments
|
|
78
|
+
===============================
|
|
79
|
+
|
|
80
|
+
--- EVENTS ---
|
|
81
|
+
|
|
82
|
+
╭-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╮
|
|
83
|
+
| Event | Topic |
|
|
84
|
+
+========================================================================================================================================================================================+
|
|
85
|
+
| BackfilledComment(bytes32,IComments.CommentIdentifier,string,uint256,bytes32) | 0x0bc97795ba26a99c8fa64f7929d95dc237ecae3c6db64508d07ca5cf1ef8a2a2 |
|
|
86
|
+
|-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
87
|
+
| Commented(bytes32,IComments.CommentIdentifier,bytes32,IComments.CommentIdentifier,uint256,string,uint256,address) | 0xeee8cd8185162ef6658993ba27320099864440fe513fb9ae1c9ab7421113b572 |
|
|
88
|
+
|-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------|
|
|
89
|
+
| SparkedComment(bytes32,IComments.CommentIdentifier,uint256,address,uint256,address) | 0xb2c2c602f3c1f47735b32d6a660d741f13d555e25493cf652586575aac1962d4 |
|
|
90
|
+
╰-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------╯
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
--- FUNCTIONS ---
|
|
94
|
+
|
|
95
|
+
╭---------------------------------------------------------------------------------------------------------------------------------------+------------╮
|
|
96
|
+
| Method | Identifier |
|
|
97
|
+
+====================================================================================================================================================+
|
|
98
|
+
| backfillBatchAddComment((address,address,uint256,bytes32)[],string[],uint256[],bytes32[]) | 97de1487 |
|
|
99
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
100
|
+
| comment(address,address,uint256,string,(address,address,uint256,bytes32),address,address) | 94053b34 |
|
|
101
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
102
|
+
| commentSparksQuantity((address,address,uint256,bytes32)) | a2152d18 |
|
|
103
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
104
|
+
| delegateComment(address,address,uint256,string,(address,address,uint256,bytes32),address,address) | ce5263c3 |
|
|
105
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
106
|
+
| hashAndCheckCommentExists((address,address,uint256,bytes32)) | c46a4ae1 |
|
|
107
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
108
|
+
| hashAndValidateCommentExists((address,address,uint256,bytes32)) | ffb5d589 |
|
|
109
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
110
|
+
| hashCommentIdentifier((address,address,uint256,bytes32)) | e30e9ae3 |
|
|
111
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
112
|
+
| hashPermitComment((address,address,address,uint256,(address,address,uint256,bytes32),string,address,uint256,bytes32,uint32,uint32)) | 75ae094f |
|
|
113
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
114
|
+
| hashPermitSparkComment(((address,address,uint256,bytes32),address,uint256,uint256,bytes32,address,uint32,uint32)) | b8452919 |
|
|
115
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
116
|
+
| implementation() | 5c60da1b |
|
|
117
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
118
|
+
| initialize(address,address,address[]) | 77a24f36 |
|
|
119
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
120
|
+
| nextNonce() | d69c3d30 |
|
|
121
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
122
|
+
| permitComment((address,address,address,uint256,(address,address,uint256,bytes32),string,address,uint256,bytes32,uint32,uint32),bytes) | 53c6dcd5 |
|
|
123
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
124
|
+
| permitSparkComment(((address,address,uint256,bytes32),address,uint256,uint256,bytes32,address,uint32,uint32),bytes) | e5c97b13 |
|
|
125
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
126
|
+
| sparkComment((address,address,uint256,bytes32),uint256,address) | cf59d007 |
|
|
127
|
+
|---------------------------------------------------------------------------------------------------------------------------------------+------------|
|
|
128
|
+
| sparkValue() | 0046365d |
|
|
129
|
+
╰---------------------------------------------------------------------------------------------------------------------------------------+------------╯
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
===============================
|
|
133
|
+
➡ IMultiOwnable
|
|
134
|
+
===============================
|
|
135
|
+
|
|
136
|
+
--- EVENTS ---
|
|
137
|
+
|
|
138
|
+
╭-------+-------╮
|
|
139
|
+
| Event | Topic |
|
|
140
|
+
+===============+
|
|
141
|
+
╰-------+-------╯
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
--- FUNCTIONS ---
|
|
145
|
+
|
|
146
|
+
╭-------------------------+------------╮
|
|
147
|
+
| Method | Identifier |
|
|
148
|
+
+======================================+
|
|
149
|
+
| isOwnerAddress(address) | a2e1a8d8 |
|
|
150
|
+
╰-------------------------+------------╯
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
===============================
|
|
154
|
+
➡ ISecondarySwap
|
|
155
|
+
===============================
|
|
156
|
+
|
|
157
|
+
--- EVENTS ---
|
|
158
|
+
|
|
159
|
+
╭-------+-------╮
|
|
160
|
+
| Event | Topic |
|
|
161
|
+
+===============+
|
|
162
|
+
╰-------+-------╯
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
--- FUNCTIONS ---
|
|
166
|
+
|
|
167
|
+
╭----------------------------------------------------------+------------╮
|
|
168
|
+
| Method | Identifier |
|
|
169
|
+
+=======================================================================+
|
|
170
|
+
| buy1155(address,uint256,address,address,uint256,uint160) | b3836da9 |
|
|
171
|
+
╰----------------------------------------------------------+------------╯
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
===============================
|
|
175
|
+
➡ IZoraCreator1155
|
|
176
|
+
===============================
|
|
177
|
+
|
|
178
|
+
--- EVENTS ---
|
|
179
|
+
(no events)
|
|
180
|
+
|
|
181
|
+
--- FUNCTIONS ---
|
|
182
|
+
(no methods)
|
|
183
|
+
|
|
184
|
+
===============================
|
|
185
|
+
➡ IZoraCreator1155TypesV1
|
|
186
|
+
===============================
|
|
187
|
+
|
|
188
|
+
--- EVENTS ---
|
|
189
|
+
|
|
190
|
+
╭-------+-------╮
|
|
191
|
+
| Event | Topic |
|
|
192
|
+
+===============+
|
|
193
|
+
╰-------+-------╯
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
--- FUNCTIONS ---
|
|
197
|
+
|
|
198
|
+
╭--------+------------╮
|
|
199
|
+
| Method | Identifier |
|
|
200
|
+
+=====================+
|
|
201
|
+
╰--------+------------╯
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
===============================
|
|
205
|
+
➡ IZoraTimedSaleStrategy
|
|
206
|
+
===============================
|
|
207
|
+
|
|
208
|
+
--- EVENTS ---
|
|
209
|
+
|
|
210
|
+
╭-------+-------╮
|
|
211
|
+
| Event | Topic |
|
|
212
|
+
+===============+
|
|
213
|
+
╰-------+-------╯
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
--- FUNCTIONS ---
|
|
217
|
+
|
|
218
|
+
╭------------------------------------------------------+------------╮
|
|
219
|
+
| Method | Identifier |
|
|
220
|
+
+===================================================================+
|
|
221
|
+
| mint(address,uint256,address,uint256,address,string) | a836f32f |
|
|
222
|
+
|------------------------------------------------------+------------|
|
|
223
|
+
| sale(address,uint256) | 611efc09 |
|
|
224
|
+
╰------------------------------------------------------+------------╯
|
|
225
|
+
|
package/.env.example
CHANGED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
|
|
2
|
+
> @zoralabs/comments-contracts@0.1.1 build:js /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
|
|
3
|
+
> pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
> @zoralabs/comments-contracts@0.1.1 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
|
|
7
|
+
> pnpm run build:contracts:minimal && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
> @zoralabs/comments-contracts@0.1.1 build:contracts:minimal /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
|
|
11
|
+
> forge build --skip test --skip script --no-metadata
|
|
12
|
+
|
|
13
|
+
Compiling 108 files with Solc 0.8.23
|
|
14
|
+
Solc 0.8.23 finished in 33.87s
|
|
15
|
+
Compiler run successful!
|
|
16
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
17
|
+
--> src/utils/CallerAndCommenterImpl.sol:31:32
|
|
18
|
+
|
|
|
19
|
+
31 | IComments public immutable comments;
|
|
20
|
+
| ^^^^^^^^
|
|
21
|
+
|
|
|
22
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
23
|
+
|
|
24
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
25
|
+
--> src/utils/CallerAndCommenterImpl.sol:32:45
|
|
26
|
+
|
|
|
27
|
+
32 | IZoraTimedSaleStrategy public immutable zoraTimedSale;
|
|
28
|
+
| ^^^^^^^^^^^^^
|
|
29
|
+
|
|
|
30
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
31
|
+
|
|
32
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
33
|
+
--> src/utils/CallerAndCommenterImpl.sol:33:37
|
|
34
|
+
|
|
|
35
|
+
33 | ISecondarySwap public immutable secondarySwap;
|
|
36
|
+
| ^^^^^^^^^^^^^
|
|
37
|
+
|
|
|
38
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
39
|
+
|
|
40
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
41
|
+
--> src/utils/CallerAndCommenterImpl.sol:34:30
|
|
42
|
+
|
|
|
43
|
+
34 | uint256 public immutable sparkValue;
|
|
44
|
+
| ^^^^^^^^^^
|
|
45
|
+
|
|
|
46
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
47
|
+
|
|
48
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
49
|
+
--> src/utils/CallerAndCommenterImpl.sol:109:30
|
|
50
|
+
|
|
|
51
|
+
109 | bytes32 structHash = keccak256(
|
|
52
|
+
| ______________________________^
|
|
53
|
+
110 | | abi.encode(
|
|
54
|
+
111 | | PERMIT_TIMED_SALE_MINT_AND_COMMENT_DOMAIN,
|
|
55
|
+
112 | | permit.commenter,
|
|
56
|
+
... |
|
|
57
|
+
123 | | );
|
|
58
|
+
| |_________^
|
|
59
|
+
|
|
|
60
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
61
|
+
|
|
62
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
63
|
+
--> src/utils/EIP712UpgradeableWithChainId.sol:19:16
|
|
64
|
+
|
|
|
65
|
+
19 | return keccak256(abi.encode(TYPE_HASH, _EIP712NameHash(), _EIP712VersionHash(), chainId, address(this)));
|
|
66
|
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
67
|
+
|
|
|
68
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
69
|
+
|
|
70
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
71
|
+
--> src/proxy/Comments.sol:36:32
|
|
72
|
+
|
|
|
73
|
+
36 | bytes32 internal immutable name;
|
|
74
|
+
| ^^^^
|
|
75
|
+
|
|
|
76
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
77
|
+
|
|
78
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
79
|
+
--> src/proxy/CallerAndCommenter.sol:36:32
|
|
80
|
+
|
|
|
81
|
+
36 | bytes32 internal immutable name;
|
|
82
|
+
| ^^^^
|
|
83
|
+
|
|
|
84
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
85
|
+
|
|
86
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
87
|
+
--> src/CommentsImpl.sol:39:30
|
|
88
|
+
|
|
|
89
|
+
39 | uint256 public immutable sparkValue;
|
|
90
|
+
| ^^^^^^^^^^
|
|
91
|
+
|
|
|
92
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
93
|
+
|
|
94
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
95
|
+
--> src/CommentsImpl.sol:41:39
|
|
96
|
+
|
|
|
97
|
+
41 | IProtocolRewards public immutable protocolRewards;
|
|
98
|
+
| ^^^^^^^^^^^^^^^
|
|
99
|
+
|
|
|
100
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
101
|
+
|
|
102
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
103
|
+
--> src/CommentsImpl.sol:43:23
|
|
104
|
+
|
|
|
105
|
+
43 | address immutable zoraRecipient;
|
|
106
|
+
| ^^^^^^^^^^^^^
|
|
107
|
+
|
|
|
108
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
109
|
+
|
|
110
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
111
|
+
--> src/CommentsImpl.sol:122:16
|
|
112
|
+
|
|
|
113
|
+
122 | return keccak256(abi.encode(commentIdentifier));
|
|
114
|
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
115
|
+
|
|
|
116
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
117
|
+
|
|
118
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
119
|
+
--> src/CommentsImpl.sol:484:13
|
|
120
|
+
|
|
|
121
|
+
484 | / keccak256(
|
|
122
|
+
485 | | abi.encode(
|
|
123
|
+
486 | | COMMENT_IDENTIFIER_DOMAIN,
|
|
124
|
+
487 | | commentIdentifier.contractAddress,
|
|
125
|
+
... |
|
|
126
|
+
492 | | );
|
|
127
|
+
| |_____________^
|
|
128
|
+
|
|
|
129
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
130
|
+
|
|
131
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
132
|
+
--> src/CommentsImpl.sol:499:30
|
|
133
|
+
|
|
|
134
|
+
499 | bytes32 structHash = keccak256(
|
|
135
|
+
| ______________________________^
|
|
136
|
+
500 | | abi.encode(
|
|
137
|
+
501 | | PERMIT_COMMENT_DOMAIN,
|
|
138
|
+
502 | | permit.contractAddress,
|
|
139
|
+
... |
|
|
140
|
+
514 | | );
|
|
141
|
+
| |_________^
|
|
142
|
+
|
|
|
143
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
144
|
+
|
|
145
|
+
note[asm-keccak256]: use of inefficient hashing mechanism; consider using inline assembly
|
|
146
|
+
--> src/CommentsImpl.sol:559:30
|
|
147
|
+
|
|
|
148
|
+
559 | bytes32 structHash = keccak256(
|
|
149
|
+
| ______________________________^
|
|
150
|
+
560 | | abi.encode(
|
|
151
|
+
561 | | PERMIT_SPARK_COMMENT_DOMAIN,
|
|
152
|
+
562 | | _hashCommentIdentifier(permit.comment),
|
|
153
|
+
... |
|
|
154
|
+
571 | | );
|
|
155
|
+
| |_________^
|
|
156
|
+
|
|
|
157
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#asm-keccak256
|
|
158
|
+
|
|
159
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
160
|
+
--> test/mocks/MockDelegateCommenter.sol:8:25
|
|
161
|
+
|
|
|
162
|
+
8 | IComments immutable comments;
|
|
163
|
+
| ^^^^^^^^
|
|
164
|
+
|
|
|
165
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
166
|
+
|
|
167
|
+
note[mixed-case-variable]: mutable variables should use mixedCase
|
|
168
|
+
--> test/mocks/MockDelegateCommenter.sol:9:13
|
|
169
|
+
|
|
|
170
|
+
9 | uint256 MINT_FEE = 0.000111 ether;
|
|
171
|
+
| ^^^^^^^^
|
|
172
|
+
|
|
|
173
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#mixed-case-variable
|
|
174
|
+
|
|
175
|
+
note[named-struct-fields]: prefer initializing structs with named fields
|
|
176
|
+
--> test/mocks/MockZoraTimedSale.sol:31:39
|
|
177
|
+
|
|
|
178
|
+
31 | collectionForErc20z[erc20z] = CollectionAndTokenId(collection, tokenId);
|
|
179
|
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
180
|
+
|
|
|
181
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#named-struct-fields
|
|
182
|
+
|
|
183
|
+
note[unaliased-plain-import]: use named imports '{A, B}' or alias 'import ".." as X'
|
|
184
|
+
--> test/CommentsTestBase.sol:4:8
|
|
185
|
+
|
|
|
186
|
+
4 | import "forge-std/Test.sol";
|
|
187
|
+
| ^^^^^^^^^^^^^^^^^^^^
|
|
188
|
+
|
|
|
189
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unaliased-plain-import
|
|
190
|
+
|
|
191
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
192
|
+
--> test/mocks/MockSecondarySwap.sol:10:33
|
|
193
|
+
|
|
|
194
|
+
10 | MockZoraTimedSale immutable mockTimedSale;
|
|
195
|
+
| ^^^^^^^^^^^^^
|
|
196
|
+
|
|
|
197
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
198
|
+
|
|
199
|
+
note[unaliased-plain-import]: use named imports '{A, B}' or alias 'import ".." as X'
|
|
200
|
+
--> script/CommentsDeployerBase.sol:4:8
|
|
201
|
+
|
|
|
202
|
+
4 | import "forge-std/Script.sol";
|
|
203
|
+
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
204
|
+
|
|
|
205
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unaliased-plain-import
|
|
206
|
+
|
|
207
|
+
note[unsafe-cheatcode]: usage of unsafe cheatcodes that can perform dangerous operations
|
|
208
|
+
--> script/CommentsDeployerBase.sol:55:33
|
|
209
|
+
|
|
|
210
|
+
55 | string memory json = vm.readFile(file);
|
|
211
|
+
| ^^^^^^^^
|
|
212
|
+
|
|
|
213
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unsafe-cheatcode
|
|
214
|
+
|
|
215
|
+
note[unused-import]: unused imports should be removed
|
|
216
|
+
--> script/CommentsDeployerBase.sol:10:9
|
|
217
|
+
|
|
|
218
|
+
10 | import {CallerAndCommenter} from "../src/proxy/CallerAndCommenter.sol";
|
|
219
|
+
| ^^^^^^^^^^^^^^^^^^
|
|
220
|
+
|
|
|
221
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unused-import
|
|
222
|
+
|
|
223
|
+
warning[incorrect-shift]: the order of args in a shift operation is incorrect
|
|
224
|
+
--> test/mocks/ProtocolRewards.sol:341:26
|
|
225
|
+
|
|
|
226
|
+
341 | uint256 result = 1 << (log2(a) >> 1);
|
|
227
|
+
| ^^^^^^^^^^^^^^^^^^^
|
|
228
|
+
|
|
|
229
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#incorrect-shift
|
|
230
|
+
|
|
231
|
+
warning[incorrect-shift]: the order of args in a shift operation is incorrect
|
|
232
|
+
--> test/mocks/ProtocolRewards.sol:418:57
|
|
233
|
+
|
|
|
234
|
+
418 | return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);
|
|
235
|
+
| ^^^^^^^^^^^
|
|
236
|
+
|
|
|
237
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#incorrect-shift
|
|
238
|
+
|
|
239
|
+
warning[incorrect-shift]: the order of args in a shift operation is incorrect
|
|
240
|
+
--> test/mocks/ProtocolRewards.sol:510:57
|
|
241
|
+
|
|
|
242
|
+
510 | return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);
|
|
243
|
+
| ^^^^^^^^^^^^^^^^^^
|
|
244
|
+
|
|
|
245
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#incorrect-shift
|
|
246
|
+
|
|
247
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
248
|
+
--> test/mocks/ProtocolRewards.sol:1149:31
|
|
249
|
+
|
|
|
250
|
+
1149 | bytes32 private immutable _cachedDomainSeparator;
|
|
251
|
+
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
252
|
+
|
|
|
253
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
254
|
+
|
|
255
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
256
|
+
--> test/mocks/ProtocolRewards.sol:1150:31
|
|
257
|
+
|
|
|
258
|
+
1150 | uint256 private immutable _cachedChainId;
|
|
259
|
+
| ^^^^^^^^^^^^^^
|
|
260
|
+
|
|
|
261
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
262
|
+
|
|
263
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
264
|
+
--> test/mocks/ProtocolRewards.sol:1151:31
|
|
265
|
+
|
|
|
266
|
+
1151 | address private immutable _cachedThis;
|
|
267
|
+
| ^^^^^^^^^^^
|
|
268
|
+
|
|
|
269
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
270
|
+
|
|
271
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
272
|
+
--> test/mocks/ProtocolRewards.sol:1153:31
|
|
273
|
+
|
|
|
274
|
+
1153 | bytes32 private immutable _hashedName;
|
|
275
|
+
| ^^^^^^^^^^^
|
|
276
|
+
|
|
|
277
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
278
|
+
|
|
279
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
280
|
+
--> test/mocks/ProtocolRewards.sol:1154:31
|
|
281
|
+
|
|
|
282
|
+
1154 | bytes32 private immutable _hashedVersion;
|
|
283
|
+
| ^^^^^^^^^^^^^^
|
|
284
|
+
|
|
|
285
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
286
|
+
|
|
287
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
288
|
+
--> test/mocks/ProtocolRewards.sol:1156:35
|
|
289
|
+
|
|
|
290
|
+
1156 | ShortString private immutable _name;
|
|
291
|
+
| ^^^^^
|
|
292
|
+
|
|
|
293
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
294
|
+
|
|
295
|
+
note[screaming-snake-case-immutable]: immutables should use SCREAMING_SNAKE_CASE
|
|
296
|
+
--> test/mocks/ProtocolRewards.sol:1157:35
|
|
297
|
+
|
|
|
298
|
+
1157 | ShortString private immutable _version;
|
|
299
|
+
| ^^^^^^^^
|
|
300
|
+
|
|
|
301
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#screaming-snake-case-immutable
|
|
302
|
+
|
|
303
|
+
warning[unsafe-typecast]: typecasts that can truncate values should be checked
|
|
304
|
+
--> test/mocks/ProtocolRewards.sol:544:28
|
|
305
|
+
|
|
|
306
|
+
544 | return x + (int256(uint256(x) >> 255) & (a ^ b));
|
|
307
|
+
| ^^^^^^^^^^
|
|
308
|
+
|
|
|
309
|
+
= note: Consider disabling this lint if you're certain the cast is safe:
|
|
310
|
+
|
|
311
|
+
// casting to 'uint256' is safe because [explain why]
|
|
312
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unsafe-typecast
|
|
316
|
+
|
|
317
|
+
warning[unsafe-typecast]: typecasts that can truncate values should be checked
|
|
318
|
+
--> test/mocks/ProtocolRewards.sol:749:33
|
|
319
|
+
|
|
|
320
|
+
749 | return ShortString.wrap(bytes32(uint256(bytes32(bstr)) | bstr.length));
|
|
321
|
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
322
|
+
|
|
|
323
|
+
= note: Consider disabling this lint if you're certain the cast is safe:
|
|
324
|
+
|
|
325
|
+
// casting to 'bytes32' is safe because [explain why]
|
|
326
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unsafe-typecast
|
|
330
|
+
|
|
331
|
+
warning[unsafe-typecast]: typecasts that can truncate values should be checked
|
|
332
|
+
--> test/mocks/ProtocolRewards.sol:749:49
|
|
333
|
+
|
|
|
334
|
+
749 | return ShortString.wrap(bytes32(uint256(bytes32(bstr)) | bstr.length));
|
|
335
|
+
| ^^^^^^^^^^^^^
|
|
336
|
+
|
|
|
337
|
+
= note: Consider disabling this lint if you're certain the cast is safe:
|
|
338
|
+
|
|
339
|
+
// casting to 'bytes32' is safe because [explain why]
|
|
340
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
= help: https://book.getfoundry.sh/reference/forge/forge-lint#unsafe-typecast
|
|
344
|
+
|
|
345
|
+
[33m-[39m Validating plugins
|
|
346
|
+
[32m✔[39m Validating plugins
|
|
347
|
+
[33m-[39m Resolving contracts
|
|
348
|
+
[32m✔[39m Resolving contracts
|
|
349
|
+
[33m-[39m Running plugins
|
|
350
|
+
[32m✔[39m Running plugins
|
|
351
|
+
[33m-[39m Writing to [90mpackage/wagmiGenerated.ts[39m
|
|
352
|
+
[32m✔[39m Writing to [90mpackage/wagmiGenerated.ts[39m
|
|
353
|
+
🔄 Processing 1 file(s) to replace 'Abi' with 'ABI'...
|
|
354
|
+
📝 Processing ./package/wagmiGenerated.ts...
|
|
355
|
+
✅ Updated ./package/wagmiGenerated.ts (2 replacements)
|
|
356
|
+
✨ All files processed successfully!
|
|
357
|
+
|
|
358
|
+
> @zoralabs/comments-contracts@0.1.1 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
|
|
359
|
+
> pnpm exec bundle-abis
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
> @zoralabs/comments-contracts@0.1.1 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
|
|
363
|
+
> prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
|
|
364
|
+
|
|
365
|
+
[90msrc/CommentsImpl.sol[39m 1199ms (unchanged)
|
|
366
|
+
[90msrc/CommentsImplConstants.sol[39m 17ms (unchanged)
|
|
367
|
+
[90msrc/interfaces/ICallerAndCommenter.sol[39m 30ms (unchanged)
|
|
368
|
+
[90msrc/interfaces/ICoinComments.sol[39m 10ms (unchanged)
|
|
369
|
+
[90msrc/interfaces/IComments.sol[39m 69ms (unchanged)
|
|
370
|
+
[90msrc/interfaces/IMultiOwnable.sol[39m 2ms (unchanged)
|
|
371
|
+
[90msrc/interfaces/ISecondarySwap.sol[39m 9ms (unchanged)
|
|
372
|
+
[90msrc/interfaces/IZoraCreator1155.sol[39m 3ms (unchanged)
|
|
373
|
+
[90msrc/interfaces/IZoraCreator1155TypesV1.sol[39m 12ms (unchanged)
|
|
374
|
+
[90msrc/interfaces/IZoraTimedSaleStrategy.sol[39m 6ms (unchanged)
|
|
375
|
+
[90msrc/proxy/CallerAndCommenter.sol[39m 15ms (unchanged)
|
|
376
|
+
[90msrc/proxy/Comments.sol[39m 9ms (unchanged)
|
|
377
|
+
[90msrc/utils/CallerAndCommenterImpl.sol[39m 253ms (unchanged)
|
|
378
|
+
[90msrc/utils/EIP712UpgradeableWithChainId.sol[39m 11ms (unchanged)
|
|
379
|
+
[90msrc/version/ContractVersionBase.sol[39m 4ms (unchanged)
|
|
380
|
+
[90mtest/CallerAndCommenter_swapAndComment.t.sol[39m 391ms (unchanged)
|
|
381
|
+
[90mtest/CallerAndCommenterTestBase.sol[39m 75ms (unchanged)
|
|
382
|
+
[90mtest/Comments_delegateComment.t.sol[39m 117ms (unchanged)
|
|
383
|
+
[90mtest/Comments_permit.t.sol[39m 368ms (unchanged)
|
|
384
|
+
[90mtest/Comments_smartWallet.t.sol[39m 138ms (unchanged)
|
|
385
|
+
[90mtest/Comments.t.sol[39m 750ms (unchanged)
|
|
386
|
+
[90mtest/CommentsTestBase.sol[39m 66ms (unchanged)
|
|
387
|
+
[90mtest/mocks/Mock1155.sol[39m 44ms (unchanged)
|
|
388
|
+
[90mtest/mocks/Mock1155NoCreatorRewardRecipient.sol[39m 39ms (unchanged)
|
|
389
|
+
[90mtest/mocks/Mock1155NoOwner.sol[39m 34ms (unchanged)
|
|
390
|
+
[90mtest/mocks/MockCoin.sol[39m 27ms (unchanged)
|
|
391
|
+
[90mtest/mocks/MockDelegateCommenter.sol[39m 24ms (unchanged)
|
|
392
|
+
[90mtest/mocks/MockIZoraCreator1155.sol[39m 2ms (unchanged)
|
|
393
|
+
[90mtest/mocks/MockSecondarySwap.sol[39m 24ms (unchanged)
|
|
394
|
+
[90mtest/mocks/MockZoraTimedSale.sol[39m 26ms (unchanged)
|
|
395
|
+
[90mtest/mocks/ProtocolRewards.sol[39m 837ms (unchanged)
|
|
396
|
+
[90mscript/AddDelegateCommenterRole.s.sol[39m 15ms (unchanged)
|
|
397
|
+
[90mscript/CommentsDeployerBase.sol[39m 97ms (unchanged)
|
|
398
|
+
[90mscript/Deploy.s.sol[39m 7ms (unchanged)
|
|
399
|
+
[90mscript/DeployCallerAndCommenterImpl.s.sol[39m 17ms (unchanged)
|
|
400
|
+
[90mscript/DeployImpl.s.sol[39m 19ms (unchanged)
|
|
401
|
+
[90mscript/DeployNonDeterministic.s.sol[39m 30ms (unchanged)
|
|
402
|
+
[90mscript/GenerateDeterministicParams.s.sol[39m 36ms (unchanged)
|
|
403
|
+
[34mCLI[39m Building entry: package/index.ts
|
|
404
|
+
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
405
|
+
[34mCLI[39m tsup v8.5.1
|
|
406
|
+
[34mCLI[39m Using tsup config: /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments/tsup.config.ts
|
|
407
|
+
[34mCLI[39m Target: es2021
|
|
408
|
+
[34mCLI[39m Cleaning output folder
|
|
409
|
+
[34mCJS[39m Build start
|
|
410
|
+
[34mESM[39m Build start
|
|
411
|
+
[32mESM[39m [1mdist/index.js [22m[32m47.88 KB[39m
|
|
412
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m83.45 KB[39m
|
|
413
|
+
[32mESM[39m ⚡️ Build success in 52ms
|
|
414
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m48.96 KB[39m
|
|
415
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m83.73 KB[39m
|
|
416
|
+
[32mCJS[39m ⚡️ Build success in 55ms
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @zoralabs/comments-contracts
|
|
2
2
|
|
|
3
|
+
## 0.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fbb389583: Bump viem to 2.53.1
|
|
8
|
+
|
|
9
|
+
Raise the pinned viem version from 2.22.12 to 2.53.1 across the monorepo to pick up newer chain definitions and support the latest x402 v2 client packages.
|
|
10
|
+
|
|
11
|
+
## 0.1.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- e4938846: Remove token holding requirement for commenting
|
|
16
|
+
|
|
17
|
+
Users can now comment on any coin without holding the token. Non-admin users must still send 1 spark to comment, but token ownership is no longer required. Delegate commenters can still comment with 0 sparks.
|
|
18
|
+
|
|
3
19
|
## 0.0.3
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|