@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/.env.example ADDED
@@ -0,0 +1,11 @@
1
+ ALCHEMY_KEY=
2
+ TENDERLY_KEY=
3
+
4
+ CONDUIT_KEY=
5
+
6
+ # Turnkey authentication and private key information
7
+ TURNKEY_API_PUBLIC_KEY=""
8
+ TURNKEY_API_PRIVATE_KEY=""
9
+ TURNKEY_ORGANIZATION_ID=""
10
+ TURNKEY_PRIVATE_KEY_ID="xxxx-xxx-xxxx-xxxx-xxxxxxxx"
11
+ TURNKEY_TARGET_ADDRESS="xxxxxxxx"
@@ -0,0 +1,60 @@
1
+
2
+ > @zoralabs/comments-contracts@0.0.1 build /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.0.1 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
7
+ > FOUNDRY_PROFILE=dev forge build && wagmi generate
8
+
9
+ Compiling 93 files with Solc 0.8.23
10
+ Solc 0.8.23 finished in 23.33s
11
+ Compiler run successful!
12
+ - Validating plugins
13
+ ✔ Validating plugins
14
+ - Resolving contracts
15
+ ✔ Resolving contracts
16
+ - Running plugins
17
+ ✔ Running plugins
18
+ - Writing to package/wagmiGenerated.ts
19
+ ✔ Writing to package/wagmiGenerated.ts
20
+
21
+ > @zoralabs/comments-contracts@0.0.1 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
22
+ > pnpm tsx script/bundle-abis.ts
23
+
24
+
25
+ > @zoralabs/comments-contracts@0.0.1 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments
26
+ > prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
27
+
28
+ src/CommentsImpl.sol 1251ms (unchanged)
29
+ src/deployments/CommentsDeployment.sol 19ms (unchanged)
30
+ src/interfaces/IComments.sol 55ms (unchanged)
31
+ src/interfaces/IZoraCreator1155.sol 10ms (unchanged)
32
+ src/proxy/Comments.sol 25ms (unchanged)
33
+ src/utils/EIP712UpgradeableWithChainId.sol 36ms (unchanged)
34
+ src/version/ContractVersionBase.sol 4ms (unchanged)
35
+ test/Comments_mintAndComment.t.sol 162ms (unchanged)
36
+ test/Comments_permit.t.sol 423ms (unchanged)
37
+ test/Comments.t.sol 577ms (unchanged)
38
+ test/CommentsTestBase.sol 68ms (unchanged)
39
+ test/mocks/Mock1155.sol 34ms (unchanged)
40
+ test/mocks/MockMinter.sol 17ms (unchanged)
41
+ test/mocks/ProtocolRewards.sol 693ms (unchanged)
42
+ script/CommentsDeployerBase.sol 63ms (unchanged)
43
+ script/Deploy.s.sol 57ms (unchanged)
44
+ script/DeployImpl.s.sol 39ms (unchanged)
45
+ script/DeployNonDeterministic.s.sol 29ms (unchanged)
46
+ script/GenerateDeterministicParams.s.sol 31ms (unchanged)
47
+ CLI Building entry: package/index.ts
48
+ CLI Using tsconfig: tsconfig.json
49
+ CLI tsup v7.3.0
50
+ CLI Using tsup config: /home/runner/work/zora-protocol-private/zora-protocol-private/packages/comments/tsup.config.ts
51
+ CLI Target: es2021
52
+ CLI Cleaning output folder
53
+ CJS Build start
54
+ ESM Build start
55
+ ESM dist/index.js 27.14 KB
56
+ ESM dist/index.js.map 47.24 KB
57
+ ESM ⚡️ Build success in 30ms
58
+ CJS dist/index.cjs 28.16 KB
59
+ CJS dist/index.cjs.map 47.51 KB
60
+ CJS ⚡️ Build success in 32ms
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Zora Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,70 @@
1
+ # Comments
2
+
3
+ ## Deployment
4
+
5
+ The `Comments` contract is deployed deterministically using a turnkey account. The deployment process uses a helper contract, [DeterministicDeployerAndCaller](../../packages/shared-contracts/src/deployment/DeterministicDeployerAndCaller.sol).
6
+
7
+ ### Prerequisites
8
+
9
+ - Ensure you have [Forge](https://book.getfoundry.sh/getting-started/installation) installed.
10
+ - Familiarity with [turnkey accounts](https://docs.turnkey.com/) is recommended.
11
+
12
+ ### Setting up environment variables
13
+
14
+ In the `packages/comments` directory:
15
+
16
+ 1. Copy `.env.example` to `.env`
17
+ 2. Populate the parameters in `.env`
18
+ 3. Set `TURNKEY_TARGET_ADDRESS` to the address of the turnkey account that will sign the deployment.
19
+
20
+ ### Deploying the Comments Contract
21
+
22
+ 1. Generate deterministic config (if not already done):
23
+
24
+ ```bash
25
+ DEPLOYER={TURNKEY_DEPLOYER_ADDRESS} forge script script/GenerateDeterministicParams.s.sol $(chains zora --rpc) --ffi
26
+ ```
27
+
28
+ This saves the config to `./deterministicConfig/comments.json`.
29
+
30
+ 2. Deploy the `Comments` contract:
31
+
32
+ ```bash
33
+ forge script script/Deploy.s.sol $(chains {chainName} --rpc) --broadcast --verify
34
+ ```
35
+
36
+ where `{chainName}` is the emdash name of the chain you want to deploy on.
37
+
38
+ ## Seeding a Comments Contract
39
+
40
+ ### Backfilling MintComments
41
+
42
+ `MintComment` events are legacy events for commenting when minting on
43
+ Zora 1155 contracts. To import the into a Comments contract, so that
44
+ they can be replied to and sparked, the following script can be run.
45
+
46
+ ```
47
+ pnpm tsx scripts/backfillComments.ts {chainName}
48
+ ```
49
+
50
+ where `{chainName}` is the emdash name of the chain you want to backfill on.
51
+
52
+ Example usages:
53
+
54
+ ```
55
+ // for zora sepolia
56
+ pnpm tsx scripts/backfillComments.ts zora-sepolia
57
+ // for zora mainnet
58
+ pnpm tsx scripts/backfillComments.ts zora
59
+ // for base
60
+ pnpm tsx scripts/backfillComments.ts base
61
+ ```
62
+
63
+ ### Seeding Comments Contract with some Test Data
64
+
65
+ Currently only on Zora Sepolia, this will create some comments, replies,
66
+ and sparked comments.
67
+
68
+ ```
69
+ pnpm tsx scripts/generateCommentsTestData.ts
70
+ ```
@@ -0,0 +1,41 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.23;
3
+
4
+ /*
5
+
6
+
7
+
8
+
9
+
10
+ ░░░░░░░░░░░░░░
11
+ ░░▒▒░░░░░░░░░░░░░░░░░░░░
12
+ ░░▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░
13
+ ░░▒▒▒▒░░░░░░░░░░░░░░ ░░░░░░░░
14
+ ░▓▓▒▒▒▒░░░░░░░░░░░░ ░░░░░░░
15
+ ░▓▓▓▒▒▒▒░░░░░░░░░░░░ ░░░░░░░░
16
+ ░▓▓▓▒▒▒▒░░░░░░░░░░░░░░ ░░░░░░░░░░
17
+ ░▓▓▓▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░
18
+ ░▓▓▓▓▓▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░
19
+ ░▓▓▓▓▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░
20
+ ░░▓▓▓▓▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░
21
+ ░░▓▓▓▓▓▓▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒░░
22
+ ░░▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░
23
+ ░░▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░
24
+
25
+ OURS TRULY,
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ */
38
+
39
+ interface Enjoy {
40
+
41
+ }
@@ -0,0 +1,250 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "DEFAULT_ADMIN_ROLE",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "bytes32",
10
+ "internalType": "bytes32"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "getRoleAdmin",
18
+ "inputs": [
19
+ {
20
+ "name": "role",
21
+ "type": "bytes32",
22
+ "internalType": "bytes32"
23
+ }
24
+ ],
25
+ "outputs": [
26
+ {
27
+ "name": "",
28
+ "type": "bytes32",
29
+ "internalType": "bytes32"
30
+ }
31
+ ],
32
+ "stateMutability": "view"
33
+ },
34
+ {
35
+ "type": "function",
36
+ "name": "grantRole",
37
+ "inputs": [
38
+ {
39
+ "name": "role",
40
+ "type": "bytes32",
41
+ "internalType": "bytes32"
42
+ },
43
+ {
44
+ "name": "account",
45
+ "type": "address",
46
+ "internalType": "address"
47
+ }
48
+ ],
49
+ "outputs": [],
50
+ "stateMutability": "nonpayable"
51
+ },
52
+ {
53
+ "type": "function",
54
+ "name": "hasRole",
55
+ "inputs": [
56
+ {
57
+ "name": "role",
58
+ "type": "bytes32",
59
+ "internalType": "bytes32"
60
+ },
61
+ {
62
+ "name": "account",
63
+ "type": "address",
64
+ "internalType": "address"
65
+ }
66
+ ],
67
+ "outputs": [
68
+ {
69
+ "name": "",
70
+ "type": "bool",
71
+ "internalType": "bool"
72
+ }
73
+ ],
74
+ "stateMutability": "view"
75
+ },
76
+ {
77
+ "type": "function",
78
+ "name": "renounceRole",
79
+ "inputs": [
80
+ {
81
+ "name": "role",
82
+ "type": "bytes32",
83
+ "internalType": "bytes32"
84
+ },
85
+ {
86
+ "name": "callerConfirmation",
87
+ "type": "address",
88
+ "internalType": "address"
89
+ }
90
+ ],
91
+ "outputs": [],
92
+ "stateMutability": "nonpayable"
93
+ },
94
+ {
95
+ "type": "function",
96
+ "name": "revokeRole",
97
+ "inputs": [
98
+ {
99
+ "name": "role",
100
+ "type": "bytes32",
101
+ "internalType": "bytes32"
102
+ },
103
+ {
104
+ "name": "account",
105
+ "type": "address",
106
+ "internalType": "address"
107
+ }
108
+ ],
109
+ "outputs": [],
110
+ "stateMutability": "nonpayable"
111
+ },
112
+ {
113
+ "type": "function",
114
+ "name": "supportsInterface",
115
+ "inputs": [
116
+ {
117
+ "name": "interfaceId",
118
+ "type": "bytes4",
119
+ "internalType": "bytes4"
120
+ }
121
+ ],
122
+ "outputs": [
123
+ {
124
+ "name": "",
125
+ "type": "bool",
126
+ "internalType": "bool"
127
+ }
128
+ ],
129
+ "stateMutability": "view"
130
+ },
131
+ {
132
+ "type": "event",
133
+ "name": "Initialized",
134
+ "inputs": [
135
+ {
136
+ "name": "version",
137
+ "type": "uint64",
138
+ "indexed": false,
139
+ "internalType": "uint64"
140
+ }
141
+ ],
142
+ "anonymous": false
143
+ },
144
+ {
145
+ "type": "event",
146
+ "name": "RoleAdminChanged",
147
+ "inputs": [
148
+ {
149
+ "name": "role",
150
+ "type": "bytes32",
151
+ "indexed": true,
152
+ "internalType": "bytes32"
153
+ },
154
+ {
155
+ "name": "previousAdminRole",
156
+ "type": "bytes32",
157
+ "indexed": true,
158
+ "internalType": "bytes32"
159
+ },
160
+ {
161
+ "name": "newAdminRole",
162
+ "type": "bytes32",
163
+ "indexed": true,
164
+ "internalType": "bytes32"
165
+ }
166
+ ],
167
+ "anonymous": false
168
+ },
169
+ {
170
+ "type": "event",
171
+ "name": "RoleGranted",
172
+ "inputs": [
173
+ {
174
+ "name": "role",
175
+ "type": "bytes32",
176
+ "indexed": true,
177
+ "internalType": "bytes32"
178
+ },
179
+ {
180
+ "name": "account",
181
+ "type": "address",
182
+ "indexed": true,
183
+ "internalType": "address"
184
+ },
185
+ {
186
+ "name": "sender",
187
+ "type": "address",
188
+ "indexed": true,
189
+ "internalType": "address"
190
+ }
191
+ ],
192
+ "anonymous": false
193
+ },
194
+ {
195
+ "type": "event",
196
+ "name": "RoleRevoked",
197
+ "inputs": [
198
+ {
199
+ "name": "role",
200
+ "type": "bytes32",
201
+ "indexed": true,
202
+ "internalType": "bytes32"
203
+ },
204
+ {
205
+ "name": "account",
206
+ "type": "address",
207
+ "indexed": true,
208
+ "internalType": "address"
209
+ },
210
+ {
211
+ "name": "sender",
212
+ "type": "address",
213
+ "indexed": true,
214
+ "internalType": "address"
215
+ }
216
+ ],
217
+ "anonymous": false
218
+ },
219
+ {
220
+ "type": "error",
221
+ "name": "AccessControlBadConfirmation",
222
+ "inputs": []
223
+ },
224
+ {
225
+ "type": "error",
226
+ "name": "AccessControlUnauthorizedAccount",
227
+ "inputs": [
228
+ {
229
+ "name": "account",
230
+ "type": "address",
231
+ "internalType": "address"
232
+ },
233
+ {
234
+ "name": "neededRole",
235
+ "type": "bytes32",
236
+ "internalType": "bytes32"
237
+ }
238
+ ]
239
+ },
240
+ {
241
+ "type": "error",
242
+ "name": "InvalidInitialization",
243
+ "inputs": []
244
+ },
245
+ {
246
+ "type": "error",
247
+ "name": "NotInitializing",
248
+ "inputs": []
249
+ }
250
+ ]
@@ -0,0 +1,29 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "AddressEmptyCode",
5
+ "inputs": [
6
+ {
7
+ "name": "target",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ]
12
+ },
13
+ {
14
+ "type": "error",
15
+ "name": "AddressInsufficientBalance",
16
+ "inputs": [
17
+ {
18
+ "name": "account",
19
+ "type": "address",
20
+ "internalType": "address"
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "type": "error",
26
+ "name": "FailedInnerCall",
27
+ "inputs": []
28
+ }
29
+ ]
@@ -0,0 +1,62 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "_logic",
7
+ "type": "address",
8
+ "internalType": "address"
9
+ }
10
+ ],
11
+ "stateMutability": "nonpayable"
12
+ },
13
+ {
14
+ "type": "fallback",
15
+ "stateMutability": "payable"
16
+ },
17
+ {
18
+ "type": "event",
19
+ "name": "Upgraded",
20
+ "inputs": [
21
+ {
22
+ "name": "implementation",
23
+ "type": "address",
24
+ "indexed": true,
25
+ "internalType": "address"
26
+ }
27
+ ],
28
+ "anonymous": false
29
+ },
30
+ {
31
+ "type": "error",
32
+ "name": "AddressEmptyCode",
33
+ "inputs": [
34
+ {
35
+ "name": "target",
36
+ "type": "address",
37
+ "internalType": "address"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "type": "error",
43
+ "name": "ERC1967InvalidImplementation",
44
+ "inputs": [
45
+ {
46
+ "name": "implementation",
47
+ "type": "address",
48
+ "internalType": "address"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "type": "error",
54
+ "name": "ERC1967NonPayable",
55
+ "inputs": []
56
+ },
57
+ {
58
+ "type": "error",
59
+ "name": "FailedInnerCall",
60
+ "inputs": []
61
+ }
62
+ ]
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "IS_SCRIPT",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "bool",
10
+ "internalType": "bool"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ }
15
+ ]