@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,718 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "sphinx-sol-ct-artifact-1",
|
|
3
|
+
"address": "0x1bce2a3e60a6f4e72c756a7ead3484bb975c8378",
|
|
4
|
+
"sourceName": "node_modules/@bananapus/721-hook-v6/src/libraries/JB721TiersHookLib.sol",
|
|
5
|
+
"contractName": "JB721TiersHookLib",
|
|
6
|
+
"chainId": "0x14a34",
|
|
7
|
+
"abi": [
|
|
8
|
+
{
|
|
9
|
+
"type": "function",
|
|
10
|
+
"name": "computeSplitsAndWeight",
|
|
11
|
+
"inputs": [
|
|
12
|
+
{
|
|
13
|
+
"name": "store",
|
|
14
|
+
"type": "IJB721TiersHookStore",
|
|
15
|
+
"internalType": "contract IJB721TiersHookStore"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "metadataIdTarget",
|
|
19
|
+
"type": "address",
|
|
20
|
+
"internalType": "address"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "packedPricingContext",
|
|
24
|
+
"type": "uint256",
|
|
25
|
+
"internalType": "uint256"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "prices",
|
|
29
|
+
"type": "IJBPrices",
|
|
30
|
+
"internalType": "contract IJBPrices"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "context",
|
|
34
|
+
"type": "tuple",
|
|
35
|
+
"internalType": "struct JBBeforePayRecordedContext",
|
|
36
|
+
"components": [
|
|
37
|
+
{
|
|
38
|
+
"name": "terminal",
|
|
39
|
+
"type": "address",
|
|
40
|
+
"internalType": "address"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "payer",
|
|
44
|
+
"type": "address",
|
|
45
|
+
"internalType": "address"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "amount",
|
|
49
|
+
"type": "tuple",
|
|
50
|
+
"internalType": "struct JBTokenAmount",
|
|
51
|
+
"components": [
|
|
52
|
+
{
|
|
53
|
+
"name": "token",
|
|
54
|
+
"type": "address",
|
|
55
|
+
"internalType": "address"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "decimals",
|
|
59
|
+
"type": "uint8",
|
|
60
|
+
"internalType": "uint8"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "currency",
|
|
64
|
+
"type": "uint32",
|
|
65
|
+
"internalType": "uint32"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "value",
|
|
69
|
+
"type": "uint256",
|
|
70
|
+
"internalType": "uint256"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "projectId",
|
|
76
|
+
"type": "uint256",
|
|
77
|
+
"internalType": "uint256"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "rulesetId",
|
|
81
|
+
"type": "uint256",
|
|
82
|
+
"internalType": "uint256"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "beneficiary",
|
|
86
|
+
"type": "address",
|
|
87
|
+
"internalType": "address"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "weight",
|
|
91
|
+
"type": "uint256",
|
|
92
|
+
"internalType": "uint256"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "reservedPercent",
|
|
96
|
+
"type": "uint256",
|
|
97
|
+
"internalType": "uint256"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "metadata",
|
|
101
|
+
"type": "bytes",
|
|
102
|
+
"internalType": "bytes"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"outputs": [
|
|
108
|
+
{
|
|
109
|
+
"name": "weight",
|
|
110
|
+
"type": "uint256",
|
|
111
|
+
"internalType": "uint256"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "totalSplitAmount",
|
|
115
|
+
"type": "uint256",
|
|
116
|
+
"internalType": "uint256"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "splitMetadata",
|
|
120
|
+
"type": "bytes",
|
|
121
|
+
"internalType": "bytes"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "beneficiary",
|
|
125
|
+
"type": "address",
|
|
126
|
+
"internalType": "address"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "splitCreditWeight",
|
|
130
|
+
"type": "uint256",
|
|
131
|
+
"internalType": "uint256"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"stateMutability": "view"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "function",
|
|
138
|
+
"name": "normalizePaymentValue",
|
|
139
|
+
"inputs": [
|
|
140
|
+
{
|
|
141
|
+
"name": "packedPricingContext",
|
|
142
|
+
"type": "uint256",
|
|
143
|
+
"internalType": "uint256"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "prices",
|
|
147
|
+
"type": "IJBPrices",
|
|
148
|
+
"internalType": "contract IJBPrices"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "projectId",
|
|
152
|
+
"type": "uint256",
|
|
153
|
+
"internalType": "uint256"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": "amountValue",
|
|
157
|
+
"type": "uint256",
|
|
158
|
+
"internalType": "uint256"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "amountCurrency",
|
|
162
|
+
"type": "uint256",
|
|
163
|
+
"internalType": "uint256"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "amountDecimals",
|
|
167
|
+
"type": "uint256",
|
|
168
|
+
"internalType": "uint256"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"outputs": [
|
|
172
|
+
{
|
|
173
|
+
"name": "value",
|
|
174
|
+
"type": "uint256",
|
|
175
|
+
"internalType": "uint256"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "valid",
|
|
179
|
+
"type": "bool",
|
|
180
|
+
"internalType": "bool"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"stateMutability": "view"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"type": "function",
|
|
187
|
+
"name": "resolveTokenURI",
|
|
188
|
+
"inputs": [
|
|
189
|
+
{
|
|
190
|
+
"name": "store",
|
|
191
|
+
"type": "IJB721TiersHookStore",
|
|
192
|
+
"internalType": "contract IJB721TiersHookStore"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "hook",
|
|
196
|
+
"type": "address",
|
|
197
|
+
"internalType": "address"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "baseUri",
|
|
201
|
+
"type": "string",
|
|
202
|
+
"internalType": "string"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "tokenId",
|
|
206
|
+
"type": "uint256",
|
|
207
|
+
"internalType": "uint256"
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"outputs": [
|
|
211
|
+
{
|
|
212
|
+
"name": "",
|
|
213
|
+
"type": "string",
|
|
214
|
+
"internalType": "string"
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"stateMutability": "view"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"type": "event",
|
|
221
|
+
"name": "AddTier",
|
|
222
|
+
"inputs": [
|
|
223
|
+
{
|
|
224
|
+
"name": "tierId",
|
|
225
|
+
"type": "uint256",
|
|
226
|
+
"indexed": true,
|
|
227
|
+
"internalType": "uint256"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "tier",
|
|
231
|
+
"type": "tuple",
|
|
232
|
+
"indexed": false,
|
|
233
|
+
"internalType": "struct JB721TierConfig",
|
|
234
|
+
"components": [
|
|
235
|
+
{
|
|
236
|
+
"name": "price",
|
|
237
|
+
"type": "uint104",
|
|
238
|
+
"internalType": "uint104"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"name": "initialSupply",
|
|
242
|
+
"type": "uint32",
|
|
243
|
+
"internalType": "uint32"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"name": "votingUnits",
|
|
247
|
+
"type": "uint32",
|
|
248
|
+
"internalType": "uint32"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "reserveFrequency",
|
|
252
|
+
"type": "uint16",
|
|
253
|
+
"internalType": "uint16"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "reserveBeneficiary",
|
|
257
|
+
"type": "address",
|
|
258
|
+
"internalType": "address"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "encodedIpfsUri",
|
|
262
|
+
"type": "bytes32",
|
|
263
|
+
"internalType": "bytes32"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "category",
|
|
267
|
+
"type": "uint24",
|
|
268
|
+
"internalType": "uint24"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "discountPercent",
|
|
272
|
+
"type": "uint8",
|
|
273
|
+
"internalType": "uint8"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "flags",
|
|
277
|
+
"type": "tuple",
|
|
278
|
+
"internalType": "struct JB721TierConfigFlags",
|
|
279
|
+
"components": [
|
|
280
|
+
{
|
|
281
|
+
"name": "allowOwnerMint",
|
|
282
|
+
"type": "bool",
|
|
283
|
+
"internalType": "bool"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"name": "useReserveBeneficiaryAsDefault",
|
|
287
|
+
"type": "bool",
|
|
288
|
+
"internalType": "bool"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "transfersPausable",
|
|
292
|
+
"type": "bool",
|
|
293
|
+
"internalType": "bool"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"name": "useVotingUnits",
|
|
297
|
+
"type": "bool",
|
|
298
|
+
"internalType": "bool"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"name": "cantBeRemoved",
|
|
302
|
+
"type": "bool",
|
|
303
|
+
"internalType": "bool"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "cantIncreaseDiscountPercent",
|
|
307
|
+
"type": "bool",
|
|
308
|
+
"internalType": "bool"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "cantBuyWithCredits",
|
|
312
|
+
"type": "bool",
|
|
313
|
+
"internalType": "bool"
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"name": "splitPercent",
|
|
319
|
+
"type": "uint32",
|
|
320
|
+
"internalType": "uint32"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"name": "splits",
|
|
324
|
+
"type": "tuple[]",
|
|
325
|
+
"internalType": "struct JBSplit[]",
|
|
326
|
+
"components": [
|
|
327
|
+
{
|
|
328
|
+
"name": "percent",
|
|
329
|
+
"type": "uint32",
|
|
330
|
+
"internalType": "uint32"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "projectId",
|
|
334
|
+
"type": "uint64",
|
|
335
|
+
"internalType": "uint64"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "beneficiary",
|
|
339
|
+
"type": "address",
|
|
340
|
+
"internalType": "address payable"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"name": "preferAddToBalance",
|
|
344
|
+
"type": "bool",
|
|
345
|
+
"internalType": "bool"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "lockedUntil",
|
|
349
|
+
"type": "uint48",
|
|
350
|
+
"internalType": "uint48"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "hook",
|
|
354
|
+
"type": "address",
|
|
355
|
+
"internalType": "contract IJBSplitHook"
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
}
|
|
359
|
+
]
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "caller",
|
|
363
|
+
"type": "address",
|
|
364
|
+
"indexed": false,
|
|
365
|
+
"internalType": "address"
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"anonymous": false
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"type": "event",
|
|
372
|
+
"name": "RemoveTier",
|
|
373
|
+
"inputs": [
|
|
374
|
+
{
|
|
375
|
+
"name": "tierId",
|
|
376
|
+
"type": "uint256",
|
|
377
|
+
"indexed": true,
|
|
378
|
+
"internalType": "uint256"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "caller",
|
|
382
|
+
"type": "address",
|
|
383
|
+
"indexed": false,
|
|
384
|
+
"internalType": "address"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"anonymous": false
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"type": "event",
|
|
391
|
+
"name": "SetDiscountPercent",
|
|
392
|
+
"inputs": [
|
|
393
|
+
{
|
|
394
|
+
"name": "tierId",
|
|
395
|
+
"type": "uint256",
|
|
396
|
+
"indexed": true,
|
|
397
|
+
"internalType": "uint256"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "discountPercent",
|
|
401
|
+
"type": "uint256",
|
|
402
|
+
"indexed": false,
|
|
403
|
+
"internalType": "uint256"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"name": "caller",
|
|
407
|
+
"type": "address",
|
|
408
|
+
"indexed": false,
|
|
409
|
+
"internalType": "address"
|
|
410
|
+
}
|
|
411
|
+
],
|
|
412
|
+
"anonymous": false
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"type": "event",
|
|
416
|
+
"name": "SplitPayoutReverted",
|
|
417
|
+
"inputs": [
|
|
418
|
+
{
|
|
419
|
+
"name": "projectId",
|
|
420
|
+
"type": "uint256",
|
|
421
|
+
"indexed": true,
|
|
422
|
+
"internalType": "uint256"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "split",
|
|
426
|
+
"type": "tuple",
|
|
427
|
+
"indexed": false,
|
|
428
|
+
"internalType": "struct JBSplit",
|
|
429
|
+
"components": [
|
|
430
|
+
{
|
|
431
|
+
"name": "percent",
|
|
432
|
+
"type": "uint32",
|
|
433
|
+
"internalType": "uint32"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"name": "projectId",
|
|
437
|
+
"type": "uint64",
|
|
438
|
+
"internalType": "uint64"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"name": "beneficiary",
|
|
442
|
+
"type": "address",
|
|
443
|
+
"internalType": "address payable"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"name": "preferAddToBalance",
|
|
447
|
+
"type": "bool",
|
|
448
|
+
"internalType": "bool"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "lockedUntil",
|
|
452
|
+
"type": "uint48",
|
|
453
|
+
"internalType": "uint48"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "hook",
|
|
457
|
+
"type": "address",
|
|
458
|
+
"internalType": "contract IJBSplitHook"
|
|
459
|
+
}
|
|
460
|
+
]
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"name": "amount",
|
|
464
|
+
"type": "uint256",
|
|
465
|
+
"indexed": false,
|
|
466
|
+
"internalType": "uint256"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "reason",
|
|
470
|
+
"type": "bytes",
|
|
471
|
+
"indexed": false,
|
|
472
|
+
"internalType": "bytes"
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"name": "caller",
|
|
476
|
+
"type": "address",
|
|
477
|
+
"indexed": false,
|
|
478
|
+
"internalType": "address"
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"anonymous": false
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"type": "error",
|
|
485
|
+
"name": "JB721TiersHookLib_NoTerminalForLeftover",
|
|
486
|
+
"inputs": [
|
|
487
|
+
{
|
|
488
|
+
"name": "projectId",
|
|
489
|
+
"type": "uint256",
|
|
490
|
+
"internalType": "uint256"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "token",
|
|
494
|
+
"type": "address",
|
|
495
|
+
"internalType": "address"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"name": "leftoverAmount",
|
|
499
|
+
"type": "uint256",
|
|
500
|
+
"internalType": "uint256"
|
|
501
|
+
}
|
|
502
|
+
]
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"type": "error",
|
|
506
|
+
"name": "JB721TiersHookLib_SplitAmountMismatch",
|
|
507
|
+
"inputs": [
|
|
508
|
+
{
|
|
509
|
+
"name": "expectedAmount",
|
|
510
|
+
"type": "uint256",
|
|
511
|
+
"internalType": "uint256"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "actualAmount",
|
|
515
|
+
"type": "uint256",
|
|
516
|
+
"internalType": "uint256"
|
|
517
|
+
}
|
|
518
|
+
]
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"type": "error",
|
|
522
|
+
"name": "JB721TiersHookLib_SplitFallbackFailed",
|
|
523
|
+
"inputs": [
|
|
524
|
+
{
|
|
525
|
+
"name": "projectId",
|
|
526
|
+
"type": "uint256",
|
|
527
|
+
"internalType": "uint256"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "token",
|
|
531
|
+
"type": "address",
|
|
532
|
+
"internalType": "address"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "amount",
|
|
536
|
+
"type": "uint256",
|
|
537
|
+
"internalType": "uint256"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"name": "reason",
|
|
541
|
+
"type": "bytes",
|
|
542
|
+
"internalType": "bytes"
|
|
543
|
+
}
|
|
544
|
+
]
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"type": "error",
|
|
548
|
+
"name": "JB721TiersHookLib_SplitMetadataLengthMismatch",
|
|
549
|
+
"inputs": [
|
|
550
|
+
{
|
|
551
|
+
"name": "tierIdCount",
|
|
552
|
+
"type": "uint256",
|
|
553
|
+
"internalType": "uint256"
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"name": "amountCount",
|
|
557
|
+
"type": "uint256",
|
|
558
|
+
"internalType": "uint256"
|
|
559
|
+
}
|
|
560
|
+
]
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"type": "error",
|
|
564
|
+
"name": "JB721TiersHookLib_TokenTransferAmountMismatch",
|
|
565
|
+
"inputs": [
|
|
566
|
+
{
|
|
567
|
+
"name": "expectedAmount",
|
|
568
|
+
"type": "uint256",
|
|
569
|
+
"internalType": "uint256"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "receivedAmount",
|
|
573
|
+
"type": "uint256",
|
|
574
|
+
"internalType": "uint256"
|
|
575
|
+
}
|
|
576
|
+
]
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"type": "error",
|
|
580
|
+
"name": "JB721TiersHook_CantBuyWithCredits",
|
|
581
|
+
"inputs": [
|
|
582
|
+
{
|
|
583
|
+
"name": "restrictedCost",
|
|
584
|
+
"type": "uint256",
|
|
585
|
+
"internalType": "uint256"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"name": "freshValue",
|
|
589
|
+
"type": "uint256",
|
|
590
|
+
"internalType": "uint256"
|
|
591
|
+
}
|
|
592
|
+
]
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"type": "error",
|
|
596
|
+
"name": "JB721TiersHook_Overspending",
|
|
597
|
+
"inputs": [
|
|
598
|
+
{
|
|
599
|
+
"name": "leftoverAmount",
|
|
600
|
+
"type": "uint256",
|
|
601
|
+
"internalType": "uint256"
|
|
602
|
+
}
|
|
603
|
+
]
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"type": "error",
|
|
607
|
+
"name": "PRBMath_MulDiv_Overflow",
|
|
608
|
+
"inputs": [
|
|
609
|
+
{
|
|
610
|
+
"name": "x",
|
|
611
|
+
"type": "uint256",
|
|
612
|
+
"internalType": "uint256"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"name": "y",
|
|
616
|
+
"type": "uint256",
|
|
617
|
+
"internalType": "uint256"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"name": "denominator",
|
|
621
|
+
"type": "uint256",
|
|
622
|
+
"internalType": "uint256"
|
|
623
|
+
}
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"type": "error",
|
|
628
|
+
"name": "SafeERC20FailedOperation",
|
|
629
|
+
"inputs": [
|
|
630
|
+
{
|
|
631
|
+
"name": "token",
|
|
632
|
+
"type": "address",
|
|
633
|
+
"internalType": "address"
|
|
634
|
+
}
|
|
635
|
+
]
|
|
636
|
+
}
|
|
637
|
+
],
|
|
638
|
+
"args": [],
|
|
639
|
+
"solcInputHash": "894c1b4178e64112dd366720741182fd",
|
|
640
|
+
"receipt": {
|
|
641
|
+
"type": "0x2",
|
|
642
|
+
"status": "0x1",
|
|
643
|
+
"cumulativeGasUsed": "0x6ae382",
|
|
644
|
+
"logs": [
|
|
645
|
+
{
|
|
646
|
+
"address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
647
|
+
"topics": [
|
|
648
|
+
"0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
|
|
649
|
+
"0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
650
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
651
|
+
"0x2933e5ee9777c4a1faac36681a36a2eeb9b2d916aa189126de61a2f1d0e51cfb"
|
|
652
|
+
],
|
|
653
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
654
|
+
"blockHash": "0x43cbfd0dbf991301dc8e0bcedde0e5f4313db51ad522d57aa2f614436f28be7e",
|
|
655
|
+
"blockNumber": "0x28ebdb3",
|
|
656
|
+
"blockTimestamp": "0x6a30da46",
|
|
657
|
+
"transactionHash": "0xe96c5b7cbcf4a59f6e4c2cf4b77f56f2e1be04b8da5ac7dd2f61b351eaf862d3",
|
|
658
|
+
"transactionIndex": "0xd",
|
|
659
|
+
"logIndex": "0x7a",
|
|
660
|
+
"removed": false
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"address": "0x4dc161ef837ff1c4485b08ddfcdb182f2157be18",
|
|
664
|
+
"topics": [
|
|
665
|
+
"0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
|
|
666
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38"
|
|
667
|
+
],
|
|
668
|
+
"data": "0x",
|
|
669
|
+
"blockHash": "0x43cbfd0dbf991301dc8e0bcedde0e5f4313db51ad522d57aa2f614436f28be7e",
|
|
670
|
+
"blockNumber": "0x28ebdb3",
|
|
671
|
+
"blockTimestamp": "0x6a30da46",
|
|
672
|
+
"transactionHash": "0xe96c5b7cbcf4a59f6e4c2cf4b77f56f2e1be04b8da5ac7dd2f61b351eaf862d3",
|
|
673
|
+
"transactionIndex": "0xd",
|
|
674
|
+
"logIndex": "0x7b",
|
|
675
|
+
"removed": false
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"address": "0x91f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
679
|
+
"topics": [
|
|
680
|
+
"0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
|
|
681
|
+
"0xd5deab2e7deb1fc43c598724c179da0517b3ba8e35a6aa10843b370c51835520"
|
|
682
|
+
],
|
|
683
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000003",
|
|
684
|
+
"blockHash": "0x43cbfd0dbf991301dc8e0bcedde0e5f4313db51ad522d57aa2f614436f28be7e",
|
|
685
|
+
"blockNumber": "0x28ebdb3",
|
|
686
|
+
"blockTimestamp": "0x6a30da46",
|
|
687
|
+
"transactionHash": "0xe96c5b7cbcf4a59f6e4c2cf4b77f56f2e1be04b8da5ac7dd2f61b351eaf862d3",
|
|
688
|
+
"transactionIndex": "0xd",
|
|
689
|
+
"logIndex": "0x7c",
|
|
690
|
+
"removed": false
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"logsBloom": "0x00000000000010000000000000080000001000000000000000000000000000000000200000000000000000000040000000000000000000000000000000000000000000000000200000000000000000000000000000000040100000000000000040000000000004000000000000000000000000000000000000000000000080008800000000000000000104000000000000000000000000000000000000004000004000040000000000000000000000002200000000000000000000000004000000000002008000000000000000400000000000000000000000000000800000000000040000000100000000000000000200000000000080000000200000000000",
|
|
694
|
+
"transactionHash": "0xe96c5b7cbcf4a59f6e4c2cf4b77f56f2e1be04b8da5ac7dd2f61b351eaf862d3",
|
|
695
|
+
"transactionIndex": "0xd",
|
|
696
|
+
"blockHash": "0x43cbfd0dbf991301dc8e0bcedde0e5f4313db51ad522d57aa2f614436f28be7e",
|
|
697
|
+
"blockNumber": "0x28ebdb3",
|
|
698
|
+
"gasUsed": "0x437cfc",
|
|
699
|
+
"effectiveGasPrice": "0x802c80",
|
|
700
|
+
"blobGasUsed": "0x45c6a6",
|
|
701
|
+
"from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
702
|
+
"to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
703
|
+
"contractAddress": null,
|
|
704
|
+
"l1GasPrice": "0x3b0b5bdc",
|
|
705
|
+
"l1GasUsed": "0x280de",
|
|
706
|
+
"l1Fee": "0x889a0a1b94",
|
|
707
|
+
"l1BaseFeeScalar": "0x44d",
|
|
708
|
+
"l1BlobBaseFee": "0x39797ca",
|
|
709
|
+
"l1BlobBaseFeeScalar": "0xa118b",
|
|
710
|
+
"daFootprintGasScalar": "0x1be"
|
|
711
|
+
},
|
|
712
|
+
"bytecode": "0x614a3a610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610090575f3560e01c8063b720e93f11610063578063b720e93f1461012b578063b99df6321461014a578063f236ea0a1461016e578063f327b88d1461018d575f5ffd5b80634e2a0e43146100945780636ce4a1df146100b557806392801ea6146100de578063a403c797146100fd575b5f5ffd5b81801561009f575f5ffd5b506100b36100ae366004612e8e565b6101b5565b005b6100c86100c3366004613026565b6103a8565b6040516100d591906130f9565b60405180910390f35b8180156100e9575f5ffd5b506100b36100f836600461310b565b610525565b818015610108575f5ffd5b5061011c61011736600461318f565b6105ca565b6040516100d593929190613229565b818015610136575f5ffd5b506100b36101453660046132b5565b610819565b61015d610158366004613344565b610a8e565b6040516100d59594939291906133c4565b818015610179575f5ffd5b506100b36101883660046137b5565b610c57565b6101a061019b366004613852565b610d5f565b604080519283529015156020830152016100d5565b8015610282575f5b81811015610225578282828181106101d7576101d761389e565b6040516001600160a01b038a16815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a26001016101bd565b506040516320512ba160e01b81526001600160a01b038a16906320512ba19061025490859085906004016138b2565b5f604051808303815f87803b15801561026b575f5ffd5b505af115801561027d573d5f5f3e3d5ffd5b505050505b821561039d5760405163052e4c3b60e31b81525f906001600160a01b038b169063297261d8906102b89088908890600401613b79565b5f604051808303815f875af11580156102d3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102fa9190810190613c4a565b90505f5b84811015610384578181815181106103185761031861389e565b60200260200101517f69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f8787848181106103535761035361389e565b90506020028101906103659190613c7b565b89604051610374929190613c9a565b60405180910390a26001016102fe565b5061039b898989610395888a613cc3565b85610e9e565b505b505050505050505050565b604051630fab094760e01b81526001600160a01b0384811660048301526060915f91871690630fab094790602401602060405180830381865afa1580156103f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104159190613ccf565b90506001600160a01b0381161561049f57604051635e703e7160e01b81526001600160a01b03868116600483015260248201859052821690635e703e71906044015f60405180830381865afa158015610470573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104979190810190613cea565b91505061051d565b604051630c8df17160e41b81526001600160a01b0386811660048301526024820185905261051991869189169063c8df171090604401602060405180830381865afa1580156104f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105149190613d5e565b61107f565b9150505b949350505050565b604080518381526001600160a01b038316602082015284917f8ebf585439d8c6edc7dfa9c0e01fdbb1d4e68d9969dc5341ebd8bca5cd9a7bd4910160405180910390a260405163284d148160e11b815260048101849052602481018390526001600160a01b0385169063509a2902906044015f604051808303815f87803b1580156105ae575f5ffd5b505af11580156105c0573d5f5f3e3d5ffd5b5050505050505050565b60408051808201909152600381526270617960e81b6020909101526060805f80808061064f8d861b7fadc756803e4eb4ccfb136b73d5f72e3dc0d452d30ae1f4bc82af394c73ce71151889898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b915091508115610675575f8180602001905181019061066e9190613dd9565b9650159350505b508a90506001600160a01b03808a16908b160361069d576106968882613e3a565b90506106a1565b8792505b604051634228826f60e11b81523060048201525f906001600160a01b038f169063845104de9060240160a060405180830381865afa1580156106e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107099190613e4d565b60600151158015610718575082155b905084515f146107ce575f8e6001600160a01b031663eaa19ab384885f6040518463ffffffff1660e01b815260040161075393929190613f18565b5f604051808303815f875af115801561076e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107959190810190613f42565b919850935090508c8111156107cc57604051635d7462ab60e11b815260048101829052602481018e90526044015b60405180910390fd5b505b81158015906107db575080155b156107fc5760405163215ccc4760e11b8152600481018390526024016107c3565b6108068483613e3a565b9350505050985098509895505050505050565b5f8061082783850185613fe8565b91509150805182511461085a57815181516040516375c679c360e01b8152600481019290925260248201526044016107c3565b5f5f5b8251811015610895578281815181106108785761087861389e565b60200260200101518261088b9190613e3a565b915060010161085d565b508681146108c057604051631c50088560e11b815260048101889052602481018290526044016107c3565b6001600160a01b03881661eeee146109eb576040516370a0823160e01b81523060048201525f906001600160a01b038a16906370a0823190602401602060405180830381865afa158015610916573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093a9190613d5e565b90506109488933308b611285565b6040516370a0823160e01b81523060048201525f9082906001600160a01b038c16906370a0823190602401602060405180830381865afa15801561098e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b29190613d5e565b6109bc91906140a1565b90508881146109e85760405163c654ace960e01b8152600481018a9052602481018290526044016107c3565b50505b5f5b8351811015610a7f57828181518110610a0857610a0861389e565b60200260200101515f03610a1e576001016109ed565b5f60a0858381518110610a3357610a3361389e565b602002602001015161ffff16901b8b6001600160a01b0316179050610a768e8e8e8d85898881518110610a6857610a6861389e565b60200260200101518e6112c1565b506001016109ed565b50505050505050505050505050565b5f8060608180610aad8a308b610aa86101608b018b6140b4565b6115e5565b90945092508315610acb57610ac584848a8a8a61193c565b90945092505b610ae161012087013560a0880135868d30611d8b565b94508315801590610af5575060a086013515155b8015610b675750604051634228826f60e11b81523060048201526001600160a01b038b169063845104de9060240160a060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190613e4d565b608001515b15610b8357610b806101208701358560a0890135611e3c565b90505b610b95610120870161010088016140f6565b91505f80610c047ff7999d69b76834e7cc9d127cf1983bd001a90e7a0eacd792dddf8770f08d9166610bcb6101608b018b6140b4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b91509150818015610c1757506020815110155b15610c48575f81806020019051810190610c319190613ccf565b90506001600160a01b03811615610c46578094505b505b50509550955095509550959050565b60405163052e4c3b60e31b81525f906001600160a01b0388169063297261d890610c859085906004016142f3565b5f604051808303815f875af1158015610ca0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cc79190810190613c4a565b90505f5b8251811015610d4857818181518110610ce657610ce661389e565b60200260200101517f69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f848381518110610d2157610d2161389e565b602002602001015186604051610d38929190614356565b60405180910390a2600101610ccb565b50610d568686868585610e9e565b50505050505050565b5f8063ffffffff881660ff60208a901c16818603610ddf57808503610d8c57866001935093505050610e93565b80851115610dc057610d9e81866140a1565b610da990600a61444b565b610db3908861446a565b6001935093505050610e93565b610dca85826140a1565b610dd590600a61444b565b610db3908861447d565b6001600160a01b038916610dfa575f5f935093505050610e93565b610e8a87610e0983600a61444b565b604051631df139fd60e11b8152600481018c9052602481018a905260448101869052606481018990526001600160a01b038d1690633be273fa90608401602060405180830381865afa158015610e61573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613d5e565b611e3c565b93506001925050505b965096945050505050565b5f5f5b8351811015610ee657838181518110610ebc57610ebc61389e565b60200260200101516101400151515f14610ede5781610eda81614494565b9250505b600101610ea1565b50805f03610ef45750611078565b5f816001600160401b03811115610f0d57610f0d612f4f565b604051908082528060200260200182016040528015610f5257816020015b604080518082019091525f815260606020820152815260200190600190039081610f2b5790505b5090505f5f5b855181101561101657858181518110610f7357610f7361389e565b60200260200101516101400151515f1461100e57604051806040016040528060a0878481518110610fa657610fa661389e565b6020026020010151901b896001600160a01b0316178152602001878381518110610fd257610fd261389e565b60200260200101516101400151815250838381518110610ff457610ff461389e565b6020026020010181905250818061100a90614494565b9250505b600101610f58565b50604051638a36dffd60e01b81526001600160a01b03891690638a36dffd90611047908a905f9087906004016144ac565b5f604051808303815f87803b15801561105e575f5ffd5b505af1158015611070573d5f5f3e3d5ffd5b505050505050505b5050505050565b604051609160f51b6020820152602281018290526060905f9060420160405160208183030381529060405290505f6110b682611f11565b905084816040516020016110cb92919061454b565b604051602081830303815290604052925050505b92915050565b5f6060602583511161110857505060408051602081019091525f8082529061127e565b5f8361111660046020613e3a565b815181106111265761112661389e565b0160209081015160f81c91505b5f85611140600484613e3a565b815181106111505761115061389e565b01602001516001600160f81b03191614801590611176575061117360208361447d565b81105b1561127b575f85611188600484613e3a565b815181106111985761119861389e565b016020908101518784019091015160f89190911c91506001600160e01b031980891690821603611271575f6111ce60208661447d565b6111d9600986613e3a565b10158061120e5750876111ed600986613e3a565b815181106111fd576111fd61389e565b01602001516001600160f81b031916155b61124757602088611220600987613e3a565b815181106112305761123061389e565b0160200151611242919060f81c61447d565b61124a565b87515b905060016112638961125d60208761447d565b8461209d565b96509650505050505061127e565b5050600501611133565b50505b9250929050565b6112938484848460016120e9565b6112bb57604051635274afe760e01b81526001600160a01b03851660048201526024016107c3565b50505050565b6040516369e11cc560e01b8152600481018690525f6024820181905260448201859052906001600160a01b038816906369e11cc5906064015f60405180830381865afa158015611313573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261133a919081019061455f565b5f939091506001600160a01b03861661eeee1490633b9aca0090855b84518110156113fa575f61138d838784815181106113765761137661389e565b60200260200101515f015163ffffffff1686611e3c565b905080156113c95780830392506113c28d8784815181106113b0576113b061389e565b60200260200101518c848f8e8d612156565b8103880197505b8582815181106113db576113db61389e565b60209081029190910101515163ffffffff169093039250600101611356565b506114058682613e3a565b905080156115d857604051630862026560e41b8152600481018a90526001600160a01b0389811660248301525f91908d1690638620265090604401602060405180830381865afa15801561145b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147f9190613ccf565b90506001600160a01b0381166114c15760405163200bf9ff60e11b8152600481018b90526001600160a01b038a166024820152604481018390526064016107c3565b831561158c57806001600160a01b0316639e6eec05838c8c865f60405180602001604052805f8152506040518763ffffffff1660e01b815260040161150a959493929190614673565b5f604051808303818588803b158015611521575f5ffd5b505af193505050508015611533575060015b611587573d808015611560576040519150601f19603f3d011682016040523d82523d5f602084013e611565565b606091505b508a8a84836040516333e3da8b60e11b81526004016107c394939291906146b4565b611070565b5f5f61159a838c8e8761289c565b9150915080515f1415806115ae5750838214155b156115d4578b8b85836040516333e3da8b60e11b81526004016107c394939291906146b4565b5050505b5050505050505050505050565b60408051808201909152600381526270617960e81b6020909101525f606080828061166988841b7fadc756803e4eb4ccfb136b73d5f72e3dc0d452d30ae1f4bc82af394c73ce71151888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b915091508161168e575f60405180602001604052805f81525094509450505050611932565b808060200190518101906116a29190613dd9565b905080935050505080515f036116ca57505060408051602081019091525f8082529150611932565b5f81516001600160401b038111156116e4576116e4612f4f565b60405190808252806020026020018201604052801561170d578160200160208202803683370190505b5090505f82516001600160401b0381111561172a5761172a612f4f565b604051908082528060200260200182016040528015611753578160200160208202803683370190505b5090505f5f5b84518110156118fb575f5f5f8e6001600160a01b0316631923fe698f8a87815181106117875761178761389e565b60200260200101516040518363ffffffff1660e01b81526004016117c49291906001600160a01b0392909216825261ffff16602082015260400190565b606060405180830381865afa1580156117df573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180391906146e0565b9250925092508163ffffffff165f146118ed576001600160681b03831660ff821615611845576118388160ff841660c8611e3c565b61184290826140a1565b90505b8885815181106118575761185761389e565b60200260200101518887815181106118715761187161389e565b61ffff909216602092830291909101909101526118998163ffffffff8516633b9aca00611e3c565b8787815181106118ab576118ab61389e565b6020026020010181815250508686815181106118c9576118c961389e565b60200260200101518b6118dc9190613e3a565b9a50856118e881614494565b965050505b836001019350505050611759565b50801561192d57808352808252828260405160200161191b92919061472a565b60405160208183030381529060405294505b505050505b9550959350505050565b848460ff602086901c1663ffffffff861661195d60a0860160808701614782565b63ffffffff1614611b0b576001600160a01b03851661197f575f925050611932565b5f6001600160a01b038616633be273fa60c08701356119a460a0890160808a01614782565b63ffffffff8b166119bb60808b0160608c0161479d565b6040516001600160e01b031960e087901b168152600481019490945263ffffffff929092166024840152604483015260ff166064820152608401602060405180830381865afa158015611a10573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a349190613d5e565b90505f611a4283600a61444b565b90505f5f85806020019051810190611a5a91906147b8565b915091505f96505f5b8151811015611add57611a90828281518110611a8157611a8161389e565b60200260200101518686611e3c565b828281518110611aa257611aa261389e565b602002602001018181525050818181518110611ac057611ac061389e565b602002602001015188611ad39190613e3a565b9750600101611a63565b508181604051602001611af192919061472a565b604051602081830303815290604052955050505050611c98565b80611b1c608086016060870161479d565b60ff1614611c98575f5f83806020019051810190611b3a91906147b8565b915091505f94505f5b8151811015611c705783611b5d6080890160608a0161479d565b60ff161115611bd65783611b776080890160608a0161479d565b60ff16611b8491906140a1565b611b8f90600a61444b565b828281518110611ba157611ba161389e565b6020026020010151611bb3919061447d565b828281518110611bc557611bc561389e565b602002602001018181525050611c41565b611be6608088016060890161479d565b611bf39060ff16856140a1565b611bfe90600a61444b565b828281518110611c1057611c1061389e565b6020026020010151611c22919061446a565b828281518110611c3457611c3461389e565b6020026020010181815250505b818181518110611c5357611c5361389e565b602002602001015186611c669190613e3a565b9550600101611b43565b508181604051602001611c8492919061472a565b604051602081830303815290604052935050505b60a0840135831115611d8057815115611d78575f5f83806020019051810190611cc191906147b8565b5f969193509150855b8251811015611d4b57611cfe838281518110611ce857611ce861389e565b6020026020010151896040016060013584611e3c565b838281518110611d1057611d1061389e565b602002602001018181525050828181518110611d2e57611d2e61389e565b602002602001015187611d419190613e3a565b9650600101611cca565b508282604051602001611d5f92919061472a565b6040516020818303038152906040529450505050611d80565b60a084013592505b509550959350505050565b5f831580611e015750604051634228826f60e11b81526001600160a01b03838116600483015284169063845104de9060240160a060405180830381865afa158015611dd8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dfc9190613e4d565b608001515b15611e0d575084611e33565b83851115611e3057611e2986611e2386886140a1565b87611e3c565b9050611e33565b505f5b95945050505050565b5f80805f19858709858702925082811083820303915050805f03611e7357838281611e6957611e69614456565b0492505050611f0a565b838110611ea457604051630c740aef60e31b81526004810187905260248101869052604481018590526064016107c3565b5f848688098519600190810187169687900496828603819004959092119093035f82900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b606081515f03611f3357604080515f80825260208201909252905b5092915050565b60408051602e8082526105e082019092525f91602082016105c0803683370190505090505f815f81518110611f6a57611f6a61389e565b60ff9092166020928302919091019091015282516001905f5b81811015612082575f868281518110611f9e57611f9e61389e565b016020015160f81c90505f5b8460ff16811015612027576008868281518110611fc957611fc961389e565b602002602001015160ff16901b82611fe19190613e3a565b9150611fee603a83614811565b8682815181106120005761200061389e565b60ff9092166020928302919091019091015261201d603a8361446a565b9150600101611faa565b505b80156120795761203a603a82614811565b858560ff168151811061204f5761204f61389e565b60ff90921660209283029190910190910152600190930192612072603a8261446a565b9050612029565b50600101611f83565b50611e3361209861209385856129de565b612a83565b612b23565b60608282036040519150601f19601f6020838501010116604052808252836020860101602083015f5b838110156120de5782810151828201526020016120c6565b505050509392505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612145578383151615612139573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b60a08601515f906001600160a01b0387811661eeee14911615612433575f6040518060c00160405280896001600160a01b031681526020018881526020018581526020018781526020018681526020018a815250905081156122835760a08901516040516318b4127160e31b815247916001600160a01b03169063c5a09388908a906121e6908690600401614824565b5f604051808303818588803b1580156121fd575f5ffd5b505af19350505050801561220f575060015b61226f573d80801561223c576040519150601f19603f3d011682016040523d82523d5f602084013e612241565b606091505b50875f5160206149d45f395f51905f528c8b84336040516122659493929190614871565b60405180910390a2505b61227947826140a1565b9350505050612891565b6040516370a0823160e01b81523060048201525f906001600160a01b038a16906370a0823190602401602060405180830381865afa1580156122c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122eb9190613d5e565b90506122fc898b60a001518a612bf9565b8960a001516001600160a01b031663c5a09388836040518263ffffffff1660e01b815260040161232c9190614824565b5f604051808303815f87803b158015612343575f5ffd5b505af1925050508015612354575060015b6123b4573d808015612381576040519150601f19603f3d011682016040523d82523d5f602084013e612386565b606091505b50875f5160206149d45f395f51905f528c8b84336040516123aa9493929190614871565b60405180910390a2505b6123c3898b60a001515f612bf9565b6040516370a0823160e01b81523060048201526001600160a01b038a16906370a0823190602401602060405180830381865afa158015612405573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124299190613d5e565b61227990826140a1565b60208801516001600160401b031615612714576020880151604051630862026560e41b81526001600160401b0390911660048201526001600160a01b0388811660248301525f91908b1690638620265090604401602060405180830381865afa1580156124a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c69190613ccf565b90506001600160a01b0381166124e0575f92505050612891565b88606001511561262e5781156125d357806001600160a01b0316639e6eec05888b602001518b8b5f60405180602001604052805f8152506040518763ffffffff1660e01b81526004016125379594939291906148b2565b5f604051808303818588803b15801561254e575f5ffd5b505af193505050508015612560575060015b6125c9573d80801561258d576040519150601f19603f3d011682016040523d82523d5f602084013e612592565b606091505b50865f5160206149d45f395f51905f528b8a84336040516125b69493929190614871565b60405180910390a25f9350505050612891565b8692505050612891565b60606125ee828a8c602001516001600160401b03168b61289c565b805191955091501561262657865f5160206149d45f395f51905f528b8a843360405161261d9493929190614871565b60405180910390a25b505050612891565b81156126f457806001600160a01b031663fef43257888b602001518b8b8e604001515f60405180602001604052805f8152506040518863ffffffff1660e01b8152600401612681969594939291906148fc565b60206040518083038185885af1935050505080156126bc575060408051601f3d908101601f191682019092526126b991810190613d5e565b60015b6126e9573d80801561258d576040519150601f19603f3d011682016040523d82523d5f602084013e612592565b508692505050612891565b60606125ee828a8c602001516001600160401b03168b8e60400151612c78565b60408801516001600160a01b03161561288c578015612798575f88604001516001600160a01b0316876040515f6040518083038185875af1925050503d805f811461277a576040519150601f19603f3d011682016040523d82523d5f602084013e61277f565b606091505b5050905080612792575f92505050612891565b50612883565b5f5f886001600160a01b03168a60400151896040516024016127cf9291906001600160a01b03929092168252602082015260400190565b60408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251612804919061495f565b5f604051808303815f865af19150503d805f811461283d576040519150601f19603f3d011682016040523d82523d5f602084013e612842565b606091505b5091509150811580612870575080511580159061287057508080602001905181019061286e919061496a565b155b15612880575f9350505050612891565b50505b85915050612891565b5f9150505b979650505050505050565b5f60606128aa858785612bf9565b604080516020810182525f8082529151639e6eec0560e01b81526001600160a01b03891691639e6eec05916128ea9189918b918a91889190600401614673565b5f604051808303815f87803b158015612901575f5ffd5b505af1925050508015612912575060015b61294c573d80801561293f576040519150601f19603f3d011682016040523d82523d5f602084013e612944565b606091505b509150612950565b5060015b80156129c957604051636eb1769f60e11b81523060048201526001600160a01b03888116602483015287169063dd62ed3e90604401602060405180830381865afa1580156129a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129c49190613d5e565b840392505b6129d486885f612bf9565b5094509492505050565b60605f8260ff166001600160401b038111156129fc576129fc612f4f565b604051908082528060200260200182016040528015612a25578160200160208202803683370190505b5090505f5b8360ff16811015612a7b57848181518110612a4757612a4761389e565b6020026020010151828281518110612a6157612a6161389e565b60ff90921660209283029190910190910152600101612a2a565b509392505050565b80516060905f816001600160401b03811115612aa157612aa1612f4f565b604051908082528060200260200182016040528015612aca578160200160208202803683370190505b5090505f5b82811015612a7b57848160018751030381518110612aef57612aef61389e565b6020026020010151828281518110612b0957612b0961389e565b60ff90921660209283029190910190910152600101612acf565b80516060905f816001600160401b03811115612b4157612b41612f4f565b6040519080825280601f01601f191660200182016040528015612b6b576020820181803683370190505b5090505f5b82811015612a7b576040518060600160405280603a81526020016149f4603a9139858281518110612ba357612ba361389e565b602002602001015160ff1681518110612bbe57612bbe61389e565b602001015160f81c60f81b828281518110612bdb57612bdb61389e565b60200101906001600160f81b03191690815f1a905350600101612b70565b612c058383835f612dc5565b612c7357612c1683835f6001612dc5565b612c3e57604051635274afe760e01b81526001600160a01b03841660048201526024016107c3565b612c4b8383836001612dc5565b612c7357604051635274afe760e01b81526001600160a01b03841660048201526024016107c3565b505050565b5f6060612c86868886612bf9565b604080516020810182525f808252915163fef4325760e01b81526001600160a01b038a169163fef4325791612cc7918a918c918b918b918991600401614985565b6020604051808303815f875af1925050508015612d01575060408051601f3d908101601f19168201909252612cfe91810190613d5e565b60015b612d3b573d808015612d2e576040519150601f19603f3d011682016040523d82523d5f602084013e612d33565b606091505b509150612d41565b50600190505b8015612dba57604051636eb1769f60e11b81523060048201526001600160a01b03898116602483015288169063dd62ed3e90604401602060405180830381865afa158015612d91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db59190613d5e565b850392505b611d8087895f612bf9565b60405163095ea7b360e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316612e1b578383151615612e0f573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6001600160a01b0381168114612e3b575f5ffd5b50565b8035612e4981612e27565b919050565b5f5f83601f840112612e5e575f5ffd5b5081356001600160401b03811115612e74575f5ffd5b6020830191508360208260051b850101111561127e575f5ffd5b5f5f5f5f5f5f5f5f5f60e08a8c031215612ea6575f5ffd5b8935612eb181612e27565b985060208a0135612ec181612e27565b975060408a0135965060608a0135612ed881612e27565b955060808a0135612ee881612e27565b945060a08a01356001600160401b03811115612f02575f5ffd5b612f0e8c828d01612e4e565b90955093505060c08a01356001600160401b03811115612f2c575f5ffd5b612f388c828d01612e4e565b915080935050809150509295985092959850929598565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715612f8557612f85612f4f565b60405290565b60405160c081016001600160401b0381118282101715612f8557612f85612f4f565b60405161016081016001600160401b0381118282101715612f8557612f85612f4f565b604051601f8201601f191681016001600160401b0381118282101715612ff857612ff8612f4f565b604052919050565b5f6001600160401b0382111561301857613018612f4f565b50601f01601f191660200190565b5f5f5f5f60808587031215613039575f5ffd5b843561304481612e27565b9350602085013561305481612e27565b925060408501356001600160401b0381111561306e575f5ffd5b8501601f8101871361307e575f5ffd5b803561309161308c82613000565b612fd0565b8181528860208385010111156130a5575f5ffd5b816020840160208301375f91810160200191909152949793965093946060013593505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611f0a60208301846130cb565b5f5f5f5f6080858703121561311e575f5ffd5b843561312981612e27565b93506020850135925060408501359150606085013561314781612e27565b939692955090935050565b5f5f83601f840112613162575f5ffd5b5081356001600160401b03811115613178575f5ffd5b60208301915083602082850101111561127e575f5ffd5b5f5f5f5f5f5f5f5f60e0898b0312156131a6575f5ffd5b88356131b181612e27565b975060208901356131c181612e27565b96506040890135955060608901356131d881612e27565b945060808901356131e881612e27565b935060a0890135925060c08901356001600160401b03811115613209575f5ffd5b6132158b828c01613152565b999c989b5096995094979396929594505050565b606080825284519082018190525f9060208601906080840190835b81811015613262578351835260209384019390920191600101613244565b5050838103602080860191909152865180835291810192508601905f5b818110156132a157825161ffff1684526020938401939092019160010161327f565b505050604092909201929092529392505050565b5f5f5f5f5f5f5f5f5f6101008a8c0312156132ce575f5ffd5b89356132d981612e27565b985060208a01356132e981612e27565b975060408a0135965060608a013561330081612e27565b955060808a013561331081612e27565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115613338575f5ffd5b612f388c828d01613152565b5f5f5f5f5f60a08688031215613358575f5ffd5b853561336381612e27565b9450602086013561337381612e27565b935060408601359250606086013561338a81612e27565b915060808601356001600160401b038111156133a4575f5ffd5b860161018081890312156133b6575f5ffd5b809150509295509295909350565b85815284602082015260a060408201525f6133e260a08301866130cb565b6001600160a01b0394909416606083015250608001529392505050565b5f6001600160401b0382111561341757613417612f4f565b5060051b60200190565b6001600160681b0381168114612e3b575f5ffd5b8035612e4981613421565b63ffffffff81168114612e3b575f5ffd5b8035612e4981613440565b61ffff81168114612e3b575f5ffd5b8035612e498161345c565b803562ffffff81168114612e49575f5ffd5b60ff81168114612e3b575f5ffd5b8035612e4981613488565b8015158114612e3b575f5ffd5b8035612e49816134a1565b5f60e082840312156134c9575f5ffd5b6134d1612f63565b905081356134de816134a1565b815260208201356134ee816134a1565b60208201526040820135613501816134a1565b60408201526060820135613514816134a1565b6060820152613525608083016134ae565b608082015261353660a083016134ae565b60a082015261354760c083016134ae565b60c082015292915050565b6001600160401b0381168114612e3b575f5ffd5b65ffffffffffff81168114612e3b575f5ffd5b8035612e4981613566565b5f82601f830112613593575f5ffd5b81356135a161308c826133ff565b80828252602082019150602060c084028601019250858311156135c2575f5ffd5b602085015b838110156136625760c081880312156135de575f5ffd5b6135e6612f8b565b81356135f181613440565b8152602082013561360181613552565b6020820152604082013561361481612e27565b60408201526060820135613627816134a1565b6060820152608082013561363a81613566565b608082015260a082013561364d81612e27565b60a0820152835260209092019160c0016135c7565b5095945050505050565b5f61367961308c846133ff565b838152905060208101600584901b830185811115613695575f5ffd5b835b818110156137ab5780356001600160401b038111156136b4575f5ffd5b850161022081890312156136c6575f5ffd5b6136ce612fad565b6136d782613435565b81526136e560208301613451565b60208201526136f660408301613451565b60408201526137076060830161346b565b606082015261371860808301612e3e565b608082015260a0828101359082015261373360c08301613476565b60c082015261374460e08301613496565b60e08201526137578961010084016134b9565b61010082015261376a6101e08301613451565b6101208201526102008201356001600160401b03811115613789575f5ffd5b6137958a828501613584565b6101408301525084525060209283019201613697565b5050509392505050565b5f5f5f5f5f5f60c087890312156137ca575f5ffd5b86356137d581612e27565b955060208701356137e581612e27565b94506040870135935060608701356137fc81612e27565b9250608087013561380c81612e27565b915060a08701356001600160401b03811115613826575f5ffd5b8701601f81018913613836575f5ffd5b6138458982356020840161366c565b9150509295509295509295565b5f5f5f5f5f5f60c08789031215613867575f5ffd5b86359550602087013561387981612e27565b95989597505050506040840135936060810135936080820135935060a0909101359150565b634e487b7160e01b5f52603260045260245ffd5b602080825281018290525f6001600160fb1b038311156138d0575f5ffd5b8260051b80856040850137919091016040019392505050565b80356138f4816134a1565b151582526020810135613906816134a1565b15156020830152604081013561391b816134a1565b1515604083015261392e606082016134ae565b15156060830152613941608082016134ae565b1515608083015261395460a082016134ae565b151560a083015261396760c082016134ae565b80151560c0840152505050565b5f5f8335601e19843603018112613989575f5ffd5b83016020810192503590506001600160401b038111156139a7575f5ffd5b60c08102360382131561127e575f5ffd5b8183526020830192505f815f5b84811015613a735781356139d881613440565b63ffffffff16865260208201356139ee81613552565b6001600160401b031660208701526040820135613a0a81612e27565b6001600160a01b031660408701526060820135613a26816134a1565b15156060870152613a3960808301613579565b65ffffffffffff166080870152613a5260a08301612e3e565b6001600160a01b031660a087015260c09586019591909101906001016139c5565b5093949350505050565b613a9782613a8a83613435565b6001600160681b03169052565b5f613aa460208301613451565b63ffffffff166020840152613abb60408301613451565b63ffffffff166040840152613ad26060830161346b565b61ffff166060840152613ae760808301612e3e565b6001600160a01b0316608084015260a08281013590840152613b0b60c08301613476565b62ffffff1660c0840152613b2160e08301613496565b60ff1660e0840152613b3a6101008085019084016138e9565b613b476101e08301613451565b63ffffffff166101e0840152613b61610200830183613974565b610220610200860152611e33610220860182846139b8565b602080825281018290525f6040600584901b83018101908301858361021e1936839003015b87821015613be257868503603f190184528235818112613bbc575f5ffd5b613bc8868b8301613a7d565b955050602083019250602084019350600182019150613b9e565b5092979650505050505050565b5f82601f830112613bfe575f5ffd5b8151613c0c61308c826133ff565b8082825260208201915060208360051b860101925085831115613c2d575f5ffd5b602085015b83811015613662578051835260209283019201613c32565b5f60208284031215613c5a575f5ffd5b81516001600160401b03811115613c6f575f5ffd5b61051d84828501613bef565b5f823561021e19833603018112613c90575f5ffd5b9190910192915050565b604081525f613cac6040830185613a7d565b905060018060a01b03831660208301529392505050565b5f611f0a36848461366c565b5f60208284031215613cdf575f5ffd5b8151611f0a81612e27565b5f60208284031215613cfa575f5ffd5b81516001600160401b03811115613d0f575f5ffd5b8201601f81018413613d1f575f5ffd5b8051613d2d61308c82613000565b818152856020838501011115613d41575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215613d6e575f5ffd5b5051919050565b5f82601f830112613d84575f5ffd5b8151613d9261308c826133ff565b8082825260208201915060208360051b860101925085831115613db3575f5ffd5b602085015b83811015613662578051613dcb8161345c565b835260209283019201613db8565b5f5f60408385031215613dea575f5ffd5b8251613df5816134a1565b60208401519092506001600160401b03811115613e10575f5ffd5b613e1c85828601613d75565b9150509250929050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156110df576110df613e26565b5f60a0828403128015613e5e575f5ffd5b5060405160a081016001600160401b0381118282101715613e8157613e81612f4f565b6040528251613e8f816134a1565b81526020830151613e9f816134a1565b60208201526040830151613eb2816134a1565b60408201526060830151613ec5816134a1565b60608201526080830151613ed8816134a1565b60808201529392505050565b5f8151808452602084019350602083015f5b82811015613a7357815161ffff16865260209586019590910190600101613ef6565b838152606060208201525f613f306060830185613ee4565b90508215156040830152949350505050565b5f5f5f60608486031215613f54575f5ffd5b83516001600160401b03811115613f69575f5ffd5b613f7586828701613bef565b60208601516040909601519097959650949350505050565b5f82601f830112613f9c575f5ffd5b8135613faa61308c826133ff565b8082825260208201915060208360051b860101925085831115613fcb575f5ffd5b602085015b83811015613662578035835260209283019201613fd0565b5f5f60408385031215613ff9575f5ffd5b82356001600160401b0381111561400e575f5ffd5b8301601f8101851361401e575f5ffd5b803561402c61308c826133ff565b8082825260208201915060208360051b85010192508783111561404d575f5ffd5b6020840193505b828410156140785783356140678161345c565b825260209384019390910190614054565b945050505060208301356001600160401b03811115614095575f5ffd5b613e1c85828601613f8d565b818103818111156110df576110df613e26565b5f5f8335601e198436030181126140c9575f5ffd5b8301803591506001600160401b038211156140e2575f5ffd5b60200191503681900382131561127e575f5ffd5b5f60208284031215614106575f5ffd5b8135611f0a81612e27565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015161415a60a084018215159052565b5060c0810151612c7360c084018215159052565b805163ffffffff1682526020808201516001600160401b0316908301526040808201516001600160a01b039081169184019190915260608083015115159084015260808083015165ffffffffffff169084015260a09182015116910152565b5f8151808452602084019350602083015f5b82811015613a73576141f286835161416e565b60c09590950194602091909101906001016141df565b80516001600160681b031682525f602082015161422d602085018263ffffffff169052565b506040820151614245604085018263ffffffff169052565b50606082015161425b606085018261ffff169052565b50608082015161427660808501826001600160a01b03169052565b5060a082015160a084015260c082015161429760c085018262ffffff169052565b5060e08201516142ac60e085018260ff169052565b506101008201516142c1610100850182614111565b5061012082015163ffffffff81166101e08501525061014082015161022061020085015261051d6102208501826141cd565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561434a57603f19878603018452614335858351614208565b94506020938401939190910190600101614319565b50929695505050505050565b604081525f613cac6040830185614208565b6001815b60018411156143a35780850481111561438757614387613e26565b600184161561439557908102905b60019390931c92800261436c565b935093915050565b5f826143b9575060016110df565b816143c557505f6110df565b81600181146143db57600281146143e557614401565b60019150506110df565b60ff8411156143f6576143f6613e26565b50506001821b6110df565b5060208310610133831016604e8410600b8410161715614424575081810a6110df565b6144305f198484614368565b805f190482111561444357614443613e26565b029392505050565b5f611f0a83836143ab565b634e487b7160e01b5f52601260045260245ffd5b5f8261447857614478614456565b500490565b80820281158282048414176110df576110df613e26565b5f600182016144a5576144a5613e26565b5060010190565b5f606082018583528460208401526060604084015280845180835260808501915060808160051b8601019250602086015f5b8281101561452657607f19878603018452815180518652602081015190506040602087015261451060408701826141cd565b95505060209384019391909101906001016144de565b509298975050505050505050565b5f81518060208401855e5f93019283525090919050565b5f61051d6145598386614534565b84614534565b5f6020828403121561456f575f5ffd5b81516001600160401b03811115614584575f5ffd5b8201601f81018413614594575f5ffd5b80516145a261308c826133ff565b80828252602082019150602060c084028501019250868311156145c3575f5ffd5b6020840193505b828410156146695760c084880312156145e1575f5ffd5b6145e9612f8b565b84516145f481613440565b8152602085015161460481613552565b6020820152604085015161461781612e27565b6040820152606085015161462a816134a1565b6060820152608085015161463d81613566565b608082015260a085015161465081612e27565b60a0820152825260c093909301926020909101906145ca565b9695505050505050565b85815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61289160e08301846130cb565b84815260018060a01b0384166020820152826040820152608060608201525f61466960808301846130cb565b5f5f5f606084860312156146f2575f5ffd5b83516146fd81613421565b602085015190935061470e81613440565b604085015190925061471f81613488565b809150509250925092565b604081525f61473c6040830185613ee4565b82810360208401528084518083526020830191506020860192505f5b81811015614776578351835260209384019390920191600101614758565b50909695505050505050565b5f60208284031215614792575f5ffd5b8135611f0a81613440565b5f602082840312156147ad575f5ffd5b8135611f0a81613488565b5f5f604083850312156147c9575f5ffd5b82516001600160401b038111156147de575f5ffd5b6147ea85828601613d75565b92505060208301516001600160401b03811115614805575f5ffd5b613e1c85828601613bef565b5f8261481f5761481f614456565b500690565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a082810151610160830191611f2c9084018261416e565b61487b818661416e565b8360c082015261012060e08201525f6148986101208301856130cb565b905060018060a01b03831661010083015295945050505050565b6001600160401b038616815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61289160e08301846130cb565b6001600160401b03871681526001600160a01b03868116602083015260408201869052841660608201526080810183905260e060a082018190525f90820181905261010060c08301819052614953908301846130cb565b98975050505050505050565b5f611f0a8284614534565b5f6020828403121561497a575f5ffd5b8151611f0a816134a1565b8681526001600160a01b03868116602083015260408201869052841660608201526080810183905260e060a082018190525f90820181905261010060c08301819052614953908301846130cb56fe66801396c588b520bd3bcfb2e638b273ffffea3c6015e2b900cecf1d4d341e5131323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa164736f6c634300081c000a",
|
|
713
|
+
"deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610090575f3560e01c8063b720e93f11610063578063b720e93f1461012b578063b99df6321461014a578063f236ea0a1461016e578063f327b88d1461018d575f5ffd5b80634e2a0e43146100945780636ce4a1df146100b557806392801ea6146100de578063a403c797146100fd575b5f5ffd5b81801561009f575f5ffd5b506100b36100ae366004612e8e565b6101b5565b005b6100c86100c3366004613026565b6103a8565b6040516100d591906130f9565b60405180910390f35b8180156100e9575f5ffd5b506100b36100f836600461310b565b610525565b818015610108575f5ffd5b5061011c61011736600461318f565b6105ca565b6040516100d593929190613229565b818015610136575f5ffd5b506100b36101453660046132b5565b610819565b61015d610158366004613344565b610a8e565b6040516100d59594939291906133c4565b818015610179575f5ffd5b506100b36101883660046137b5565b610c57565b6101a061019b366004613852565b610d5f565b604080519283529015156020830152016100d5565b8015610282575f5b81811015610225578282828181106101d7576101d761389e565b6040516001600160a01b038a16815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a26001016101bd565b506040516320512ba160e01b81526001600160a01b038a16906320512ba19061025490859085906004016138b2565b5f604051808303815f87803b15801561026b575f5ffd5b505af115801561027d573d5f5f3e3d5ffd5b505050505b821561039d5760405163052e4c3b60e31b81525f906001600160a01b038b169063297261d8906102b89088908890600401613b79565b5f604051808303815f875af11580156102d3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102fa9190810190613c4a565b90505f5b84811015610384578181815181106103185761031861389e565b60200260200101517f69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f8787848181106103535761035361389e565b90506020028101906103659190613c7b565b89604051610374929190613c9a565b60405180910390a26001016102fe565b5061039b898989610395888a613cc3565b85610e9e565b505b505050505050505050565b604051630fab094760e01b81526001600160a01b0384811660048301526060915f91871690630fab094790602401602060405180830381865afa1580156103f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104159190613ccf565b90506001600160a01b0381161561049f57604051635e703e7160e01b81526001600160a01b03868116600483015260248201859052821690635e703e71906044015f60405180830381865afa158015610470573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104979190810190613cea565b91505061051d565b604051630c8df17160e41b81526001600160a01b0386811660048301526024820185905261051991869189169063c8df171090604401602060405180830381865afa1580156104f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105149190613d5e565b61107f565b9150505b949350505050565b604080518381526001600160a01b038316602082015284917f8ebf585439d8c6edc7dfa9c0e01fdbb1d4e68d9969dc5341ebd8bca5cd9a7bd4910160405180910390a260405163284d148160e11b815260048101849052602481018390526001600160a01b0385169063509a2902906044015f604051808303815f87803b1580156105ae575f5ffd5b505af11580156105c0573d5f5f3e3d5ffd5b5050505050505050565b60408051808201909152600381526270617960e81b6020909101526060805f80808061064f8d861b7fadc756803e4eb4ccfb136b73d5f72e3dc0d452d30ae1f4bc82af394c73ce71151889898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b915091508115610675575f8180602001905181019061066e9190613dd9565b9650159350505b508a90506001600160a01b03808a16908b160361069d576106968882613e3a565b90506106a1565b8792505b604051634228826f60e11b81523060048201525f906001600160a01b038f169063845104de9060240160a060405180830381865afa1580156106e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107099190613e4d565b60600151158015610718575082155b905084515f146107ce575f8e6001600160a01b031663eaa19ab384885f6040518463ffffffff1660e01b815260040161075393929190613f18565b5f604051808303815f875af115801561076e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107959190810190613f42565b919850935090508c8111156107cc57604051635d7462ab60e11b815260048101829052602481018e90526044015b60405180910390fd5b505b81158015906107db575080155b156107fc5760405163215ccc4760e11b8152600481018390526024016107c3565b6108068483613e3a565b9350505050985098509895505050505050565b5f8061082783850185613fe8565b91509150805182511461085a57815181516040516375c679c360e01b8152600481019290925260248201526044016107c3565b5f5f5b8251811015610895578281815181106108785761087861389e565b60200260200101518261088b9190613e3a565b915060010161085d565b508681146108c057604051631c50088560e11b815260048101889052602481018290526044016107c3565b6001600160a01b03881661eeee146109eb576040516370a0823160e01b81523060048201525f906001600160a01b038a16906370a0823190602401602060405180830381865afa158015610916573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093a9190613d5e565b90506109488933308b611285565b6040516370a0823160e01b81523060048201525f9082906001600160a01b038c16906370a0823190602401602060405180830381865afa15801561098e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b29190613d5e565b6109bc91906140a1565b90508881146109e85760405163c654ace960e01b8152600481018a9052602481018290526044016107c3565b50505b5f5b8351811015610a7f57828181518110610a0857610a0861389e565b60200260200101515f03610a1e576001016109ed565b5f60a0858381518110610a3357610a3361389e565b602002602001015161ffff16901b8b6001600160a01b0316179050610a768e8e8e8d85898881518110610a6857610a6861389e565b60200260200101518e6112c1565b506001016109ed565b50505050505050505050505050565b5f8060608180610aad8a308b610aa86101608b018b6140b4565b6115e5565b90945092508315610acb57610ac584848a8a8a61193c565b90945092505b610ae161012087013560a0880135868d30611d8b565b94508315801590610af5575060a086013515155b8015610b675750604051634228826f60e11b81523060048201526001600160a01b038b169063845104de9060240160a060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190613e4d565b608001515b15610b8357610b806101208701358560a0890135611e3c565b90505b610b95610120870161010088016140f6565b91505f80610c047ff7999d69b76834e7cc9d127cf1983bd001a90e7a0eacd792dddf8770f08d9166610bcb6101608b018b6140b4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b91509150818015610c1757506020815110155b15610c48575f81806020019051810190610c319190613ccf565b90506001600160a01b03811615610c46578094505b505b50509550955095509550959050565b60405163052e4c3b60e31b81525f906001600160a01b0388169063297261d890610c859085906004016142f3565b5f604051808303815f875af1158015610ca0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cc79190810190613c4a565b90505f5b8251811015610d4857818181518110610ce657610ce661389e565b60200260200101517f69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f848381518110610d2157610d2161389e565b602002602001015186604051610d38929190614356565b60405180910390a2600101610ccb565b50610d568686868585610e9e565b50505050505050565b5f8063ffffffff881660ff60208a901c16818603610ddf57808503610d8c57866001935093505050610e93565b80851115610dc057610d9e81866140a1565b610da990600a61444b565b610db3908861446a565b6001935093505050610e93565b610dca85826140a1565b610dd590600a61444b565b610db3908861447d565b6001600160a01b038916610dfa575f5f935093505050610e93565b610e8a87610e0983600a61444b565b604051631df139fd60e11b8152600481018c9052602481018a905260448101869052606481018990526001600160a01b038d1690633be273fa90608401602060405180830381865afa158015610e61573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613d5e565b611e3c565b93506001925050505b965096945050505050565b5f5f5b8351811015610ee657838181518110610ebc57610ebc61389e565b60200260200101516101400151515f14610ede5781610eda81614494565b9250505b600101610ea1565b50805f03610ef45750611078565b5f816001600160401b03811115610f0d57610f0d612f4f565b604051908082528060200260200182016040528015610f5257816020015b604080518082019091525f815260606020820152815260200190600190039081610f2b5790505b5090505f5f5b855181101561101657858181518110610f7357610f7361389e565b60200260200101516101400151515f1461100e57604051806040016040528060a0878481518110610fa657610fa661389e565b6020026020010151901b896001600160a01b0316178152602001878381518110610fd257610fd261389e565b60200260200101516101400151815250838381518110610ff457610ff461389e565b6020026020010181905250818061100a90614494565b9250505b600101610f58565b50604051638a36dffd60e01b81526001600160a01b03891690638a36dffd90611047908a905f9087906004016144ac565b5f604051808303815f87803b15801561105e575f5ffd5b505af1158015611070573d5f5f3e3d5ffd5b505050505050505b5050505050565b604051609160f51b6020820152602281018290526060905f9060420160405160208183030381529060405290505f6110b682611f11565b905084816040516020016110cb92919061454b565b604051602081830303815290604052925050505b92915050565b5f6060602583511161110857505060408051602081019091525f8082529061127e565b5f8361111660046020613e3a565b815181106111265761112661389e565b0160209081015160f81c91505b5f85611140600484613e3a565b815181106111505761115061389e565b01602001516001600160f81b03191614801590611176575061117360208361447d565b81105b1561127b575f85611188600484613e3a565b815181106111985761119861389e565b016020908101518784019091015160f89190911c91506001600160e01b031980891690821603611271575f6111ce60208661447d565b6111d9600986613e3a565b10158061120e5750876111ed600986613e3a565b815181106111fd576111fd61389e565b01602001516001600160f81b031916155b61124757602088611220600987613e3a565b815181106112305761123061389e565b0160200151611242919060f81c61447d565b61124a565b87515b905060016112638961125d60208761447d565b8461209d565b96509650505050505061127e565b5050600501611133565b50505b9250929050565b6112938484848460016120e9565b6112bb57604051635274afe760e01b81526001600160a01b03851660048201526024016107c3565b50505050565b6040516369e11cc560e01b8152600481018690525f6024820181905260448201859052906001600160a01b038816906369e11cc5906064015f60405180830381865afa158015611313573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261133a919081019061455f565b5f939091506001600160a01b03861661eeee1490633b9aca0090855b84518110156113fa575f61138d838784815181106113765761137661389e565b60200260200101515f015163ffffffff1686611e3c565b905080156113c95780830392506113c28d8784815181106113b0576113b061389e565b60200260200101518c848f8e8d612156565b8103880197505b8582815181106113db576113db61389e565b60209081029190910101515163ffffffff169093039250600101611356565b506114058682613e3a565b905080156115d857604051630862026560e41b8152600481018a90526001600160a01b0389811660248301525f91908d1690638620265090604401602060405180830381865afa15801561145b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147f9190613ccf565b90506001600160a01b0381166114c15760405163200bf9ff60e11b8152600481018b90526001600160a01b038a166024820152604481018390526064016107c3565b831561158c57806001600160a01b0316639e6eec05838c8c865f60405180602001604052805f8152506040518763ffffffff1660e01b815260040161150a959493929190614673565b5f604051808303818588803b158015611521575f5ffd5b505af193505050508015611533575060015b611587573d808015611560576040519150601f19603f3d011682016040523d82523d5f602084013e611565565b606091505b508a8a84836040516333e3da8b60e11b81526004016107c394939291906146b4565b611070565b5f5f61159a838c8e8761289c565b9150915080515f1415806115ae5750838214155b156115d4578b8b85836040516333e3da8b60e11b81526004016107c394939291906146b4565b5050505b5050505050505050505050565b60408051808201909152600381526270617960e81b6020909101525f606080828061166988841b7fadc756803e4eb4ccfb136b73d5f72e3dc0d452d30ae1f4bc82af394c73ce71151888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110e592505050565b915091508161168e575f60405180602001604052805f81525094509450505050611932565b808060200190518101906116a29190613dd9565b905080935050505080515f036116ca57505060408051602081019091525f8082529150611932565b5f81516001600160401b038111156116e4576116e4612f4f565b60405190808252806020026020018201604052801561170d578160200160208202803683370190505b5090505f82516001600160401b0381111561172a5761172a612f4f565b604051908082528060200260200182016040528015611753578160200160208202803683370190505b5090505f5f5b84518110156118fb575f5f5f8e6001600160a01b0316631923fe698f8a87815181106117875761178761389e565b60200260200101516040518363ffffffff1660e01b81526004016117c49291906001600160a01b0392909216825261ffff16602082015260400190565b606060405180830381865afa1580156117df573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180391906146e0565b9250925092508163ffffffff165f146118ed576001600160681b03831660ff821615611845576118388160ff841660c8611e3c565b61184290826140a1565b90505b8885815181106118575761185761389e565b60200260200101518887815181106118715761187161389e565b61ffff909216602092830291909101909101526118998163ffffffff8516633b9aca00611e3c565b8787815181106118ab576118ab61389e565b6020026020010181815250508686815181106118c9576118c961389e565b60200260200101518b6118dc9190613e3a565b9a50856118e881614494565b965050505b836001019350505050611759565b50801561192d57808352808252828260405160200161191b92919061472a565b60405160208183030381529060405294505b505050505b9550959350505050565b848460ff602086901c1663ffffffff861661195d60a0860160808701614782565b63ffffffff1614611b0b576001600160a01b03851661197f575f925050611932565b5f6001600160a01b038616633be273fa60c08701356119a460a0890160808a01614782565b63ffffffff8b166119bb60808b0160608c0161479d565b6040516001600160e01b031960e087901b168152600481019490945263ffffffff929092166024840152604483015260ff166064820152608401602060405180830381865afa158015611a10573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a349190613d5e565b90505f611a4283600a61444b565b90505f5f85806020019051810190611a5a91906147b8565b915091505f96505f5b8151811015611add57611a90828281518110611a8157611a8161389e565b60200260200101518686611e3c565b828281518110611aa257611aa261389e565b602002602001018181525050818181518110611ac057611ac061389e565b602002602001015188611ad39190613e3a565b9750600101611a63565b508181604051602001611af192919061472a565b604051602081830303815290604052955050505050611c98565b80611b1c608086016060870161479d565b60ff1614611c98575f5f83806020019051810190611b3a91906147b8565b915091505f94505f5b8151811015611c705783611b5d6080890160608a0161479d565b60ff161115611bd65783611b776080890160608a0161479d565b60ff16611b8491906140a1565b611b8f90600a61444b565b828281518110611ba157611ba161389e565b6020026020010151611bb3919061447d565b828281518110611bc557611bc561389e565b602002602001018181525050611c41565b611be6608088016060890161479d565b611bf39060ff16856140a1565b611bfe90600a61444b565b828281518110611c1057611c1061389e565b6020026020010151611c22919061446a565b828281518110611c3457611c3461389e565b6020026020010181815250505b818181518110611c5357611c5361389e565b602002602001015186611c669190613e3a565b9550600101611b43565b508181604051602001611c8492919061472a565b604051602081830303815290604052935050505b60a0840135831115611d8057815115611d78575f5f83806020019051810190611cc191906147b8565b5f969193509150855b8251811015611d4b57611cfe838281518110611ce857611ce861389e565b6020026020010151896040016060013584611e3c565b838281518110611d1057611d1061389e565b602002602001018181525050828181518110611d2e57611d2e61389e565b602002602001015187611d419190613e3a565b9650600101611cca565b508282604051602001611d5f92919061472a565b6040516020818303038152906040529450505050611d80565b60a084013592505b509550959350505050565b5f831580611e015750604051634228826f60e11b81526001600160a01b03838116600483015284169063845104de9060240160a060405180830381865afa158015611dd8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dfc9190613e4d565b608001515b15611e0d575084611e33565b83851115611e3057611e2986611e2386886140a1565b87611e3c565b9050611e33565b505f5b95945050505050565b5f80805f19858709858702925082811083820303915050805f03611e7357838281611e6957611e69614456565b0492505050611f0a565b838110611ea457604051630c740aef60e31b81526004810187905260248101869052604481018590526064016107c3565b5f848688098519600190810187169687900496828603819004959092119093035f82900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b606081515f03611f3357604080515f80825260208201909252905b5092915050565b60408051602e8082526105e082019092525f91602082016105c0803683370190505090505f815f81518110611f6a57611f6a61389e565b60ff9092166020928302919091019091015282516001905f5b81811015612082575f868281518110611f9e57611f9e61389e565b016020015160f81c90505f5b8460ff16811015612027576008868281518110611fc957611fc961389e565b602002602001015160ff16901b82611fe19190613e3a565b9150611fee603a83614811565b8682815181106120005761200061389e565b60ff9092166020928302919091019091015261201d603a8361446a565b9150600101611faa565b505b80156120795761203a603a82614811565b858560ff168151811061204f5761204f61389e565b60ff90921660209283029190910190910152600190930192612072603a8261446a565b9050612029565b50600101611f83565b50611e3361209861209385856129de565b612a83565b612b23565b60608282036040519150601f19601f6020838501010116604052808252836020860101602083015f5b838110156120de5782810151828201526020016120c6565b505050509392505050565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612145578383151615612139573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b60a08601515f906001600160a01b0387811661eeee14911615612433575f6040518060c00160405280896001600160a01b031681526020018881526020018581526020018781526020018681526020018a815250905081156122835760a08901516040516318b4127160e31b815247916001600160a01b03169063c5a09388908a906121e6908690600401614824565b5f604051808303818588803b1580156121fd575f5ffd5b505af19350505050801561220f575060015b61226f573d80801561223c576040519150601f19603f3d011682016040523d82523d5f602084013e612241565b606091505b50875f5160206149d45f395f51905f528c8b84336040516122659493929190614871565b60405180910390a2505b61227947826140a1565b9350505050612891565b6040516370a0823160e01b81523060048201525f906001600160a01b038a16906370a0823190602401602060405180830381865afa1580156122c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122eb9190613d5e565b90506122fc898b60a001518a612bf9565b8960a001516001600160a01b031663c5a09388836040518263ffffffff1660e01b815260040161232c9190614824565b5f604051808303815f87803b158015612343575f5ffd5b505af1925050508015612354575060015b6123b4573d808015612381576040519150601f19603f3d011682016040523d82523d5f602084013e612386565b606091505b50875f5160206149d45f395f51905f528c8b84336040516123aa9493929190614871565b60405180910390a2505b6123c3898b60a001515f612bf9565b6040516370a0823160e01b81523060048201526001600160a01b038a16906370a0823190602401602060405180830381865afa158015612405573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124299190613d5e565b61227990826140a1565b60208801516001600160401b031615612714576020880151604051630862026560e41b81526001600160401b0390911660048201526001600160a01b0388811660248301525f91908b1690638620265090604401602060405180830381865afa1580156124a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c69190613ccf565b90506001600160a01b0381166124e0575f92505050612891565b88606001511561262e5781156125d357806001600160a01b0316639e6eec05888b602001518b8b5f60405180602001604052805f8152506040518763ffffffff1660e01b81526004016125379594939291906148b2565b5f604051808303818588803b15801561254e575f5ffd5b505af193505050508015612560575060015b6125c9573d80801561258d576040519150601f19603f3d011682016040523d82523d5f602084013e612592565b606091505b50865f5160206149d45f395f51905f528b8a84336040516125b69493929190614871565b60405180910390a25f9350505050612891565b8692505050612891565b60606125ee828a8c602001516001600160401b03168b61289c565b805191955091501561262657865f5160206149d45f395f51905f528b8a843360405161261d9493929190614871565b60405180910390a25b505050612891565b81156126f457806001600160a01b031663fef43257888b602001518b8b8e604001515f60405180602001604052805f8152506040518863ffffffff1660e01b8152600401612681969594939291906148fc565b60206040518083038185885af1935050505080156126bc575060408051601f3d908101601f191682019092526126b991810190613d5e565b60015b6126e9573d80801561258d576040519150601f19603f3d011682016040523d82523d5f602084013e612592565b508692505050612891565b60606125ee828a8c602001516001600160401b03168b8e60400151612c78565b60408801516001600160a01b03161561288c578015612798575f88604001516001600160a01b0316876040515f6040518083038185875af1925050503d805f811461277a576040519150601f19603f3d011682016040523d82523d5f602084013e61277f565b606091505b5050905080612792575f92505050612891565b50612883565b5f5f886001600160a01b03168a60400151896040516024016127cf9291906001600160a01b03929092168252602082015260400190565b60408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251612804919061495f565b5f604051808303815f865af19150503d805f811461283d576040519150601f19603f3d011682016040523d82523d5f602084013e612842565b606091505b5091509150811580612870575080511580159061287057508080602001905181019061286e919061496a565b155b15612880575f9350505050612891565b50505b85915050612891565b5f9150505b979650505050505050565b5f60606128aa858785612bf9565b604080516020810182525f8082529151639e6eec0560e01b81526001600160a01b03891691639e6eec05916128ea9189918b918a91889190600401614673565b5f604051808303815f87803b158015612901575f5ffd5b505af1925050508015612912575060015b61294c573d80801561293f576040519150601f19603f3d011682016040523d82523d5f602084013e612944565b606091505b509150612950565b5060015b80156129c957604051636eb1769f60e11b81523060048201526001600160a01b03888116602483015287169063dd62ed3e90604401602060405180830381865afa1580156129a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129c49190613d5e565b840392505b6129d486885f612bf9565b5094509492505050565b60605f8260ff166001600160401b038111156129fc576129fc612f4f565b604051908082528060200260200182016040528015612a25578160200160208202803683370190505b5090505f5b8360ff16811015612a7b57848181518110612a4757612a4761389e565b6020026020010151828281518110612a6157612a6161389e565b60ff90921660209283029190910190910152600101612a2a565b509392505050565b80516060905f816001600160401b03811115612aa157612aa1612f4f565b604051908082528060200260200182016040528015612aca578160200160208202803683370190505b5090505f5b82811015612a7b57848160018751030381518110612aef57612aef61389e565b6020026020010151828281518110612b0957612b0961389e565b60ff90921660209283029190910190910152600101612acf565b80516060905f816001600160401b03811115612b4157612b41612f4f565b6040519080825280601f01601f191660200182016040528015612b6b576020820181803683370190505b5090505f5b82811015612a7b576040518060600160405280603a81526020016149f4603a9139858281518110612ba357612ba361389e565b602002602001015160ff1681518110612bbe57612bbe61389e565b602001015160f81c60f81b828281518110612bdb57612bdb61389e565b60200101906001600160f81b03191690815f1a905350600101612b70565b612c058383835f612dc5565b612c7357612c1683835f6001612dc5565b612c3e57604051635274afe760e01b81526001600160a01b03841660048201526024016107c3565b612c4b8383836001612dc5565b612c7357604051635274afe760e01b81526001600160a01b03841660048201526024016107c3565b505050565b5f6060612c86868886612bf9565b604080516020810182525f808252915163fef4325760e01b81526001600160a01b038a169163fef4325791612cc7918a918c918b918b918991600401614985565b6020604051808303815f875af1925050508015612d01575060408051601f3d908101601f19168201909252612cfe91810190613d5e565b60015b612d3b573d808015612d2e576040519150601f19603f3d011682016040523d82523d5f602084013e612d33565b606091505b509150612d41565b50600190505b8015612dba57604051636eb1769f60e11b81523060048201526001600160a01b03898116602483015288169063dd62ed3e90604401602060405180830381865afa158015612d91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db59190613d5e565b850392505b611d8087895f612bf9565b60405163095ea7b360e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316612e1b578383151615612e0f573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6001600160a01b0381168114612e3b575f5ffd5b50565b8035612e4981612e27565b919050565b5f5f83601f840112612e5e575f5ffd5b5081356001600160401b03811115612e74575f5ffd5b6020830191508360208260051b850101111561127e575f5ffd5b5f5f5f5f5f5f5f5f5f60e08a8c031215612ea6575f5ffd5b8935612eb181612e27565b985060208a0135612ec181612e27565b975060408a0135965060608a0135612ed881612e27565b955060808a0135612ee881612e27565b945060a08a01356001600160401b03811115612f02575f5ffd5b612f0e8c828d01612e4e565b90955093505060c08a01356001600160401b03811115612f2c575f5ffd5b612f388c828d01612e4e565b915080935050809150509295985092959850929598565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715612f8557612f85612f4f565b60405290565b60405160c081016001600160401b0381118282101715612f8557612f85612f4f565b60405161016081016001600160401b0381118282101715612f8557612f85612f4f565b604051601f8201601f191681016001600160401b0381118282101715612ff857612ff8612f4f565b604052919050565b5f6001600160401b0382111561301857613018612f4f565b50601f01601f191660200190565b5f5f5f5f60808587031215613039575f5ffd5b843561304481612e27565b9350602085013561305481612e27565b925060408501356001600160401b0381111561306e575f5ffd5b8501601f8101871361307e575f5ffd5b803561309161308c82613000565b612fd0565b8181528860208385010111156130a5575f5ffd5b816020840160208301375f91810160200191909152949793965093946060013593505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611f0a60208301846130cb565b5f5f5f5f6080858703121561311e575f5ffd5b843561312981612e27565b93506020850135925060408501359150606085013561314781612e27565b939692955090935050565b5f5f83601f840112613162575f5ffd5b5081356001600160401b03811115613178575f5ffd5b60208301915083602082850101111561127e575f5ffd5b5f5f5f5f5f5f5f5f60e0898b0312156131a6575f5ffd5b88356131b181612e27565b975060208901356131c181612e27565b96506040890135955060608901356131d881612e27565b945060808901356131e881612e27565b935060a0890135925060c08901356001600160401b03811115613209575f5ffd5b6132158b828c01613152565b999c989b5096995094979396929594505050565b606080825284519082018190525f9060208601906080840190835b81811015613262578351835260209384019390920191600101613244565b5050838103602080860191909152865180835291810192508601905f5b818110156132a157825161ffff1684526020938401939092019160010161327f565b505050604092909201929092529392505050565b5f5f5f5f5f5f5f5f5f6101008a8c0312156132ce575f5ffd5b89356132d981612e27565b985060208a01356132e981612e27565b975060408a0135965060608a013561330081612e27565b955060808a013561331081612e27565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115613338575f5ffd5b612f388c828d01613152565b5f5f5f5f5f60a08688031215613358575f5ffd5b853561336381612e27565b9450602086013561337381612e27565b935060408601359250606086013561338a81612e27565b915060808601356001600160401b038111156133a4575f5ffd5b860161018081890312156133b6575f5ffd5b809150509295509295909350565b85815284602082015260a060408201525f6133e260a08301866130cb565b6001600160a01b0394909416606083015250608001529392505050565b5f6001600160401b0382111561341757613417612f4f565b5060051b60200190565b6001600160681b0381168114612e3b575f5ffd5b8035612e4981613421565b63ffffffff81168114612e3b575f5ffd5b8035612e4981613440565b61ffff81168114612e3b575f5ffd5b8035612e498161345c565b803562ffffff81168114612e49575f5ffd5b60ff81168114612e3b575f5ffd5b8035612e4981613488565b8015158114612e3b575f5ffd5b8035612e49816134a1565b5f60e082840312156134c9575f5ffd5b6134d1612f63565b905081356134de816134a1565b815260208201356134ee816134a1565b60208201526040820135613501816134a1565b60408201526060820135613514816134a1565b6060820152613525608083016134ae565b608082015261353660a083016134ae565b60a082015261354760c083016134ae565b60c082015292915050565b6001600160401b0381168114612e3b575f5ffd5b65ffffffffffff81168114612e3b575f5ffd5b8035612e4981613566565b5f82601f830112613593575f5ffd5b81356135a161308c826133ff565b80828252602082019150602060c084028601019250858311156135c2575f5ffd5b602085015b838110156136625760c081880312156135de575f5ffd5b6135e6612f8b565b81356135f181613440565b8152602082013561360181613552565b6020820152604082013561361481612e27565b60408201526060820135613627816134a1565b6060820152608082013561363a81613566565b608082015260a082013561364d81612e27565b60a0820152835260209092019160c0016135c7565b5095945050505050565b5f61367961308c846133ff565b838152905060208101600584901b830185811115613695575f5ffd5b835b818110156137ab5780356001600160401b038111156136b4575f5ffd5b850161022081890312156136c6575f5ffd5b6136ce612fad565b6136d782613435565b81526136e560208301613451565b60208201526136f660408301613451565b60408201526137076060830161346b565b606082015261371860808301612e3e565b608082015260a0828101359082015261373360c08301613476565b60c082015261374460e08301613496565b60e08201526137578961010084016134b9565b61010082015261376a6101e08301613451565b6101208201526102008201356001600160401b03811115613789575f5ffd5b6137958a828501613584565b6101408301525084525060209283019201613697565b5050509392505050565b5f5f5f5f5f5f60c087890312156137ca575f5ffd5b86356137d581612e27565b955060208701356137e581612e27565b94506040870135935060608701356137fc81612e27565b9250608087013561380c81612e27565b915060a08701356001600160401b03811115613826575f5ffd5b8701601f81018913613836575f5ffd5b6138458982356020840161366c565b9150509295509295509295565b5f5f5f5f5f5f60c08789031215613867575f5ffd5b86359550602087013561387981612e27565b95989597505050506040840135936060810135936080820135935060a0909101359150565b634e487b7160e01b5f52603260045260245ffd5b602080825281018290525f6001600160fb1b038311156138d0575f5ffd5b8260051b80856040850137919091016040019392505050565b80356138f4816134a1565b151582526020810135613906816134a1565b15156020830152604081013561391b816134a1565b1515604083015261392e606082016134ae565b15156060830152613941608082016134ae565b1515608083015261395460a082016134ae565b151560a083015261396760c082016134ae565b80151560c0840152505050565b5f5f8335601e19843603018112613989575f5ffd5b83016020810192503590506001600160401b038111156139a7575f5ffd5b60c08102360382131561127e575f5ffd5b8183526020830192505f815f5b84811015613a735781356139d881613440565b63ffffffff16865260208201356139ee81613552565b6001600160401b031660208701526040820135613a0a81612e27565b6001600160a01b031660408701526060820135613a26816134a1565b15156060870152613a3960808301613579565b65ffffffffffff166080870152613a5260a08301612e3e565b6001600160a01b031660a087015260c09586019591909101906001016139c5565b5093949350505050565b613a9782613a8a83613435565b6001600160681b03169052565b5f613aa460208301613451565b63ffffffff166020840152613abb60408301613451565b63ffffffff166040840152613ad26060830161346b565b61ffff166060840152613ae760808301612e3e565b6001600160a01b0316608084015260a08281013590840152613b0b60c08301613476565b62ffffff1660c0840152613b2160e08301613496565b60ff1660e0840152613b3a6101008085019084016138e9565b613b476101e08301613451565b63ffffffff166101e0840152613b61610200830183613974565b610220610200860152611e33610220860182846139b8565b602080825281018290525f6040600584901b83018101908301858361021e1936839003015b87821015613be257868503603f190184528235818112613bbc575f5ffd5b613bc8868b8301613a7d565b955050602083019250602084019350600182019150613b9e565b5092979650505050505050565b5f82601f830112613bfe575f5ffd5b8151613c0c61308c826133ff565b8082825260208201915060208360051b860101925085831115613c2d575f5ffd5b602085015b83811015613662578051835260209283019201613c32565b5f60208284031215613c5a575f5ffd5b81516001600160401b03811115613c6f575f5ffd5b61051d84828501613bef565b5f823561021e19833603018112613c90575f5ffd5b9190910192915050565b604081525f613cac6040830185613a7d565b905060018060a01b03831660208301529392505050565b5f611f0a36848461366c565b5f60208284031215613cdf575f5ffd5b8151611f0a81612e27565b5f60208284031215613cfa575f5ffd5b81516001600160401b03811115613d0f575f5ffd5b8201601f81018413613d1f575f5ffd5b8051613d2d61308c82613000565b818152856020838501011115613d41575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215613d6e575f5ffd5b5051919050565b5f82601f830112613d84575f5ffd5b8151613d9261308c826133ff565b8082825260208201915060208360051b860101925085831115613db3575f5ffd5b602085015b83811015613662578051613dcb8161345c565b835260209283019201613db8565b5f5f60408385031215613dea575f5ffd5b8251613df5816134a1565b60208401519092506001600160401b03811115613e10575f5ffd5b613e1c85828601613d75565b9150509250929050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156110df576110df613e26565b5f60a0828403128015613e5e575f5ffd5b5060405160a081016001600160401b0381118282101715613e8157613e81612f4f565b6040528251613e8f816134a1565b81526020830151613e9f816134a1565b60208201526040830151613eb2816134a1565b60408201526060830151613ec5816134a1565b60608201526080830151613ed8816134a1565b60808201529392505050565b5f8151808452602084019350602083015f5b82811015613a7357815161ffff16865260209586019590910190600101613ef6565b838152606060208201525f613f306060830185613ee4565b90508215156040830152949350505050565b5f5f5f60608486031215613f54575f5ffd5b83516001600160401b03811115613f69575f5ffd5b613f7586828701613bef565b60208601516040909601519097959650949350505050565b5f82601f830112613f9c575f5ffd5b8135613faa61308c826133ff565b8082825260208201915060208360051b860101925085831115613fcb575f5ffd5b602085015b83811015613662578035835260209283019201613fd0565b5f5f60408385031215613ff9575f5ffd5b82356001600160401b0381111561400e575f5ffd5b8301601f8101851361401e575f5ffd5b803561402c61308c826133ff565b8082825260208201915060208360051b85010192508783111561404d575f5ffd5b6020840193505b828410156140785783356140678161345c565b825260209384019390910190614054565b945050505060208301356001600160401b03811115614095575f5ffd5b613e1c85828601613f8d565b818103818111156110df576110df613e26565b5f5f8335601e198436030181126140c9575f5ffd5b8301803591506001600160401b038211156140e2575f5ffd5b60200191503681900382131561127e575f5ffd5b5f60208284031215614106575f5ffd5b8135611f0a81612e27565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015161415a60a084018215159052565b5060c0810151612c7360c084018215159052565b805163ffffffff1682526020808201516001600160401b0316908301526040808201516001600160a01b039081169184019190915260608083015115159084015260808083015165ffffffffffff169084015260a09182015116910152565b5f8151808452602084019350602083015f5b82811015613a73576141f286835161416e565b60c09590950194602091909101906001016141df565b80516001600160681b031682525f602082015161422d602085018263ffffffff169052565b506040820151614245604085018263ffffffff169052565b50606082015161425b606085018261ffff169052565b50608082015161427660808501826001600160a01b03169052565b5060a082015160a084015260c082015161429760c085018262ffffff169052565b5060e08201516142ac60e085018260ff169052565b506101008201516142c1610100850182614111565b5061012082015163ffffffff81166101e08501525061014082015161022061020085015261051d6102208501826141cd565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561434a57603f19878603018452614335858351614208565b94506020938401939190910190600101614319565b50929695505050505050565b604081525f613cac6040830185614208565b6001815b60018411156143a35780850481111561438757614387613e26565b600184161561439557908102905b60019390931c92800261436c565b935093915050565b5f826143b9575060016110df565b816143c557505f6110df565b81600181146143db57600281146143e557614401565b60019150506110df565b60ff8411156143f6576143f6613e26565b50506001821b6110df565b5060208310610133831016604e8410600b8410161715614424575081810a6110df565b6144305f198484614368565b805f190482111561444357614443613e26565b029392505050565b5f611f0a83836143ab565b634e487b7160e01b5f52601260045260245ffd5b5f8261447857614478614456565b500490565b80820281158282048414176110df576110df613e26565b5f600182016144a5576144a5613e26565b5060010190565b5f606082018583528460208401526060604084015280845180835260808501915060808160051b8601019250602086015f5b8281101561452657607f19878603018452815180518652602081015190506040602087015261451060408701826141cd565b95505060209384019391909101906001016144de565b509298975050505050505050565b5f81518060208401855e5f93019283525090919050565b5f61051d6145598386614534565b84614534565b5f6020828403121561456f575f5ffd5b81516001600160401b03811115614584575f5ffd5b8201601f81018413614594575f5ffd5b80516145a261308c826133ff565b80828252602082019150602060c084028501019250868311156145c3575f5ffd5b6020840193505b828410156146695760c084880312156145e1575f5ffd5b6145e9612f8b565b84516145f481613440565b8152602085015161460481613552565b6020820152604085015161461781612e27565b6040820152606085015161462a816134a1565b6060820152608085015161463d81613566565b608082015260a085015161465081612e27565b60a0820152825260c093909301926020909101906145ca565b9695505050505050565b85815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61289160e08301846130cb565b84815260018060a01b0384166020820152826040820152608060608201525f61466960808301846130cb565b5f5f5f606084860312156146f2575f5ffd5b83516146fd81613421565b602085015190935061470e81613440565b604085015190925061471f81613488565b809150509250925092565b604081525f61473c6040830185613ee4565b82810360208401528084518083526020830191506020860192505f5b81811015614776578351835260209384019390920191600101614758565b50909695505050505050565b5f60208284031215614792575f5ffd5b8135611f0a81613440565b5f602082840312156147ad575f5ffd5b8135611f0a81613488565b5f5f604083850312156147c9575f5ffd5b82516001600160401b038111156147de575f5ffd5b6147ea85828601613d75565b92505060208301516001600160401b03811115614805575f5ffd5b613e1c85828601613bef565b5f8261481f5761481f614456565b500690565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a082810151610160830191611f2c9084018261416e565b61487b818661416e565b8360c082015261012060e08201525f6148986101208301856130cb565b905060018060a01b03831661010083015295945050505050565b6001600160401b038616815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61289160e08301846130cb565b6001600160401b03871681526001600160a01b03868116602083015260408201869052841660608201526080810183905260e060a082018190525f90820181905261010060c08301819052614953908301846130cb565b98975050505050505050565b5f611f0a8284614534565b5f6020828403121561497a575f5ffd5b8151611f0a816134a1565b8681526001600160a01b03868116602083015260408201869052841660608201526080810183905260e060a082018190525f90820181905261010060c08301819052614953908301846130cb56fe66801396c588b520bd3bcfb2e638b273ffffea3c6015e2b900cecf1d4d341e5131323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa164736f6c634300081c000a",
|
|
714
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookLib_NoTerminalForLeftover\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookLib_SplitAmountMismatch\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"type\":\"error\",\"name\":\"JB721TiersHookLib_SplitFallbackFailed\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierIdCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountCount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookLib_SplitMetadataLengthMismatch\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"receivedAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHookLib_TokenTransferAmountMismatch\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"restrictedCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"freshValue\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_CantBuyWithCredits\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_Overspending\"},{\"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\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"struct JB721TierConfig\",\"name\":\"tier\",\"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\"}]}],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"AddTier\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RemoveTier\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"discountPercent\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetDiscountPercent\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"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\"}],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SplitPayoutReverted\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"contract IJB721TiersHookStore\",\"name\":\"store\",\"type\":\"IJB721TiersHookStore\"},{\"internalType\":\"address\",\"name\":\"metadataIdTarget\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packedPricingContext\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"IJBPrices\"},{\"internalType\":\"struct JBBeforePayRecordedContext\",\"name\":\"context\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedPercent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"computeSplitsAndWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSplitAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"splitMetadata\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"splitCreditWeight\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packedPricingContext\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"IJBPrices\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountDecimals\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"normalizePaymentValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"contract IJB721TiersHookStore\",\"name\":\"store\",\"type\":\"IJB721TiersHookStore\"},{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"resolveTokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"adjustTiersFor(IJB721TiersHookStore,IJBSplits,uint256,address,address,JB721TierConfig[],uint256[])\":{\"details\":\"Called via DELEGATECALL from the hook, so events are emitted from the hook's address.\",\"params\":{\"caller\":\"The msg.sender of the original call (for event emission).\",\"hookAddress\":\"The hook address.\",\"projectId\":\"The project ID.\",\"splits\":\"The splits contract to register tier split groups in.\",\"store\":\"The 721 tiers hook store.\",\"tierIdsToRemove\":\"The tier IDs to remove.\",\"tiersToAdd\":\"The tier configs to add.\"}},\"computeSplitsAndWeight(IJB721TiersHookStore,address,uint256,IJBPrices,JBBeforePayRecordedContext)\":{\"details\":\"Called via DELEGATECALL from the hook; uses address(this) as the hook address.\",\"params\":{\"context\":\"The full payment context.\",\"metadataIdTarget\":\"The metadata ID target for resolving pay metadata.\",\"packedPricingContext\":\"The packed pricing context (currency, decimals).\",\"prices\":\"The prices contract used for currency conversion.\",\"store\":\"The 721 tiers hook store.\"},\"returns\":{\"beneficiary\":\"The resolved beneficiary address.\",\"splitCreditWeight\":\"The weight attributable to tier splits when `issueTokensForSplits` is true. Zero when splits are absent or `issueTokensForSplits` is false.\",\"splitMetadata\":\"Encoded per-tier breakdown (tierIds, amounts).\",\"totalSplitAmount\":\"The total amount to forward for splits.\",\"weight\":\"The adjusted weight for token minting.\"}},\"distributeAll(IJBDirectory,IJBSplits,uint256,address,address,uint256,uint256,bytes)\":{\"details\":\"For ERC-20 tokens, pulls from the terminal using the allowance it granted via _beforeTransferTo.\",\"params\":{\"amount\":\"The total amount to distribute.\",\"decimals\":\"The token decimals.\",\"directory\":\"The directory to look up terminals.\",\"encodedSplitData\":\"The encoded per-tier breakdown from hookMetadata.\",\"hookAddress\":\"The hook address (for computing split group IDs).\",\"projectId\":\"The project ID of the hook.\",\"splits\":\"The splits contract to read tier split groups from.\",\"token\":\"The token to distribute.\"}},\"normalizePaymentValue(uint256,IJBPrices,uint256,uint256,uint256,uint256)\":{\"params\":{\"amountCurrency\":\"The payment amount currency.\",\"amountDecimals\":\"The payment amount decimals.\",\"amountValue\":\"The payment amount value.\",\"packedPricingContext\":\"The packed pricing context (currency, decimals).\",\"prices\":\"The prices contract used for currency conversion.\",\"projectId\":\"The project ID.\"},\"returns\":{\"valid\":\"Whether the value is valid (false means no prices contract and currencies differ).\",\"value\":\"The normalized value.\"}},\"prepareMint(IJB721TiersHookStore,address,uint256,address,address,uint256,bytes)\":{\"details\":\"Called via DELEGATECALL from the hook; uses address(this) as the hook address. Reverts with JB721TiersHook_CantBuyWithCredits or JB721TiersHook_Overspending on failure.\",\"params\":{\"beneficiary\":\"The address to mint NFTs to and track credits for.\",\"metadataIdTarget\":\"The metadata ID target for resolving pay metadata.\",\"payCredits\":\"The beneficiary's current pay credits balance.\",\"payer\":\"The address that initiated the payment.\",\"payerMetadata\":\"The metadata provided by the payer.\",\"store\":\"The 721 tiers hook store.\",\"value\":\"The normalized payment value.\"},\"returns\":{\"newPayCredits\":\"The beneficiary's updated pay credits balance.\",\"tierIdsToMint\":\"The tier IDs corresponding to each minted token (empty if none).\",\"tokenIds\":\"The token IDs minted (empty if none).\"}},\"recordAddTiersFor(IJB721TiersHookStore,IJBSplits,uint256,address,address,JB721TierConfig[])\":{\"details\":\"Used during initialization when tier configs are in memory.\",\"params\":{\"caller\":\"The msg.sender of the original call (for event emission).\",\"hookAddress\":\"The hook address.\",\"projectId\":\"The project ID.\",\"splits\":\"The splits contract to register tier split groups in.\",\"store\":\"The 721 tiers hook store.\",\"tiersToAdd\":\"The tier configs to add.\"}},\"resolveTokenURI(IJB721TiersHookStore,address,string,uint256)\":{\"details\":\"Extracted to the library to keep JBIpfsDecoder bytecode out of the hook contract (EIP-170 compliance).\",\"params\":{\"baseUri\":\"The base URI for IPFS-based token URIs.\",\"hook\":\"The hook address.\",\"store\":\"The 721 tiers hook store.\",\"tokenId\":\"The token ID to resolve the URI for.\"},\"returns\":{\"_0\":\"The resolved token URI string.\"}},\"setDiscountPercentOf(IJB721TiersHookStore,uint256,uint256,address)\":{\"params\":{\"caller\":\"The msg.sender of the original call.\",\"discountPercent\":\"The discount percent to set.\",\"store\":\"The 721 tiers hook store.\",\"tierId\":\"The ID of the tier.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"adjustTiersFor(IJB721TiersHookStore,IJBSplits,uint256,address,address,JB721TierConfig[],uint256[])\":{\"notice\":\"Handles the full tier adjustment logic: removes tiers, adds tiers, emits events, and sets splits.\"},\"computeSplitsAndWeight(IJB721TiersHookStore,address,uint256,IJBPrices,JBBeforePayRecordedContext)\":{\"notice\":\"Computes split amounts, weight adjustment, and resolved beneficiary for a payment.\"},\"distributeAll(IJBDirectory,IJBSplits,uint256,address,address,uint256,uint256,bytes)\":{\"notice\":\"Pulls ERC-20 tokens from the terminal (if needed) and distributes forwarded funds to tier splits.\"},\"normalizePaymentValue(uint256,IJBPrices,uint256,uint256,uint256,uint256)\":{\"notice\":\"Normalizes a payment value based on the packed pricing context.\"},\"prepareMint(IJB721TiersHookStore,address,uint256,address,address,uint256,bytes)\":{\"notice\":\"Prepares NFT minting data for a payment: combines credits, decodes metadata, records mint, and checks overspending.\"},\"recordAddTiersFor(IJB721TiersHookStore,IJBSplits,uint256,address,address,JB721TierConfig[])\":{\"notice\":\"Records new tiers, emits events, and sets their split groups.\"},\"resolveTokenURI(IJB721TiersHookStore,address,string,uint256)\":{\"notice\":\"Resolves the token URI for a given NFT token ID.\"},\"setDiscountPercentOf(IJB721TiersHookStore,uint256,uint256,address)\":{\"notice\":\"Set the discount percent for a tier, emitting an event and recording it in the store.\"}},\"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/libraries/JB721TiersHookLib.sol\":\"JB721TiersHookLib\"},\"evmVersion\":\"cancun\",\"libraries\":{}},\"sources\":{\"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/JB721TiersHookLib.sol\":{\"keccak256\":\"0xb7f5ecda551bf67c90fb1b9779fdb61a39deea0327e7263da857acd8f55ad729\",\"urls\":[\"bzz-raw://a22ebf46961a66eb2304cae97241af175d887be4567420d372aee0e9bc788edd\",\"dweb:/ipfs/QmSLmxq1iqFdZAcHAPQKLtvyQTP6bHfwb47GraR2mRMKwo\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0xf03a2003a8b2a0e131233b29d5ec60c8bdcef08fa4fdba660f43d0e106c046b8\",\"urls\":[\"bzz-raw://49864bd095e2fa015a8928e62f612a2c798c9af378ce49929f23d3631c8c4a17\",\"dweb:/ipfs/QmNSDJAmDad6PVhgtgzt8S9zwN5GHXxrFyt7vLvEGf5dQs\"],\"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/core-v6/src/enums/JBApprovalStatus.sol\":{\"keccak256\":\"0x58f3eed8b6ecea6b640f4eb78a5a416ce8737f9155e350ef4077db422b3fca8f\",\"urls\":[\"bzz-raw://0b56bde97ef9d8ec2a3e464202c5d2fee9c39597485b3fb8baaeef971cc63bc8\",\"dweb:/ipfs/QmSdPaNfPm83yibuSvgLbaqgZw7LYkTLhacrxDagH3sprJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0xb8f3ba0a544360b32c9f0a704168ee93c2960accfc010735c8cbea54941e63d5\",\"urls\":[\"bzz-raw://e9f14d5daa2357db4afe96313b40bf0c53c606315c9cb55109fffdc9c2fd85d0\",\"dweb:/ipfs/QmRPHFAiivM9CqdfocRyahdSjfWTbaSepPNCGGQU23ABcv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPayHook.sol\":{\"keccak256\":\"0x08599d439d898566b311bc4bedf7f0050ce25c86e246c43f673f3ab4d2457f21\",\"urls\":[\"bzz-raw://db19e95707920262c79197be9296fe381782220bfaf00b71df3a4271da83832f\",\"dweb:/ipfs/QmYzdomQzXNSk46U5vkiEnDErJJdR17deL4S6hPundstZd\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x3a948500b5397c90e926f3bdef9423e7f095f906b23cd1503009802c80bedb41\",\"urls\":[\"bzz-raw://a0ea0b7e5d442257f6159799b7bf262615b0f04e5cd542b0980f131ae40a63bb\",\"dweb:/ipfs/QmX7uugLaXtT5XmYxqfrmDqU2YuknAeYjHMiLm9iHaRfHw\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xed5e532f6ee86029a1a4a1ba8b593296f772909a5f9d95da6cc6c595a838446f\",\"urls\":[\"bzz-raw://4314cbfe4ebd96a48eaf1c14af860aa08b7cd6a73da10391746b4d3410d13d67\",\"dweb:/ipfs/QmfRkWFbxmJUMew6DsDGbK88PypDBUA6PDTJFvfBaMno5n\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x72c6cbda5a93593e3cc49ef6c4e0848a4b6daa88c188c4192776af86c49911dc\",\"urls\":[\"bzz-raw://448ed5d7a704b5f4dd759514dbcb78160b82732ac6bd7bc368a9f8822045e6de\",\"dweb:/ipfs/QmbnpCPxQLDvQx5ymEy1Ty3aks7bjonydops1CsjCACJBN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesetApprovalHook.sol\":{\"keccak256\":\"0x11dd67effb025396bec1bb97d35a9ba162340e9a824c048e8286802a12acaa45\",\"urls\":[\"bzz-raw://bae11f483c66d98e7fad9bbf47249f6fa4434693e8bace78cbe6d4da9afee009\",\"dweb:/ipfs/QmWjrjPtr8dLGtXQBrz6idwcNqyx2yVSVVQtqo74yqUSZV\"],\"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/interfaces/IJBSplits.sol\":{\"keccak256\":\"0x9d27fe4d9aa6dcbb24a24ee1fc16e51b51fab1c4ab1eace93981e73f3c4ce636\",\"urls\":[\"bzz-raw://7a6a1243102ac23cb1643bcc670b6b16b70566877941233964159f9b37755113\",\"dweb:/ipfs/Qmewa2o3nyoRwZ4pdhWqUh1ShWXA3GHJffiVafcKYXg2Ao\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTerminal.sol\":{\"keccak256\":\"0xa3621c12f7c2e33ee38b5de626a5939190d8a12b1e5318a7cd8d398595480cec\",\"urls\":[\"bzz-raw://1341254389038383117d9b23ed2f9d1812fc30ef1c11cfd6c8423918894d7ba3\",\"dweb:/ipfs/QmV2WJ5a3NW12RnZAM3ySbEfGHNN6GfqqpsMHXorfoxiQo\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xcbdb1448260ebea5937411516957ef199099e34ff997e7f2a617c2898f921994\",\"urls\":[\"bzz-raw://d1cbf97e5684c987be6703c096e8230d870fab25a23eec8d209cd082e3f2637b\",\"dweb:/ipfs/QmNmzeuQoFiaUTQAcV1tyJyjUYEJ3t7386zTw4ofT7HoZM\"],\"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/libraries/JBMetadataResolver.sol\":{\"keccak256\":\"0x8f671604390274457e0d13806f9ca9aab44c784f4492612771bada213ed261bd\",\"urls\":[\"bzz-raw://e10babd77a88bb1e9c09d5a99b3f165ce46cca4b348e23add2dc4d53aefe07d7\",\"dweb:/ipfs/QmTLc2R1o5W3hkxX8avYrWPtf1oMLTtmve1sPujAbtoUtz\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAccountingContext.sol\":{\"keccak256\":\"0xf53e975ce2632558a95d0a57679dbb8afff984d06daaa530cd4c442e467c3403\",\"urls\":[\"bzz-raw://519f7c466c8d90227afe2bd9108e7477412600fea8b4134889795a58a51b156c\",\"dweb:/ipfs/QmaSHMrNLfP8D9RRUaYbMWURdZYweUmt5ysgtTGMZiwnai\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAfterPayRecordedContext.sol\":{\"keccak256\":\"0xcf1761f48e4cbd6eeeb64bb19e434eff50a7f666b2116657f88f63d19620c6de\",\"urls\":[\"bzz-raw://842fe47a4ad56c830040864b458de398efd0cf82eb0add9349e792d0c8b0c275\",\"dweb:/ipfs/QmXBj6EVnzvVX8ZYa2ndyjoSZDGjpXxaoy7dBuoGMaAmRX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBBeforePayRecordedContext.sol\":{\"keccak256\":\"0xa5e4dd0ffa54c8e56f3bb6a437b2e13ef8728ee15aee3d7cb1d0dc96317e75dd\",\"urls\":[\"bzz-raw://fcd2113962a3f34e782090a553f1ba5ace6653bd5d5f932e8bb5279f42bbcb5b\",\"dweb:/ipfs/QmWLhDEprdQsNFmPhmNojRHDhqwG2QMx58AV5j4o56P4mx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBPayHookSpecification.sol\":{\"keccak256\":\"0x28f565b626774c36a990ac999f268fbaf9d7f7861e862fab1fb8301f2534e8d1\",\"urls\":[\"bzz-raw://a5d7375934179178febd3b412099b1a5ff42a154ce8b949df2c11b5f3cb3b80e\",\"dweb:/ipfs/QmXP5vVq8Z6HntiuMcPWfQURCKejyiyHLKYuMmzCuUJJtV\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRuleset.sol\":{\"keccak256\":\"0xd03f45345597fca43effe3bc593572c989f4294d909505e331cbd2640a801d23\",\"urls\":[\"bzz-raw://2cc09b335549f4982c16c1109f3078f09fb81c32370baff007633a38badb7a83\",\"dweb:/ipfs/QmYJHBvXscvokRqzdGdTCRQtHUpnePS2uaCDfgHLuuMo56\"],\"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/JBSplitGroup.sol\":{\"keccak256\":\"0x8dc98fa9e730bee8bcc0a8acf1bc4db1c9b0edf307d969c9c9caa4d6b8d856d9\",\"urls\":[\"bzz-raw://66f4306e0e69c82033927952564fd617e7c4b29aa8b165d5b53a0ebe3109ea12\",\"dweb:/ipfs/QmQqN1u7FHAdEtEZNRcKvZwYtXEQVQnLd6FMzHESP7wDtx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0xa2246f4960ec2b24db3fbfce5d59782cdb9a8fb3c3f832a2c39ddc92859ff170\",\"urls\":[\"bzz-raw://3e3a0ae100c15bb15f0484cb68e3052c3d3d764f84e37020e8dd6b658ff98076\",\"dweb:/ipfs/QmPAv99zN7senrfCMMkeT4RMWpwTdqLgMURQR73BLRe4ZG\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBTokenAmount.sol\":{\"keccak256\":\"0xc61593d33d5ec30e695d382948a1b944d01e29a8f2bfd29f75ecebcdbc7816de\",\"urls\":[\"bzz-raw://8992c1e5fca0c2342ecc0e734dfba6a2a752e4c29184784931d0971e44305051\",\"dweb:/ipfs/QmYNcaW3qeCkgAExUaFTq238fgfJuoYCTwjCn7jm94U4dJ\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098\",\"urls\":[\"bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0\",\"dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f\",\"urls\":[\"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3\",\"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9\"],\"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\"}},\"version\":1}",
|
|
715
|
+
"gitCommit": "npm:@bananapus/721-hook-v6@1.0.1",
|
|
716
|
+
"gitDirty": false,
|
|
717
|
+
"history": []
|
|
718
|
+
}
|