@rev-net/core-v6 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +65 -0
- package/REVNET_SECURITY_CHECKLIST.md +164 -0
- package/SECURITY.md +68 -0
- package/SKILLS.md +166 -0
- package/deployments/revnet-core-v5/arbitrum/REVDeployer.json +2821 -0
- package/deployments/revnet-core-v5/arbitrum/REVLoans.json +2260 -0
- package/deployments/revnet-core-v5/arbitrum_sepolia/REVDeployer.json +2821 -0
- package/deployments/revnet-core-v5/arbitrum_sepolia/REVLoans.json +2260 -0
- package/deployments/revnet-core-v5/base/REVDeployer.json +2825 -0
- package/deployments/revnet-core-v5/base/REVLoans.json +2264 -0
- package/deployments/revnet-core-v5/base_sepolia/REVDeployer.json +2825 -0
- package/deployments/revnet-core-v5/base_sepolia/REVLoans.json +2264 -0
- package/deployments/revnet-core-v5/ethereum/REVDeployer.json +2825 -0
- package/deployments/revnet-core-v5/ethereum/REVLoans.json +2264 -0
- package/deployments/revnet-core-v5/optimism/REVDeployer.json +2821 -0
- package/deployments/revnet-core-v5/optimism/REVLoans.json +2260 -0
- package/deployments/revnet-core-v5/optimism_sepolia/REVDeployer.json +2825 -0
- package/deployments/revnet-core-v5/optimism_sepolia/REVLoans.json +2264 -0
- package/deployments/revnet-core-v5/sepolia/REVDeployer.json +2825 -0
- package/deployments/revnet-core-v5/sepolia/REVLoans.json +2264 -0
- package/docs/book.css +13 -0
- package/docs/book.toml +13 -0
- package/docs/solidity.min.js +74 -0
- package/docs/src/README.md +88 -0
- package/docs/src/SUMMARY.md +20 -0
- package/docs/src/src/README.md +7 -0
- package/docs/src/src/REVDeployer.sol/contract.REVDeployer.md +968 -0
- package/docs/src/src/REVLoans.sol/contract.REVLoans.md +1047 -0
- package/docs/src/src/interfaces/IREVDeployer.sol/interface.IREVDeployer.md +243 -0
- package/docs/src/src/interfaces/IREVLoans.sol/interface.IREVLoans.md +296 -0
- package/docs/src/src/interfaces/README.md +5 -0
- package/docs/src/src/structs/README.md +14 -0
- package/docs/src/src/structs/REVAutoIssuance.sol/struct.REVAutoIssuance.md +19 -0
- package/docs/src/src/structs/REVBuybackHookConfig.sol/struct.REVBuybackHookConfig.md +19 -0
- package/docs/src/src/structs/REVBuybackPoolConfig.sol/struct.REVBuybackPoolConfig.md +21 -0
- package/docs/src/src/structs/REVConfig.sol/struct.REVConfig.md +35 -0
- package/docs/src/src/structs/REVCroptopAllowedPost.sol/struct.REVCroptopAllowedPost.md +28 -0
- package/docs/src/src/structs/REVDeploy721TiersHookConfig.sol/struct.REVDeploy721TiersHookConfig.md +34 -0
- package/docs/src/src/structs/REVDescription.sol/struct.REVDescription.md +23 -0
- package/docs/src/src/structs/REVLoan.sol/struct.REVLoan.md +28 -0
- package/docs/src/src/structs/REVLoanSource.sol/struct.REVLoanSource.md +16 -0
- package/docs/src/src/structs/REVStageConfig.sol/struct.REVStageConfig.md +44 -0
- package/docs/src/src/structs/REVSuckerDeploymentConfig.sol/struct.REVSuckerDeploymentConfig.md +16 -0
- package/foundry.lock +11 -0
- package/foundry.toml +23 -0
- package/package.json +31 -0
- package/remappings.txt +1 -0
- package/script/Deploy.s.sol +350 -0
- package/script/helpers/RevnetCoreDeploymentLib.sol +72 -0
- package/slither-ci.config.json +10 -0
- package/sphinx.lock +507 -0
- package/src/REVDeployer.sol +1257 -0
- package/src/REVLoans.sol +1333 -0
- package/src/interfaces/IREVDeployer.sol +198 -0
- package/src/interfaces/IREVLoans.sol +241 -0
- package/src/structs/REVAutoIssuance.sol +11 -0
- package/src/structs/REVConfig.sol +17 -0
- package/src/structs/REVCroptopAllowedPost.sol +20 -0
- package/src/structs/REVDeploy721TiersHookConfig.sol +25 -0
- package/src/structs/REVDescription.sol +14 -0
- package/src/structs/REVLoan.sol +19 -0
- package/src/structs/REVLoanSource.sol +11 -0
- package/src/structs/REVStageConfig.sol +34 -0
- package/src/structs/REVSuckerDeploymentConfig.sol +11 -0
- package/test/REV.integrations.t.sol +420 -0
- package/test/REVAutoIssuanceFuzz.t.sol +276 -0
- package/test/REVDeployerAuditRegressions.t.sol +328 -0
- package/test/REVInvincibility.t.sol +1275 -0
- package/test/REVInvincibilityHandler.sol +357 -0
- package/test/REVLifecycle.t.sol +364 -0
- package/test/REVLoans.invariants.t.sol +642 -0
- package/test/REVLoansAttacks.t.sol +739 -0
- package/test/REVLoansAuditRegressions.t.sol +314 -0
- package/test/REVLoansFeeRecovery.t.sol +704 -0
- package/test/REVLoansSourced.t.sol +1732 -0
- package/test/REVLoansUnSourced.t.sol +331 -0
- package/test/TestPR09_ConversionDocumentation.t.sol +304 -0
- package/test/TestPR10_LiquidationBehavior.t.sol +340 -0
- package/test/TestPR11_LowFindings.t.sol +571 -0
- package/test/TestPR12_FlashLoanSurplus.t.sol +305 -0
- package/test/TestPR13_CrossSourceReallocation.t.sol +302 -0
- package/test/TestPR15_CashOutCallerValidation.t.sol +320 -0
- package/test/TestPR16_ZeroRepayment.t.sol +297 -0
- package/test/TestPR21_Uint112Overflow.t.sol +251 -0
- package/test/TestPR22_HookArrayOOB.t.sol +221 -0
- package/test/TestPR26_BurnHeldTokens.t.sol +331 -0
- package/test/TestPR27_CEIPattern.t.sol +448 -0
- package/test/TestPR29_SwapTerminalPermission.t.sol +206 -0
- package/test/TestPR32_MixedFixes.t.sol +529 -0
- package/test/helpers/MaliciousContracts.sol +233 -0
- package/test/mock/MockBuybackDataHook.sol +61 -0
|
@@ -0,0 +1,2821 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "sphinx-sol-ct-artifact-1",
|
|
3
|
+
"merkleRoot": "0x4be49ca547a87b716d3e242b6b35a2953b41da4fb5d0a71e84e432f972737a5a",
|
|
4
|
+
"address": "0x2ca27bde7e7d33e353b44c27acfcf6c78dde251d",
|
|
5
|
+
"sourceName": "src/REVDeployer.sol",
|
|
6
|
+
"contractName": "REVDeployer",
|
|
7
|
+
"chainId": "0xa4b1",
|
|
8
|
+
"abi": [
|
|
9
|
+
{
|
|
10
|
+
"inputs": [
|
|
11
|
+
{
|
|
12
|
+
"internalType": "contract IJBController",
|
|
13
|
+
"name": "controller",
|
|
14
|
+
"type": "address"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"internalType": "contract IJBSuckerRegistry",
|
|
18
|
+
"name": "suckerRegistry",
|
|
19
|
+
"type": "address"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"internalType": "uint256",
|
|
23
|
+
"name": "feeRevnetId",
|
|
24
|
+
"type": "uint256"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"internalType": "contract IJB721TiersHookDeployer",
|
|
28
|
+
"name": "hookDeployer",
|
|
29
|
+
"type": "address"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"internalType": "contract CTPublisher",
|
|
33
|
+
"name": "publisher",
|
|
34
|
+
"type": "address"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"internalType": "address",
|
|
38
|
+
"name": "trustedForwarder",
|
|
39
|
+
"type": "address"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"stateMutability": "nonpayable",
|
|
43
|
+
"type": "constructor"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputs": [],
|
|
47
|
+
"name": "CASH_OUT_DELAY",
|
|
48
|
+
"outputs": [
|
|
49
|
+
{
|
|
50
|
+
"internalType": "uint256",
|
|
51
|
+
"name": "",
|
|
52
|
+
"type": "uint256"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"stateMutability": "view",
|
|
56
|
+
"type": "function"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"inputs": [],
|
|
60
|
+
"name": "CONTROLLER",
|
|
61
|
+
"outputs": [
|
|
62
|
+
{
|
|
63
|
+
"internalType": "contract IJBController",
|
|
64
|
+
"name": "",
|
|
65
|
+
"type": "address"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "view",
|
|
69
|
+
"type": "function"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"inputs": [],
|
|
73
|
+
"name": "DIRECTORY",
|
|
74
|
+
"outputs": [
|
|
75
|
+
{
|
|
76
|
+
"internalType": "contract IJBDirectory",
|
|
77
|
+
"name": "",
|
|
78
|
+
"type": "address"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"stateMutability": "view",
|
|
82
|
+
"type": "function"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"inputs": [],
|
|
86
|
+
"name": "FEE",
|
|
87
|
+
"outputs": [
|
|
88
|
+
{
|
|
89
|
+
"internalType": "uint256",
|
|
90
|
+
"name": "",
|
|
91
|
+
"type": "uint256"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"stateMutability": "view",
|
|
95
|
+
"type": "function"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"inputs": [],
|
|
99
|
+
"name": "FEE_REVNET_ID",
|
|
100
|
+
"outputs": [
|
|
101
|
+
{
|
|
102
|
+
"internalType": "uint256",
|
|
103
|
+
"name": "",
|
|
104
|
+
"type": "uint256"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"stateMutability": "view",
|
|
108
|
+
"type": "function"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"inputs": [],
|
|
112
|
+
"name": "HOOK_DEPLOYER",
|
|
113
|
+
"outputs": [
|
|
114
|
+
{
|
|
115
|
+
"internalType": "contract IJB721TiersHookDeployer",
|
|
116
|
+
"name": "",
|
|
117
|
+
"type": "address"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"stateMutability": "view",
|
|
121
|
+
"type": "function"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"inputs": [],
|
|
125
|
+
"name": "PERMISSIONS",
|
|
126
|
+
"outputs": [
|
|
127
|
+
{
|
|
128
|
+
"internalType": "contract IJBPermissions",
|
|
129
|
+
"name": "",
|
|
130
|
+
"type": "address"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"stateMutability": "view",
|
|
134
|
+
"type": "function"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"inputs": [],
|
|
138
|
+
"name": "PROJECTS",
|
|
139
|
+
"outputs": [
|
|
140
|
+
{
|
|
141
|
+
"internalType": "contract IJBProjects",
|
|
142
|
+
"name": "",
|
|
143
|
+
"type": "address"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"stateMutability": "view",
|
|
147
|
+
"type": "function"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"inputs": [],
|
|
151
|
+
"name": "PUBLISHER",
|
|
152
|
+
"outputs": [
|
|
153
|
+
{
|
|
154
|
+
"internalType": "contract CTPublisher",
|
|
155
|
+
"name": "",
|
|
156
|
+
"type": "address"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"stateMutability": "view",
|
|
160
|
+
"type": "function"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"inputs": [],
|
|
164
|
+
"name": "SUCKER_REGISTRY",
|
|
165
|
+
"outputs": [
|
|
166
|
+
{
|
|
167
|
+
"internalType": "contract IJBSuckerRegistry",
|
|
168
|
+
"name": "",
|
|
169
|
+
"type": "address"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"stateMutability": "view",
|
|
173
|
+
"type": "function"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"inputs": [
|
|
177
|
+
{
|
|
178
|
+
"components": [
|
|
179
|
+
{
|
|
180
|
+
"internalType": "address",
|
|
181
|
+
"name": "holder",
|
|
182
|
+
"type": "address"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"internalType": "uint256",
|
|
186
|
+
"name": "projectId",
|
|
187
|
+
"type": "uint256"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"internalType": "uint256",
|
|
191
|
+
"name": "rulesetId",
|
|
192
|
+
"type": "uint256"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"internalType": "uint256",
|
|
196
|
+
"name": "cashOutCount",
|
|
197
|
+
"type": "uint256"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"components": [
|
|
201
|
+
{
|
|
202
|
+
"internalType": "address",
|
|
203
|
+
"name": "token",
|
|
204
|
+
"type": "address"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"internalType": "uint8",
|
|
208
|
+
"name": "decimals",
|
|
209
|
+
"type": "uint8"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"internalType": "uint32",
|
|
213
|
+
"name": "currency",
|
|
214
|
+
"type": "uint32"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"internalType": "uint256",
|
|
218
|
+
"name": "value",
|
|
219
|
+
"type": "uint256"
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
"internalType": "struct JBTokenAmount",
|
|
223
|
+
"name": "reclaimedAmount",
|
|
224
|
+
"type": "tuple"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"components": [
|
|
228
|
+
{
|
|
229
|
+
"internalType": "address",
|
|
230
|
+
"name": "token",
|
|
231
|
+
"type": "address"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"internalType": "uint8",
|
|
235
|
+
"name": "decimals",
|
|
236
|
+
"type": "uint8"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"internalType": "uint32",
|
|
240
|
+
"name": "currency",
|
|
241
|
+
"type": "uint32"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"internalType": "uint256",
|
|
245
|
+
"name": "value",
|
|
246
|
+
"type": "uint256"
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"internalType": "struct JBTokenAmount",
|
|
250
|
+
"name": "forwardedAmount",
|
|
251
|
+
"type": "tuple"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"internalType": "uint256",
|
|
255
|
+
"name": "cashOutTaxRate",
|
|
256
|
+
"type": "uint256"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"internalType": "address payable",
|
|
260
|
+
"name": "beneficiary",
|
|
261
|
+
"type": "address"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"internalType": "bytes",
|
|
265
|
+
"name": "hookMetadata",
|
|
266
|
+
"type": "bytes"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"internalType": "bytes",
|
|
270
|
+
"name": "cashOutMetadata",
|
|
271
|
+
"type": "bytes"
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"internalType": "struct JBAfterCashOutRecordedContext",
|
|
275
|
+
"name": "context",
|
|
276
|
+
"type": "tuple"
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
"name": "afterCashOutRecordedWith",
|
|
280
|
+
"outputs": [],
|
|
281
|
+
"stateMutability": "payable",
|
|
282
|
+
"type": "function"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"inputs": [
|
|
286
|
+
{
|
|
287
|
+
"internalType": "uint256",
|
|
288
|
+
"name": "revnetId",
|
|
289
|
+
"type": "uint256"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"internalType": "uint256",
|
|
293
|
+
"name": "stageId",
|
|
294
|
+
"type": "uint256"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"internalType": "address",
|
|
298
|
+
"name": "beneficiary",
|
|
299
|
+
"type": "address"
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"name": "amountToAutoIssue",
|
|
303
|
+
"outputs": [
|
|
304
|
+
{
|
|
305
|
+
"internalType": "uint256",
|
|
306
|
+
"name": "",
|
|
307
|
+
"type": "uint256"
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"stateMutability": "view",
|
|
311
|
+
"type": "function"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"inputs": [
|
|
315
|
+
{
|
|
316
|
+
"internalType": "uint256",
|
|
317
|
+
"name": "revnetId",
|
|
318
|
+
"type": "uint256"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"internalType": "uint256",
|
|
322
|
+
"name": "stageId",
|
|
323
|
+
"type": "uint256"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"internalType": "address",
|
|
327
|
+
"name": "beneficiary",
|
|
328
|
+
"type": "address"
|
|
329
|
+
}
|
|
330
|
+
],
|
|
331
|
+
"name": "autoIssueFor",
|
|
332
|
+
"outputs": [],
|
|
333
|
+
"stateMutability": "nonpayable",
|
|
334
|
+
"type": "function"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"inputs": [
|
|
338
|
+
{
|
|
339
|
+
"components": [
|
|
340
|
+
{
|
|
341
|
+
"internalType": "address",
|
|
342
|
+
"name": "terminal",
|
|
343
|
+
"type": "address"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"internalType": "address",
|
|
347
|
+
"name": "holder",
|
|
348
|
+
"type": "address"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"internalType": "uint256",
|
|
352
|
+
"name": "projectId",
|
|
353
|
+
"type": "uint256"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"internalType": "uint256",
|
|
357
|
+
"name": "rulesetId",
|
|
358
|
+
"type": "uint256"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"internalType": "uint256",
|
|
362
|
+
"name": "cashOutCount",
|
|
363
|
+
"type": "uint256"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"internalType": "uint256",
|
|
367
|
+
"name": "totalSupply",
|
|
368
|
+
"type": "uint256"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"components": [
|
|
372
|
+
{
|
|
373
|
+
"internalType": "address",
|
|
374
|
+
"name": "token",
|
|
375
|
+
"type": "address"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"internalType": "uint8",
|
|
379
|
+
"name": "decimals",
|
|
380
|
+
"type": "uint8"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"internalType": "uint32",
|
|
384
|
+
"name": "currency",
|
|
385
|
+
"type": "uint32"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"internalType": "uint256",
|
|
389
|
+
"name": "value",
|
|
390
|
+
"type": "uint256"
|
|
391
|
+
}
|
|
392
|
+
],
|
|
393
|
+
"internalType": "struct JBTokenAmount",
|
|
394
|
+
"name": "surplus",
|
|
395
|
+
"type": "tuple"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"internalType": "bool",
|
|
399
|
+
"name": "useTotalSurplus",
|
|
400
|
+
"type": "bool"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"internalType": "uint256",
|
|
404
|
+
"name": "cashOutTaxRate",
|
|
405
|
+
"type": "uint256"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"internalType": "bytes",
|
|
409
|
+
"name": "metadata",
|
|
410
|
+
"type": "bytes"
|
|
411
|
+
}
|
|
412
|
+
],
|
|
413
|
+
"internalType": "struct JBBeforeCashOutRecordedContext",
|
|
414
|
+
"name": "context",
|
|
415
|
+
"type": "tuple"
|
|
416
|
+
}
|
|
417
|
+
],
|
|
418
|
+
"name": "beforeCashOutRecordedWith",
|
|
419
|
+
"outputs": [
|
|
420
|
+
{
|
|
421
|
+
"internalType": "uint256",
|
|
422
|
+
"name": "cashOutTaxRate",
|
|
423
|
+
"type": "uint256"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"internalType": "uint256",
|
|
427
|
+
"name": "cashOutCount",
|
|
428
|
+
"type": "uint256"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"internalType": "uint256",
|
|
432
|
+
"name": "totalSupply",
|
|
433
|
+
"type": "uint256"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"components": [
|
|
437
|
+
{
|
|
438
|
+
"internalType": "contract IJBCashOutHook",
|
|
439
|
+
"name": "hook",
|
|
440
|
+
"type": "address"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"internalType": "uint256",
|
|
444
|
+
"name": "amount",
|
|
445
|
+
"type": "uint256"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"internalType": "bytes",
|
|
449
|
+
"name": "metadata",
|
|
450
|
+
"type": "bytes"
|
|
451
|
+
}
|
|
452
|
+
],
|
|
453
|
+
"internalType": "struct JBCashOutHookSpecification[]",
|
|
454
|
+
"name": "hookSpecifications",
|
|
455
|
+
"type": "tuple[]"
|
|
456
|
+
}
|
|
457
|
+
],
|
|
458
|
+
"stateMutability": "view",
|
|
459
|
+
"type": "function"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"inputs": [
|
|
463
|
+
{
|
|
464
|
+
"components": [
|
|
465
|
+
{
|
|
466
|
+
"internalType": "address",
|
|
467
|
+
"name": "terminal",
|
|
468
|
+
"type": "address"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"internalType": "address",
|
|
472
|
+
"name": "payer",
|
|
473
|
+
"type": "address"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"components": [
|
|
477
|
+
{
|
|
478
|
+
"internalType": "address",
|
|
479
|
+
"name": "token",
|
|
480
|
+
"type": "address"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"internalType": "uint8",
|
|
484
|
+
"name": "decimals",
|
|
485
|
+
"type": "uint8"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"internalType": "uint32",
|
|
489
|
+
"name": "currency",
|
|
490
|
+
"type": "uint32"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"internalType": "uint256",
|
|
494
|
+
"name": "value",
|
|
495
|
+
"type": "uint256"
|
|
496
|
+
}
|
|
497
|
+
],
|
|
498
|
+
"internalType": "struct JBTokenAmount",
|
|
499
|
+
"name": "amount",
|
|
500
|
+
"type": "tuple"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"internalType": "uint256",
|
|
504
|
+
"name": "projectId",
|
|
505
|
+
"type": "uint256"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"internalType": "uint256",
|
|
509
|
+
"name": "rulesetId",
|
|
510
|
+
"type": "uint256"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"internalType": "address",
|
|
514
|
+
"name": "beneficiary",
|
|
515
|
+
"type": "address"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"internalType": "uint256",
|
|
519
|
+
"name": "weight",
|
|
520
|
+
"type": "uint256"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"internalType": "uint256",
|
|
524
|
+
"name": "reservedPercent",
|
|
525
|
+
"type": "uint256"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"internalType": "bytes",
|
|
529
|
+
"name": "metadata",
|
|
530
|
+
"type": "bytes"
|
|
531
|
+
}
|
|
532
|
+
],
|
|
533
|
+
"internalType": "struct JBBeforePayRecordedContext",
|
|
534
|
+
"name": "context",
|
|
535
|
+
"type": "tuple"
|
|
536
|
+
}
|
|
537
|
+
],
|
|
538
|
+
"name": "beforePayRecordedWith",
|
|
539
|
+
"outputs": [
|
|
540
|
+
{
|
|
541
|
+
"internalType": "uint256",
|
|
542
|
+
"name": "weight",
|
|
543
|
+
"type": "uint256"
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"components": [
|
|
547
|
+
{
|
|
548
|
+
"internalType": "contract IJBPayHook",
|
|
549
|
+
"name": "hook",
|
|
550
|
+
"type": "address"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"internalType": "uint256",
|
|
554
|
+
"name": "amount",
|
|
555
|
+
"type": "uint256"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"internalType": "bytes",
|
|
559
|
+
"name": "metadata",
|
|
560
|
+
"type": "bytes"
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"internalType": "struct JBPayHookSpecification[]",
|
|
564
|
+
"name": "hookSpecifications",
|
|
565
|
+
"type": "tuple[]"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"stateMutability": "view",
|
|
569
|
+
"type": "function"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"inputs": [
|
|
573
|
+
{
|
|
574
|
+
"internalType": "uint256",
|
|
575
|
+
"name": "revnetId",
|
|
576
|
+
"type": "uint256"
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"name": "buybackHookOf",
|
|
580
|
+
"outputs": [
|
|
581
|
+
{
|
|
582
|
+
"internalType": "contract IJBRulesetDataHook",
|
|
583
|
+
"name": "buybackHook",
|
|
584
|
+
"type": "address"
|
|
585
|
+
}
|
|
586
|
+
],
|
|
587
|
+
"stateMutability": "view",
|
|
588
|
+
"type": "function"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"inputs": [
|
|
592
|
+
{
|
|
593
|
+
"internalType": "uint256",
|
|
594
|
+
"name": "revnetId",
|
|
595
|
+
"type": "uint256"
|
|
596
|
+
}
|
|
597
|
+
],
|
|
598
|
+
"name": "cashOutDelayOf",
|
|
599
|
+
"outputs": [
|
|
600
|
+
{
|
|
601
|
+
"internalType": "uint256",
|
|
602
|
+
"name": "cashOutDelay",
|
|
603
|
+
"type": "uint256"
|
|
604
|
+
}
|
|
605
|
+
],
|
|
606
|
+
"stateMutability": "view",
|
|
607
|
+
"type": "function"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"inputs": [
|
|
611
|
+
{
|
|
612
|
+
"internalType": "uint256",
|
|
613
|
+
"name": "revnetId",
|
|
614
|
+
"type": "uint256"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"components": [
|
|
618
|
+
{
|
|
619
|
+
"components": [
|
|
620
|
+
{
|
|
621
|
+
"internalType": "string",
|
|
622
|
+
"name": "name",
|
|
623
|
+
"type": "string"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"internalType": "string",
|
|
627
|
+
"name": "ticker",
|
|
628
|
+
"type": "string"
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"internalType": "string",
|
|
632
|
+
"name": "uri",
|
|
633
|
+
"type": "string"
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"internalType": "bytes32",
|
|
637
|
+
"name": "salt",
|
|
638
|
+
"type": "bytes32"
|
|
639
|
+
}
|
|
640
|
+
],
|
|
641
|
+
"internalType": "struct REVDescription",
|
|
642
|
+
"name": "description",
|
|
643
|
+
"type": "tuple"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"internalType": "uint32",
|
|
647
|
+
"name": "baseCurrency",
|
|
648
|
+
"type": "uint32"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"internalType": "address",
|
|
652
|
+
"name": "splitOperator",
|
|
653
|
+
"type": "address"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"components": [
|
|
657
|
+
{
|
|
658
|
+
"internalType": "uint48",
|
|
659
|
+
"name": "startsAtOrAfter",
|
|
660
|
+
"type": "uint48"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"components": [
|
|
664
|
+
{
|
|
665
|
+
"internalType": "uint32",
|
|
666
|
+
"name": "chainId",
|
|
667
|
+
"type": "uint32"
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"internalType": "uint104",
|
|
671
|
+
"name": "count",
|
|
672
|
+
"type": "uint104"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"internalType": "address",
|
|
676
|
+
"name": "beneficiary",
|
|
677
|
+
"type": "address"
|
|
678
|
+
}
|
|
679
|
+
],
|
|
680
|
+
"internalType": "struct REVAutoIssuance[]",
|
|
681
|
+
"name": "autoIssuances",
|
|
682
|
+
"type": "tuple[]"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"internalType": "uint16",
|
|
686
|
+
"name": "splitPercent",
|
|
687
|
+
"type": "uint16"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"components": [
|
|
691
|
+
{
|
|
692
|
+
"internalType": "uint32",
|
|
693
|
+
"name": "percent",
|
|
694
|
+
"type": "uint32"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"internalType": "uint64",
|
|
698
|
+
"name": "projectId",
|
|
699
|
+
"type": "uint64"
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"internalType": "address payable",
|
|
703
|
+
"name": "beneficiary",
|
|
704
|
+
"type": "address"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"internalType": "bool",
|
|
708
|
+
"name": "preferAddToBalance",
|
|
709
|
+
"type": "bool"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"internalType": "uint48",
|
|
713
|
+
"name": "lockedUntil",
|
|
714
|
+
"type": "uint48"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"internalType": "contract IJBSplitHook",
|
|
718
|
+
"name": "hook",
|
|
719
|
+
"type": "address"
|
|
720
|
+
}
|
|
721
|
+
],
|
|
722
|
+
"internalType": "struct JBSplit[]",
|
|
723
|
+
"name": "splits",
|
|
724
|
+
"type": "tuple[]"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"internalType": "uint112",
|
|
728
|
+
"name": "initialIssuance",
|
|
729
|
+
"type": "uint112"
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"internalType": "uint32",
|
|
733
|
+
"name": "issuanceCutFrequency",
|
|
734
|
+
"type": "uint32"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"internalType": "uint32",
|
|
738
|
+
"name": "issuanceCutPercent",
|
|
739
|
+
"type": "uint32"
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"internalType": "uint16",
|
|
743
|
+
"name": "cashOutTaxRate",
|
|
744
|
+
"type": "uint16"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"internalType": "uint16",
|
|
748
|
+
"name": "extraMetadata",
|
|
749
|
+
"type": "uint16"
|
|
750
|
+
}
|
|
751
|
+
],
|
|
752
|
+
"internalType": "struct REVStageConfig[]",
|
|
753
|
+
"name": "stageConfigurations",
|
|
754
|
+
"type": "tuple[]"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"components": [
|
|
758
|
+
{
|
|
759
|
+
"internalType": "address",
|
|
760
|
+
"name": "token",
|
|
761
|
+
"type": "address"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"internalType": "contract IJBPayoutTerminal",
|
|
765
|
+
"name": "terminal",
|
|
766
|
+
"type": "address"
|
|
767
|
+
}
|
|
768
|
+
],
|
|
769
|
+
"internalType": "struct REVLoanSource[]",
|
|
770
|
+
"name": "loanSources",
|
|
771
|
+
"type": "tuple[]"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"internalType": "address",
|
|
775
|
+
"name": "loans",
|
|
776
|
+
"type": "address"
|
|
777
|
+
}
|
|
778
|
+
],
|
|
779
|
+
"internalType": "struct REVConfig",
|
|
780
|
+
"name": "configuration",
|
|
781
|
+
"type": "tuple"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"components": [
|
|
785
|
+
{
|
|
786
|
+
"internalType": "contract IJBTerminal",
|
|
787
|
+
"name": "terminal",
|
|
788
|
+
"type": "address"
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"components": [
|
|
792
|
+
{
|
|
793
|
+
"internalType": "address",
|
|
794
|
+
"name": "token",
|
|
795
|
+
"type": "address"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"internalType": "uint8",
|
|
799
|
+
"name": "decimals",
|
|
800
|
+
"type": "uint8"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"internalType": "uint32",
|
|
804
|
+
"name": "currency",
|
|
805
|
+
"type": "uint32"
|
|
806
|
+
}
|
|
807
|
+
],
|
|
808
|
+
"internalType": "struct JBAccountingContext[]",
|
|
809
|
+
"name": "accountingContextsToAccept",
|
|
810
|
+
"type": "tuple[]"
|
|
811
|
+
}
|
|
812
|
+
],
|
|
813
|
+
"internalType": "struct JBTerminalConfig[]",
|
|
814
|
+
"name": "terminalConfigurations",
|
|
815
|
+
"type": "tuple[]"
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"components": [
|
|
819
|
+
{
|
|
820
|
+
"internalType": "contract IJBRulesetDataHook",
|
|
821
|
+
"name": "dataHook",
|
|
822
|
+
"type": "address"
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"internalType": "contract IJBBuybackHook",
|
|
826
|
+
"name": "hookToConfigure",
|
|
827
|
+
"type": "address"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"components": [
|
|
831
|
+
{
|
|
832
|
+
"internalType": "address",
|
|
833
|
+
"name": "token",
|
|
834
|
+
"type": "address"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"internalType": "uint24",
|
|
838
|
+
"name": "fee",
|
|
839
|
+
"type": "uint24"
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"internalType": "uint32",
|
|
843
|
+
"name": "twapWindow",
|
|
844
|
+
"type": "uint32"
|
|
845
|
+
}
|
|
846
|
+
],
|
|
847
|
+
"internalType": "struct REVBuybackPoolConfig[]",
|
|
848
|
+
"name": "poolConfigurations",
|
|
849
|
+
"type": "tuple[]"
|
|
850
|
+
}
|
|
851
|
+
],
|
|
852
|
+
"internalType": "struct REVBuybackHookConfig",
|
|
853
|
+
"name": "buybackHookConfiguration",
|
|
854
|
+
"type": "tuple"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"components": [
|
|
858
|
+
{
|
|
859
|
+
"components": [
|
|
860
|
+
{
|
|
861
|
+
"internalType": "contract IJBSuckerDeployer",
|
|
862
|
+
"name": "deployer",
|
|
863
|
+
"type": "address"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"components": [
|
|
867
|
+
{
|
|
868
|
+
"internalType": "address",
|
|
869
|
+
"name": "localToken",
|
|
870
|
+
"type": "address"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"internalType": "uint32",
|
|
874
|
+
"name": "minGas",
|
|
875
|
+
"type": "uint32"
|
|
876
|
+
},
|
|
877
|
+
{
|
|
878
|
+
"internalType": "address",
|
|
879
|
+
"name": "remoteToken",
|
|
880
|
+
"type": "address"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"internalType": "uint256",
|
|
884
|
+
"name": "minBridgeAmount",
|
|
885
|
+
"type": "uint256"
|
|
886
|
+
}
|
|
887
|
+
],
|
|
888
|
+
"internalType": "struct JBTokenMapping[]",
|
|
889
|
+
"name": "mappings",
|
|
890
|
+
"type": "tuple[]"
|
|
891
|
+
}
|
|
892
|
+
],
|
|
893
|
+
"internalType": "struct JBSuckerDeployerConfig[]",
|
|
894
|
+
"name": "deployerConfigurations",
|
|
895
|
+
"type": "tuple[]"
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"internalType": "bytes32",
|
|
899
|
+
"name": "salt",
|
|
900
|
+
"type": "bytes32"
|
|
901
|
+
}
|
|
902
|
+
],
|
|
903
|
+
"internalType": "struct REVSuckerDeploymentConfig",
|
|
904
|
+
"name": "suckerDeploymentConfiguration",
|
|
905
|
+
"type": "tuple"
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"name": "deployFor",
|
|
909
|
+
"outputs": [
|
|
910
|
+
{
|
|
911
|
+
"internalType": "uint256",
|
|
912
|
+
"name": "",
|
|
913
|
+
"type": "uint256"
|
|
914
|
+
}
|
|
915
|
+
],
|
|
916
|
+
"stateMutability": "nonpayable",
|
|
917
|
+
"type": "function"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"inputs": [
|
|
921
|
+
{
|
|
922
|
+
"internalType": "uint256",
|
|
923
|
+
"name": "revnetId",
|
|
924
|
+
"type": "uint256"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"components": [
|
|
928
|
+
{
|
|
929
|
+
"components": [
|
|
930
|
+
{
|
|
931
|
+
"internalType": "contract IJBSuckerDeployer",
|
|
932
|
+
"name": "deployer",
|
|
933
|
+
"type": "address"
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
"components": [
|
|
937
|
+
{
|
|
938
|
+
"internalType": "address",
|
|
939
|
+
"name": "localToken",
|
|
940
|
+
"type": "address"
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"internalType": "uint32",
|
|
944
|
+
"name": "minGas",
|
|
945
|
+
"type": "uint32"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"internalType": "address",
|
|
949
|
+
"name": "remoteToken",
|
|
950
|
+
"type": "address"
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
"internalType": "uint256",
|
|
954
|
+
"name": "minBridgeAmount",
|
|
955
|
+
"type": "uint256"
|
|
956
|
+
}
|
|
957
|
+
],
|
|
958
|
+
"internalType": "struct JBTokenMapping[]",
|
|
959
|
+
"name": "mappings",
|
|
960
|
+
"type": "tuple[]"
|
|
961
|
+
}
|
|
962
|
+
],
|
|
963
|
+
"internalType": "struct JBSuckerDeployerConfig[]",
|
|
964
|
+
"name": "deployerConfigurations",
|
|
965
|
+
"type": "tuple[]"
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"internalType": "bytes32",
|
|
969
|
+
"name": "salt",
|
|
970
|
+
"type": "bytes32"
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"internalType": "struct REVSuckerDeploymentConfig",
|
|
974
|
+
"name": "suckerDeploymentConfiguration",
|
|
975
|
+
"type": "tuple"
|
|
976
|
+
}
|
|
977
|
+
],
|
|
978
|
+
"name": "deploySuckersFor",
|
|
979
|
+
"outputs": [
|
|
980
|
+
{
|
|
981
|
+
"internalType": "address[]",
|
|
982
|
+
"name": "suckers",
|
|
983
|
+
"type": "address[]"
|
|
984
|
+
}
|
|
985
|
+
],
|
|
986
|
+
"stateMutability": "nonpayable",
|
|
987
|
+
"type": "function"
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"inputs": [
|
|
991
|
+
{
|
|
992
|
+
"internalType": "uint256",
|
|
993
|
+
"name": "revnetId",
|
|
994
|
+
"type": "uint256"
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"components": [
|
|
998
|
+
{
|
|
999
|
+
"components": [
|
|
1000
|
+
{
|
|
1001
|
+
"internalType": "string",
|
|
1002
|
+
"name": "name",
|
|
1003
|
+
"type": "string"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"internalType": "string",
|
|
1007
|
+
"name": "ticker",
|
|
1008
|
+
"type": "string"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"internalType": "string",
|
|
1012
|
+
"name": "uri",
|
|
1013
|
+
"type": "string"
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"internalType": "bytes32",
|
|
1017
|
+
"name": "salt",
|
|
1018
|
+
"type": "bytes32"
|
|
1019
|
+
}
|
|
1020
|
+
],
|
|
1021
|
+
"internalType": "struct REVDescription",
|
|
1022
|
+
"name": "description",
|
|
1023
|
+
"type": "tuple"
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"internalType": "uint32",
|
|
1027
|
+
"name": "baseCurrency",
|
|
1028
|
+
"type": "uint32"
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"internalType": "address",
|
|
1032
|
+
"name": "splitOperator",
|
|
1033
|
+
"type": "address"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"components": [
|
|
1037
|
+
{
|
|
1038
|
+
"internalType": "uint48",
|
|
1039
|
+
"name": "startsAtOrAfter",
|
|
1040
|
+
"type": "uint48"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"components": [
|
|
1044
|
+
{
|
|
1045
|
+
"internalType": "uint32",
|
|
1046
|
+
"name": "chainId",
|
|
1047
|
+
"type": "uint32"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"internalType": "uint104",
|
|
1051
|
+
"name": "count",
|
|
1052
|
+
"type": "uint104"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"internalType": "address",
|
|
1056
|
+
"name": "beneficiary",
|
|
1057
|
+
"type": "address"
|
|
1058
|
+
}
|
|
1059
|
+
],
|
|
1060
|
+
"internalType": "struct REVAutoIssuance[]",
|
|
1061
|
+
"name": "autoIssuances",
|
|
1062
|
+
"type": "tuple[]"
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"internalType": "uint16",
|
|
1066
|
+
"name": "splitPercent",
|
|
1067
|
+
"type": "uint16"
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"components": [
|
|
1071
|
+
{
|
|
1072
|
+
"internalType": "uint32",
|
|
1073
|
+
"name": "percent",
|
|
1074
|
+
"type": "uint32"
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"internalType": "uint64",
|
|
1078
|
+
"name": "projectId",
|
|
1079
|
+
"type": "uint64"
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"internalType": "address payable",
|
|
1083
|
+
"name": "beneficiary",
|
|
1084
|
+
"type": "address"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"internalType": "bool",
|
|
1088
|
+
"name": "preferAddToBalance",
|
|
1089
|
+
"type": "bool"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"internalType": "uint48",
|
|
1093
|
+
"name": "lockedUntil",
|
|
1094
|
+
"type": "uint48"
|
|
1095
|
+
},
|
|
1096
|
+
{
|
|
1097
|
+
"internalType": "contract IJBSplitHook",
|
|
1098
|
+
"name": "hook",
|
|
1099
|
+
"type": "address"
|
|
1100
|
+
}
|
|
1101
|
+
],
|
|
1102
|
+
"internalType": "struct JBSplit[]",
|
|
1103
|
+
"name": "splits",
|
|
1104
|
+
"type": "tuple[]"
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"internalType": "uint112",
|
|
1108
|
+
"name": "initialIssuance",
|
|
1109
|
+
"type": "uint112"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"internalType": "uint32",
|
|
1113
|
+
"name": "issuanceCutFrequency",
|
|
1114
|
+
"type": "uint32"
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"internalType": "uint32",
|
|
1118
|
+
"name": "issuanceCutPercent",
|
|
1119
|
+
"type": "uint32"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"internalType": "uint16",
|
|
1123
|
+
"name": "cashOutTaxRate",
|
|
1124
|
+
"type": "uint16"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"internalType": "uint16",
|
|
1128
|
+
"name": "extraMetadata",
|
|
1129
|
+
"type": "uint16"
|
|
1130
|
+
}
|
|
1131
|
+
],
|
|
1132
|
+
"internalType": "struct REVStageConfig[]",
|
|
1133
|
+
"name": "stageConfigurations",
|
|
1134
|
+
"type": "tuple[]"
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"components": [
|
|
1138
|
+
{
|
|
1139
|
+
"internalType": "address",
|
|
1140
|
+
"name": "token",
|
|
1141
|
+
"type": "address"
|
|
1142
|
+
},
|
|
1143
|
+
{
|
|
1144
|
+
"internalType": "contract IJBPayoutTerminal",
|
|
1145
|
+
"name": "terminal",
|
|
1146
|
+
"type": "address"
|
|
1147
|
+
}
|
|
1148
|
+
],
|
|
1149
|
+
"internalType": "struct REVLoanSource[]",
|
|
1150
|
+
"name": "loanSources",
|
|
1151
|
+
"type": "tuple[]"
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"internalType": "address",
|
|
1155
|
+
"name": "loans",
|
|
1156
|
+
"type": "address"
|
|
1157
|
+
}
|
|
1158
|
+
],
|
|
1159
|
+
"internalType": "struct REVConfig",
|
|
1160
|
+
"name": "configuration",
|
|
1161
|
+
"type": "tuple"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"components": [
|
|
1165
|
+
{
|
|
1166
|
+
"internalType": "contract IJBTerminal",
|
|
1167
|
+
"name": "terminal",
|
|
1168
|
+
"type": "address"
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
"components": [
|
|
1172
|
+
{
|
|
1173
|
+
"internalType": "address",
|
|
1174
|
+
"name": "token",
|
|
1175
|
+
"type": "address"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"internalType": "uint8",
|
|
1179
|
+
"name": "decimals",
|
|
1180
|
+
"type": "uint8"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"internalType": "uint32",
|
|
1184
|
+
"name": "currency",
|
|
1185
|
+
"type": "uint32"
|
|
1186
|
+
}
|
|
1187
|
+
],
|
|
1188
|
+
"internalType": "struct JBAccountingContext[]",
|
|
1189
|
+
"name": "accountingContextsToAccept",
|
|
1190
|
+
"type": "tuple[]"
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"internalType": "struct JBTerminalConfig[]",
|
|
1194
|
+
"name": "terminalConfigurations",
|
|
1195
|
+
"type": "tuple[]"
|
|
1196
|
+
},
|
|
1197
|
+
{
|
|
1198
|
+
"components": [
|
|
1199
|
+
{
|
|
1200
|
+
"internalType": "contract IJBRulesetDataHook",
|
|
1201
|
+
"name": "dataHook",
|
|
1202
|
+
"type": "address"
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"internalType": "contract IJBBuybackHook",
|
|
1206
|
+
"name": "hookToConfigure",
|
|
1207
|
+
"type": "address"
|
|
1208
|
+
},
|
|
1209
|
+
{
|
|
1210
|
+
"components": [
|
|
1211
|
+
{
|
|
1212
|
+
"internalType": "address",
|
|
1213
|
+
"name": "token",
|
|
1214
|
+
"type": "address"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"internalType": "uint24",
|
|
1218
|
+
"name": "fee",
|
|
1219
|
+
"type": "uint24"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"internalType": "uint32",
|
|
1223
|
+
"name": "twapWindow",
|
|
1224
|
+
"type": "uint32"
|
|
1225
|
+
}
|
|
1226
|
+
],
|
|
1227
|
+
"internalType": "struct REVBuybackPoolConfig[]",
|
|
1228
|
+
"name": "poolConfigurations",
|
|
1229
|
+
"type": "tuple[]"
|
|
1230
|
+
}
|
|
1231
|
+
],
|
|
1232
|
+
"internalType": "struct REVBuybackHookConfig",
|
|
1233
|
+
"name": "buybackHookConfiguration",
|
|
1234
|
+
"type": "tuple"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"components": [
|
|
1238
|
+
{
|
|
1239
|
+
"components": [
|
|
1240
|
+
{
|
|
1241
|
+
"internalType": "contract IJBSuckerDeployer",
|
|
1242
|
+
"name": "deployer",
|
|
1243
|
+
"type": "address"
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
"components": [
|
|
1247
|
+
{
|
|
1248
|
+
"internalType": "address",
|
|
1249
|
+
"name": "localToken",
|
|
1250
|
+
"type": "address"
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"internalType": "uint32",
|
|
1254
|
+
"name": "minGas",
|
|
1255
|
+
"type": "uint32"
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
"internalType": "address",
|
|
1259
|
+
"name": "remoteToken",
|
|
1260
|
+
"type": "address"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"internalType": "uint256",
|
|
1264
|
+
"name": "minBridgeAmount",
|
|
1265
|
+
"type": "uint256"
|
|
1266
|
+
}
|
|
1267
|
+
],
|
|
1268
|
+
"internalType": "struct JBTokenMapping[]",
|
|
1269
|
+
"name": "mappings",
|
|
1270
|
+
"type": "tuple[]"
|
|
1271
|
+
}
|
|
1272
|
+
],
|
|
1273
|
+
"internalType": "struct JBSuckerDeployerConfig[]",
|
|
1274
|
+
"name": "deployerConfigurations",
|
|
1275
|
+
"type": "tuple[]"
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"internalType": "bytes32",
|
|
1279
|
+
"name": "salt",
|
|
1280
|
+
"type": "bytes32"
|
|
1281
|
+
}
|
|
1282
|
+
],
|
|
1283
|
+
"internalType": "struct REVSuckerDeploymentConfig",
|
|
1284
|
+
"name": "suckerDeploymentConfiguration",
|
|
1285
|
+
"type": "tuple"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"components": [
|
|
1289
|
+
{
|
|
1290
|
+
"components": [
|
|
1291
|
+
{
|
|
1292
|
+
"internalType": "string",
|
|
1293
|
+
"name": "name",
|
|
1294
|
+
"type": "string"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"internalType": "string",
|
|
1298
|
+
"name": "symbol",
|
|
1299
|
+
"type": "string"
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"internalType": "string",
|
|
1303
|
+
"name": "baseUri",
|
|
1304
|
+
"type": "string"
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"internalType": "contract IJB721TokenUriResolver",
|
|
1308
|
+
"name": "tokenUriResolver",
|
|
1309
|
+
"type": "address"
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
"internalType": "string",
|
|
1313
|
+
"name": "contractUri",
|
|
1314
|
+
"type": "string"
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
"components": [
|
|
1318
|
+
{
|
|
1319
|
+
"components": [
|
|
1320
|
+
{
|
|
1321
|
+
"internalType": "uint104",
|
|
1322
|
+
"name": "price",
|
|
1323
|
+
"type": "uint104"
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"internalType": "uint32",
|
|
1327
|
+
"name": "initialSupply",
|
|
1328
|
+
"type": "uint32"
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"internalType": "uint32",
|
|
1332
|
+
"name": "votingUnits",
|
|
1333
|
+
"type": "uint32"
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
"internalType": "uint16",
|
|
1337
|
+
"name": "reserveFrequency",
|
|
1338
|
+
"type": "uint16"
|
|
1339
|
+
},
|
|
1340
|
+
{
|
|
1341
|
+
"internalType": "address",
|
|
1342
|
+
"name": "reserveBeneficiary",
|
|
1343
|
+
"type": "address"
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"internalType": "bytes32",
|
|
1347
|
+
"name": "encodedIPFSUri",
|
|
1348
|
+
"type": "bytes32"
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
"internalType": "uint24",
|
|
1352
|
+
"name": "category",
|
|
1353
|
+
"type": "uint24"
|
|
1354
|
+
},
|
|
1355
|
+
{
|
|
1356
|
+
"internalType": "uint8",
|
|
1357
|
+
"name": "discountPercent",
|
|
1358
|
+
"type": "uint8"
|
|
1359
|
+
},
|
|
1360
|
+
{
|
|
1361
|
+
"internalType": "bool",
|
|
1362
|
+
"name": "allowOwnerMint",
|
|
1363
|
+
"type": "bool"
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
"internalType": "bool",
|
|
1367
|
+
"name": "useReserveBeneficiaryAsDefault",
|
|
1368
|
+
"type": "bool"
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"internalType": "bool",
|
|
1372
|
+
"name": "transfersPausable",
|
|
1373
|
+
"type": "bool"
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"internalType": "bool",
|
|
1377
|
+
"name": "useVotingUnits",
|
|
1378
|
+
"type": "bool"
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"internalType": "bool",
|
|
1382
|
+
"name": "cannotBeRemoved",
|
|
1383
|
+
"type": "bool"
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
"internalType": "bool",
|
|
1387
|
+
"name": "cannotIncreaseDiscountPercent",
|
|
1388
|
+
"type": "bool"
|
|
1389
|
+
}
|
|
1390
|
+
],
|
|
1391
|
+
"internalType": "struct JB721TierConfig[]",
|
|
1392
|
+
"name": "tiers",
|
|
1393
|
+
"type": "tuple[]"
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
"internalType": "uint32",
|
|
1397
|
+
"name": "currency",
|
|
1398
|
+
"type": "uint32"
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"internalType": "uint8",
|
|
1402
|
+
"name": "decimals",
|
|
1403
|
+
"type": "uint8"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"internalType": "contract IJBPrices",
|
|
1407
|
+
"name": "prices",
|
|
1408
|
+
"type": "address"
|
|
1409
|
+
}
|
|
1410
|
+
],
|
|
1411
|
+
"internalType": "struct JB721InitTiersConfig",
|
|
1412
|
+
"name": "tiersConfig",
|
|
1413
|
+
"type": "tuple"
|
|
1414
|
+
},
|
|
1415
|
+
{
|
|
1416
|
+
"internalType": "address",
|
|
1417
|
+
"name": "reserveBeneficiary",
|
|
1418
|
+
"type": "address"
|
|
1419
|
+
},
|
|
1420
|
+
{
|
|
1421
|
+
"components": [
|
|
1422
|
+
{
|
|
1423
|
+
"internalType": "bool",
|
|
1424
|
+
"name": "noNewTiersWithReserves",
|
|
1425
|
+
"type": "bool"
|
|
1426
|
+
},
|
|
1427
|
+
{
|
|
1428
|
+
"internalType": "bool",
|
|
1429
|
+
"name": "noNewTiersWithVotes",
|
|
1430
|
+
"type": "bool"
|
|
1431
|
+
},
|
|
1432
|
+
{
|
|
1433
|
+
"internalType": "bool",
|
|
1434
|
+
"name": "noNewTiersWithOwnerMinting",
|
|
1435
|
+
"type": "bool"
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
"internalType": "bool",
|
|
1439
|
+
"name": "preventOverspending",
|
|
1440
|
+
"type": "bool"
|
|
1441
|
+
}
|
|
1442
|
+
],
|
|
1443
|
+
"internalType": "struct JB721TiersHookFlags",
|
|
1444
|
+
"name": "flags",
|
|
1445
|
+
"type": "tuple"
|
|
1446
|
+
}
|
|
1447
|
+
],
|
|
1448
|
+
"internalType": "struct JBDeploy721TiersHookConfig",
|
|
1449
|
+
"name": "baseline721HookConfiguration",
|
|
1450
|
+
"type": "tuple"
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"internalType": "bytes32",
|
|
1454
|
+
"name": "salt",
|
|
1455
|
+
"type": "bytes32"
|
|
1456
|
+
},
|
|
1457
|
+
{
|
|
1458
|
+
"internalType": "bool",
|
|
1459
|
+
"name": "splitOperatorCanAdjustTiers",
|
|
1460
|
+
"type": "bool"
|
|
1461
|
+
},
|
|
1462
|
+
{
|
|
1463
|
+
"internalType": "bool",
|
|
1464
|
+
"name": "splitOperatorCanUpdateMetadata",
|
|
1465
|
+
"type": "bool"
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1468
|
+
"internalType": "bool",
|
|
1469
|
+
"name": "splitOperatorCanMint",
|
|
1470
|
+
"type": "bool"
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"internalType": "bool",
|
|
1474
|
+
"name": "splitOperatorCanIncreaseDiscountPercent",
|
|
1475
|
+
"type": "bool"
|
|
1476
|
+
}
|
|
1477
|
+
],
|
|
1478
|
+
"internalType": "struct REVDeploy721TiersHookConfig",
|
|
1479
|
+
"name": "tiered721HookConfiguration",
|
|
1480
|
+
"type": "tuple"
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"components": [
|
|
1484
|
+
{
|
|
1485
|
+
"internalType": "uint24",
|
|
1486
|
+
"name": "category",
|
|
1487
|
+
"type": "uint24"
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"internalType": "uint104",
|
|
1491
|
+
"name": "minimumPrice",
|
|
1492
|
+
"type": "uint104"
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
"internalType": "uint32",
|
|
1496
|
+
"name": "minimumTotalSupply",
|
|
1497
|
+
"type": "uint32"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"internalType": "uint32",
|
|
1501
|
+
"name": "maximumTotalSupply",
|
|
1502
|
+
"type": "uint32"
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
"internalType": "address[]",
|
|
1506
|
+
"name": "allowedAddresses",
|
|
1507
|
+
"type": "address[]"
|
|
1508
|
+
}
|
|
1509
|
+
],
|
|
1510
|
+
"internalType": "struct REVCroptopAllowedPost[]",
|
|
1511
|
+
"name": "allowedPosts",
|
|
1512
|
+
"type": "tuple[]"
|
|
1513
|
+
}
|
|
1514
|
+
],
|
|
1515
|
+
"name": "deployWith721sFor",
|
|
1516
|
+
"outputs": [
|
|
1517
|
+
{
|
|
1518
|
+
"internalType": "uint256",
|
|
1519
|
+
"name": "",
|
|
1520
|
+
"type": "uint256"
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"internalType": "contract IJB721TiersHook",
|
|
1524
|
+
"name": "hook",
|
|
1525
|
+
"type": "address"
|
|
1526
|
+
}
|
|
1527
|
+
],
|
|
1528
|
+
"stateMutability": "nonpayable",
|
|
1529
|
+
"type": "function"
|
|
1530
|
+
},
|
|
1531
|
+
{
|
|
1532
|
+
"inputs": [
|
|
1533
|
+
{
|
|
1534
|
+
"internalType": "uint256",
|
|
1535
|
+
"name": "revnetId",
|
|
1536
|
+
"type": "uint256"
|
|
1537
|
+
},
|
|
1538
|
+
{
|
|
1539
|
+
"components": [
|
|
1540
|
+
{
|
|
1541
|
+
"internalType": "uint48",
|
|
1542
|
+
"name": "cycleNumber",
|
|
1543
|
+
"type": "uint48"
|
|
1544
|
+
},
|
|
1545
|
+
{
|
|
1546
|
+
"internalType": "uint48",
|
|
1547
|
+
"name": "id",
|
|
1548
|
+
"type": "uint48"
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
"internalType": "uint48",
|
|
1552
|
+
"name": "basedOnId",
|
|
1553
|
+
"type": "uint48"
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
"internalType": "uint48",
|
|
1557
|
+
"name": "start",
|
|
1558
|
+
"type": "uint48"
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"internalType": "uint32",
|
|
1562
|
+
"name": "duration",
|
|
1563
|
+
"type": "uint32"
|
|
1564
|
+
},
|
|
1565
|
+
{
|
|
1566
|
+
"internalType": "uint112",
|
|
1567
|
+
"name": "weight",
|
|
1568
|
+
"type": "uint112"
|
|
1569
|
+
},
|
|
1570
|
+
{
|
|
1571
|
+
"internalType": "uint32",
|
|
1572
|
+
"name": "weightCutPercent",
|
|
1573
|
+
"type": "uint32"
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
"internalType": "contract IJBRulesetApprovalHook",
|
|
1577
|
+
"name": "approvalHook",
|
|
1578
|
+
"type": "address"
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
"internalType": "uint256",
|
|
1582
|
+
"name": "metadata",
|
|
1583
|
+
"type": "uint256"
|
|
1584
|
+
}
|
|
1585
|
+
],
|
|
1586
|
+
"internalType": "struct JBRuleset",
|
|
1587
|
+
"name": "ruleset",
|
|
1588
|
+
"type": "tuple"
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
"internalType": "address",
|
|
1592
|
+
"name": "addr",
|
|
1593
|
+
"type": "address"
|
|
1594
|
+
}
|
|
1595
|
+
],
|
|
1596
|
+
"name": "hasMintPermissionFor",
|
|
1597
|
+
"outputs": [
|
|
1598
|
+
{
|
|
1599
|
+
"internalType": "bool",
|
|
1600
|
+
"name": "",
|
|
1601
|
+
"type": "bool"
|
|
1602
|
+
}
|
|
1603
|
+
],
|
|
1604
|
+
"stateMutability": "view",
|
|
1605
|
+
"type": "function"
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
"inputs": [
|
|
1609
|
+
{
|
|
1610
|
+
"internalType": "uint256",
|
|
1611
|
+
"name": "revnetId",
|
|
1612
|
+
"type": "uint256"
|
|
1613
|
+
}
|
|
1614
|
+
],
|
|
1615
|
+
"name": "hashedEncodedConfigurationOf",
|
|
1616
|
+
"outputs": [
|
|
1617
|
+
{
|
|
1618
|
+
"internalType": "bytes32",
|
|
1619
|
+
"name": "hashedEncodedConfiguration",
|
|
1620
|
+
"type": "bytes32"
|
|
1621
|
+
}
|
|
1622
|
+
],
|
|
1623
|
+
"stateMutability": "view",
|
|
1624
|
+
"type": "function"
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"inputs": [
|
|
1628
|
+
{
|
|
1629
|
+
"internalType": "uint256",
|
|
1630
|
+
"name": "revnetId",
|
|
1631
|
+
"type": "uint256"
|
|
1632
|
+
},
|
|
1633
|
+
{
|
|
1634
|
+
"internalType": "address",
|
|
1635
|
+
"name": "addr",
|
|
1636
|
+
"type": "address"
|
|
1637
|
+
}
|
|
1638
|
+
],
|
|
1639
|
+
"name": "isSplitOperatorOf",
|
|
1640
|
+
"outputs": [
|
|
1641
|
+
{
|
|
1642
|
+
"internalType": "bool",
|
|
1643
|
+
"name": "",
|
|
1644
|
+
"type": "bool"
|
|
1645
|
+
}
|
|
1646
|
+
],
|
|
1647
|
+
"stateMutability": "view",
|
|
1648
|
+
"type": "function"
|
|
1649
|
+
},
|
|
1650
|
+
{
|
|
1651
|
+
"inputs": [
|
|
1652
|
+
{
|
|
1653
|
+
"internalType": "address",
|
|
1654
|
+
"name": "forwarder",
|
|
1655
|
+
"type": "address"
|
|
1656
|
+
}
|
|
1657
|
+
],
|
|
1658
|
+
"name": "isTrustedForwarder",
|
|
1659
|
+
"outputs": [
|
|
1660
|
+
{
|
|
1661
|
+
"internalType": "bool",
|
|
1662
|
+
"name": "",
|
|
1663
|
+
"type": "bool"
|
|
1664
|
+
}
|
|
1665
|
+
],
|
|
1666
|
+
"stateMutability": "view",
|
|
1667
|
+
"type": "function"
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
"inputs": [
|
|
1671
|
+
{
|
|
1672
|
+
"internalType": "uint256",
|
|
1673
|
+
"name": "revnetId",
|
|
1674
|
+
"type": "uint256"
|
|
1675
|
+
}
|
|
1676
|
+
],
|
|
1677
|
+
"name": "loansOf",
|
|
1678
|
+
"outputs": [
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "address",
|
|
1681
|
+
"name": "",
|
|
1682
|
+
"type": "address"
|
|
1683
|
+
}
|
|
1684
|
+
],
|
|
1685
|
+
"stateMutability": "view",
|
|
1686
|
+
"type": "function"
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"inputs": [
|
|
1690
|
+
{
|
|
1691
|
+
"internalType": "address",
|
|
1692
|
+
"name": "",
|
|
1693
|
+
"type": "address"
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"internalType": "address",
|
|
1697
|
+
"name": "",
|
|
1698
|
+
"type": "address"
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
"internalType": "uint256",
|
|
1702
|
+
"name": "",
|
|
1703
|
+
"type": "uint256"
|
|
1704
|
+
},
|
|
1705
|
+
{
|
|
1706
|
+
"internalType": "bytes",
|
|
1707
|
+
"name": "",
|
|
1708
|
+
"type": "bytes"
|
|
1709
|
+
}
|
|
1710
|
+
],
|
|
1711
|
+
"name": "onERC721Received",
|
|
1712
|
+
"outputs": [
|
|
1713
|
+
{
|
|
1714
|
+
"internalType": "bytes4",
|
|
1715
|
+
"name": "",
|
|
1716
|
+
"type": "bytes4"
|
|
1717
|
+
}
|
|
1718
|
+
],
|
|
1719
|
+
"stateMutability": "view",
|
|
1720
|
+
"type": "function"
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
"inputs": [
|
|
1724
|
+
{
|
|
1725
|
+
"internalType": "uint256",
|
|
1726
|
+
"name": "revnetId",
|
|
1727
|
+
"type": "uint256"
|
|
1728
|
+
},
|
|
1729
|
+
{
|
|
1730
|
+
"internalType": "address",
|
|
1731
|
+
"name": "newSplitOperator",
|
|
1732
|
+
"type": "address"
|
|
1733
|
+
}
|
|
1734
|
+
],
|
|
1735
|
+
"name": "setSplitOperatorOf",
|
|
1736
|
+
"outputs": [],
|
|
1737
|
+
"stateMutability": "nonpayable",
|
|
1738
|
+
"type": "function"
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"inputs": [
|
|
1742
|
+
{
|
|
1743
|
+
"internalType": "bytes4",
|
|
1744
|
+
"name": "interfaceId",
|
|
1745
|
+
"type": "bytes4"
|
|
1746
|
+
}
|
|
1747
|
+
],
|
|
1748
|
+
"name": "supportsInterface",
|
|
1749
|
+
"outputs": [
|
|
1750
|
+
{
|
|
1751
|
+
"internalType": "bool",
|
|
1752
|
+
"name": "",
|
|
1753
|
+
"type": "bool"
|
|
1754
|
+
}
|
|
1755
|
+
],
|
|
1756
|
+
"stateMutability": "view",
|
|
1757
|
+
"type": "function"
|
|
1758
|
+
},
|
|
1759
|
+
{
|
|
1760
|
+
"inputs": [
|
|
1761
|
+
{
|
|
1762
|
+
"internalType": "uint256",
|
|
1763
|
+
"name": "revnetId",
|
|
1764
|
+
"type": "uint256"
|
|
1765
|
+
}
|
|
1766
|
+
],
|
|
1767
|
+
"name": "tiered721HookOf",
|
|
1768
|
+
"outputs": [
|
|
1769
|
+
{
|
|
1770
|
+
"internalType": "contract IJB721TiersHook",
|
|
1771
|
+
"name": "tiered721Hook",
|
|
1772
|
+
"type": "address"
|
|
1773
|
+
}
|
|
1774
|
+
],
|
|
1775
|
+
"stateMutability": "view",
|
|
1776
|
+
"type": "function"
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"inputs": [],
|
|
1780
|
+
"name": "trustedForwarder",
|
|
1781
|
+
"outputs": [
|
|
1782
|
+
{
|
|
1783
|
+
"internalType": "address",
|
|
1784
|
+
"name": "",
|
|
1785
|
+
"type": "address"
|
|
1786
|
+
}
|
|
1787
|
+
],
|
|
1788
|
+
"stateMutability": "view",
|
|
1789
|
+
"type": "function"
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
"anonymous": false,
|
|
1793
|
+
"inputs": [
|
|
1794
|
+
{
|
|
1795
|
+
"indexed": true,
|
|
1796
|
+
"internalType": "uint256",
|
|
1797
|
+
"name": "revnetId",
|
|
1798
|
+
"type": "uint256"
|
|
1799
|
+
},
|
|
1800
|
+
{
|
|
1801
|
+
"indexed": true,
|
|
1802
|
+
"internalType": "uint256",
|
|
1803
|
+
"name": "stageId",
|
|
1804
|
+
"type": "uint256"
|
|
1805
|
+
},
|
|
1806
|
+
{
|
|
1807
|
+
"indexed": true,
|
|
1808
|
+
"internalType": "address",
|
|
1809
|
+
"name": "beneficiary",
|
|
1810
|
+
"type": "address"
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
"indexed": false,
|
|
1814
|
+
"internalType": "uint256",
|
|
1815
|
+
"name": "count",
|
|
1816
|
+
"type": "uint256"
|
|
1817
|
+
},
|
|
1818
|
+
{
|
|
1819
|
+
"indexed": false,
|
|
1820
|
+
"internalType": "address",
|
|
1821
|
+
"name": "caller",
|
|
1822
|
+
"type": "address"
|
|
1823
|
+
}
|
|
1824
|
+
],
|
|
1825
|
+
"name": "AutoIssue",
|
|
1826
|
+
"type": "event"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"anonymous": false,
|
|
1830
|
+
"inputs": [
|
|
1831
|
+
{
|
|
1832
|
+
"indexed": true,
|
|
1833
|
+
"internalType": "uint256",
|
|
1834
|
+
"name": "revnetId",
|
|
1835
|
+
"type": "uint256"
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
"components": [
|
|
1839
|
+
{
|
|
1840
|
+
"components": [
|
|
1841
|
+
{
|
|
1842
|
+
"internalType": "string",
|
|
1843
|
+
"name": "name",
|
|
1844
|
+
"type": "string"
|
|
1845
|
+
},
|
|
1846
|
+
{
|
|
1847
|
+
"internalType": "string",
|
|
1848
|
+
"name": "ticker",
|
|
1849
|
+
"type": "string"
|
|
1850
|
+
},
|
|
1851
|
+
{
|
|
1852
|
+
"internalType": "string",
|
|
1853
|
+
"name": "uri",
|
|
1854
|
+
"type": "string"
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"internalType": "bytes32",
|
|
1858
|
+
"name": "salt",
|
|
1859
|
+
"type": "bytes32"
|
|
1860
|
+
}
|
|
1861
|
+
],
|
|
1862
|
+
"internalType": "struct REVDescription",
|
|
1863
|
+
"name": "description",
|
|
1864
|
+
"type": "tuple"
|
|
1865
|
+
},
|
|
1866
|
+
{
|
|
1867
|
+
"internalType": "uint32",
|
|
1868
|
+
"name": "baseCurrency",
|
|
1869
|
+
"type": "uint32"
|
|
1870
|
+
},
|
|
1871
|
+
{
|
|
1872
|
+
"internalType": "address",
|
|
1873
|
+
"name": "splitOperator",
|
|
1874
|
+
"type": "address"
|
|
1875
|
+
},
|
|
1876
|
+
{
|
|
1877
|
+
"components": [
|
|
1878
|
+
{
|
|
1879
|
+
"internalType": "uint48",
|
|
1880
|
+
"name": "startsAtOrAfter",
|
|
1881
|
+
"type": "uint48"
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
"components": [
|
|
1885
|
+
{
|
|
1886
|
+
"internalType": "uint32",
|
|
1887
|
+
"name": "chainId",
|
|
1888
|
+
"type": "uint32"
|
|
1889
|
+
},
|
|
1890
|
+
{
|
|
1891
|
+
"internalType": "uint104",
|
|
1892
|
+
"name": "count",
|
|
1893
|
+
"type": "uint104"
|
|
1894
|
+
},
|
|
1895
|
+
{
|
|
1896
|
+
"internalType": "address",
|
|
1897
|
+
"name": "beneficiary",
|
|
1898
|
+
"type": "address"
|
|
1899
|
+
}
|
|
1900
|
+
],
|
|
1901
|
+
"internalType": "struct REVAutoIssuance[]",
|
|
1902
|
+
"name": "autoIssuances",
|
|
1903
|
+
"type": "tuple[]"
|
|
1904
|
+
},
|
|
1905
|
+
{
|
|
1906
|
+
"internalType": "uint16",
|
|
1907
|
+
"name": "splitPercent",
|
|
1908
|
+
"type": "uint16"
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
"components": [
|
|
1912
|
+
{
|
|
1913
|
+
"internalType": "uint32",
|
|
1914
|
+
"name": "percent",
|
|
1915
|
+
"type": "uint32"
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
"internalType": "uint64",
|
|
1919
|
+
"name": "projectId",
|
|
1920
|
+
"type": "uint64"
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"internalType": "address payable",
|
|
1924
|
+
"name": "beneficiary",
|
|
1925
|
+
"type": "address"
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
"internalType": "bool",
|
|
1929
|
+
"name": "preferAddToBalance",
|
|
1930
|
+
"type": "bool"
|
|
1931
|
+
},
|
|
1932
|
+
{
|
|
1933
|
+
"internalType": "uint48",
|
|
1934
|
+
"name": "lockedUntil",
|
|
1935
|
+
"type": "uint48"
|
|
1936
|
+
},
|
|
1937
|
+
{
|
|
1938
|
+
"internalType": "contract IJBSplitHook",
|
|
1939
|
+
"name": "hook",
|
|
1940
|
+
"type": "address"
|
|
1941
|
+
}
|
|
1942
|
+
],
|
|
1943
|
+
"internalType": "struct JBSplit[]",
|
|
1944
|
+
"name": "splits",
|
|
1945
|
+
"type": "tuple[]"
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"internalType": "uint112",
|
|
1949
|
+
"name": "initialIssuance",
|
|
1950
|
+
"type": "uint112"
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
"internalType": "uint32",
|
|
1954
|
+
"name": "issuanceCutFrequency",
|
|
1955
|
+
"type": "uint32"
|
|
1956
|
+
},
|
|
1957
|
+
{
|
|
1958
|
+
"internalType": "uint32",
|
|
1959
|
+
"name": "issuanceCutPercent",
|
|
1960
|
+
"type": "uint32"
|
|
1961
|
+
},
|
|
1962
|
+
{
|
|
1963
|
+
"internalType": "uint16",
|
|
1964
|
+
"name": "cashOutTaxRate",
|
|
1965
|
+
"type": "uint16"
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
"internalType": "uint16",
|
|
1969
|
+
"name": "extraMetadata",
|
|
1970
|
+
"type": "uint16"
|
|
1971
|
+
}
|
|
1972
|
+
],
|
|
1973
|
+
"internalType": "struct REVStageConfig[]",
|
|
1974
|
+
"name": "stageConfigurations",
|
|
1975
|
+
"type": "tuple[]"
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
"components": [
|
|
1979
|
+
{
|
|
1980
|
+
"internalType": "address",
|
|
1981
|
+
"name": "token",
|
|
1982
|
+
"type": "address"
|
|
1983
|
+
},
|
|
1984
|
+
{
|
|
1985
|
+
"internalType": "contract IJBPayoutTerminal",
|
|
1986
|
+
"name": "terminal",
|
|
1987
|
+
"type": "address"
|
|
1988
|
+
}
|
|
1989
|
+
],
|
|
1990
|
+
"internalType": "struct REVLoanSource[]",
|
|
1991
|
+
"name": "loanSources",
|
|
1992
|
+
"type": "tuple[]"
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
"internalType": "address",
|
|
1996
|
+
"name": "loans",
|
|
1997
|
+
"type": "address"
|
|
1998
|
+
}
|
|
1999
|
+
],
|
|
2000
|
+
"indexed": false,
|
|
2001
|
+
"internalType": "struct REVConfig",
|
|
2002
|
+
"name": "configuration",
|
|
2003
|
+
"type": "tuple"
|
|
2004
|
+
},
|
|
2005
|
+
{
|
|
2006
|
+
"components": [
|
|
2007
|
+
{
|
|
2008
|
+
"internalType": "contract IJBTerminal",
|
|
2009
|
+
"name": "terminal",
|
|
2010
|
+
"type": "address"
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"components": [
|
|
2014
|
+
{
|
|
2015
|
+
"internalType": "address",
|
|
2016
|
+
"name": "token",
|
|
2017
|
+
"type": "address"
|
|
2018
|
+
},
|
|
2019
|
+
{
|
|
2020
|
+
"internalType": "uint8",
|
|
2021
|
+
"name": "decimals",
|
|
2022
|
+
"type": "uint8"
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"internalType": "uint32",
|
|
2026
|
+
"name": "currency",
|
|
2027
|
+
"type": "uint32"
|
|
2028
|
+
}
|
|
2029
|
+
],
|
|
2030
|
+
"internalType": "struct JBAccountingContext[]",
|
|
2031
|
+
"name": "accountingContextsToAccept",
|
|
2032
|
+
"type": "tuple[]"
|
|
2033
|
+
}
|
|
2034
|
+
],
|
|
2035
|
+
"indexed": false,
|
|
2036
|
+
"internalType": "struct JBTerminalConfig[]",
|
|
2037
|
+
"name": "terminalConfigurations",
|
|
2038
|
+
"type": "tuple[]"
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"components": [
|
|
2042
|
+
{
|
|
2043
|
+
"internalType": "contract IJBRulesetDataHook",
|
|
2044
|
+
"name": "dataHook",
|
|
2045
|
+
"type": "address"
|
|
2046
|
+
},
|
|
2047
|
+
{
|
|
2048
|
+
"internalType": "contract IJBBuybackHook",
|
|
2049
|
+
"name": "hookToConfigure",
|
|
2050
|
+
"type": "address"
|
|
2051
|
+
},
|
|
2052
|
+
{
|
|
2053
|
+
"components": [
|
|
2054
|
+
{
|
|
2055
|
+
"internalType": "address",
|
|
2056
|
+
"name": "token",
|
|
2057
|
+
"type": "address"
|
|
2058
|
+
},
|
|
2059
|
+
{
|
|
2060
|
+
"internalType": "uint24",
|
|
2061
|
+
"name": "fee",
|
|
2062
|
+
"type": "uint24"
|
|
2063
|
+
},
|
|
2064
|
+
{
|
|
2065
|
+
"internalType": "uint32",
|
|
2066
|
+
"name": "twapWindow",
|
|
2067
|
+
"type": "uint32"
|
|
2068
|
+
}
|
|
2069
|
+
],
|
|
2070
|
+
"internalType": "struct REVBuybackPoolConfig[]",
|
|
2071
|
+
"name": "poolConfigurations",
|
|
2072
|
+
"type": "tuple[]"
|
|
2073
|
+
}
|
|
2074
|
+
],
|
|
2075
|
+
"indexed": false,
|
|
2076
|
+
"internalType": "struct REVBuybackHookConfig",
|
|
2077
|
+
"name": "buybackHookConfiguration",
|
|
2078
|
+
"type": "tuple"
|
|
2079
|
+
},
|
|
2080
|
+
{
|
|
2081
|
+
"components": [
|
|
2082
|
+
{
|
|
2083
|
+
"components": [
|
|
2084
|
+
{
|
|
2085
|
+
"internalType": "contract IJBSuckerDeployer",
|
|
2086
|
+
"name": "deployer",
|
|
2087
|
+
"type": "address"
|
|
2088
|
+
},
|
|
2089
|
+
{
|
|
2090
|
+
"components": [
|
|
2091
|
+
{
|
|
2092
|
+
"internalType": "address",
|
|
2093
|
+
"name": "localToken",
|
|
2094
|
+
"type": "address"
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"internalType": "uint32",
|
|
2098
|
+
"name": "minGas",
|
|
2099
|
+
"type": "uint32"
|
|
2100
|
+
},
|
|
2101
|
+
{
|
|
2102
|
+
"internalType": "address",
|
|
2103
|
+
"name": "remoteToken",
|
|
2104
|
+
"type": "address"
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
"internalType": "uint256",
|
|
2108
|
+
"name": "minBridgeAmount",
|
|
2109
|
+
"type": "uint256"
|
|
2110
|
+
}
|
|
2111
|
+
],
|
|
2112
|
+
"internalType": "struct JBTokenMapping[]",
|
|
2113
|
+
"name": "mappings",
|
|
2114
|
+
"type": "tuple[]"
|
|
2115
|
+
}
|
|
2116
|
+
],
|
|
2117
|
+
"internalType": "struct JBSuckerDeployerConfig[]",
|
|
2118
|
+
"name": "deployerConfigurations",
|
|
2119
|
+
"type": "tuple[]"
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
"internalType": "bytes32",
|
|
2123
|
+
"name": "salt",
|
|
2124
|
+
"type": "bytes32"
|
|
2125
|
+
}
|
|
2126
|
+
],
|
|
2127
|
+
"indexed": false,
|
|
2128
|
+
"internalType": "struct REVSuckerDeploymentConfig",
|
|
2129
|
+
"name": "suckerDeploymentConfiguration",
|
|
2130
|
+
"type": "tuple"
|
|
2131
|
+
},
|
|
2132
|
+
{
|
|
2133
|
+
"components": [
|
|
2134
|
+
{
|
|
2135
|
+
"internalType": "uint48",
|
|
2136
|
+
"name": "mustStartAtOrAfter",
|
|
2137
|
+
"type": "uint48"
|
|
2138
|
+
},
|
|
2139
|
+
{
|
|
2140
|
+
"internalType": "uint32",
|
|
2141
|
+
"name": "duration",
|
|
2142
|
+
"type": "uint32"
|
|
2143
|
+
},
|
|
2144
|
+
{
|
|
2145
|
+
"internalType": "uint112",
|
|
2146
|
+
"name": "weight",
|
|
2147
|
+
"type": "uint112"
|
|
2148
|
+
},
|
|
2149
|
+
{
|
|
2150
|
+
"internalType": "uint32",
|
|
2151
|
+
"name": "weightCutPercent",
|
|
2152
|
+
"type": "uint32"
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
"internalType": "contract IJBRulesetApprovalHook",
|
|
2156
|
+
"name": "approvalHook",
|
|
2157
|
+
"type": "address"
|
|
2158
|
+
},
|
|
2159
|
+
{
|
|
2160
|
+
"components": [
|
|
2161
|
+
{
|
|
2162
|
+
"internalType": "uint16",
|
|
2163
|
+
"name": "reservedPercent",
|
|
2164
|
+
"type": "uint16"
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
"internalType": "uint16",
|
|
2168
|
+
"name": "cashOutTaxRate",
|
|
2169
|
+
"type": "uint16"
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"internalType": "uint32",
|
|
2173
|
+
"name": "baseCurrency",
|
|
2174
|
+
"type": "uint32"
|
|
2175
|
+
},
|
|
2176
|
+
{
|
|
2177
|
+
"internalType": "bool",
|
|
2178
|
+
"name": "pausePay",
|
|
2179
|
+
"type": "bool"
|
|
2180
|
+
},
|
|
2181
|
+
{
|
|
2182
|
+
"internalType": "bool",
|
|
2183
|
+
"name": "pauseCreditTransfers",
|
|
2184
|
+
"type": "bool"
|
|
2185
|
+
},
|
|
2186
|
+
{
|
|
2187
|
+
"internalType": "bool",
|
|
2188
|
+
"name": "allowOwnerMinting",
|
|
2189
|
+
"type": "bool"
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"internalType": "bool",
|
|
2193
|
+
"name": "allowSetCustomToken",
|
|
2194
|
+
"type": "bool"
|
|
2195
|
+
},
|
|
2196
|
+
{
|
|
2197
|
+
"internalType": "bool",
|
|
2198
|
+
"name": "allowTerminalMigration",
|
|
2199
|
+
"type": "bool"
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"internalType": "bool",
|
|
2203
|
+
"name": "allowSetTerminals",
|
|
2204
|
+
"type": "bool"
|
|
2205
|
+
},
|
|
2206
|
+
{
|
|
2207
|
+
"internalType": "bool",
|
|
2208
|
+
"name": "allowSetController",
|
|
2209
|
+
"type": "bool"
|
|
2210
|
+
},
|
|
2211
|
+
{
|
|
2212
|
+
"internalType": "bool",
|
|
2213
|
+
"name": "allowAddAccountingContext",
|
|
2214
|
+
"type": "bool"
|
|
2215
|
+
},
|
|
2216
|
+
{
|
|
2217
|
+
"internalType": "bool",
|
|
2218
|
+
"name": "allowAddPriceFeed",
|
|
2219
|
+
"type": "bool"
|
|
2220
|
+
},
|
|
2221
|
+
{
|
|
2222
|
+
"internalType": "bool",
|
|
2223
|
+
"name": "ownerMustSendPayouts",
|
|
2224
|
+
"type": "bool"
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
"internalType": "bool",
|
|
2228
|
+
"name": "holdFees",
|
|
2229
|
+
"type": "bool"
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"internalType": "bool",
|
|
2233
|
+
"name": "useTotalSurplusForCashOuts",
|
|
2234
|
+
"type": "bool"
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
"internalType": "bool",
|
|
2238
|
+
"name": "useDataHookForPay",
|
|
2239
|
+
"type": "bool"
|
|
2240
|
+
},
|
|
2241
|
+
{
|
|
2242
|
+
"internalType": "bool",
|
|
2243
|
+
"name": "useDataHookForCashOut",
|
|
2244
|
+
"type": "bool"
|
|
2245
|
+
},
|
|
2246
|
+
{
|
|
2247
|
+
"internalType": "address",
|
|
2248
|
+
"name": "dataHook",
|
|
2249
|
+
"type": "address"
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
"internalType": "uint16",
|
|
2253
|
+
"name": "metadata",
|
|
2254
|
+
"type": "uint16"
|
|
2255
|
+
}
|
|
2256
|
+
],
|
|
2257
|
+
"internalType": "struct JBRulesetMetadata",
|
|
2258
|
+
"name": "metadata",
|
|
2259
|
+
"type": "tuple"
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
"components": [
|
|
2263
|
+
{
|
|
2264
|
+
"internalType": "uint256",
|
|
2265
|
+
"name": "groupId",
|
|
2266
|
+
"type": "uint256"
|
|
2267
|
+
},
|
|
2268
|
+
{
|
|
2269
|
+
"components": [
|
|
2270
|
+
{
|
|
2271
|
+
"internalType": "uint32",
|
|
2272
|
+
"name": "percent",
|
|
2273
|
+
"type": "uint32"
|
|
2274
|
+
},
|
|
2275
|
+
{
|
|
2276
|
+
"internalType": "uint64",
|
|
2277
|
+
"name": "projectId",
|
|
2278
|
+
"type": "uint64"
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"internalType": "address payable",
|
|
2282
|
+
"name": "beneficiary",
|
|
2283
|
+
"type": "address"
|
|
2284
|
+
},
|
|
2285
|
+
{
|
|
2286
|
+
"internalType": "bool",
|
|
2287
|
+
"name": "preferAddToBalance",
|
|
2288
|
+
"type": "bool"
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
"internalType": "uint48",
|
|
2292
|
+
"name": "lockedUntil",
|
|
2293
|
+
"type": "uint48"
|
|
2294
|
+
},
|
|
2295
|
+
{
|
|
2296
|
+
"internalType": "contract IJBSplitHook",
|
|
2297
|
+
"name": "hook",
|
|
2298
|
+
"type": "address"
|
|
2299
|
+
}
|
|
2300
|
+
],
|
|
2301
|
+
"internalType": "struct JBSplit[]",
|
|
2302
|
+
"name": "splits",
|
|
2303
|
+
"type": "tuple[]"
|
|
2304
|
+
}
|
|
2305
|
+
],
|
|
2306
|
+
"internalType": "struct JBSplitGroup[]",
|
|
2307
|
+
"name": "splitGroups",
|
|
2308
|
+
"type": "tuple[]"
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"components": [
|
|
2312
|
+
{
|
|
2313
|
+
"internalType": "address",
|
|
2314
|
+
"name": "terminal",
|
|
2315
|
+
"type": "address"
|
|
2316
|
+
},
|
|
2317
|
+
{
|
|
2318
|
+
"internalType": "address",
|
|
2319
|
+
"name": "token",
|
|
2320
|
+
"type": "address"
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
"components": [
|
|
2324
|
+
{
|
|
2325
|
+
"internalType": "uint224",
|
|
2326
|
+
"name": "amount",
|
|
2327
|
+
"type": "uint224"
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"internalType": "uint32",
|
|
2331
|
+
"name": "currency",
|
|
2332
|
+
"type": "uint32"
|
|
2333
|
+
}
|
|
2334
|
+
],
|
|
2335
|
+
"internalType": "struct JBCurrencyAmount[]",
|
|
2336
|
+
"name": "payoutLimits",
|
|
2337
|
+
"type": "tuple[]"
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"components": [
|
|
2341
|
+
{
|
|
2342
|
+
"internalType": "uint224",
|
|
2343
|
+
"name": "amount",
|
|
2344
|
+
"type": "uint224"
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"internalType": "uint32",
|
|
2348
|
+
"name": "currency",
|
|
2349
|
+
"type": "uint32"
|
|
2350
|
+
}
|
|
2351
|
+
],
|
|
2352
|
+
"internalType": "struct JBCurrencyAmount[]",
|
|
2353
|
+
"name": "surplusAllowances",
|
|
2354
|
+
"type": "tuple[]"
|
|
2355
|
+
}
|
|
2356
|
+
],
|
|
2357
|
+
"internalType": "struct JBFundAccessLimitGroup[]",
|
|
2358
|
+
"name": "fundAccessLimitGroups",
|
|
2359
|
+
"type": "tuple[]"
|
|
2360
|
+
}
|
|
2361
|
+
],
|
|
2362
|
+
"indexed": false,
|
|
2363
|
+
"internalType": "struct JBRulesetConfig[]",
|
|
2364
|
+
"name": "rulesetConfigurations",
|
|
2365
|
+
"type": "tuple[]"
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
"indexed": false,
|
|
2369
|
+
"internalType": "bytes32",
|
|
2370
|
+
"name": "encodedConfigurationHash",
|
|
2371
|
+
"type": "bytes32"
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
"indexed": false,
|
|
2375
|
+
"internalType": "address",
|
|
2376
|
+
"name": "caller",
|
|
2377
|
+
"type": "address"
|
|
2378
|
+
}
|
|
2379
|
+
],
|
|
2380
|
+
"name": "DeployRevnet",
|
|
2381
|
+
"type": "event"
|
|
2382
|
+
},
|
|
2383
|
+
{
|
|
2384
|
+
"anonymous": false,
|
|
2385
|
+
"inputs": [
|
|
2386
|
+
{
|
|
2387
|
+
"indexed": true,
|
|
2388
|
+
"internalType": "uint256",
|
|
2389
|
+
"name": "revnetId",
|
|
2390
|
+
"type": "uint256"
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"indexed": false,
|
|
2394
|
+
"internalType": "bytes32",
|
|
2395
|
+
"name": "encodedConfigurationHash",
|
|
2396
|
+
"type": "bytes32"
|
|
2397
|
+
},
|
|
2398
|
+
{
|
|
2399
|
+
"components": [
|
|
2400
|
+
{
|
|
2401
|
+
"components": [
|
|
2402
|
+
{
|
|
2403
|
+
"internalType": "contract IJBSuckerDeployer",
|
|
2404
|
+
"name": "deployer",
|
|
2405
|
+
"type": "address"
|
|
2406
|
+
},
|
|
2407
|
+
{
|
|
2408
|
+
"components": [
|
|
2409
|
+
{
|
|
2410
|
+
"internalType": "address",
|
|
2411
|
+
"name": "localToken",
|
|
2412
|
+
"type": "address"
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
"internalType": "uint32",
|
|
2416
|
+
"name": "minGas",
|
|
2417
|
+
"type": "uint32"
|
|
2418
|
+
},
|
|
2419
|
+
{
|
|
2420
|
+
"internalType": "address",
|
|
2421
|
+
"name": "remoteToken",
|
|
2422
|
+
"type": "address"
|
|
2423
|
+
},
|
|
2424
|
+
{
|
|
2425
|
+
"internalType": "uint256",
|
|
2426
|
+
"name": "minBridgeAmount",
|
|
2427
|
+
"type": "uint256"
|
|
2428
|
+
}
|
|
2429
|
+
],
|
|
2430
|
+
"internalType": "struct JBTokenMapping[]",
|
|
2431
|
+
"name": "mappings",
|
|
2432
|
+
"type": "tuple[]"
|
|
2433
|
+
}
|
|
2434
|
+
],
|
|
2435
|
+
"internalType": "struct JBSuckerDeployerConfig[]",
|
|
2436
|
+
"name": "deployerConfigurations",
|
|
2437
|
+
"type": "tuple[]"
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
"internalType": "bytes32",
|
|
2441
|
+
"name": "salt",
|
|
2442
|
+
"type": "bytes32"
|
|
2443
|
+
}
|
|
2444
|
+
],
|
|
2445
|
+
"indexed": false,
|
|
2446
|
+
"internalType": "struct REVSuckerDeploymentConfig",
|
|
2447
|
+
"name": "suckerDeploymentConfiguration",
|
|
2448
|
+
"type": "tuple"
|
|
2449
|
+
},
|
|
2450
|
+
{
|
|
2451
|
+
"indexed": false,
|
|
2452
|
+
"internalType": "address",
|
|
2453
|
+
"name": "caller",
|
|
2454
|
+
"type": "address"
|
|
2455
|
+
}
|
|
2456
|
+
],
|
|
2457
|
+
"name": "DeploySuckers",
|
|
2458
|
+
"type": "event"
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
"anonymous": false,
|
|
2462
|
+
"inputs": [
|
|
2463
|
+
{
|
|
2464
|
+
"indexed": true,
|
|
2465
|
+
"internalType": "uint256",
|
|
2466
|
+
"name": "revnetId",
|
|
2467
|
+
"type": "uint256"
|
|
2468
|
+
},
|
|
2469
|
+
{
|
|
2470
|
+
"indexed": true,
|
|
2471
|
+
"internalType": "address",
|
|
2472
|
+
"name": "newSplitOperator",
|
|
2473
|
+
"type": "address"
|
|
2474
|
+
},
|
|
2475
|
+
{
|
|
2476
|
+
"indexed": false,
|
|
2477
|
+
"internalType": "address",
|
|
2478
|
+
"name": "caller",
|
|
2479
|
+
"type": "address"
|
|
2480
|
+
}
|
|
2481
|
+
],
|
|
2482
|
+
"name": "ReplaceSplitOperator",
|
|
2483
|
+
"type": "event"
|
|
2484
|
+
},
|
|
2485
|
+
{
|
|
2486
|
+
"anonymous": false,
|
|
2487
|
+
"inputs": [
|
|
2488
|
+
{
|
|
2489
|
+
"indexed": false,
|
|
2490
|
+
"internalType": "uint256",
|
|
2491
|
+
"name": "revnetId",
|
|
2492
|
+
"type": "uint256"
|
|
2493
|
+
},
|
|
2494
|
+
{
|
|
2495
|
+
"indexed": false,
|
|
2496
|
+
"internalType": "address",
|
|
2497
|
+
"name": "additionalOperator",
|
|
2498
|
+
"type": "address"
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"indexed": false,
|
|
2502
|
+
"internalType": "uint256[]",
|
|
2503
|
+
"name": "permissionIds",
|
|
2504
|
+
"type": "uint256[]"
|
|
2505
|
+
},
|
|
2506
|
+
{
|
|
2507
|
+
"indexed": false,
|
|
2508
|
+
"internalType": "address",
|
|
2509
|
+
"name": "caller",
|
|
2510
|
+
"type": "address"
|
|
2511
|
+
}
|
|
2512
|
+
],
|
|
2513
|
+
"name": "SetAdditionalOperator",
|
|
2514
|
+
"type": "event"
|
|
2515
|
+
},
|
|
2516
|
+
{
|
|
2517
|
+
"anonymous": false,
|
|
2518
|
+
"inputs": [
|
|
2519
|
+
{
|
|
2520
|
+
"indexed": true,
|
|
2521
|
+
"internalType": "uint256",
|
|
2522
|
+
"name": "revnetId",
|
|
2523
|
+
"type": "uint256"
|
|
2524
|
+
},
|
|
2525
|
+
{
|
|
2526
|
+
"indexed": false,
|
|
2527
|
+
"internalType": "uint256",
|
|
2528
|
+
"name": "cashOutDelay",
|
|
2529
|
+
"type": "uint256"
|
|
2530
|
+
},
|
|
2531
|
+
{
|
|
2532
|
+
"indexed": false,
|
|
2533
|
+
"internalType": "address",
|
|
2534
|
+
"name": "caller",
|
|
2535
|
+
"type": "address"
|
|
2536
|
+
}
|
|
2537
|
+
],
|
|
2538
|
+
"name": "SetCashOutDelay",
|
|
2539
|
+
"type": "event"
|
|
2540
|
+
},
|
|
2541
|
+
{
|
|
2542
|
+
"anonymous": false,
|
|
2543
|
+
"inputs": [
|
|
2544
|
+
{
|
|
2545
|
+
"indexed": true,
|
|
2546
|
+
"internalType": "uint256",
|
|
2547
|
+
"name": "revnetId",
|
|
2548
|
+
"type": "uint256"
|
|
2549
|
+
},
|
|
2550
|
+
{
|
|
2551
|
+
"indexed": true,
|
|
2552
|
+
"internalType": "uint256",
|
|
2553
|
+
"name": "stageId",
|
|
2554
|
+
"type": "uint256"
|
|
2555
|
+
},
|
|
2556
|
+
{
|
|
2557
|
+
"indexed": true,
|
|
2558
|
+
"internalType": "address",
|
|
2559
|
+
"name": "beneficiary",
|
|
2560
|
+
"type": "address"
|
|
2561
|
+
},
|
|
2562
|
+
{
|
|
2563
|
+
"indexed": false,
|
|
2564
|
+
"internalType": "uint256",
|
|
2565
|
+
"name": "count",
|
|
2566
|
+
"type": "uint256"
|
|
2567
|
+
},
|
|
2568
|
+
{
|
|
2569
|
+
"indexed": false,
|
|
2570
|
+
"internalType": "address",
|
|
2571
|
+
"name": "caller",
|
|
2572
|
+
"type": "address"
|
|
2573
|
+
}
|
|
2574
|
+
],
|
|
2575
|
+
"name": "StoreAutoIssuanceAmount",
|
|
2576
|
+
"type": "event"
|
|
2577
|
+
},
|
|
2578
|
+
{
|
|
2579
|
+
"inputs": [
|
|
2580
|
+
{
|
|
2581
|
+
"internalType": "uint256",
|
|
2582
|
+
"name": "x",
|
|
2583
|
+
"type": "uint256"
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
"internalType": "uint256",
|
|
2587
|
+
"name": "y",
|
|
2588
|
+
"type": "uint256"
|
|
2589
|
+
},
|
|
2590
|
+
{
|
|
2591
|
+
"internalType": "uint256",
|
|
2592
|
+
"name": "denominator",
|
|
2593
|
+
"type": "uint256"
|
|
2594
|
+
}
|
|
2595
|
+
],
|
|
2596
|
+
"name": "PRBMath_MulDiv_Overflow",
|
|
2597
|
+
"type": "error"
|
|
2598
|
+
},
|
|
2599
|
+
{
|
|
2600
|
+
"inputs": [],
|
|
2601
|
+
"name": "REVDeployer_AutoIssuanceBeneficiaryZeroAddress",
|
|
2602
|
+
"type": "error"
|
|
2603
|
+
},
|
|
2604
|
+
{
|
|
2605
|
+
"inputs": [
|
|
2606
|
+
{
|
|
2607
|
+
"internalType": "uint256",
|
|
2608
|
+
"name": "cashOutDelay",
|
|
2609
|
+
"type": "uint256"
|
|
2610
|
+
},
|
|
2611
|
+
{
|
|
2612
|
+
"internalType": "uint256",
|
|
2613
|
+
"name": "blockTimestamp",
|
|
2614
|
+
"type": "uint256"
|
|
2615
|
+
}
|
|
2616
|
+
],
|
|
2617
|
+
"name": "REVDeployer_CashOutDelayNotFinished",
|
|
2618
|
+
"type": "error"
|
|
2619
|
+
},
|
|
2620
|
+
{
|
|
2621
|
+
"inputs": [
|
|
2622
|
+
{
|
|
2623
|
+
"internalType": "uint256",
|
|
2624
|
+
"name": "cashOutTaxRate",
|
|
2625
|
+
"type": "uint256"
|
|
2626
|
+
},
|
|
2627
|
+
{
|
|
2628
|
+
"internalType": "uint256",
|
|
2629
|
+
"name": "maxCashOutTaxRate",
|
|
2630
|
+
"type": "uint256"
|
|
2631
|
+
}
|
|
2632
|
+
],
|
|
2633
|
+
"name": "REVDeployer_CashOutsCantBeTurnedOffCompletely",
|
|
2634
|
+
"type": "error"
|
|
2635
|
+
},
|
|
2636
|
+
{
|
|
2637
|
+
"inputs": [
|
|
2638
|
+
{
|
|
2639
|
+
"internalType": "address",
|
|
2640
|
+
"name": "token",
|
|
2641
|
+
"type": "address"
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
"internalType": "address",
|
|
2645
|
+
"name": "terminal",
|
|
2646
|
+
"type": "address"
|
|
2647
|
+
}
|
|
2648
|
+
],
|
|
2649
|
+
"name": "REVDeployer_LoanSourceDoesntMatchTerminalConfigurations",
|
|
2650
|
+
"type": "error"
|
|
2651
|
+
},
|
|
2652
|
+
{
|
|
2653
|
+
"inputs": [],
|
|
2654
|
+
"name": "REVDeployer_MustHaveSplits",
|
|
2655
|
+
"type": "error"
|
|
2656
|
+
},
|
|
2657
|
+
{
|
|
2658
|
+
"inputs": [],
|
|
2659
|
+
"name": "REVDeployer_NothingToAutoIssue",
|
|
2660
|
+
"type": "error"
|
|
2661
|
+
},
|
|
2662
|
+
{
|
|
2663
|
+
"inputs": [],
|
|
2664
|
+
"name": "REVDeployer_RulesetDoesNotAllowDeployingSuckers",
|
|
2665
|
+
"type": "error"
|
|
2666
|
+
},
|
|
2667
|
+
{
|
|
2668
|
+
"inputs": [
|
|
2669
|
+
{
|
|
2670
|
+
"internalType": "uint256",
|
|
2671
|
+
"name": "stageId",
|
|
2672
|
+
"type": "uint256"
|
|
2673
|
+
}
|
|
2674
|
+
],
|
|
2675
|
+
"name": "REVDeployer_StageNotStarted",
|
|
2676
|
+
"type": "error"
|
|
2677
|
+
},
|
|
2678
|
+
{
|
|
2679
|
+
"inputs": [],
|
|
2680
|
+
"name": "REVDeployer_StageTimesMustIncrease",
|
|
2681
|
+
"type": "error"
|
|
2682
|
+
},
|
|
2683
|
+
{
|
|
2684
|
+
"inputs": [],
|
|
2685
|
+
"name": "REVDeployer_StagesRequired",
|
|
2686
|
+
"type": "error"
|
|
2687
|
+
},
|
|
2688
|
+
{
|
|
2689
|
+
"inputs": [
|
|
2690
|
+
{
|
|
2691
|
+
"internalType": "uint256",
|
|
2692
|
+
"name": "revnetId",
|
|
2693
|
+
"type": "uint256"
|
|
2694
|
+
},
|
|
2695
|
+
{
|
|
2696
|
+
"internalType": "address",
|
|
2697
|
+
"name": "caller",
|
|
2698
|
+
"type": "address"
|
|
2699
|
+
}
|
|
2700
|
+
],
|
|
2701
|
+
"name": "REVDeployer_Unauthorized",
|
|
2702
|
+
"type": "error"
|
|
2703
|
+
},
|
|
2704
|
+
{
|
|
2705
|
+
"inputs": [
|
|
2706
|
+
{
|
|
2707
|
+
"internalType": "address",
|
|
2708
|
+
"name": "spender",
|
|
2709
|
+
"type": "address"
|
|
2710
|
+
},
|
|
2711
|
+
{
|
|
2712
|
+
"internalType": "uint256",
|
|
2713
|
+
"name": "currentAllowance",
|
|
2714
|
+
"type": "uint256"
|
|
2715
|
+
},
|
|
2716
|
+
{
|
|
2717
|
+
"internalType": "uint256",
|
|
2718
|
+
"name": "requestedDecrease",
|
|
2719
|
+
"type": "uint256"
|
|
2720
|
+
}
|
|
2721
|
+
],
|
|
2722
|
+
"name": "SafeERC20FailedDecreaseAllowance",
|
|
2723
|
+
"type": "error"
|
|
2724
|
+
},
|
|
2725
|
+
{
|
|
2726
|
+
"inputs": [
|
|
2727
|
+
{
|
|
2728
|
+
"internalType": "address",
|
|
2729
|
+
"name": "token",
|
|
2730
|
+
"type": "address"
|
|
2731
|
+
}
|
|
2732
|
+
],
|
|
2733
|
+
"name": "SafeERC20FailedOperation",
|
|
2734
|
+
"type": "error"
|
|
2735
|
+
}
|
|
2736
|
+
],
|
|
2737
|
+
"args": [],
|
|
2738
|
+
"solcInputHash": "f71d3fc8ea9b29896a8a303357115199",
|
|
2739
|
+
"receipt": {
|
|
2740
|
+
"type": "0x2",
|
|
2741
|
+
"status": "0x1",
|
|
2742
|
+
"cumulativeGasUsed": "0x5a835e",
|
|
2743
|
+
"logs": [
|
|
2744
|
+
{
|
|
2745
|
+
"address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
2746
|
+
"topics": [
|
|
2747
|
+
"0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
|
|
2748
|
+
"0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
2749
|
+
"0x0000000000000000000000000740356dc773dee1ee291619cea1a07c692a56a8",
|
|
2750
|
+
"0xd9e9fe6fd6332a6248a83730bd53a7215476d3536b4b4b12b19450b0a0f241eb"
|
|
2751
|
+
],
|
|
2752
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
2753
|
+
"blockHash": "0xe17a5b865c6c7f4f58fe7a3ccf4a8566f9f8e05c0fec456d72e4a984afaa8655",
|
|
2754
|
+
"blockNumber": "0x168d43d0",
|
|
2755
|
+
"transactionHash": "0xca60c349d072fbbf0ec8357de8a6807d6b52476584c8399a66952f0410eb18f3",
|
|
2756
|
+
"transactionIndex": "0x1",
|
|
2757
|
+
"logIndex": "0x0",
|
|
2758
|
+
"removed": false
|
|
2759
|
+
},
|
|
2760
|
+
{
|
|
2761
|
+
"address": "0x04fd6913d6c32d8c216e153a43c04b1857a7793d",
|
|
2762
|
+
"topics": [
|
|
2763
|
+
"0x5324a861114a736770617a7dad3321b8417dc39698b30adfade6d0367b2e5d59",
|
|
2764
|
+
"0x00000000000000000000000007c8c5bf08f0361883728a8a5f8824ba5724ece3",
|
|
2765
|
+
"0x0000000000000000000000002ca27bde7e7d33e353b44c27acfcf6c78dde251d",
|
|
2766
|
+
"0x0000000000000000000000000000000000000000000000000000000000000000"
|
|
2767
|
+
],
|
|
2768
|
+
"data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000100000000000000000000000000000002ca27bde7e7d33e353b44c27acfcf6c78dde251d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001c",
|
|
2769
|
+
"blockHash": "0xe17a5b865c6c7f4f58fe7a3ccf4a8566f9f8e05c0fec456d72e4a984afaa8655",
|
|
2770
|
+
"blockNumber": "0x168d43d0",
|
|
2771
|
+
"transactionHash": "0xca60c349d072fbbf0ec8357de8a6807d6b52476584c8399a66952f0410eb18f3",
|
|
2772
|
+
"transactionIndex": "0x1",
|
|
2773
|
+
"logIndex": "0x1",
|
|
2774
|
+
"removed": false
|
|
2775
|
+
},
|
|
2776
|
+
{
|
|
2777
|
+
"address": "0x6b92c73682f0e1fac35a18ab17efa5e77dde9fe1",
|
|
2778
|
+
"topics": [
|
|
2779
|
+
"0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
|
|
2780
|
+
"0x0000000000000000000000000740356dc773dee1ee291619cea1a07c692a56a8"
|
|
2781
|
+
],
|
|
2782
|
+
"data": "0x",
|
|
2783
|
+
"blockHash": "0xe17a5b865c6c7f4f58fe7a3ccf4a8566f9f8e05c0fec456d72e4a984afaa8655",
|
|
2784
|
+
"blockNumber": "0x168d43d0",
|
|
2785
|
+
"transactionHash": "0xca60c349d072fbbf0ec8357de8a6807d6b52476584c8399a66952f0410eb18f3",
|
|
2786
|
+
"transactionIndex": "0x1",
|
|
2787
|
+
"logIndex": "0x2",
|
|
2788
|
+
"removed": false
|
|
2789
|
+
},
|
|
2790
|
+
{
|
|
2791
|
+
"address": "0x0740356dc773dee1ee291619cea1a07c692a56a8",
|
|
2792
|
+
"topics": [
|
|
2793
|
+
"0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
|
|
2794
|
+
"0x4be49ca547a87b716d3e242b6b35a2953b41da4fb5d0a71e84e432f972737a5a"
|
|
2795
|
+
],
|
|
2796
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
2797
|
+
"blockHash": "0xe17a5b865c6c7f4f58fe7a3ccf4a8566f9f8e05c0fec456d72e4a984afaa8655",
|
|
2798
|
+
"blockNumber": "0x168d43d0",
|
|
2799
|
+
"transactionHash": "0xca60c349d072fbbf0ec8357de8a6807d6b52476584c8399a66952f0410eb18f3",
|
|
2800
|
+
"transactionIndex": "0x1",
|
|
2801
|
+
"logIndex": "0x3",
|
|
2802
|
+
"removed": false
|
|
2803
|
+
}
|
|
2804
|
+
],
|
|
2805
|
+
"logsBloom": "0x00000000000010008000000000180000004000000000008000000200000000000000000000000000000000000040000000000000000000000000000000000000004000000000200000000800000000000000000000000000000000000002002000000000020000000000400000000800000000000000000800000000000000000800020000000000000104000008000100100000000000000000000000000000004000040000000080000000000000002200200000000000020800000004000000000002000000000000000000000000000000000001000000000000000020000000000000010000008408000000400200000000000080000040000000000000",
|
|
2806
|
+
"transactionHash": "0xca60c349d072fbbf0ec8357de8a6807d6b52476584c8399a66952f0410eb18f3",
|
|
2807
|
+
"transactionIndex": "0x1",
|
|
2808
|
+
"blockHash": "0xe17a5b865c6c7f4f58fe7a3ccf4a8566f9f8e05c0fec456d72e4a984afaa8655",
|
|
2809
|
+
"blockNumber": "0x168d43d0",
|
|
2810
|
+
"gasUsed": "0x5a835e",
|
|
2811
|
+
"effectiveGasPrice": "0x989680",
|
|
2812
|
+
"from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
2813
|
+
"to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
2814
|
+
"contractAddress": null
|
|
2815
|
+
},
|
|
2816
|
+
"bytecode": "0x6101a060405234801562000011575f80fd5b506040516200651c3803806200651c8339810160408190526200003491620002ec565b6001600160a01b03808216608052861660a0819052604080516388bc2ef360e01b815290516388bc2ef3916004808201926020929091908290030181865afa15801562000083573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a9919062000370565b6001600160a01b031660c0816001600160a01b031681525050856001600160a01b031663293c49996040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000125919062000370565b6001600160a01b0316610140816001600160a01b03168152505060a0516001600160a01b031663f434c9146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a4919062000370565b6001600160a01b039081166101205285811661018081905260e08690528482166101005290831661016052620001dd905f601c620001e9565b50505050505062000434565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811062000220576200022062000395565b60ff90921660209283029190910190910152620002403085858462000246565b50505050565b604080516060810182526001600160a01b0380861682526001600160401b0385166020830152818301849052610120519251631127c92960e21b81529192169063449f24a4906200029e9088908590600401620003a9565b5f604051808303815f87803b158015620002b6575f80fd5b505af1158015620002c9573d5f803e3d5ffd5b505050505050505050565b6001600160a01b0381168114620002e9575f80fd5b50565b5f805f805f8060c0878903121562000302575f80fd5b86516200030f81620002d4565b60208801519096506200032281620002d4565b6040880151606089015191965094506200033c81620002d4565b60808801519093506200034f81620002d4565b60a08801519092506200036281620002d4565b809150509295509295509295565b5f6020828403121562000381575f80fd5b81516200038e81620002d4565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03838116825260406020808401829052845190921681840152838201516001600160401b0316606080850191909152908401516080840191909152805160a084018190525f929182019190839060c08601905b808310156200042857845160ff16825293830193600192909201919083019062000403565b50979650505050505050565b60805160a05160c05160e0516101005161012051610140516101605161018051615fe16200053b5f395f81816105500152818161288001526128fe01525f818161062a01528181611ac00152611b2701525f81816102b6015281816107e80152818161168a0152818161222e015261231101525f818161069001528181611192015261158901525f818161051d015261173601525f818161024801528181610f68015281816110f801526112d601525f818161046a01526112af01525f818161065d01528181610bca01528181610cb001528181610e51015281816121620152818161237d0152818161240501526124d201525f8181610435015261085c0152615fe15ff3fe6080604052600436106101a6575f3560e01c80638cc35846116100e3578063b987005d11610092578063dbfbe5da11610062578063dbfbe5da14610619578063ee0fc1211461064c578063f434c9141461067f578063fb82b1b0146106b2575f80fd5b8063b987005d146105b4578063c22903b2146105d3578063c57981b5146105e6578063db29c892146105fa575f80fd5b80638cc358461461048c578063902b742e146104b957806399f6d77f146104ed578063abf8c5c81461050c578063b5d255331461053f578063b78edb6614610572578063b8a843d71461059e575f80fd5b8063437e61071161015957806367d39de21161012957806367d39de2146103c85780637249a773146103f35780637da0a8771461042757806388bc2ef314610459575f80fd5b8063437e6107146103245780634fa9af691461035f578063572b6c051461038a5780636169a3bb146103a9575f80fd5b806244a005146101aa57806301ffc9a7146101cb578063150b7a02146101ff5780631680e172146102375780632545de8e14610278578063293c4999146102a55780633b7ae807146102f0575b5f80fd5b3480156101b5575f80fd5b506101c96101c4366004613794565b6106e1565b005b3480156101d6575f80fd5b506101ea6101e53660046137c2565b610770565b60405190151581526020015b60405180910390f35b34801561020a575f80fd5b5061021e6102193660046137e9565b6107dc565b6040516001600160e01b031990911681526020016101f6565b348015610242575f80fd5b5061026a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101f6565b348015610283575f80fd5b506102976102923660046138fc565b610823565b6040516101f69291906139fd565b3480156102b0575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101f6565b3480156102fb575f80fd5b506102d861030a366004613a14565b60046020525f90815260409020546001600160a01b031681565b34801561032f575f80fd5b5061026a61033e366004613a2b565b5f602081815293815260408082208552928152828120909352825290205481565b34801561036a575f80fd5b5061026a610379366004613a14565b60026020525f908152604090205481565b348015610395575f80fd5b506101ea6103a4366004613a61565b61085a565b3480156103b4575f80fd5b5061026a6103c3366004613a7c565b61088c565b3480156103d3575f80fd5b5061026a6103e2366004613a14565b60036020525f908152604090205481565b3480156103fe575f80fd5b506102d861040d366004613a14565b60016020525f90815260409020546001600160a01b031681565b348015610432575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006102d8565b348015610464575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b348015610497575f80fd5b506104ab6104a6366004613b2e565b6108d1565b6040516101f6929190613bb2565b3480156104c4575f80fd5b506102d86104d3366004613a14565b60056020525f90815260409020546001600160a01b031681565b3480156104f8575f80fd5b506101ea610507366004613c41565b610acd565b348015610517575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b34801561054a575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b34801561057d575f80fd5b5061059161058c366004613c81565b610ba4565b6040516101f69190613d07565b3480156105a9575f80fd5b5061026a62278d0081565b3480156105bf575f80fd5b506101c96105ce366004613a2b565b610c91565b6101c96105e1366004613d19565b610ec3565b3480156105f1575f80fd5b5061026a601981565b348015610605575f80fd5b506101ea610614366004613794565b61118f565b348015610624575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b348015610657575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b34801561068a575f80fd5b506102d87f000000000000000000000000000000000000000000000000000000000000000081565b3480156106bd575f80fd5b506106d16106cc366004613d50565b61122d565b6040516101f69493929190613d87565b6106f2826106ed6114d2565b611522565b806001600160a01b0316827f0329d6a81434b130c72eb65eea0e32e429dc1277b4aad86ec86454aefb6184516107266114d2565b6040516001600160a01b03909116815260200160405180910390a36107623061074d6114d2565b604080515f815260208101909152859061154d565b61076c82826115d7565b5050565b5f6001600160e01b0319821663366f9f2160e01b14806107a057506001600160e01b0319821663eeb73e8960e01b145b806107bb57506001600160e01b0319821663611481d960e11b145b806107d657506001600160e01b03198216630a85bd0160e11b145b92915050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610811575f80fd5b50630a85bd0160e11b95945050505050565b5f808a15801561083857610835611687565b9b505b61084a8c828d8d8d8d8d8d8d8d611718565b9b9c9a5050505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b5f861580156108a05761089d611687565b97505b5f806108ae8a8a8a8a611b71565b915091506108c38a848b8b8b8b8b8989612151565b509798975050505050505050565b60c08101355f9081526001602052604081205460609081906001600160a01b0316801561096f57604051634661ac2360e11b81526001600160a01b03821690638cc3584690610924908890600401613f1c565b5f60405180830381865afa15801561093e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096591908101906140a3565b9094509150610978565b84610120013593505b815160c08601355f908152600560205260409020546001909114906001600160a01b0316801515826109aa575f6109ad565b60015b816109b8575f6109bb565b60015b6109c59190614211565b60ff166001600160401b038111156109df576109df613e25565b604051908082528060200260200182016040528015610a2b57816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816109fd5790505b5095508015610a84576040518060600160405280836001600160a01b031681526020015f815260200160405180602001604052805f815250815250865f81518110610a7857610a7861422a565b60200260200101819052505b8215610ac357845f81518110610a9c57610a9c61422a565b602002602001015186600181518110610ab757610ab761422a565b60200260200101819052505b5050505050915091565b5f8381526001602090815260408083205460049092528220546001600160a01b039182169184811691161480610b145750806001600160a01b0316836001600160a01b0316145b80610b8957506040516399f6d77f60e01b81526001600160a01b038216906399f6d77f90610b4a9088908890889060040161427b565b602060405180830381865afa158015610b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190614396565b80610b995750610b998584612867565b9150505b9392505050565b6060610bb2836106ed6114d2565b6040516320c94b1360e11b8152600481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063419296269060240161038060405180830381865afa158015610c18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c9190614560565b61024081015190925060021c600190811614905080610c6e57604051631abe0dd960e21b815260040160405180910390fd5b5f85815260036020526040902054610c88908690866128b7565b95945050505050565b604051630969875760e21b815260048101849052602481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906325a61d5c9060440161038060405180830381865afa158015610cfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d229190614560565b50905042816060015165ffffffffffff161115610d5a576040516374e6881560e11b8152600481018490526024015b60405180910390fd5b5f8481526020818152604080832086845282528083206001600160a01b038616845290915281205490819003610da35760405163357db1e760e21b815260040160405180910390fd5b5f8581526020818152604080832087845282528083206001600160a01b038716808552925282209190915584867f0ad8046f3d571312df6d1867ac30c26e100f5684a9d7c2d3340c4e2a5b56360f84610dfa6114d2565b604051610e089291906139fd565b60405180910390a46040516363fdc96f60e11b815260048101869052602481018290526001600160a01b03848116604483015260a060648301525f60a4830181905260848301527f0000000000000000000000000000000000000000000000000000000000000000169063c7fb92de9060c4016020604051808303815f875af1158015610e97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebb9190614634565b505050505050565b61eeee610ed861012083016101008401613a61565b6001600160a01b031614610f1457610f143330610160840135610f0361012086016101008701613a61565b6001600160a01b03169291906129d7565b5f610f236101c083018361464b565b810190610f309190613a61565b90505f610f5482610f4961012086016101008701613a61565b610160860135612a3e565b90506001600160a01b03821663fef43257827f0000000000000000000000000000000000000000000000000000000000000000610f9961012088016101008901613a61565b610160880135610fac60208a018a613a61565b5f8a60200135604051602001610fc491815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401610ff49695949392919061468d565b60206040518083038185885af19350505050801561102f575060408051601f3d908101601f1916820190925261102c91810190614634565b60015b611189573d80801561105c576040519150601f19603f3d011682016040523d82523d5f602084013e611061565b606091505b5061eeee61107761012086016101008701613a61565b6001600160a01b0316146110b1576110b1836101608601356110a161012088016101008901613a61565b6001600160a01b03169190612a76565b6110d2336110c761012087016101008801613a61565b610160870135612a3e565b915033639e6eec058360208701356110f261012089016101008a01613a61565b604080517f000000000000000000000000000000000000000000000000000000000000000060208201526101608b0135915f91016040516020818303038152906040526040518763ffffffff1660e01b81526004016111559594939291906146e4565b5f604051808303818588803b15801561116c575f80fd5b505af115801561117e573d5f803e3d5ffd5b505050505050505050565b50505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663632af95f8330866111cb88612b30565b5f806040518763ffffffff1660e01b81526004016111ee96959493929190614730565b602060405180830381865afa158015611209573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9d9190614396565b5f8080606061124e604086018035906112499060208901613a61565b612867565b15611269575f85608001358660a001359350935093506114cb565b6040808601355f90815260026020522054428111156112a45760405163e4a9c90760e01b815260048101829052426024820152604401610d51565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663862026507f000000000000000000000000000000000000000000000000000000000000000061130560e08b0160c08c01613a61565b6040518363ffffffff1660e01b81526004016113229291906139fd565b602060405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136191906147a8565b9050610160870135158061137c57506001600160a01b038116155b1561139e5786610160013587608001358860a0013595509550955050506114cb565b5f6113b1608089013560196103e8612d0e565b90505f6113c28260808b01356147c3565b90505f6113df6101208b01358360a08d01356101608e0135612ddd565b90505f6114106113f4836101208e01356147c3565b85858e60a0013561140591906147c3565b8e6101600135612ddd565b604080516001808252818301909252919250816020015b60408051606080820183525f80835260208301529181019190915281526020019060019003908161142757505060408051606081018252308152602080820185905282516001600160a01b038a1691810191909152929950918282019101604051602081830303815290604052815250875f815181106114a9576114a961422a565b6020908102919091010152505061016089013597509550505060a08601359250505b9193509193565b5f3660146114df3361085a565b80156114eb5750808210155b1561151a575f366114fc83856147c3565b6115079282906147d6565b611510916147fd565b60601c9250505090565b339250505090565b61152c828261118f565b61076c5781816040516355e03cb160e11b8152600401610d519291906139fd565b604080516060810182526001600160a01b0380861682526001600160401b03851660208301528183018490529151631127c92960e21b815290917f0000000000000000000000000000000000000000000000000000000000000000169063449f24a4906115c09088908590600401614832565b5f604051808303815f87803b15801561116c575f80fd5b5f6115e183612b30565b90505f81516001600160401b038111156115fd576115fd613e25565b604051908082528060200260200182016040528015611626578160200160208202803683370190505b5090505f5b825181101561167a578281815181106116465761164661422a565b60200260200101518282815181106116605761166061422a565b60ff9092166020928302919091019091015260010161162b565b506111893084868461154d565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117089190614634565b6117139060016148bb565b905090565b5f805f6117278d8c8c8c611b71565b90925090506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ea74b8af8e61176689806148ce565b8960200135856117746114d2565b604051602001611786939291906148ed565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b81526004016117ba93929190614b9d565b6020604051808303815f875af11580156117d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fa91906147a8565b5f8e8152600560205260409081902080546001600160a01b0319166001600160a01b0384161790559093506118359060608801908801614cc6565b1561185c575f8d815260066020908152604082208054600181018255908352912060149101555b61186c6080870160608801614cc6565b15611893575f8d815260066020908152604082208054600181018255908352912060159101555b6118a360a0870160808801614cc6565b156118ca575f8d815260066020908152604082208054600181018255908352912060169101555b6118da60c0870160a08801614cc6565b15611901575f8d815260066020908152604082208054600181018255908352912060179101555b8315611b50575f846001600160401b0381111561192057611920613e25565b60405190808252806020026020018201604052801561198057816020015b6040805160c0810182525f80825260208083018290529282018190526060808301829052608083019190915260a082015282525f1990920191018161193e5790505b5090505f5b85811015611aa857368787838181106119a0576119a061422a565b90506020028101906119b29190614ce1565b90506040518060c00160405280876001600160a01b03168152602001825f0160208101906119e09190614cf5565b62ffffff1681526020018260200160208101906119fd9190614d0e565b6001600160681b03168152602001611a1b6060840160408501614d27565b63ffffffff168152602001611a366080840160608501614d27565b63ffffffff168152602001611a4e6080840184614d42565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050509152508351849084908110611a9457611a9461422a565b602090810291909101015250600101611985565b50604051631107934d60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441e4d3490611af5908490600401614d87565b5f604051808303815f87803b158015611b0c575f80fd5b505af1158015611b1e573d5f803e3d5ffd5b50505050611b4e7f00000000000000000000000000000000000000000000000000000000000000008f6014612e50565b505b611b618d8d8d8d8d8d8d8989612151565b50509a9950505050505050505050565b60605f611b8085830186614d42565b90505f03611ba15760405163050751e560e21b815260040160405180910390fd5b611bae6060860186614d42565b90506001600160401b03811115611bc757611bc7613e25565b604051908082528060200260200182016040528015611c0057816020015b611bed613687565b815260200190600190039081611be55790505b5091505f611c146040870160208801614d27565b611c2460c0880160a08901613a61565b611c2e8880614e4b565b611c38908061464b565b611c428a80614e4b565b611c5090602081019061464b565b611c5a8c80614e4b565b60600135604051602001611c749796959493929190614e5f565b60405160208183030381529060405290505f611c91878787612ea4565b90505f5b611ca26060890189614d42565b905081101561213b5736611cb960608a018a614d42565b83818110611cc957611cc961422a565b9050602002810190611cdb9190614eb7565b90505f611cee6060830160408401614ecc565b61ffff16118015611d0b5750611d076060820182614ee7565b1590505b15611d29576040516340fb407760e01b815260040160405180910390fd5b5f82118015611d9a5750611d4060608a018a614d42565b611d4b6001856147c3565b818110611d5a57611d5a61422a565b9050602002810190611d6c9190614eb7565b611d7a906020810190614f2b565b65ffffffffffff16611d8f6020830183614f2b565b65ffffffffffff1611155b15611db85760405163b787fe6760e01b815260040160405180910390fd5b612710611dcc610100830160e08401614ecc565b61ffff1610611e0e57611de6610100820160e08301614ecc565b6040516380922c6d60e01b815261ffff90911660048201526127106024820152604401610d51565b611e28611e2160408b0160208c01614d27565b828561310b565b868381518110611e3a57611e3a61422a565b602002602001018190525083825f148015611e675750611e5d6020830183614f2b565b65ffffffffffff16155b611e8557611e786020830183614f2b565b65ffffffffffff16611e87565b425b611e976060840160408501614ecc565b611ea760a0850160808601614f46565b611eb760c0860160a08701614d27565b611ec760e0870160c08801614d27565b611ed8610100880160e08901614ecc565b604051602001611eee9796959493929190614f61565b60405160208183030381529060405293505f5b611f0e6020830183614fba565b90508110156121315736611f256020840184614fba565b83818110611f3557611f3561422a565b90506060020190505f6001600160a01b0316816040016020810190611f5a9190613a61565b6001600160a01b031603611f815760405163b79e8c7d60e01b815260040160405180910390fd5b611f916040820160208301614d0e565b6001600160681b03165f03611fa65750612129565b85611fb46020830183614d27565b611fc46060840160408501613a61565b611fd46040850160208601614d0e565b604051602001611fe79493929190614ffe565b60408051601f198184030181529190529550466120076020830183614d27565b63ffffffff16146120185750612129565b6120286060820160408301613a61565b6001600160a01b031661203b85426148bb565b8d7f5c05d79eeb764b1f5069fb55a8558e8a5cec91813a64282bc198dc9084c75df061206d6040860160208701614d0e565b6120756114d2565b604080516001600160681b0390931683526001600160a01b0390911660208301520160405180910390a46120af6040820160208301614d0e565b5f8d81526020819052604081206001600160681b039290921691906120d487426148bb565b81526020019081526020015f205f8360400160208101906120f59190613a61565b6001600160a01b03166001600160a01b031681526020019081526020015f205f82825461212291906148bb565b9091555050505b600101611f01565b5050600101611c95565b5081805190602001209250505094509492505050565b871561221657886001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016635c7465e5306121928b80614e4b565b6121a090604081019061464b565b878c8c6040518763ffffffff1660e01b81526004016121c496959493929190615551565b6020604051808303815f875af11580156121e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122049190614634565b14612211576122116155ba565b612490565b6040516331a9108f60e11b8152600481018a90525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561227b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229f91906147a8565b9050806001600160a01b03166122b36114d2565b6001600160a01b0316146122e557896122ca6114d2565b6040516355e03cb160e11b8152600401610d519291906139fd565b604051632142170760e11b81526001600160a01b038281166004830152306024830152604482018c90527f000000000000000000000000000000000000000000000000000000000000000016906342842e0e906064015f604051808303815f87803b158015612352575f80fd5b505af1158015612364573d5f803e3d5ffd5b50506040516339284f3560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506339284f3591506123ba908d9087908c908c906004016155ce565b6020604051808303815f875af11580156123d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fa9190614634565b506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663702a39778b6124358b80614e4b565b61244390604081019061464b565b6040518463ffffffff1660e01b815260040161246193929190615615565b5f604051808303815f87803b158015612478575f80fd5b505af115801561248a573d5f803e3d5ffd5b50505050505b6124c8896124a160608a018a614d42565b5f8181106124b1576124b161422a565b90506020028101906124c39190614eb7565b613310565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663581781918a6125028a80614e4b565b61250c908061464b565b6125168c80614e4b565b61252490602081019061464b565b61252e8e80614e4b565b606001358861253b6114d2565b60405160200161254d939291906148ed565b604051602081830303815290604052805190602001206040518763ffffffff1660e01b81526004016125849695949392919061562e565b6020604051808303815f875af11580156125a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c491906147a8565b505f6125d36020860186613a61565b6001600160a01b031614612759576125ee6020850185613a61565b5f8a815260016020908152604080832080546001600160a01b0319166001600160a01b039590951694909417909355909161262e91908701908701613a61565b6001600160a01b031614612759575f5b61264b6040860186614fba565b905081101561275757366126626040870187614fba565b838181106126725761267261422a565b905060600201905085602001602081019061268d9190613a61565b6001600160a01b0316639098afeb8c6126ac6040850160208601614cf5565b6126bc6060860160408701614d27565b6126c96020870187613a61565b6040516001600160e01b031960e087901b168152600481019490945262ffffff909216602484015263ffffffff1660448301526001600160a01b031660648201526084016020604051808303815f875af1158015612729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061274d91906147a8565b505060010161263e565b505b5f61276a60c0890160a08a01613a61565b6001600160a01b0316146127cf5761279361278b60c0890160a08a01613a61565b8a6010612e50565b6127a360c0880160a08901613a61565b5f8a815260046020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6127e8896127e360608a0160408b01613a61565b6115d7565b6020830135156127ff576127fd8982856128b7565b505b5f898152600360205260409020819055887f71aa788b1959149d074eb49c039291bbb825b7586df2f05c0a26627c987c1471888888888888886128406114d2565b604051612854989796959493929190615c0f565b60405180910390a2505050505050505050565b6040516383db9d0160e01b81525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906383db9d01906111ee90869086906004016139fd565b6060837fd1ae357f26434a99ce1f9e98bc6f3b593847697f1a14b95622dd27cd9bffb14084846128e56114d2565b6040516128f493929190615dc0565b60405180910390a27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632f3f50e08585856020013561293a6114d2565b60405160200161294c939291906148ed565b60408051601f19818403018152919052805160209091012061296e8680614d42565b6040518563ffffffff1660e01b815260040161298d9493929190615df0565b5f604051808303815f875af11580156129a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129cf9190810190615e0f565b949350505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526111899186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506133b4565b5f61eeed196001600160a01b03841601612a59575080610b9d565b612a6d6001600160a01b0384168584613420565b505f9392505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa158015612ac3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae79190614634565b905081811015612b235760405163e570110f60e01b81526001600160a01b03841660048201526024810182905260448101839052606401610d51565b61118984848484036134a2565b5f818152600660209081526040808320805482518185028101850190935280835260609493830182828015612b8257602002820191905f5260205f20905b815481526020019060010190808311612b6e575b5050505050905080516006612b9791906148bb565b6001600160401b03811115612bae57612bae613e25565b604051908082528060200260200182016040528015612bd7578160200160208202803683370190505b509150601160ff16825f81518110612bf157612bf161422a565b602002602001018181525050601960ff1682600181518110612c1557612c1561422a565b602002602001018181525050601860ff1682600281518110612c3957612c3961422a565b602002602001018181525050600660ff1682600381518110612c5d57612c5d61422a565b602002602001018181525050601260ff1682600481518110612c8157612c8161422a565b602002602001018181525050601e60ff1682600581518110612ca557612ca561422a565b6020026020010181815250505f5b8151811015612d0757818181518110612cce57612cce61422a565b602002602001015183826006612ce491906148bb565b81518110612cf457612cf461422a565b6020908102919091010152600101612cb3565b5050919050565b5f80805f19858709858702925082811083820303915050805f03612d4557838281612d3b57612d3b615e98565b0492505050610b9d565b838110612d7657604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d51565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f61270f198201612def57505f6129cf565b828410612dfd5750836129cf565b5f612e09868686612d0e565b9050825f03612e195790506129cf565b612e4681612e28858888612d0e565b612e34866127106147c3565b612e3e91906148bb565b612710612d0e565b9695505050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f81518110612e8457612e8461422a565b602002602001019060ff16908160ff16815250506111893085858461154d565b6060612eb36080850185615eac565b90506001600160401b03811115612ecc57612ecc613e25565b604051908082528060200260200182016040528015612f1f57816020015b604080516080810182525f8082526020820152606091810182905281810191909152815260200190600190039081612eea5790505b5090505f5b612f316080860186615eac565b90508110156131035736612f486080870187615eac565b83818110612f5857612f5861422a565b90506040020190505f612f6c868684613531565b90508063ffffffff165f03612fc457612f886020830183613a61565b612f986040840160208501613a61565b604051631ab3aa5760e01b81526001600160a01b03928316600482015291166024820152604401610d51565b6040805160018082528183019092525f91816020015b604080518082019091525f8082526020820152815260200190600190039081612fda57905050905060405180604001604052806001600160e01b03801681526020018363ffffffff16815250815f815181106130385761303861422a565b602002602001018190525060405180608001604052808460200160208101906130619190613a61565b6001600160a01b0316815260209081019061307e90860186613a61565b6001600160a01b031681526020015f6040519080825280602002602001820160405280156130d157816020015b604080518082019091525f80825260208201528152602001906001900390816130ab5790505b508152602001828152508585815181106130ed576130ed61422a565b6020908102919091010152505050600101612f24565b509392505050565b613113613687565b61311b6136d2565b61312b6060850160408601614ecc565b61ffff168152613142610100850160e08601614ecc565b61ffff16602082015263ffffffff8516604082015260016101c0820181905260a082018190526101e082018190526102008201523061022082015261318f61012085016101008601614ecc565b61ffff166102408201526040805160018082528183019092525f91816020015b604080518082019091525f8152606060208201528152602001906001900390816131af5750506040805180820190915260018152909150602081016131f76060880188614ee7565b808060200260200160405190810160405280939291908181526020015f905b828210156132425761323360c08302860136819003810190615ef1565b81526020019060010190613216565b5050505050815250815f8151811061325c5761325c61422a565b6020026020010181905250604051806101000160405280865f0160208101906132859190614f2b565b65ffffffffffff1681526020016132a260c0880160a08901614d27565b63ffffffff1681526020016132bd60a0880160808901614f46565b6001600160701b031681526020016132db60e0880160c08901614d27565b63ffffffff1681526020015f6001600160a01b0316815260200183815260200182815260200185815250925050509392505050565b61331d6020820182614f2b565b65ffffffffffff16158061334557504261333a6020830183614f2b565b65ffffffffffff1610155b1561334e575050565b5f61335c62278d00426148bb565b5f8481526002602052604090208190559050827f48a9634f50564cfe6648ff5e75795a36873bf96c408523d50017032657e67198826133996114d2565b6040516133a79291906139fd565b60405180910390a2505050565b5f8060205f8451602086015f885af1806133d3576040513d5f823e3d81fd5b50505f513d915081156133ea5780600114156133f7565b6001600160a01b0384163b155b1561118957604051635274afe760e01b81526001600160a01b0385166004820152602401610d51565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561346d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134919190614634565b905061118984846134a285856148bb565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526134f38482613642565b611189576040516001600160a01b0384811660248301525f604483015261352791869182169063095ea7b390606401612a0c565b61118984826133b4565b5f805b83811015613638573685858381811061354f5761354f61422a565b90506020028101906135619190615f97565b90506135736040850160208601613a61565b6001600160a01b03166135896020830183613a61565b6001600160a01b03160361362f575f5b6135a66020830183614fba565b905081101561362d57366135bd6020840184614fba565b838181106135cd576135cd61422a565b6060029190910191506135e590506020870187613a61565b6001600160a01b03166135fb6020830183613a61565b6001600160a01b031603613624576136196060820160408301614d27565b945050505050610b9d565b50600101613599565b505b50600101613534565b505f949350505050565b5f805f8060205f8651602088015f8a5af192503d91505f519050828015612e46575081156136735780600114612e46565b50505050506001600160a01b03163b151590565b60408051610100810182525f8082526020820181905291810182905260608101829052608081019190915260a081016136be6136d2565b815260200160608152602001606081525090565b60408051610260810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101829052610220810182905261024081019190915290565b6001600160a01b0381168114613781575f80fd5b50565b803561378f8161376d565b919050565b5f80604083850312156137a5575f80fd5b8235915060208301356137b78161376d565b809150509250929050565b5f602082840312156137d2575f80fd5b81356001600160e01b031981168114610b9d575f80fd5b5f805f805f608086880312156137fd575f80fd5b85356138088161376d565b945060208601356138188161376d565b93506040860135925060608601356001600160401b038082111561383a575f80fd5b818801915088601f83011261384d575f80fd5b81358181111561385b575f80fd5b89602082850101111561386c575f80fd5b9699959850939650602001949392505050565b5f60c0828403121561388f575f80fd5b50919050565b5f8083601f8401126138a5575f80fd5b5081356001600160401b038111156138bb575f80fd5b6020830191508360208260051b85010111156138d5575f80fd5b9250929050565b5f6060828403121561388f575f80fd5b5f6040828403121561388f575f80fd5b5f805f805f805f805f60e08a8c031215613914575f80fd5b8935985060208a01356001600160401b0380821115613931575f80fd5b61393d8d838e0161387f565b995060408c0135915080821115613952575f80fd5b61395e8d838e01613895565b909950975060608c0135915080821115613976575f80fd5b6139828d838e016138dc565b965060808c0135915080821115613997575f80fd5b6139a38d838e016138ec565b955060a08c01359150808211156139b8575f80fd5b6139c48d838e0161387f565b945060c08c01359150808211156139d9575f80fd5b506139e68c828d01613895565b915080935050809150509295985092959850929598565b9182526001600160a01b0316602082015260400190565b5f60208284031215613a24575f80fd5b5035919050565b5f805f60608486031215613a3d575f80fd5b83359250602084013591506040840135613a568161376d565b809150509250925092565b5f60208284031215613a71575f80fd5b8135610b9d8161376d565b5f805f805f8060a08789031215613a91575f80fd5b8635955060208701356001600160401b0380821115613aae575f80fd5b613aba8a838b0161387f565b96506040890135915080821115613acf575f80fd5b613adb8a838b01613895565b90965094506060890135915080821115613af3575f80fd5b613aff8a838b016138dc565b93506080890135915080821115613b14575f80fd5b50613b2189828a016138ec565b9150509295509295509295565b5f60208284031215613b3e575f80fd5b81356001600160401b03811115613b53575f80fd5b82016101808185031215610b9d575f80fd5b5f5b83811015613b7f578181015183820152602001613b67565b50505f910152565b5f8151808452613b9e816020860160208601613b65565b601f01601f19169290920160200192915050565b5f604080830185845260206040818601528186518084526060935060608701915060608160051b8801018389015f5b83811015613c3157898303605f19018552815180516001600160a01b031684528681015187850152880151888401889052613c1e88850182613b87565b9587019593505090850190600101613be1565b50909a9950505050505050505050565b5f805f838503610160811215613c55575f80fd5b84359350610120601f1982011215613c6b575f80fd5b50602084019150610140840135613a568161376d565b5f8060408385031215613c92575f80fd5b8235915060208301356001600160401b03811115613cae575f80fd5b613cba858286016138ec565b9150509250929050565b5f815180845260208085019450602084015f5b83811015613cfc5781516001600160a01b031687529582019590820190600101613cd7565b509495945050505050565b602081525f610b9d6020830184613cc4565b5f60208284031215613d29575f80fd5b81356001600160401b03811115613d3e575f80fd5b82016102008185031215610b9d575f80fd5b5f60208284031215613d60575f80fd5b81356001600160401b03811115613d75575f80fd5b82016101a08185031215610b9d575f80fd5b5f6080820186835260208681850152604086604086015260606080606087015283875180865260a08801915060a08160051b89010195508489015f5b82811015613e1357898803609f19018452815180516001600160a01b0316895287810151888a0152860151868901869052613e00868a0182613b87565b9850509286019290860190600101613dc3565b50959c9b505050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b803560ff8116811461378f575f80fd5b63ffffffff81168114613781575f80fd5b803561378f81613e49565b8035613e708161376d565b6001600160a01b0316825260ff613e8960208301613e39565b1660208301526040810135613e9d81613e49565b63ffffffff166040830152606090810135910152565b5f808335601e19843603018112613ec8575f80fd5b83016020810192503590506001600160401b03811115613ee6575f80fd5b8036038213156138d5575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60208152613f3d60208201613f3084613784565b6001600160a01b03169052565b5f613f4a60208401613784565b6001600160a01b038116604084015250613f6a6060830160408501613e65565b60c083013560e083015261010060e084013581840152613f8b818501613784565b9050610120613fa4818501836001600160a01b03169052565b61014091508085013582850152506101608185013581850152613fc981860186613eb3565b6101808681015292509050610c886101a085018383613ef4565b604051606081016001600160401b038111828210171561400557614005613e25565b60405290565b60405161026081016001600160401b038111828210171561400557614005613e25565b60405161012081016001600160401b038111828210171561400557614005613e25565b604051601f8201601f191681016001600160401b038111828210171561407957614079613e25565b604052919050565b5f6001600160401b0382111561409957614099613e25565b5060051b60200190565b5f80604083850312156140b4575f80fd5b825191506020808401516001600160401b03808211156140d2575f80fd5b818601915086601f8301126140e5575f80fd5b81516140f86140f382614081565b614051565b81815260059190911b83018401908481019089831115614116575f80fd5b8585015b838110156141ec57805185811115614130575f80fd5b8601601f196060828e0382011215614146575f80fd5b61414e613fe3565b8983015161415b8161376d565b815260408301518a820152606083015188811115614177575f80fd5b8084019350508d603f84011261418b575f80fd5b898301518881111561419f5761419f613e25565b6141af8b84601f84011601614051565b92508083528e60408286010111156141c5575f80fd5b6141d5818c850160408701613b65565b50604081019190915284525091860191860161411a565b508096505050505050509250929050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156107d6576107d66141fd565b634e487b7160e01b5f52603260045260245ffd5b65ffffffffffff81168114613781575f80fd5b803561378f8161423e565b6001600160701b0381168114613781575f80fd5b803561378f8161425c565b8381526101608101833561428e8161423e565b65ffffffffffff81166020840152506142a960208501614251565b65ffffffffffff81166040840152506142c460408501614251565b65ffffffffffff81166060840152506142df60608501614251565b65ffffffffffff81166080840152506142fa60808501613e5a565b63ffffffff811660a08401525061431360a08501614270565b6001600160701b03811660c08401525061432f60c08501613e5a565b63ffffffff811660e08401525061434860e08501613784565b61010061435f818501836001600160a01b03169052565b850135610120840152506001600160a01b0383166101408301526129cf565b8015158114613781575f80fd5b805161378f8161437e565b5f602082840312156143a6575f80fd5b8151610b9d8161437e565b805161378f8161423e565b805161378f81613e49565b805161378f8161425c565b805161378f8161376d565b61ffff81168114613781575f80fd5b805161378f816143dd565b5f6102608284031215614408575f80fd5b61441061400b565b905061441b826143ec565b8152614429602083016143ec565b602082015261443a604083016143bc565b604082015261444b6060830161438b565b606082015261445c6080830161438b565b608082015261446d60a0830161438b565b60a082015261447e60c0830161438b565b60c082015261448f60e0830161438b565b60e08201526101006144a281840161438b565b908201526101206144b483820161438b565b908201526101406144c683820161438b565b908201526101606144d883820161438b565b908201526101806144ea83820161438b565b908201526101a06144fc83820161438b565b908201526101c061450e83820161438b565b908201526101e061452083820161438b565b9082015261020061453283820161438b565b908201526102206145448382016143d2565b908201526102406145568382016143ec565b9082015292915050565b5f80828403610380811215614573575f80fd5b61012080821215614582575f80fd5b61458a61402e565b9150614595856143b1565b82526145a3602086016143b1565b60208301526145b4604086016143b1565b60408301526145c5606086016143b1565b60608301526145d6608086016143bc565b60808301526145e760a086016143c7565b60a08301526145f860c086016143bc565b60c083015261460960e086016143d2565b60e0830152610100808601518184015250819350614629868287016143f7565b925050509250929050565b5f60208284031215614644575f80fd5b5051919050565b5f808335601e19843603018112614660575f80fd5b8301803591506001600160401b03821115614679575f80fd5b6020019150368190038213156138d5575f80fd5b8681525f60018060a01b03808816602084015286604084015280861660608401525083608083015260e060a08301525f60e08301526101008060c08401526146d781840185613b87565b9998505050505050505050565b85815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61472560e0830184613b87565b979650505050505050565b6001600160a01b03878116825286166020808301919091526040820186905260c06060830181905285519083018190525f918681019160e085019190845b8181101561478a5784518452938201939282019260010161476e565b5050509415156080840152505090151560a090910152949350505050565b5f602082840312156147b8575f80fd5b8151610b9d8161376d565b818103818111156107d6576107d66141fd565b5f80858511156147e4575f80fd5b838611156147f0575f80fd5b5050820193919092039150565b6bffffffffffffffffffffffff19813581811691601485101561482a5780818660140360031b1b83161692505b505092915050565b5f60018060a01b03808516835260206040602085015260a084018286511660408601526001600160401b036020870151166060860152604086015192506060608086015280835180835260c0870191506020850194505f92505b808310156148af57845160ff16825293830193600192909201919083019061488c565b50979650505050505050565b808201808211156107d6576107d66141fd565b5f823561015e198336030181126148e3575f80fd5b9190910192915050565b92835260208301919091526001600160a01b0316604082015260600190565b5f8235607e19833603018112614920575f80fd5b90910192915050565b80356001600160681b038116811461378f575f80fd5b803561378f816143dd565b803562ffffff8116811461378f575f80fd5b803561378f8161437e565b5f60808084018335601e19853603018112614980575f80fd5b840160208181019135906001600160401b0382111561499d575f80fd5b6101c080830236038413156149b0575f80fd5b608089529382905260a0938489015f5b84811015614af5576149e2826149d588614929565b6001600160681b03169052565b6149ed848701613e5a565b63ffffffff16848301526040614a04878201613e5a565b63ffffffff16908301526060614a1b87820161493f565b61ffff1690830152614a2e868901613784565b6001600160a01b031688830152858701358783015260c0614a5081880161494a565b62ffffff169083015260e0614a66878201613e39565b60ff1690830152610100614a7b87820161495c565b151590830152610120614a8f87820161495c565b151590830152610140614aa387820161495c565b151590830152610160614ab787820161495c565b151590830152610180614acb87820161495c565b1515908301526101a0614adf87820161495c565b15159083015294820194908201906001016149c0565b50614b0260208a01613e5a565b63ffffffff811660208c01529650614b1c60408a01613e39565b60ff811660408c01529650614b3360608a01613784565b6001600160a01b03811660608c015296506146d7565b8035614b548161437e565b151582526020810135614b668161437e565b151560208301526040810135614b7b8161437e565b151560408301526060810135614b908161437e565b8015156060840152505050565b838152606060208201525f614bb28485613eb3565b6101606060850152614bc96101c085018284613ef4565b915050614bd96020860186613eb3565b605f1980868503016080870152614bf1848385613ef4565b9350614c006040890189613eb3565b93509150808685030160a0870152614c19848484613ef4565b9350614c2760608901613784565b6001600160a01b03811660c08801529250614c456080890189613eb3565b93509150808685030160e0870152614c5e848484613ef4565b9350614c6d60a089018961490c565b925080868503016101008701525050614c868282614967565b915050614c9560c08601613784565b6001600160a01b0316610120840152614cb5610140840160e08701614b49565b604092909201929092529392505050565b5f60208284031215614cd6575f80fd5b8135610b9d8161437e565b5f8235609e198336030181126148e3575f80fd5b5f60208284031215614d05575f80fd5b610b9d8261494a565b5f60208284031215614d1e575f80fd5b610b9d82614929565b5f60208284031215614d37575f80fd5b8135610b9d81613e49565b5f808335601e19843603018112614d57575f80fd5b8301803591506001600160401b03821115614d70575f80fd5b6020019150600581901b36038213156138d5575f80fd5b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015614e3d57888303603f19018552815180516001600160a01b031684528781015162ffffff1688850152868101516001600160681b03168785015260608082015163ffffffff908116918601919091526080808301519091169085015260a09081015160c091850182905290614e2981860183613cc4565b968901969450505090860190600101614dae565b509098975050505050505050565b5f8235607e198336030181126148e3575f80fd5b63ffffffff881681526001600160a01b038716602082015260a0604082018190525f90614e8f9083018789613ef4565b8281036060840152614ea2818688613ef4565b91505082608083015298975050505050505050565b5f823561011e198336030181126148e3575f80fd5b5f60208284031215614edc575f80fd5b8135610b9d816143dd565b5f808335601e19843603018112614efc575f80fd5b8301803591506001600160401b03821115614f15575f80fd5b602001915060c0810236038213156138d5575f80fd5b5f60208284031215614f3b575f80fd5b8135610b9d8161423e565b5f60208284031215614f56575f80fd5b8135610b9d8161425c565b60e081525f614f7360e083018a613b87565b60208301989098525061ffff95861660408201526001600160701b0394909416606085015263ffffffff9283166080850152911660a083015290911660c090910152919050565b5f808335601e19843603018112614fcf575f80fd5b8301803591506001600160401b03821115614fe8575f80fd5b60200191506060810236038213156138d5575f80fd5b608081525f6150106080830187613b87565b63ffffffff959095166020830152506001600160a01b039290921660408301526001600160681b0316606090910152919050565b805161ffff1682526020810151615061602084018261ffff169052565b506040810151615079604084018263ffffffff169052565b50606081015161508d606084018215159052565b5060808101516150a1608084018215159052565b5060a08101516150b560a084018215159052565b5060c08101516150c960c084018215159052565b5060e08101516150dd60e084018215159052565b5061010081810151151590830152610120808201511515908301526101408082015115159083015261016080820151151590830152610180808201511515908301526101a0808201511515908301526101c0808201511515908301526101e08082015115159083015261020080820151151590830152610220808201516001600160a01b0316908301526102408082015161ffff811682850152611189565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657858303601f190189528151805184528401516040858501819052815181860181905291860191606090818701905f5b8181101561523f578551805163ffffffff1684528a8101516001600160401b03168b850152858101516001600160a01b03908116878601528582015115158686015260808083015165ffffffffffff169086015260a09182015116908401529489019460c0909201916001016151ce565b50509b87019b955050509184019150600101615197565b5090979650505050505050565b5f815180845260208085019450602084015f5b83811015613cfc57815180516001600160e01b0316885283015163ffffffff168388015260409096019590820190600101615276565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657858303601f19018952815180516001600160a01b0390811685528582015116858501526040808201516080828701819052919061530e83880182615263565b925050506060808301519250858203818701525061532c8183615263565b9a86019a94505050908301906001016152c7565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657601f198684030189528151805165ffffffffffff1684528481015163ffffffff908116868601526040808301516001600160701b031690860152606080830151909116908501526080808201516001600160a01b03169085015260a08082015161034091906153d482880182615044565b505060c0820151816103008701526153ee8287018261517c565b91505060e0820151915084810361032086015261540b81836152ac565b9a86019a945050509083019060010161535b565b5f808335601e19843603018112615434575f80fd5b83016020810192503590506001600160401b03811115615452575f80fd5b6060810236038213156138d5575f80fd5b5f8235603e19833603018112614920575f80fd5b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f190189526154a98288615463565b604080850182356154b98161376d565b6001600160a01b0381811688526154d2858a018661541f565b898b018690529384905292945060609291508288015f5b868110156155395783356154fc8161376d565b8316825260ff61550d858d01613e39565b168b8301528584013561551f81613e49565b63ffffffff168287015292840192908401906001016154e9565b509d89019d975050509386019350505060010161548e565b6001600160a01b038716815260a0602082018190525f906155759083018789613ef4565b82810360408401526155878187615340565b9050828103606084015261559c818587615477565b83810360809094019390935250505f81526020019695505050505050565b634e487b7160e01b5f52600160045260245ffd5b848152608060208201525f6155e66080830186615340565b82810360408401526155f9818587615477565b83810360609094019390935250505f8152602001949350505050565b838152604060208201525f610c88604083018486613ef4565b868152608060208201525f615647608083018789613ef4565b828103604084015261565a818688613ef4565b915050826060830152979650505050505050565b5f808335601e19843603018112615683575f80fd5b83016020810192503590506001600160401b038111156156a1575f80fd5b8060051b36038213156138d5575f80fd5b8183525f60208085019450825f5b85811015613cfc5781356156d381613e49565b63ffffffff1687526001600160681b036156ee838501614929565b16838801526040808301356157028161376d565b6001600160a01b03169088015260609687019691909101906001016156c0565b5f808335601e19843603018112615737575f80fd5b83016020810192503590506001600160401b03811115615755575f80fd5b60c0810236038213156138d5575f80fd5b80356001600160401b038116811461378f575f80fd5b8183525f60208085019450825f5b85811015613cfc57813561579d81613e49565b63ffffffff1687526001600160401b036157b8838501615766565b16838801526040808301356157cc8161376d565b6001600160a01b0316908801526060828101356157e88161437e565b1515908801526080828101356157fd8161423e565b65ffffffffffff169088015260a0615816838201613784565b6001600160a01b03169088015260c096870196919091019060010161578a565b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f1901895281353688900361011e19018112615873575f80fd5b87016101206158918561588584614251565b65ffffffffffff169052565b61589d8683018361541f565b82888801526158af83880182846156b2565b9250505060406158c081840161493f565b61ffff169086015260606158d683820184615722565b878403838901526158e884828461577c565b935050505060806158fa818401614270565b6001600160701b03169086015260a0615914838201613e5a565b63ffffffff169086015260c061592b838201613e5a565b63ffffffff169086015260e061594283820161493f565b61ffff169086015261010061595883820161493f565b61ffff1695019490945250978301979083019060010161584d565b5f808335601e19843603018112615988575f80fd5b83016020810192503590506001600160401b038111156159a6575f80fd5b8060061b36038213156138d5575f80fd5b8183525f60208085019450825f5b85811015613cfc5781356159d88161376d565b6001600160a01b03908116885282840135906159f38261376d565b168784015260409687019691909101906001016159c5565b5f60608084018335615a1c8161376d565b6001600160a01b03908116865260209085820135615a398161376d565b811660208801526040615a4e8782018861541f565b606060408b015294859052935f9060808a015b81831015615ab5578635615a748161376d565b8516815262ffffff615a8788880161494a565b168682015283870135615a9981613e49565b63ffffffff168185015295870195600192909201918701615a61565b9a9950505050505050505050565b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f19018952615af58288615463565b60408085018235615b058161376d565b6001600160a01b039081168752838801359036859003601e19018212615b29575f80fd5b9301878101939035906001600160401b03821115615b45575f80fd5b8160071b3603851315615b56575f80fd5b878901849052918190526060918288015f5b83811015615bc3578635615b7b8161376d565b83168252868b0135615b8c81613e49565b63ffffffff16828c015286860135615ba38161376d565b831682870152868501358583015260809687019690910190600101615b68565b509d89019d9750505093860193505050600101615ada565b5f615be6828361566e565b60408552615bf8604086018284615ac3565b915050602083013560208501528091505092915050565b60e081525f615c1e8a8b61490c565b60c060e0840152615c2f8182613eb3565b60806101a0860152615c4661022086018284613ef4565b915050615c566020830183613eb3565b61019f1980878503016101c0880152615c70848385613ef4565b9350615c7f6040860186613eb3565b9350915080878503016101e088015250615c9a838383613ef4565b925050506060820135610200850152615cb560208d01613e5a565b63ffffffff81166101008601529150615cd060408d01613784565b6001600160a01b0381166101208601529150615cef60608d018d61566e565b925060df198086840301610140870152615d0a838584615836565b9350615d1960808f018f615973565b93509150808685030161016087015250615d348383836159b7565b92505050615d4460a08c01613784565b6001600160a01b03166101808401528281036020840152615d66818a8c615477565b90508281036040840152615d7a8189615a0b565b90508281036060840152615d8e8188615bdb565b90508281036080840152615da28187615340565b9150508360a08301526146d760c08301846001600160a01b03169052565b838152606060208201525f615dd86060830185615bdb565b905060018060a01b0383166040830152949350505050565b848152836020820152606060408201525f612e46606083018486615ac3565b5f6020808385031215615e20575f80fd5b82516001600160401b03811115615e35575f80fd5b8301601f81018513615e45575f80fd5b8051615e536140f382614081565b81815260059190911b82018301908381019087831115615e71575f80fd5b928401925b82841015614725578351615e898161376d565b82529284019290840190615e76565b634e487b7160e01b5f52601260045260245ffd5b5f808335601e19843603018112615ec1575f80fd5b8301803591506001600160401b03821115615eda575f80fd5b6020019150600681901b36038213156138d5575f80fd5b5f60c08284031215615f01575f80fd5b60405160c081018181106001600160401b0382111715615f2357615f23613e25565b6040528235615f3181613e49565b8152615f3f60208401615766565b60208201526040830135615f528161376d565b60408201526060830135615f658161437e565b60608201526080830135615f788161423e565b608082015260a0830135615f8b8161376d565b60a08201529392505050565b5f8235603e198336030181126148e3575f80fdfea2646970667358221220a65dd1b0393318be33b98bea5093652be65932761f1712727bd697956b18864164736f6c63430008170033",
|
|
2817
|
+
"deployedBytecode": "0x6080604052600436106101a6575f3560e01c80638cc35846116100e3578063b987005d11610092578063dbfbe5da11610062578063dbfbe5da14610619578063ee0fc1211461064c578063f434c9141461067f578063fb82b1b0146106b2575f80fd5b8063b987005d146105b4578063c22903b2146105d3578063c57981b5146105e6578063db29c892146105fa575f80fd5b80638cc358461461048c578063902b742e146104b957806399f6d77f146104ed578063abf8c5c81461050c578063b5d255331461053f578063b78edb6614610572578063b8a843d71461059e575f80fd5b8063437e61071161015957806367d39de21161012957806367d39de2146103c85780637249a773146103f35780637da0a8771461042757806388bc2ef314610459575f80fd5b8063437e6107146103245780634fa9af691461035f578063572b6c051461038a5780636169a3bb146103a9575f80fd5b806244a005146101aa57806301ffc9a7146101cb578063150b7a02146101ff5780631680e172146102375780632545de8e14610278578063293c4999146102a55780633b7ae807146102f0575b5f80fd5b3480156101b5575f80fd5b506101c96101c4366004613794565b6106e1565b005b3480156101d6575f80fd5b506101ea6101e53660046137c2565b610770565b60405190151581526020015b60405180910390f35b34801561020a575f80fd5b5061021e6102193660046137e9565b6107dc565b6040516001600160e01b031990911681526020016101f6565b348015610242575f80fd5b5061026a7f000000000000000000000000000000000000000000000000000000000000000381565b6040519081526020016101f6565b348015610283575f80fd5b506102976102923660046138fc565b610823565b6040516101f69291906139fd565b3480156102b0575f80fd5b506102d87f000000000000000000000000885f707efa18d2cb12f05a3a8eba6b4b26c8c1d481565b6040516001600160a01b0390911681526020016101f6565b3480156102fb575f80fd5b506102d861030a366004613a14565b60046020525f90815260409020546001600160a01b031681565b34801561032f575f80fd5b5061026a61033e366004613a2b565b5f602081815293815260408082208552928152828120909352825290205481565b34801561036a575f80fd5b5061026a610379366004613a14565b60026020525f908152604090205481565b348015610395575f80fd5b506101ea6103a4366004613a61565b61085a565b3480156103b4575f80fd5b5061026a6103c3366004613a7c565b61088c565b3480156103d3575f80fd5b5061026a6103e2366004613a14565b60036020525f908152604090205481565b3480156103fe575f80fd5b506102d861040d366004613a14565b60016020525f90815260409020546001600160a01b031681565b348015610432575f80fd5b507f000000000000000000000000c29d6995ab3b0df4650ad643adeac55e7acbb5666102d8565b348015610464575f80fd5b506102d87f0000000000000000000000000061e516886a0540f63157f112c0588ee0651dcf81565b348015610497575f80fd5b506104ab6104a6366004613b2e565b6108d1565b6040516101f6929190613bb2565b3480156104c4575f80fd5b506102d86104d3366004613a14565b60056020525f90815260409020546001600160a01b031681565b3480156104f8575f80fd5b506101ea610507366004613c41565b610acd565b348015610517575f80fd5b506102d87f000000000000000000000000ef60878d00378ac5f93d209f4616450ee8d41ca781565b34801561054a575f80fd5b506102d87f00000000000000000000000007c8c5bf08f0361883728a8a5f8824ba5724ece381565b34801561057d575f80fd5b5061059161058c366004613c81565b610ba4565b6040516101f69190613d07565b3480156105a9575f80fd5b5061026a62278d0081565b3480156105bf575f80fd5b506101c96105ce366004613a2b565b610c91565b6101c96105e1366004613d19565b610ec3565b3480156105f1575f80fd5b5061026a601981565b348015610605575f80fd5b506101ea610614366004613794565b61118f565b348015610624575f80fd5b506102d87f00000000000000000000000003ef9ea1467df70d4b1e1d619aa9a2a2f820ee2481565b348015610657575f80fd5b506102d87f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a81565b34801561068a575f80fd5b506102d87f00000000000000000000000004fd6913d6c32d8c216e153a43c04b1857a7793d81565b3480156106bd575f80fd5b506106d16106cc366004613d50565b61122d565b6040516101f69493929190613d87565b6106f2826106ed6114d2565b611522565b806001600160a01b0316827f0329d6a81434b130c72eb65eea0e32e429dc1277b4aad86ec86454aefb6184516107266114d2565b6040516001600160a01b03909116815260200160405180910390a36107623061074d6114d2565b604080515f815260208101909152859061154d565b61076c82826115d7565b5050565b5f6001600160e01b0319821663366f9f2160e01b14806107a057506001600160e01b0319821663eeb73e8960e01b145b806107bb57506001600160e01b0319821663611481d960e11b145b806107d657506001600160e01b03198216630a85bd0160e11b145b92915050565b5f336001600160a01b037f000000000000000000000000885f707efa18d2cb12f05a3a8eba6b4b26c8c1d41614610811575f80fd5b50630a85bd0160e11b95945050505050565b5f808a15801561083857610835611687565b9b505b61084a8c828d8d8d8d8d8d8d8d611718565b9b9c9a5050505050505050505050565b7f000000000000000000000000c29d6995ab3b0df4650ad643adeac55e7acbb5666001600160a01b0390811691161490565b5f861580156108a05761089d611687565b97505b5f806108ae8a8a8a8a611b71565b915091506108c38a848b8b8b8b8b8989612151565b509798975050505050505050565b60c08101355f9081526001602052604081205460609081906001600160a01b0316801561096f57604051634661ac2360e11b81526001600160a01b03821690638cc3584690610924908890600401613f1c565b5f60405180830381865afa15801561093e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096591908101906140a3565b9094509150610978565b84610120013593505b815160c08601355f908152600560205260409020546001909114906001600160a01b0316801515826109aa575f6109ad565b60015b816109b8575f6109bb565b60015b6109c59190614211565b60ff166001600160401b038111156109df576109df613e25565b604051908082528060200260200182016040528015610a2b57816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816109fd5790505b5095508015610a84576040518060600160405280836001600160a01b031681526020015f815260200160405180602001604052805f815250815250865f81518110610a7857610a7861422a565b60200260200101819052505b8215610ac357845f81518110610a9c57610a9c61422a565b602002602001015186600181518110610ab757610ab761422a565b60200260200101819052505b5050505050915091565b5f8381526001602090815260408083205460049092528220546001600160a01b039182169184811691161480610b145750806001600160a01b0316836001600160a01b0316145b80610b8957506040516399f6d77f60e01b81526001600160a01b038216906399f6d77f90610b4a9088908890889060040161427b565b602060405180830381865afa158015610b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b899190614396565b80610b995750610b998584612867565b9150505b9392505050565b6060610bb2836106ed6114d2565b6040516320c94b1360e11b8152600481018490525f907f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a6001600160a01b03169063419296269060240161038060405180830381865afa158015610c18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3c9190614560565b61024081015190925060021c600190811614905080610c6e57604051631abe0dd960e21b815260040160405180910390fd5b5f85815260036020526040902054610c88908690866128b7565b95945050505050565b604051630969875760e21b815260048101849052602481018390525f907f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a6001600160a01b0316906325a61d5c9060440161038060405180830381865afa158015610cfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d229190614560565b50905042816060015165ffffffffffff161115610d5a576040516374e6881560e11b8152600481018490526024015b60405180910390fd5b5f8481526020818152604080832086845282528083206001600160a01b038616845290915281205490819003610da35760405163357db1e760e21b815260040160405180910390fd5b5f8581526020818152604080832087845282528083206001600160a01b038716808552925282209190915584867f0ad8046f3d571312df6d1867ac30c26e100f5684a9d7c2d3340c4e2a5b56360f84610dfa6114d2565b604051610e089291906139fd565b60405180910390a46040516363fdc96f60e11b815260048101869052602481018290526001600160a01b03848116604483015260a060648301525f60a4830181905260848301527f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a169063c7fb92de9060c4016020604051808303815f875af1158015610e97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebb9190614634565b505050505050565b61eeee610ed861012083016101008401613a61565b6001600160a01b031614610f1457610f143330610160840135610f0361012086016101008701613a61565b6001600160a01b03169291906129d7565b5f610f236101c083018361464b565b810190610f309190613a61565b90505f610f5482610f4961012086016101008701613a61565b610160860135612a3e565b90506001600160a01b03821663fef43257827f0000000000000000000000000000000000000000000000000000000000000003610f9961012088016101008901613a61565b610160880135610fac60208a018a613a61565b5f8a60200135604051602001610fc491815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401610ff49695949392919061468d565b60206040518083038185885af19350505050801561102f575060408051601f3d908101601f1916820190925261102c91810190614634565b60015b611189573d80801561105c576040519150601f19603f3d011682016040523d82523d5f602084013e611061565b606091505b5061eeee61107761012086016101008701613a61565b6001600160a01b0316146110b1576110b1836101608601356110a161012088016101008901613a61565b6001600160a01b03169190612a76565b6110d2336110c761012087016101008801613a61565b610160870135612a3e565b915033639e6eec058360208701356110f261012089016101008a01613a61565b604080517f000000000000000000000000000000000000000000000000000000000000000360208201526101608b0135915f91016040516020818303038152906040526040518763ffffffff1660e01b81526004016111559594939291906146e4565b5f604051808303818588803b15801561116c575f80fd5b505af115801561117e573d5f803e3d5ffd5b505050505050505050565b50505050565b5f7f00000000000000000000000004fd6913d6c32d8c216e153a43c04b1857a7793d6001600160a01b031663632af95f8330866111cb88612b30565b5f806040518763ffffffff1660e01b81526004016111ee96959493929190614730565b602060405180830381865afa158015611209573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9d9190614396565b5f8080606061124e604086018035906112499060208901613a61565b612867565b15611269575f85608001358660a001359350935093506114cb565b6040808601355f90815260026020522054428111156112a45760405163e4a9c90760e01b815260048101829052426024820152604401610d51565b5f6001600160a01b037f0000000000000000000000000061e516886a0540f63157f112c0588ee0651dcf1663862026507f000000000000000000000000000000000000000000000000000000000000000361130560e08b0160c08c01613a61565b6040518363ffffffff1660e01b81526004016113229291906139fd565b602060405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136191906147a8565b9050610160870135158061137c57506001600160a01b038116155b1561139e5786610160013587608001358860a0013595509550955050506114cb565b5f6113b1608089013560196103e8612d0e565b90505f6113c28260808b01356147c3565b90505f6113df6101208b01358360a08d01356101608e0135612ddd565b90505f6114106113f4836101208e01356147c3565b85858e60a0013561140591906147c3565b8e6101600135612ddd565b604080516001808252818301909252919250816020015b60408051606080820183525f80835260208301529181019190915281526020019060019003908161142757505060408051606081018252308152602080820185905282516001600160a01b038a1691810191909152929950918282019101604051602081830303815290604052815250875f815181106114a9576114a961422a565b6020908102919091010152505061016089013597509550505060a08601359250505b9193509193565b5f3660146114df3361085a565b80156114eb5750808210155b1561151a575f366114fc83856147c3565b6115079282906147d6565b611510916147fd565b60601c9250505090565b339250505090565b61152c828261118f565b61076c5781816040516355e03cb160e11b8152600401610d519291906139fd565b604080516060810182526001600160a01b0380861682526001600160401b03851660208301528183018490529151631127c92960e21b815290917f00000000000000000000000004fd6913d6c32d8c216e153a43c04b1857a7793d169063449f24a4906115c09088908590600401614832565b5f604051808303815f87803b15801561116c575f80fd5b5f6115e183612b30565b90505f81516001600160401b038111156115fd576115fd613e25565b604051908082528060200260200182016040528015611626578160200160208202803683370190505b5090505f5b825181101561167a578281815181106116465761164661422a565b60200260200101518282815181106116605761166061422a565b60ff9092166020928302919091019091015260010161162b565b506111893084868461154d565b5f7f000000000000000000000000885f707efa18d2cb12f05a3a8eba6b4b26c8c1d46001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117089190614634565b6117139060016148bb565b905090565b5f805f6117278d8c8c8c611b71565b90925090506001600160a01b037f000000000000000000000000ef60878d00378ac5f93d209f4616450ee8d41ca71663ea74b8af8e61176689806148ce565b8960200135856117746114d2565b604051602001611786939291906148ed565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b81526004016117ba93929190614b9d565b6020604051808303815f875af11580156117d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fa91906147a8565b5f8e8152600560205260409081902080546001600160a01b0319166001600160a01b0384161790559093506118359060608801908801614cc6565b1561185c575f8d815260066020908152604082208054600181018255908352912060149101555b61186c6080870160608801614cc6565b15611893575f8d815260066020908152604082208054600181018255908352912060159101555b6118a360a0870160808801614cc6565b156118ca575f8d815260066020908152604082208054600181018255908352912060169101555b6118da60c0870160a08801614cc6565b15611901575f8d815260066020908152604082208054600181018255908352912060179101555b8315611b50575f846001600160401b0381111561192057611920613e25565b60405190808252806020026020018201604052801561198057816020015b6040805160c0810182525f80825260208083018290529282018190526060808301829052608083019190915260a082015282525f1990920191018161193e5790505b5090505f5b85811015611aa857368787838181106119a0576119a061422a565b90506020028101906119b29190614ce1565b90506040518060c00160405280876001600160a01b03168152602001825f0160208101906119e09190614cf5565b62ffffff1681526020018260200160208101906119fd9190614d0e565b6001600160681b03168152602001611a1b6060840160408501614d27565b63ffffffff168152602001611a366080840160608501614d27565b63ffffffff168152602001611a4e6080840184614d42565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050509152508351849084908110611a9457611a9461422a565b602090810291909101015250600101611985565b50604051631107934d60e21b81526001600160a01b037f00000000000000000000000003ef9ea1467df70d4b1e1d619aa9a2a2f820ee24169063441e4d3490611af5908490600401614d87565b5f604051808303815f87803b158015611b0c575f80fd5b505af1158015611b1e573d5f803e3d5ffd5b50505050611b4e7f00000000000000000000000003ef9ea1467df70d4b1e1d619aa9a2a2f820ee248f6014612e50565b505b611b618d8d8d8d8d8d8d8989612151565b50509a9950505050505050505050565b60605f611b8085830186614d42565b90505f03611ba15760405163050751e560e21b815260040160405180910390fd5b611bae6060860186614d42565b90506001600160401b03811115611bc757611bc7613e25565b604051908082528060200260200182016040528015611c0057816020015b611bed613687565b815260200190600190039081611be55790505b5091505f611c146040870160208801614d27565b611c2460c0880160a08901613a61565b611c2e8880614e4b565b611c38908061464b565b611c428a80614e4b565b611c5090602081019061464b565b611c5a8c80614e4b565b60600135604051602001611c749796959493929190614e5f565b60405160208183030381529060405290505f611c91878787612ea4565b90505f5b611ca26060890189614d42565b905081101561213b5736611cb960608a018a614d42565b83818110611cc957611cc961422a565b9050602002810190611cdb9190614eb7565b90505f611cee6060830160408401614ecc565b61ffff16118015611d0b5750611d076060820182614ee7565b1590505b15611d29576040516340fb407760e01b815260040160405180910390fd5b5f82118015611d9a5750611d4060608a018a614d42565b611d4b6001856147c3565b818110611d5a57611d5a61422a565b9050602002810190611d6c9190614eb7565b611d7a906020810190614f2b565b65ffffffffffff16611d8f6020830183614f2b565b65ffffffffffff1611155b15611db85760405163b787fe6760e01b815260040160405180910390fd5b612710611dcc610100830160e08401614ecc565b61ffff1610611e0e57611de6610100820160e08301614ecc565b6040516380922c6d60e01b815261ffff90911660048201526127106024820152604401610d51565b611e28611e2160408b0160208c01614d27565b828561310b565b868381518110611e3a57611e3a61422a565b602002602001018190525083825f148015611e675750611e5d6020830183614f2b565b65ffffffffffff16155b611e8557611e786020830183614f2b565b65ffffffffffff16611e87565b425b611e976060840160408501614ecc565b611ea760a0850160808601614f46565b611eb760c0860160a08701614d27565b611ec760e0870160c08801614d27565b611ed8610100880160e08901614ecc565b604051602001611eee9796959493929190614f61565b60405160208183030381529060405293505f5b611f0e6020830183614fba565b90508110156121315736611f256020840184614fba565b83818110611f3557611f3561422a565b90506060020190505f6001600160a01b0316816040016020810190611f5a9190613a61565b6001600160a01b031603611f815760405163b79e8c7d60e01b815260040160405180910390fd5b611f916040820160208301614d0e565b6001600160681b03165f03611fa65750612129565b85611fb46020830183614d27565b611fc46060840160408501613a61565b611fd46040850160208601614d0e565b604051602001611fe79493929190614ffe565b60408051601f198184030181529190529550466120076020830183614d27565b63ffffffff16146120185750612129565b6120286060820160408301613a61565b6001600160a01b031661203b85426148bb565b8d7f5c05d79eeb764b1f5069fb55a8558e8a5cec91813a64282bc198dc9084c75df061206d6040860160208701614d0e565b6120756114d2565b604080516001600160681b0390931683526001600160a01b0390911660208301520160405180910390a46120af6040820160208301614d0e565b5f8d81526020819052604081206001600160681b039290921691906120d487426148bb565b81526020019081526020015f205f8360400160208101906120f59190613a61565b6001600160a01b03166001600160a01b031681526020019081526020015f205f82825461212291906148bb565b9091555050505b600101611f01565b5050600101611c95565b5081805190602001209250505094509492505050565b871561221657886001600160a01b037f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a16635c7465e5306121928b80614e4b565b6121a090604081019061464b565b878c8c6040518763ffffffff1660e01b81526004016121c496959493929190615551565b6020604051808303815f875af11580156121e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122049190614634565b14612211576122116155ba565b612490565b6040516331a9108f60e11b8152600481018a90525f907f000000000000000000000000885f707efa18d2cb12f05a3a8eba6b4b26c8c1d46001600160a01b031690636352211e90602401602060405180830381865afa15801561227b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229f91906147a8565b9050806001600160a01b03166122b36114d2565b6001600160a01b0316146122e557896122ca6114d2565b6040516355e03cb160e11b8152600401610d519291906139fd565b604051632142170760e11b81526001600160a01b038281166004830152306024830152604482018c90527f000000000000000000000000885f707efa18d2cb12f05a3a8eba6b4b26c8c1d416906342842e0e906064015f604051808303815f87803b158015612352575f80fd5b505af1158015612364573d5f803e3d5ffd5b50506040516339284f3560e01b81526001600160a01b037f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a1692506339284f3591506123ba908d9087908c908c906004016155ce565b6020604051808303815f875af11580156123d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fa9190614634565b506001600160a01b037f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a1663702a39778b6124358b80614e4b565b61244390604081019061464b565b6040518463ffffffff1660e01b815260040161246193929190615615565b5f604051808303815f87803b158015612478575f80fd5b505af115801561248a573d5f803e3d5ffd5b50505050505b6124c8896124a160608a018a614d42565b5f8181106124b1576124b161422a565b90506020028101906124c39190614eb7565b613310565b6001600160a01b037f00000000000000000000000027da30646502e2f642be5281322ae8c394f7668a1663581781918a6125028a80614e4b565b61250c908061464b565b6125168c80614e4b565b61252490602081019061464b565b61252e8e80614e4b565b606001358861253b6114d2565b60405160200161254d939291906148ed565b604051602081830303815290604052805190602001206040518763ffffffff1660e01b81526004016125849695949392919061562e565b6020604051808303815f875af11580156125a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c491906147a8565b505f6125d36020860186613a61565b6001600160a01b031614612759576125ee6020850185613a61565b5f8a815260016020908152604080832080546001600160a01b0319166001600160a01b039590951694909417909355909161262e91908701908701613a61565b6001600160a01b031614612759575f5b61264b6040860186614fba565b905081101561275757366126626040870187614fba565b838181106126725761267261422a565b905060600201905085602001602081019061268d9190613a61565b6001600160a01b0316639098afeb8c6126ac6040850160208601614cf5565b6126bc6060860160408701614d27565b6126c96020870187613a61565b6040516001600160e01b031960e087901b168152600481019490945262ffffff909216602484015263ffffffff1660448301526001600160a01b031660648201526084016020604051808303815f875af1158015612729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061274d91906147a8565b505060010161263e565b505b5f61276a60c0890160a08a01613a61565b6001600160a01b0316146127cf5761279361278b60c0890160a08a01613a61565b8a6010612e50565b6127a360c0880160a08901613a61565b5f8a815260046020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6127e8896127e360608a0160408b01613a61565b6115d7565b6020830135156127ff576127fd8982856128b7565b505b5f898152600360205260409020819055887f71aa788b1959149d074eb49c039291bbb825b7586df2f05c0a26627c987c1471888888888888886128406114d2565b604051612854989796959493929190615c0f565b60405180910390a2505050505050505050565b6040516383db9d0160e01b81525f906001600160a01b037f00000000000000000000000007c8c5bf08f0361883728a8a5f8824ba5724ece316906383db9d01906111ee90869086906004016139fd565b6060837fd1ae357f26434a99ce1f9e98bc6f3b593847697f1a14b95622dd27cd9bffb14084846128e56114d2565b6040516128f493929190615dc0565b60405180910390a27f00000000000000000000000007c8c5bf08f0361883728a8a5f8824ba5724ece36001600160a01b0316632f3f50e08585856020013561293a6114d2565b60405160200161294c939291906148ed565b60408051601f19818403018152919052805160209091012061296e8680614d42565b6040518563ffffffff1660e01b815260040161298d9493929190615df0565b5f604051808303815f875af11580156129a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129cf9190810190615e0f565b949350505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526111899186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506133b4565b5f61eeed196001600160a01b03841601612a59575080610b9d565b612a6d6001600160a01b0384168584613420565b505f9392505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa158015612ac3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae79190614634565b905081811015612b235760405163e570110f60e01b81526001600160a01b03841660048201526024810182905260448101839052606401610d51565b61118984848484036134a2565b5f818152600660209081526040808320805482518185028101850190935280835260609493830182828015612b8257602002820191905f5260205f20905b815481526020019060010190808311612b6e575b5050505050905080516006612b9791906148bb565b6001600160401b03811115612bae57612bae613e25565b604051908082528060200260200182016040528015612bd7578160200160208202803683370190505b509150601160ff16825f81518110612bf157612bf161422a565b602002602001018181525050601960ff1682600181518110612c1557612c1561422a565b602002602001018181525050601860ff1682600281518110612c3957612c3961422a565b602002602001018181525050600660ff1682600381518110612c5d57612c5d61422a565b602002602001018181525050601260ff1682600481518110612c8157612c8161422a565b602002602001018181525050601e60ff1682600581518110612ca557612ca561422a565b6020026020010181815250505f5b8151811015612d0757818181518110612cce57612cce61422a565b602002602001015183826006612ce491906148bb565b81518110612cf457612cf461422a565b6020908102919091010152600101612cb3565b5050919050565b5f80805f19858709858702925082811083820303915050805f03612d4557838281612d3b57612d3b615e98565b0492505050610b9d565b838110612d7657604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d51565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f61270f198201612def57505f6129cf565b828410612dfd5750836129cf565b5f612e09868686612d0e565b9050825f03612e195790506129cf565b612e4681612e28858888612d0e565b612e34866127106147c3565b612e3e91906148bb565b612710612d0e565b9695505050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f81518110612e8457612e8461422a565b602002602001019060ff16908160ff16815250506111893085858461154d565b6060612eb36080850185615eac565b90506001600160401b03811115612ecc57612ecc613e25565b604051908082528060200260200182016040528015612f1f57816020015b604080516080810182525f8082526020820152606091810182905281810191909152815260200190600190039081612eea5790505b5090505f5b612f316080860186615eac565b90508110156131035736612f486080870187615eac565b83818110612f5857612f5861422a565b90506040020190505f612f6c868684613531565b90508063ffffffff165f03612fc457612f886020830183613a61565b612f986040840160208501613a61565b604051631ab3aa5760e01b81526001600160a01b03928316600482015291166024820152604401610d51565b6040805160018082528183019092525f91816020015b604080518082019091525f8082526020820152815260200190600190039081612fda57905050905060405180604001604052806001600160e01b03801681526020018363ffffffff16815250815f815181106130385761303861422a565b602002602001018190525060405180608001604052808460200160208101906130619190613a61565b6001600160a01b0316815260209081019061307e90860186613a61565b6001600160a01b031681526020015f6040519080825280602002602001820160405280156130d157816020015b604080518082019091525f80825260208201528152602001906001900390816130ab5790505b508152602001828152508585815181106130ed576130ed61422a565b6020908102919091010152505050600101612f24565b509392505050565b613113613687565b61311b6136d2565b61312b6060850160408601614ecc565b61ffff168152613142610100850160e08601614ecc565b61ffff16602082015263ffffffff8516604082015260016101c0820181905260a082018190526101e082018190526102008201523061022082015261318f61012085016101008601614ecc565b61ffff166102408201526040805160018082528183019092525f91816020015b604080518082019091525f8152606060208201528152602001906001900390816131af5750506040805180820190915260018152909150602081016131f76060880188614ee7565b808060200260200160405190810160405280939291908181526020015f905b828210156132425761323360c08302860136819003810190615ef1565b81526020019060010190613216565b5050505050815250815f8151811061325c5761325c61422a565b6020026020010181905250604051806101000160405280865f0160208101906132859190614f2b565b65ffffffffffff1681526020016132a260c0880160a08901614d27565b63ffffffff1681526020016132bd60a0880160808901614f46565b6001600160701b031681526020016132db60e0880160c08901614d27565b63ffffffff1681526020015f6001600160a01b0316815260200183815260200182815260200185815250925050509392505050565b61331d6020820182614f2b565b65ffffffffffff16158061334557504261333a6020830183614f2b565b65ffffffffffff1610155b1561334e575050565b5f61335c62278d00426148bb565b5f8481526002602052604090208190559050827f48a9634f50564cfe6648ff5e75795a36873bf96c408523d50017032657e67198826133996114d2565b6040516133a79291906139fd565b60405180910390a2505050565b5f8060205f8451602086015f885af1806133d3576040513d5f823e3d81fd5b50505f513d915081156133ea5780600114156133f7565b6001600160a01b0384163b155b1561118957604051635274afe760e01b81526001600160a01b0385166004820152602401610d51565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561346d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134919190614634565b905061118984846134a285856148bb565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526134f38482613642565b611189576040516001600160a01b0384811660248301525f604483015261352791869182169063095ea7b390606401612a0c565b61118984826133b4565b5f805b83811015613638573685858381811061354f5761354f61422a565b90506020028101906135619190615f97565b90506135736040850160208601613a61565b6001600160a01b03166135896020830183613a61565b6001600160a01b03160361362f575f5b6135a66020830183614fba565b905081101561362d57366135bd6020840184614fba565b838181106135cd576135cd61422a565b6060029190910191506135e590506020870187613a61565b6001600160a01b03166135fb6020830183613a61565b6001600160a01b031603613624576136196060820160408301614d27565b945050505050610b9d565b50600101613599565b505b50600101613534565b505f949350505050565b5f805f8060205f8651602088015f8a5af192503d91505f519050828015612e46575081156136735780600114612e46565b50505050506001600160a01b03163b151590565b60408051610100810182525f8082526020820181905291810182905260608101829052608081019190915260a081016136be6136d2565b815260200160608152602001606081525090565b60408051610260810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101829052610220810182905261024081019190915290565b6001600160a01b0381168114613781575f80fd5b50565b803561378f8161376d565b919050565b5f80604083850312156137a5575f80fd5b8235915060208301356137b78161376d565b809150509250929050565b5f602082840312156137d2575f80fd5b81356001600160e01b031981168114610b9d575f80fd5b5f805f805f608086880312156137fd575f80fd5b85356138088161376d565b945060208601356138188161376d565b93506040860135925060608601356001600160401b038082111561383a575f80fd5b818801915088601f83011261384d575f80fd5b81358181111561385b575f80fd5b89602082850101111561386c575f80fd5b9699959850939650602001949392505050565b5f60c0828403121561388f575f80fd5b50919050565b5f8083601f8401126138a5575f80fd5b5081356001600160401b038111156138bb575f80fd5b6020830191508360208260051b85010111156138d5575f80fd5b9250929050565b5f6060828403121561388f575f80fd5b5f6040828403121561388f575f80fd5b5f805f805f805f805f60e08a8c031215613914575f80fd5b8935985060208a01356001600160401b0380821115613931575f80fd5b61393d8d838e0161387f565b995060408c0135915080821115613952575f80fd5b61395e8d838e01613895565b909950975060608c0135915080821115613976575f80fd5b6139828d838e016138dc565b965060808c0135915080821115613997575f80fd5b6139a38d838e016138ec565b955060a08c01359150808211156139b8575f80fd5b6139c48d838e0161387f565b945060c08c01359150808211156139d9575f80fd5b506139e68c828d01613895565b915080935050809150509295985092959850929598565b9182526001600160a01b0316602082015260400190565b5f60208284031215613a24575f80fd5b5035919050565b5f805f60608486031215613a3d575f80fd5b83359250602084013591506040840135613a568161376d565b809150509250925092565b5f60208284031215613a71575f80fd5b8135610b9d8161376d565b5f805f805f8060a08789031215613a91575f80fd5b8635955060208701356001600160401b0380821115613aae575f80fd5b613aba8a838b0161387f565b96506040890135915080821115613acf575f80fd5b613adb8a838b01613895565b90965094506060890135915080821115613af3575f80fd5b613aff8a838b016138dc565b93506080890135915080821115613b14575f80fd5b50613b2189828a016138ec565b9150509295509295509295565b5f60208284031215613b3e575f80fd5b81356001600160401b03811115613b53575f80fd5b82016101808185031215610b9d575f80fd5b5f5b83811015613b7f578181015183820152602001613b67565b50505f910152565b5f8151808452613b9e816020860160208601613b65565b601f01601f19169290920160200192915050565b5f604080830185845260206040818601528186518084526060935060608701915060608160051b8801018389015f5b83811015613c3157898303605f19018552815180516001600160a01b031684528681015187850152880151888401889052613c1e88850182613b87565b9587019593505090850190600101613be1565b50909a9950505050505050505050565b5f805f838503610160811215613c55575f80fd5b84359350610120601f1982011215613c6b575f80fd5b50602084019150610140840135613a568161376d565b5f8060408385031215613c92575f80fd5b8235915060208301356001600160401b03811115613cae575f80fd5b613cba858286016138ec565b9150509250929050565b5f815180845260208085019450602084015f5b83811015613cfc5781516001600160a01b031687529582019590820190600101613cd7565b509495945050505050565b602081525f610b9d6020830184613cc4565b5f60208284031215613d29575f80fd5b81356001600160401b03811115613d3e575f80fd5b82016102008185031215610b9d575f80fd5b5f60208284031215613d60575f80fd5b81356001600160401b03811115613d75575f80fd5b82016101a08185031215610b9d575f80fd5b5f6080820186835260208681850152604086604086015260606080606087015283875180865260a08801915060a08160051b89010195508489015f5b82811015613e1357898803609f19018452815180516001600160a01b0316895287810151888a0152860151868901869052613e00868a0182613b87565b9850509286019290860190600101613dc3565b50959c9b505050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b803560ff8116811461378f575f80fd5b63ffffffff81168114613781575f80fd5b803561378f81613e49565b8035613e708161376d565b6001600160a01b0316825260ff613e8960208301613e39565b1660208301526040810135613e9d81613e49565b63ffffffff166040830152606090810135910152565b5f808335601e19843603018112613ec8575f80fd5b83016020810192503590506001600160401b03811115613ee6575f80fd5b8036038213156138d5575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60208152613f3d60208201613f3084613784565b6001600160a01b03169052565b5f613f4a60208401613784565b6001600160a01b038116604084015250613f6a6060830160408501613e65565b60c083013560e083015261010060e084013581840152613f8b818501613784565b9050610120613fa4818501836001600160a01b03169052565b61014091508085013582850152506101608185013581850152613fc981860186613eb3565b6101808681015292509050610c886101a085018383613ef4565b604051606081016001600160401b038111828210171561400557614005613e25565b60405290565b60405161026081016001600160401b038111828210171561400557614005613e25565b60405161012081016001600160401b038111828210171561400557614005613e25565b604051601f8201601f191681016001600160401b038111828210171561407957614079613e25565b604052919050565b5f6001600160401b0382111561409957614099613e25565b5060051b60200190565b5f80604083850312156140b4575f80fd5b825191506020808401516001600160401b03808211156140d2575f80fd5b818601915086601f8301126140e5575f80fd5b81516140f86140f382614081565b614051565b81815260059190911b83018401908481019089831115614116575f80fd5b8585015b838110156141ec57805185811115614130575f80fd5b8601601f196060828e0382011215614146575f80fd5b61414e613fe3565b8983015161415b8161376d565b815260408301518a820152606083015188811115614177575f80fd5b8084019350508d603f84011261418b575f80fd5b898301518881111561419f5761419f613e25565b6141af8b84601f84011601614051565b92508083528e60408286010111156141c5575f80fd5b6141d5818c850160408701613b65565b50604081019190915284525091860191860161411a565b508096505050505050509250929050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156107d6576107d66141fd565b634e487b7160e01b5f52603260045260245ffd5b65ffffffffffff81168114613781575f80fd5b803561378f8161423e565b6001600160701b0381168114613781575f80fd5b803561378f8161425c565b8381526101608101833561428e8161423e565b65ffffffffffff81166020840152506142a960208501614251565b65ffffffffffff81166040840152506142c460408501614251565b65ffffffffffff81166060840152506142df60608501614251565b65ffffffffffff81166080840152506142fa60808501613e5a565b63ffffffff811660a08401525061431360a08501614270565b6001600160701b03811660c08401525061432f60c08501613e5a565b63ffffffff811660e08401525061434860e08501613784565b61010061435f818501836001600160a01b03169052565b850135610120840152506001600160a01b0383166101408301526129cf565b8015158114613781575f80fd5b805161378f8161437e565b5f602082840312156143a6575f80fd5b8151610b9d8161437e565b805161378f8161423e565b805161378f81613e49565b805161378f8161425c565b805161378f8161376d565b61ffff81168114613781575f80fd5b805161378f816143dd565b5f6102608284031215614408575f80fd5b61441061400b565b905061441b826143ec565b8152614429602083016143ec565b602082015261443a604083016143bc565b604082015261444b6060830161438b565b606082015261445c6080830161438b565b608082015261446d60a0830161438b565b60a082015261447e60c0830161438b565b60c082015261448f60e0830161438b565b60e08201526101006144a281840161438b565b908201526101206144b483820161438b565b908201526101406144c683820161438b565b908201526101606144d883820161438b565b908201526101806144ea83820161438b565b908201526101a06144fc83820161438b565b908201526101c061450e83820161438b565b908201526101e061452083820161438b565b9082015261020061453283820161438b565b908201526102206145448382016143d2565b908201526102406145568382016143ec565b9082015292915050565b5f80828403610380811215614573575f80fd5b61012080821215614582575f80fd5b61458a61402e565b9150614595856143b1565b82526145a3602086016143b1565b60208301526145b4604086016143b1565b60408301526145c5606086016143b1565b60608301526145d6608086016143bc565b60808301526145e760a086016143c7565b60a08301526145f860c086016143bc565b60c083015261460960e086016143d2565b60e0830152610100808601518184015250819350614629868287016143f7565b925050509250929050565b5f60208284031215614644575f80fd5b5051919050565b5f808335601e19843603018112614660575f80fd5b8301803591506001600160401b03821115614679575f80fd5b6020019150368190038213156138d5575f80fd5b8681525f60018060a01b03808816602084015286604084015280861660608401525083608083015260e060a08301525f60e08301526101008060c08401526146d781840185613b87565b9998505050505050505050565b85815260018060a01b0385166020820152836040820152821515606082015260c060808201525f60c082015260e060a08201525f61472560e0830184613b87565b979650505050505050565b6001600160a01b03878116825286166020808301919091526040820186905260c06060830181905285519083018190525f918681019160e085019190845b8181101561478a5784518452938201939282019260010161476e565b5050509415156080840152505090151560a090910152949350505050565b5f602082840312156147b8575f80fd5b8151610b9d8161376d565b818103818111156107d6576107d66141fd565b5f80858511156147e4575f80fd5b838611156147f0575f80fd5b5050820193919092039150565b6bffffffffffffffffffffffff19813581811691601485101561482a5780818660140360031b1b83161692505b505092915050565b5f60018060a01b03808516835260206040602085015260a084018286511660408601526001600160401b036020870151166060860152604086015192506060608086015280835180835260c0870191506020850194505f92505b808310156148af57845160ff16825293830193600192909201919083019061488c565b50979650505050505050565b808201808211156107d6576107d66141fd565b5f823561015e198336030181126148e3575f80fd5b9190910192915050565b92835260208301919091526001600160a01b0316604082015260600190565b5f8235607e19833603018112614920575f80fd5b90910192915050565b80356001600160681b038116811461378f575f80fd5b803561378f816143dd565b803562ffffff8116811461378f575f80fd5b803561378f8161437e565b5f60808084018335601e19853603018112614980575f80fd5b840160208181019135906001600160401b0382111561499d575f80fd5b6101c080830236038413156149b0575f80fd5b608089529382905260a0938489015f5b84811015614af5576149e2826149d588614929565b6001600160681b03169052565b6149ed848701613e5a565b63ffffffff16848301526040614a04878201613e5a565b63ffffffff16908301526060614a1b87820161493f565b61ffff1690830152614a2e868901613784565b6001600160a01b031688830152858701358783015260c0614a5081880161494a565b62ffffff169083015260e0614a66878201613e39565b60ff1690830152610100614a7b87820161495c565b151590830152610120614a8f87820161495c565b151590830152610140614aa387820161495c565b151590830152610160614ab787820161495c565b151590830152610180614acb87820161495c565b1515908301526101a0614adf87820161495c565b15159083015294820194908201906001016149c0565b50614b0260208a01613e5a565b63ffffffff811660208c01529650614b1c60408a01613e39565b60ff811660408c01529650614b3360608a01613784565b6001600160a01b03811660608c015296506146d7565b8035614b548161437e565b151582526020810135614b668161437e565b151560208301526040810135614b7b8161437e565b151560408301526060810135614b908161437e565b8015156060840152505050565b838152606060208201525f614bb28485613eb3565b6101606060850152614bc96101c085018284613ef4565b915050614bd96020860186613eb3565b605f1980868503016080870152614bf1848385613ef4565b9350614c006040890189613eb3565b93509150808685030160a0870152614c19848484613ef4565b9350614c2760608901613784565b6001600160a01b03811660c08801529250614c456080890189613eb3565b93509150808685030160e0870152614c5e848484613ef4565b9350614c6d60a089018961490c565b925080868503016101008701525050614c868282614967565b915050614c9560c08601613784565b6001600160a01b0316610120840152614cb5610140840160e08701614b49565b604092909201929092529392505050565b5f60208284031215614cd6575f80fd5b8135610b9d8161437e565b5f8235609e198336030181126148e3575f80fd5b5f60208284031215614d05575f80fd5b610b9d8261494a565b5f60208284031215614d1e575f80fd5b610b9d82614929565b5f60208284031215614d37575f80fd5b8135610b9d81613e49565b5f808335601e19843603018112614d57575f80fd5b8301803591506001600160401b03821115614d70575f80fd5b6020019150600581901b36038213156138d5575f80fd5b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015614e3d57888303603f19018552815180516001600160a01b031684528781015162ffffff1688850152868101516001600160681b03168785015260608082015163ffffffff908116918601919091526080808301519091169085015260a09081015160c091850182905290614e2981860183613cc4565b968901969450505090860190600101614dae565b509098975050505050505050565b5f8235607e198336030181126148e3575f80fd5b63ffffffff881681526001600160a01b038716602082015260a0604082018190525f90614e8f9083018789613ef4565b8281036060840152614ea2818688613ef4565b91505082608083015298975050505050505050565b5f823561011e198336030181126148e3575f80fd5b5f60208284031215614edc575f80fd5b8135610b9d816143dd565b5f808335601e19843603018112614efc575f80fd5b8301803591506001600160401b03821115614f15575f80fd5b602001915060c0810236038213156138d5575f80fd5b5f60208284031215614f3b575f80fd5b8135610b9d8161423e565b5f60208284031215614f56575f80fd5b8135610b9d8161425c565b60e081525f614f7360e083018a613b87565b60208301989098525061ffff95861660408201526001600160701b0394909416606085015263ffffffff9283166080850152911660a083015290911660c090910152919050565b5f808335601e19843603018112614fcf575f80fd5b8301803591506001600160401b03821115614fe8575f80fd5b60200191506060810236038213156138d5575f80fd5b608081525f6150106080830187613b87565b63ffffffff959095166020830152506001600160a01b039290921660408301526001600160681b0316606090910152919050565b805161ffff1682526020810151615061602084018261ffff169052565b506040810151615079604084018263ffffffff169052565b50606081015161508d606084018215159052565b5060808101516150a1608084018215159052565b5060a08101516150b560a084018215159052565b5060c08101516150c960c084018215159052565b5060e08101516150dd60e084018215159052565b5061010081810151151590830152610120808201511515908301526101408082015115159083015261016080820151151590830152610180808201511515908301526101a0808201511515908301526101c0808201511515908301526101e08082015115159083015261020080820151151590830152610220808201516001600160a01b0316908301526102408082015161ffff811682850152611189565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657858303601f190189528151805184528401516040858501819052815181860181905291860191606090818701905f5b8181101561523f578551805163ffffffff1684528a8101516001600160401b03168b850152858101516001600160a01b03908116878601528582015115158686015260808083015165ffffffffffff169086015260a09182015116908401529489019460c0909201916001016151ce565b50509b87019b955050509184019150600101615197565b5090979650505050505050565b5f815180845260208085019450602084015f5b83811015613cfc57815180516001600160e01b0316885283015163ffffffff168388015260409096019590820190600101615276565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657858303601f19018952815180516001600160a01b0390811685528582015116858501526040808201516080828701819052919061530e83880182615263565b925050506060808301519250858203818701525061532c8183615263565b9a86019a94505050908301906001016152c7565b5f82825180855260208086019550808260051b8401018186015f5b8481101561525657601f198684030189528151805165ffffffffffff1684528481015163ffffffff908116868601526040808301516001600160701b031690860152606080830151909116908501526080808201516001600160a01b03169085015260a08082015161034091906153d482880182615044565b505060c0820151816103008701526153ee8287018261517c565b91505060e0820151915084810361032086015261540b81836152ac565b9a86019a945050509083019060010161535b565b5f808335601e19843603018112615434575f80fd5b83016020810192503590506001600160401b03811115615452575f80fd5b6060810236038213156138d5575f80fd5b5f8235603e19833603018112614920575f80fd5b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f190189526154a98288615463565b604080850182356154b98161376d565b6001600160a01b0381811688526154d2858a018661541f565b898b018690529384905292945060609291508288015f5b868110156155395783356154fc8161376d565b8316825260ff61550d858d01613e39565b168b8301528584013561551f81613e49565b63ffffffff168287015292840192908401906001016154e9565b509d89019d975050509386019350505060010161548e565b6001600160a01b038716815260a0602082018190525f906155759083018789613ef4565b82810360408401526155878187615340565b9050828103606084015261559c818587615477565b83810360809094019390935250505f81526020019695505050505050565b634e487b7160e01b5f52600160045260245ffd5b848152608060208201525f6155e66080830186615340565b82810360408401526155f9818587615477565b83810360609094019390935250505f8152602001949350505050565b838152604060208201525f610c88604083018486613ef4565b868152608060208201525f615647608083018789613ef4565b828103604084015261565a818688613ef4565b915050826060830152979650505050505050565b5f808335601e19843603018112615683575f80fd5b83016020810192503590506001600160401b038111156156a1575f80fd5b8060051b36038213156138d5575f80fd5b8183525f60208085019450825f5b85811015613cfc5781356156d381613e49565b63ffffffff1687526001600160681b036156ee838501614929565b16838801526040808301356157028161376d565b6001600160a01b03169088015260609687019691909101906001016156c0565b5f808335601e19843603018112615737575f80fd5b83016020810192503590506001600160401b03811115615755575f80fd5b60c0810236038213156138d5575f80fd5b80356001600160401b038116811461378f575f80fd5b8183525f60208085019450825f5b85811015613cfc57813561579d81613e49565b63ffffffff1687526001600160401b036157b8838501615766565b16838801526040808301356157cc8161376d565b6001600160a01b0316908801526060828101356157e88161437e565b1515908801526080828101356157fd8161423e565b65ffffffffffff169088015260a0615816838201613784565b6001600160a01b03169088015260c096870196919091019060010161578a565b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f1901895281353688900361011e19018112615873575f80fd5b87016101206158918561588584614251565b65ffffffffffff169052565b61589d8683018361541f565b82888801526158af83880182846156b2565b9250505060406158c081840161493f565b61ffff169086015260606158d683820184615722565b878403838901526158e884828461577c565b935050505060806158fa818401614270565b6001600160701b03169086015260a0615914838201613e5a565b63ffffffff169086015260c061592b838201613e5a565b63ffffffff169086015260e061594283820161493f565b61ffff169086015261010061595883820161493f565b61ffff1695019490945250978301979083019060010161584d565b5f808335601e19843603018112615988575f80fd5b83016020810192503590506001600160401b038111156159a6575f80fd5b8060061b36038213156138d5575f80fd5b8183525f60208085019450825f5b85811015613cfc5781356159d88161376d565b6001600160a01b03908116885282840135906159f38261376d565b168784015260409687019691909101906001016159c5565b5f60608084018335615a1c8161376d565b6001600160a01b03908116865260209085820135615a398161376d565b811660208801526040615a4e8782018861541f565b606060408b015294859052935f9060808a015b81831015615ab5578635615a748161376d565b8516815262ffffff615a8788880161494a565b168682015283870135615a9981613e49565b63ffffffff168185015295870195600192909201918701615a61565b9a9950505050505050505050565b5f8383855260208086019550808560051b830101845f5b8781101561525657848303601f19018952615af58288615463565b60408085018235615b058161376d565b6001600160a01b039081168752838801359036859003601e19018212615b29575f80fd5b9301878101939035906001600160401b03821115615b45575f80fd5b8160071b3603851315615b56575f80fd5b878901849052918190526060918288015f5b83811015615bc3578635615b7b8161376d565b83168252868b0135615b8c81613e49565b63ffffffff16828c015286860135615ba38161376d565b831682870152868501358583015260809687019690910190600101615b68565b509d89019d9750505093860193505050600101615ada565b5f615be6828361566e565b60408552615bf8604086018284615ac3565b915050602083013560208501528091505092915050565b60e081525f615c1e8a8b61490c565b60c060e0840152615c2f8182613eb3565b60806101a0860152615c4661022086018284613ef4565b915050615c566020830183613eb3565b61019f1980878503016101c0880152615c70848385613ef4565b9350615c7f6040860186613eb3565b9350915080878503016101e088015250615c9a838383613ef4565b925050506060820135610200850152615cb560208d01613e5a565b63ffffffff81166101008601529150615cd060408d01613784565b6001600160a01b0381166101208601529150615cef60608d018d61566e565b925060df198086840301610140870152615d0a838584615836565b9350615d1960808f018f615973565b93509150808685030161016087015250615d348383836159b7565b92505050615d4460a08c01613784565b6001600160a01b03166101808401528281036020840152615d66818a8c615477565b90508281036040840152615d7a8189615a0b565b90508281036060840152615d8e8188615bdb565b90508281036080840152615da28187615340565b9150508360a08301526146d760c08301846001600160a01b03169052565b838152606060208201525f615dd86060830185615bdb565b905060018060a01b0383166040830152949350505050565b848152836020820152606060408201525f612e46606083018486615ac3565b5f6020808385031215615e20575f80fd5b82516001600160401b03811115615e35575f80fd5b8301601f81018513615e45575f80fd5b8051615e536140f382614081565b81815260059190911b82018301908381019087831115615e71575f80fd5b928401925b82841015614725578351615e898161376d565b82529284019290840190615e76565b634e487b7160e01b5f52601260045260245ffd5b5f808335601e19843603018112615ec1575f80fd5b8301803591506001600160401b03821115615eda575f80fd5b6020019150600681901b36038213156138d5575f80fd5b5f60c08284031215615f01575f80fd5b60405160c081018181106001600160401b0382111715615f2357615f23613e25565b6040528235615f3181613e49565b8152615f3f60208401615766565b60208201526040830135615f528161376d565b60408201526060830135615f658161437e565b60608201526080830135615f788161423e565b608082015260a0830135615f8b8161376d565b60a08201529392505050565b5f8235603e198336030181126148e3575f80fdfea2646970667358221220a65dd1b0393318be33b98bea5093652be65932761f1712727bd697956b18864164736f6c63430008170033",
|
|
2818
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBController\",\"name\":\"controller\",\"type\":\"address\"},{\"internalType\":\"contract IJBSuckerRegistry\",\"name\":\"suckerRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeRevnetId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJB721TiersHookDeployer\",\"name\":\"hookDeployer\",\"type\":\"address\"},{\"internalType\":\"contract CTPublisher\",\"name\":\"publisher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trustedForwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_AutoIssuanceBeneficiaryZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutDelay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimestamp\",\"type\":\"uint256\"}],\"name\":\"REVDeployer_CashOutDelayNotFinished\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxCashOutTaxRate\",\"type\":\"uint256\"}],\"name\":\"REVDeployer_CashOutsCantBeTurnedOffCompletely\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"}],\"name\":\"REVDeployer_LoanSourceDoesntMatchTerminalConfigurations\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_MustHaveSplits\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_NothingToAutoIssue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_RulesetDoesNotAllowDeployingSuckers\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stageId\",\"type\":\"uint256\"}],\"name\":\"REVDeployer_StageNotStarted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_StageTimesMustIncrease\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REVDeployer_StagesRequired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"REVDeployer_Unauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedDecrease\",\"type\":\"uint256\"}],\"name\":\"SafeERC20FailedDecreaseAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"stageId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AutoIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVDescription\",\"name\":\"description\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"baseCurrency\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"splitOperator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint48\",\"name\":\"startsAtOrAfter\",\"type\":\"uint48\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"chainId\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"count\",\"type\":\"uint104\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"internalType\":\"struct REVAutoIssuance[]\",\"name\":\"autoIssuances\",\"type\":\"tuple[]\"},{\"internalType\":\"uint16\",\"name\":\"splitPercent\",\"type\":\"uint16\"},{\"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\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"},{\"internalType\":\"uint112\",\"name\":\"initialIssuance\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutFrequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"cashOutTaxRate\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"extraMetadata\",\"type\":\"uint16\"}],\"internalType\":\"struct REVStageConfig[]\",\"name\":\"stageConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPayoutTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"internalType\":\"struct REVLoanSource[]\",\"name\":\"loanSources\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"loans\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct REVConfig\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IJBTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"}],\"internalType\":\"struct JBAccountingContext[]\",\"name\":\"accountingContextsToAccept\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct JBTerminalConfig[]\",\"name\":\"terminalConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBRulesetDataHook\",\"name\":\"dataHook\",\"type\":\"address\"},{\"internalType\":\"contract IJBBuybackHook\",\"name\":\"hookToConfigure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"twapWindow\",\"type\":\"uint32\"}],\"internalType\":\"struct REVBuybackPoolConfig[]\",\"name\":\"poolConfigurations\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct REVBuybackHookConfig\",\"name\":\"buybackHookConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IJBSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"remoteToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minBridgeAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"mappings\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSuckerDeployerConfig[]\",\"name\":\"deployerConfigurations\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct REVSuckerDeploymentConfig\",\"name\":\"suckerDeploymentConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint48\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint112\",\"name\":\"weight\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"weightCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"contract IJBRulesetApprovalHook\",\"name\":\"approvalHook\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"reservedPercent\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"cashOutTaxRate\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"baseCurrency\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseCreditTransfers\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowOwnerMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetCustomToken\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowAddAccountingContext\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowAddPriceFeed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"ownerMustSendPayouts\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalSurplusForCashOuts\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataHookForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataHookForCashOut\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataHook\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"metadata\",\"type\":\"uint16\"}],\"internalType\":\"struct JBRulesetMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"groupId\",\"type\":\"uint256\"},{\"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\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSplitGroup[]\",\"name\":\"splitGroups\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint224\",\"name\":\"amount\",\"type\":\"uint224\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"}],\"internalType\":\"struct JBCurrencyAmount[]\",\"name\":\"payoutLimits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint224\",\"name\":\"amount\",\"type\":\"uint224\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"}],\"internalType\":\"struct JBCurrencyAmount[]\",\"name\":\"surplusAllowances\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBFundAccessLimitGroup[]\",\"name\":\"fundAccessLimitGroups\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"struct JBRulesetConfig[]\",\"name\":\"rulesetConfigurations\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedConfigurationHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DeployRevnet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedConfigurationHash\",\"type\":\"bytes32\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IJBSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"remoteToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minBridgeAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"mappings\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSuckerDeployerConfig[]\",\"name\":\"deployerConfigurations\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct REVSuckerDeploymentConfig\",\"name\":\"suckerDeploymentConfiguration\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DeploySuckers\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSplitOperator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"ReplaceSplitOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"additionalOperator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"permissionIds\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetAdditionalOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cashOutDelay\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetCashOutDelay\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"stageId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"StoreAutoIssuanceAmount\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CASH_OUT_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CONTROLLER\",\"outputs\":[{\"internalType\":\"contract IJBController\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DIRECTORY\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_REVNET_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"HOOK_DEPLOYER\",\"outputs\":[{\"internalType\":\"contract IJB721TiersHookDeployer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMISSIONS\",\"outputs\":[{\"internalType\":\"contract IJBPermissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROJECTS\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PUBLISHER\",\"outputs\":[{\"internalType\":\"contract CTPublisher\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUCKER_REGISTRY\",\"outputs\":[{\"internalType\":\"contract IJBSuckerRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"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\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"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\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hookMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"cashOutMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBAfterCashOutRecordedContext\",\"name\":\"context\",\"type\":\"tuple\"}],\"name\":\"afterCashOutRecordedWith\",\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stageId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"amountToAutoIssue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stageId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"autoIssueFor\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"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\":\"struct JBTokenAmount\",\"name\":\"surplus\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalSurplus\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBBeforeCashOutRecordedContext\",\"name\":\"context\",\"type\":\"tuple\"}],\"name\":\"beforeCashOutRecordedWith\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IJBCashOutHook\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBCashOutHookSpecification[]\",\"name\":\"hookSpecifications\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"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\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"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\"}],\"internalType\":\"struct JBBeforePayRecordedContext\",\"name\":\"context\",\"type\":\"tuple\"}],\"name\":\"beforePayRecordedWith\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IJBPayHook\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayHookSpecification[]\",\"name\":\"hookSpecifications\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"}],\"name\":\"buybackHookOf\",\"outputs\":[{\"internalType\":\"contract IJBRulesetDataHook\",\"name\":\"buybackHook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"}],\"name\":\"cashOutDelayOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVDescription\",\"name\":\"description\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"baseCurrency\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"splitOperator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint48\",\"name\":\"startsAtOrAfter\",\"type\":\"uint48\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"chainId\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"count\",\"type\":\"uint104\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"internalType\":\"struct REVAutoIssuance[]\",\"name\":\"autoIssuances\",\"type\":\"tuple[]\"},{\"internalType\":\"uint16\",\"name\":\"splitPercent\",\"type\":\"uint16\"},{\"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\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"},{\"internalType\":\"uint112\",\"name\":\"initialIssuance\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutFrequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"cashOutTaxRate\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"extraMetadata\",\"type\":\"uint16\"}],\"internalType\":\"struct REVStageConfig[]\",\"name\":\"stageConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPayoutTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"internalType\":\"struct REVLoanSource[]\",\"name\":\"loanSources\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"loans\",\"type\":\"address\"}],\"internalType\":\"struct REVConfig\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IJBTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"}],\"internalType\":\"struct JBAccountingContext[]\",\"name\":\"accountingContextsToAccept\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBTerminalConfig[]\",\"name\":\"terminalConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBRulesetDataHook\",\"name\":\"dataHook\",\"type\":\"address\"},{\"internalType\":\"contract IJBBuybackHook\",\"name\":\"hookToConfigure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"twapWindow\",\"type\":\"uint32\"}],\"internalType\":\"struct REVBuybackPoolConfig[]\",\"name\":\"poolConfigurations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct REVBuybackHookConfig\",\"name\":\"buybackHookConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IJBSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"remoteToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minBridgeAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"mappings\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSuckerDeployerConfig[]\",\"name\":\"deployerConfigurations\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVSuckerDeploymentConfig\",\"name\":\"suckerDeploymentConfiguration\",\"type\":\"tuple\"}],\"name\":\"deployFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IJBSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"remoteToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minBridgeAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"mappings\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSuckerDeployerConfig[]\",\"name\":\"deployerConfigurations\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVSuckerDeploymentConfig\",\"name\":\"suckerDeploymentConfiguration\",\"type\":\"tuple\"}],\"name\":\"deploySuckersFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"suckers\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVDescription\",\"name\":\"description\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"baseCurrency\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"splitOperator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint48\",\"name\":\"startsAtOrAfter\",\"type\":\"uint48\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"chainId\",\"type\":\"uint32\"},{\"internalType\":\"uint104\",\"name\":\"count\",\"type\":\"uint104\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"internalType\":\"struct REVAutoIssuance[]\",\"name\":\"autoIssuances\",\"type\":\"tuple[]\"},{\"internalType\":\"uint16\",\"name\":\"splitPercent\",\"type\":\"uint16\"},{\"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\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"},{\"internalType\":\"uint112\",\"name\":\"initialIssuance\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutFrequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"issuanceCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"cashOutTaxRate\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"extraMetadata\",\"type\":\"uint16\"}],\"internalType\":\"struct REVStageConfig[]\",\"name\":\"stageConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPayoutTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"internalType\":\"struct REVLoanSource[]\",\"name\":\"loanSources\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"loans\",\"type\":\"address\"}],\"internalType\":\"struct REVConfig\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IJBTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"}],\"internalType\":\"struct JBAccountingContext[]\",\"name\":\"accountingContextsToAccept\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBTerminalConfig[]\",\"name\":\"terminalConfigurations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBRulesetDataHook\",\"name\":\"dataHook\",\"type\":\"address\"},{\"internalType\":\"contract IJBBuybackHook\",\"name\":\"hookToConfigure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"twapWindow\",\"type\":\"uint32\"}],\"internalType\":\"struct REVBuybackPoolConfig[]\",\"name\":\"poolConfigurations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct REVBuybackHookConfig\",\"name\":\"buybackHookConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IJBSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"remoteToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minBridgeAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"mappings\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBSuckerDeployerConfig[]\",\"name\":\"deployerConfigurations\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct REVSuckerDeploymentConfig\",\"name\":\"suckerDeploymentConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"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\":\"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\":\"cannotBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cannotIncreaseDiscountPercent\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierConfig[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721InitTiersConfig\",\"name\":\"tiersConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"noNewTiersWithReserves\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithVotes\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithOwnerMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TiersHookFlags\",\"name\":\"flags\",\"type\":\"tuple\"}],\"internalType\":\"struct JBDeploy721TiersHookConfig\",\"name\":\"baseline721HookConfiguration\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"splitOperatorCanAdjustTiers\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"splitOperatorCanUpdateMetadata\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"splitOperatorCanMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"splitOperatorCanIncreaseDiscountPercent\",\"type\":\"bool\"}],\"internalType\":\"struct REVDeploy721TiersHookConfig\",\"name\":\"tiered721HookConfiguration\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint104\",\"name\":\"minimumPrice\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"minimumTotalSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maximumTotalSupply\",\"type\":\"uint32\"},{\"internalType\":\"address[]\",\"name\":\"allowedAddresses\",\"type\":\"address[]\"}],\"internalType\":\"struct REVCroptopAllowedPost[]\",\"name\":\"allowedPosts\",\"type\":\"tuple[]\"}],\"name\":\"deployWith721sFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"contract IJB721TiersHook\",\"name\":\"hook\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint48\",\"name\":\"cycleNumber\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"id\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"basedOnId\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint112\",\"name\":\"weight\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"weightCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"contract IJBRulesetApprovalHook\",\"name\":\"approvalHook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBRuleset\",\"name\":\"ruleset\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"hasMintPermissionFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"}],\"name\":\"hashedEncodedConfigurationOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashedEncodedConfiguration\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isSplitOperatorOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"}],\"name\":\"isTrustedForwarder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"}],\"name\":\"loansOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newSplitOperator\",\"type\":\"address\"}],\"name\":\"setSplitOperatorOf\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"revnetId\",\"type\":\"uint256\"}],\"name\":\"tiered721HookOf\",\"outputs\":[{\"internalType\":\"contract IJB721TiersHook\",\"name\":\"tiered721Hook\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"afterCashOutRecordedWith((address,uint256,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,address,bytes,bytes))\":{\"params\":{\"context\":\"Cash out context passed in by the terminal.\"}},\"autoIssueFor(uint256,uint256,address)\":{\"params\":{\"beneficiary\":\"The address to auto-mint tokens to.\",\"revnetId\":\"The ID of the revnet to auto-mint tokens from.\",\"stageId\":\"The ID of the stage auto-mint tokens are available from.\"}},\"beforeCashOutRecordedWith((address,address,uint256,uint256,uint256,uint256,(address,uint8,uint32,uint256),bool,uint256,bytes))\":{\"details\":\"This function is part of `IJBRulesetDataHook`, and gets called before the revnet processes a cash out.If a sucker is cashing out, no taxes or fees are imposed.\",\"params\":{\"context\":\"Standard Juicebox cash out context. See `JBBeforeCashOutRecordedContext`.\"},\"returns\":{\"cashOutCount\":\"The number of revnet tokens that are cashed out.\",\"cashOutTaxRate\":\"The cash out tax rate, which influences the amount of terminal tokens which get cashed out.\",\"hookSpecifications\":\"The amount of funds and the data to send to cash out hooks (this contract).\",\"totalSupply\":\"The total revnet token supply.\"}},\"beforePayRecordedWith((address,address,(address,uint8,uint32,uint256),uint256,uint256,address,uint256,uint256,bytes))\":{\"details\":\"This function is part of `IJBRulesetDataHook`, and gets called before the revnet processes a payment.\",\"params\":{\"context\":\"Standard Juicebox payment context. See `JBBeforePayRecordedContext`.\"},\"returns\":{\"hookSpecifications\":\"Amounts (out of what's being paid in) to be sent to pay hooks instead of being paid into the revnet. Useful for automatically routing funds from a treasury as payments come in.\",\"weight\":\"The weight which revnet tokens are minted relative to. This can be used to customize how many tokens get minted by a payment.\"}},\"constructor\":{\"params\":{\"controller\":\"The controller to use for launching and operating the Juicebox projects which will be revnets.\",\"feeRevnetId\":\"The Juicebox project ID of the revnet that will receive fees.\",\"hookDeployer\":\"The deployer to use for revnet's tiered ERC-721 hooks.\",\"publisher\":\"The croptop publisher revnets can use to publish ERC-721 posts to their tiered ERC-721 hooks.\",\"suckerRegistry\":\"The registry to use for deploying and tracking each revnet's suckers.\",\"trustedForwarder\":\"The trusted forwarder for the ERC2771Context.\"}},\"deployFor(uint256,((string,string,string,bytes32),uint32,address,(uint48,(uint32,uint104,address)[],uint16,(uint32,uint64,address,bool,uint48,address)[],uint112,uint32,uint32,uint16,uint16)[],(address,address)[],address),(address,(address,uint8,uint32)[])[],(address,address,(address,uint24,uint32)[]),((address,(address,uint32,address,uint256)[])[],bytes32))\":{\"params\":{\"buybackHookConfiguration\":\"The buyback hook and pools to set up for the revnet. The buyback hook buys tokens from a Uniswap pool if minting new tokens would be more expensive.\",\"configuration\":\"Core revnet configuration. See `REVConfig`.\",\"revnetId\":\"The ID of the Juicebox project to turn into a revnet. Send 0 to deploy a new revnet.\",\"suckerDeploymentConfiguration\":\"The suckers to set up for the revnet. Suckers facilitate cross-chain token transfers between peer revnets on different networks.\",\"terminalConfigurations\":\"The terminals to set up for the revnet. Used for payments and cash outs.\"},\"returns\":{\"_0\":\"revnetId The ID of the newly created revnet.\"}},\"deploySuckersFor(uint256,((address,(address,uint32,address,uint256)[])[],bytes32))\":{\"details\":\"Only the revnet's split operator can deploy new suckers.\",\"params\":{\"revnetId\":\"The ID of the revnet to deploy suckers for. See `_makeRulesetConfigurations(…)` for encoding details. Clients can read the encoded configuration from the `DeployRevnet` event emitted by this contract.\",\"suckerDeploymentConfiguration\":\"The suckers to set up for the revnet.\"}},\"deployWith721sFor(uint256,((string,string,string,bytes32),uint32,address,(uint48,(uint32,uint104,address)[],uint16,(uint32,uint64,address,bool,uint48,address)[],uint112,uint32,uint32,uint16,uint16)[],(address,address)[],address),(address,(address,uint8,uint32)[])[],(address,address,(address,uint24,uint32)[]),((address,(address,uint32,address,uint256)[])[],bytes32),((string,string,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,bool,bool,bool,bool,bool,bool)[],uint32,uint8,address),address,(bool,bool,bool,bool)),bytes32,bool,bool,bool,bool),(uint24,uint104,uint32,uint32,address[])[])\":{\"params\":{\"allowedPosts\":\"Restrictions on which croptop posts are allowed on the revnet's ERC-721 tiers.\",\"buybackHookConfiguration\":\"The buyback hook and pools to set up for the revnet. The buyback hook buys tokens from a Uniswap pool if minting new tokens would be more expensive.\",\"configuration\":\"Core revnet configuration. See `REVConfig`.\",\"revnetId\":\"The ID of the Juicebox project to turn into a revnet. Send 0 to deploy a new revnet.\",\"suckerDeploymentConfiguration\":\"The suckers to set up for the revnet. Suckers facilitate cross-chain token transfers between peer revnets on different networks.\",\"terminalConfigurations\":\"The terminals to set up for the revnet. Used for payments and cash outs.\",\"tiered721HookConfiguration\":\"How to set up the tiered ERC-721 hook for the revnet.\"},\"returns\":{\"_0\":\"revnetId The ID of the newly created revnet.\",\"hook\":\"The address of the tiered ERC-721 hook that was deployed for the revnet.\"}},\"hasMintPermissionFor(uint256,(uint48,uint48,uint48,uint48,uint32,uint112,uint32,address,uint256),address)\":{\"details\":\"Required by the `IJBRulesetDataHook` interface.\",\"params\":{\"addr\":\"The address to check the mint permission of.\",\"revnetId\":\"The ID of the revnet to check permissions for.\",\"ruleset\":\"The ruleset to check the mint permission for.\"},\"returns\":{\"_0\":\"flag A flag indicating whether the address has permission to mint the revnet's tokens on-demand.\"}},\"isSplitOperatorOf(uint256,address)\":{\"params\":{\"addr\":\"The address to check.\",\"revnetId\":\"The ID of the revnet.\"},\"returns\":{\"_0\":\"flag A flag indicating whether the address is the revnet's split operator.\"}},\"isTrustedForwarder(address)\":{\"details\":\"Indicates whether any particular address is the trusted forwarder.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Make sure this contract can only receive project NFTs from `JBProjects`.\"},\"setSplitOperatorOf(uint256,address)\":{\"details\":\"Only a revnet's current split operator can set a new split operator.\",\"params\":{\"newSplitOperator\":\"The new split operator's address.\",\"revnetId\":\"The ID of the revnet to set the split operator of.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See `IERC165.supportsInterface`.\",\"returns\":{\"_0\":\"A flag indicating if the provided interface ID is supported.\"}},\"trustedForwarder()\":{\"details\":\"Returns the address of the trusted forwarder.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CASH_OUT_DELAY()\":{\"notice\":\"The number of seconds until a revnet's participants can cash out, starting from the time when that revnet is deployed to a new network. - Only applies to existing revnets which are deploying onto a new network. - To prevent liquidity/arbitrage issues which might arise when an existing revnet adds a brand-new treasury.\"},\"CONTROLLER()\":{\"notice\":\"The controller used to create and manage Juicebox projects for revnets.\"},\"DIRECTORY()\":{\"notice\":\"The directory of terminals and controllers for Juicebox projects (and revnets).\"},\"FEE()\":{\"notice\":\"The cash out fee (as a fraction out of `JBConstants.MAX_FEE`). Cashout fees are paid to the revnet with the `FEE_REVNET_ID`.\"},\"FEE_REVNET_ID()\":{\"notice\":\"The Juicebox project ID of the revnet that receives cash out fees.\"},\"HOOK_DEPLOYER()\":{\"notice\":\"Deploys tiered ERC-721 hooks for revnets.\"},\"PERMISSIONS()\":{\"notice\":\"Stores Juicebox project (and revnet) access permissions.\"},\"PROJECTS()\":{\"notice\":\"Mints ERC-721s that represent Juicebox project (and revnet) ownership and transfers.\"},\"PUBLISHER()\":{\"notice\":\"Manages the publishing of ERC-721 posts to revnet's tiered ERC-721 hooks.\"},\"SUCKER_REGISTRY()\":{\"notice\":\"Deploys and tracks suckers for revnets.\"},\"afterCashOutRecordedWith((address,uint256,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,address,bytes,bytes))\":{\"notice\":\"Processes the fee from a cash out.\"},\"amountToAutoIssue(uint256,uint256,address)\":{\"notice\":\"The number of revnet tokens which can be \\\"auto-minted\\\" (minted without payments) for a specific beneficiary during a stage. Think of this as a per-stage premint.\"},\"autoIssueFor(uint256,uint256,address)\":{\"notice\":\"Auto-mint a revnet's tokens from a stage for a beneficiary.\"},\"beforeCashOutRecordedWith((address,address,uint256,uint256,uint256,uint256,(address,uint8,uint32,uint256),bool,uint256,bytes))\":{\"notice\":\"Determine how a cash out from a revnet should be processed.\"},\"beforePayRecordedWith((address,address,(address,uint8,uint32,uint256),uint256,uint256,address,uint256,uint256,bytes))\":{\"notice\":\"Before a revnet processes an incoming payment, determine the weight and pay hooks to use.\"},\"buybackHookOf(uint256)\":{\"notice\":\"Each revnet's buyback data hook. These return buyback hook data.\"},\"cashOutDelayOf(uint256)\":{\"notice\":\"The timestamp of when cashouts will become available to a specific revnet's participants.\"},\"deployFor(uint256,((string,string,string,bytes32),uint32,address,(uint48,(uint32,uint104,address)[],uint16,(uint32,uint64,address,bool,uint48,address)[],uint112,uint32,uint32,uint16,uint16)[],(address,address)[],address),(address,(address,uint8,uint32)[])[],(address,address,(address,uint24,uint32)[]),((address,(address,uint32,address,uint256)[])[],bytes32))\":{\"notice\":\"Launch a revnet, or convert an existing Juicebox project into a revnet.\"},\"deploySuckersFor(uint256,((address,(address,uint32,address,uint256)[])[],bytes32))\":{\"notice\":\"Deploy new suckers for an existing revnet.\"},\"deployWith721sFor(uint256,((string,string,string,bytes32),uint32,address,(uint48,(uint32,uint104,address)[],uint16,(uint32,uint64,address,bool,uint48,address)[],uint112,uint32,uint32,uint16,uint16)[],(address,address)[],address),(address,(address,uint8,uint32)[])[],(address,address,(address,uint24,uint32)[]),((address,(address,uint32,address,uint256)[])[],bytes32),((string,string,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,bool,bool,bool,bool,bool,bool)[],uint32,uint8,address),address,(bool,bool,bool,bool)),bytes32,bool,bool,bool,bool),(uint24,uint104,uint32,uint32,address[])[])\":{\"notice\":\"Launch a revnet which sells tiered ERC-721s and (optionally) allows croptop posts to its ERC-721 tiers.\"},\"hasMintPermissionFor(uint256,(uint48,uint48,uint48,uint48,uint32,uint112,uint32,address,uint256),address)\":{\"notice\":\"A flag indicating whether an address has permission to mint a revnet's tokens on-demand.\"},\"hashedEncodedConfigurationOf(uint256)\":{\"notice\":\"The hashed encoded configuration of each revnet.\"},\"isSplitOperatorOf(uint256,address)\":{\"notice\":\"A flag indicating whether an address is a revnet's split operator.\"},\"loansOf(uint256)\":{\"notice\":\"Each revnet's loan contract.\"},\"setSplitOperatorOf(uint256,address)\":{\"notice\":\"Change a revnet's split operator.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tiered721HookOf(uint256)\":{\"notice\":\"Each revnet's tiered ERC-721 hook.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/REVDeployer.sol\":\"REVDeployer\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":150},\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@bananapus/=node_modules/@bananapus/\",\"@chainlink/=node_modules/@chainlink/\",\"@croptop/=node_modules/@croptop/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@exhausted-pigeon/=node_modules/@exhausted-pigeon/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/contracts/=node_modules/@sphinx-labs/contracts/contracts/foundry/\",\"@uniswap/=node_modules/@uniswap/\",\"@zksync/=node_modules/@zksync/\",\"base64-sol/=node_modules/base64-sol/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/solmate/\",\"sphinx/=lib/sphinx/packages/contracts/contracts/forge-std/src/\"]},\"sources\":{\"node_modules/@bananapus/721-hook-v5/src/interfaces/IJB721Hook.sol\":{\"keccak256\":\"0x1e7b684c86c0f44b0b680c7aba9e511c89892bc0638424722920368911a087f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96995e70a8f15d5600b509ad689c8f2ea6f8116cc7cce9c529b7a41c12c854dc\",\"dweb:/ipfs/QmaAARj3BDSQNsPwkFxauDpWBNgb4kYdzo19tUNdBbc6cX\"]},\"node_modules/@bananapus/721-hook-v5/src/interfaces/IJB721TiersHook.sol\":{\"keccak256\":\"0x107f91c5a0674717684d75e0c71106dd1d2937c0089366c7bb555be7fffdd6b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ce29d75e454845d0636e671c60c7a691e4a77d1c88fe17dbc435945890465b1\",\"dweb:/ipfs/QmewJn8HeiqKggWA8scLUbwv1TMiit8Va8A5A3K7N9Euss\"]},\"node_modules/@bananapus/721-hook-v5/src/interfaces/IJB721TiersHookDeployer.sol\":{\"keccak256\":\"0x8dfdc8e1182e6ea80806e62c2e216fea1da3f6166d764134e243a5372ef05f02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b53d7bd32017f23fb633903004fc476bb8ba166d90c4ae08ccb6ce7f2941adc\",\"dweb:/ipfs/QmeUu6tW6FA6b61DMgBTyRFZM8duae7J7rLyz4x9GZFAbn\"]},\"node_modules/@bananapus/721-hook-v5/src/interfaces/IJB721TiersHookStore.sol\":{\"keccak256\":\"0x01d419bf6b9dce2ab162f8aac82f0e4a6d948f53819a42ed023e8f23e358c9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e0b14b2ae2032bd256614522078cf0f831c35d1f64d1ea2050227117d08c060\",\"dweb:/ipfs/QmP1xbw5597GDvNVgT5Te6w8LBqeXHq4x6HeXYmqLqw2RC\"]},\"node_modules/@bananapus/721-hook-v5/src/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721InitTiersConfig.sol\":{\"keccak256\":\"0xfe7147d09467fd8f9b755d2a1485f22bb4a8797acd0e97623258498ddac2e441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ee21464af9e6c78f580c6920757017cdfbd276728773338a67660fedfea0fd2\",\"dweb:/ipfs/QmVYviC7uQ7rEvdpzD6U4BN19P5f8uMuC7jWffzQWvuFcu\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721Tier.sol\":{\"keccak256\":\"0x99232aa73d5715977332dc7c93b03552a93259e59ae00e86b4ddc200f06adaf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://721c0cf10a29fa11677718faafb3a2ecfcb4fbe4e1c09e70a7fac681c80fcc94\",\"dweb:/ipfs/QmSUR77E9PqnpB5kBcKNz2CGBjG9XL9FH57RWVYu3Q7GMR\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721TierConfig.sol\":{\"keccak256\":\"0x86e54a0de4deab9d105bf276586aebe256188b193e83eb7a6f6f93e4a29ae9c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04bfcc07d452c26dfc50d3a5eb62df4b3b81e063defd752e0aa5ed049a78eef4\",\"dweb:/ipfs/QmWd5nJHUvZPHxJXkrYCboXaqdtiWWkQG26sNM6qkJuAgD\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721TiersHookFlags.sol\":{\"keccak256\":\"0x283d8429f31bd58875c056515aa42abd09c95362bd929e85cfc44a0d92585766\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a580b89fe99d9f8e930c58a4d0d63a5ff7c01c79d210af01373d066c9e72ed6\",\"dweb:/ipfs/QmdY1eSGSoTjv4KSdsG4Tm5CzJN6iqk3qTRga5ZWNbejRz\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721TiersMintReservesConfig.sol\":{\"keccak256\":\"0x86fe586a05e6d4bc6fab9b68996a7f4b74c5362ca6f24b9d8057ed7e4cd1c5ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0915f17d1f958ab1fe6b214d99ed62f1f858684898c803f1a8a6a557472dd140\",\"dweb:/ipfs/QmUhdnSV8UzkgvbtkYEKHrpyDEmc2aJxW5HQ1gucuxxu5A\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JB721TiersSetDiscountPercentConfig.sol\":{\"keccak256\":\"0x4672eacb6b0cda5e6f5f72ddb91463c52fb90b4df421053e3b40024f19a59954\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8e3a0b35d6b2a6ec66527594263400189b6c766bfd6943c83704380a989aec\",\"dweb:/ipfs/QmUE7NhFWsxjFRzTuRyHJ7oRx3JXD9CnG83t29PjGAhwPR\"]},\"node_modules/@bananapus/721-hook-v5/src/structs/JBDeploy721TiersHookConfig.sol\":{\"keccak256\":\"0x0ce457736946394772afe54d575b68a74269cbf37a250de2d27dca6d9dd45005\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2010a8f6e19354038d3906ddb174f34464c5f341103313a5c4d628aa7732d5a8\",\"dweb:/ipfs/QmU9m18oWtYNV7UHLcW9kdwE3uzoQuGBe6sASvQTk8GZRL\"]},\"node_modules/@bananapus/buyback-hook-v5/src/interfaces/IJBBuybackHook.sol\":{\"keccak256\":\"0xcfa5f691a38949ebaf38c69fa1f1f6e7efe724f85c06f6cc398f21842bcfabbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6b7afe9e9cc48c751b0adec6b888f327c1dbacd9addba9211298db20c0f4b6a\",\"dweb:/ipfs/QmUr1TfCkuzJgmwrycsH1LZEiT8wsxiMJHJNS3cx4yevxW\"]},\"node_modules/@bananapus/buyback-hook-v5/src/interfaces/external/IWETH9.sol\":{\"keccak256\":\"0x50083bcaca6c1a8d12c79116fab4f6d8cd452a510cb3f00c4a8bc3a54678efb7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://726f187112d0953c14bff8099a8c9ce1ead47eb25e90839f77b100feaaf16127\",\"dweb:/ipfs/QmTEnMENpLjcTQLMwz4kEUiQHfiTkaZT3TL37nQ8JiRYh5\"]},\"node_modules/@bananapus/core-v5/src/abstract/JBPermissioned.sol\":{\"keccak256\":\"0xbaaa61c6aa043522617d3c1a86960c23b9978ee2a6c9d593b00beeeb6ce64423\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09beed8608e02ce9dbf28814309aaf62c9eec67e0701a26113bdbb4cbae56c42\",\"dweb:/ipfs/QmZrHFnpjX9uBzbFrSjqQgQBkvpJ1ZyvjtT9RfneNGv32S\"]},\"node_modules/@bananapus/core-v5/src/enums/JBApprovalStatus.sol\":{\"keccak256\":\"0x61c69b6bac7d24b566d87cda23a77e4ca9cdb87200b106aba8534cb9a0973e33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a9ca7249de76f77a8252eefe6bd1b63d47952f25a2acfa2c8db967cdff4470c\",\"dweb:/ipfs/QmaxSxptRQNj8bNy96EreENmrnRWdKmhyihBcxyWzBX5BN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBCashOutHook.sol\":{\"keccak256\":\"0x6c516b030f55065eb169d666d11dbd82c4a0b8cea7782ebc5e79433cade38670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa0659eb08477176f130ccaf387d4bde71f0ecca2b24f61124d225f2f50397a3\",\"dweb:/ipfs/QmRNBRGhdGpLQLkC4wK4VrgNEw4EdSiJ4ZZJfiJU4aNt2L\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBController.sol\":{\"keccak256\":\"0xc903b660dccd57e610e1d834407b2bead1fc456153e106f2582407e505a39a96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://624bb32a7cd93ce056ea2705332821abd9cd7c83f419bbb279ad96e47c2b6013\",\"dweb:/ipfs/QmXKmQAGecR2zYAXMZ54erg5QnYoWNue4Ek3jCJCUyfW7q\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0xcb97db460d2948a7f51c660fe0d1b1749047a419027711c476b86ad3573534c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a909c7a3d471054537894dca827e6e018e92ac25299b43026e5b1e335ec4de68\",\"dweb:/ipfs/QmU1GT3F8PNMjSiPPP5cSLLofefHYFJXnywMCdqqM9xUeh\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBDirectoryAccessControl.sol\":{\"keccak256\":\"0x1ea768919979d9f625920c05a5e633739febc822ce14b1e4724d739b19c10fb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c5391a510bd610a97978245b7306d8d21c79d7c45c15f590ba9b603ea751154\",\"dweb:/ipfs/QmPSJvVWswqzv3bVq422UhA2BybMsiHoYFWGPp5Jh6Xs6a\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBFundAccessLimits.sol\":{\"keccak256\":\"0xfd8ea4cffd289e7fef6e53b5c8983eb6b941de306517f40c047048d3a8a2ca08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2765cdee206f8b1b53874448e2481db001cd3706753190cfc9381318c7a7c41c\",\"dweb:/ipfs/QmQ5UYSadtzrb7BcTR93KnAYKXawdyDUG5HjjASV1zbys5\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPayHook.sol\":{\"keccak256\":\"0x9438866782c652c2942f4d114e35f393cd3c8b0334abce8387eed90bca35e8b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfd99daf57213f92325aad7d7d16e98476d38e870470e95ba01e3ae3cdecc95d\",\"dweb:/ipfs/QmUKKAVGf7ki8BHksr99tFcRW8APveeB5tNH63ctTbbCW8\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPayoutTerminal.sol\":{\"keccak256\":\"0x54e826b28de02e91191fcfcb93f4d26d9bc9a0a4ecad8704bbbfe2fecb862864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1269c0a6398db3293f24c6fa1153c312ef3ccfa0ccb22628bbc34e2aa8573f5d\",\"dweb:/ipfs/QmfDe6o6z4gh624fhhgJDcvDHRL3bHi5u7F7hSBkkMMt5a\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPermissioned.sol\":{\"keccak256\":\"0x5b038d4dee116584e88b230920e56d48e135053e3f7e5642eaea14a775c1dad7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e43102f349fd4a1da1c0943ffb8f2950007fe4bb4bb7e8f74fc142575d091b\",\"dweb:/ipfs/QmXHAt4KzDTdDZgDDefEXH2WKi7NcfkJb9R7nxW5uDqsNp\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPermissions.sol\":{\"keccak256\":\"0x49d2b91a866004af098a6770b28040071885b048b4b50744b12a1e5b212c5e5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://089b4dda50be91412ffe1fbe333f78cc894f073c1a7afe469f10a2cee12fbf9e\",\"dweb:/ipfs/QmYPPBZ6HwBa1RNkNGqGcR2xgj4fnWBzrPHHoJG3kZA6AN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x4bd84c0f1a5d4729ed709bcddd43f4c50ec4a165ece79780af8dce482ed07d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62bac4bfb6982fb002f620c77e5c445e62d50241a5aa64a07e51d929f5a42180\",\"dweb:/ipfs/QmWgJUDreVY2BuMX38a1iUUR5kNbMwGnKG3VvurB7oZtuM\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xb4d5244daa52aafab0c9b8806b7f973afa6a3b298add5966d586d27b78424cfb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a819f74455aaa4f679ded378424702f3992608a640d7f943b19938eb4ff711da\",\"dweb:/ipfs/QmSMGvVTsMW3L5YSUyXTKoEsgNpGEutnq4frEZHuDdeDvz\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBProjectUriRegistry.sol\":{\"keccak256\":\"0xc9ab647179d7d0c857fdd881d6ce96f06254739440ed08e85a1c2042218f7c7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8529368f30c98c8d5a69acdbe4ac79e3eeb4afa5a9cd278325c5f2184ef3d50f\",\"dweb:/ipfs/QmfUaozYiAGt1UwBDUEZvon1tEBS5sLPzqpN9dNdjQotPN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x4ae42a9cc29b517b26d2b9b635deb82c16696b777deeca92dfcad33b0f81c0a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dcbd860e7d7f05232d90c5e9cfd3d01e2ce986ffcdb053473d8a4d387b1a48a\",\"dweb:/ipfs/QmWKWoSJJbVWDumbnzXJBJyXmAacgC97bxMtchh8te41bn\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBRulesetApprovalHook.sol\":{\"keccak256\":\"0x5f0dc5968277b572ba5dc74518906dfb33a9684b7a199c7843f4e66af1c11fb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://323ce3731aebdf5bf8055b8550055e856feed700d293af8beaf8a750625a0975\",\"dweb:/ipfs/QmU2ErV2uzvXnsJt1qBKm73H2qWcEqYtQGHtZEpx93DaWJ\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBRulesetDataHook.sol\":{\"keccak256\":\"0x45a88aa9f26512f7fc3deff6d00be9a292fc07a76c8311f175249400e83d1837\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e88b996c3a05f87f7391ebcb9cd6d46c6ce8768083945f26a98c4ac4509e64c\",\"dweb:/ipfs/QmbpuYi6mYV8K8qrh8syWvbPc34pFrXG6QeC23m4MsX3r9\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBRulesets.sol\":{\"keccak256\":\"0xf287c7a4a162cd58084ed10ee5f9f31c992addff0ce2f2ac7e810cc393546f30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c851b72de52c3ceb73c6b1849ad0cc7c0832fd126ee52cc838a163ab6d3055b8\",\"dweb:/ipfs/Qmbv6k6pSeNMwZoTUKzDNb18DMGR8DboRMrYQBydATuVZw\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBSplitHook.sol\":{\"keccak256\":\"0xeb8dfac7a4b81897a1c3b5d0d853a406bcff33720fb187d5ca5bb3dcc0ba3a12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36aaeef6107cfe5b0127e063ea215aac7200f8af02e28a48e61111abd3254688\",\"dweb:/ipfs/QmQ8yQANXnhQCAWBGKsKCDsJ3A8hnTKNg5tyo79GfWXTcV\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBSplits.sol\":{\"keccak256\":\"0x424e6d1189b9ba7a5d441e7675ae09ff893c13c62b9ddde4dd6bc2690e96c6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e30ed7ab1daf20ff324aacfef7150a243b5db496eceaf032c7012ccb3c4227d\",\"dweb:/ipfs/QmRj5EZKmDjJy8tpvKbpz8vPSKHR5C9Q5ENe7oSLij4H8M\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTerminal.sol\":{\"keccak256\":\"0x5a4c0ef6c8fd10069a408cc42a862909f7b47aba46327da5003203508d8f17d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09d8854151c21046b6b939189ad2139c669888e6baf47034a0cb754104d1efe6\",\"dweb:/ipfs/QmaMrxnf6K6znvDBwdAqsw5x6yuR4SY1BdNtyz226siAt5\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBToken.sol\":{\"keccak256\":\"0xc2c0a75d97e3a20fd6964b09381736de03f56e58c27a874a0c96a21e02d0e577\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ef8d476174aca6c35f7fb24ff8be619191bfd22038d3729ca4803252d3dae6a\",\"dweb:/ipfs/QmdWtAwf2A4P88of9gUyWY6hodT9fqpxJK4NBVQt9ys2Jd\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xfa5cb00dcd6085d1ef912d071fe73c63f9478a2cd0f9d8bddaf659b6af2d0967\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282e4e7c342d65f77cde0e9a08fcaf20ef5cf379c7a48b639842c0ffd0b2afb8\",\"dweb:/ipfs/QmbnN3PEQeZaXdPLT75V1J79kMg7KqSMru37RHrL3z8Yf2\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTokens.sol\":{\"keccak256\":\"0xe3f0cca072afcac9ee3c875b7439a6edb4a9276e9dba01184d11e8270a25f258\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc3e437b8588965b911a750dc632ac1aca4f9348a137877047a62df598a17bc7\",\"dweb:/ipfs/QmdXjVMdCFcw8HFbhxZZbj9KzxNx2ThjVfcDhFBt1khfvL\"]},\"node_modules/@bananapus/core-v5/src/libraries/JBCashOuts.sol\":{\"keccak256\":\"0x3e4e5b16037dad09dc5224833a46226a555531f982fbdd338f1a519380e615e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79b8e4d372f538e0e455c0d497c21613447d321dea75850321ee347c5563ef7e\",\"dweb:/ipfs/QmcS6eKZYN7VKKxkpz86NRZohgR84M6GTzn1NnCY7ux4ee\"]},\"node_modules/@bananapus/core-v5/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x4dd0f809f1f10cf961e85632e5f3ea5e49716b104a0e8bc4d8ccc2081e9d007a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09432ec01de81f7c295579fa3176610776cb186fba4c50d799108a18f14e5cc6\",\"dweb:/ipfs/QmS52c525xJui5u1xoY76PTq2n1pvnUzThBK38A1fsWdLp\"]},\"node_modules/@bananapus/core-v5/src/libraries/JBMetadataResolver.sol\":{\"keccak256\":\"0x52402cc945b1a23d0560a2a9c93a11271ce0ab18e592a4d78fc449a8b417526d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://912b5056f5768b14f26e4e2a754b90ce631a1f4898af6883f6d1e4a1f4ce87c8\",\"dweb:/ipfs/QmdnGcjTQtxscD1QDTERN2xqVA6iJnLCkfq1vWSUmDYYtX\"]},\"node_modules/@bananapus/core-v5/src/libraries/JBSplitGroupIds.sol\":{\"keccak256\":\"0x9b68a957ce0cd35c83d5943957f4028d542c6c9eae624f009c8b8bc0d466de36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d7cd9af5854709ad689c9dad2becc9c4ab0ab6363b9fc0f70aa7f53e27a0167\",\"dweb:/ipfs/QmS1eL5xU5sZjWvdJLBpVEJqKAhhgfjhAJtJMQ7CUHZJZk\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAccountingContext.sol\":{\"keccak256\":\"0x9c47e048a719f784f601df69a583505432217b9868a0244876d277f84dd1ebdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8565f194b87914da9a02af2e760ae2ed2a9d185c6f11229f7035140776d2fec9\",\"dweb:/ipfs/QmPs2fic8W3F5e5zNRwmGmJFjb3JWGPWJ3YUe5o82nQgEn\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAfterCashOutRecordedContext.sol\":{\"keccak256\":\"0xa1acdb1a5670f66f730e71f8eff120766b6f5c934e6cd699c7f1a7cc93adf658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9c7655c9c42b30132688b395251748c809c334370ee584cb9bac46e1fb8f162\",\"dweb:/ipfs/QmbMV1wg1Fm236HaA6nnMSvRkzeYCKPRhMYDbqkAxieY7x\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAfterPayRecordedContext.sol\":{\"keccak256\":\"0x3bfc01ae9944a0ff5c41125e18ebb8efca58d7aa4e471d2ffa6d8588afb689ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://beb21399142d9b89539cfc8aa94119bc106bd1ea847b922d4c78f3f8804a5cba\",\"dweb:/ipfs/QmXDwJXrzCb6zh1KYwVdN2PEY86uK62MTfYF1M2MBtbEP7\"]},\"node_modules/@bananapus/core-v5/src/structs/JBBeforeCashOutRecordedContext.sol\":{\"keccak256\":\"0x7b2119f3e0725becc552ed5dcfa51683960a8772550c95ac5e2f75240ced367c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03369dd07a9126ce453d83ac409919326f0aaa48ff9eac5c703092b3824d79c9\",\"dweb:/ipfs/Qmc1QKw6FfmeBD372RnDyeW27QyzEUjMX5up5rk8SHRYGa\"]},\"node_modules/@bananapus/core-v5/src/structs/JBBeforePayRecordedContext.sol\":{\"keccak256\":\"0xbc98b968d84be2f0ddbb24240723c7179ec9c5e02e5fbd5843dd0e76623a3ea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1310e522696a9fc6f7f96b04c293fab3b4cf1e722bdbb7aa1eec7b3ecc25402f\",\"dweb:/ipfs/QmTYiijDJRuQcMhLrmpbHzHAQFPq6jurPP5HjyYtnzbpnK\"]},\"node_modules/@bananapus/core-v5/src/structs/JBCashOutHookSpecification.sol\":{\"keccak256\":\"0x67a6e781019979e626eaa81d84a800b2656603c23ae455e15d0fa1a6f03c1736\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43ce54447dda62d449a1e3575a9e4cb9c5a2adb41b45423dcefeb7d9afe8336\",\"dweb:/ipfs/QmW77REnQcvsfv4gwTLj2CyynmaGC3a6om7zCFWmERhrPY\"]},\"node_modules/@bananapus/core-v5/src/structs/JBCurrencyAmount.sol\":{\"keccak256\":\"0x7f321bbcbd13abfbc8f0d08a5adaaf8ef312db5bb899012fcffb6170fbb962a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf9301ef1dbb3abda7b492585377617508ba048c6170f21a5e7d2b3c034eb384\",\"dweb:/ipfs/QmcetEFxSYLLNSZzPBpNn3Fc8sFcrFE8A8h12ZSj2tLgxD\"]},\"node_modules/@bananapus/core-v5/src/structs/JBFundAccessLimitGroup.sol\":{\"keccak256\":\"0x9fdaa8d017b72da25f583700a444a86849df053f7fb8eac874ec5139bcf651e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8e44c49ee444a98424a0dbeb6897a76a0bf00d88a613f62ac2012afdac754ee\",\"dweb:/ipfs/QmdYkAiRi5bXM1YYNkc7BiqimHSFodMGn1cjHR5hcpm4xH\"]},\"node_modules/@bananapus/core-v5/src/structs/JBPayHookSpecification.sol\":{\"keccak256\":\"0x955f0bfca97300b9e5927dc181753830ee362f83fa9ca32a90daade32aa0cfd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f517af1597c7c40f8d3da53f7a6684a3e162950a16559d6bf6ea3b727bb11546\",\"dweb:/ipfs/QmRWo2ZTYXmVZTzNJDYhsJNsEaHphjpUfx9eNz2cciyz86\"]},\"node_modules/@bananapus/core-v5/src/structs/JBPermissionsData.sol\":{\"keccak256\":\"0x65e26b78a1f00d81a21abd255c9670b600efca60cf36a993b8f48ecb268464a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d108c721c4281b13de34641befd2a1e9fac73a70195ef5ca957abda6fca9acca\",\"dweb:/ipfs/QmWoJo7wzSKY3z4YCpFvR8DoCUTKviiuFEj2tBkcgKUqW1\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRuleset.sol\":{\"keccak256\":\"0x2d1f0a8457e94addae51a8222b1837e372847624fde96bb3178e7aee52ab2b24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bbb1478e8f5d1c20f981e5a0d5e526d002add1e05ddced87ccd45543ed00c9e4\",\"dweb:/ipfs/QmZkgaYdwkbnvW2MGwVe9FeHjac8XyZTP1YZcWUApiGZgE\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetConfig.sol\":{\"keccak256\":\"0xeba54f25ad84b9c6009f62ded187b58f97e0822e9b19ab0986aee6603ca5400a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a51743febf78f2ede92d32a2b18c3c5f06f02c413c2d01f28dc296840b068ef\",\"dweb:/ipfs/QmVSRDtB7xUgaLGW5tSJr7PhW5XPxkWg226Sk2g75qWpxh\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetMetadata.sol\":{\"keccak256\":\"0x318f0b75275c3822df53a02e98782c9e98e7961116f2ad66a528c6adcd14c946\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d60f62390e43d182bfe875d1ac57e9de10426d81038ba7d8c3727b22392299e2\",\"dweb:/ipfs/QmUtE6fcP25wEhVJNEbrPHyFPkg5hp2PFf5xcwBeHPmNAf\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetWithMetadata.sol\":{\"keccak256\":\"0x1bcfadf20488f6df65227f8d4d0fbf9b7539456a2389567f7fe3900d23289bc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a15c399a71e5373f8c0484c6d6b83521eda31e063a2c53e4c5cec4e74550343\",\"dweb:/ipfs/QmQwi8zkjoTVXbK89NeETYimWCacTrNsesJdpLSvGdqMPX\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSingleAllowance.sol\":{\"keccak256\":\"0x8782e1148524829a4f154442744c25963d0faba623c8a9583eaa8bc2290a040d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://948696535a97640649fa3f44ea176c9d84066c28a303118d0440b6eac830b22f\",\"dweb:/ipfs/QmSGNC6W38F2XvLcqodgx792azsN8D1dt5LSUhS2vGhxZT\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplit.sol\":{\"keccak256\":\"0xfcedbb8b6937ee00578a4c3ec70e2555a2c0a5c18f1eba3b96701b07c1dd94a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7014a7b6f30f35941898eea1d9d32a2d75c807f59e2f0fcb430efc8c25edc1da\",\"dweb:/ipfs/QmWitPTxQCDUfoWrRRrYvE9YhuTcwCAXxVvkVLNk9Jsem1\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplitGroup.sol\":{\"keccak256\":\"0x8dc98fa9e730bee8bcc0a8acf1bc4db1c9b0edf307d969c9c9caa4d6b8d856d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66f4306e0e69c82033927952564fd617e7c4b29aa8b165d5b53a0ebe3109ea12\",\"dweb:/ipfs/QmQqN1u7FHAdEtEZNRcKvZwYtXEQVQnLd6FMzHESP7wDtx\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0x1cef82bf434f91d518092ea7e57db4a72ce7654f48a7db9bf44882900b6b6623\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc5012008ab7e74cf766fe1c202a23e3a73365356bcf1e0b04ec01baf21b204b\",\"dweb:/ipfs/QmSwJvd6Yrg9XZMhjquBcak5sfUswbR5nPEuJBfpjM54VT\"]},\"node_modules/@bananapus/core-v5/src/structs/JBTerminalConfig.sol\":{\"keccak256\":\"0x9e31505080d3754b6d7db96095b0545930ef6dbc035b91fcc32fdc76a0e7c2a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7702ab33a1b713c37e5397a55d8ef089289f4da8034cfe9622cbc69a98c47de\",\"dweb:/ipfs/QmXyiXps4aJyiM7vtDC373QUoqwB4DMETaZzC5cZPJKaAK\"]},\"node_modules/@bananapus/core-v5/src/structs/JBTokenAmount.sol\":{\"keccak256\":\"0xc61593d33d5ec30e695d382948a1b944d01e29a8f2bfd29f75ecebcdbc7816de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8992c1e5fca0c2342ecc0e734dfba6a2a752e4c29184784931d0971e44305051\",\"dweb:/ipfs/QmYNcaW3qeCkgAExUaFTq238fgfJuoYCTwjCn7jm94U4dJ\"]},\"node_modules/@bananapus/ownable-v5/src/JBOwnable.sol\":{\"keccak256\":\"0xad1f9fcc7cfa404a6c20b0eafbc71a2c90a4a3f9aebeaa4b2cab63355892ed30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd0ef227f070c6c68c998c711e70e61850eabe789a026e34f11e8e0d506739a6\",\"dweb:/ipfs/QmPeZXX7Lq8Q3jHSMvQR5W6UprCy5z5BPY8tz6KXEt4a5S\"]},\"node_modules/@bananapus/ownable-v5/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x3ccb51dfe5ea52398b63013dba97552f5b1a443bc6df8713458ee5ce75230bd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd2985c7e5783482a64b774d3be8bcf6736c5e754ffd4c0baa3647fb0ff53b69\",\"dweb:/ipfs/QmfEYE8EXGPbvNcWZj4H4DX2HLxscYcFSckpAGwttt4SRS\"]},\"node_modules/@bananapus/ownable-v5/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0xa94807eab5362c523d403a10902db431753b9b1e4b73259d4d7e217fc6cdf766\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5cd284927df617997d055dfaa5f17b9c22c5ce678b9c87b627d14aaa87fa8d2\",\"dweb:/ipfs/Qma1M9MV1FFsaPF5oAMDL7KdidFzCjZ6EZ8mdLo9MXkgxa\"]},\"node_modules/@bananapus/ownable-v5/src/structs/JBOwner.sol\":{\"keccak256\":\"0x535d669344addf9ce4a62320960699ae8c47b4a615327a1cb32590b4e046c069\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e228cc198dafde001eb65092eebf6e99f91420b993deb9c5dc8204cf2469ce\",\"dweb:/ipfs/QmWpKRsMt3SwToaVyNjF6ZJZaL3Kz2QDfee8BBN2FExV3i\"]},\"node_modules/@bananapus/permission-ids-v5/src/JBPermissionIds.sol\":{\"keccak256\":\"0x03d598c570091f294bebe9c7b59bfc2d907d5b70a3193c3bdb9ddec67edae1e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afb1aefda01e53fa79441bab1fa9cb46154e0db9d16bec8f9b7fa80d200916db\",\"dweb:/ipfs/Qmbkt9HgWmz5rgehRttkzFqW9SkwRYvXYqtHmuxHVxz8ZD\"]},\"node_modules/@bananapus/suckers-v5/src/enums/JBAddToBalanceMode.sol\":{\"keccak256\":\"0x0c18399ed85e6ad5ade75726af9f74e876ae4cf1e8e9d320d50006e320288e1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0080f23626ae9121aad63ba6ec37e95a5b6843de4732f9c7f16b4d09ae3d0880\",\"dweb:/ipfs/QmXudDnVpDAy7Yu7DRb7AZVJEsuK6afse7WtLE2uK12xYo\"]},\"node_modules/@bananapus/suckers-v5/src/enums/JBSuckerState.sol\":{\"keccak256\":\"0x0ee6d0d08cd4f538b8c9ff59d480c7c3371c4cb1971e5a67a89088b4b040a608\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8cce8e51b084cc9a844dc1040aba00b63b01f97868d52cc9f38b9d354fd741f\",\"dweb:/ipfs/QmTveKLmdZAGbwEwaCTBwofSBtckZsDcew3E7iNTnpeskY\"]},\"node_modules/@bananapus/suckers-v5/src/interfaces/IJBSucker.sol\":{\"keccak256\":\"0xc5637080a3bd632b53ca57457a09f252647e1aedd007a21ba9d2fcff8859b343\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://285815a5dc3f29bee503ecc9e7614d49f5e8fd44a6037c3a72e787694a59aebd\",\"dweb:/ipfs/QmccChKT2Gs1Tmeg4LgQAY1ejigdvQYHBo8AQCMfHLMg2j\"]},\"node_modules/@bananapus/suckers-v5/src/interfaces/IJBSuckerDeployer.sol\":{\"keccak256\":\"0x6913c0677d52e01cd2d6f785846a255fcc1783e6b90d15a2f296289d4f482026\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24781b17a192ec8bc2d8ab47400a06e4eed2320bc5537489a1f7bbdaed078ad2\",\"dweb:/ipfs/QmbTUkAvFxcAHhjy8hvJ4uUo4PyeKK4BVuU4YtR3QT7s68\"]},\"node_modules/@bananapus/suckers-v5/src/interfaces/IJBSuckerRegistry.sol\":{\"keccak256\":\"0x65aaa205ac5ffc4a4d9a38a39cf5b427e6c58d610cf042854a27c41f0d7d8b8e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://9f279b1e5868b8c6b80220c87a4ad5f3a95665fabe0467e2b0601bd910a20592\",\"dweb:/ipfs/QmUqFEoGdUUNgH5FGWnXewSPzjZqG73b2z5nsJevG165oX\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBClaim.sol\":{\"keccak256\":\"0xd616fb935e61727ce04832808667bd40dc121d66f5cc2f347018dfd971635dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dfdcfb12878dc03b4623ddfaa42afa7e8270e8a259a8c453ef4f7e916ca52876\",\"dweb:/ipfs/QmZyAUzatUq2HfGBpoKbeqkC7mpetQC27M3797wgNgkE6H\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBInboxTreeRoot.sol\":{\"keccak256\":\"0xc1d8a61fc49d5d095486b194b7041595dc7639db33e3e310b1703d21caa184da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c2d8480b823b25a55c4a9af0e6fb4bf6f8c0cba16f71bebf53585a5a86db6d\",\"dweb:/ipfs/QmY9Jbbb1PB9T8UHHjBq2Eq72zu5sPoSPYwVApbypLJtwB\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBLeaf.sol\":{\"keccak256\":\"0x4b71bd2b39022b2f7e59f45d967118ce47061db02e1e827ab4cc6f3a3b960107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6fd76058f73ff40da48553412b95c2c3f00ddbb2a59d0774b207ab98d555a9\",\"dweb:/ipfs/QmPMe4J6MvRt1hKdDtUGXJoiZjWxqh736ds79bh2fJQEeN\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBMessageRoot.sol\":{\"keccak256\":\"0xed41178db7810558f486583d76382b8eb77f586648e7522070475d5e576a869c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2516fee99b547fa4008f8e3f40a7ef86701b286e9e4ceabd8ae24e3e67b8cf42\",\"dweb:/ipfs/QmeiNo3zgHkqSczQEmCK4S7R5BZwPM9RJp9dnjqqQRNyku\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBOutboxTree.sol\":{\"keccak256\":\"0x900ddc463282f90537e6e6f80d9217bc8da68c06c79c0ba66be1a48ba3647d99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e88c122091442114e734a9f6130cd3019add220f804518b82abbcb82726e5ee\",\"dweb:/ipfs/QmeG4grFoBaRbqPj5nDbxTt6V9mb8tvRLnMBzNSKkwKeyR\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBRemoteToken.sol\":{\"keccak256\":\"0xa675639bbc082957d4ea05b4c840d472f1777ad22fc78b0b32962fccc3f19995\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cdd472cfb3efeb2e3c7a7032e844abcce7f615d8d67eb4b33280968d8f8fb0\",\"dweb:/ipfs/QmfPUPLrxNVEYUaYzkAV7CaDX6YRfx2aJ8qDhLPFaXEGEA\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBSuckerDeployerConfig.sol\":{\"keccak256\":\"0xf62c06876ee13ee67630dcc82c10264264c062f20972ff65a9c1d87a554d2379\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff81847604f9f1cd2a6c3b687759e69f4beddd67f8dc78488d81ca6aa1e7cc5d\",\"dweb:/ipfs/QmRJPRQq1ifZnGnf3V7xXoVarwTywAut4zq6jnhawtivPE\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBSuckersPair.sol\":{\"keccak256\":\"0xfe76a400e1fa57758973705a9cbac4fab125785b97b49b752b5c13d414f6938b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d2449d365b5e45ed09c70cf4cfa4d2c9bccd492be5e1562f0b3fc2a10ccaf63\",\"dweb:/ipfs/QmYVrJVm7wKtGJ1hnPaHjfFgyKtA5LAJUrkMgSVRupj7AW\"]},\"node_modules/@bananapus/suckers-v5/src/structs/JBTokenMapping.sol\":{\"keccak256\":\"0x124f304139003b90ce0b15063d9d79a4990c8b2b6b0444fb0ebf2e2c213faabe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7411e1be2809991b66659dcfabf300550d356ae04d77a001ab33ba96eb109b\",\"dweb:/ipfs/QmdzMYmaxL7FTreDTV3qEScDPECZJga1HRE5yLZB2Zq3Tb\"]},\"node_modules/@bananapus/suckers-v5/src/utils/MerkleLib.sol\":{\"keccak256\":\"0xbe3c73ca7be5471a742f409c921cdb641b77600bb5eacd4b47c36ccd92955d47\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b944fd8fa55e70696313ceac05ecb23ef81e0cd58386af75fc03953b69900efd\",\"dweb:/ipfs/QmSBPBakyc8vtcnu5YjGHXGgnpuc9tFW2eejiawp8z9yrk\"]},\"node_modules/@croptop/core-v5/src/CTPublisher.sol\":{\"keccak256\":\"0x98449aa904f6b6fdc1d94bd1f206ed95098022a75b709f7a0ee64400ffe2b1fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d368af60cf40ac00753f230913398c65c3e726a64860785ed4491dabaa94163a\",\"dweb:/ipfs/Qmd3zb7F6XLvKFuwjpJo9Hjr97EeA183S3bV19WrV7AY63\"]},\"node_modules/@croptop/core-v5/src/interfaces/ICTPublisher.sol\":{\"keccak256\":\"0xdd28ee56853d7e1525d63a2f37d94516e4102e1602353a0bbeedce8011b8ef94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f2f88d2abe341270caf2fa3dec572de33bd178a603b5f4cf647c482918e51d\",\"dweb:/ipfs/QmeZLmsat4gK62Lhh1f225z2uWj6Zf3oyg6d8umA1g9vLf\"]},\"node_modules/@croptop/core-v5/src/structs/CTAllowedPost.sol\":{\"keccak256\":\"0x1cab9579ed19fea4d490b1de827fd123a8cc7ababd73ed5421351a6f7142a371\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00695b12ade810d017427a7cf20856dc326bbedcf4548ed28e81a33f09b28ad8\",\"dweb:/ipfs/QmP3UPM4xyiSUnBhkThyVp1Ww8QfqfN7rk3fPx4Gu5Whsm\"]},\"node_modules/@croptop/core-v5/src/structs/CTPost.sol\":{\"keccak256\":\"0xc4d67fc9a0323a2a923521f2fb3042bde046cb8c78fc69d928804ab8f3987038\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4d0a02ada8e751cbd7061f8d7b48705a9442339510232f51595ada0e73612d\",\"dweb:/ipfs/QmbFd4CeMhcY86Ze4izYYdK2xB7tQuwdHxdP7aB5zxy8ka\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol\":{\"keccak256\":\"0x0b030a33274bde015419d99e54c9164f876a7d10eb590317b79b1d5e4ab23d99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68e5f96988198e8efd25ddef0d89750b4daebb7fd1204fa7f5eaccdfcb3398c8\",\"dweb:/ipfs/QmaM6nNkf9UmEtQraopuZamEWCdTWp7GvuN3pjMQrNCHxm\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4ea01544758fd2c7045961904686bfe232d2220a04ecaa2d6b08dac17827febf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fabe6bef5167ae741dd8c22d7f81d3f9120bd61b290762a2e8f176712567d329\",\"dweb:/ipfs/QmSnEitJ6xmf1SSAUeZozD7Gx7h8bNnX3a1ZBzqeivsvVg\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34\",\"dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05\",\"dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42\"]},\"node_modules/@uniswap/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x37f0ac203b6ef605c9533e1a739477e8e9dcea90710b40e645a367f8a21ace29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0104d72aeaec1cd66cc232e7de7b7ead08608efcc179491b8a66387614670b0\",\"dweb:/ipfs/QmfAZDyuNC9FXXbnJUwqHNwmAK6uRrXxtWEytLsxjskPsN\"]},\"node_modules/@uniswap/permit2/src/interfaces/IEIP712.sol\":{\"keccak256\":\"0xfdccf2b9639070803cd0e4198427fb0df3cc452ca59bd3b8a0d957a9a4254138\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7c936ac42ce89e827db905a1544397f8bdf46db34cdb6aa1b90dea42fdb4c72\",\"dweb:/ipfs/QmVgurxo1N31qZqkPBirw9Z7S9tLYmv6jSwQp8R8ur2cBk\"]},\"node_modules/@uniswap/permit2/src/interfaces/IPermit2.sol\":{\"keccak256\":\"0xaa631cc9f53e699301d94233007110a345e6779011def484e8dd97b8fe0af771\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc0502cf19c9c18f320a3001201e89e350393b75837f6b7971de18b2de06f30d\",\"dweb:/ipfs/QmT9SfhdJ7VJNNrf94g4H5usyi7ShqWGx7Cqsz9jZTjX96\"]},\"node_modules/@uniswap/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xe6df9966f8841dc3958ee86169c89de97e7f614c81c28b9dc947b12d732df64e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4eafdee7f48c3be8350a94eb6edd0bfb2af2c105df65787a77174f356c0317\",\"dweb:/ipfs/QmY1j2adeeAhNpn6cUuthemxGCdLXHTfyMh9yTKsY4mZ2d\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0x4e64844c56061cd90e0a80de73534a9166704c43eed579eb83f90bc2780ce968\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://cba4fab5cebdddf644b901994a7f0f52b98885d4c56012f4dc51d52c2bf9de0e\",\"dweb:/ipfs/QmVyyrRmqXrAiapewWunRVgiPVFJHpH2hKiE1py1svMSNV\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol\":{\"keccak256\":\"0xf80abf13fb1fafc127ba4e792f240dd8ea7c8c893978cdfd8439c27fae9a037b\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b04fc72a656bbf3631e9c2e67b9870a2d9d235185e833fe050e9606e6816a9aa\",\"dweb:/ipfs/QmUcz4bkEkJ9pwzFu1C3n97hBQ3st9U6qTAqCdyFwddKco\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x44fa2ce1182f6c2f6bead3d1737804bf7e112252ae86e0f2e92f9b8249603f43\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://54154e8665b98d65f5dc91b256551852cb47882180b501b260657122d207c0ea\",\"dweb:/ipfs/QmcfemK1A2PXYrWB5SBFGERpMCderbFRb8BtTzQDj1sUBp\"]},\"src/REVDeployer.sol\":{\"keccak256\":\"0x820ce844d69d77b5108bc02c01be91f4c088b1152c2b5f5c235823d8c61e1aa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f70a6b492b6cd37e36694389c239ba8ea5da4e0c6fab66a74c076a27e4c904cc\",\"dweb:/ipfs/QmThZrFKHxrCGyFqtvgFNP3FiNShGwwUM622iiA8YGY3Aq\"]},\"src/interfaces/IREVDeployer.sol\":{\"keccak256\":\"0xdb7a5793c75ad0d43853e5169a3e6d715eff584d560c348eda1c3509b71362a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10df1bf23360085273b82c355c36c78c5c4ee2bc800e9fb2ca4c234ca9737d1e\",\"dweb:/ipfs/QmRrBMG4wA4ZYSwk12RmUTfo2BaYS1PTK21aJ6BvLotTrv\"]},\"src/interfaces/IREVLoans.sol\":{\"keccak256\":\"0x1083fc86b48d602fca704e015797256fb3155514ba5fb014944c30f444dbe918\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c0c7146271f7bfb9169b51ded75e1e3c9f50dda07049ddfd088ff5d1f2195d2\",\"dweb:/ipfs/QmXttZt964qQv1JwYsKaBHCkEuRjpANH5Fo5RS2W5pJPX5\"]},\"src/structs/REVAutoIssuance.sol\":{\"keccak256\":\"0x01b82ab263e382878f86028172e4346e97513110b8dfdaa4418d4205fad8ffc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53fe4dbeb61c3fd3c686cd4b10d0a82782d63b63e6197bfa12299c9252d3937d\",\"dweb:/ipfs/Qmc7KbynMchJgaUXwCStvxBMbd9XhxVDWqoqnfDih1rhLh\"]},\"src/structs/REVBuybackHookConfig.sol\":{\"keccak256\":\"0x90dcf4599ca6c3a4334b6adeac76933c0f21ba857d910b90a5317f7203a8eea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a0624e972a9fb54010485b1ce44ebf89ecea18424641e1e85ea1659eec4caa7\",\"dweb:/ipfs/QmbgndvwwScKn3UHdiSy3krbA8YiW8e621BX36qjBA5hLm\"]},\"src/structs/REVBuybackPoolConfig.sol\":{\"keccak256\":\"0xa108c0543206d978e4bbbfe02121a40ad46713ca47b2938204726e70dad74611\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://227c6d6492362eaf14a84ca32721cc9d93990f7419488eaf3c11dccb49cb7763\",\"dweb:/ipfs/QmPQ6FHXXsYLv7KJBSRdo8mv66ZHUCyVUysHR9CqrhyXfg\"]},\"src/structs/REVConfig.sol\":{\"keccak256\":\"0xec837325aea852651530f9d4178bc95d02de10a510ac137dfa6e6c3a5ab48685\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d860e3d9d3d29676fd378210280202e7a16d8adf5eb762e0f0d893caa3573541\",\"dweb:/ipfs/QmQB1G7H3WAZtEL4P99xkdXEpU47NPGaPQXaNNZQqJmb5e\"]},\"src/structs/REVCroptopAllowedPost.sol\":{\"keccak256\":\"0x60366fe513872f887e67a4033a0dbbdff95f5fad10a7a8fe484f861e0c6c7526\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8247c1958639d1c9655c1a6d055e060fed2d82cd91be97b514cf2e698b571fcd\",\"dweb:/ipfs/QmRV73bZHbPcUp682bddPZy7kHVreEyk9GDVXTs2Th83ZM\"]},\"src/structs/REVDeploy721TiersHookConfig.sol\":{\"keccak256\":\"0x5a72741cb8435b18fd155439c0e0d33b21c1bd4fd574e2a5612b615b269741a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1e2343288a3aa2d05c45d18d22980cab83db3307a05d9f3cf3ff03fd2b9ce5c\",\"dweb:/ipfs/QmRt34HcvKtL8PyrdYuEE3kh1uMA1bshKEJQN475hBgY2u\"]},\"src/structs/REVDescription.sol\":{\"keccak256\":\"0x40bebc53d50dbfb261882f51c7667d7263193e8fc48897b9384c2ca259046c1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24f98bc7ef12f53afa326a266c69683e24501405f72566b7ca7e8dad242e1fe1\",\"dweb:/ipfs/QmNkLsCwhx5pTuMmJLwUNJdPrGjEi3H9JnTX2s9GsoUTAa\"]},\"src/structs/REVLoan.sol\":{\"keccak256\":\"0x34793cd8bb235749b86ebecfe1ab9308b3bbbef0f68b9d15d20cdb0de7ea63d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7541b3a646c0ad4cc8c49a73847dc05e68aabc6e18efdc897550ce0df983fc53\",\"dweb:/ipfs/QmfJv9z7Ptu5GgkkYd6NAzZegRpjeamGfDGNWFToyP7fEe\"]},\"src/structs/REVLoanSource.sol\":{\"keccak256\":\"0x76c10dbad9859cb91b1b49f317586e08ddd9613069dbb364c033c7889f6378fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02f52f4f0891be7c28727af774fdda442284ab0bfa62dc5d28157ab340214453\",\"dweb:/ipfs/QmfWjK5mWfvN3WBygbi84jGJLospE1CWfzK2Py6jZxR5Vv\"]},\"src/structs/REVStageConfig.sol\":{\"keccak256\":\"0x8bb90edc04e1e9cc7a1f7cb230175580da8484a1cad6d3575096f1ca525eddf3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c96839fad44d0a43f67eaa5fb3f55046ee1261391520749c0e2b7f53445bcbb\",\"dweb:/ipfs/QmTCAs2yH7NwSNPL9vNEFexRhcKTkQC53TydLqLXoV3Gxf\"]},\"src/structs/REVSuckerDeploymentConfig.sol\":{\"keccak256\":\"0x5a7c3dd8f567f97da62d3815428d3a7307070affb1c4ca5feb72da0dd2b9fcdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0fab77cdc731f518b6b3c8df32c25333c86faad289f96dfa54deb465c21f786\",\"dweb:/ipfs/QmS3PuWmo2w7xMBYMJ2S6A9HL2ykJUayUgFwRQMps6t29z\"]}},\"version\":1}",
|
|
2819
|
+
"gitCommit": "f2d3b9e48d34c4c7b1b3b360032750c1dde1aeec",
|
|
2820
|
+
"history": []
|
|
2821
|
+
}
|