@bananapus/721-hook-v6 1.0.0 → 1.1.0
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/README.md +4 -0
- package/deployments/arbitrum/JB721Checkpoints.json +794 -0
- package/deployments/arbitrum/JB721CheckpointsDeployer.json +158 -0
- package/deployments/arbitrum/JB721TiersHook.json +2817 -0
- package/deployments/arbitrum/JB721TiersHookDeployer.json +447 -0
- package/deployments/arbitrum/JB721TiersHookLib.json +713 -0
- package/deployments/arbitrum/JB721TiersHookProjectDeployer.json +1793 -0
- package/deployments/arbitrum/JB721TiersHookStore.json +1744 -0
- package/deployments/arbitrum/JB721TiersHook__ProjectBAN.json +3497 -0
- package/deployments/arbitrum/JB721TiersHook__ProjectCPN.json +3450 -0
- package/deployments/arbitrum_sepolia/JB721Checkpoints.json +794 -0
- package/deployments/arbitrum_sepolia/JB721CheckpointsDeployer.json +158 -0
- package/deployments/arbitrum_sepolia/JB721TiersHook.json +2817 -0
- package/deployments/arbitrum_sepolia/JB721TiersHookDeployer.json +447 -0
- package/deployments/arbitrum_sepolia/JB721TiersHookLib.json +713 -0
- package/deployments/arbitrum_sepolia/JB721TiersHookProjectDeployer.json +1793 -0
- package/deployments/arbitrum_sepolia/JB721TiersHookStore.json +1744 -0
- package/deployments/arbitrum_sepolia/JB721TiersHook__ProjectBAN.json +3497 -0
- package/deployments/arbitrum_sepolia/JB721TiersHook__ProjectCPN.json +3450 -0
- package/deployments/base/JB721Checkpoints.json +799 -0
- package/deployments/base/JB721CheckpointsDeployer.json +163 -0
- package/deployments/base/JB721TiersHook.json +2822 -0
- package/deployments/base/JB721TiersHookDeployer.json +452 -0
- package/deployments/base/JB721TiersHookLib.json +718 -0
- package/deployments/base/JB721TiersHookProjectDeployer.json +1798 -0
- package/deployments/base/JB721TiersHookStore.json +1749 -0
- package/deployments/base/JB721TiersHook__ProjectBAN.json +3502 -0
- package/deployments/base/JB721TiersHook__ProjectCPN.json +3455 -0
- package/deployments/base_sepolia/JB721Checkpoints.json +799 -0
- package/deployments/base_sepolia/JB721CheckpointsDeployer.json +163 -0
- package/deployments/base_sepolia/JB721TiersHook.json +2822 -0
- package/deployments/base_sepolia/JB721TiersHookDeployer.json +452 -0
- package/deployments/base_sepolia/JB721TiersHookLib.json +718 -0
- package/deployments/base_sepolia/JB721TiersHookProjectDeployer.json +1798 -0
- package/deployments/base_sepolia/JB721TiersHookStore.json +1749 -0
- package/deployments/base_sepolia/JB721TiersHook__ProjectBAN.json +3502 -0
- package/deployments/base_sepolia/JB721TiersHook__ProjectCPN.json +3455 -0
- package/deployments/ethereum/JB721Checkpoints.json +791 -0
- package/deployments/ethereum/JB721CheckpointsDeployer.json +155 -0
- package/deployments/ethereum/JB721TiersHook.json +2814 -0
- package/deployments/ethereum/JB721TiersHookDeployer.json +444 -0
- package/deployments/ethereum/JB721TiersHookLib.json +710 -0
- package/deployments/ethereum/JB721TiersHookProjectDeployer.json +1790 -0
- package/deployments/ethereum/JB721TiersHookStore.json +1741 -0
- package/deployments/ethereum/JB721TiersHook__ProjectBAN.json +3511 -0
- package/deployments/ethereum/JB721TiersHook__ProjectCPN.json +3503 -0
- package/deployments/optimism/JB721Checkpoints.json +799 -0
- package/deployments/optimism/JB721CheckpointsDeployer.json +163 -0
- package/deployments/optimism/JB721TiersHook.json +2822 -0
- package/deployments/optimism/JB721TiersHookDeployer.json +452 -0
- package/deployments/optimism/JB721TiersHookLib.json +718 -0
- package/deployments/optimism/JB721TiersHookProjectDeployer.json +1798 -0
- package/deployments/optimism/JB721TiersHookStore.json +1749 -0
- package/deployments/optimism/JB721TiersHook__ProjectBAN.json +3502 -0
- package/deployments/optimism/JB721TiersHook__ProjectCPN.json +3438 -0
- package/deployments/optimism_sepolia/JB721Checkpoints.json +799 -0
- package/deployments/optimism_sepolia/JB721CheckpointsDeployer.json +163 -0
- package/deployments/optimism_sepolia/JB721TiersHook.json +2822 -0
- package/deployments/optimism_sepolia/JB721TiersHookDeployer.json +452 -0
- package/deployments/optimism_sepolia/JB721TiersHookLib.json +718 -0
- package/deployments/optimism_sepolia/JB721TiersHookProjectDeployer.json +1798 -0
- package/deployments/optimism_sepolia/JB721TiersHookStore.json +1749 -0
- package/deployments/optimism_sepolia/JB721TiersHook__ProjectBAN.json +3453 -0
- package/deployments/optimism_sepolia/JB721TiersHook__ProjectCPN.json +3389 -0
- package/deployments/sepolia/JB721Checkpoints.json +791 -0
- package/deployments/sepolia/JB721CheckpointsDeployer.json +155 -0
- package/deployments/sepolia/JB721TiersHook.json +2814 -0
- package/deployments/sepolia/JB721TiersHookDeployer.json +444 -0
- package/deployments/sepolia/JB721TiersHookLib.json +710 -0
- package/deployments/sepolia/JB721TiersHookProjectDeployer.json +1790 -0
- package/deployments/sepolia/JB721TiersHookStore.json +1741 -0
- package/deployments/sepolia/JB721TiersHook__ProjectBAN.json +3511 -0
- package/deployments/sepolia/JB721TiersHook__ProjectCPN.json +3503 -0
- package/package.json +3 -2
- package/src/JB721TiersHookProjectDeployer.sol +20 -0
|
@@ -0,0 +1,1741 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "sphinx-sol-ct-artifact-1",
|
|
3
|
+
"address": "0x69913acf79dbba170d9efafe605ee62b42164f9c",
|
|
4
|
+
"sourceName": "node_modules/@bananapus/721-hook-v6/src/JB721TiersHookStore.sol",
|
|
5
|
+
"contractName": "JB721TiersHookStore",
|
|
6
|
+
"chainId": "0xaa36a7",
|
|
7
|
+
"abi": [
|
|
8
|
+
{
|
|
9
|
+
"type": "function",
|
|
10
|
+
"name": "balanceOf",
|
|
11
|
+
"inputs": [
|
|
12
|
+
{
|
|
13
|
+
"name": "hook",
|
|
14
|
+
"type": "address",
|
|
15
|
+
"internalType": "address"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "owner",
|
|
19
|
+
"type": "address",
|
|
20
|
+
"internalType": "address"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"outputs": [
|
|
24
|
+
{
|
|
25
|
+
"name": "",
|
|
26
|
+
"type": "uint256",
|
|
27
|
+
"internalType": "uint256"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"stateMutability": "view"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "function",
|
|
34
|
+
"name": "cashOutWeightOf",
|
|
35
|
+
"inputs": [
|
|
36
|
+
{
|
|
37
|
+
"name": "hook",
|
|
38
|
+
"type": "address",
|
|
39
|
+
"internalType": "address"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "tokenIds",
|
|
43
|
+
"type": "uint256[]",
|
|
44
|
+
"internalType": "uint256[]"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"outputs": [
|
|
48
|
+
{
|
|
49
|
+
"name": "weight",
|
|
50
|
+
"type": "uint256",
|
|
51
|
+
"internalType": "uint256"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"stateMutability": "view"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "function",
|
|
58
|
+
"name": "cleanTiers",
|
|
59
|
+
"inputs": [
|
|
60
|
+
{
|
|
61
|
+
"name": "hook",
|
|
62
|
+
"type": "address",
|
|
63
|
+
"internalType": "address"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"outputs": [],
|
|
67
|
+
"stateMutability": "nonpayable"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "function",
|
|
71
|
+
"name": "defaultReserveBeneficiaryOf",
|
|
72
|
+
"inputs": [
|
|
73
|
+
{
|
|
74
|
+
"name": "hook",
|
|
75
|
+
"type": "address",
|
|
76
|
+
"internalType": "address"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"outputs": [
|
|
80
|
+
{
|
|
81
|
+
"name": "",
|
|
82
|
+
"type": "address",
|
|
83
|
+
"internalType": "address"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"stateMutability": "view"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "function",
|
|
90
|
+
"name": "encodedIpfsUriOf",
|
|
91
|
+
"inputs": [
|
|
92
|
+
{
|
|
93
|
+
"name": "hook",
|
|
94
|
+
"type": "address",
|
|
95
|
+
"internalType": "address"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "tierId",
|
|
99
|
+
"type": "uint256",
|
|
100
|
+
"internalType": "uint256"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"outputs": [
|
|
104
|
+
{
|
|
105
|
+
"name": "",
|
|
106
|
+
"type": "bytes32",
|
|
107
|
+
"internalType": "bytes32"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"stateMutability": "view"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"type": "function",
|
|
114
|
+
"name": "encodedTierIPFSUriOf",
|
|
115
|
+
"inputs": [
|
|
116
|
+
{
|
|
117
|
+
"name": "hook",
|
|
118
|
+
"type": "address",
|
|
119
|
+
"internalType": "address"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "tokenId",
|
|
123
|
+
"type": "uint256",
|
|
124
|
+
"internalType": "uint256"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"outputs": [
|
|
128
|
+
{
|
|
129
|
+
"name": "",
|
|
130
|
+
"type": "bytes32",
|
|
131
|
+
"internalType": "bytes32"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"stateMutability": "view"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "function",
|
|
138
|
+
"name": "flagsOf",
|
|
139
|
+
"inputs": [
|
|
140
|
+
{
|
|
141
|
+
"name": "hook",
|
|
142
|
+
"type": "address",
|
|
143
|
+
"internalType": "address"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"outputs": [
|
|
147
|
+
{
|
|
148
|
+
"name": "",
|
|
149
|
+
"type": "tuple",
|
|
150
|
+
"internalType": "struct JB721TiersHookFlags",
|
|
151
|
+
"components": [
|
|
152
|
+
{
|
|
153
|
+
"name": "noNewTiersWithReserves",
|
|
154
|
+
"type": "bool",
|
|
155
|
+
"internalType": "bool"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "noNewTiersWithVotes",
|
|
159
|
+
"type": "bool",
|
|
160
|
+
"internalType": "bool"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "noNewTiersWithOwnerMinting",
|
|
164
|
+
"type": "bool",
|
|
165
|
+
"internalType": "bool"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "preventOverspending",
|
|
169
|
+
"type": "bool",
|
|
170
|
+
"internalType": "bool"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "issueTokensForSplits",
|
|
174
|
+
"type": "bool",
|
|
175
|
+
"internalType": "bool"
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"stateMutability": "view"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "function",
|
|
184
|
+
"name": "heldTierIdsOf",
|
|
185
|
+
"inputs": [
|
|
186
|
+
{
|
|
187
|
+
"name": "hook",
|
|
188
|
+
"type": "address",
|
|
189
|
+
"internalType": "address"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "owner",
|
|
193
|
+
"type": "address",
|
|
194
|
+
"internalType": "address"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"outputs": [
|
|
198
|
+
{
|
|
199
|
+
"name": "tierIds",
|
|
200
|
+
"type": "uint256[]",
|
|
201
|
+
"internalType": "uint256[]"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"stateMutability": "view"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"type": "function",
|
|
208
|
+
"name": "heldTierVotingUnitsOf",
|
|
209
|
+
"inputs": [
|
|
210
|
+
{
|
|
211
|
+
"name": "hook",
|
|
212
|
+
"type": "address",
|
|
213
|
+
"internalType": "address"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "account",
|
|
217
|
+
"type": "address",
|
|
218
|
+
"internalType": "address"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
"outputs": [
|
|
222
|
+
{
|
|
223
|
+
"name": "tierIds",
|
|
224
|
+
"type": "uint256[]",
|
|
225
|
+
"internalType": "uint256[]"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "units",
|
|
229
|
+
"type": "uint256[]",
|
|
230
|
+
"internalType": "uint256[]"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"stateMutability": "view"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"type": "function",
|
|
237
|
+
"name": "isTierRemoved",
|
|
238
|
+
"inputs": [
|
|
239
|
+
{
|
|
240
|
+
"name": "hook",
|
|
241
|
+
"type": "address",
|
|
242
|
+
"internalType": "address"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "tierId",
|
|
246
|
+
"type": "uint256",
|
|
247
|
+
"internalType": "uint256"
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"outputs": [
|
|
251
|
+
{
|
|
252
|
+
"name": "",
|
|
253
|
+
"type": "bool",
|
|
254
|
+
"internalType": "bool"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"stateMutability": "view"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"type": "function",
|
|
261
|
+
"name": "maxTierIdOf",
|
|
262
|
+
"inputs": [
|
|
263
|
+
{
|
|
264
|
+
"name": "hook",
|
|
265
|
+
"type": "address",
|
|
266
|
+
"internalType": "address"
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"outputs": [
|
|
270
|
+
{
|
|
271
|
+
"name": "",
|
|
272
|
+
"type": "uint256",
|
|
273
|
+
"internalType": "uint256"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"stateMutability": "view"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"type": "function",
|
|
280
|
+
"name": "numberOfBurnedFor",
|
|
281
|
+
"inputs": [
|
|
282
|
+
{
|
|
283
|
+
"name": "hook",
|
|
284
|
+
"type": "address",
|
|
285
|
+
"internalType": "address"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"name": "tierId",
|
|
289
|
+
"type": "uint256",
|
|
290
|
+
"internalType": "uint256"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"outputs": [
|
|
294
|
+
{
|
|
295
|
+
"name": "",
|
|
296
|
+
"type": "uint256",
|
|
297
|
+
"internalType": "uint256"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"stateMutability": "view"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"type": "function",
|
|
304
|
+
"name": "numberOfPendingReservesFor",
|
|
305
|
+
"inputs": [
|
|
306
|
+
{
|
|
307
|
+
"name": "hook",
|
|
308
|
+
"type": "address",
|
|
309
|
+
"internalType": "address"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "tierId",
|
|
313
|
+
"type": "uint256",
|
|
314
|
+
"internalType": "uint256"
|
|
315
|
+
}
|
|
316
|
+
],
|
|
317
|
+
"outputs": [
|
|
318
|
+
{
|
|
319
|
+
"name": "",
|
|
320
|
+
"type": "uint256",
|
|
321
|
+
"internalType": "uint256"
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"stateMutability": "view"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"type": "function",
|
|
328
|
+
"name": "numberOfReservesMintedFor",
|
|
329
|
+
"inputs": [
|
|
330
|
+
{
|
|
331
|
+
"name": "hook",
|
|
332
|
+
"type": "address",
|
|
333
|
+
"internalType": "address"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "tierId",
|
|
337
|
+
"type": "uint256",
|
|
338
|
+
"internalType": "uint256"
|
|
339
|
+
}
|
|
340
|
+
],
|
|
341
|
+
"outputs": [
|
|
342
|
+
{
|
|
343
|
+
"name": "",
|
|
344
|
+
"type": "uint256",
|
|
345
|
+
"internalType": "uint256"
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"stateMutability": "view"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"type": "function",
|
|
352
|
+
"name": "recordAddTiers",
|
|
353
|
+
"inputs": [
|
|
354
|
+
{
|
|
355
|
+
"name": "tiersToAdd",
|
|
356
|
+
"type": "tuple[]",
|
|
357
|
+
"internalType": "struct JB721TierConfig[]",
|
|
358
|
+
"components": [
|
|
359
|
+
{
|
|
360
|
+
"name": "price",
|
|
361
|
+
"type": "uint104",
|
|
362
|
+
"internalType": "uint104"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"name": "initialSupply",
|
|
366
|
+
"type": "uint32",
|
|
367
|
+
"internalType": "uint32"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "votingUnits",
|
|
371
|
+
"type": "uint32",
|
|
372
|
+
"internalType": "uint32"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "reserveFrequency",
|
|
376
|
+
"type": "uint16",
|
|
377
|
+
"internalType": "uint16"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "reserveBeneficiary",
|
|
381
|
+
"type": "address",
|
|
382
|
+
"internalType": "address"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"name": "encodedIpfsUri",
|
|
386
|
+
"type": "bytes32",
|
|
387
|
+
"internalType": "bytes32"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "category",
|
|
391
|
+
"type": "uint24",
|
|
392
|
+
"internalType": "uint24"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "discountPercent",
|
|
396
|
+
"type": "uint8",
|
|
397
|
+
"internalType": "uint8"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "flags",
|
|
401
|
+
"type": "tuple",
|
|
402
|
+
"internalType": "struct JB721TierConfigFlags",
|
|
403
|
+
"components": [
|
|
404
|
+
{
|
|
405
|
+
"name": "allowOwnerMint",
|
|
406
|
+
"type": "bool",
|
|
407
|
+
"internalType": "bool"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "useReserveBeneficiaryAsDefault",
|
|
411
|
+
"type": "bool",
|
|
412
|
+
"internalType": "bool"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"name": "transfersPausable",
|
|
416
|
+
"type": "bool",
|
|
417
|
+
"internalType": "bool"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"name": "useVotingUnits",
|
|
421
|
+
"type": "bool",
|
|
422
|
+
"internalType": "bool"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "cantBeRemoved",
|
|
426
|
+
"type": "bool",
|
|
427
|
+
"internalType": "bool"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"name": "cantIncreaseDiscountPercent",
|
|
431
|
+
"type": "bool",
|
|
432
|
+
"internalType": "bool"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"name": "cantBuyWithCredits",
|
|
436
|
+
"type": "bool",
|
|
437
|
+
"internalType": "bool"
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"name": "splitPercent",
|
|
443
|
+
"type": "uint32",
|
|
444
|
+
"internalType": "uint32"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"name": "splits",
|
|
448
|
+
"type": "tuple[]",
|
|
449
|
+
"internalType": "struct JBSplit[]",
|
|
450
|
+
"components": [
|
|
451
|
+
{
|
|
452
|
+
"name": "percent",
|
|
453
|
+
"type": "uint32",
|
|
454
|
+
"internalType": "uint32"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"name": "projectId",
|
|
458
|
+
"type": "uint64",
|
|
459
|
+
"internalType": "uint64"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "beneficiary",
|
|
463
|
+
"type": "address",
|
|
464
|
+
"internalType": "address payable"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "preferAddToBalance",
|
|
468
|
+
"type": "bool",
|
|
469
|
+
"internalType": "bool"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"name": "lockedUntil",
|
|
473
|
+
"type": "uint48",
|
|
474
|
+
"internalType": "uint48"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "hook",
|
|
478
|
+
"type": "address",
|
|
479
|
+
"internalType": "contract IJBSplitHook"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
]
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"outputs": [
|
|
487
|
+
{
|
|
488
|
+
"name": "tierIds",
|
|
489
|
+
"type": "uint256[]",
|
|
490
|
+
"internalType": "uint256[]"
|
|
491
|
+
}
|
|
492
|
+
],
|
|
493
|
+
"stateMutability": "nonpayable"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"type": "function",
|
|
497
|
+
"name": "recordBurn",
|
|
498
|
+
"inputs": [
|
|
499
|
+
{
|
|
500
|
+
"name": "tokenIds",
|
|
501
|
+
"type": "uint256[]",
|
|
502
|
+
"internalType": "uint256[]"
|
|
503
|
+
}
|
|
504
|
+
],
|
|
505
|
+
"outputs": [],
|
|
506
|
+
"stateMutability": "nonpayable"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"type": "function",
|
|
510
|
+
"name": "recordFlags",
|
|
511
|
+
"inputs": [
|
|
512
|
+
{
|
|
513
|
+
"name": "flags",
|
|
514
|
+
"type": "tuple",
|
|
515
|
+
"internalType": "struct JB721TiersHookFlags",
|
|
516
|
+
"components": [
|
|
517
|
+
{
|
|
518
|
+
"name": "noNewTiersWithReserves",
|
|
519
|
+
"type": "bool",
|
|
520
|
+
"internalType": "bool"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"name": "noNewTiersWithVotes",
|
|
524
|
+
"type": "bool",
|
|
525
|
+
"internalType": "bool"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "noNewTiersWithOwnerMinting",
|
|
529
|
+
"type": "bool",
|
|
530
|
+
"internalType": "bool"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"name": "preventOverspending",
|
|
534
|
+
"type": "bool",
|
|
535
|
+
"internalType": "bool"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "issueTokensForSplits",
|
|
539
|
+
"type": "bool",
|
|
540
|
+
"internalType": "bool"
|
|
541
|
+
}
|
|
542
|
+
]
|
|
543
|
+
}
|
|
544
|
+
],
|
|
545
|
+
"outputs": [],
|
|
546
|
+
"stateMutability": "nonpayable"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"type": "function",
|
|
550
|
+
"name": "recordMint",
|
|
551
|
+
"inputs": [
|
|
552
|
+
{
|
|
553
|
+
"name": "amount",
|
|
554
|
+
"type": "uint256",
|
|
555
|
+
"internalType": "uint256"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"name": "tierIds",
|
|
559
|
+
"type": "uint16[]",
|
|
560
|
+
"internalType": "uint16[]"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"name": "isOwnerMint",
|
|
564
|
+
"type": "bool",
|
|
565
|
+
"internalType": "bool"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"outputs": [
|
|
569
|
+
{
|
|
570
|
+
"name": "tokenIds",
|
|
571
|
+
"type": "uint256[]",
|
|
572
|
+
"internalType": "uint256[]"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"name": "leftoverAmount",
|
|
576
|
+
"type": "uint256",
|
|
577
|
+
"internalType": "uint256"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "restrictedCost",
|
|
581
|
+
"type": "uint256",
|
|
582
|
+
"internalType": "uint256"
|
|
583
|
+
}
|
|
584
|
+
],
|
|
585
|
+
"stateMutability": "nonpayable"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"type": "function",
|
|
589
|
+
"name": "recordMintReservesFor",
|
|
590
|
+
"inputs": [
|
|
591
|
+
{
|
|
592
|
+
"name": "tierId",
|
|
593
|
+
"type": "uint256",
|
|
594
|
+
"internalType": "uint256"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"name": "count",
|
|
598
|
+
"type": "uint256",
|
|
599
|
+
"internalType": "uint256"
|
|
600
|
+
}
|
|
601
|
+
],
|
|
602
|
+
"outputs": [
|
|
603
|
+
{
|
|
604
|
+
"name": "tokenIds",
|
|
605
|
+
"type": "uint256[]",
|
|
606
|
+
"internalType": "uint256[]"
|
|
607
|
+
}
|
|
608
|
+
],
|
|
609
|
+
"stateMutability": "nonpayable"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"type": "function",
|
|
613
|
+
"name": "recordRemoveTierIds",
|
|
614
|
+
"inputs": [
|
|
615
|
+
{
|
|
616
|
+
"name": "tierIds",
|
|
617
|
+
"type": "uint256[]",
|
|
618
|
+
"internalType": "uint256[]"
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"outputs": [],
|
|
622
|
+
"stateMutability": "nonpayable"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"type": "function",
|
|
626
|
+
"name": "recordSetDiscountPercentOf",
|
|
627
|
+
"inputs": [
|
|
628
|
+
{
|
|
629
|
+
"name": "tierId",
|
|
630
|
+
"type": "uint256",
|
|
631
|
+
"internalType": "uint256"
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"name": "discountPercent",
|
|
635
|
+
"type": "uint256",
|
|
636
|
+
"internalType": "uint256"
|
|
637
|
+
}
|
|
638
|
+
],
|
|
639
|
+
"outputs": [],
|
|
640
|
+
"stateMutability": "nonpayable"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"type": "function",
|
|
644
|
+
"name": "recordSetEncodedIpfsUriOf",
|
|
645
|
+
"inputs": [
|
|
646
|
+
{
|
|
647
|
+
"name": "tierId",
|
|
648
|
+
"type": "uint256",
|
|
649
|
+
"internalType": "uint256"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"name": "encodedIpfsUri",
|
|
653
|
+
"type": "bytes32",
|
|
654
|
+
"internalType": "bytes32"
|
|
655
|
+
}
|
|
656
|
+
],
|
|
657
|
+
"outputs": [],
|
|
658
|
+
"stateMutability": "nonpayable"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"type": "function",
|
|
662
|
+
"name": "recordSetTokenUriResolver",
|
|
663
|
+
"inputs": [
|
|
664
|
+
{
|
|
665
|
+
"name": "resolver",
|
|
666
|
+
"type": "address",
|
|
667
|
+
"internalType": "contract IJB721TokenUriResolver"
|
|
668
|
+
}
|
|
669
|
+
],
|
|
670
|
+
"outputs": [],
|
|
671
|
+
"stateMutability": "nonpayable"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"type": "function",
|
|
675
|
+
"name": "recordTransferForTier",
|
|
676
|
+
"inputs": [
|
|
677
|
+
{
|
|
678
|
+
"name": "tierId",
|
|
679
|
+
"type": "uint256",
|
|
680
|
+
"internalType": "uint256"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "from",
|
|
684
|
+
"type": "address",
|
|
685
|
+
"internalType": "address"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"name": "to",
|
|
689
|
+
"type": "address",
|
|
690
|
+
"internalType": "address"
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"outputs": [],
|
|
694
|
+
"stateMutability": "nonpayable"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"type": "function",
|
|
698
|
+
"name": "reserveBeneficiaryOf",
|
|
699
|
+
"inputs": [
|
|
700
|
+
{
|
|
701
|
+
"name": "hook",
|
|
702
|
+
"type": "address",
|
|
703
|
+
"internalType": "address"
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"name": "tierId",
|
|
707
|
+
"type": "uint256",
|
|
708
|
+
"internalType": "uint256"
|
|
709
|
+
}
|
|
710
|
+
],
|
|
711
|
+
"outputs": [
|
|
712
|
+
{
|
|
713
|
+
"name": "",
|
|
714
|
+
"type": "address",
|
|
715
|
+
"internalType": "address"
|
|
716
|
+
}
|
|
717
|
+
],
|
|
718
|
+
"stateMutability": "view"
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"type": "function",
|
|
722
|
+
"name": "tierBalanceOf",
|
|
723
|
+
"inputs": [
|
|
724
|
+
{
|
|
725
|
+
"name": "hook",
|
|
726
|
+
"type": "address",
|
|
727
|
+
"internalType": "address"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"name": "owner",
|
|
731
|
+
"type": "address",
|
|
732
|
+
"internalType": "address"
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"name": "tierId",
|
|
736
|
+
"type": "uint256",
|
|
737
|
+
"internalType": "uint256"
|
|
738
|
+
}
|
|
739
|
+
],
|
|
740
|
+
"outputs": [
|
|
741
|
+
{
|
|
742
|
+
"name": "",
|
|
743
|
+
"type": "uint256",
|
|
744
|
+
"internalType": "uint256"
|
|
745
|
+
}
|
|
746
|
+
],
|
|
747
|
+
"stateMutability": "view"
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"type": "function",
|
|
751
|
+
"name": "tierIdOfToken",
|
|
752
|
+
"inputs": [
|
|
753
|
+
{
|
|
754
|
+
"name": "tokenId",
|
|
755
|
+
"type": "uint256",
|
|
756
|
+
"internalType": "uint256"
|
|
757
|
+
}
|
|
758
|
+
],
|
|
759
|
+
"outputs": [
|
|
760
|
+
{
|
|
761
|
+
"name": "",
|
|
762
|
+
"type": "uint256",
|
|
763
|
+
"internalType": "uint256"
|
|
764
|
+
}
|
|
765
|
+
],
|
|
766
|
+
"stateMutability": "pure"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"type": "function",
|
|
770
|
+
"name": "tierOf",
|
|
771
|
+
"inputs": [
|
|
772
|
+
{
|
|
773
|
+
"name": "hook",
|
|
774
|
+
"type": "address",
|
|
775
|
+
"internalType": "address"
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"name": "id",
|
|
779
|
+
"type": "uint256",
|
|
780
|
+
"internalType": "uint256"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "includeResolvedUri",
|
|
784
|
+
"type": "bool",
|
|
785
|
+
"internalType": "bool"
|
|
786
|
+
}
|
|
787
|
+
],
|
|
788
|
+
"outputs": [
|
|
789
|
+
{
|
|
790
|
+
"name": "",
|
|
791
|
+
"type": "tuple",
|
|
792
|
+
"internalType": "struct JB721Tier",
|
|
793
|
+
"components": [
|
|
794
|
+
{
|
|
795
|
+
"name": "id",
|
|
796
|
+
"type": "uint32",
|
|
797
|
+
"internalType": "uint32"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"name": "price",
|
|
801
|
+
"type": "uint104",
|
|
802
|
+
"internalType": "uint104"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"name": "remainingSupply",
|
|
806
|
+
"type": "uint32",
|
|
807
|
+
"internalType": "uint32"
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"name": "initialSupply",
|
|
811
|
+
"type": "uint32",
|
|
812
|
+
"internalType": "uint32"
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
"name": "votingUnits",
|
|
816
|
+
"type": "uint104",
|
|
817
|
+
"internalType": "uint104"
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"name": "reserveFrequency",
|
|
821
|
+
"type": "uint16",
|
|
822
|
+
"internalType": "uint16"
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"name": "reserveBeneficiary",
|
|
826
|
+
"type": "address",
|
|
827
|
+
"internalType": "address"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"name": "encodedIpfsUri",
|
|
831
|
+
"type": "bytes32",
|
|
832
|
+
"internalType": "bytes32"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "category",
|
|
836
|
+
"type": "uint24",
|
|
837
|
+
"internalType": "uint24"
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"name": "discountPercent",
|
|
841
|
+
"type": "uint8",
|
|
842
|
+
"internalType": "uint8"
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"name": "flags",
|
|
846
|
+
"type": "tuple",
|
|
847
|
+
"internalType": "struct JB721TierFlags",
|
|
848
|
+
"components": [
|
|
849
|
+
{
|
|
850
|
+
"name": "allowOwnerMint",
|
|
851
|
+
"type": "bool",
|
|
852
|
+
"internalType": "bool"
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
"name": "transfersPausable",
|
|
856
|
+
"type": "bool",
|
|
857
|
+
"internalType": "bool"
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"name": "cantBeRemoved",
|
|
861
|
+
"type": "bool",
|
|
862
|
+
"internalType": "bool"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"name": "cantIncreaseDiscountPercent",
|
|
866
|
+
"type": "bool",
|
|
867
|
+
"internalType": "bool"
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"name": "cantBuyWithCredits",
|
|
871
|
+
"type": "bool",
|
|
872
|
+
"internalType": "bool"
|
|
873
|
+
}
|
|
874
|
+
]
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"name": "splitPercent",
|
|
878
|
+
"type": "uint32",
|
|
879
|
+
"internalType": "uint32"
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"name": "resolvedUri",
|
|
883
|
+
"type": "string",
|
|
884
|
+
"internalType": "string"
|
|
885
|
+
}
|
|
886
|
+
]
|
|
887
|
+
}
|
|
888
|
+
],
|
|
889
|
+
"stateMutability": "view"
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"type": "function",
|
|
893
|
+
"name": "tierOfTokenId",
|
|
894
|
+
"inputs": [
|
|
895
|
+
{
|
|
896
|
+
"name": "hook",
|
|
897
|
+
"type": "address",
|
|
898
|
+
"internalType": "address"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "tokenId",
|
|
902
|
+
"type": "uint256",
|
|
903
|
+
"internalType": "uint256"
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"name": "includeResolvedUri",
|
|
907
|
+
"type": "bool",
|
|
908
|
+
"internalType": "bool"
|
|
909
|
+
}
|
|
910
|
+
],
|
|
911
|
+
"outputs": [
|
|
912
|
+
{
|
|
913
|
+
"name": "",
|
|
914
|
+
"type": "tuple",
|
|
915
|
+
"internalType": "struct JB721Tier",
|
|
916
|
+
"components": [
|
|
917
|
+
{
|
|
918
|
+
"name": "id",
|
|
919
|
+
"type": "uint32",
|
|
920
|
+
"internalType": "uint32"
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"name": "price",
|
|
924
|
+
"type": "uint104",
|
|
925
|
+
"internalType": "uint104"
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"name": "remainingSupply",
|
|
929
|
+
"type": "uint32",
|
|
930
|
+
"internalType": "uint32"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"name": "initialSupply",
|
|
934
|
+
"type": "uint32",
|
|
935
|
+
"internalType": "uint32"
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
"name": "votingUnits",
|
|
939
|
+
"type": "uint104",
|
|
940
|
+
"internalType": "uint104"
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"name": "reserveFrequency",
|
|
944
|
+
"type": "uint16",
|
|
945
|
+
"internalType": "uint16"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"name": "reserveBeneficiary",
|
|
949
|
+
"type": "address",
|
|
950
|
+
"internalType": "address"
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
"name": "encodedIpfsUri",
|
|
954
|
+
"type": "bytes32",
|
|
955
|
+
"internalType": "bytes32"
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "category",
|
|
959
|
+
"type": "uint24",
|
|
960
|
+
"internalType": "uint24"
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"name": "discountPercent",
|
|
964
|
+
"type": "uint8",
|
|
965
|
+
"internalType": "uint8"
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"name": "flags",
|
|
969
|
+
"type": "tuple",
|
|
970
|
+
"internalType": "struct JB721TierFlags",
|
|
971
|
+
"components": [
|
|
972
|
+
{
|
|
973
|
+
"name": "allowOwnerMint",
|
|
974
|
+
"type": "bool",
|
|
975
|
+
"internalType": "bool"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"name": "transfersPausable",
|
|
979
|
+
"type": "bool",
|
|
980
|
+
"internalType": "bool"
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
"name": "cantBeRemoved",
|
|
984
|
+
"type": "bool",
|
|
985
|
+
"internalType": "bool"
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
"name": "cantIncreaseDiscountPercent",
|
|
989
|
+
"type": "bool",
|
|
990
|
+
"internalType": "bool"
|
|
991
|
+
},
|
|
992
|
+
{
|
|
993
|
+
"name": "cantBuyWithCredits",
|
|
994
|
+
"type": "bool",
|
|
995
|
+
"internalType": "bool"
|
|
996
|
+
}
|
|
997
|
+
]
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "splitPercent",
|
|
1001
|
+
"type": "uint32",
|
|
1002
|
+
"internalType": "uint32"
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "resolvedUri",
|
|
1006
|
+
"type": "string",
|
|
1007
|
+
"internalType": "string"
|
|
1008
|
+
}
|
|
1009
|
+
]
|
|
1010
|
+
}
|
|
1011
|
+
],
|
|
1012
|
+
"stateMutability": "view"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"type": "function",
|
|
1016
|
+
"name": "tierPricingOf",
|
|
1017
|
+
"inputs": [
|
|
1018
|
+
{
|
|
1019
|
+
"name": "hook",
|
|
1020
|
+
"type": "address",
|
|
1021
|
+
"internalType": "address"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"name": "id",
|
|
1025
|
+
"type": "uint256",
|
|
1026
|
+
"internalType": "uint256"
|
|
1027
|
+
}
|
|
1028
|
+
],
|
|
1029
|
+
"outputs": [
|
|
1030
|
+
{
|
|
1031
|
+
"name": "price",
|
|
1032
|
+
"type": "uint104",
|
|
1033
|
+
"internalType": "uint104"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"name": "splitPercent",
|
|
1037
|
+
"type": "uint32",
|
|
1038
|
+
"internalType": "uint32"
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"name": "discountPercent",
|
|
1042
|
+
"type": "uint8",
|
|
1043
|
+
"internalType": "uint8"
|
|
1044
|
+
}
|
|
1045
|
+
],
|
|
1046
|
+
"stateMutability": "view"
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"type": "function",
|
|
1050
|
+
"name": "tierTransferInfoOfTokenId",
|
|
1051
|
+
"inputs": [
|
|
1052
|
+
{
|
|
1053
|
+
"name": "hook",
|
|
1054
|
+
"type": "address",
|
|
1055
|
+
"internalType": "address"
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
"name": "tokenId",
|
|
1059
|
+
"type": "uint256",
|
|
1060
|
+
"internalType": "uint256"
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"outputs": [
|
|
1064
|
+
{
|
|
1065
|
+
"name": "tierId",
|
|
1066
|
+
"type": "uint256",
|
|
1067
|
+
"internalType": "uint256"
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"name": "transfersPausable",
|
|
1071
|
+
"type": "bool",
|
|
1072
|
+
"internalType": "bool"
|
|
1073
|
+
}
|
|
1074
|
+
],
|
|
1075
|
+
"stateMutability": "view"
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"type": "function",
|
|
1079
|
+
"name": "tierVotingUnitsOf",
|
|
1080
|
+
"inputs": [
|
|
1081
|
+
{
|
|
1082
|
+
"name": "hook",
|
|
1083
|
+
"type": "address",
|
|
1084
|
+
"internalType": "address"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"name": "account",
|
|
1088
|
+
"type": "address",
|
|
1089
|
+
"internalType": "address"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"name": "tierId",
|
|
1093
|
+
"type": "uint256",
|
|
1094
|
+
"internalType": "uint256"
|
|
1095
|
+
}
|
|
1096
|
+
],
|
|
1097
|
+
"outputs": [
|
|
1098
|
+
{
|
|
1099
|
+
"name": "",
|
|
1100
|
+
"type": "uint256",
|
|
1101
|
+
"internalType": "uint256"
|
|
1102
|
+
}
|
|
1103
|
+
],
|
|
1104
|
+
"stateMutability": "view"
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"type": "function",
|
|
1108
|
+
"name": "tierVotingUnitsOfTokenId",
|
|
1109
|
+
"inputs": [
|
|
1110
|
+
{
|
|
1111
|
+
"name": "hook",
|
|
1112
|
+
"type": "address",
|
|
1113
|
+
"internalType": "address"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"name": "tokenId",
|
|
1117
|
+
"type": "uint256",
|
|
1118
|
+
"internalType": "uint256"
|
|
1119
|
+
}
|
|
1120
|
+
],
|
|
1121
|
+
"outputs": [
|
|
1122
|
+
{
|
|
1123
|
+
"name": "",
|
|
1124
|
+
"type": "uint256",
|
|
1125
|
+
"internalType": "uint256"
|
|
1126
|
+
}
|
|
1127
|
+
],
|
|
1128
|
+
"stateMutability": "view"
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
"type": "function",
|
|
1132
|
+
"name": "tiersOf",
|
|
1133
|
+
"inputs": [
|
|
1134
|
+
{
|
|
1135
|
+
"name": "hook",
|
|
1136
|
+
"type": "address",
|
|
1137
|
+
"internalType": "address"
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
"name": "categories",
|
|
1141
|
+
"type": "uint256[]",
|
|
1142
|
+
"internalType": "uint256[]"
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
"name": "includeResolvedUri",
|
|
1146
|
+
"type": "bool",
|
|
1147
|
+
"internalType": "bool"
|
|
1148
|
+
},
|
|
1149
|
+
{
|
|
1150
|
+
"name": "startingId",
|
|
1151
|
+
"type": "uint256",
|
|
1152
|
+
"internalType": "uint256"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"name": "size",
|
|
1156
|
+
"type": "uint256",
|
|
1157
|
+
"internalType": "uint256"
|
|
1158
|
+
}
|
|
1159
|
+
],
|
|
1160
|
+
"outputs": [
|
|
1161
|
+
{
|
|
1162
|
+
"name": "tiers",
|
|
1163
|
+
"type": "tuple[]",
|
|
1164
|
+
"internalType": "struct JB721Tier[]",
|
|
1165
|
+
"components": [
|
|
1166
|
+
{
|
|
1167
|
+
"name": "id",
|
|
1168
|
+
"type": "uint32",
|
|
1169
|
+
"internalType": "uint32"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "price",
|
|
1173
|
+
"type": "uint104",
|
|
1174
|
+
"internalType": "uint104"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"name": "remainingSupply",
|
|
1178
|
+
"type": "uint32",
|
|
1179
|
+
"internalType": "uint32"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"name": "initialSupply",
|
|
1183
|
+
"type": "uint32",
|
|
1184
|
+
"internalType": "uint32"
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
"name": "votingUnits",
|
|
1188
|
+
"type": "uint104",
|
|
1189
|
+
"internalType": "uint104"
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"name": "reserveFrequency",
|
|
1193
|
+
"type": "uint16",
|
|
1194
|
+
"internalType": "uint16"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "reserveBeneficiary",
|
|
1198
|
+
"type": "address",
|
|
1199
|
+
"internalType": "address"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"name": "encodedIpfsUri",
|
|
1203
|
+
"type": "bytes32",
|
|
1204
|
+
"internalType": "bytes32"
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"name": "category",
|
|
1208
|
+
"type": "uint24",
|
|
1209
|
+
"internalType": "uint24"
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"name": "discountPercent",
|
|
1213
|
+
"type": "uint8",
|
|
1214
|
+
"internalType": "uint8"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"name": "flags",
|
|
1218
|
+
"type": "tuple",
|
|
1219
|
+
"internalType": "struct JB721TierFlags",
|
|
1220
|
+
"components": [
|
|
1221
|
+
{
|
|
1222
|
+
"name": "allowOwnerMint",
|
|
1223
|
+
"type": "bool",
|
|
1224
|
+
"internalType": "bool"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"name": "transfersPausable",
|
|
1228
|
+
"type": "bool",
|
|
1229
|
+
"internalType": "bool"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"name": "cantBeRemoved",
|
|
1233
|
+
"type": "bool",
|
|
1234
|
+
"internalType": "bool"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"name": "cantIncreaseDiscountPercent",
|
|
1238
|
+
"type": "bool",
|
|
1239
|
+
"internalType": "bool"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"name": "cantBuyWithCredits",
|
|
1243
|
+
"type": "bool",
|
|
1244
|
+
"internalType": "bool"
|
|
1245
|
+
}
|
|
1246
|
+
]
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "splitPercent",
|
|
1250
|
+
"type": "uint32",
|
|
1251
|
+
"internalType": "uint32"
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
"name": "resolvedUri",
|
|
1255
|
+
"type": "string",
|
|
1256
|
+
"internalType": "string"
|
|
1257
|
+
}
|
|
1258
|
+
]
|
|
1259
|
+
}
|
|
1260
|
+
],
|
|
1261
|
+
"stateMutability": "view"
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
"type": "function",
|
|
1265
|
+
"name": "tokenUriResolverOf",
|
|
1266
|
+
"inputs": [
|
|
1267
|
+
{
|
|
1268
|
+
"name": "hook",
|
|
1269
|
+
"type": "address",
|
|
1270
|
+
"internalType": "address"
|
|
1271
|
+
}
|
|
1272
|
+
],
|
|
1273
|
+
"outputs": [
|
|
1274
|
+
{
|
|
1275
|
+
"name": "",
|
|
1276
|
+
"type": "address",
|
|
1277
|
+
"internalType": "contract IJB721TokenUriResolver"
|
|
1278
|
+
}
|
|
1279
|
+
],
|
|
1280
|
+
"stateMutability": "view"
|
|
1281
|
+
},
|
|
1282
|
+
{
|
|
1283
|
+
"type": "function",
|
|
1284
|
+
"name": "totalCashOutWeightOf",
|
|
1285
|
+
"inputs": [
|
|
1286
|
+
{
|
|
1287
|
+
"name": "hook",
|
|
1288
|
+
"type": "address",
|
|
1289
|
+
"internalType": "address"
|
|
1290
|
+
}
|
|
1291
|
+
],
|
|
1292
|
+
"outputs": [
|
|
1293
|
+
{
|
|
1294
|
+
"name": "",
|
|
1295
|
+
"type": "uint256",
|
|
1296
|
+
"internalType": "uint256"
|
|
1297
|
+
}
|
|
1298
|
+
],
|
|
1299
|
+
"stateMutability": "view"
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"type": "function",
|
|
1303
|
+
"name": "totalSupplyOf",
|
|
1304
|
+
"inputs": [
|
|
1305
|
+
{
|
|
1306
|
+
"name": "hook",
|
|
1307
|
+
"type": "address",
|
|
1308
|
+
"internalType": "address"
|
|
1309
|
+
}
|
|
1310
|
+
],
|
|
1311
|
+
"outputs": [
|
|
1312
|
+
{
|
|
1313
|
+
"name": "supply",
|
|
1314
|
+
"type": "uint256",
|
|
1315
|
+
"internalType": "uint256"
|
|
1316
|
+
}
|
|
1317
|
+
],
|
|
1318
|
+
"stateMutability": "view"
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
"type": "function",
|
|
1322
|
+
"name": "votingUnitsOf",
|
|
1323
|
+
"inputs": [
|
|
1324
|
+
{
|
|
1325
|
+
"name": "hook",
|
|
1326
|
+
"type": "address",
|
|
1327
|
+
"internalType": "address"
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
"name": "account",
|
|
1331
|
+
"type": "address",
|
|
1332
|
+
"internalType": "address"
|
|
1333
|
+
}
|
|
1334
|
+
],
|
|
1335
|
+
"outputs": [
|
|
1336
|
+
{
|
|
1337
|
+
"name": "units",
|
|
1338
|
+
"type": "uint256",
|
|
1339
|
+
"internalType": "uint256"
|
|
1340
|
+
}
|
|
1341
|
+
],
|
|
1342
|
+
"stateMutability": "view"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"type": "event",
|
|
1346
|
+
"name": "CleanTiers",
|
|
1347
|
+
"inputs": [
|
|
1348
|
+
{
|
|
1349
|
+
"name": "hook",
|
|
1350
|
+
"type": "address",
|
|
1351
|
+
"indexed": true,
|
|
1352
|
+
"internalType": "address"
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"name": "caller",
|
|
1356
|
+
"type": "address",
|
|
1357
|
+
"indexed": false,
|
|
1358
|
+
"internalType": "address"
|
|
1359
|
+
}
|
|
1360
|
+
],
|
|
1361
|
+
"anonymous": false
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"type": "event",
|
|
1365
|
+
"name": "SetDefaultReserveBeneficiary",
|
|
1366
|
+
"inputs": [
|
|
1367
|
+
{
|
|
1368
|
+
"name": "hook",
|
|
1369
|
+
"type": "address",
|
|
1370
|
+
"indexed": true,
|
|
1371
|
+
"internalType": "address"
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
"name": "newBeneficiary",
|
|
1375
|
+
"type": "address",
|
|
1376
|
+
"indexed": true,
|
|
1377
|
+
"internalType": "address"
|
|
1378
|
+
},
|
|
1379
|
+
{
|
|
1380
|
+
"name": "caller",
|
|
1381
|
+
"type": "address",
|
|
1382
|
+
"indexed": false,
|
|
1383
|
+
"internalType": "address"
|
|
1384
|
+
}
|
|
1385
|
+
],
|
|
1386
|
+
"anonymous": false
|
|
1387
|
+
},
|
|
1388
|
+
{
|
|
1389
|
+
"type": "error",
|
|
1390
|
+
"name": "JB721TiersHookStore_CantMintManually",
|
|
1391
|
+
"inputs": [
|
|
1392
|
+
{
|
|
1393
|
+
"name": "tierId",
|
|
1394
|
+
"type": "uint256",
|
|
1395
|
+
"internalType": "uint256"
|
|
1396
|
+
}
|
|
1397
|
+
]
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"type": "error",
|
|
1401
|
+
"name": "JB721TiersHookStore_CantRemoveTier",
|
|
1402
|
+
"inputs": [
|
|
1403
|
+
{
|
|
1404
|
+
"name": "tierId",
|
|
1405
|
+
"type": "uint256",
|
|
1406
|
+
"internalType": "uint256"
|
|
1407
|
+
}
|
|
1408
|
+
]
|
|
1409
|
+
},
|
|
1410
|
+
{
|
|
1411
|
+
"type": "error",
|
|
1412
|
+
"name": "JB721TiersHookStore_DeadlockedReserve",
|
|
1413
|
+
"inputs": [
|
|
1414
|
+
{
|
|
1415
|
+
"name": "tierId",
|
|
1416
|
+
"type": "uint256",
|
|
1417
|
+
"internalType": "uint256"
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"name": "initialSupply",
|
|
1421
|
+
"type": "uint256",
|
|
1422
|
+
"internalType": "uint256"
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"name": "reserveFrequency",
|
|
1426
|
+
"type": "uint256",
|
|
1427
|
+
"internalType": "uint256"
|
|
1428
|
+
}
|
|
1429
|
+
]
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"type": "error",
|
|
1433
|
+
"name": "JB721TiersHookStore_DiscountPercentExceedsBounds",
|
|
1434
|
+
"inputs": [
|
|
1435
|
+
{
|
|
1436
|
+
"name": "percent",
|
|
1437
|
+
"type": "uint256",
|
|
1438
|
+
"internalType": "uint256"
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
"name": "limit",
|
|
1442
|
+
"type": "uint256",
|
|
1443
|
+
"internalType": "uint256"
|
|
1444
|
+
}
|
|
1445
|
+
]
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"type": "error",
|
|
1449
|
+
"name": "JB721TiersHookStore_DiscountPercentIncreaseNotAllowed",
|
|
1450
|
+
"inputs": [
|
|
1451
|
+
{
|
|
1452
|
+
"name": "percent",
|
|
1453
|
+
"type": "uint256",
|
|
1454
|
+
"internalType": "uint256"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"name": "storedPercent",
|
|
1458
|
+
"type": "uint256",
|
|
1459
|
+
"internalType": "uint256"
|
|
1460
|
+
}
|
|
1461
|
+
]
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"type": "error",
|
|
1465
|
+
"name": "JB721TiersHookStore_InsufficientPendingReserves",
|
|
1466
|
+
"inputs": [
|
|
1467
|
+
{
|
|
1468
|
+
"name": "count",
|
|
1469
|
+
"type": "uint256",
|
|
1470
|
+
"internalType": "uint256"
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"name": "numberOfPendingReserves",
|
|
1474
|
+
"type": "uint256",
|
|
1475
|
+
"internalType": "uint256"
|
|
1476
|
+
}
|
|
1477
|
+
]
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"type": "error",
|
|
1481
|
+
"name": "JB721TiersHookStore_InsufficientSupplyRemaining",
|
|
1482
|
+
"inputs": [
|
|
1483
|
+
{
|
|
1484
|
+
"name": "tierId",
|
|
1485
|
+
"type": "uint256",
|
|
1486
|
+
"internalType": "uint256"
|
|
1487
|
+
}
|
|
1488
|
+
]
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"type": "error",
|
|
1492
|
+
"name": "JB721TiersHookStore_InvalidCategorySortOrder",
|
|
1493
|
+
"inputs": [
|
|
1494
|
+
{
|
|
1495
|
+
"name": "tierCategory",
|
|
1496
|
+
"type": "uint256",
|
|
1497
|
+
"internalType": "uint256"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"name": "previousTierCategory",
|
|
1501
|
+
"type": "uint256",
|
|
1502
|
+
"internalType": "uint256"
|
|
1503
|
+
}
|
|
1504
|
+
]
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"type": "error",
|
|
1508
|
+
"name": "JB721TiersHookStore_InvalidQuantity",
|
|
1509
|
+
"inputs": [
|
|
1510
|
+
{
|
|
1511
|
+
"name": "quantity",
|
|
1512
|
+
"type": "uint256",
|
|
1513
|
+
"internalType": "uint256"
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
"name": "limit",
|
|
1517
|
+
"type": "uint256",
|
|
1518
|
+
"internalType": "uint256"
|
|
1519
|
+
}
|
|
1520
|
+
]
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"type": "error",
|
|
1524
|
+
"name": "JB721TiersHookStore_ManualMintingNotAllowed",
|
|
1525
|
+
"inputs": [
|
|
1526
|
+
{
|
|
1527
|
+
"name": "tierId",
|
|
1528
|
+
"type": "uint256",
|
|
1529
|
+
"internalType": "uint256"
|
|
1530
|
+
}
|
|
1531
|
+
]
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
"type": "error",
|
|
1535
|
+
"name": "JB721TiersHookStore_MaxTiersExceeded",
|
|
1536
|
+
"inputs": [
|
|
1537
|
+
{
|
|
1538
|
+
"name": "numberOfTiers",
|
|
1539
|
+
"type": "uint256",
|
|
1540
|
+
"internalType": "uint256"
|
|
1541
|
+
},
|
|
1542
|
+
{
|
|
1543
|
+
"name": "limit",
|
|
1544
|
+
"type": "uint256",
|
|
1545
|
+
"internalType": "uint256"
|
|
1546
|
+
}
|
|
1547
|
+
]
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"type": "error",
|
|
1551
|
+
"name": "JB721TiersHookStore_MissingReserveBeneficiary",
|
|
1552
|
+
"inputs": [
|
|
1553
|
+
{
|
|
1554
|
+
"name": "tierId",
|
|
1555
|
+
"type": "uint256",
|
|
1556
|
+
"internalType": "uint256"
|
|
1557
|
+
}
|
|
1558
|
+
]
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"type": "error",
|
|
1562
|
+
"name": "JB721TiersHookStore_PriceExceedsAmount",
|
|
1563
|
+
"inputs": [
|
|
1564
|
+
{
|
|
1565
|
+
"name": "price",
|
|
1566
|
+
"type": "uint256",
|
|
1567
|
+
"internalType": "uint256"
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"name": "leftoverAmount",
|
|
1571
|
+
"type": "uint256",
|
|
1572
|
+
"internalType": "uint256"
|
|
1573
|
+
}
|
|
1574
|
+
]
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"type": "error",
|
|
1578
|
+
"name": "JB721TiersHookStore_ReserveFrequencyNotAllowed",
|
|
1579
|
+
"inputs": [
|
|
1580
|
+
{
|
|
1581
|
+
"name": "tierId",
|
|
1582
|
+
"type": "uint256",
|
|
1583
|
+
"internalType": "uint256"
|
|
1584
|
+
}
|
|
1585
|
+
]
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
"type": "error",
|
|
1589
|
+
"name": "JB721TiersHookStore_SplitPercentExceedsBounds",
|
|
1590
|
+
"inputs": [
|
|
1591
|
+
{
|
|
1592
|
+
"name": "percent",
|
|
1593
|
+
"type": "uint256",
|
|
1594
|
+
"internalType": "uint256"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"name": "limit",
|
|
1598
|
+
"type": "uint256",
|
|
1599
|
+
"internalType": "uint256"
|
|
1600
|
+
}
|
|
1601
|
+
]
|
|
1602
|
+
},
|
|
1603
|
+
{
|
|
1604
|
+
"type": "error",
|
|
1605
|
+
"name": "JB721TiersHookStore_TierRemoved",
|
|
1606
|
+
"inputs": [
|
|
1607
|
+
{
|
|
1608
|
+
"name": "tierId",
|
|
1609
|
+
"type": "uint256",
|
|
1610
|
+
"internalType": "uint256"
|
|
1611
|
+
}
|
|
1612
|
+
]
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"type": "error",
|
|
1616
|
+
"name": "JB721TiersHookStore_UnrecognizedTier",
|
|
1617
|
+
"inputs": [
|
|
1618
|
+
{
|
|
1619
|
+
"name": "tierId",
|
|
1620
|
+
"type": "uint256",
|
|
1621
|
+
"internalType": "uint256"
|
|
1622
|
+
}
|
|
1623
|
+
]
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"type": "error",
|
|
1627
|
+
"name": "JB721TiersHookStore_VotingUnitsNotAllowed",
|
|
1628
|
+
"inputs": [
|
|
1629
|
+
{
|
|
1630
|
+
"name": "tierId",
|
|
1631
|
+
"type": "uint256",
|
|
1632
|
+
"internalType": "uint256"
|
|
1633
|
+
}
|
|
1634
|
+
]
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
"type": "error",
|
|
1638
|
+
"name": "JB721TiersHookStore_ZeroInitialSupply",
|
|
1639
|
+
"inputs": [
|
|
1640
|
+
{
|
|
1641
|
+
"name": "tierId",
|
|
1642
|
+
"type": "uint256",
|
|
1643
|
+
"internalType": "uint256"
|
|
1644
|
+
}
|
|
1645
|
+
]
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"type": "error",
|
|
1649
|
+
"name": "PRBMath_MulDiv_Overflow",
|
|
1650
|
+
"inputs": [
|
|
1651
|
+
{
|
|
1652
|
+
"name": "x",
|
|
1653
|
+
"type": "uint256",
|
|
1654
|
+
"internalType": "uint256"
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"name": "y",
|
|
1658
|
+
"type": "uint256",
|
|
1659
|
+
"internalType": "uint256"
|
|
1660
|
+
},
|
|
1661
|
+
{
|
|
1662
|
+
"name": "denominator",
|
|
1663
|
+
"type": "uint256",
|
|
1664
|
+
"internalType": "uint256"
|
|
1665
|
+
}
|
|
1666
|
+
]
|
|
1667
|
+
}
|
|
1668
|
+
],
|
|
1669
|
+
"args": [],
|
|
1670
|
+
"solcInputHash": "35225e6a6082fb884b068bf4c46bdf85",
|
|
1671
|
+
"receipt": {
|
|
1672
|
+
"blockHash": "0x1539641d91c8946cf9dccf2c10021968ae26326eb227de32c3061486f2c5c648",
|
|
1673
|
+
"blockNumber": "0xa8ec63",
|
|
1674
|
+
"contractAddress": null,
|
|
1675
|
+
"cumulativeGasUsed": "0x3dc575",
|
|
1676
|
+
"effectiveGasPrice": "0x2cb53c780",
|
|
1677
|
+
"from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
1678
|
+
"gasUsed": "0x3dc575",
|
|
1679
|
+
"logs": [
|
|
1680
|
+
{
|
|
1681
|
+
"address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
1682
|
+
"topics": [
|
|
1683
|
+
"0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
|
|
1684
|
+
"0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
1685
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
1686
|
+
"0x4111aa9da920ff172a30e31f233516452b361ea36d279e6d03dd6933b88b82cf"
|
|
1687
|
+
],
|
|
1688
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
1689
|
+
"blockNumber": "0xa8ec63",
|
|
1690
|
+
"transactionHash": "0x49d29ddcf6a00ac029c5072fd8229b6aea6424bbda710871dd0fac31af034126",
|
|
1691
|
+
"transactionIndex": "0x0",
|
|
1692
|
+
"blockHash": "0x1539641d91c8946cf9dccf2c10021968ae26326eb227de32c3061486f2c5c648",
|
|
1693
|
+
"blockTimestamp": "0x6a30dcf4",
|
|
1694
|
+
"logIndex": "0x0",
|
|
1695
|
+
"removed": false
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"address": "0x4dc161ef837ff1c4485b08ddfcdb182f2157be18",
|
|
1699
|
+
"topics": [
|
|
1700
|
+
"0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
|
|
1701
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38"
|
|
1702
|
+
],
|
|
1703
|
+
"data": "0x",
|
|
1704
|
+
"blockNumber": "0xa8ec63",
|
|
1705
|
+
"transactionHash": "0x49d29ddcf6a00ac029c5072fd8229b6aea6424bbda710871dd0fac31af034126",
|
|
1706
|
+
"transactionIndex": "0x0",
|
|
1707
|
+
"blockHash": "0x1539641d91c8946cf9dccf2c10021968ae26326eb227de32c3061486f2c5c648",
|
|
1708
|
+
"blockTimestamp": "0x6a30dcf4",
|
|
1709
|
+
"logIndex": "0x1",
|
|
1710
|
+
"removed": false
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
"address": "0x91f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
1714
|
+
"topics": [
|
|
1715
|
+
"0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
|
|
1716
|
+
"0xd5deab2e7deb1fc43c598724c179da0517b3ba8e35a6aa10843b370c51835520"
|
|
1717
|
+
],
|
|
1718
|
+
"data": "0x000000000000000000000000000000000000000000000000000000000000001d",
|
|
1719
|
+
"blockNumber": "0xa8ec63",
|
|
1720
|
+
"transactionHash": "0x49d29ddcf6a00ac029c5072fd8229b6aea6424bbda710871dd0fac31af034126",
|
|
1721
|
+
"transactionIndex": "0x0",
|
|
1722
|
+
"blockHash": "0x1539641d91c8946cf9dccf2c10021968ae26326eb227de32c3061486f2c5c648",
|
|
1723
|
+
"blockTimestamp": "0x6a30dcf4",
|
|
1724
|
+
"logIndex": "0x2",
|
|
1725
|
+
"removed": false
|
|
1726
|
+
}
|
|
1727
|
+
],
|
|
1728
|
+
"logsBloom": "0x0000000000001000000000000008000000100000000000000000000000000000000020000000000000000000004000000000000000000000000000000000000000000000000020000000000000000000000200000000004010000000000000004000000000000c000000000000000000000000000000000000000000000080008800000000000000000104000000000000000000000000000000000000000000004000040000000000000000000000002200000000000000000000000004000000000002008000000000000000400000000000000000000000000000800000000000000000000100000000000000040200000000000080000000000000000000",
|
|
1729
|
+
"status": "0x1",
|
|
1730
|
+
"to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
1731
|
+
"transactionHash": "0x49d29ddcf6a00ac029c5072fd8229b6aea6424bbda710871dd0fac31af034126",
|
|
1732
|
+
"transactionIndex": "0x0",
|
|
1733
|
+
"type": "0x2"
|
|
1734
|
+
},
|
|
1735
|
+
"bytecode": "0x6080604052348015600e575f5ffd5b506143cb8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610229575f3560e01c806370d15f531161012a578063bafbea61116100b4578063cf9530d011610079578063cf9530d014610761578063d84a72c014610774578063eaa19ab3146107b0578063f1bea54f146107d2578063f7888aec146107f1575f5ffd5b8063bafbea61146106f6578063c293c0d614610709578063c2c55f9414610728578063c44a8e6d1461073b578063c8df17101461074e575f5ffd5b80638f2b90a7116100fa5780638f2b90a71461068a578063933555781461069d5780639403a74f146106b05780639be748fb146106d0578063baa7e80e146106e3575f5ffd5b806370d15f53146105805780637b70a292146105ac578063845104de146105bf57806386bc2be314610677575f5ffd5b80632e4d0ea8116101b65780635f6466111161017b5780635f646611146104d857806360ff66ec146104fb57806364faa1591461050e5780636825bb801461052e578063698f916414610558575f5ffd5b80632e4d0ea81461044557806337f446521461045857806342f9914b14610488578063509a29021461049b5780635e248963146104ae575f5ffd5b80631923fe69116101fc5780631923fe69146102c257806319883e0a146103b957806320512ba1146103da578063297261d8146103ed5780632b7e6ef01461040d575f5ffd5b8063035730041461022d578063086bb19a1461025d5780630fab094714610272578063114044921461029a575b5f5ffd5b61024061023b366004613749565b610818565b6040516001600160a01b0390911681526020015b60405180910390f35b61027061026b366004613773565b61086f565b005b610240610280366004613773565b60076020525f90815260409020546001600160a01b031681565b6102406102a8366004613773565b60016020525f90815260409020546001600160a01b031681565b61038c6102d0366004613749565b6001600160a01b039091165f908152600f602090815260408083209383529281529082902082516101008101845290546001600160681b03811680835263ffffffff600160681b8304811694840194909452600160881b8204841694830194909452600160a81b81049092166060820181905262ffffff600160c81b840416608083015260ff600160e01b8404811660a0840181905261ffff600160e81b86041660c0850152600160f81b9094041660e0909201919091529192565b604080516001600160681b03909416845263ffffffff909216602084015260ff1690820152606001610254565b6103cc6103c736600461378e565b610ba4565b6040516102549291906137ff565b6102706103e836600461386a565b610d21565b6104006103fb36600461386a565b610dfc565b60405161025491906138a8565b61043761041b366004613749565b600460209081525f928352604080842090915290825290205481565b604051908152602001610254565b6104376104533660046138ba565b6118d5565b6104376104663660046138ba565b600660209081525f938452604080852082529284528284209052825290205481565b6104376104963660046138f8565b6118eb565b6102706104a936600461390f565b6118fa565b6104376104bc366004613749565b600260209081525f928352604080842090915290825290205481565b6104eb6104e6366004613749565b6119fd565b6040519015158152602001610254565b61027061050936600461392f565b611a34565b61052161051c366004613960565b611a4e565b6040516102549190613b24565b61043761053c366004613749565b600560209081525f928352604080842090915290825290205481565b61056b610566366004613749565b611b13565b60408051928352901515602083015201610254565b61027061058e36600461390f565b335f9081526002602090815260408083209483529390529190912055565b6104376105ba366004613749565b611bdf565b61066a6105cd366004613773565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152506001600160a01b03165f90815260096020908152604091829020825160a081018452905460ff8082161515835261010082048116151593830193909352620100008104831615159382019390935263010000008304821615156060820152640100000000909204161515608082015290565b6040516102549190613b36565b61027061068536600461386a565b611ce8565b610437610698366004613749565b611d86565b6104376106ab36600461378e565b611e3f565b6106c36106be366004613b79565b611ee6565b6040516102549190613bed565b6104376106de366004613c50565b612198565b6104006106f136600461390f565b612211565b61040061070436600461378e565b61240c565b610437610717366004613773565b60086020525f908152604090205481565b610270610736366004613ca0565b612418565b610521610749366004613960565b612566565b61043761075c366004613749565b612641565b61043761076f366004613773565b612678565b610270610782366004613773565b335f90815260076020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c36107be366004613cd4565b6127b0565b60405161025493929190613d2e565b6104376107e0366004613773565b60036020525f908152604090205481565b6104376107ff36600461378e565b5f60208181529281526040808220909352908152205481565b6001600160a01b038083165f908152600d60209081526040808320858452909152812054909116801561084c579050610869565b50506001600160a01b038083165f90815260016020526040902054165b92915050565b5f61087982612bdb565b90505f610886835f612c1a565b90505f6108a460405180604001604052805f81526020015f81525090565b8215610a98576108b5858483612c7f565b6109fc576108c4826001613d66565b831461091e576001600160a01b0385165f9081526010602090815260408083208584529091529020548314610919576001600160a01b0385165f90815260106020908152604080832085845290915290208390555b61096a565b6001600160a01b0385165f9081526010602090815260408083208584529091529020541561096a576001600160a01b0385165f9081526010602090815260408083208584529091528120555b6001600160a01b0385165f908152600f60209081526040808320868452909152902054600160c81b900462ffffff1680158015906109c857506001600160a01b0386165f908152600e60209081526040808320848452909152902054155b156109f3576001600160a01b0386165f908152600e6020908152604080832084845290915290208490555b83925050610a86565b6001600160a01b0385165f908152600f60209081526040808320868452909152902054600160c81b900462ffffff168015801590610a5b57506001600160a01b0386165f908152600e6020908152604080832084845290915290205484145b15610a84576001600160a01b0386165f908152600e602090815260408083208484529091528120555b505b610a91858486612cd4565b92506108a4565b8115801590610aa75750838214155b15610b5f576001600160a01b0385165f90815260106020908152604080832085845290915290205415610af8576001600160a01b0385165f9081526010602090815260408083208584529091528120555b6001600160a01b0385165f9081526003602052604081205490838214610b1e5783610b20565b5f5b6001600160a01b0388165f908152600b60205260409020549091508114610b5c576001600160a01b0387165f908152600b602052604090208190555b50505b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b606080610bb18484612d1e565b6001600160401b03811115610bc857610bc8613d79565b604051908082528060200260200182016040528015610bf1578160200160208202803683370190505b50915081516001600160401b03811115610c0d57610c0d613d79565b604051908082528060200260200182016040528015610c36578160200160208202803683370190505b506001600160a01b0385165f908152600360205260408120549192509060081c815b818111610d17576001600160a01b038088165f908152600a60209081526040808320938a168352928152828220848352905220545b8015610d0e575f610c9d82612e2e565b610cab90600885901b613d66565b905080878681518110610cc057610cc0613d8d565b602002602001018181525050610cd7898983612ebc565b868681518110610ce957610ce9613d8d565b6020908102919091010152600194850194610d049083613da1565b8216915050610c8d565b50600101610c58565b5050509250929050565b5f5b81811015610df7575f838383818110610d3e57610d3e613d8d565b905060200201359050805f1480610d625750335f9081526003602052604090205481115b15610d885760405163537f0f7760e11b8152600481018290526024015b60405180910390fd5b335f908152600f6020908152604080832084845290915290208054600160f81b900460081615801590610dd157604051637d69411960e01b815260048101849052602401610d7f565b335f908152600c60205260409020610de99084613004565b836001019350505050610d23565b505050565b335f9081526003602052604090205460609061ffff610e1b8483613d66565b1115610e5057610e2b8382613d66565b604051631e9bcc6760e11b8152600481019190915261ffff6024820152604401610d7f565b5f610e5a33612bdb565b9050836001600160401b03811115610e7457610e74613d79565b604051908082528060200260200182016040528015610e9d578160200160208202803683370190505b5092505f8215610eb657610eb1335f612c1a565b610eb8565b5f5b335f908152600960209081526040808320815160a081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000082048316151560608201526401000000009091049091161515608082015291925090815b878110156118af575f898983818110610f4157610f41613d8d565b9050602002810190610f539190613db4565b610f5c90614081565b9050610f6d6001633b9aca00613da1565b816020015163ffffffff161115610fb9576020810151610f926001633b9aca00613da1565b60405163bad92c4160e01b815263ffffffff90921660048301526024820152604401610d7f565b8115611046575f8a8a610fcd600186613da1565b818110610fdc57610fdc613d8d565b9050602002810190610fee9190613db4565b610fff9060e081019060c00161416e565b62ffffff169050808260c0015162ffffff1610156110445760c0820151604051635ccf1bb560e11b815262ffffff909116600482015260248101829052604401610d7f565b505b5f6110518389613d66565b61105c906001613d66565b9050836020015180156110af57508161010001516060015180156110895750604082015163ffffffff1615155b806110af5750816101000151606001511580156110af575081516001600160681b031615155b156110d0576040516305addf0360e31b815260048101829052602401610d7f565b835180156110e55750606082015161ffff1615155b15611106576040516374dea19f60e11b815260048101829052602401610d7f565b8360400151801561111a5750610100820151515b1561113b57604051630cf7876760e21b815260048101829052602401610d7f565b60c861ffff168260e0015160ff16111561117a5760e0820151604051634c70edff60e11b815260ff909116600482015260c86024820152604401610d7f565b633b9aca0063ffffffff1682610120015163ffffffff1611156111c9576101208201516040516305b8b4e960e51b815263ffffffff9091166004820152633b9aca006024820152604401610d7f565b816020015163ffffffff165f036111f65760405163265cef1f60e21b815260048101829052602401610d7f565b816020015163ffffffff16600114801561121757505f826060015161ffff16115b156112585760208201516060830151604051634a92da1960e11b81526004810184905263ffffffff909216602483015261ffff166044820152606401610d7f565b5f826060015161ffff1611801561127a575060808201516001600160a01b0316155b801561129b5750335f908152600160205260409020546001600160a01b0316155b156112bc57604051631001d26d60e31b815260048101829052602401610d7f565b604051806101000160405280835f01516001600160681b03168152602001836020015163ffffffff168152602001836020015163ffffffff16815260200183610120015163ffffffff1681526020018360c0015162ffffff1681526020018360e0015160ff168152602001836060015161ffff16815260200161139b8461010001515f015185610100015160400151866101000151606001518761010001516080015188610100015160a0015189610100015160c0015160051b60049190911b60039290921b60029390931b60019490941b9094179290921717171790565b60ff908116909152335f908152600f60209081526040808320868452825291829020845181549286015193860151606080880151608089015160a08a015160c08b015160e0909b01516001600160681b0390961670ffffffffffffffffffffffffffffffffff1990981697909717600160681b63ffffffff998a16021767ffffffffffffffff60881b1916600160881b9489169490940263ffffffff60a81b191693909317600160a81b97909116969096029590951763ffffffff60c81b1916600160c81b62ffffff9092169190910260ff60e01b191617600160e01b93861693909302929092176001600160e81b0316600160e81b61ffff909616959095026001600160f81b031694909417600160f81b919093160291909117909155610100830151015180156114d65750604082015163ffffffff1615155b1561151157604082810151335f90815260116020908152838220858352905291909120805463ffffffff191663ffffffff9092169190911790555b60c082015162ffffff168315611565578b8b61152e600187613da1565b81811061153d5761153d613d8d565b905060200281019061154f9190613db4565b6115609060e081019060c00161416e565b611567565b5f5b62ffffff1614158015611582575060c082015162ffffff1615155b156115ad57335f908152600e6020908152604080832060c086015162ffffff16845290915290208190555b60808201516001600160a01b0316158015906115d05750606082015161ffff1615155b156116b5578161010001516020015115611679576080820151335f908152600160205260409020546001600160a01b0390811691161461167457608082018051335f8181526001602090815260409182902080546001600160a01b0319166001600160a01b039586161790559351905182815292169290917f3712caaa5c2503be9ff731e3a7f92913300720dc7f44240bd50b8bf3f44dd6e0910160405180910390a35b6116b5565b6080820151335f908152600d60209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a0820151156116df5760a0820151335f9081526002602090815260408083208584529091529020555b851561188757855f5b8115611884576116f933838b612cd4565b335f908152600f6020908152604080832086845290915290205460c086015191925062ffffff600160c81b90910481169116118015906117395750898211155b1561180b57611749836001613d66565b821461176c57335f90815260106020908152604080832086845290915290208290555b335f908152600b6020526040902054891461179357335f908152600b602052604090208990555b61179e600184613da1565b871415806117c45750335f9081526010602090815260408083208a845290915290205415155b156117fd576117d4600184613da1565b87146117e057826117e2565b5f5b335f9081526010602090815260408083208b84529091529020555b8197508296505f91506116e8565b80158061181757508981115b1561187b57611827826001613d66565b831461184a57335f90815260106020908152604080832085845290915290208390555b335f908152600b602052604081205493985088939092501561187657335f908152600b60205260408120555b6116e8565b909550806116e8565b50505b8089848151811061189a5761189a613d8d565b60209081029190910101525050600101610f26565b506118ba8786613d66565b335f9081526003602052604090205550939695505050505050565b5f6118e1848484612ebc565b90505b9392505050565b5f610869633b9aca008361419b565b335f908152600c602052604081206119129084613012565b905061191e8184613055565b1561193f57604051638145a02760e01b815260048101849052602401610d7f565b60c882111561196b57604051634c70edff60e11b81526004810183905260c86024820152604401610d7f565b335f908152600f6020908152604080832086845290915290208054600160f81b8104601016151590600160e01b900460ff16841180156119a85750805b156119db578154604051635c52491d60e01b815260048101869052600160e01b90910460ff166024820152604401610d7f565b50805460ff909316600160e01b0260ff60e01b19909316929092179091555050565b6001600160a01b0382165f908152600c602052604081208190611a209084613012565b9050611a2c8184613055565b949350505050565b335f9081526009602052604090208190610df782826141ba565b611a5661369b565b6001600160a01b0384165f908152600f6020908152604080832086845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e08201526118e1908590859085613073565b5f5f611b1e836118eb565b6001600160a01b039094165f908152600f6020908152604080832087845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920491821660e0909101529394600290941615159392505050565b5f5f611bea836118eb565b6001600160a01b0385165f908152600f60209081526040808320848452825280832081516101008101835290546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b90910490811660e0830152929350916004169003611cac578051611cd6565b6001600160a01b0385165f90815260116020908152604080832085845290915290205463ffffffff165b6001600160681b031695945050505050565b5f5b81811015610df7575f838383818110611d0557611d05613d8d565b9050602002013590505f611d18826118eb565b335f9081526004602090815260408083208484529091528120805492935090611d4083614282565b9091555050335f818152600f6020908152604080832094835293815283822054928252600890529190912080546001600160681b03909216909103905550600101611cea565b6001600160a01b0382165f908152600f60209081526040808320848452825280832081516101008101835290546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e08201526118e490849084906132cf565b6001600160a01b0382165f9081526003602052604081205460081c815b818111611ede576001600160a01b038086165f908152600a602090815260408083209388168352928152828220848352905220545b8015611ed557611eb88686611ea584612e2e565b611eb390600887901b613d66565b612ebc565b611ec29085613d66565b9350611ecf600182613da1565b16611e91565b50600101611e5c565b505092915050565b60605f611ef288612bdb565b9050805f03611f01575061218e565b826001600160401b03811115611f1957611f19613d79565b604051908082528060200260200182016040528015611f5257816020015b611f3f61369b565b815260200190600190039081611f375790505b5060408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905291935090604080518082019091525f80825260208201525f5b83871461217d575f885f03611fed57611fe88d8c15611fe2578d8d85818110611fd657611fd6613d8d565b90506020020135612c1a565b5f612c1a565b611fef565b885b90505b801580159061200057508785105b15612171576120108d8285612c7f565b61215f576001600160a01b038d165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e082015293508a158015906120f457508b8b838181106120e1576120e1613d8d565b90506020020135846080015162ffffff16115b612171578a158061212557508b8b8381811061211257612112613d8d565b90506020020135846080015162ffffff16145b1561215f576121368d82868d613073565b878661214181614282565b97508151811061215357612153613d8d565b60200260200101819052505b61216a8d8288612cd4565b9050611ff2565b50600101898110611fab575b868414612188578386525b50505050505b9695505050505050565b5f5f5b82811015612209576001600160a01b0385165f908152600f60205260408120906121dc8686858181106121d0576121d0613d8d565b905060200201356118eb565b815260208101919091526040015f20546121ff906001600160681b031683613d66565b915060010161219b565b509392505050565b335f818152600f60209081526040808320868452825280832081516101008101835281546001600160681b038116825263ffffffff600160681b8204811695830195909552600160881b8104851693820193909352600160a81b830490931660608481019190915262ffffff600160c81b840416608085015260ff600160e01b8404811660a086015261ffff600160e81b85041660c0860152600160f81b90930490921660e084015290939092916122cb919087906132cf565b9050808411156122f85760405163bc4cd97b60e01b81526004810185905260248101829052604401610d7f565b335f90815260056020908152604080832088845290915281208054869290612321908490613d66565b909155508490506001600160401b0381111561233f5761233f613d79565b604051908082528060200260200182016040528015612368578160200160208202803683370190505b5092505f5b848110156124035782546123de9087908590600d9061239890600160681b900463ffffffff1661429a565b91906101000a81548163ffffffff021916908363ffffffff1602179055855f0160119054906101000a900463ffffffff166123d391906142b8565b63ffffffff166133cb565b8482815181106123f0576123f0613d8d565b602090810291909101015260010161236d565b50505092915050565b60606118e483836133e5565b806001600160a01b0316826001600160a01b03160361243657505050565b6001600160a01b038216156124ca57335f9081526006602090815260408083206001600160a01b0386168452825280832086845290915281208054829061247c906142d4565b9190508190559050805f03612496576124963384866134e1565b335f908152602081815260408083206001600160a01b0387168452909152812080549091906124c4906142d4565b90915550505b6001600160a01b03811615610df757335f9081526006602090815260408083206001600160a01b03851684528252808320868452909152812054908190036125175761251733838661350f565b335f8181526006602090815260408083206001600160a01b0387168085529083528184208985528352818420600196870190559383528282528083209383529290522080549091019055505050565b61256e61369b565b5f612578846118eb565b6001600160a01b0386165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e0820152909150612638908690839086613073565b95945050505050565b6001600160a01b0382165f90815260026020526040812081612662846118eb565b81526020019081526020015f2054905092915050565b6001600160a01b0381165f90815260036020526040812054805b80156127a9576001600160a01b0384165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82048116948301859052600160a81b820416606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e082015291146127a0576001600160a01b0385165f9081526004602090815260408083208584528252909120549082015161277e919063ffffffff16613d66565b816040015163ffffffff166127939190613da1565b61279d9085613d66565b93505b505f1901612692565b5050919050565b6060845f8085806001600160401b038111156127ce576127ce613d79565b6040519080825280602002602001820160405280156127f7578160200160208202803683370190505b50945061281560405180604001604052805f81526020015f81525090565b5f5b82811015612bcd575f8a8a8381811061283257612832613d8d565b905060200201602081019061284791906142e9565b61ffff169050612858338285612c7f565b1561287957604051638145a02760e01b815260048101829052602401610d7f565b335f908152600f6020908152604080832084845282529091208054909650600160f81b9004600181161515911615158a80156128b3575081155b156128d4576040516339f1cd3d60e01b815260048101849052602401610d7f565b8654600160881b900463ffffffff165f036129055760405163537f0f7760e11b815260048101849052602401610d7f565b86546001600160681b03811690600160e01b900460ff161561294757875461293a908290600160e01b900460ff1660c861353d565b6129449082613da1565b90505b811561295a57612957818a613d66565b98505b898111156129855760405163774485a360e11b815260048101829052602481018b9052604401610d7f565b8754600160681b900463ffffffff165f036129b657604051632428238960e21b815260048101859052602401610d7f565b604080516101008101825289546001600160681b038116825263ffffffff600160681b820481166020840152600160881b8204811693830193909352600160a81b8104909216606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e08201525f90612a5190339087906132cf565b895463ffffffff60681b198116600160681b9182900463ffffffff9081165f198101821690930291909117808d55929350612a9c928892600160881b909104821603600101166133cb565b8c8781518110612aae57612aae613d8d565b60209081029190910181019190915260408051610100810182528b546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e08201529a8290039a5f90612b5d90339088906132cf565b8a54909150600160681b900463ffffffff16811115612b9257604051632428238960e21b815260048101879052602401610d7f565b8954335f90815260086020526040902080546001600160681b0390921660019490930384019290920201905594909401935061281792505050565b505050509450945094915050565b6001600160a01b0381165f908152600b602052604081205490819003612c1557506001600160a01b0381165f908152600360205260409020545b919050565b5f8115612c49576001600160a01b0383165f908152600e60209081526040808320858452909152902054612c6d565b6001600160a01b0383165f9081526010602090815260408083208380529091529020545b9050805f036108695750600192915050565b5f612c8a828461360c565b80612ca157508151158015612ca157506020820151155b15612cca576001600160a01b0384165f908152600c60205260409020612cc79084613012565b91505b6118e18284613055565b5f818303612ce357505f6118e4565b6001600160a01b0384165f9081526010602090815260408083208684529091529020548015612d135790506118e4565b612638846001613d66565b6001600160a01b0382165f9081526003602052604081205460081c815b818111611ede576001600160a01b038581165f908152600a602090815260408083209388168352928152828220848352905220547f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c168203600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c5f1990911460081b17612e249084613d66565b9250600101612d3b565b7e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b150316040581196001019091166101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff840260f81c161b60f71c1690811c63d76453e004601f169190911a1790565b6001600160a01b038084165f9081526006602090815260408083209386168352928152828220848352905290812054808203612efb575f9150506118e4565b6001600160a01b0385165f908152600f6020908152604080832086845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920491821660e082015290600416151580612fbc578151612fe6565b6001600160a01b0387165f90815260116020908152604080832088845290915290205463ffffffff165b612ff9906001600160681b031684614302565b979650505050505050565b61300e8282613625565b5050565b604080518082019091525f80825260208201525f6130308360081c90565b6040805180820182525f83815260209788529190912054815294850152509192915050565b5f61306261010083614319565b83516001911c811614905092915050565b61307b61369b565b5f6130868686610818565b90505f8460e001519050604051806101a001604052808763ffffffff168152602001865f01516001600160681b03168152602001866020015163ffffffff168152602001866040015163ffffffff1681526020018260041660ff165f036130ee578651613118565b6001600160a01b0389165f9081526011602090815260408083208b845290915290205463ffffffff165b6001600160681b031681526020016001600160a01b0384161561313f578660c00151613141565b5f5b61ffff1681526001600160a01b03808516602080840191909152908a165f908152600280835260408083208c845284529182902054828501526080808b015162ffffff1660608087019190915260a0808d015160ff16838801528451808201865260018a161515815293891615158487015260088916151594840194909452601088161515838201529387161515908201529083015287015163ffffffff1660c082015260e00185158061320c57506001600160a01b038981165f9081526007602052604090205416155b6132b2576001600160a01b03808a165f9081526007602052604081205490911690635e703e71908b90613240908c906133cb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f60405180830381865afa158015613286573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132ad919081019061432c565b6132c2565b60405180602001604052805f8152505b9052979650505050505050565b604081015160c08201515f9163ffffffff169061ffff1615806132fb5750826020015163ffffffff1681145b8061331757505f61330c8686610818565b6001600160a01b0316145b15613325575f9150506118e4565b6001600160a01b0385165f9081526005602090815260408083208784528252909120549084015161335d90829063ffffffff16613d66565b820361336d575f925050506118e4565b5f81856020015163ffffffff1684030390505f8560c0015161ffff1682613394919061419b565b90505f8660c0015161ffff16836133ab9190614319565b11156133bd576133ba81614282565b90505b919091039695505050505050565b5f816133db633b9aca0085614302565b6118e49190613d66565b60606133f18383612d1e565b6001600160401b0381111561340857613408613d79565b604051908082528060200260200182016040528015613431578160200160208202803683370190505b506001600160a01b0384165f908152600360205260408120549192509060081c815b818111612403576001600160a01b038087165f908152600a602090815260408083209389168352928152828220848352905220545b80156134d85761349781612e2e565b6134a590600884901b613d66565b8585815181106134b7576134b7613d8d565b60209081029190910101526001938401936134d29082613da1565b16613488565b50600101613453565b6001600160a01b038084165f908152600a60209081526040808320938616835292905220610df79082613654565b6001600160a01b038084165f908152600a60209081526040808320938616835292905220610df79082613625565b5f80805f19858709858702925082811083820303915050805f036135745783828161356a5761356a614187565b04925050506118e4565b8381106135a557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d7f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f826020015161361c8360081c90565b14159392505050565b61362e81613684565b825f61363a8460081c90565b815260208101919091526040015f20805490911790555050565b61365d81613684565b19825f61366a8460081c90565b815260208101919091526040015f20805490911690555050565b5f61369161010083614319565b6001901b92915050565b604080516101a0810182525f80825260208083018290528284018290526060808401839052608080850184905260a080860185905260c0860185905260e0860185905261010086018590526101208601859052865190810187528481529283018490529482018390528101829052928301529061014082019081525f6020820152606060409091015290565b6001600160a01b038116811461373b575f5ffd5b50565b8035612c1581613727565b5f5f6040838503121561375a575f5ffd5b823561376581613727565b946020939093013593505050565b5f60208284031215613783575f5ffd5b81356118e481613727565b5f5f6040838503121561379f575f5ffd5b82356137aa81613727565b915060208301356137ba81613727565b809150509250929050565b5f8151808452602084019350602083015f5b828110156137f55781518652602095860195909101906001016137d7565b5093949350505050565b604081525f61381160408301856137c5565b828103602084015261263881856137c5565b5f5f83601f840112613833575f5ffd5b5081356001600160401b03811115613849575f5ffd5b6020830191508360208260051b8501011115613863575f5ffd5b9250929050565b5f5f6020838503121561387b575f5ffd5b82356001600160401b03811115613890575f5ffd5b61389c85828601613823565b90969095509350505050565b602081525f6118e460208301846137c5565b5f5f5f606084860312156138cc575f5ffd5b83356138d781613727565b925060208401356138e781613727565b929592945050506040919091013590565b5f60208284031215613908575f5ffd5b5035919050565b5f5f60408385031215613920575f5ffd5b50508035926020909101359150565b5f60a0828403128015613940575f5ffd5b509092915050565b801515811461373b575f5ffd5b8035612c1581613948565b5f5f5f60608486031215613972575f5ffd5b833561397d81613727565b925060208401359150604084013561399481613948565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b805163ffffffff1682525f60208201516139f260208501826001600160681b03169052565b506040820151613a0a604085018263ffffffff169052565b506060820151613a22606085018263ffffffff169052565b506080820151613a3d60808501826001600160681b03169052565b5060a0820151613a5360a085018261ffff169052565b5060c0820151613a6e60c08501826001600160a01b03169052565b5060e082015160e0840152610100820151613a9161010085018262ffffff169052565b50610120820151613aa861012085018260ff169052565b50610140820151613af26101408501828051151582526020810151151560208301526040810151151560408301526060810151151560608301526080810151151560808301525050565b5061016082015163ffffffff81166101e085015250610180820151610220610200850152611a2c61022085018261399f565b602081525f6118e460208301846139cd565b60a0810161086982848051151582526020810151151560208301526040810151151560408301526060810151151560608301526080810151151560808301525050565b5f5f5f5f5f5f60a08789031215613b8e575f5ffd5b8635613b9981613727565b955060208701356001600160401b03811115613bb3575f5ffd5b613bbf89828a01613823565b9096509450506040870135613bd381613948565b959894975092956060810135946080909101359350915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613c4457603f19878603018452613c2f8583516139cd565b94506020938401939190910190600101613c13565b50929695505050505050565b5f5f5f60408486031215613c62575f5ffd5b8335613c6d81613727565b925060208401356001600160401b03811115613c87575f5ffd5b613c9386828701613823565b9497909650939450505050565b5f5f5f60608486031215613cb2575f5ffd5b833592506020840135613cc481613727565b9150604084013561399481613727565b5f5f5f5f60608587031215613ce7575f5ffd5b8435935060208501356001600160401b03811115613d03575f5ffd5b613d0f87828801613823565b9094509250506040850135613d2381613948565b939692955090935050565b606081525f613d4060608301866137c5565b60208301949094525060400152919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561086957610869613d52565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b8181038181111561086957610869613d52565b5f823561021e19833603018112613dc9575f5ffd5b9190910192915050565b60405160e081016001600160401b0381118282101715613df557613df5613d79565b60405290565b60405160c081016001600160401b0381118282101715613df557613df5613d79565b60405161016081016001600160401b0381118282101715613df557613df5613d79565b604051601f8201601f191681016001600160401b0381118282101715613e6857613e68613d79565b604052919050565b80356001600160681b0381168114612c15575f5ffd5b803563ffffffff81168114612c15575f5ffd5b803561ffff81168114612c15575f5ffd5b803562ffffff81168114612c15575f5ffd5b803560ff81168114612c15575f5ffd5b5f60e08284031215613edc575f5ffd5b613ee4613dd3565b90508135613ef181613948565b81526020820135613f0181613948565b60208201526040820135613f1481613948565b60408201526060820135613f2781613948565b6060820152613f3860808301613955565b6080820152613f4960a08301613955565b60a0820152613f5a60c08301613955565b60c082015292915050565b803565ffffffffffff81168114612c15575f5ffd5b5f82601f830112613f89575f5ffd5b81356001600160401b03811115613fa257613fa2613d79565b613fb160208260051b01613e40565b80828252602082019150602060c08402860101925085831115613fd2575f5ffd5b602085015b838110156140775760c08188031215613fee575f5ffd5b613ff6613dfb565b613fff82613e86565b815260208201356001600160401b038116811461401a575f5ffd5b6020820152604082013561402d81613727565b6040820152606082013561404081613948565b606082015261405160808301613f65565b608082015261406260a0830161373e565b60a0820152835260209092019160c001613fd7565b5095945050505050565b5f6102208236031215614092575f5ffd5b61409a613e1d565b6140a383613e70565b81526140b160208401613e86565b60208201526140c260408401613e86565b60408201526140d360608401613e99565b60608201526140e46080840161373e565b608082015260a083810135908201526140ff60c08401613eaa565b60c082015261411060e08401613ebc565b60e0820152614123366101008501613ecc565b6101008201526141366101e08401613e86565b6101208201526102008301356001600160401b03811115614155575f5ffd5b61416136828601613f7a565b6101408301525092915050565b5f6020828403121561417e575f5ffd5b6118e482613eaa565b634e487b7160e01b5f52601260045260245ffd5b5f826141a9576141a9614187565b500490565b5f813561086981613948565b81356141c581613948565b815460ff19811691151560ff16918217835560208401356141e581613948565b61ff0090151560081b1661ffff198216831781178455604085013561420981613948565b62ff000081151560101b168462ffffff19851617831717855550505050614253614235606084016141ae565b82805463ff000000191691151560181b63ff00000016919091179055565b61300e614262608084016141ae565b82805464ff00000000191691151560201b64ff0000000016919091179055565b5f6001820161429357614293613d52565b5060010190565b5f63ffffffff8216806142af576142af613d52565b5f190192915050565b63ffffffff828116828216039081111561086957610869613d52565b5f816142e2576142e2613d52565b505f190190565b5f602082840312156142f9575f5ffd5b6118e482613e99565b808202811582820484141761086957610869613d52565b5f8261432757614327614187565b500690565b5f6020828403121561433c575f5ffd5b81516001600160401b03811115614351575f5ffd5b8201601f81018413614361575f5ffd5b80516001600160401b0381111561437a5761437a613d79565b61438d601f8201601f1916602001613e40565b8181528560208385010111156143a1575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea164736f6c634300081c000a",
|
|
1736
|
+
"deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610229575f3560e01c806370d15f531161012a578063bafbea61116100b4578063cf9530d011610079578063cf9530d014610761578063d84a72c014610774578063eaa19ab3146107b0578063f1bea54f146107d2578063f7888aec146107f1575f5ffd5b8063bafbea61146106f6578063c293c0d614610709578063c2c55f9414610728578063c44a8e6d1461073b578063c8df17101461074e575f5ffd5b80638f2b90a7116100fa5780638f2b90a71461068a578063933555781461069d5780639403a74f146106b05780639be748fb146106d0578063baa7e80e146106e3575f5ffd5b806370d15f53146105805780637b70a292146105ac578063845104de146105bf57806386bc2be314610677575f5ffd5b80632e4d0ea8116101b65780635f6466111161017b5780635f646611146104d857806360ff66ec146104fb57806364faa1591461050e5780636825bb801461052e578063698f916414610558575f5ffd5b80632e4d0ea81461044557806337f446521461045857806342f9914b14610488578063509a29021461049b5780635e248963146104ae575f5ffd5b80631923fe69116101fc5780631923fe69146102c257806319883e0a146103b957806320512ba1146103da578063297261d8146103ed5780632b7e6ef01461040d575f5ffd5b8063035730041461022d578063086bb19a1461025d5780630fab094714610272578063114044921461029a575b5f5ffd5b61024061023b366004613749565b610818565b6040516001600160a01b0390911681526020015b60405180910390f35b61027061026b366004613773565b61086f565b005b610240610280366004613773565b60076020525f90815260409020546001600160a01b031681565b6102406102a8366004613773565b60016020525f90815260409020546001600160a01b031681565b61038c6102d0366004613749565b6001600160a01b039091165f908152600f602090815260408083209383529281529082902082516101008101845290546001600160681b03811680835263ffffffff600160681b8304811694840194909452600160881b8204841694830194909452600160a81b81049092166060820181905262ffffff600160c81b840416608083015260ff600160e01b8404811660a0840181905261ffff600160e81b86041660c0850152600160f81b9094041660e0909201919091529192565b604080516001600160681b03909416845263ffffffff909216602084015260ff1690820152606001610254565b6103cc6103c736600461378e565b610ba4565b6040516102549291906137ff565b6102706103e836600461386a565b610d21565b6104006103fb36600461386a565b610dfc565b60405161025491906138a8565b61043761041b366004613749565b600460209081525f928352604080842090915290825290205481565b604051908152602001610254565b6104376104533660046138ba565b6118d5565b6104376104663660046138ba565b600660209081525f938452604080852082529284528284209052825290205481565b6104376104963660046138f8565b6118eb565b6102706104a936600461390f565b6118fa565b6104376104bc366004613749565b600260209081525f928352604080842090915290825290205481565b6104eb6104e6366004613749565b6119fd565b6040519015158152602001610254565b61027061050936600461392f565b611a34565b61052161051c366004613960565b611a4e565b6040516102549190613b24565b61043761053c366004613749565b600560209081525f928352604080842090915290825290205481565b61056b610566366004613749565b611b13565b60408051928352901515602083015201610254565b61027061058e36600461390f565b335f9081526002602090815260408083209483529390529190912055565b6104376105ba366004613749565b611bdf565b61066a6105cd366004613773565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152506001600160a01b03165f90815260096020908152604091829020825160a081018452905460ff8082161515835261010082048116151593830193909352620100008104831615159382019390935263010000008304821615156060820152640100000000909204161515608082015290565b6040516102549190613b36565b61027061068536600461386a565b611ce8565b610437610698366004613749565b611d86565b6104376106ab36600461378e565b611e3f565b6106c36106be366004613b79565b611ee6565b6040516102549190613bed565b6104376106de366004613c50565b612198565b6104006106f136600461390f565b612211565b61040061070436600461378e565b61240c565b610437610717366004613773565b60086020525f908152604090205481565b610270610736366004613ca0565b612418565b610521610749366004613960565b612566565b61043761075c366004613749565b612641565b61043761076f366004613773565b612678565b610270610782366004613773565b335f90815260076020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c36107be366004613cd4565b6127b0565b60405161025493929190613d2e565b6104376107e0366004613773565b60036020525f908152604090205481565b6104376107ff36600461378e565b5f60208181529281526040808220909352908152205481565b6001600160a01b038083165f908152600d60209081526040808320858452909152812054909116801561084c579050610869565b50506001600160a01b038083165f90815260016020526040902054165b92915050565b5f61087982612bdb565b90505f610886835f612c1a565b90505f6108a460405180604001604052805f81526020015f81525090565b8215610a98576108b5858483612c7f565b6109fc576108c4826001613d66565b831461091e576001600160a01b0385165f9081526010602090815260408083208584529091529020548314610919576001600160a01b0385165f90815260106020908152604080832085845290915290208390555b61096a565b6001600160a01b0385165f9081526010602090815260408083208584529091529020541561096a576001600160a01b0385165f9081526010602090815260408083208584529091528120555b6001600160a01b0385165f908152600f60209081526040808320868452909152902054600160c81b900462ffffff1680158015906109c857506001600160a01b0386165f908152600e60209081526040808320848452909152902054155b156109f3576001600160a01b0386165f908152600e6020908152604080832084845290915290208490555b83925050610a86565b6001600160a01b0385165f908152600f60209081526040808320868452909152902054600160c81b900462ffffff168015801590610a5b57506001600160a01b0386165f908152600e6020908152604080832084845290915290205484145b15610a84576001600160a01b0386165f908152600e602090815260408083208484529091528120555b505b610a91858486612cd4565b92506108a4565b8115801590610aa75750838214155b15610b5f576001600160a01b0385165f90815260106020908152604080832085845290915290205415610af8576001600160a01b0385165f9081526010602090815260408083208584529091528120555b6001600160a01b0385165f9081526003602052604081205490838214610b1e5783610b20565b5f5b6001600160a01b0388165f908152600b60205260409020549091508114610b5c576001600160a01b0387165f908152600b602052604090208190555b50505b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b606080610bb18484612d1e565b6001600160401b03811115610bc857610bc8613d79565b604051908082528060200260200182016040528015610bf1578160200160208202803683370190505b50915081516001600160401b03811115610c0d57610c0d613d79565b604051908082528060200260200182016040528015610c36578160200160208202803683370190505b506001600160a01b0385165f908152600360205260408120549192509060081c815b818111610d17576001600160a01b038088165f908152600a60209081526040808320938a168352928152828220848352905220545b8015610d0e575f610c9d82612e2e565b610cab90600885901b613d66565b905080878681518110610cc057610cc0613d8d565b602002602001018181525050610cd7898983612ebc565b868681518110610ce957610ce9613d8d565b6020908102919091010152600194850194610d049083613da1565b8216915050610c8d565b50600101610c58565b5050509250929050565b5f5b81811015610df7575f838383818110610d3e57610d3e613d8d565b905060200201359050805f1480610d625750335f9081526003602052604090205481115b15610d885760405163537f0f7760e11b8152600481018290526024015b60405180910390fd5b335f908152600f6020908152604080832084845290915290208054600160f81b900460081615801590610dd157604051637d69411960e01b815260048101849052602401610d7f565b335f908152600c60205260409020610de99084613004565b836001019350505050610d23565b505050565b335f9081526003602052604090205460609061ffff610e1b8483613d66565b1115610e5057610e2b8382613d66565b604051631e9bcc6760e11b8152600481019190915261ffff6024820152604401610d7f565b5f610e5a33612bdb565b9050836001600160401b03811115610e7457610e74613d79565b604051908082528060200260200182016040528015610e9d578160200160208202803683370190505b5092505f8215610eb657610eb1335f612c1a565b610eb8565b5f5b335f908152600960209081526040808320815160a081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000082048316151560608201526401000000009091049091161515608082015291925090815b878110156118af575f898983818110610f4157610f41613d8d565b9050602002810190610f539190613db4565b610f5c90614081565b9050610f6d6001633b9aca00613da1565b816020015163ffffffff161115610fb9576020810151610f926001633b9aca00613da1565b60405163bad92c4160e01b815263ffffffff90921660048301526024820152604401610d7f565b8115611046575f8a8a610fcd600186613da1565b818110610fdc57610fdc613d8d565b9050602002810190610fee9190613db4565b610fff9060e081019060c00161416e565b62ffffff169050808260c0015162ffffff1610156110445760c0820151604051635ccf1bb560e11b815262ffffff909116600482015260248101829052604401610d7f565b505b5f6110518389613d66565b61105c906001613d66565b9050836020015180156110af57508161010001516060015180156110895750604082015163ffffffff1615155b806110af5750816101000151606001511580156110af575081516001600160681b031615155b156110d0576040516305addf0360e31b815260048101829052602401610d7f565b835180156110e55750606082015161ffff1615155b15611106576040516374dea19f60e11b815260048101829052602401610d7f565b8360400151801561111a5750610100820151515b1561113b57604051630cf7876760e21b815260048101829052602401610d7f565b60c861ffff168260e0015160ff16111561117a5760e0820151604051634c70edff60e11b815260ff909116600482015260c86024820152604401610d7f565b633b9aca0063ffffffff1682610120015163ffffffff1611156111c9576101208201516040516305b8b4e960e51b815263ffffffff9091166004820152633b9aca006024820152604401610d7f565b816020015163ffffffff165f036111f65760405163265cef1f60e21b815260048101829052602401610d7f565b816020015163ffffffff16600114801561121757505f826060015161ffff16115b156112585760208201516060830151604051634a92da1960e11b81526004810184905263ffffffff909216602483015261ffff166044820152606401610d7f565b5f826060015161ffff1611801561127a575060808201516001600160a01b0316155b801561129b5750335f908152600160205260409020546001600160a01b0316155b156112bc57604051631001d26d60e31b815260048101829052602401610d7f565b604051806101000160405280835f01516001600160681b03168152602001836020015163ffffffff168152602001836020015163ffffffff16815260200183610120015163ffffffff1681526020018360c0015162ffffff1681526020018360e0015160ff168152602001836060015161ffff16815260200161139b8461010001515f015185610100015160400151866101000151606001518761010001516080015188610100015160a0015189610100015160c0015160051b60049190911b60039290921b60029390931b60019490941b9094179290921717171790565b60ff908116909152335f908152600f60209081526040808320868452825291829020845181549286015193860151606080880151608089015160a08a015160c08b015160e0909b01516001600160681b0390961670ffffffffffffffffffffffffffffffffff1990981697909717600160681b63ffffffff998a16021767ffffffffffffffff60881b1916600160881b9489169490940263ffffffff60a81b191693909317600160a81b97909116969096029590951763ffffffff60c81b1916600160c81b62ffffff9092169190910260ff60e01b191617600160e01b93861693909302929092176001600160e81b0316600160e81b61ffff909616959095026001600160f81b031694909417600160f81b919093160291909117909155610100830151015180156114d65750604082015163ffffffff1615155b1561151157604082810151335f90815260116020908152838220858352905291909120805463ffffffff191663ffffffff9092169190911790555b60c082015162ffffff168315611565578b8b61152e600187613da1565b81811061153d5761153d613d8d565b905060200281019061154f9190613db4565b6115609060e081019060c00161416e565b611567565b5f5b62ffffff1614158015611582575060c082015162ffffff1615155b156115ad57335f908152600e6020908152604080832060c086015162ffffff16845290915290208190555b60808201516001600160a01b0316158015906115d05750606082015161ffff1615155b156116b5578161010001516020015115611679576080820151335f908152600160205260409020546001600160a01b0390811691161461167457608082018051335f8181526001602090815260409182902080546001600160a01b0319166001600160a01b039586161790559351905182815292169290917f3712caaa5c2503be9ff731e3a7f92913300720dc7f44240bd50b8bf3f44dd6e0910160405180910390a35b6116b5565b6080820151335f908152600d60209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a0820151156116df5760a0820151335f9081526002602090815260408083208584529091529020555b851561188757855f5b8115611884576116f933838b612cd4565b335f908152600f6020908152604080832086845290915290205460c086015191925062ffffff600160c81b90910481169116118015906117395750898211155b1561180b57611749836001613d66565b821461176c57335f90815260106020908152604080832086845290915290208290555b335f908152600b6020526040902054891461179357335f908152600b602052604090208990555b61179e600184613da1565b871415806117c45750335f9081526010602090815260408083208a845290915290205415155b156117fd576117d4600184613da1565b87146117e057826117e2565b5f5b335f9081526010602090815260408083208b84529091529020555b8197508296505f91506116e8565b80158061181757508981115b1561187b57611827826001613d66565b831461184a57335f90815260106020908152604080832085845290915290208390555b335f908152600b602052604081205493985088939092501561187657335f908152600b60205260408120555b6116e8565b909550806116e8565b50505b8089848151811061189a5761189a613d8d565b60209081029190910101525050600101610f26565b506118ba8786613d66565b335f9081526003602052604090205550939695505050505050565b5f6118e1848484612ebc565b90505b9392505050565b5f610869633b9aca008361419b565b335f908152600c602052604081206119129084613012565b905061191e8184613055565b1561193f57604051638145a02760e01b815260048101849052602401610d7f565b60c882111561196b57604051634c70edff60e11b81526004810183905260c86024820152604401610d7f565b335f908152600f6020908152604080832086845290915290208054600160f81b8104601016151590600160e01b900460ff16841180156119a85750805b156119db578154604051635c52491d60e01b815260048101869052600160e01b90910460ff166024820152604401610d7f565b50805460ff909316600160e01b0260ff60e01b19909316929092179091555050565b6001600160a01b0382165f908152600c602052604081208190611a209084613012565b9050611a2c8184613055565b949350505050565b335f9081526009602052604090208190610df782826141ba565b611a5661369b565b6001600160a01b0384165f908152600f6020908152604080832086845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e08201526118e1908590859085613073565b5f5f611b1e836118eb565b6001600160a01b039094165f908152600f6020908152604080832087845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920491821660e0909101529394600290941615159392505050565b5f5f611bea836118eb565b6001600160a01b0385165f908152600f60209081526040808320848452825280832081516101008101835290546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b90910490811660e0830152929350916004169003611cac578051611cd6565b6001600160a01b0385165f90815260116020908152604080832085845290915290205463ffffffff165b6001600160681b031695945050505050565b5f5b81811015610df7575f838383818110611d0557611d05613d8d565b9050602002013590505f611d18826118eb565b335f9081526004602090815260408083208484529091528120805492935090611d4083614282565b9091555050335f818152600f6020908152604080832094835293815283822054928252600890529190912080546001600160681b03909216909103905550600101611cea565b6001600160a01b0382165f908152600f60209081526040808320848452825280832081516101008101835290546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e08201526118e490849084906132cf565b6001600160a01b0382165f9081526003602052604081205460081c815b818111611ede576001600160a01b038086165f908152600a602090815260408083209388168352928152828220848352905220545b8015611ed557611eb88686611ea584612e2e565b611eb390600887901b613d66565b612ebc565b611ec29085613d66565b9350611ecf600182613da1565b16611e91565b50600101611e5c565b505092915050565b60605f611ef288612bdb565b9050805f03611f01575061218e565b826001600160401b03811115611f1957611f19613d79565b604051908082528060200260200182016040528015611f5257816020015b611f3f61369b565b815260200190600190039081611f375790505b5060408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905291935090604080518082019091525f80825260208201525f5b83871461217d575f885f03611fed57611fe88d8c15611fe2578d8d85818110611fd657611fd6613d8d565b90506020020135612c1a565b5f612c1a565b611fef565b885b90505b801580159061200057508785105b15612171576120108d8285612c7f565b61215f576001600160a01b038d165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e082015293508a158015906120f457508b8b838181106120e1576120e1613d8d565b90506020020135846080015162ffffff16115b612171578a158061212557508b8b8381811061211257612112613d8d565b90506020020135846080015162ffffff16145b1561215f576121368d82868d613073565b878661214181614282565b97508151811061215357612153613d8d565b60200260200101819052505b61216a8d8288612cd4565b9050611ff2565b50600101898110611fab575b868414612188578386525b50505050505b9695505050505050565b5f5f5b82811015612209576001600160a01b0385165f908152600f60205260408120906121dc8686858181106121d0576121d0613d8d565b905060200201356118eb565b815260208101919091526040015f20546121ff906001600160681b031683613d66565b915060010161219b565b509392505050565b335f818152600f60209081526040808320868452825280832081516101008101835281546001600160681b038116825263ffffffff600160681b8204811695830195909552600160881b8104851693820193909352600160a81b830490931660608481019190915262ffffff600160c81b840416608085015260ff600160e01b8404811660a086015261ffff600160e81b85041660c0860152600160f81b90930490921660e084015290939092916122cb919087906132cf565b9050808411156122f85760405163bc4cd97b60e01b81526004810185905260248101829052604401610d7f565b335f90815260056020908152604080832088845290915281208054869290612321908490613d66565b909155508490506001600160401b0381111561233f5761233f613d79565b604051908082528060200260200182016040528015612368578160200160208202803683370190505b5092505f5b848110156124035782546123de9087908590600d9061239890600160681b900463ffffffff1661429a565b91906101000a81548163ffffffff021916908363ffffffff1602179055855f0160119054906101000a900463ffffffff166123d391906142b8565b63ffffffff166133cb565b8482815181106123f0576123f0613d8d565b602090810291909101015260010161236d565b50505092915050565b60606118e483836133e5565b806001600160a01b0316826001600160a01b03160361243657505050565b6001600160a01b038216156124ca57335f9081526006602090815260408083206001600160a01b0386168452825280832086845290915281208054829061247c906142d4565b9190508190559050805f03612496576124963384866134e1565b335f908152602081815260408083206001600160a01b0387168452909152812080549091906124c4906142d4565b90915550505b6001600160a01b03811615610df757335f9081526006602090815260408083206001600160a01b03851684528252808320868452909152812054908190036125175761251733838661350f565b335f8181526006602090815260408083206001600160a01b0387168085529083528184208985528352818420600196870190559383528282528083209383529290522080549091019055505050565b61256e61369b565b5f612578846118eb565b6001600160a01b0386165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e0820152909150612638908690839086613073565b95945050505050565b6001600160a01b0382165f90815260026020526040812081612662846118eb565b81526020019081526020015f2054905092915050565b6001600160a01b0381165f90815260036020526040812054805b80156127a9576001600160a01b0384165f908152600f6020908152604080832084845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82048116948301859052600160a81b820416606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e082015291146127a0576001600160a01b0385165f9081526004602090815260408083208584528252909120549082015161277e919063ffffffff16613d66565b816040015163ffffffff166127939190613da1565b61279d9085613d66565b93505b505f1901612692565b5050919050565b6060845f8085806001600160401b038111156127ce576127ce613d79565b6040519080825280602002602001820160405280156127f7578160200160208202803683370190505b50945061281560405180604001604052805f81526020015f81525090565b5f5b82811015612bcd575f8a8a8381811061283257612832613d8d565b905060200201602081019061284791906142e9565b61ffff169050612858338285612c7f565b1561287957604051638145a02760e01b815260048101829052602401610d7f565b335f908152600f6020908152604080832084845282529091208054909650600160f81b9004600181161515911615158a80156128b3575081155b156128d4576040516339f1cd3d60e01b815260048101849052602401610d7f565b8654600160881b900463ffffffff165f036129055760405163537f0f7760e11b815260048101849052602401610d7f565b86546001600160681b03811690600160e01b900460ff161561294757875461293a908290600160e01b900460ff1660c861353d565b6129449082613da1565b90505b811561295a57612957818a613d66565b98505b898111156129855760405163774485a360e11b815260048101829052602481018b9052604401610d7f565b8754600160681b900463ffffffff165f036129b657604051632428238960e21b815260048101859052602401610d7f565b604080516101008101825289546001600160681b038116825263ffffffff600160681b820481166020840152600160881b8204811693830193909352600160a81b8104909216606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920490911660e08201525f90612a5190339087906132cf565b895463ffffffff60681b198116600160681b9182900463ffffffff9081165f198101821690930291909117808d55929350612a9c928892600160881b909104821603600101166133cb565b8c8781518110612aae57612aae613d8d565b60209081029190910181019190915260408051610100810182528b546001600160681b038116825263ffffffff600160681b8204811694830194909452600160881b8104841692820192909252600160a81b8204909216606083015262ffffff600160c81b820416608083015260ff600160e01b8204811660a084015261ffff600160e81b83041660c0840152600160f81b9091041660e08201529a8290039a5f90612b5d90339088906132cf565b8a54909150600160681b900463ffffffff16811115612b9257604051632428238960e21b815260048101879052602401610d7f565b8954335f90815260086020526040902080546001600160681b0390921660019490930384019290920201905594909401935061281792505050565b505050509450945094915050565b6001600160a01b0381165f908152600b602052604081205490819003612c1557506001600160a01b0381165f908152600360205260409020545b919050565b5f8115612c49576001600160a01b0383165f908152600e60209081526040808320858452909152902054612c6d565b6001600160a01b0383165f9081526010602090815260408083208380529091529020545b9050805f036108695750600192915050565b5f612c8a828461360c565b80612ca157508151158015612ca157506020820151155b15612cca576001600160a01b0384165f908152600c60205260409020612cc79084613012565b91505b6118e18284613055565b5f818303612ce357505f6118e4565b6001600160a01b0384165f9081526010602090815260408083208684529091529020548015612d135790506118e4565b612638846001613d66565b6001600160a01b0382165f9081526003602052604081205460081c815b818111611ede576001600160a01b038581165f908152600a602090815260408083209388168352928152828220848352905220547f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c168203600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c5f1990911460081b17612e249084613d66565b9250600101612d3b565b7e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b150316040581196001019091166101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff840260f81c161b60f71c1690811c63d76453e004601f169190911a1790565b6001600160a01b038084165f9081526006602090815260408083209386168352928152828220848352905290812054808203612efb575f9150506118e4565b6001600160a01b0385165f908152600f6020908152604080832086845282529182902082516101008101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b8104831693820193909352600160a81b8304909116606082015262ffffff600160c81b830416608082015260ff600160e01b8304811660a083015261ffff600160e81b84041660c0830152600160f81b90920491821660e082015290600416151580612fbc578151612fe6565b6001600160a01b0387165f90815260116020908152604080832088845290915290205463ffffffff165b612ff9906001600160681b031684614302565b979650505050505050565b61300e8282613625565b5050565b604080518082019091525f80825260208201525f6130308360081c90565b6040805180820182525f83815260209788529190912054815294850152509192915050565b5f61306261010083614319565b83516001911c811614905092915050565b61307b61369b565b5f6130868686610818565b90505f8460e001519050604051806101a001604052808763ffffffff168152602001865f01516001600160681b03168152602001866020015163ffffffff168152602001866040015163ffffffff1681526020018260041660ff165f036130ee578651613118565b6001600160a01b0389165f9081526011602090815260408083208b845290915290205463ffffffff165b6001600160681b031681526020016001600160a01b0384161561313f578660c00151613141565b5f5b61ffff1681526001600160a01b03808516602080840191909152908a165f908152600280835260408083208c845284529182902054828501526080808b015162ffffff1660608087019190915260a0808d015160ff16838801528451808201865260018a161515815293891615158487015260088916151594840194909452601088161515838201529387161515908201529083015287015163ffffffff1660c082015260e00185158061320c57506001600160a01b038981165f9081526007602052604090205416155b6132b2576001600160a01b03808a165f9081526007602052604081205490911690635e703e71908b90613240908c906133cb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f60405180830381865afa158015613286573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132ad919081019061432c565b6132c2565b60405180602001604052805f8152505b9052979650505050505050565b604081015160c08201515f9163ffffffff169061ffff1615806132fb5750826020015163ffffffff1681145b8061331757505f61330c8686610818565b6001600160a01b0316145b15613325575f9150506118e4565b6001600160a01b0385165f9081526005602090815260408083208784528252909120549084015161335d90829063ffffffff16613d66565b820361336d575f925050506118e4565b5f81856020015163ffffffff1684030390505f8560c0015161ffff1682613394919061419b565b90505f8660c0015161ffff16836133ab9190614319565b11156133bd576133ba81614282565b90505b919091039695505050505050565b5f816133db633b9aca0085614302565b6118e49190613d66565b60606133f18383612d1e565b6001600160401b0381111561340857613408613d79565b604051908082528060200260200182016040528015613431578160200160208202803683370190505b506001600160a01b0384165f908152600360205260408120549192509060081c815b818111612403576001600160a01b038087165f908152600a602090815260408083209389168352928152828220848352905220545b80156134d85761349781612e2e565b6134a590600884901b613d66565b8585815181106134b7576134b7613d8d565b60209081029190910101526001938401936134d29082613da1565b16613488565b50600101613453565b6001600160a01b038084165f908152600a60209081526040808320938616835292905220610df79082613654565b6001600160a01b038084165f908152600a60209081526040808320938616835292905220610df79082613625565b5f80805f19858709858702925082811083820303915050805f036135745783828161356a5761356a614187565b04925050506118e4565b8381106135a557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d7f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f826020015161361c8360081c90565b14159392505050565b61362e81613684565b825f61363a8460081c90565b815260208101919091526040015f20805490911790555050565b61365d81613684565b19825f61366a8460081c90565b815260208101919091526040015f20805490911690555050565b5f61369161010083614319565b6001901b92915050565b604080516101a0810182525f80825260208083018290528284018290526060808401839052608080850184905260a080860185905260c0860185905260e0860185905261010086018590526101208601859052865190810187528481529283018490529482018390528101829052928301529061014082019081525f6020820152606060409091015290565b6001600160a01b038116811461373b575f5ffd5b50565b8035612c1581613727565b5f5f6040838503121561375a575f5ffd5b823561376581613727565b946020939093013593505050565b5f60208284031215613783575f5ffd5b81356118e481613727565b5f5f6040838503121561379f575f5ffd5b82356137aa81613727565b915060208301356137ba81613727565b809150509250929050565b5f8151808452602084019350602083015f5b828110156137f55781518652602095860195909101906001016137d7565b5093949350505050565b604081525f61381160408301856137c5565b828103602084015261263881856137c5565b5f5f83601f840112613833575f5ffd5b5081356001600160401b03811115613849575f5ffd5b6020830191508360208260051b8501011115613863575f5ffd5b9250929050565b5f5f6020838503121561387b575f5ffd5b82356001600160401b03811115613890575f5ffd5b61389c85828601613823565b90969095509350505050565b602081525f6118e460208301846137c5565b5f5f5f606084860312156138cc575f5ffd5b83356138d781613727565b925060208401356138e781613727565b929592945050506040919091013590565b5f60208284031215613908575f5ffd5b5035919050565b5f5f60408385031215613920575f5ffd5b50508035926020909101359150565b5f60a0828403128015613940575f5ffd5b509092915050565b801515811461373b575f5ffd5b8035612c1581613948565b5f5f5f60608486031215613972575f5ffd5b833561397d81613727565b925060208401359150604084013561399481613948565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b805163ffffffff1682525f60208201516139f260208501826001600160681b03169052565b506040820151613a0a604085018263ffffffff169052565b506060820151613a22606085018263ffffffff169052565b506080820151613a3d60808501826001600160681b03169052565b5060a0820151613a5360a085018261ffff169052565b5060c0820151613a6e60c08501826001600160a01b03169052565b5060e082015160e0840152610100820151613a9161010085018262ffffff169052565b50610120820151613aa861012085018260ff169052565b50610140820151613af26101408501828051151582526020810151151560208301526040810151151560408301526060810151151560608301526080810151151560808301525050565b5061016082015163ffffffff81166101e085015250610180820151610220610200850152611a2c61022085018261399f565b602081525f6118e460208301846139cd565b60a0810161086982848051151582526020810151151560208301526040810151151560408301526060810151151560608301526080810151151560808301525050565b5f5f5f5f5f5f60a08789031215613b8e575f5ffd5b8635613b9981613727565b955060208701356001600160401b03811115613bb3575f5ffd5b613bbf89828a01613823565b9096509450506040870135613bd381613948565b959894975092956060810135946080909101359350915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613c4457603f19878603018452613c2f8583516139cd565b94506020938401939190910190600101613c13565b50929695505050505050565b5f5f5f60408486031215613c62575f5ffd5b8335613c6d81613727565b925060208401356001600160401b03811115613c87575f5ffd5b613c9386828701613823565b9497909650939450505050565b5f5f5f60608486031215613cb2575f5ffd5b833592506020840135613cc481613727565b9150604084013561399481613727565b5f5f5f5f60608587031215613ce7575f5ffd5b8435935060208501356001600160401b03811115613d03575f5ffd5b613d0f87828801613823565b9094509250506040850135613d2381613948565b939692955090935050565b606081525f613d4060608301866137c5565b60208301949094525060400152919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561086957610869613d52565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b8181038181111561086957610869613d52565b5f823561021e19833603018112613dc9575f5ffd5b9190910192915050565b60405160e081016001600160401b0381118282101715613df557613df5613d79565b60405290565b60405160c081016001600160401b0381118282101715613df557613df5613d79565b60405161016081016001600160401b0381118282101715613df557613df5613d79565b604051601f8201601f191681016001600160401b0381118282101715613e6857613e68613d79565b604052919050565b80356001600160681b0381168114612c15575f5ffd5b803563ffffffff81168114612c15575f5ffd5b803561ffff81168114612c15575f5ffd5b803562ffffff81168114612c15575f5ffd5b803560ff81168114612c15575f5ffd5b5f60e08284031215613edc575f5ffd5b613ee4613dd3565b90508135613ef181613948565b81526020820135613f0181613948565b60208201526040820135613f1481613948565b60408201526060820135613f2781613948565b6060820152613f3860808301613955565b6080820152613f4960a08301613955565b60a0820152613f5a60c08301613955565b60c082015292915050565b803565ffffffffffff81168114612c15575f5ffd5b5f82601f830112613f89575f5ffd5b81356001600160401b03811115613fa257613fa2613d79565b613fb160208260051b01613e40565b80828252602082019150602060c08402860101925085831115613fd2575f5ffd5b602085015b838110156140775760c08188031215613fee575f5ffd5b613ff6613dfb565b613fff82613e86565b815260208201356001600160401b038116811461401a575f5ffd5b6020820152604082013561402d81613727565b6040820152606082013561404081613948565b606082015261405160808301613f65565b608082015261406260a0830161373e565b60a0820152835260209092019160c001613fd7565b5095945050505050565b5f6102208236031215614092575f5ffd5b61409a613e1d565b6140a383613e70565b81526140b160208401613e86565b60208201526140c260408401613e86565b60408201526140d360608401613e99565b60608201526140e46080840161373e565b608082015260a083810135908201526140ff60c08401613eaa565b60c082015261411060e08401613ebc565b60e0820152614123366101008501613ecc565b6101008201526141366101e08401613e86565b6101208201526102008301356001600160401b03811115614155575f5ffd5b61416136828601613f7a565b6101408301525092915050565b5f6020828403121561417e575f5ffd5b6118e482613eaa565b634e487b7160e01b5f52601260045260245ffd5b5f826141a9576141a9614187565b500490565b5f813561086981613948565b81356141c581613948565b815460ff19811691151560ff16918217835560208401356141e581613948565b61ff0090151560081b1661ffff198216831781178455604085013561420981613948565b62ff000081151560101b168462ffffff19851617831717855550505050614253614235606084016141ae565b82805463ff000000191691151560181b63ff00000016919091179055565b61300e614262608084016141ae565b82805464ff00000000191691151560201b64ff0000000016919091179055565b5f6001820161429357614293613d52565b5060010190565b5f63ffffffff8216806142af576142af613d52565b5f190192915050565b63ffffffff828116828216039081111561086957610869613d52565b5f816142e2576142e2613d52565b505f190190565b5f602082840312156142f9575f5ffd5b6118e482613e99565b808202811582820484141761086957610869613d52565b5f8261432757614327614187565b500690565b5f6020828403121561433c575f5ffd5b81516001600160401b03811115614351575f5ffd5b8201601f81018413614361575f5ffd5b80516001600160401b0381111561437a5761437a613d79565b61438d601f8201601f1916602001613e40565b8181528560208385010111156143a1575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea164736f6c634300081c000a",
|
|
1737
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_CantMintManually\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_CantRemoveTier\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFrequency\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_DeadlockedReserve\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_DiscountPercentExceedsBounds\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"storedPercent\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_DiscountPercentIncreaseNotAllowed\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numberOfPendingReserves\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_InsufficientPendingReserves\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_InsufficientSupplyRemaining\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierCategory\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTierCategory\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_InvalidCategorySortOrder\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_InvalidQuantity\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_ManualMintingNotAllowed\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTiers\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_MaxTiersExceeded\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_MissingReserveBeneficiary\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_PriceExceedsAmount\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_ReserveFrequencyNotAllowed\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_SplitPercentExceedsBounds\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_TierRemoved\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_UnrecognizedTier\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_VotingUnitsNotAllowed\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookStore_ZeroInitialSupply\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"PRBMath_MulDiv_Overflow\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"CleanTiers\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"newBeneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetDefaultReserveBeneficiary\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"cashOutWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"cleanTiers\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"defaultReserveBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"encodedIpfsUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"encodedTierIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"flagsOf\",\"outputs\":[{\"internalType\":\"struct JB721TiersHookFlags\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"noNewTiersWithReserves\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithVotes\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithOwnerMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"issueTokensForSplits\",\"type\":\"bool\"}]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"heldTierIdsOf\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"heldTierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"units\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isTierRemoved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"maxTierIdOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"numberOfBurnedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"numberOfPendingReservesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"numberOfReservesMintedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"struct JB721TierConfig[]\",\"name\":\"tiersToAdd\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierConfigFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReserveBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"percent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"projectId\",\"type\":\"uint64\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"lockedUntil\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBSplitHook\",\"name\":\"hook\",\"type\":\"address\"}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordAddTiers\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordBurn\"},{\"inputs\":[{\"internalType\":\"struct JB721TiersHookFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"noNewTiersWithReserves\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithVotes\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithOwnerMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"issueTokensForSplits\",\"type\":\"bool\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordFlags\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"bool\",\"name\":\"isOwnerMint\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"restrictedCost\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordMintReservesFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordRemoveTierIds\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountPercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordSetDiscountPercentOf\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordSetEncodedIpfsUriOf\"},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordSetTokenUriResolver\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"recordTransferForTier\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"reserveBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"tierIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierOf\",\"outputs\":[{\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"remainingSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"votingUnits\",\"type\":\"uint104\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierOfTokenId\",\"outputs\":[{\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"remainingSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"votingUnits\",\"type\":\"uint104\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierPricingOf\",\"outputs\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierTransferInfoOfTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tierVotingUnitsOfTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"categories\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"startingId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tiersOf\",\"outputs\":[{\"internalType\":\"struct JB721Tier[]\",\"name\":\"tiers\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"remainingSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"votingUnits\",\"type\":\"uint104\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tokenUriResolverOf\",\"outputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalCashOutWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"votingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}]}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"cashOutWeightOf(address,uint256[])\":{\"details\":\"Weight is based on each NFT's original tier price (not the discounted price paid). Discounts are transient purchase incentives and don't affect an NFT's share of the cash-out pool.\",\"params\":{\"hook\":\"The 721 hook contract the NFTs belong to.\",\"tokenIds\":\"The token IDs to get the combined cash-out weight of.\"},\"returns\":{\"weight\":\"The combined cash-out weight.\"}},\"cleanTiers(address)\":{\"details\":\"Call this after `recordRemoveTierIds` to keep tier iteration efficient. Without cleaning, removed tiers remain in the linked list (they just can't be minted from). The function also updates `_startingTierIdOfCategory` if the previous starting tier for a category was removed.\",\"params\":{\"hook\":\"The 721 contract to clean tiers for.\"}},\"encodedTierIPFSUriOf(address,uint256)\":{\"params\":{\"hook\":\"The 721 hook contract the NFT belongs to.\",\"tokenId\":\"The token ID of the NFT.\"},\"returns\":{\"_0\":\"The encoded IPFS URI for the NFT's tier.\"}},\"flagsOf(address)\":{\"params\":{\"hook\":\"The 721 hook contract to get the flags of.\"},\"returns\":{\"_0\":\"The hook's flags.\"}},\"heldTierIdsOf(address,address)\":{\"params\":{\"hook\":\"The 721 hook contract to get held tier IDs from.\",\"owner\":\"The address to get held tier IDs for.\"},\"returns\":{\"tierIds\":\"The tier IDs with a nonzero balance for the owner.\"}},\"heldTierVotingUnitsOf(address,address)\":{\"params\":{\"account\":\"The address to get held tier IDs and voting units for.\",\"hook\":\"The 721 hook contract to get held tier IDs from.\"},\"returns\":{\"tierIds\":\"The tier IDs with a nonzero balance for the account.\",\"units\":\"The account's voting units for each returned tier ID.\"}},\"isTierRemoved(address,uint256)\":{\"params\":{\"hook\":\"The 721 hook contract the tier belongs to.\",\"tierId\":\"The ID of the tier to check.\"},\"returns\":{\"_0\":\"`true` if the tier has been removed, `false` otherwise.\"}},\"numberOfPendingReservesFor(address,uint256)\":{\"params\":{\"hook\":\"The 721 hook contract to check.\",\"tierId\":\"The ID of the tier to check.\"},\"returns\":{\"_0\":\"The number of pending reserved NFTs that can be minted.\"}},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[])\":{\"details\":\"Only callable by hook contracts (msg.sender is treated as the hook address). WARNING: If any tier in `tiersToAdd` has `useReserveBeneficiaryAsDefault` set to `true`, its `reserveBeneficiary` will overwrite the hook's global `defaultReserveBeneficiaryOf`. This affects ALL existing tiers that do not have a tier-specific reserve beneficiary set via `_reserveBeneficiaryOf`. Callers should be aware of this side effect when using `adjustTiers` to add new tiers.\",\"params\":{\"tiersToAdd\":\"The tiers to add.\"},\"returns\":{\"tierIds\":\"The IDs of the tiers added.\"}},\"recordBurn(uint256[])\":{\"details\":\"This function trusts `msg.sender` (the hook contract) to only call it after actually burning the tokens. It does not verify ownership or existence of the token IDs — the hook is responsible for performing those checks before calling this function.\",\"params\":{\"tokenIds\":\"The token IDs of the NFTs to burn.\"}},\"recordFlags((bool,bool,bool,bool,bool))\":{\"details\":\"Only callable by hook contracts. Overwrites any previously stored flags for the caller.\",\"params\":{\"flags\":\"The flags to set.\"}},\"recordMint(uint256,uint16[],bool)\":{\"details\":\"Reverts if the tier is removed, unrecognized, sold out, or its price exceeds the remaining amount. For owner mints, the tier must have `allowOwnerMint` set.\",\"params\":{\"amount\":\"The amount to spend on NFTs. The total price must not exceed this amount.\",\"isOwnerMint\":\"A flag indicating whether the 721 contract's owner is directly calling this function.\",\"tierIds\":\"The IDs of the tiers to mint from.\"},\"returns\":{\"leftoverAmount\":\"The `amount` remaining after minting.\",\"restrictedCost\":\"Total cost of tiers with `cantBuyWithCredits` set. The caller can use this to enforce credit restrictions.\",\"tokenIds\":\"The token IDs of the NFTs which were minted.\"}},\"recordMintReservesFor(uint256,uint256)\":{\"params\":{\"count\":\"The number of reserve NFTs to mint.\",\"tierId\":\"The ID of the tier to mint reserves from.\"},\"returns\":{\"tokenIds\":\"The token IDs of the reserve NFTs which were minted.\"}},\"recordRemoveTierIds(uint256[])\":{\"details\":\"Removing a tier only marks it in a bitmap — it does not update the sorted tier linked list. Call `cleanTiers()` after removing tiers to update the sorting sequence and prevent stale tier iteration. Reverts if the tier has `cantBeRemoved` set, or if the tier ID is 0 or exceeds `maxTierIdOf`.\",\"params\":{\"tierIds\":\"The IDs of the tiers to remove.\"}},\"recordSetDiscountPercentOf(uint256,uint256)\":{\"params\":{\"discountPercent\":\"The new discount percent to apply.\",\"tierId\":\"The ID of the tier to record a discount for.\"}},\"recordSetEncodedIpfsUriOf(uint256,bytes32)\":{\"params\":{\"encodedIpfsUri\":\"The encoded IPFS URI to set for the tier.\",\"tierId\":\"The ID of the tier to set the encoded IPFS URI of.\"}},\"recordSetTokenUriResolver(address)\":{\"params\":{\"resolver\":\"The resolver to set.\"}},\"recordTransferForTier(uint256,address,address)\":{\"params\":{\"from\":\"The address to transfer the 721 from.\",\"tierId\":\"The ID of the tier that the 721 to transfer belongs to.\",\"to\":\"The address to transfer the 721 to.\"}},\"reserveBeneficiaryOf(address,uint256)\":{\"params\":{\"hook\":\"The 721 hook contract.\",\"tierId\":\"The ID of the tier.\"},\"returns\":{\"_0\":\"The reserve beneficiary address for the tier.\"}},\"tierIdOfToken(uint256)\":{\"params\":{\"tokenId\":\"The token ID of the NFT.\"},\"returns\":{\"_0\":\"The tier ID.\"}},\"tierOf(address,uint256,bool)\":{\"params\":{\"hook\":\"The 721 hook contract to get the tier from.\",\"id\":\"The ID of the tier to get.\",\"includeResolvedUri\":\"If `true` and the hook has a `tokenUriResolver`, resolves the URI and includes it.\"},\"returns\":{\"_0\":\"The tier.\"}},\"tierOfTokenId(address,uint256,bool)\":{\"params\":{\"hook\":\"The 721 hook contract the NFT belongs to.\",\"includeResolvedUri\":\"If `true` and the hook has a `tokenUriResolver`, resolves the URI and includes it.\",\"tokenId\":\"The token ID of the NFT.\"},\"returns\":{\"_0\":\"The tier that the NFT belongs to.\"}},\"tierPricingOf(address,uint256)\":{\"params\":{\"hook\":\"The 721 contract that the tier belongs to.\",\"id\":\"The tier ID.\"},\"returns\":{\"discountPercent\":\"The discount percent.\",\"price\":\"The tier price.\",\"splitPercent\":\"The split percent.\"}},\"tierTransferInfoOfTokenId(address,uint256)\":{\"params\":{\"hook\":\"The 721 hook address.\",\"tokenId\":\"The token ID.\"},\"returns\":{\"tierId\":\"The tier ID.\",\"transfersPausable\":\"Whether transfers are paused for this tier.\"}},\"tierVotingUnitsOf(address,address,uint256)\":{\"params\":{\"account\":\"The address to get voting units for.\",\"hook\":\"The 721 hook contract that the tier belongs to.\",\"tierId\":\"The ID of the tier.\"},\"returns\":{\"_0\":\"The address's total voting units within the tier.\"}},\"tierVotingUnitsOfTokenId(address,uint256)\":{\"details\":\"Mirrors the `votingUnits` field computed in `_getTierFrom`: a tier with custom voting units configured (the `useVotingUnits` flag, bit 2 of `packedBools`) contributes its stored voting units per NFT, otherwise it contributes its price per NFT. Multiply by an account's balance in the tier to get its voting power there.\",\"params\":{\"hook\":\"The 721 hook contract that the token belongs to.\",\"tokenId\":\"The token ID.\"},\"returns\":{\"_0\":\"The per-unit voting value for the token's tier.\"}},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"params\":{\"categories\":\"Filter to specific categories. Pass an empty array to include all categories.\",\"hook\":\"The 721 hook contract to get tiers from.\",\"includeResolvedUri\":\"If `true` and the hook has a `tokenUriResolver`, resolves URIs and includes them.\",\"size\":\"The maximum number of tiers to return.\",\"startingId\":\"Start from this tier ID (for pagination). Pass 0 to start from the beginning.\"},\"returns\":{\"tiers\":\"An array of active tiers.\"}},\"totalSupplyOf(address)\":{\"params\":{\"hook\":\"The 721 hook contract to get the total supply of.\"},\"returns\":{\"supply\":\"The total number of outstanding NFTs.\"}},\"votingUnitsOf(address,address)\":{\"details\":\"Each tier contributes: `balance * (customVotingUnits || tierPrice)`.\",\"params\":{\"account\":\"The address to get the voting unit total of.\",\"hook\":\"The 721 hook contract to get voting units within.\"},\"returns\":{\"units\":\"The total voting units the address holds across all tiers.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address,address)\":{\"notice\":\"How many NFTs an address owns from a hook, totaled across all tiers, as a running aggregate so this is O(1) instead of O(maxTierId).\"},\"cashOutWeightOf(address,uint256[])\":{\"notice\":\"The combined cash-out weight of specific NFTs. Divide by `totalCashOutWeightOf` to get the fraction of the project's surplus that cashing out these NFTs would reclaim.\"},\"cleanTiers(address)\":{\"notice\":\"Walk through the tier sorting sequence and skip over any tiers that have been removed. This compacts the linked list so that `tiersOf` iteration no longer visits removed tiers. Anyone can call this — it's a maintenance operation with no access control.\"},\"defaultReserveBeneficiaryOf(address)\":{\"notice\":\"Returns the default reserve beneficiary for the provided 721 contract.\"},\"encodedIpfsUriOf(address,uint256)\":{\"notice\":\"Returns the encoded IPFS URI for the provided tier ID of the provided 721 contract.\"},\"encodedTierIPFSUriOf(address,uint256)\":{\"notice\":\"Get the encoded IPFS URI for the tier that a specific NFT belongs to. Used to resolve the NFT's metadata when no custom `tokenUriResolver` is set.\"},\"flagsOf(address)\":{\"notice\":\"Get the behavioral flags for a hook — such as whether transfers are pausable, whether NFT holders can cash out, and whether token issuance occurs for split-routed payments.\"},\"heldTierIdsOf(address,address)\":{\"notice\":\"The tier IDs whose balances are nonzero for the provided owner.\"},\"heldTierVotingUnitsOf(address,address)\":{\"notice\":\"The tier IDs and voting units whose balances are nonzero for the provided account.\"},\"isTierRemoved(address,uint256)\":{\"notice\":\"Check whether a tier has been removed. Removed tiers can no longer be minted from, but existing NFTs from that tier remain valid and can still be cashed out.\"},\"maxTierIdOf(address)\":{\"notice\":\"Returns the largest tier ID currently used on the provided 721 contract.\"},\"numberOfBurnedFor(address,uint256)\":{\"notice\":\"Returns the number of NFTs which have been burned from the provided tier ID of the provided 721 contract.\"},\"numberOfPendingReservesFor(address,uint256)\":{\"notice\":\"How many reserved NFTs are waiting to be minted for a tier. Reserves accumulate automatically as non-reserve NFTs are minted (based on the tier's `reserveFrequency`). Anyone can mint them via `mintPendingReservesFor`.\"},\"numberOfReservesMintedFor(address,uint256)\":{\"notice\":\"Returns the number of reserve NFTs which have been minted from the provided tier ID of the provided 721 contract.\"},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[])\":{\"notice\":\"Validate and store new tiers for the calling hook. Each tier is assigned a sequential ID, inserted into the category-sorted linked list, and has its reserve beneficiary, voting units, IPFS URI, and flags persisted. Tiers must be provided sorted by category (ascending).\"},\"recordBurn(uint256[])\":{\"notice\":\"Increment the burn counter for each token's tier. Does NOT affect `remainingSupply` — burned NFTs cannot be re-minted. The burn count is used by `totalSupplyOf` to compute the circulating supply.\"},\"recordFlags((bool,bool,bool,bool,bool))\":{\"notice\":\"Store the behavioral flags for the calling hook. These flags govern whether new tiers can have voting units, reserves, or owner minting enabled.\"},\"recordMint(uint256,uint16[],bool)\":{\"notice\":\"Record paid mints: deduct each tier's (discounted) price from `amount`, decrement supply, generate token IDs, and enforce that enough supply remains to satisfy pending reserves. Returns the leftover amount and the total cost of credit-restricted tiers so the hook can enforce pay-credit rules.\"},\"recordMintReservesFor(uint256,uint256)\":{\"notice\":\"Generate token IDs for reserve NFT mints and decrement the tier's remaining supply. Reserves accumulate as non-reserve NFTs are minted (one reserve per `reserveFrequency` mints). Reverts if `count` exceeds the number of pending reserves.\"},\"recordRemoveTierIds(uint256[])\":{\"notice\":\"Mark one or more tiers as removed. Removed tiers cannot be minted from, but existing NFTs from those tiers remain valid (can still be cashed out and transferred). Pending reserves can still be minted.\"},\"recordSetDiscountPercentOf(uint256,uint256)\":{\"notice\":\"Update the discount percentage for a tier. Discounts reduce the price payers pay without affecting the NFT's cash-out weight (which always uses the original price). Reverts if the tier is removed, if the percent exceeds the denominator, or if the tier has `cantIncreaseDiscountPercent` set and the new value is higher.\"},\"recordSetEncodedIpfsUriOf(uint256,bytes32)\":{\"notice\":\"Record a new encoded IPFS URI for a tier.\"},\"recordSetTokenUriResolver(address)\":{\"notice\":\"Record a newly set token URI resolver.\"},\"recordTransferForTier(uint256,address,address)\":{\"notice\":\"Update tier balance accounting when an NFT is transferred. Decrements the sender's balance and increments the receiver's balance for the given tier. Handles mints (from == address(0)) and burns (to == address(0)) as one-sided updates.\"},\"reserveBeneficiaryOf(address,uint256)\":{\"notice\":\"The address that receives reserved NFTs for a tier. Falls back to the hook's default reserve beneficiary if no tier-specific beneficiary is set.\"},\"tierBalanceOf(address,address,uint256)\":{\"notice\":\"Returns the number of NFTs which the provided owner address owns from the provided 721 contract and tier ID.\"},\"tierIdOfToken(uint256)\":{\"notice\":\"Derive which tier an NFT belongs to from its token ID. Token IDs encode the tier: `tokenId / 1e9` gives the tier ID.\"},\"tierOf(address,uint256,bool)\":{\"notice\":\"Get the full details of a specific tier by its ID — price, supply, reserve info, metadata, etc.\"},\"tierOfTokenId(address,uint256,bool)\":{\"notice\":\"Look up which tier an NFT belongs to and return the full tier details (price, supply, metadata, etc.).\"},\"tierPricingOf(address,uint256)\":{\"notice\":\"Get only the pricing fields for a tier, avoiding full struct construction.\"},\"tierTransferInfoOfTokenId(address,uint256)\":{\"notice\":\"Get only the tier ID and transfersPausable flag for a token, avoiding full struct construction.\"},\"tierVotingUnitsOf(address,address,uint256)\":{\"notice\":\"Get an address's voting power from a specific tier. Each NFT in the tier contributes either the tier's custom `votingUnits` (if configured) or the tier's price. Multiply by the holder's balance in the tier.\"},\"tierVotingUnitsOfTokenId(address,uint256)\":{\"notice\":\"Get only the per-unit voting value for a token's tier, avoiding full struct construction.\"},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"notice\":\"Get all active (non-removed) tiers for a hook, with optional filtering by category and pagination. Tiers are returned sorted by category.\"},\"tokenUriResolverOf(address)\":{\"notice\":\"Returns the custom token URI resolver which overrides the default token URI resolver for the provided 721 contract.\"},\"totalCashOutWeightOf(address)\":{\"notice\":\"The combined cash-out weight of all hook NFTs, tracked so cash-out pricing is O(1).\"},\"totalSupplyOf(address)\":{\"notice\":\"The total number of NFTs currently in circulation for a hook (minted minus burned, across all tiers).\"},\"votingUnitsOf(address,address)\":{\"notice\":\"Get an address's total voting power across all tiers of a hook. Sums up the voting units from every tier where the address holds NFTs.\"}},\"version\":1}},\"settings\":{\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@ballkidz/=node_modules/@ballkidz/\",\"@bananapus/=node_modules/@bananapus/\",\"@bannynet/=node_modules/@bannynet/\",\"@chainlink/=node_modules/@chainlink/\",\"@croptop/=node_modules/@croptop/\",\"@ensdomains/=node_modules/@ensdomains/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@rev-net/=node_modules/@rev-net/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/=node_modules/@sphinx-labs/\",\"@uniswap/=node_modules/@uniswap/\",\"@unruggable/=node_modules/@unruggable/\",\"@zksync/=node_modules/@zksync/\",\"base64-sol/=node_modules/base64-sol/\",\"ds-test/=node_modules/@uniswap/v4-core/lib/solmate/lib/ds-test/\",\"erc4626-tests/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\"forge-gas-snapshot/=node_modules/@uniswap/v4-periphery/lib/permit2/lib/forge-gas-snapshot/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"lib/base64/=node_modules/base64-sol/\",\"openzeppelin-contracts/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/\",\"permit2/=node_modules/@uniswap/v4-periphery/lib/permit2/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/@sphinx-labs/contracts/node_modules/solmate/\",\"typeface/=lib/typeface/contracts/\",\"v4-core/=node_modules/@uniswap/v4-periphery/lib/v4-core/\"],\"optimizer\":{\"enabled\":true,\"runs\":200},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"node_modules/@bananapus/721-hook-v6/src/JB721TiersHookStore.sol\":\"JB721TiersHookStore\"},\"evmVersion\":\"cancun\",\"libraries\":{}},\"sources\":{\"node_modules/@bananapus/721-hook-v6/src/JB721TiersHookStore.sol\":{\"keccak256\":\"0x0b3bb7242b5088bf4981b2620c1fa4978389d63f973d7c7e0773fda86b0ac225\",\"urls\":[\"bzz-raw://7a557227176a67ebbedc6a5911a6e28892f7c52f3be2e2090d9e6ae85fdae6ef\",\"dweb:/ipfs/QmPY4RiUZWgWVGTBXQXfaaqrhBmz46SViKrt7sYBcrJJ1N\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721TiersHookStore.sol\":{\"keccak256\":\"0x0ec2d37e62f76d7536e5bd3091c56a0a3f96482ccbe5cbbbc0df89f85d6f0216\",\"urls\":[\"bzz-raw://41bd0e085fbf07d3b24aca0df7e6da01dd18ba91ecbb46cdd73707b315c924a4\",\"dweb:/ipfs/QmYGpECUfXdwsvnYEMRHuHH7UMvfgykh8mCU6KCFqGvWey\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xef418fff2bb7811dc41c1807709741049889818bfb6096954b61b73edcf09f07\",\"urls\":[\"bzz-raw://5aea971649e1f5e17c258442e85d7cc4f8ca0faf9ad185f6b010784b7c6aa1dd\",\"dweb:/ipfs/QmQDZ3cfTdooCRLdRn8p4VKbSqPdZ8rSXL6vvYtNUJc5Vx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JB721Constants.sol\":{\"keccak256\":\"0x3c6fbbcc8c43e6d48e932dbb76ee6e089ca9e1d39e1aa833ec917a41d1393d0f\",\"urls\":[\"bzz-raw://8709be977323d2642044f21d4a79e631b84652eee29f27817083b1e3785b2b02\",\"dweb:/ipfs/QmSQGoGePXKcuPZAYUT7JZX28dg4jJxLNbquLFKmBvjHA7\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JBBitmap.sol\":{\"keccak256\":\"0x15554e458ae3ea6f6b5829948afd6a79f79b166e8dc0bf6fa860173c7cbd03d3\",\"urls\":[\"bzz-raw://3457ef24f4d3509601674b7dbcbc250a23ac3eb25926abfe7315f672056a0b7c\",\"dweb:/ipfs/QmcnqJKXkegWwkN4vUkKFupAZADVV89SaDpP3fhZRuLvSR\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721Tier.sol\":{\"keccak256\":\"0xf0e249848a1385d00956b9ba50d1a983515a6d40e932e0705c96b63b4d0f1ca7\",\"urls\":[\"bzz-raw://0fb9df1dfd7124dd3e7f37426d47944cace9ade5177064cd8c593e931103f907\",\"dweb:/ipfs/QmQDtwfqeDUGPJsipHPDoo4q3yNFtogQg5ZF1z8E6JbWvv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierConfig.sol\":{\"keccak256\":\"0x0ad3eb9440c15f69e4d82a3d1a90fc6cf01703816f4c2534e9eab1a2d0e26d80\",\"urls\":[\"bzz-raw://e55fb400ffeddfad6eb94c259e5cc2406a93945414dd326f2e2733ddbd1c0513\",\"dweb:/ipfs/QmebwiqWs8XE5JRPbk1eJSaekTHdLUr3p3SRh4Ye3jkJJC\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierConfigFlags.sol\":{\"keccak256\":\"0xa96d61224a0c57d2cf1a15c8123925246b64c017a08f92a6d45dd5f5643960c1\",\"urls\":[\"bzz-raw://4689458074886b2569d1661a44d64129b7bae028b786d34578b8e34384ef9779\",\"dweb:/ipfs/QmTphmLU98MZb4DKWEMH4UFbAggchpshfHanH141LVDzta\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol\":{\"keccak256\":\"0x5f73fa3c927b1902b5d0927ad11a06960e29ad88a6e29b9405b9eaae8846c2c5\",\"urls\":[\"bzz-raw://13b0db30829eca17769c0e9fb011ccaebbda15e027c24175d8d6cc1163c0ca1c\",\"dweb:/ipfs/QmYmXASJGwsXRU2NYNyVzTyFbF78GjGTqo15Z5R64EX8AT\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TiersHookFlags.sol\":{\"keccak256\":\"0xf59d1106597f60959606a8c7e55fae3fa7e8e95572ca8aca7c3b109679f456ee\",\"urls\":[\"bzz-raw://c883611c1fd3a046a81b7604711637624c11ee4f8a7413651d812a9f4d34671e\",\"dweb:/ipfs/Qmbsx8qoab3BQNm6q725hLb5XjSinKkZFZVQ1jDLiNH8wf\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JBBitmapWord.sol\":{\"keccak256\":\"0xd0d7893998a92b0541d009e0944bab39aac9b624f0b4aa7063e912f70e45b161\",\"urls\":[\"bzz-raw://3cee7c699840b41b072edeee8f9d52b4e38001fd338e55d295dfbee077f55a0c\",\"dweb:/ipfs/QmQujTxAAETvs7dmB29vvtaznNsNYEQ5Yzw3skEcaE1RVX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JBStored721Tier.sol\":{\"keccak256\":\"0xbd33ea8bfc2932871b9e17bc480b877b78321e58d78c9a0dd74f732d3f8fb152\",\"urls\":[\"bzz-raw://32f1712663441697c7c7db9c8cadf9404db27c699a28a2e389d9ace9783b1a49\",\"dweb:/ipfs/QmTbQwVNvvXq2JNDxtPQa3soekRpHRSg3WhF9sJ3qoetzE\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBSplitHook.sol\":{\"keccak256\":\"0x8155763689f6f51b5c6712ac6f23728b248a8924e69e63f8aa14d01c78ea17f1\",\"urls\":[\"bzz-raw://7bab14bd7250cc3ba6665573f2a961308a3453015af7a0305488c0db1745f95b\",\"dweb:/ipfs/QmYpKwToPcSChWXyJ75SBEeWKugBygAnQ1WaZ8wWcu5rha\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x5d4b095f3b94c52f89b9cf8a8104de0242497e61f1b32ddc82e78a9ba71a6d0f\",\"urls\":[\"bzz-raw://3ac3340339e0b6a7aae881781b2830f59e3f44114955e2f770172a9bffddc104\",\"dweb:/ipfs/QmV9pFGNGcknqHLEuc6rmC1YPwuwtsokjzh1WX8H2jmVRp\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplit.sol\":{\"keccak256\":\"0xf50ba85591d86076ff127e97af2c4b7d1a1be3e20e25d784b64591697d71ab52\",\"urls\":[\"bzz-raw://04276773313a01c2b816c95addea68843c21db3888f4c547eb6e6c486ac55547\",\"dweb:/ipfs/QmZGpxzryNkheek5V9dJWfcJyTP7T52PsPXgRBuweK2rsN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0xa2246f4960ec2b24db3fbfce5d59782cdb9a8fb3c3f832a2c39ddc92859ff170\",\"urls\":[\"bzz-raw://3e3a0ae100c15bb15f0484cb68e3052c3d3d764f84e37020e8dd6b658ff98076\",\"dweb:/ipfs/QmPAv99zN7senrfCMMkeT4RMWpwTdqLgMURQR73BLRe4ZG\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"],\"license\":\"MIT\"},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x1949276271967e9954a65f27c1c32e1dd73cbd1f3d2af88f2fdd694ba4b7da60\",\"urls\":[\"bzz-raw://ca414ac0a29a3d0d9e194afa73029a7d94168029df6aeb5f6a4b540d0072eb14\",\"dweb:/ipfs/QmYVipmQDvcvurNZZSFGjxabWXwEpdfijYYx2b3d7ico8U\"],\"license\":\"MIT\"},\"node_modules/solady/src/utils/LibBit.sol\":{\"keccak256\":\"0x71752d8322c7b0b5e4997befe36b254a306c6abc7fd24f65d79f47ce2e1a8278\",\"urls\":[\"bzz-raw://2709144f3f901219e10f3faff724519f0186eee87999988beaf9106cfacbb4b0\",\"dweb:/ipfs/QmYbNxSXyn6VVDuShbgKdKNmjZyEKy5sfNtE1cdDhmfLjJ\"],\"license\":\"MIT\"}},\"version\":1}",
|
|
1738
|
+
"gitCommit": "npm:@bananapus/721-hook-v6@1.0.1",
|
|
1739
|
+
"gitDirty": false,
|
|
1740
|
+
"history": []
|
|
1741
|
+
}
|