@bananapus/suckers-v6 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deployments/arbitrum/CCIPHelper.json +939 -0
- package/deployments/arbitrum/JBArbitrumSucker.json +2310 -0
- package/deployments/arbitrum/JBArbitrumSuckerDeployer.json +443 -0
- package/deployments/arbitrum/JBCCIPLib.json +119 -0
- package/deployments/arbitrum/JBCCIPSuckerDeployer__BASE.json +474 -0
- package/deployments/arbitrum/JBCCIPSuckerDeployer__ETH.json +474 -0
- package/deployments/arbitrum/JBCCIPSuckerDeployer__OP.json +474 -0
- package/deployments/arbitrum/JBCCIPSucker__BASE.json +2460 -0
- package/deployments/arbitrum/JBCCIPSucker__ETH.json +2460 -0
- package/deployments/arbitrum/JBCCIPSucker__OP.json +2460 -0
- package/deployments/arbitrum/JBSuckerLib.json +457 -0
- package/deployments/arbitrum/JBSuckerRegistry.json +1234 -0
- package/deployments/arbitrum_sepolia/CCIPHelper.json +939 -0
- package/deployments/arbitrum_sepolia/JBArbitrumSucker.json +2310 -0
- package/deployments/arbitrum_sepolia/JBArbitrumSuckerDeployer.json +443 -0
- package/deployments/arbitrum_sepolia/JBCCIPLib.json +119 -0
- package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +474 -0
- package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +474 -0
- package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__OP_SEP.json +474 -0
- package/deployments/arbitrum_sepolia/JBCCIPSucker__BASE_SEP.json +2460 -0
- package/deployments/arbitrum_sepolia/JBCCIPSucker__ETH_SEP.json +2460 -0
- package/deployments/arbitrum_sepolia/JBCCIPSucker__OP_SEP.json +2460 -0
- package/deployments/arbitrum_sepolia/JBSuckerLib.json +457 -0
- package/deployments/arbitrum_sepolia/JBSuckerRegistry.json +1234 -0
- package/deployments/base/CCIPHelper.json +944 -0
- package/deployments/base/JBBaseSucker.json +2302 -0
- package/deployments/base/JBBaseSuckerDeployer.json +430 -0
- package/deployments/base/JBCCIPLib.json +124 -0
- package/deployments/base/JBCCIPSuckerDeployer__ARB.json +479 -0
- package/deployments/base/JBCCIPSuckerDeployer__ETH.json +479 -0
- package/deployments/base/JBCCIPSuckerDeployer__OP.json +479 -0
- package/deployments/base/JBCCIPSucker__ARB.json +2465 -0
- package/deployments/base/JBCCIPSucker__ETH.json +2465 -0
- package/deployments/base/JBCCIPSucker__OP.json +2465 -0
- package/deployments/base/JBSuckerLib.json +462 -0
- package/deployments/base/JBSuckerRegistry.json +1239 -0
- package/deployments/base_sepolia/CCIPHelper.json +944 -0
- package/deployments/base_sepolia/JBBaseSucker.json +2302 -0
- package/deployments/base_sepolia/JBBaseSuckerDeployer.json +430 -0
- package/deployments/base_sepolia/JBCCIPLib.json +124 -0
- package/deployments/base_sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +479 -0
- package/deployments/base_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +479 -0
- package/deployments/base_sepolia/JBCCIPSuckerDeployer__OP_SEP.json +479 -0
- package/deployments/base_sepolia/JBCCIPSucker__ARB_SEP.json +2465 -0
- package/deployments/base_sepolia/JBCCIPSucker__ETH_SEP.json +2465 -0
- package/deployments/base_sepolia/JBCCIPSucker__OP_SEP.json +2465 -0
- package/deployments/base_sepolia/JBSuckerLib.json +462 -0
- package/deployments/base_sepolia/JBSuckerRegistry.json +1239 -0
- package/deployments/ethereum/CCIPHelper.json +936 -0
- package/deployments/ethereum/JBArbitrumSucker.json +2307 -0
- package/deployments/ethereum/JBArbitrumSuckerDeployer.json +440 -0
- package/deployments/ethereum/JBBaseSucker.json +2294 -0
- package/deployments/ethereum/JBBaseSuckerDeployer.json +422 -0
- package/deployments/ethereum/JBCCIPLib.json +116 -0
- package/deployments/ethereum/JBCCIPSuckerDeployer__ARB.json +471 -0
- package/deployments/ethereum/JBCCIPSuckerDeployer__BASE.json +471 -0
- package/deployments/ethereum/JBCCIPSuckerDeployer__OP.json +471 -0
- package/deployments/ethereum/JBCCIPSucker__ARB.json +2457 -0
- package/deployments/ethereum/JBCCIPSucker__BASE.json +2457 -0
- package/deployments/ethereum/JBCCIPSucker__OP.json +2457 -0
- package/deployments/ethereum/JBOptimismSucker.json +2294 -0
- package/deployments/ethereum/JBOptimismSuckerDeployer.json +422 -0
- package/deployments/ethereum/JBSuckerLib.json +454 -0
- package/deployments/ethereum/JBSuckerRegistry.json +1231 -0
- package/deployments/optimism/CCIPHelper.json +944 -0
- package/deployments/optimism/JBCCIPLib.json +124 -0
- package/deployments/optimism/JBCCIPSuckerDeployer__ARB.json +479 -0
- package/deployments/optimism/JBCCIPSuckerDeployer__BASE.json +479 -0
- package/deployments/optimism/JBCCIPSuckerDeployer__ETH.json +479 -0
- package/deployments/optimism/JBCCIPSucker__ARB.json +2465 -0
- package/deployments/optimism/JBCCIPSucker__BASE.json +2465 -0
- package/deployments/optimism/JBCCIPSucker__ETH.json +2465 -0
- package/deployments/optimism/JBOptimismSucker.json +2302 -0
- package/deployments/optimism/JBOptimismSuckerDeployer.json +430 -0
- package/deployments/optimism/JBSuckerLib.json +462 -0
- package/deployments/optimism/JBSuckerRegistry.json +1239 -0
- package/deployments/optimism_sepolia/CCIPHelper.json +944 -0
- package/deployments/optimism_sepolia/JBCCIPLib.json +124 -0
- package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +479 -0
- package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +479 -0
- package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +479 -0
- package/deployments/optimism_sepolia/JBCCIPSucker__ARB_SEP.json +2465 -0
- package/deployments/optimism_sepolia/JBCCIPSucker__BASE_SEP.json +2465 -0
- package/deployments/optimism_sepolia/JBCCIPSucker__ETH_SEP.json +2465 -0
- package/deployments/optimism_sepolia/JBOptimismSucker.json +2302 -0
- package/deployments/optimism_sepolia/JBOptimismSuckerDeployer.json +430 -0
- package/deployments/optimism_sepolia/JBSuckerLib.json +462 -0
- package/deployments/optimism_sepolia/JBSuckerRegistry.json +1239 -0
- package/deployments/sepolia/CCIPHelper.json +936 -0
- package/deployments/sepolia/JBArbitrumSucker.json +2307 -0
- package/deployments/sepolia/JBArbitrumSuckerDeployer.json +440 -0
- package/deployments/sepolia/JBBaseSucker.json +2294 -0
- package/deployments/sepolia/JBBaseSuckerDeployer.json +422 -0
- package/deployments/sepolia/JBCCIPLib.json +116 -0
- package/deployments/sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +471 -0
- package/deployments/sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +471 -0
- package/deployments/sepolia/JBCCIPSuckerDeployer__OP_SEP.json +471 -0
- package/deployments/sepolia/JBCCIPSucker__ARB_SEP.json +2457 -0
- package/deployments/sepolia/JBCCIPSucker__BASE_SEP.json +2457 -0
- package/deployments/sepolia/JBCCIPSucker__OP_SEP.json +2457 -0
- package/deployments/sepolia/JBOptimismSucker.json +2294 -0
- package/deployments/sepolia/JBOptimismSuckerDeployer.json +422 -0
- package/deployments/sepolia/JBSuckerLib.json +454 -0
- package/deployments/sepolia/JBSuckerRegistry.json +1231 -0
- package/package.json +2 -1
|
@@ -0,0 +1,2465 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "sphinx-sol-ct-artifact-1",
|
|
3
|
+
"address": "0xea1f4282c32549528d42ba6d5f4000ea2b02f9d8",
|
|
4
|
+
"sourceName": "node_modules/@bananapus/suckers-v6/src/JBCCIPSucker.sol",
|
|
5
|
+
"contractName": "JBCCIPSucker",
|
|
6
|
+
"chainId": "0x14a34",
|
|
7
|
+
"abi": [
|
|
8
|
+
{
|
|
9
|
+
"type": "constructor",
|
|
10
|
+
"inputs": [
|
|
11
|
+
{
|
|
12
|
+
"name": "deployer",
|
|
13
|
+
"type": "address",
|
|
14
|
+
"internalType": "contract JBCCIPSuckerDeployer"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "directory",
|
|
18
|
+
"type": "address",
|
|
19
|
+
"internalType": "contract IJBDirectory"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "permissions",
|
|
23
|
+
"type": "address",
|
|
24
|
+
"internalType": "contract IJBPermissions"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "tokens",
|
|
28
|
+
"type": "address",
|
|
29
|
+
"internalType": "contract IJBTokens"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "feeProjectId",
|
|
33
|
+
"type": "uint256",
|
|
34
|
+
"internalType": "uint256"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "registry",
|
|
38
|
+
"type": "address",
|
|
39
|
+
"internalType": "contract IJBSuckerRegistry"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "trustedForwarder",
|
|
43
|
+
"type": "address",
|
|
44
|
+
"internalType": "address"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"stateMutability": "nonpayable"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "receive",
|
|
51
|
+
"stateMutability": "payable"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "function",
|
|
55
|
+
"name": "CCIP_ROUTER",
|
|
56
|
+
"inputs": [],
|
|
57
|
+
"outputs": [
|
|
58
|
+
{
|
|
59
|
+
"name": "",
|
|
60
|
+
"type": "address",
|
|
61
|
+
"internalType": "contract ICCIPRouter"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"stateMutability": "view"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "function",
|
|
68
|
+
"name": "DIRECTORY",
|
|
69
|
+
"inputs": [],
|
|
70
|
+
"outputs": [
|
|
71
|
+
{
|
|
72
|
+
"name": "",
|
|
73
|
+
"type": "address",
|
|
74
|
+
"internalType": "contract IJBDirectory"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"stateMutability": "view"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "function",
|
|
81
|
+
"name": "FEE_PROJECT_ID",
|
|
82
|
+
"inputs": [],
|
|
83
|
+
"outputs": [
|
|
84
|
+
{
|
|
85
|
+
"name": "",
|
|
86
|
+
"type": "uint256",
|
|
87
|
+
"internalType": "uint256"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"stateMutability": "view"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "function",
|
|
94
|
+
"name": "MESSAGE_VERSION",
|
|
95
|
+
"inputs": [],
|
|
96
|
+
"outputs": [
|
|
97
|
+
{
|
|
98
|
+
"name": "",
|
|
99
|
+
"type": "uint8",
|
|
100
|
+
"internalType": "uint8"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"stateMutability": "view"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "function",
|
|
107
|
+
"name": "MESSENGER_BASE_GAS_LIMIT",
|
|
108
|
+
"inputs": [],
|
|
109
|
+
"outputs": [
|
|
110
|
+
{
|
|
111
|
+
"name": "",
|
|
112
|
+
"type": "uint32",
|
|
113
|
+
"internalType": "uint32"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"stateMutability": "view"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "function",
|
|
120
|
+
"name": "MESSENGER_ERC20_MIN_GAS_LIMIT",
|
|
121
|
+
"inputs": [],
|
|
122
|
+
"outputs": [
|
|
123
|
+
{
|
|
124
|
+
"name": "",
|
|
125
|
+
"type": "uint32",
|
|
126
|
+
"internalType": "uint32"
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"stateMutability": "view"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "function",
|
|
133
|
+
"name": "PERMISSIONS",
|
|
134
|
+
"inputs": [],
|
|
135
|
+
"outputs": [
|
|
136
|
+
{
|
|
137
|
+
"name": "",
|
|
138
|
+
"type": "address",
|
|
139
|
+
"internalType": "contract IJBPermissions"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"stateMutability": "view"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"type": "function",
|
|
146
|
+
"name": "PROJECTS",
|
|
147
|
+
"inputs": [],
|
|
148
|
+
"outputs": [
|
|
149
|
+
{
|
|
150
|
+
"name": "",
|
|
151
|
+
"type": "address",
|
|
152
|
+
"internalType": "contract IJBProjects"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"stateMutability": "view"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"type": "function",
|
|
159
|
+
"name": "REGISTRY",
|
|
160
|
+
"inputs": [],
|
|
161
|
+
"outputs": [
|
|
162
|
+
{
|
|
163
|
+
"name": "",
|
|
164
|
+
"type": "address",
|
|
165
|
+
"internalType": "contract IJBSuckerRegistry"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"stateMutability": "view"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"type": "function",
|
|
172
|
+
"name": "REMOTE_CHAIN_ID",
|
|
173
|
+
"inputs": [],
|
|
174
|
+
"outputs": [
|
|
175
|
+
{
|
|
176
|
+
"name": "",
|
|
177
|
+
"type": "uint256",
|
|
178
|
+
"internalType": "uint256"
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"stateMutability": "view"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"type": "function",
|
|
185
|
+
"name": "REMOTE_CHAIN_SELECTOR",
|
|
186
|
+
"inputs": [],
|
|
187
|
+
"outputs": [
|
|
188
|
+
{
|
|
189
|
+
"name": "",
|
|
190
|
+
"type": "uint64",
|
|
191
|
+
"internalType": "uint64"
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"stateMutability": "view"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"type": "function",
|
|
198
|
+
"name": "TOKENS",
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"outputs": [
|
|
201
|
+
{
|
|
202
|
+
"name": "",
|
|
203
|
+
"type": "address",
|
|
204
|
+
"internalType": "contract IJBTokens"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"stateMutability": "view"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"type": "function",
|
|
211
|
+
"name": "amountToAddToBalanceOf",
|
|
212
|
+
"inputs": [
|
|
213
|
+
{
|
|
214
|
+
"name": "token",
|
|
215
|
+
"type": "address",
|
|
216
|
+
"internalType": "address"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"outputs": [
|
|
220
|
+
{
|
|
221
|
+
"name": "",
|
|
222
|
+
"type": "uint256",
|
|
223
|
+
"internalType": "uint256"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"stateMutability": "view"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"type": "function",
|
|
230
|
+
"name": "ccipReceive",
|
|
231
|
+
"inputs": [
|
|
232
|
+
{
|
|
233
|
+
"name": "any2EvmMessage",
|
|
234
|
+
"type": "tuple",
|
|
235
|
+
"internalType": "struct Client.Any2EVMMessage",
|
|
236
|
+
"components": [
|
|
237
|
+
{
|
|
238
|
+
"name": "messageId",
|
|
239
|
+
"type": "bytes32",
|
|
240
|
+
"internalType": "bytes32"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "sourceChainSelector",
|
|
244
|
+
"type": "uint64",
|
|
245
|
+
"internalType": "uint64"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "sender",
|
|
249
|
+
"type": "bytes",
|
|
250
|
+
"internalType": "bytes"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "data",
|
|
254
|
+
"type": "bytes",
|
|
255
|
+
"internalType": "bytes"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "destTokenAmounts",
|
|
259
|
+
"type": "tuple[]",
|
|
260
|
+
"internalType": "struct Client.EVMTokenAmount[]",
|
|
261
|
+
"components": [
|
|
262
|
+
{
|
|
263
|
+
"name": "token",
|
|
264
|
+
"type": "address",
|
|
265
|
+
"internalType": "address"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"name": "amount",
|
|
269
|
+
"type": "uint256",
|
|
270
|
+
"internalType": "uint256"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"outputs": [],
|
|
278
|
+
"stateMutability": "nonpayable"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"type": "function",
|
|
282
|
+
"name": "claim",
|
|
283
|
+
"inputs": [
|
|
284
|
+
{
|
|
285
|
+
"name": "claims",
|
|
286
|
+
"type": "tuple[]",
|
|
287
|
+
"internalType": "struct JBClaim[]",
|
|
288
|
+
"components": [
|
|
289
|
+
{
|
|
290
|
+
"name": "token",
|
|
291
|
+
"type": "address",
|
|
292
|
+
"internalType": "address"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "leaf",
|
|
296
|
+
"type": "tuple",
|
|
297
|
+
"internalType": "struct JBLeaf",
|
|
298
|
+
"components": [
|
|
299
|
+
{
|
|
300
|
+
"name": "index",
|
|
301
|
+
"type": "uint256",
|
|
302
|
+
"internalType": "uint256"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "beneficiary",
|
|
306
|
+
"type": "bytes32",
|
|
307
|
+
"internalType": "bytes32"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"name": "projectTokenCount",
|
|
311
|
+
"type": "uint256",
|
|
312
|
+
"internalType": "uint256"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "terminalTokenAmount",
|
|
316
|
+
"type": "uint256",
|
|
317
|
+
"internalType": "uint256"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "metadata",
|
|
321
|
+
"type": "bytes32",
|
|
322
|
+
"internalType": "bytes32"
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "proof",
|
|
328
|
+
"type": "bytes32[32]",
|
|
329
|
+
"internalType": "bytes32[32]"
|
|
330
|
+
}
|
|
331
|
+
]
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"outputs": [],
|
|
335
|
+
"stateMutability": "nonpayable"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"type": "function",
|
|
339
|
+
"name": "claim",
|
|
340
|
+
"inputs": [
|
|
341
|
+
{
|
|
342
|
+
"name": "claimData",
|
|
343
|
+
"type": "tuple",
|
|
344
|
+
"internalType": "struct JBClaim",
|
|
345
|
+
"components": [
|
|
346
|
+
{
|
|
347
|
+
"name": "token",
|
|
348
|
+
"type": "address",
|
|
349
|
+
"internalType": "address"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"name": "leaf",
|
|
353
|
+
"type": "tuple",
|
|
354
|
+
"internalType": "struct JBLeaf",
|
|
355
|
+
"components": [
|
|
356
|
+
{
|
|
357
|
+
"name": "index",
|
|
358
|
+
"type": "uint256",
|
|
359
|
+
"internalType": "uint256"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "beneficiary",
|
|
363
|
+
"type": "bytes32",
|
|
364
|
+
"internalType": "bytes32"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "projectTokenCount",
|
|
368
|
+
"type": "uint256",
|
|
369
|
+
"internalType": "uint256"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"name": "terminalTokenAmount",
|
|
373
|
+
"type": "uint256",
|
|
374
|
+
"internalType": "uint256"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"name": "metadata",
|
|
378
|
+
"type": "bytes32",
|
|
379
|
+
"internalType": "bytes32"
|
|
380
|
+
}
|
|
381
|
+
]
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "proof",
|
|
385
|
+
"type": "bytes32[32]",
|
|
386
|
+
"internalType": "bytes32[32]"
|
|
387
|
+
}
|
|
388
|
+
]
|
|
389
|
+
}
|
|
390
|
+
],
|
|
391
|
+
"outputs": [],
|
|
392
|
+
"stateMutability": "nonpayable"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"type": "function",
|
|
396
|
+
"name": "claimRetainedToRemoteFee",
|
|
397
|
+
"inputs": [
|
|
398
|
+
{
|
|
399
|
+
"name": "beneficiary",
|
|
400
|
+
"type": "address",
|
|
401
|
+
"internalType": "address payable"
|
|
402
|
+
}
|
|
403
|
+
],
|
|
404
|
+
"outputs": [],
|
|
405
|
+
"stateMutability": "nonpayable"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"type": "function",
|
|
409
|
+
"name": "claimRetainedTransportPaymentRefund",
|
|
410
|
+
"inputs": [
|
|
411
|
+
{
|
|
412
|
+
"name": "beneficiary",
|
|
413
|
+
"type": "address",
|
|
414
|
+
"internalType": "address payable"
|
|
415
|
+
}
|
|
416
|
+
],
|
|
417
|
+
"outputs": [],
|
|
418
|
+
"stateMutability": "nonpayable"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"type": "function",
|
|
422
|
+
"name": "deployer",
|
|
423
|
+
"inputs": [],
|
|
424
|
+
"outputs": [
|
|
425
|
+
{
|
|
426
|
+
"name": "",
|
|
427
|
+
"type": "address",
|
|
428
|
+
"internalType": "address"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"stateMutability": "view"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"type": "function",
|
|
435
|
+
"name": "enableEmergencyHatchFor",
|
|
436
|
+
"inputs": [
|
|
437
|
+
{
|
|
438
|
+
"name": "tokens",
|
|
439
|
+
"type": "address[]",
|
|
440
|
+
"internalType": "address[]"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"outputs": [],
|
|
444
|
+
"stateMutability": "nonpayable"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"type": "function",
|
|
448
|
+
"name": "executedLeafHashOf",
|
|
449
|
+
"inputs": [
|
|
450
|
+
{
|
|
451
|
+
"name": "token",
|
|
452
|
+
"type": "address",
|
|
453
|
+
"internalType": "address"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "index",
|
|
457
|
+
"type": "uint256",
|
|
458
|
+
"internalType": "uint256"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
"outputs": [
|
|
462
|
+
{
|
|
463
|
+
"name": "",
|
|
464
|
+
"type": "bytes32",
|
|
465
|
+
"internalType": "bytes32"
|
|
466
|
+
}
|
|
467
|
+
],
|
|
468
|
+
"stateMutability": "view"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"type": "function",
|
|
472
|
+
"name": "exitThroughEmergencyHatch",
|
|
473
|
+
"inputs": [
|
|
474
|
+
{
|
|
475
|
+
"name": "claimData",
|
|
476
|
+
"type": "tuple",
|
|
477
|
+
"internalType": "struct JBClaim",
|
|
478
|
+
"components": [
|
|
479
|
+
{
|
|
480
|
+
"name": "token",
|
|
481
|
+
"type": "address",
|
|
482
|
+
"internalType": "address"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "leaf",
|
|
486
|
+
"type": "tuple",
|
|
487
|
+
"internalType": "struct JBLeaf",
|
|
488
|
+
"components": [
|
|
489
|
+
{
|
|
490
|
+
"name": "index",
|
|
491
|
+
"type": "uint256",
|
|
492
|
+
"internalType": "uint256"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"name": "beneficiary",
|
|
496
|
+
"type": "bytes32",
|
|
497
|
+
"internalType": "bytes32"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "projectTokenCount",
|
|
501
|
+
"type": "uint256",
|
|
502
|
+
"internalType": "uint256"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"name": "terminalTokenAmount",
|
|
506
|
+
"type": "uint256",
|
|
507
|
+
"internalType": "uint256"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "metadata",
|
|
511
|
+
"type": "bytes32",
|
|
512
|
+
"internalType": "bytes32"
|
|
513
|
+
}
|
|
514
|
+
]
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"name": "proof",
|
|
518
|
+
"type": "bytes32[32]",
|
|
519
|
+
"internalType": "bytes32[32]"
|
|
520
|
+
}
|
|
521
|
+
]
|
|
522
|
+
}
|
|
523
|
+
],
|
|
524
|
+
"outputs": [],
|
|
525
|
+
"stateMutability": "nonpayable"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"type": "function",
|
|
529
|
+
"name": "fromRemote",
|
|
530
|
+
"inputs": [
|
|
531
|
+
{
|
|
532
|
+
"name": "root",
|
|
533
|
+
"type": "tuple",
|
|
534
|
+
"internalType": "struct JBMessageRoot",
|
|
535
|
+
"components": [
|
|
536
|
+
{
|
|
537
|
+
"name": "version",
|
|
538
|
+
"type": "uint8",
|
|
539
|
+
"internalType": "uint8"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "token",
|
|
543
|
+
"type": "bytes32",
|
|
544
|
+
"internalType": "bytes32"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"name": "amount",
|
|
548
|
+
"type": "uint256",
|
|
549
|
+
"internalType": "uint256"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"name": "remoteRoot",
|
|
553
|
+
"type": "tuple",
|
|
554
|
+
"internalType": "struct JBInboxTreeRoot",
|
|
555
|
+
"components": [
|
|
556
|
+
{
|
|
557
|
+
"name": "nonce",
|
|
558
|
+
"type": "uint64",
|
|
559
|
+
"internalType": "uint64"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"name": "root",
|
|
563
|
+
"type": "bytes32",
|
|
564
|
+
"internalType": "bytes32"
|
|
565
|
+
}
|
|
566
|
+
]
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"name": "accounts",
|
|
570
|
+
"type": "tuple[]",
|
|
571
|
+
"internalType": "struct JBChainAccounting[]",
|
|
572
|
+
"components": [
|
|
573
|
+
{
|
|
574
|
+
"name": "chainId",
|
|
575
|
+
"type": "uint256",
|
|
576
|
+
"internalType": "uint256"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"name": "totalSupply",
|
|
580
|
+
"type": "uint256",
|
|
581
|
+
"internalType": "uint256"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "contexts",
|
|
585
|
+
"type": "tuple[]",
|
|
586
|
+
"internalType": "struct JBSourceContext[]",
|
|
587
|
+
"components": [
|
|
588
|
+
{
|
|
589
|
+
"name": "token",
|
|
590
|
+
"type": "bytes32",
|
|
591
|
+
"internalType": "bytes32"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"name": "decimals",
|
|
595
|
+
"type": "uint8",
|
|
596
|
+
"internalType": "uint8"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"name": "surplus",
|
|
600
|
+
"type": "uint128",
|
|
601
|
+
"internalType": "uint128"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "balance",
|
|
605
|
+
"type": "uint128",
|
|
606
|
+
"internalType": "uint128"
|
|
607
|
+
}
|
|
608
|
+
]
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "timestamp",
|
|
612
|
+
"type": "uint256",
|
|
613
|
+
"internalType": "uint256"
|
|
614
|
+
}
|
|
615
|
+
]
|
|
616
|
+
}
|
|
617
|
+
]
|
|
618
|
+
}
|
|
619
|
+
],
|
|
620
|
+
"outputs": [],
|
|
621
|
+
"stateMutability": "payable"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"type": "function",
|
|
625
|
+
"name": "fromRemoteAccounting",
|
|
626
|
+
"inputs": [
|
|
627
|
+
{
|
|
628
|
+
"name": "snapshot",
|
|
629
|
+
"type": "tuple",
|
|
630
|
+
"internalType": "struct JBAccountingSnapshot",
|
|
631
|
+
"components": [
|
|
632
|
+
{
|
|
633
|
+
"name": "version",
|
|
634
|
+
"type": "uint8",
|
|
635
|
+
"internalType": "uint8"
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "accounts",
|
|
639
|
+
"type": "tuple[]",
|
|
640
|
+
"internalType": "struct JBChainAccounting[]",
|
|
641
|
+
"components": [
|
|
642
|
+
{
|
|
643
|
+
"name": "chainId",
|
|
644
|
+
"type": "uint256",
|
|
645
|
+
"internalType": "uint256"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "totalSupply",
|
|
649
|
+
"type": "uint256",
|
|
650
|
+
"internalType": "uint256"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "contexts",
|
|
654
|
+
"type": "tuple[]",
|
|
655
|
+
"internalType": "struct JBSourceContext[]",
|
|
656
|
+
"components": [
|
|
657
|
+
{
|
|
658
|
+
"name": "token",
|
|
659
|
+
"type": "bytes32",
|
|
660
|
+
"internalType": "bytes32"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"name": "decimals",
|
|
664
|
+
"type": "uint8",
|
|
665
|
+
"internalType": "uint8"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"name": "surplus",
|
|
669
|
+
"type": "uint128",
|
|
670
|
+
"internalType": "uint128"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "balance",
|
|
674
|
+
"type": "uint128",
|
|
675
|
+
"internalType": "uint128"
|
|
676
|
+
}
|
|
677
|
+
]
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"name": "timestamp",
|
|
681
|
+
"type": "uint256",
|
|
682
|
+
"internalType": "uint256"
|
|
683
|
+
}
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
]
|
|
687
|
+
}
|
|
688
|
+
],
|
|
689
|
+
"outputs": [],
|
|
690
|
+
"stateMutability": "nonpayable"
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"type": "function",
|
|
694
|
+
"name": "getRouter",
|
|
695
|
+
"inputs": [],
|
|
696
|
+
"outputs": [
|
|
697
|
+
{
|
|
698
|
+
"name": "router",
|
|
699
|
+
"type": "address",
|
|
700
|
+
"internalType": "address"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"stateMutability": "view"
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"type": "function",
|
|
707
|
+
"name": "inboxOf",
|
|
708
|
+
"inputs": [
|
|
709
|
+
{
|
|
710
|
+
"name": "token",
|
|
711
|
+
"type": "address",
|
|
712
|
+
"internalType": "address"
|
|
713
|
+
}
|
|
714
|
+
],
|
|
715
|
+
"outputs": [
|
|
716
|
+
{
|
|
717
|
+
"name": "",
|
|
718
|
+
"type": "tuple",
|
|
719
|
+
"internalType": "struct JBInboxTreeRoot",
|
|
720
|
+
"components": [
|
|
721
|
+
{
|
|
722
|
+
"name": "nonce",
|
|
723
|
+
"type": "uint64",
|
|
724
|
+
"internalType": "uint64"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"name": "root",
|
|
728
|
+
"type": "bytes32",
|
|
729
|
+
"internalType": "bytes32"
|
|
730
|
+
}
|
|
731
|
+
]
|
|
732
|
+
}
|
|
733
|
+
],
|
|
734
|
+
"stateMutability": "view"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"type": "function",
|
|
738
|
+
"name": "initialize",
|
|
739
|
+
"inputs": [
|
|
740
|
+
{
|
|
741
|
+
"name": "localProjectId",
|
|
742
|
+
"type": "uint256",
|
|
743
|
+
"internalType": "uint256"
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
"name": "remotePeer",
|
|
747
|
+
"type": "bytes32",
|
|
748
|
+
"internalType": "bytes32"
|
|
749
|
+
}
|
|
750
|
+
],
|
|
751
|
+
"outputs": [],
|
|
752
|
+
"stateMutability": "nonpayable"
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"type": "function",
|
|
756
|
+
"name": "initialize",
|
|
757
|
+
"inputs": [
|
|
758
|
+
{
|
|
759
|
+
"name": "initialProjectId",
|
|
760
|
+
"type": "uint256",
|
|
761
|
+
"internalType": "uint256"
|
|
762
|
+
}
|
|
763
|
+
],
|
|
764
|
+
"outputs": [],
|
|
765
|
+
"stateMutability": "nonpayable"
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"type": "function",
|
|
769
|
+
"name": "isMapped",
|
|
770
|
+
"inputs": [
|
|
771
|
+
{
|
|
772
|
+
"name": "token",
|
|
773
|
+
"type": "address",
|
|
774
|
+
"internalType": "address"
|
|
775
|
+
}
|
|
776
|
+
],
|
|
777
|
+
"outputs": [
|
|
778
|
+
{
|
|
779
|
+
"name": "",
|
|
780
|
+
"type": "bool",
|
|
781
|
+
"internalType": "bool"
|
|
782
|
+
}
|
|
783
|
+
],
|
|
784
|
+
"stateMutability": "view"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"type": "function",
|
|
788
|
+
"name": "isTrustedForwarder",
|
|
789
|
+
"inputs": [
|
|
790
|
+
{
|
|
791
|
+
"name": "forwarder",
|
|
792
|
+
"type": "address",
|
|
793
|
+
"internalType": "address"
|
|
794
|
+
}
|
|
795
|
+
],
|
|
796
|
+
"outputs": [
|
|
797
|
+
{
|
|
798
|
+
"name": "",
|
|
799
|
+
"type": "bool",
|
|
800
|
+
"internalType": "bool"
|
|
801
|
+
}
|
|
802
|
+
],
|
|
803
|
+
"stateMutability": "view"
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
"type": "function",
|
|
807
|
+
"name": "mapToken",
|
|
808
|
+
"inputs": [
|
|
809
|
+
{
|
|
810
|
+
"name": "map",
|
|
811
|
+
"type": "tuple",
|
|
812
|
+
"internalType": "struct JBTokenMapping",
|
|
813
|
+
"components": [
|
|
814
|
+
{
|
|
815
|
+
"name": "localToken",
|
|
816
|
+
"type": "address",
|
|
817
|
+
"internalType": "address"
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"name": "minGas",
|
|
821
|
+
"type": "uint32",
|
|
822
|
+
"internalType": "uint32"
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"name": "remoteToken",
|
|
826
|
+
"type": "bytes32",
|
|
827
|
+
"internalType": "bytes32"
|
|
828
|
+
}
|
|
829
|
+
]
|
|
830
|
+
}
|
|
831
|
+
],
|
|
832
|
+
"outputs": [],
|
|
833
|
+
"stateMutability": "payable"
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"type": "function",
|
|
837
|
+
"name": "mapTokens",
|
|
838
|
+
"inputs": [
|
|
839
|
+
{
|
|
840
|
+
"name": "maps",
|
|
841
|
+
"type": "tuple[]",
|
|
842
|
+
"internalType": "struct JBTokenMapping[]",
|
|
843
|
+
"components": [
|
|
844
|
+
{
|
|
845
|
+
"name": "localToken",
|
|
846
|
+
"type": "address",
|
|
847
|
+
"internalType": "address"
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"name": "minGas",
|
|
851
|
+
"type": "uint32",
|
|
852
|
+
"internalType": "uint32"
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
"name": "remoteToken",
|
|
856
|
+
"type": "bytes32",
|
|
857
|
+
"internalType": "bytes32"
|
|
858
|
+
}
|
|
859
|
+
]
|
|
860
|
+
}
|
|
861
|
+
],
|
|
862
|
+
"outputs": [],
|
|
863
|
+
"stateMutability": "payable"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"type": "function",
|
|
867
|
+
"name": "outboxOf",
|
|
868
|
+
"inputs": [
|
|
869
|
+
{
|
|
870
|
+
"name": "token",
|
|
871
|
+
"type": "address",
|
|
872
|
+
"internalType": "address"
|
|
873
|
+
}
|
|
874
|
+
],
|
|
875
|
+
"outputs": [
|
|
876
|
+
{
|
|
877
|
+
"name": "",
|
|
878
|
+
"type": "tuple",
|
|
879
|
+
"internalType": "struct JBOutboxTree",
|
|
880
|
+
"components": [
|
|
881
|
+
{
|
|
882
|
+
"name": "nonce",
|
|
883
|
+
"type": "uint64",
|
|
884
|
+
"internalType": "uint64"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"name": "numberOfClaimsSent",
|
|
888
|
+
"type": "uint192",
|
|
889
|
+
"internalType": "uint192"
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"name": "balance",
|
|
893
|
+
"type": "uint256",
|
|
894
|
+
"internalType": "uint256"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"name": "tree",
|
|
898
|
+
"type": "tuple",
|
|
899
|
+
"internalType": "struct MerkleLib.Tree",
|
|
900
|
+
"components": [
|
|
901
|
+
{
|
|
902
|
+
"name": "branch",
|
|
903
|
+
"type": "bytes32[32]",
|
|
904
|
+
"internalType": "bytes32[32]"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"name": "count",
|
|
908
|
+
"type": "uint256",
|
|
909
|
+
"internalType": "uint256"
|
|
910
|
+
}
|
|
911
|
+
]
|
|
912
|
+
}
|
|
913
|
+
]
|
|
914
|
+
}
|
|
915
|
+
],
|
|
916
|
+
"stateMutability": "view"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"type": "function",
|
|
920
|
+
"name": "peer",
|
|
921
|
+
"inputs": [],
|
|
922
|
+
"outputs": [
|
|
923
|
+
{
|
|
924
|
+
"name": "",
|
|
925
|
+
"type": "bytes32",
|
|
926
|
+
"internalType": "bytes32"
|
|
927
|
+
}
|
|
928
|
+
],
|
|
929
|
+
"stateMutability": "view"
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"type": "function",
|
|
933
|
+
"name": "peerChainAccountsOf",
|
|
934
|
+
"inputs": [],
|
|
935
|
+
"outputs": [
|
|
936
|
+
{
|
|
937
|
+
"name": "accounts",
|
|
938
|
+
"type": "tuple[]",
|
|
939
|
+
"internalType": "struct JBChainAccounting[]",
|
|
940
|
+
"components": [
|
|
941
|
+
{
|
|
942
|
+
"name": "chainId",
|
|
943
|
+
"type": "uint256",
|
|
944
|
+
"internalType": "uint256"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"name": "totalSupply",
|
|
948
|
+
"type": "uint256",
|
|
949
|
+
"internalType": "uint256"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"name": "contexts",
|
|
953
|
+
"type": "tuple[]",
|
|
954
|
+
"internalType": "struct JBSourceContext[]",
|
|
955
|
+
"components": [
|
|
956
|
+
{
|
|
957
|
+
"name": "token",
|
|
958
|
+
"type": "bytes32",
|
|
959
|
+
"internalType": "bytes32"
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"name": "decimals",
|
|
963
|
+
"type": "uint8",
|
|
964
|
+
"internalType": "uint8"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"name": "surplus",
|
|
968
|
+
"type": "uint128",
|
|
969
|
+
"internalType": "uint128"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"name": "balance",
|
|
973
|
+
"type": "uint128",
|
|
974
|
+
"internalType": "uint128"
|
|
975
|
+
}
|
|
976
|
+
]
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"name": "timestamp",
|
|
980
|
+
"type": "uint256",
|
|
981
|
+
"internalType": "uint256"
|
|
982
|
+
}
|
|
983
|
+
]
|
|
984
|
+
}
|
|
985
|
+
],
|
|
986
|
+
"stateMutability": "view"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"type": "function",
|
|
990
|
+
"name": "peerChainContextsOf",
|
|
991
|
+
"inputs": [
|
|
992
|
+
{
|
|
993
|
+
"name": "chainId",
|
|
994
|
+
"type": "uint256",
|
|
995
|
+
"internalType": "uint256"
|
|
996
|
+
}
|
|
997
|
+
],
|
|
998
|
+
"outputs": [
|
|
999
|
+
{
|
|
1000
|
+
"name": "contexts",
|
|
1001
|
+
"type": "tuple[]",
|
|
1002
|
+
"internalType": "struct JBPeerChainContext[]",
|
|
1003
|
+
"components": [
|
|
1004
|
+
{
|
|
1005
|
+
"name": "currency",
|
|
1006
|
+
"type": "uint32",
|
|
1007
|
+
"internalType": "uint32"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"name": "decimals",
|
|
1011
|
+
"type": "uint8",
|
|
1012
|
+
"internalType": "uint8"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"name": "surplus",
|
|
1016
|
+
"type": "uint128",
|
|
1017
|
+
"internalType": "uint128"
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
"name": "balance",
|
|
1021
|
+
"type": "uint128",
|
|
1022
|
+
"internalType": "uint128"
|
|
1023
|
+
}
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"name": "snapshot",
|
|
1028
|
+
"type": "uint256",
|
|
1029
|
+
"internalType": "uint256"
|
|
1030
|
+
}
|
|
1031
|
+
],
|
|
1032
|
+
"stateMutability": "view"
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"type": "function",
|
|
1036
|
+
"name": "peerChainId",
|
|
1037
|
+
"inputs": [],
|
|
1038
|
+
"outputs": [
|
|
1039
|
+
{
|
|
1040
|
+
"name": "chainId",
|
|
1041
|
+
"type": "uint256",
|
|
1042
|
+
"internalType": "uint256"
|
|
1043
|
+
}
|
|
1044
|
+
],
|
|
1045
|
+
"stateMutability": "view"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"type": "function",
|
|
1049
|
+
"name": "peerChainIds",
|
|
1050
|
+
"inputs": [
|
|
1051
|
+
{
|
|
1052
|
+
"name": "includeVirtual",
|
|
1053
|
+
"type": "bool",
|
|
1054
|
+
"internalType": "bool"
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
"outputs": [
|
|
1058
|
+
{
|
|
1059
|
+
"name": "chainIds",
|
|
1060
|
+
"type": "uint256[]",
|
|
1061
|
+
"internalType": "uint256[]"
|
|
1062
|
+
}
|
|
1063
|
+
],
|
|
1064
|
+
"stateMutability": "view"
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"type": "function",
|
|
1068
|
+
"name": "peerChainTotalSupplyOf",
|
|
1069
|
+
"inputs": [
|
|
1070
|
+
{
|
|
1071
|
+
"name": "chainId",
|
|
1072
|
+
"type": "uint256",
|
|
1073
|
+
"internalType": "uint256"
|
|
1074
|
+
}
|
|
1075
|
+
],
|
|
1076
|
+
"outputs": [
|
|
1077
|
+
{
|
|
1078
|
+
"name": "",
|
|
1079
|
+
"type": "uint256",
|
|
1080
|
+
"internalType": "uint256"
|
|
1081
|
+
}
|
|
1082
|
+
],
|
|
1083
|
+
"stateMutability": "view"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"type": "function",
|
|
1087
|
+
"name": "peerChainTotalSupplyValue",
|
|
1088
|
+
"inputs": [
|
|
1089
|
+
{
|
|
1090
|
+
"name": "chainId",
|
|
1091
|
+
"type": "uint256",
|
|
1092
|
+
"internalType": "uint256"
|
|
1093
|
+
}
|
|
1094
|
+
],
|
|
1095
|
+
"outputs": [
|
|
1096
|
+
{
|
|
1097
|
+
"name": "",
|
|
1098
|
+
"type": "tuple",
|
|
1099
|
+
"internalType": "struct JBPeerChainValue",
|
|
1100
|
+
"components": [
|
|
1101
|
+
{
|
|
1102
|
+
"name": "value",
|
|
1103
|
+
"type": "uint256",
|
|
1104
|
+
"internalType": "uint256"
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"name": "peerChainId",
|
|
1108
|
+
"type": "uint256",
|
|
1109
|
+
"internalType": "uint256"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"name": "snapshotTimestamp",
|
|
1113
|
+
"type": "uint256",
|
|
1114
|
+
"internalType": "uint256"
|
|
1115
|
+
}
|
|
1116
|
+
]
|
|
1117
|
+
}
|
|
1118
|
+
],
|
|
1119
|
+
"stateMutability": "view"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"type": "function",
|
|
1123
|
+
"name": "prepare",
|
|
1124
|
+
"inputs": [
|
|
1125
|
+
{
|
|
1126
|
+
"name": "projectTokenCount",
|
|
1127
|
+
"type": "uint256",
|
|
1128
|
+
"internalType": "uint256"
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
"name": "beneficiary",
|
|
1132
|
+
"type": "bytes32",
|
|
1133
|
+
"internalType": "bytes32"
|
|
1134
|
+
},
|
|
1135
|
+
{
|
|
1136
|
+
"name": "minTokensReclaimed",
|
|
1137
|
+
"type": "uint256",
|
|
1138
|
+
"internalType": "uint256"
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
"name": "token",
|
|
1142
|
+
"type": "address",
|
|
1143
|
+
"internalType": "address"
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
"name": "metadata",
|
|
1147
|
+
"type": "bytes32",
|
|
1148
|
+
"internalType": "bytes32"
|
|
1149
|
+
}
|
|
1150
|
+
],
|
|
1151
|
+
"outputs": [],
|
|
1152
|
+
"stateMutability": "nonpayable"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"type": "function",
|
|
1156
|
+
"name": "projectId",
|
|
1157
|
+
"inputs": [],
|
|
1158
|
+
"outputs": [
|
|
1159
|
+
{
|
|
1160
|
+
"name": "",
|
|
1161
|
+
"type": "uint256",
|
|
1162
|
+
"internalType": "uint256"
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"stateMutability": "view"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"type": "function",
|
|
1169
|
+
"name": "remoteTokenFor",
|
|
1170
|
+
"inputs": [
|
|
1171
|
+
{
|
|
1172
|
+
"name": "token",
|
|
1173
|
+
"type": "address",
|
|
1174
|
+
"internalType": "address"
|
|
1175
|
+
}
|
|
1176
|
+
],
|
|
1177
|
+
"outputs": [
|
|
1178
|
+
{
|
|
1179
|
+
"name": "",
|
|
1180
|
+
"type": "tuple",
|
|
1181
|
+
"internalType": "struct JBRemoteToken",
|
|
1182
|
+
"components": [
|
|
1183
|
+
{
|
|
1184
|
+
"name": "enabled",
|
|
1185
|
+
"type": "bool",
|
|
1186
|
+
"internalType": "bool"
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
"name": "emergencyHatch",
|
|
1190
|
+
"type": "bool",
|
|
1191
|
+
"internalType": "bool"
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
"name": "minGas",
|
|
1195
|
+
"type": "uint32",
|
|
1196
|
+
"internalType": "uint32"
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"name": "addr",
|
|
1200
|
+
"type": "bytes32",
|
|
1201
|
+
"internalType": "bytes32"
|
|
1202
|
+
}
|
|
1203
|
+
]
|
|
1204
|
+
}
|
|
1205
|
+
],
|
|
1206
|
+
"stateMutability": "view"
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
"type": "function",
|
|
1210
|
+
"name": "retainedToRemoteFeeBalance",
|
|
1211
|
+
"inputs": [],
|
|
1212
|
+
"outputs": [
|
|
1213
|
+
{
|
|
1214
|
+
"name": "",
|
|
1215
|
+
"type": "uint256",
|
|
1216
|
+
"internalType": "uint256"
|
|
1217
|
+
}
|
|
1218
|
+
],
|
|
1219
|
+
"stateMutability": "view"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"type": "function",
|
|
1223
|
+
"name": "retainedToRemoteFeeOf",
|
|
1224
|
+
"inputs": [
|
|
1225
|
+
{
|
|
1226
|
+
"name": "account",
|
|
1227
|
+
"type": "address",
|
|
1228
|
+
"internalType": "address"
|
|
1229
|
+
}
|
|
1230
|
+
],
|
|
1231
|
+
"outputs": [
|
|
1232
|
+
{
|
|
1233
|
+
"name": "amount",
|
|
1234
|
+
"type": "uint256",
|
|
1235
|
+
"internalType": "uint256"
|
|
1236
|
+
}
|
|
1237
|
+
],
|
|
1238
|
+
"stateMutability": "view"
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"type": "function",
|
|
1242
|
+
"name": "retainedTransportPaymentRefundBalance",
|
|
1243
|
+
"inputs": [],
|
|
1244
|
+
"outputs": [
|
|
1245
|
+
{
|
|
1246
|
+
"name": "",
|
|
1247
|
+
"type": "uint256",
|
|
1248
|
+
"internalType": "uint256"
|
|
1249
|
+
}
|
|
1250
|
+
],
|
|
1251
|
+
"stateMutability": "view"
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
"type": "function",
|
|
1255
|
+
"name": "retainedTransportPaymentRefundOf",
|
|
1256
|
+
"inputs": [
|
|
1257
|
+
{
|
|
1258
|
+
"name": "account",
|
|
1259
|
+
"type": "address",
|
|
1260
|
+
"internalType": "address"
|
|
1261
|
+
}
|
|
1262
|
+
],
|
|
1263
|
+
"outputs": [
|
|
1264
|
+
{
|
|
1265
|
+
"name": "amount",
|
|
1266
|
+
"type": "uint256",
|
|
1267
|
+
"internalType": "uint256"
|
|
1268
|
+
}
|
|
1269
|
+
],
|
|
1270
|
+
"stateMutability": "view"
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"type": "function",
|
|
1274
|
+
"name": "setDeprecation",
|
|
1275
|
+
"inputs": [
|
|
1276
|
+
{
|
|
1277
|
+
"name": "timestamp",
|
|
1278
|
+
"type": "uint40",
|
|
1279
|
+
"internalType": "uint40"
|
|
1280
|
+
}
|
|
1281
|
+
],
|
|
1282
|
+
"outputs": [],
|
|
1283
|
+
"stateMutability": "nonpayable"
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"type": "function",
|
|
1287
|
+
"name": "snapshotTimestampOf",
|
|
1288
|
+
"inputs": [
|
|
1289
|
+
{
|
|
1290
|
+
"name": "chainId",
|
|
1291
|
+
"type": "uint256",
|
|
1292
|
+
"internalType": "uint256"
|
|
1293
|
+
}
|
|
1294
|
+
],
|
|
1295
|
+
"outputs": [
|
|
1296
|
+
{
|
|
1297
|
+
"name": "",
|
|
1298
|
+
"type": "uint256",
|
|
1299
|
+
"internalType": "uint256"
|
|
1300
|
+
}
|
|
1301
|
+
],
|
|
1302
|
+
"stateMutability": "view"
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
"type": "function",
|
|
1306
|
+
"name": "state",
|
|
1307
|
+
"inputs": [],
|
|
1308
|
+
"outputs": [
|
|
1309
|
+
{
|
|
1310
|
+
"name": "",
|
|
1311
|
+
"type": "uint8",
|
|
1312
|
+
"internalType": "enum JBSuckerState"
|
|
1313
|
+
}
|
|
1314
|
+
],
|
|
1315
|
+
"stateMutability": "view"
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"type": "function",
|
|
1319
|
+
"name": "supportsInterface",
|
|
1320
|
+
"inputs": [
|
|
1321
|
+
{
|
|
1322
|
+
"name": "interfaceId",
|
|
1323
|
+
"type": "bytes4",
|
|
1324
|
+
"internalType": "bytes4"
|
|
1325
|
+
}
|
|
1326
|
+
],
|
|
1327
|
+
"outputs": [
|
|
1328
|
+
{
|
|
1329
|
+
"name": "supported",
|
|
1330
|
+
"type": "bool",
|
|
1331
|
+
"internalType": "bool"
|
|
1332
|
+
}
|
|
1333
|
+
],
|
|
1334
|
+
"stateMutability": "view"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"type": "function",
|
|
1338
|
+
"name": "syncAccountingData",
|
|
1339
|
+
"inputs": [],
|
|
1340
|
+
"outputs": [],
|
|
1341
|
+
"stateMutability": "payable"
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
"type": "function",
|
|
1345
|
+
"name": "toRemote",
|
|
1346
|
+
"inputs": [
|
|
1347
|
+
{
|
|
1348
|
+
"name": "token",
|
|
1349
|
+
"type": "address",
|
|
1350
|
+
"internalType": "address"
|
|
1351
|
+
}
|
|
1352
|
+
],
|
|
1353
|
+
"outputs": [],
|
|
1354
|
+
"stateMutability": "payable"
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
"type": "function",
|
|
1358
|
+
"name": "trustedForwarder",
|
|
1359
|
+
"inputs": [],
|
|
1360
|
+
"outputs": [
|
|
1361
|
+
{
|
|
1362
|
+
"name": "",
|
|
1363
|
+
"type": "address",
|
|
1364
|
+
"internalType": "address"
|
|
1365
|
+
}
|
|
1366
|
+
],
|
|
1367
|
+
"stateMutability": "view"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"type": "event",
|
|
1371
|
+
"name": "AccountingDataSynced",
|
|
1372
|
+
"inputs": [
|
|
1373
|
+
{
|
|
1374
|
+
"name": "sourceTimestamp",
|
|
1375
|
+
"type": "uint256",
|
|
1376
|
+
"indexed": false,
|
|
1377
|
+
"internalType": "uint256"
|
|
1378
|
+
},
|
|
1379
|
+
{
|
|
1380
|
+
"name": "caller",
|
|
1381
|
+
"type": "address",
|
|
1382
|
+
"indexed": false,
|
|
1383
|
+
"internalType": "address"
|
|
1384
|
+
}
|
|
1385
|
+
],
|
|
1386
|
+
"anonymous": false
|
|
1387
|
+
},
|
|
1388
|
+
{
|
|
1389
|
+
"type": "event",
|
|
1390
|
+
"name": "ClaimFailed",
|
|
1391
|
+
"inputs": [
|
|
1392
|
+
{
|
|
1393
|
+
"name": "token",
|
|
1394
|
+
"type": "address",
|
|
1395
|
+
"indexed": true,
|
|
1396
|
+
"internalType": "address"
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
"name": "index",
|
|
1400
|
+
"type": "uint256",
|
|
1401
|
+
"indexed": false,
|
|
1402
|
+
"internalType": "uint256"
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"name": "caller",
|
|
1406
|
+
"type": "address",
|
|
1407
|
+
"indexed": false,
|
|
1408
|
+
"internalType": "address"
|
|
1409
|
+
}
|
|
1410
|
+
],
|
|
1411
|
+
"anonymous": false
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"type": "event",
|
|
1415
|
+
"name": "Claimed",
|
|
1416
|
+
"inputs": [
|
|
1417
|
+
{
|
|
1418
|
+
"name": "beneficiary",
|
|
1419
|
+
"type": "bytes32",
|
|
1420
|
+
"indexed": false,
|
|
1421
|
+
"internalType": "bytes32"
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"name": "token",
|
|
1425
|
+
"type": "address",
|
|
1426
|
+
"indexed": false,
|
|
1427
|
+
"internalType": "address"
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"name": "projectTokenCount",
|
|
1431
|
+
"type": "uint256",
|
|
1432
|
+
"indexed": false,
|
|
1433
|
+
"internalType": "uint256"
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"name": "terminalTokenAmount",
|
|
1437
|
+
"type": "uint256",
|
|
1438
|
+
"indexed": false,
|
|
1439
|
+
"internalType": "uint256"
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
"name": "index",
|
|
1443
|
+
"type": "uint256",
|
|
1444
|
+
"indexed": false,
|
|
1445
|
+
"internalType": "uint256"
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"name": "metadata",
|
|
1449
|
+
"type": "bytes32",
|
|
1450
|
+
"indexed": false,
|
|
1451
|
+
"internalType": "bytes32"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"name": "caller",
|
|
1455
|
+
"type": "address",
|
|
1456
|
+
"indexed": false,
|
|
1457
|
+
"internalType": "address"
|
|
1458
|
+
}
|
|
1459
|
+
],
|
|
1460
|
+
"anonymous": false
|
|
1461
|
+
},
|
|
1462
|
+
{
|
|
1463
|
+
"type": "event",
|
|
1464
|
+
"name": "DeprecationTimeUpdated",
|
|
1465
|
+
"inputs": [
|
|
1466
|
+
{
|
|
1467
|
+
"name": "timestamp",
|
|
1468
|
+
"type": "uint40",
|
|
1469
|
+
"indexed": false,
|
|
1470
|
+
"internalType": "uint40"
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"name": "caller",
|
|
1474
|
+
"type": "address",
|
|
1475
|
+
"indexed": false,
|
|
1476
|
+
"internalType": "address"
|
|
1477
|
+
}
|
|
1478
|
+
],
|
|
1479
|
+
"anonymous": false
|
|
1480
|
+
},
|
|
1481
|
+
{
|
|
1482
|
+
"type": "event",
|
|
1483
|
+
"name": "EmergencyExit",
|
|
1484
|
+
"inputs": [
|
|
1485
|
+
{
|
|
1486
|
+
"name": "beneficiary",
|
|
1487
|
+
"type": "address",
|
|
1488
|
+
"indexed": true,
|
|
1489
|
+
"internalType": "address"
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
"name": "token",
|
|
1493
|
+
"type": "address",
|
|
1494
|
+
"indexed": true,
|
|
1495
|
+
"internalType": "address"
|
|
1496
|
+
},
|
|
1497
|
+
{
|
|
1498
|
+
"name": "terminalTokenAmount",
|
|
1499
|
+
"type": "uint256",
|
|
1500
|
+
"indexed": false,
|
|
1501
|
+
"internalType": "uint256"
|
|
1502
|
+
},
|
|
1503
|
+
{
|
|
1504
|
+
"name": "projectTokenCount",
|
|
1505
|
+
"type": "uint256",
|
|
1506
|
+
"indexed": false,
|
|
1507
|
+
"internalType": "uint256"
|
|
1508
|
+
},
|
|
1509
|
+
{
|
|
1510
|
+
"name": "caller",
|
|
1511
|
+
"type": "address",
|
|
1512
|
+
"indexed": false,
|
|
1513
|
+
"internalType": "address"
|
|
1514
|
+
}
|
|
1515
|
+
],
|
|
1516
|
+
"anonymous": false
|
|
1517
|
+
},
|
|
1518
|
+
{
|
|
1519
|
+
"type": "event",
|
|
1520
|
+
"name": "EmergencyHatchOpened",
|
|
1521
|
+
"inputs": [
|
|
1522
|
+
{
|
|
1523
|
+
"name": "tokens",
|
|
1524
|
+
"type": "address[]",
|
|
1525
|
+
"indexed": false,
|
|
1526
|
+
"internalType": "address[]"
|
|
1527
|
+
},
|
|
1528
|
+
{
|
|
1529
|
+
"name": "caller",
|
|
1530
|
+
"type": "address",
|
|
1531
|
+
"indexed": false,
|
|
1532
|
+
"internalType": "address"
|
|
1533
|
+
}
|
|
1534
|
+
],
|
|
1535
|
+
"anonymous": false
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"type": "event",
|
|
1539
|
+
"name": "Initialized",
|
|
1540
|
+
"inputs": [
|
|
1541
|
+
{
|
|
1542
|
+
"name": "version",
|
|
1543
|
+
"type": "uint64",
|
|
1544
|
+
"indexed": false,
|
|
1545
|
+
"internalType": "uint64"
|
|
1546
|
+
}
|
|
1547
|
+
],
|
|
1548
|
+
"anonymous": false
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
"type": "event",
|
|
1552
|
+
"name": "InsertToOutboxTree",
|
|
1553
|
+
"inputs": [
|
|
1554
|
+
{
|
|
1555
|
+
"name": "beneficiary",
|
|
1556
|
+
"type": "bytes32",
|
|
1557
|
+
"indexed": true,
|
|
1558
|
+
"internalType": "bytes32"
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"name": "token",
|
|
1562
|
+
"type": "address",
|
|
1563
|
+
"indexed": true,
|
|
1564
|
+
"internalType": "address"
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
"name": "hashed",
|
|
1568
|
+
"type": "bytes32",
|
|
1569
|
+
"indexed": false,
|
|
1570
|
+
"internalType": "bytes32"
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
"name": "index",
|
|
1574
|
+
"type": "uint256",
|
|
1575
|
+
"indexed": false,
|
|
1576
|
+
"internalType": "uint256"
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
"name": "root",
|
|
1580
|
+
"type": "bytes32",
|
|
1581
|
+
"indexed": false,
|
|
1582
|
+
"internalType": "bytes32"
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"name": "projectTokenCount",
|
|
1586
|
+
"type": "uint256",
|
|
1587
|
+
"indexed": false,
|
|
1588
|
+
"internalType": "uint256"
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
"name": "terminalTokenAmount",
|
|
1592
|
+
"type": "uint256",
|
|
1593
|
+
"indexed": false,
|
|
1594
|
+
"internalType": "uint256"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"name": "metadata",
|
|
1598
|
+
"type": "bytes32",
|
|
1599
|
+
"indexed": false,
|
|
1600
|
+
"internalType": "bytes32"
|
|
1601
|
+
},
|
|
1602
|
+
{
|
|
1603
|
+
"name": "caller",
|
|
1604
|
+
"type": "address",
|
|
1605
|
+
"indexed": false,
|
|
1606
|
+
"internalType": "address"
|
|
1607
|
+
}
|
|
1608
|
+
],
|
|
1609
|
+
"anonymous": false
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
"type": "event",
|
|
1613
|
+
"name": "NewInboxTreeRoot",
|
|
1614
|
+
"inputs": [
|
|
1615
|
+
{
|
|
1616
|
+
"name": "token",
|
|
1617
|
+
"type": "address",
|
|
1618
|
+
"indexed": true,
|
|
1619
|
+
"internalType": "address"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"name": "nonce",
|
|
1623
|
+
"type": "uint64",
|
|
1624
|
+
"indexed": false,
|
|
1625
|
+
"internalType": "uint64"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"name": "root",
|
|
1629
|
+
"type": "bytes32",
|
|
1630
|
+
"indexed": false,
|
|
1631
|
+
"internalType": "bytes32"
|
|
1632
|
+
},
|
|
1633
|
+
{
|
|
1634
|
+
"name": "caller",
|
|
1635
|
+
"type": "address",
|
|
1636
|
+
"indexed": false,
|
|
1637
|
+
"internalType": "address"
|
|
1638
|
+
}
|
|
1639
|
+
],
|
|
1640
|
+
"anonymous": false
|
|
1641
|
+
},
|
|
1642
|
+
{
|
|
1643
|
+
"type": "event",
|
|
1644
|
+
"name": "RetainedToRemoteFee",
|
|
1645
|
+
"inputs": [
|
|
1646
|
+
{
|
|
1647
|
+
"name": "account",
|
|
1648
|
+
"type": "address",
|
|
1649
|
+
"indexed": true,
|
|
1650
|
+
"internalType": "address"
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
"name": "amount",
|
|
1654
|
+
"type": "uint256",
|
|
1655
|
+
"indexed": false,
|
|
1656
|
+
"internalType": "uint256"
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"name": "caller",
|
|
1660
|
+
"type": "address",
|
|
1661
|
+
"indexed": false,
|
|
1662
|
+
"internalType": "address"
|
|
1663
|
+
}
|
|
1664
|
+
],
|
|
1665
|
+
"anonymous": false
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
"type": "event",
|
|
1669
|
+
"name": "RetainedToRemoteFeeClaimed",
|
|
1670
|
+
"inputs": [
|
|
1671
|
+
{
|
|
1672
|
+
"name": "account",
|
|
1673
|
+
"type": "address",
|
|
1674
|
+
"indexed": true,
|
|
1675
|
+
"internalType": "address"
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
"name": "beneficiary",
|
|
1679
|
+
"type": "address",
|
|
1680
|
+
"indexed": true,
|
|
1681
|
+
"internalType": "address"
|
|
1682
|
+
},
|
|
1683
|
+
{
|
|
1684
|
+
"name": "amount",
|
|
1685
|
+
"type": "uint256",
|
|
1686
|
+
"indexed": false,
|
|
1687
|
+
"internalType": "uint256"
|
|
1688
|
+
},
|
|
1689
|
+
{
|
|
1690
|
+
"name": "caller",
|
|
1691
|
+
"type": "address",
|
|
1692
|
+
"indexed": false,
|
|
1693
|
+
"internalType": "address"
|
|
1694
|
+
}
|
|
1695
|
+
],
|
|
1696
|
+
"anonymous": false
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"type": "event",
|
|
1700
|
+
"name": "RetainedTransportPaymentRefund",
|
|
1701
|
+
"inputs": [
|
|
1702
|
+
{
|
|
1703
|
+
"name": "account",
|
|
1704
|
+
"type": "address",
|
|
1705
|
+
"indexed": true,
|
|
1706
|
+
"internalType": "address"
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"name": "amount",
|
|
1710
|
+
"type": "uint256",
|
|
1711
|
+
"indexed": false,
|
|
1712
|
+
"internalType": "uint256"
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
"name": "caller",
|
|
1716
|
+
"type": "address",
|
|
1717
|
+
"indexed": false,
|
|
1718
|
+
"internalType": "address"
|
|
1719
|
+
}
|
|
1720
|
+
],
|
|
1721
|
+
"anonymous": false
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
"type": "event",
|
|
1725
|
+
"name": "RetainedTransportPaymentRefundClaimed",
|
|
1726
|
+
"inputs": [
|
|
1727
|
+
{
|
|
1728
|
+
"name": "account",
|
|
1729
|
+
"type": "address",
|
|
1730
|
+
"indexed": true,
|
|
1731
|
+
"internalType": "address"
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
"name": "beneficiary",
|
|
1735
|
+
"type": "address",
|
|
1736
|
+
"indexed": true,
|
|
1737
|
+
"internalType": "address"
|
|
1738
|
+
},
|
|
1739
|
+
{
|
|
1740
|
+
"name": "amount",
|
|
1741
|
+
"type": "uint256",
|
|
1742
|
+
"indexed": false,
|
|
1743
|
+
"internalType": "uint256"
|
|
1744
|
+
},
|
|
1745
|
+
{
|
|
1746
|
+
"name": "caller",
|
|
1747
|
+
"type": "address",
|
|
1748
|
+
"indexed": false,
|
|
1749
|
+
"internalType": "address"
|
|
1750
|
+
}
|
|
1751
|
+
],
|
|
1752
|
+
"anonymous": false
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"type": "event",
|
|
1756
|
+
"name": "RootToRemote",
|
|
1757
|
+
"inputs": [
|
|
1758
|
+
{
|
|
1759
|
+
"name": "root",
|
|
1760
|
+
"type": "bytes32",
|
|
1761
|
+
"indexed": true,
|
|
1762
|
+
"internalType": "bytes32"
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"name": "token",
|
|
1766
|
+
"type": "address",
|
|
1767
|
+
"indexed": true,
|
|
1768
|
+
"internalType": "address"
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
"name": "index",
|
|
1772
|
+
"type": "uint256",
|
|
1773
|
+
"indexed": false,
|
|
1774
|
+
"internalType": "uint256"
|
|
1775
|
+
},
|
|
1776
|
+
{
|
|
1777
|
+
"name": "nonce",
|
|
1778
|
+
"type": "uint64",
|
|
1779
|
+
"indexed": false,
|
|
1780
|
+
"internalType": "uint64"
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"name": "caller",
|
|
1784
|
+
"type": "address",
|
|
1785
|
+
"indexed": false,
|
|
1786
|
+
"internalType": "address"
|
|
1787
|
+
}
|
|
1788
|
+
],
|
|
1789
|
+
"anonymous": false
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
"type": "event",
|
|
1793
|
+
"name": "StaleRootRejected",
|
|
1794
|
+
"inputs": [
|
|
1795
|
+
{
|
|
1796
|
+
"name": "token",
|
|
1797
|
+
"type": "address",
|
|
1798
|
+
"indexed": true,
|
|
1799
|
+
"internalType": "address"
|
|
1800
|
+
},
|
|
1801
|
+
{
|
|
1802
|
+
"name": "receivedNonce",
|
|
1803
|
+
"type": "uint64",
|
|
1804
|
+
"indexed": false,
|
|
1805
|
+
"internalType": "uint64"
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
"name": "currentNonce",
|
|
1809
|
+
"type": "uint64",
|
|
1810
|
+
"indexed": false,
|
|
1811
|
+
"internalType": "uint64"
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
"name": "caller",
|
|
1815
|
+
"type": "address",
|
|
1816
|
+
"indexed": false,
|
|
1817
|
+
"internalType": "address"
|
|
1818
|
+
}
|
|
1819
|
+
],
|
|
1820
|
+
"anonymous": false
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"type": "event",
|
|
1824
|
+
"name": "TransportPaymentRefundFailed",
|
|
1825
|
+
"inputs": [
|
|
1826
|
+
{
|
|
1827
|
+
"name": "recipient",
|
|
1828
|
+
"type": "address",
|
|
1829
|
+
"indexed": true,
|
|
1830
|
+
"internalType": "address"
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
"name": "amount",
|
|
1834
|
+
"type": "uint256",
|
|
1835
|
+
"indexed": false,
|
|
1836
|
+
"internalType": "uint256"
|
|
1837
|
+
},
|
|
1838
|
+
{
|
|
1839
|
+
"name": "caller",
|
|
1840
|
+
"type": "address",
|
|
1841
|
+
"indexed": false,
|
|
1842
|
+
"internalType": "address"
|
|
1843
|
+
}
|
|
1844
|
+
],
|
|
1845
|
+
"anonymous": false
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
"type": "error",
|
|
1849
|
+
"name": "InvalidInitialization",
|
|
1850
|
+
"inputs": []
|
|
1851
|
+
},
|
|
1852
|
+
{
|
|
1853
|
+
"type": "error",
|
|
1854
|
+
"name": "JBCCIPSucker_InvalidRouter",
|
|
1855
|
+
"inputs": [
|
|
1856
|
+
{
|
|
1857
|
+
"name": "router",
|
|
1858
|
+
"type": "address",
|
|
1859
|
+
"internalType": "address"
|
|
1860
|
+
}
|
|
1861
|
+
]
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"type": "error",
|
|
1865
|
+
"name": "JBCCIPSucker_PositiveRootWithoutDelivery",
|
|
1866
|
+
"inputs": [
|
|
1867
|
+
{
|
|
1868
|
+
"name": "rootAmount",
|
|
1869
|
+
"type": "uint256",
|
|
1870
|
+
"internalType": "uint256"
|
|
1871
|
+
}
|
|
1872
|
+
]
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
"type": "error",
|
|
1876
|
+
"name": "JBCCIPSucker_UnderDeliveredAmount",
|
|
1877
|
+
"inputs": [
|
|
1878
|
+
{
|
|
1879
|
+
"name": "delivered",
|
|
1880
|
+
"type": "uint256",
|
|
1881
|
+
"internalType": "uint256"
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
"name": "rootAmount",
|
|
1885
|
+
"type": "uint256",
|
|
1886
|
+
"internalType": "uint256"
|
|
1887
|
+
}
|
|
1888
|
+
]
|
|
1889
|
+
},
|
|
1890
|
+
{
|
|
1891
|
+
"type": "error",
|
|
1892
|
+
"name": "JBCCIPSucker_UnexpectedDeliveredTokens",
|
|
1893
|
+
"inputs": [
|
|
1894
|
+
{
|
|
1895
|
+
"name": "count",
|
|
1896
|
+
"type": "uint256",
|
|
1897
|
+
"internalType": "uint256"
|
|
1898
|
+
}
|
|
1899
|
+
]
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"type": "error",
|
|
1903
|
+
"name": "JBCCIPSucker_UnknownMessageType",
|
|
1904
|
+
"inputs": [
|
|
1905
|
+
{
|
|
1906
|
+
"name": "messageType",
|
|
1907
|
+
"type": "uint8",
|
|
1908
|
+
"internalType": "uint8"
|
|
1909
|
+
}
|
|
1910
|
+
]
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"type": "error",
|
|
1914
|
+
"name": "JBCCIPSucker_WrongDeliveredToken",
|
|
1915
|
+
"inputs": [
|
|
1916
|
+
{
|
|
1917
|
+
"name": "delivered",
|
|
1918
|
+
"type": "address",
|
|
1919
|
+
"internalType": "address"
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
"name": "expected",
|
|
1923
|
+
"type": "address",
|
|
1924
|
+
"internalType": "address"
|
|
1925
|
+
}
|
|
1926
|
+
]
|
|
1927
|
+
},
|
|
1928
|
+
{
|
|
1929
|
+
"type": "error",
|
|
1930
|
+
"name": "JBPermissioned_Unauthorized",
|
|
1931
|
+
"inputs": [
|
|
1932
|
+
{
|
|
1933
|
+
"name": "account",
|
|
1934
|
+
"type": "address",
|
|
1935
|
+
"internalType": "address"
|
|
1936
|
+
},
|
|
1937
|
+
{
|
|
1938
|
+
"name": "sender",
|
|
1939
|
+
"type": "address",
|
|
1940
|
+
"internalType": "address"
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
"name": "projectId",
|
|
1944
|
+
"type": "uint256",
|
|
1945
|
+
"internalType": "uint256"
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"name": "permissionId",
|
|
1949
|
+
"type": "uint256",
|
|
1950
|
+
"internalType": "uint256"
|
|
1951
|
+
}
|
|
1952
|
+
]
|
|
1953
|
+
},
|
|
1954
|
+
{
|
|
1955
|
+
"type": "error",
|
|
1956
|
+
"name": "JBSucker_AccountingSyncUnsupported",
|
|
1957
|
+
"inputs": []
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
"type": "error",
|
|
1961
|
+
"name": "JBSucker_AmountExceedsUint128",
|
|
1962
|
+
"inputs": [
|
|
1963
|
+
{
|
|
1964
|
+
"name": "amount",
|
|
1965
|
+
"type": "uint256",
|
|
1966
|
+
"internalType": "uint256"
|
|
1967
|
+
}
|
|
1968
|
+
]
|
|
1969
|
+
},
|
|
1970
|
+
{
|
|
1971
|
+
"type": "error",
|
|
1972
|
+
"name": "JBSucker_BelowMinGas",
|
|
1973
|
+
"inputs": [
|
|
1974
|
+
{
|
|
1975
|
+
"name": "minGas",
|
|
1976
|
+
"type": "uint256",
|
|
1977
|
+
"internalType": "uint256"
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"name": "minGasLimit",
|
|
1981
|
+
"type": "uint256",
|
|
1982
|
+
"internalType": "uint256"
|
|
1983
|
+
}
|
|
1984
|
+
]
|
|
1985
|
+
},
|
|
1986
|
+
{
|
|
1987
|
+
"type": "error",
|
|
1988
|
+
"name": "JBSucker_Deprecated",
|
|
1989
|
+
"inputs": [
|
|
1990
|
+
{
|
|
1991
|
+
"name": "state",
|
|
1992
|
+
"type": "uint8",
|
|
1993
|
+
"internalType": "enum JBSuckerState"
|
|
1994
|
+
}
|
|
1995
|
+
]
|
|
1996
|
+
},
|
|
1997
|
+
{
|
|
1998
|
+
"type": "error",
|
|
1999
|
+
"name": "JBSucker_DeprecationTimestampTooSoon",
|
|
2000
|
+
"inputs": [
|
|
2001
|
+
{
|
|
2002
|
+
"name": "givenTime",
|
|
2003
|
+
"type": "uint256",
|
|
2004
|
+
"internalType": "uint256"
|
|
2005
|
+
},
|
|
2006
|
+
{
|
|
2007
|
+
"name": "minimumTime",
|
|
2008
|
+
"type": "uint256",
|
|
2009
|
+
"internalType": "uint256"
|
|
2010
|
+
}
|
|
2011
|
+
]
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
"type": "error",
|
|
2015
|
+
"name": "JBSucker_ExpectedMsgValue",
|
|
2016
|
+
"inputs": [
|
|
2017
|
+
{
|
|
2018
|
+
"name": "msgValue",
|
|
2019
|
+
"type": "uint256",
|
|
2020
|
+
"internalType": "uint256"
|
|
2021
|
+
}
|
|
2022
|
+
]
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"type": "error",
|
|
2026
|
+
"name": "JBSucker_IndexOutOfRange",
|
|
2027
|
+
"inputs": [
|
|
2028
|
+
{
|
|
2029
|
+
"name": "index",
|
|
2030
|
+
"type": "uint256",
|
|
2031
|
+
"internalType": "uint256"
|
|
2032
|
+
}
|
|
2033
|
+
]
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
"type": "error",
|
|
2037
|
+
"name": "JBSucker_InsufficientBalance",
|
|
2038
|
+
"inputs": [
|
|
2039
|
+
{
|
|
2040
|
+
"name": "amount",
|
|
2041
|
+
"type": "uint256",
|
|
2042
|
+
"internalType": "uint256"
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
"name": "balance",
|
|
2046
|
+
"type": "uint256",
|
|
2047
|
+
"internalType": "uint256"
|
|
2048
|
+
}
|
|
2049
|
+
]
|
|
2050
|
+
},
|
|
2051
|
+
{
|
|
2052
|
+
"type": "error",
|
|
2053
|
+
"name": "JBSucker_InsufficientMsgValue",
|
|
2054
|
+
"inputs": [
|
|
2055
|
+
{
|
|
2056
|
+
"name": "received",
|
|
2057
|
+
"type": "uint256",
|
|
2058
|
+
"internalType": "uint256"
|
|
2059
|
+
},
|
|
2060
|
+
{
|
|
2061
|
+
"name": "expected",
|
|
2062
|
+
"type": "uint256",
|
|
2063
|
+
"internalType": "uint256"
|
|
2064
|
+
}
|
|
2065
|
+
]
|
|
2066
|
+
},
|
|
2067
|
+
{
|
|
2068
|
+
"type": "error",
|
|
2069
|
+
"name": "JBSucker_InvalidMessageVersion",
|
|
2070
|
+
"inputs": [
|
|
2071
|
+
{
|
|
2072
|
+
"name": "received",
|
|
2073
|
+
"type": "uint8",
|
|
2074
|
+
"internalType": "uint8"
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
"name": "expected",
|
|
2078
|
+
"type": "uint8",
|
|
2079
|
+
"internalType": "uint8"
|
|
2080
|
+
}
|
|
2081
|
+
]
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
"type": "error",
|
|
2085
|
+
"name": "JBSucker_InvalidNativeRemoteAddress",
|
|
2086
|
+
"inputs": [
|
|
2087
|
+
{
|
|
2088
|
+
"name": "remoteToken",
|
|
2089
|
+
"type": "bytes32",
|
|
2090
|
+
"internalType": "bytes32"
|
|
2091
|
+
}
|
|
2092
|
+
]
|
|
2093
|
+
},
|
|
2094
|
+
{
|
|
2095
|
+
"type": "error",
|
|
2096
|
+
"name": "JBSucker_InvalidProof",
|
|
2097
|
+
"inputs": [
|
|
2098
|
+
{
|
|
2099
|
+
"name": "root",
|
|
2100
|
+
"type": "bytes32",
|
|
2101
|
+
"internalType": "bytes32"
|
|
2102
|
+
},
|
|
2103
|
+
{
|
|
2104
|
+
"name": "inboxRoot",
|
|
2105
|
+
"type": "bytes32",
|
|
2106
|
+
"internalType": "bytes32"
|
|
2107
|
+
}
|
|
2108
|
+
]
|
|
2109
|
+
},
|
|
2110
|
+
{
|
|
2111
|
+
"type": "error",
|
|
2112
|
+
"name": "JBSucker_LeafAlreadyExecuted",
|
|
2113
|
+
"inputs": [
|
|
2114
|
+
{
|
|
2115
|
+
"name": "token",
|
|
2116
|
+
"type": "address",
|
|
2117
|
+
"internalType": "address"
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
"name": "index",
|
|
2121
|
+
"type": "uint256",
|
|
2122
|
+
"internalType": "uint256"
|
|
2123
|
+
}
|
|
2124
|
+
]
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
"type": "error",
|
|
2128
|
+
"name": "JBSucker_NoRetainedToRemoteFee",
|
|
2129
|
+
"inputs": [
|
|
2130
|
+
{
|
|
2131
|
+
"name": "account",
|
|
2132
|
+
"type": "address",
|
|
2133
|
+
"internalType": "address"
|
|
2134
|
+
}
|
|
2135
|
+
]
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
"type": "error",
|
|
2139
|
+
"name": "JBSucker_NoRetainedTransportPaymentRefund",
|
|
2140
|
+
"inputs": [
|
|
2141
|
+
{
|
|
2142
|
+
"name": "account",
|
|
2143
|
+
"type": "address",
|
|
2144
|
+
"internalType": "address"
|
|
2145
|
+
}
|
|
2146
|
+
]
|
|
2147
|
+
},
|
|
2148
|
+
{
|
|
2149
|
+
"type": "error",
|
|
2150
|
+
"name": "JBSucker_NoTerminalForToken",
|
|
2151
|
+
"inputs": [
|
|
2152
|
+
{
|
|
2153
|
+
"name": "projectId",
|
|
2154
|
+
"type": "uint256",
|
|
2155
|
+
"internalType": "uint256"
|
|
2156
|
+
},
|
|
2157
|
+
{
|
|
2158
|
+
"name": "token",
|
|
2159
|
+
"type": "address",
|
|
2160
|
+
"internalType": "address"
|
|
2161
|
+
}
|
|
2162
|
+
]
|
|
2163
|
+
},
|
|
2164
|
+
{
|
|
2165
|
+
"type": "error",
|
|
2166
|
+
"name": "JBSucker_NotPeer",
|
|
2167
|
+
"inputs": [
|
|
2168
|
+
{
|
|
2169
|
+
"name": "caller",
|
|
2170
|
+
"type": "bytes32",
|
|
2171
|
+
"internalType": "bytes32"
|
|
2172
|
+
}
|
|
2173
|
+
]
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
"type": "error",
|
|
2177
|
+
"name": "JBSucker_NothingToSend",
|
|
2178
|
+
"inputs": [
|
|
2179
|
+
{
|
|
2180
|
+
"name": "token",
|
|
2181
|
+
"type": "address",
|
|
2182
|
+
"internalType": "address"
|
|
2183
|
+
},
|
|
2184
|
+
{
|
|
2185
|
+
"name": "outboxBalance",
|
|
2186
|
+
"type": "uint256",
|
|
2187
|
+
"internalType": "uint256"
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
"name": "treeCount",
|
|
2191
|
+
"type": "uint256",
|
|
2192
|
+
"internalType": "uint256"
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
"name": "numberOfClaimsSent",
|
|
2196
|
+
"type": "uint256",
|
|
2197
|
+
"internalType": "uint256"
|
|
2198
|
+
}
|
|
2199
|
+
]
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"type": "error",
|
|
2203
|
+
"name": "JBSucker_RefundFailed",
|
|
2204
|
+
"inputs": [
|
|
2205
|
+
{
|
|
2206
|
+
"name": "beneficiary",
|
|
2207
|
+
"type": "address",
|
|
2208
|
+
"internalType": "address"
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
"name": "amount",
|
|
2212
|
+
"type": "uint256",
|
|
2213
|
+
"internalType": "uint256"
|
|
2214
|
+
}
|
|
2215
|
+
]
|
|
2216
|
+
},
|
|
2217
|
+
{
|
|
2218
|
+
"type": "error",
|
|
2219
|
+
"name": "JBSucker_RemoteTokenAlreadyMapped",
|
|
2220
|
+
"inputs": [
|
|
2221
|
+
{
|
|
2222
|
+
"name": "remoteToken",
|
|
2223
|
+
"type": "bytes32",
|
|
2224
|
+
"internalType": "bytes32"
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
"name": "localToken",
|
|
2228
|
+
"type": "address",
|
|
2229
|
+
"internalType": "address"
|
|
2230
|
+
}
|
|
2231
|
+
]
|
|
2232
|
+
},
|
|
2233
|
+
{
|
|
2234
|
+
"type": "error",
|
|
2235
|
+
"name": "JBSucker_TokenAlreadyMapped",
|
|
2236
|
+
"inputs": [
|
|
2237
|
+
{
|
|
2238
|
+
"name": "localToken",
|
|
2239
|
+
"type": "address",
|
|
2240
|
+
"internalType": "address"
|
|
2241
|
+
},
|
|
2242
|
+
{
|
|
2243
|
+
"name": "mappedTo",
|
|
2244
|
+
"type": "bytes32",
|
|
2245
|
+
"internalType": "bytes32"
|
|
2246
|
+
}
|
|
2247
|
+
]
|
|
2248
|
+
},
|
|
2249
|
+
{
|
|
2250
|
+
"type": "error",
|
|
2251
|
+
"name": "JBSucker_TokenHasInvalidEmergencyHatchState",
|
|
2252
|
+
"inputs": [
|
|
2253
|
+
{
|
|
2254
|
+
"name": "token",
|
|
2255
|
+
"type": "address",
|
|
2256
|
+
"internalType": "address"
|
|
2257
|
+
}
|
|
2258
|
+
]
|
|
2259
|
+
},
|
|
2260
|
+
{
|
|
2261
|
+
"type": "error",
|
|
2262
|
+
"name": "JBSucker_TokenNotMapped",
|
|
2263
|
+
"inputs": [
|
|
2264
|
+
{
|
|
2265
|
+
"name": "token",
|
|
2266
|
+
"type": "address",
|
|
2267
|
+
"internalType": "address"
|
|
2268
|
+
}
|
|
2269
|
+
]
|
|
2270
|
+
},
|
|
2271
|
+
{
|
|
2272
|
+
"type": "error",
|
|
2273
|
+
"name": "JBSucker_UnexpectedMsgValue",
|
|
2274
|
+
"inputs": [
|
|
2275
|
+
{
|
|
2276
|
+
"name": "value",
|
|
2277
|
+
"type": "uint256",
|
|
2278
|
+
"internalType": "uint256"
|
|
2279
|
+
}
|
|
2280
|
+
]
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
"type": "error",
|
|
2284
|
+
"name": "JBSucker_UnexpectedTokenBalance",
|
|
2285
|
+
"inputs": [
|
|
2286
|
+
{
|
|
2287
|
+
"name": "token",
|
|
2288
|
+
"type": "address",
|
|
2289
|
+
"internalType": "address"
|
|
2290
|
+
},
|
|
2291
|
+
{
|
|
2292
|
+
"name": "expectedBalance",
|
|
2293
|
+
"type": "uint256",
|
|
2294
|
+
"internalType": "uint256"
|
|
2295
|
+
},
|
|
2296
|
+
{
|
|
2297
|
+
"name": "actualBalance",
|
|
2298
|
+
"type": "uint256",
|
|
2299
|
+
"internalType": "uint256"
|
|
2300
|
+
}
|
|
2301
|
+
]
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
"type": "error",
|
|
2305
|
+
"name": "JBSucker_ZeroBeneficiary",
|
|
2306
|
+
"inputs": [
|
|
2307
|
+
{
|
|
2308
|
+
"name": "beneficiary",
|
|
2309
|
+
"type": "bytes32",
|
|
2310
|
+
"internalType": "bytes32"
|
|
2311
|
+
}
|
|
2312
|
+
]
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
"type": "error",
|
|
2316
|
+
"name": "JBSucker_ZeroERC20Token",
|
|
2317
|
+
"inputs": [
|
|
2318
|
+
{
|
|
2319
|
+
"name": "projectId",
|
|
2320
|
+
"type": "uint256",
|
|
2321
|
+
"internalType": "uint256"
|
|
2322
|
+
}
|
|
2323
|
+
]
|
|
2324
|
+
},
|
|
2325
|
+
{
|
|
2326
|
+
"type": "error",
|
|
2327
|
+
"name": "JBSucker_ZeroProjectTokenCount",
|
|
2328
|
+
"inputs": []
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
"type": "error",
|
|
2332
|
+
"name": "MerkleLib_InsertTreeIsFull",
|
|
2333
|
+
"inputs": [
|
|
2334
|
+
{
|
|
2335
|
+
"name": "size",
|
|
2336
|
+
"type": "uint256",
|
|
2337
|
+
"internalType": "uint256"
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"name": "maxLeaves",
|
|
2341
|
+
"type": "uint256",
|
|
2342
|
+
"internalType": "uint256"
|
|
2343
|
+
}
|
|
2344
|
+
]
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"type": "error",
|
|
2348
|
+
"name": "NotInitializing",
|
|
2349
|
+
"inputs": []
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
"type": "error",
|
|
2353
|
+
"name": "SafeERC20FailedOperation",
|
|
2354
|
+
"inputs": [
|
|
2355
|
+
{
|
|
2356
|
+
"name": "token",
|
|
2357
|
+
"type": "address",
|
|
2358
|
+
"internalType": "address"
|
|
2359
|
+
}
|
|
2360
|
+
]
|
|
2361
|
+
}
|
|
2362
|
+
],
|
|
2363
|
+
"args": [
|
|
2364
|
+
"0x2845F919Af9ed7d8dAB188d42114bD590340a242",
|
|
2365
|
+
"0x5AfF29060E023e6FB87BE5596652B33c65Af535B",
|
|
2366
|
+
"0xf92AC1aB5A00033E35a3975739124F61928C36B0",
|
|
2367
|
+
"0x1f80d8f057eE36b4C2656D107E4e4558B71bA7D9",
|
|
2368
|
+
"1",
|
|
2369
|
+
"0x7903a854aE91eAf635430D120a1a434085cEf297",
|
|
2370
|
+
"0x3bA60b60933916a7C87D0860DcEE62a0CE34E3e2"
|
|
2371
|
+
],
|
|
2372
|
+
"solcInputHash": "02c61ed241a5148112a5af136a58bbd9",
|
|
2373
|
+
"receipt": {
|
|
2374
|
+
"type": "0x2",
|
|
2375
|
+
"status": "0x1",
|
|
2376
|
+
"cumulativeGasUsed": "0xb16723",
|
|
2377
|
+
"logs": [
|
|
2378
|
+
{
|
|
2379
|
+
"address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
2380
|
+
"topics": [
|
|
2381
|
+
"0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
|
|
2382
|
+
"0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
2383
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
2384
|
+
"0x67d5c75c1a3ec57447cb9da29973e79439a6798f0e6a7c2fd6338eab9f246928"
|
|
2385
|
+
],
|
|
2386
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
2387
|
+
"blockHash": "0xf9a2e1a5a54d910aba8ba2e288ea02245f2f68953ef278b422bfe6c107f437b2",
|
|
2388
|
+
"blockNumber": "0x28ebed7",
|
|
2389
|
+
"blockTimestamp": "0x6a30dc8e",
|
|
2390
|
+
"transactionHash": "0xde0d9fc07ccbc48b505da8a0e5ed161195046c23443d1141e328d9aa23bcd68a",
|
|
2391
|
+
"transactionIndex": "0x17",
|
|
2392
|
+
"logIndex": "0xec",
|
|
2393
|
+
"removed": false
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
"address": "0xea1f4282c32549528d42ba6d5f4000ea2b02f9d8",
|
|
2397
|
+
"topics": [
|
|
2398
|
+
"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"
|
|
2399
|
+
],
|
|
2400
|
+
"data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff",
|
|
2401
|
+
"blockHash": "0xf9a2e1a5a54d910aba8ba2e288ea02245f2f68953ef278b422bfe6c107f437b2",
|
|
2402
|
+
"blockNumber": "0x28ebed7",
|
|
2403
|
+
"blockTimestamp": "0x6a30dc8e",
|
|
2404
|
+
"transactionHash": "0xde0d9fc07ccbc48b505da8a0e5ed161195046c23443d1141e328d9aa23bcd68a",
|
|
2405
|
+
"transactionIndex": "0x17",
|
|
2406
|
+
"logIndex": "0xed",
|
|
2407
|
+
"removed": false
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
"address": "0x4dc161ef837ff1c4485b08ddfcdb182f2157be18",
|
|
2411
|
+
"topics": [
|
|
2412
|
+
"0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
|
|
2413
|
+
"0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38"
|
|
2414
|
+
],
|
|
2415
|
+
"data": "0x",
|
|
2416
|
+
"blockHash": "0xf9a2e1a5a54d910aba8ba2e288ea02245f2f68953ef278b422bfe6c107f437b2",
|
|
2417
|
+
"blockNumber": "0x28ebed7",
|
|
2418
|
+
"blockTimestamp": "0x6a30dc8e",
|
|
2419
|
+
"transactionHash": "0xde0d9fc07ccbc48b505da8a0e5ed161195046c23443d1141e328d9aa23bcd68a",
|
|
2420
|
+
"transactionIndex": "0x17",
|
|
2421
|
+
"logIndex": "0xee",
|
|
2422
|
+
"removed": false
|
|
2423
|
+
},
|
|
2424
|
+
{
|
|
2425
|
+
"address": "0x91f164e1300f13beaf77358e4d84ed78f8e99d38",
|
|
2426
|
+
"topics": [
|
|
2427
|
+
"0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
|
|
2428
|
+
"0xd5deab2e7deb1fc43c598724c179da0517b3ba8e35a6aa10843b370c51835520"
|
|
2429
|
+
],
|
|
2430
|
+
"data": "0x000000000000000000000000000000000000000000000000000000000000003a",
|
|
2431
|
+
"blockHash": "0xf9a2e1a5a54d910aba8ba2e288ea02245f2f68953ef278b422bfe6c107f437b2",
|
|
2432
|
+
"blockNumber": "0x28ebed7",
|
|
2433
|
+
"blockTimestamp": "0x6a30dc8e",
|
|
2434
|
+
"transactionHash": "0xde0d9fc07ccbc48b505da8a0e5ed161195046c23443d1141e328d9aa23bcd68a",
|
|
2435
|
+
"transactionIndex": "0x17",
|
|
2436
|
+
"logIndex": "0xef",
|
|
2437
|
+
"removed": false
|
|
2438
|
+
}
|
|
2439
|
+
],
|
|
2440
|
+
"logsBloom": "0x00000000000010000000000000080000001000000000000000000000000000000000200000000000000000000040000000000000000000000000000000000000000000000000200000000000000000000000000000000040100000200000000040000000000004000000000000400000001000000000000000000000000080008800000000000000000904000000000000000000000080000000000000000000004000040000000000000000000000002200000000000000000000000004000000000002008000000000000000400000000000000004000000000000800000000000000000000102000000000000000200800000000080000000000000020000",
|
|
2441
|
+
"transactionHash": "0xde0d9fc07ccbc48b505da8a0e5ed161195046c23443d1141e328d9aa23bcd68a",
|
|
2442
|
+
"transactionIndex": "0x17",
|
|
2443
|
+
"blockHash": "0xf9a2e1a5a54d910aba8ba2e288ea02245f2f68953ef278b422bfe6c107f437b2",
|
|
2444
|
+
"blockNumber": "0x28ebed7",
|
|
2445
|
+
"gasUsed": "0x567889",
|
|
2446
|
+
"effectiveGasPrice": "0x802c80",
|
|
2447
|
+
"blobGasUsed": "0x63eacc",
|
|
2448
|
+
"from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
2449
|
+
"to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
2450
|
+
"contractAddress": null,
|
|
2451
|
+
"l1GasPrice": "0x3aa952df",
|
|
2452
|
+
"l1GasUsed": "0x395a5",
|
|
2453
|
+
"l1Fee": "0xccaca7d37f",
|
|
2454
|
+
"l1BaseFeeScalar": "0x44d",
|
|
2455
|
+
"l1BlobBaseFee": "0x3d79d71",
|
|
2456
|
+
"l1BlobBaseFeeScalar": "0xa118b",
|
|
2457
|
+
"daFootprintGasScalar": "0x1be"
|
|
2458
|
+
},
|
|
2459
|
+
"bytecode": "0x6101c080604052346103365760e08161635d80380380916100208285610469565b8339810103126103365780516001600160a01b03811691908290036103365760208101516001600160a01b0381169190828103610336576040820151906001600160a01b0382168203610336576060830151936001600160a01b038516850361033657608084015160a0850151946001600160a01b03861686036103365760c00151926001600160a01b03841684036103365760049460209460805260a05260c05260e0526040519283809263293c499960e01b82525afa908115610342575f91610427575b506101005261012052610140525f51602061633d5f395f51905f525460ff8160401c16610418576002600160401b03196001600160401b038216016103c2575b506040516363a49dc360e01b8152602081600481855afa908115610342575f91610390575b506101805260405163d861618760e01b8152602081600481855afa908115610342575f9161034d575b506101a0526040516303788a6160e21b815290602090829060049082905afa908115610342575f916102fc575b506101608190526001600160a01b031680156102ea57604051615e9c90816104a18239608051818181611273015281816118090152614e37015260a051818181612a7e015281816133a7015281816141f20152614daa015260c051818181610c4401528181611e5e0152818161243701528181614608015281816146a9015281816149b90152615322015260e0518181816117120152612153015261010051818181610d6401526140c6015261012051818181610651015281816106ff015281816121020152818161245f015261534a015261014051818181610b580152611f2e015261016051818181611aaf015281816120510152818161561c0152615bc4015261018051818181610750015281816117d10152818161248e01528181613ae201528181613c54015261537901526101a05181818161061801528181611e2001526155fb0152f35b636e1f4ccd60e01b5f5260045260245ffd5b90506020813d60201161033a575b8161031760209383610469565b8101031261033657516001600160a01b0381168103610336575f6101a1565b5f80fd5b3d915061030a565b6040513d5f823e3d90fd5b90506020813d602011610388575b8161036860209383610469565b8101031261033657516001600160401b0381168103610336576004610174565b3d915061035b565b90506020813d6020116103ba575b816103ab60209383610469565b8101031261033657515f61014b565b3d915061039e565b6001600160401b0319166001600160401b039081175f51602061633d5f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f610126565b63f92ee8a960e01b5f5260045ffd5b90506020813d602011610461575b8161044260209383610469565b8101031261033657516001600160a01b0381168103610336575f6100e6565b3d9150610435565b601f909101601f19168101906001600160401b0382119082101761048c57604052565b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063014dc2a61461037057806301ffc9a71461036b57806303da64a814610366578063056965111461036157806306433b1b1461035c5780630ce92d4b1461035757806311cda415146103525780631d831d5c1461034d57806322c9cc0f14610348578063293c4999146103435780633a5de07d1461033e5780633bef5ad5146103395780633f827a5a146103345780633fafa1271461032f5780634035d3b11461032a5780634ca0e69b146103255780634e415ad6146103205780634f0677e11461031b5780635417694914610316578063572b6c05146103115780635de4e83a1461030c5780636284386a14610307578063663d00f6146103025780636d9e384b146102fd5780636f4115a9146102f857806373cbdfc6146102f357806375451559146102ee5780637d1d0c5b146102a85780637da0a877146102e95780637de6fba2146102e4578063802c8fa0146102df57806385572ffb146102da57806388bc2ef3146102d557806392ee1ea7146102d05780639e6d7d43146102cb578063af629bbb146102c6578063b0f479a114610271578063b71c1179146102c1578063bf557aee146102bc578063c19d93fb146102b7578063c1ca1ec7146102b2578063cbb2adce146102ad578063cdfceeba146102a8578063cf26bafb146102a3578063d5f394881461029e578063d935222f14610299578063eac1f29e14610294578063f13465431461028f578063f3aefd7b1461028a578063f434c91414610285578063f925558c14610280578063fc072f231461027b578063fe4b84df146102765763fe5f42ca0361000e575b61203c565b612baf565b612ae8565b612aad565b612a69565b612966565b6128e5565b6128a0565b6127c3565b61279c565b61277f565b6117ba565b61259c565b6123f2565b6123c7565b612369565b612080565b611ed1565b611eaa565b611e8d565b611e49565b611a79565b61196e565b611838565b6117f4565b61175f565b611735565b6116fb565b611679565b611410565b611333565b6112a7565b61124f565b61112d565b611110565b610ff4565b610e6c565b610e23565b610df5565b610dda565b610db0565b610d93565b610d4f565b610c01565b610b43565b610b21565b610680565b61063c565b6105f9565b610593565b6104e6565b60203660031901126104e2576004356001600160401b0381116104e257366023820112156104e2578060040135906001600160401b0382116104e257602481019060243691606085020101116104e2575f5f5b83811061045557508061044457505f91905b5f925f925b80841061041657848034116103eb57005b610018906104106104096103fd614e0c565b6001600160a01b031690565b9134612cea565b90613f34565b9091929361043a6001916104348561042f89878a612c62565b613bd4565b90612ccf565b94019291906103da565b61044e9034612ca3565b91906103d5565b61048461046b610466838787612c62565b612c77565b6001600160a01b03165f908152600e6020526040902090565b6040610491838787612c62565b01351590816104bd575b506104a9575b6001016103c3565b906104b5600191612c95565b9190506104a1565b905060226104cc825460401c90565b9101546001600160c01b0390911614155f61049b565b5f80fd5b346104e25760203660031901126104e25760043563ffffffff60e01b81168091036104e257610534906385572ffb60e01b8114908115610538575b5060405190151581529081906020820190565b0390f35b6314a66dd360e21b811491508115610582575b8115610571575b8115610560575b505f610521565b6301ffc9a760e01b1490505f610559565b633d0d324560e21b81149150610552565b6332af4eb960e21b8114915061054b565b346104e25760203660031901126104e2576004356001600160401b0381116104e257366023820112156104e25780600401356001600160401b0381116104e2573660246104c08302840101116104e25760246100189201612e16565b5f9103126104e257565b346104e2575f3660031901126104e25760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60603660031901126104e2575f6106976004612c77565b6001600160a01b0381165f908152600f602052604090206044359291906106c290613415565b613415565b906106d06020830151151590565b610b06576106de6004614cda565b60115461072b6106ed826140a9565b6106f5614e0c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116949116841491614d1f565b803b156104e2576040516303827e8d60e01b81526001600160a01b03831660048201527f0000000000000000000000000000000000000000000000000000000000000000602482015260448101869052905f90829060649082905afa8015610b0157610ae7575b50606082018051858115159182610adc575b505080610ad3575b80610ab0575b610a8f5784159485159384610a26575b86806109d5575b61098d575b509061085092916108a395968580610983575b80610978575b80610941575b610916575b1561090f5750515b806108d5575b61083261080d6024613bca565b61081f610818612f04565b9615158752565b5f602087015263ffffffff166040860152565b60608401526001600160a01b03165f908152600f6020526040902090565b815181546020840151604085015165ffffffffffff1990921660ff931515939093169290921791151560081b61ff00169190911760109190911b65ffffffff000016178155606090910151600190910155565b8034116108ac57005b6001600160a01b036108bc614e0c565b169034033481116108d05761001891613f34565b612c81565b61090a826108eb835f52600d60205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b610800565b90506107fa565b61093c61092c84515f52600d60205260405f2090565b80546001600160a01b0319169055565b6107f2565b5061096561095884515f52600d60205260405f2090565b546001600160a01b031690565b6001600160a01b038581169116146107ed565b5081835114156107e7565b50825115156107e1565b6001600160a01b0384165f908152600f602052604090206108a39650610850949392916109ca916109c3905b805460ff19169055565b8434614780565b3495509091926107ce565b506001600160a01b0384165f908152600e602052604090206109f9905b5460401c90565b6001600160a01b0385165f908152600e60205260409020602201546001600160c01b0390911614156107c9565b610a3b610958835f52600d60205260405f2090565b6001600160a01b0381168015159081610a7b575b50610a5a57506107c2565b63d6a305d960e01b5f5260048390526001600160a01b031660245260445b5ffd5b6001600160a01b038716141590505f610a4f565b5163aef430a360e01b5f526001600160a01b0390911660045260245260445ffd5b506001600160a01b0382165f908152600e602052604090206022015415156107b2565b508415156107ac565b14159050855f6107a4565b80610af55f610afb93612d8d565b806105ef565b5f610792565b612e0b565b6304bba81f60e41b5f526001600160a01b031660045260245ffd5b346104e2575f3660031901126104e2576020610b3b612ef7565b604051908152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b92919060408401906040855280518092526020606086019101915f5b818110610bb557505060209150930152565b9091602060806001926001600160801b036060885163ffffffff815116845260ff8682015116868501528260408201511660408501520151166060820152019401910192919092610ba3565b346104e25760203660031901126104e25760043560115490805f52601560205260405f2091604051928391633a37eccb60e01b8352606483019060018060a01b037f0000000000000000000000000000000000000000000000000000000000000000166004850152602484015260606044840152815480915260848301915f5260205f20905f5b818110610d095750505090805f920381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4918215610b01575f92610ce1575b50610cd0905f52600760205260405f2090565b549061053460405192839283610b87565b610cd0919250610d02903d805f833e610cfa8183612d8d565b810190612f56565b9190610cbd565b8254845260018084015460ff8116602087015260081c6001600160801b039081166040870152600285015416606086015287955060809094019360039093019201610c88565b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e2575f3660031901126104e257602060405162030d408152f35b346104e25760203660031901126104e2576004355f526002602052602060405f2054604051908152f35b346104e2575f3660031901126104e257602060405160018152f35b346104e2575f3660031901126104e2576020601154604051908152f35b6001600160a01b038116036104e257565b346104e25760403660031901126104e257600435610e4081610e12565b6024359060018060a01b03165f52600160205260405f20905f52602052602060405f2054604051908152f35b346104e25760203660031901126104e2576004356001600160401b0381116104e2578060040190604060031982360301126104e257303303610ef857600160ff610eb58461302b565b1603610ed257610018916024610ecc920190613035565b90613f90565b610a78610ede8361302b565b63e667c12560e01b5f5260ff166004526001602452604490565b610a78610f04336103fd565b63f957028d60e01b5f52600452602490565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610f4857505050505090565b9091929394603f1982820301835285519060808101918051825260208101516020830152604081015192608060408401528351809152602060a084019401905f905b808210610fb0575050506060908101519101529460209081019493600101920190610f39565b909194602060806001926001600160801b0360608a518051845260ff8682015116868501528260408201511660408501520151166060820152019601920190610f8a565b346104e2575f3660031901126104e25760145461101081612f15565b9061101e6040519283612d8d565b808252601f1961102d82612f15565b015f5b8181106110e05750505f5b81811061105057604051806105348582610f16565b8061106961105f60019361306a565b90549060031b1c90565b61107b815f52600260205260405f2090565b546110ba611091835f52601560205260405f2090565b6110a3845f52600760205260405f2090565b54926110ad612f04565b9485526020850152613082565b604083015260608201526110ce828661311c565b526110d9818561311c565b500161103b565b6020906040516110ef81612d1c565b5f81525f83820152606060408201525f606082015282828701015201611030565b346104e2575f3660031901126104e2576020600454604051908152f35b346104e25760403660031901126104e2575f516020615e705f395f51905f52546004356024356001600160401b0361117d604085901c60ff1615611170565b1590565b946001600160401b031690565b1680159081611247575b600114908161123d575b159081611234575b50611225576111b491836111ab613130565b61121857614041565b6111ba57005b6111e460ff60401b195f516020615e705f395f51905f5254165f516020615e705f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b61122061315d565b614041565b63f92ee8a960e01b5f5260045ffd5b9050155f611199565b303b159150611191565b849150611187565b346104e25760203660031901126104e257602060043561126e81610e12565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b346104e25760203660031901126104e2576105346004355f604080516112cc81612d3c565b8281528260208201520152805f52600260205260405f205490805f52600760205260405f2054906040519261130084612d3c565b83526020830152604082015260405191829182919091604080606083019480518452602081015160208501520151910152565b346104e25760203660031901126104e25760043564ffffffffff8116908181036104e25761135f614057565b61137360115461136e816140a9565b614167565b6212750042018042116108d05782151580611406575b6113e857506113b87f455efa76af2a8686dc0dd3041bda89ece5ba4691277d525e2161003bbca8b24592600855565b6113c0614e0c565b6040805164ffffffffff90931683526001600160a01b03909116602083015281908101611213565b630111a46b60e21b5f5264ffffffffff90911660045260245260445ffd5b5080831115611389565b60203660031901126104e2576004356001600160401b0381116104e257806004019060c060031982360301126104e257611449306103fd565b339081036116675750600160ff61145f8461302b565b1603610ed25760248101356001600160a01b03165f818152600a6020526040902061001893610ecc93909260a492606483019061149b8261319b565b81546001600160401b0390811691168110156115ef5750611539826001926115036114e67fc69d3412489554fb7820c4c2784cb644b6c79bfc117444b93977d3d33a9b8eac9661319b565b825467ffffffffffffffff19166001600160401b03909116178255565b608487013593849101557f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d75783036115885761319b565b9261157d611545614e0c565b604080516001600160401b03909716875260208701949094526001600160a01b03908116938601939093529116929081906060820190565b0390a25b0190613035565b6115ea836115e46115bb6115b56115af8a60018060a01b03165f52600b60205260405f2090565b54612cc1565b60031690565b6001600160a01b0389165f908152600b60209081526040808320849055600c90915290206131a5565b906131b4565b61319b565b905061161b7f2eb8abf720d2b9cf9e357f7a24a2bee502a7bdba38de0de230e10c33dafbd3eb9261319b565b9261165f611627614e0c565b604080516001600160401b0397881681529490961660208501526001600160a01b039081169584019590955293169281906060820190565b0390a2611581565b610a78906001600160a01b0316610f04565b346104e25760203660031901126104e25760043561169681610e12565b61169e6131d1565b5060018060a01b03165f52600a60205260405f206001604051916116c183612d57565b6001600160401b038154168352015460208201526040518091610534826040810192602080916001600160401b0381511684520151910152565b346104e2575f3660031901126104e25760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346104e25760203660031901126104e2576004355f526007602052602060405f2054604051908152f35b346104e25760203660031901126104e2576004356001600160401b0381116104e257366023820112156104e25780600401356001600160401b0381116104e2573660248260051b840101116104e25760246100189201613253565b346104e2575f3660031901126104e25760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e25760203660031901126104e25760043561185581610e12565b5f606060405161186481612d1c565b828152826020820152826040820152015260018060a01b03165f52600f60205261053460405f2060016040519161189a83612d1c565b63ffffffff815460ff81161515855260ff8160081c161515602086015260101c1660408401520154606082015260405191829182919091606080608083019480511515845260208101511515602085015263ffffffff60408201511660408501520151910152565b81516001600160401b031681526020808301516001600160c01b031690820152604080830151908201526060918201518051610480830194935f9084015b60208210611958575050506020610460910151910152565b6020806001928551815201930191019091611940565b346104e25760203660031901126104e25760043561198b81610e12565b6040519061199882612d1c565b5f82525f60208301525f60408301526040516119b381612d57565b6060610400936040516119c68682612d8d565b8536823783525f6020840152015260018060a01b03165f52600e60205260405f2090604051906119f582612d1c565b82546001600160401b038116835260401c60208301526001830154604083015260405190611a2282612d57565b60405190600285015f835b60208210611a63575050509381611a4961053496602294612d8d565b835201546020820152606082015260405191829182611902565b6001602081928554815201930191019091611a2d565b346104e25760203660031901126104e2576004356001600160401b0381116104e2578060040160a060031983360301126104e2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811633819003610ef857611afb6103fd611af3604487018661346b565b81019061294e565b611b096103fd6103fd612ef7565b6001600160a01b03821614801590611e08575b611df25750611b39611b31606486018561346b565b8101906134b8565b9060ff811680611d80575050611b5a8160208060849451830101910161382f565b940190611b67828561352b565b905060018111611d6e57611c635750604084015180611c4e57505b61eeee602085015114611bd9575b505050303b156104e2575f611bb9916040518093819263331e807b60e11b83526004830161395d565b038183305af18015610b0157611bcb57005b80610af55f61001893612d8d565b611bf89073d331f229eeeeb32e54b85fe4a0997627913fb9a59361352b565b9092803b156104e257611c24935f9360405195869485938493631446f65760e21b8552600485016138fb565b03915af48015610b0157611c3a575b8080611b90565b80610af55f611c4893612d8d565b5f611c33565b60016272c62f60e11b03195f5260045260245ffd5b611c76611c70838661352b565b906138dd565b90602086015161eeee81145f14611d5e575060206004916040519283809263e861e90760e01b82525afa908115610b01575f91611d2f575b506001600160a01b03165b611cc282612c77565b6001600160a01b03828116911603611d02575060200135604085015190818110611ced575050611b82565b635231144f60e11b5f5260045260245260445ffd5b611d0e610a7892612c77565b6346f21d7f60e01b5f526001600160a01b0390811660045216602452604490565b611d51915060203d602011611d57575b611d498183612d8d565b8101906138e6565b5f611cae565b503d611d3f565b6001600160a01b03169050611cb9565b6330b6751d60e01b5f5260045260245ffd5b919593509150600103611ddd5750906084611d9c92019061352b565b809150611d6e575080602080611db7935183010191016136cf565b303b156104e2575f611bb99160405180938192634ca0e69b60e01b83526004830161380b565b638664a67360e01b5f5260ff1660045260245ffd5b610a7890610f04906001600160a01b03166103fd565b50611e156024860161319b565b6001600160401b03807f00000000000000000000000000000000000000000000000000000000000000001691161415611b1c565b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e2575f3660031901126104e2576020604051620493e08152f35b346104e25760203660031901126104e2576020610b3b600435611ecc81610e12565b6139bb565b346104e25760a03660031901126104e257606435604435602435600435611ef784610e12565b60843592811561202d5782156120195760115460405163ea78803f60e01b8152600481018290526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b01575f91611ffa575b506001600160a01b0316908115611fe857506001600160a01b0386165f908152600f60205260409020611f979061116c905b5460ff1690565b611fcc576100189591611fbf84611fc693611fb0614057565b611fb8614e0c565b30916142bd565b82846143d2565b916144aa565b63027edf0360e11b5f526001600160a01b03861660045260245ffd5b6309794d0160e11b5f5260045260245ffd5b612013915060203d602011611d5757611d498183612d8d565b5f611f5e565b63b2fe07f160e01b5f52600483905260245ffd5b632bcf4c5760e21b5f5260045ffd5b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60203660031901126104e25760043561209881610e12565b6001600160a01b0381165f908152600f602052604090206120b890613415565b602081015161234d576001600160a01b0382165f908152600e60205260409020600181015490811580612327575b6122ca575050604051634211591560e01b8152916020836004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610b01575f936122a9575b5082341061229157826121506100189434612cea565b907f000000000000000000000000000000000000000000000000000000000000000061217b816145e3565b5f91906001600160a01b031680151580612288575b6121c9575b505015806121c0575b6121a9575b50614780565b6121ba906121b5614e0c565b6146e4565b5f6121a3565b5080151561219e565b61223b9160209185806121da614e0c565b936040519687958694859363fef4325760e01b855260048501916101209391835261eeee6020840152604083015260018060a01b031660608201525f608082015260e060a08201525f60e082015261010060c08201525f6101008201520190565b03925af1908161225b575b50612253575b5f80612195565b50600161224c565b61227c9060203d602011612281575b6122748183612d8d565b810190613a29565b612246565b503d61226a565b50831515612190565b630ee99a4760e01b5f5234600452602483905260445ffd5b6122c391935060203d602011612281576122748183612d8d565b915f61213a565b612323816122df602287940154915460401c90565b60405163096c1e2160e21b81526001600160a01b039094166004850152602484019490945260448301526001600160c01b0390921660648201529081906084820190565b0390fd5b50602281015461234761233b835460401c90565b6001600160c01b031690565b146120e6565b6304bba81f60e41b5f526001600160a01b03821660045260245ffd5b346104e25760203660031901126104e25760043561238681610e12565b60018060a01b03165f52600f6020526020600160405f2001541515604051908152f35b600411156123b357565b634e487b7160e01b5f52602160045260245ffd5b346104e2575f3660031901126104e2576123df613a38565b60405160048210156123b3576020918152f35b5f3660031901126104e257612405614057565b6124ce61241d600160125401806012554260801b1790565b60115460405163f1d0f27760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101919091527f000000000000000000000000000000000000000000000000000000000000000060648201526001608482015260a48101829052915f908390819060c4820190565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b0157610018925f92612544575b507f77bd1556265e71d247f11bb5886efda7fd5e5b21e6a4d2c871e8e6b49ac92f3d90612524614e0c565b604080519283526001600160a01b0391909116602083015290a134614911565b7f77bd1556265e71d247f11bb5886efda7fd5e5b21e6a4d2c871e8e6b49ac92f3d919250612583903d805f833e61257b8183612d8d565b8101906136cf565b91906124f9565b6104c09060031901126104e257600490565b346104e2576125aa3661258a565b80359060608101356125bb83610e12565b608082013560408301359260a0810135602082013560c0830164010000000082101561276c576001600160a01b0388165f908152600960209081526040808320600886901c8452909152902054600160ff84161b1661274b57918661273e836126ea86828d6126e56100189f9a838f8f6127469f9e8d917fa8d6760b4e1a89f513fc87990f66d051c419d735fb8191104014e0529d9ae2d39f936126938f93956126786126b19760018060a01b03165f52600960205260405f2090565b8160081c5f52602052600160ff60405f2092161b8154179055565b91608093916040519384526020840152604083015260608201522090565b84816126df846126d2839960018060a01b03165f52600160205260405f2090565b905f5260205260405f2090565b55615749565b61583b565b6126f386612c77565b936126fc614e0c565b604080519586526001600160a01b03968716602087015285018b9052606085018a9052608085019290925260a084015290921660c082015290819060e0820190565b0390a1612c77565b614985565b632939af3b60e21b5f526001600160a01b038816600452602482905260445ffd5b506309f6605160e41b5f5260045260245ffd5b346104e2575f3660031901126104e2576020600354604051908152f35b346104e2575f3660031901126104e2575f546040516001600160a01b039091168152602090f35b346104e2576100186127d43661258a565b60608101356127e282612c77565b9161274660808201359161280d60408201359560a0830135602084013590888760c08701948a614ac0565b600161281b61046b83612c77565b01612827848254612cea565b90556001600160a01b03851661283c82612c77565b7fe33107c4043e574d8a4da32dac235e219f8f34a0e45e473ea6643a6145f25285612898612868614e0c565b60408051898152602081018b90526001600160a01b03928316918101919091529381169416929081906060820190565b0390a3612c77565b346104e25760203660031901126104e2576004356128bd81610e12565b60018060a01b03165f526006602052602060405f2054604051908152f35b801515036104e257565b346104e25760203660031901126104e25761290a600435612905816128db565b613adf565b6040518091602082016020835281518091526020604084019201905f5b818110612935575050500390f35b8251845285945060209384019390920191600101612927565b908160209103126104e2573561296381610e12565b90565b346104e25760203660031901126104e25760043561298381610e12565b6001600160a01b038116908115612a565761299c614e0c565b6001600160a01b0381165f81815260066020526040902054909290918215612a3b576001600160a01b03165f9081526006602052604081207ffbcfe54e4aa35e7772f25a5f52fedccde889e4fc5031ad9826b9bf6b890baa599392612a1792849255612a12612a0d83600454612cea565b600455565b613f34565b612a1f614e0c565b604080519283526001600160a01b0391909116602083015290a3005b631733ad2160e21b5f526001600160a01b031660045260245ffd5b63b2fe07f160e01b5f525f60045260245ffd5b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e25760203660031901126104e257600435612aca81610e12565b60018060a01b03165f526005602052602060405f2054604051908152f35b346104e25760203660031901126104e257600435612b0581610e12565b6001600160a01b038116908115612a5657612b1e614e0c565b6001600160a01b0381165f81815260056020526040902054909290918215612b94576001600160a01b03165f9081526005602052604081207f1e70ff8443e61b2a2555b5ad56645461a75dd29591b5c4a6281f70a6d395db459392612a1792849255612a12612b8f83600354612cea565b600355565b63578a51dd60e11b5f526001600160a01b031660045260245ffd5b346104e25760203660031901126104e2575f516020615e705f395f51905f52546004356001600160401b03612bf3604084901c60ff1615936001600160401b031690565b1680159081612c46575b6001149081612c3c575b159081612c33575b50611225576111b49082612c21613130565b1561401157612c2e61315d565b614011565b9050155f612c0f565b303b159150612c07565b839150612bfd565b634e487b7160e01b5f52603260045260245ffd5b9190811015612c72576060020190565b612c4e565b3561296381610e12565b634e487b7160e01b5f52601160045260245ffd5b5f1981146108d05760010190565b8115612cad570490565b634e487b7160e01b5f52601260045260245ffd5b90600182018092116108d057565b919082018092116108d057565b5f198101919082116108d057565b919082039182116108d057565b9190811015612c72576104c0020190565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117612d3757604052565b612d08565b606081019081106001600160401b03821117612d3757604052565b604081019081106001600160401b03821117612d3757604052565b60a081019081106001600160401b03821117612d3757604052565b90601f801991011681019081106001600160401b03821117612d3757604052565b6104009092919260c0806104c08301958035612dc981610e12565b60018060a01b031684526020810135602085015260408101356040850152606081013560608501526080810135608085015260a081013560a085015201910137565b6040513d5f823e3d90fd5b5f5b828110612e2457505050565b612e2f818484612cf7565b90303b156104e257612e585f600193604051809381926365d956e760e11b835260048301612dae565b038183305af19081612ee3575b50612ede57612e78610466828686612cf7565b7fc1054f794d197971822697afa7ff4777cac6fb7a512e4bfec63aebaab98187b66020612ea6848888612cf7565b013591612eb1614e0c565b604080519485526001600160a01b0391909116602085015260a086901b8690039190911692a25b01612e18565b612ed8565b80610af55f612ef193612d8d565b5f612e65565b6013548061296357503090565b60405190612f13608083612d8d565b565b6001600160401b038111612d375760051b60200190565b63ffffffff8116036104e257565b60ff8116036104e257565b6001600160801b038116036104e257565b6020818303126104e2578051906001600160401b0382116104e2570181601f820112156104e257805190612f8982612f15565b92612f976040519485612d8d565b82845260208085019360071b830101918183116104e257602001925b828410612fc1575050505090565b6080848303126104e2576020608091604051612fdc81612d1c565b8651612fe781612f2c565b815282870151612ff681612f3a565b83820152604087015161300881612f45565b6040820152606087015161301b81612f45565b6060820152815201930192612fb3565b3561296381612f3a565b903590601e19813603018212156104e257018035906001600160401b0382116104e257602001918160051b360383136104e257565b601454811015612c725760145f5260205f2001905f90565b90815461308e81612f15565b9261309c6040519485612d8d565b81845260208401905f5260205f205f915b8383106130ba5750505050565b600360206001926040516130cd81612d1c565b855481526001600160801b038587015460ff81168584015260081c1660408201526001600160801b0360028701541660608201528152019201920191906130ad565b805115612c725760200190565b8051821015612c725760209160051b010190565b60016001600160401b03195f516020615e705f395f51905f525416175f516020615e705f395f51905f5255565b600160401b60ff60401b195f516020615e705f395f51905f525416175f516020615e705f395f51905f5255565b6001600160401b038116036104e257565b356129638161318a565b6004821015612c725701905f90565b916131cd9183549060031b91821b915f19901b19161790565b9055565b604051906131de82612d57565b5f6020838281520152565b9190811015612c725760051b0190565b604080825281018390529293929160608301905f5b818110613229575050602091509360018060a01b0316910152565b9091602080600192863561323c81610e12565b848060a01b0316815201940191019291909261320e565b9190601154613261816140a9565b613269614e0c565b916001600160a01b03808416908316141580613380575b613349575050505f5b8181106132d057507f8021bce60b20a9afb57085869a3552e0ee5b272b868df894fb30c5e90e74c07291926132cb6132bf614e0c565b604051938493846131f9565b0390a1565b806132de60019284876131e9565b356132e881610e12565b828060a01b03165f52600f60205261330760405f2060ff198154169055565b61334361333461331b61046684878a6131e9565b6001600160a01b03165f908152600f6020526040902090565b805461ff001916610100179055565b01613289565b604051631326f75560e11b81526001600160a01b039283166004820152929091166024830152604482015260236064820152608490fd5b50604051631a45b42760e11b8152602081806133a3602386888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f916133e6575b5015613280565b613408915060203d60201161340e575b6134008183612d8d565b81019061411a565b5f6133df565b503d6133f6565b9060405161342281612d1c565b60606001829463ffffffff815460ff81161515865260ff8160081c161515602087015260101c1660408501520154910152565b604051906104006134668184612d8d565b368337565b903590601e19813603018212156104e257018035906001600160401b0382116104e2576020019181360383136104e257565b6001600160401b038111612d3757601f01601f191660200190565b91906040838203126104e25782356134cf81612f3a565b926020810135906001600160401b0382116104e2570181601f820112156104e2578035906134fc8261349d565b9261350a6040519485612d8d565b828452602083830101116104e257815f926020809301838601378301015290565b903590601e19813603018212156104e257018035906001600160401b0382116104e257602001918160061b360383136104e257565b81601f820112156104e25780519061357782612f15565b926135856040519485612d8d565b82845260208085019360051b830101918183116104e25760208101935b8385106135b157505050505090565b84516001600160401b0381116104e25782016080818503601f1901126104e257604051906135de82612d1c565b602081015182526040810151602083015260608101516001600160401b0381116104e25760209082010185601f820112156104e257805161361e81612f15565b9161362c6040519384612d8d565b81835260208084019260071b820101908882116104e257602001915b81831061366e5750505060408301526080015160608201528152602094850194016135a2565b6080838a03126104e257602060809160405161368981612d1c565b855181528286015161369a81612f3a565b8382015260408601516136ac81612f45565b604082015260608601516136bf81612f45565b6060820152815201920191613648565b6020818303126104e2578051906001600160401b0382116104e257016040818303126104e2576040519161370283612d57565b815161370d81612f3a565b835260208201516001600160401b0381116104e25761372c9201613560565b602082015290565b9080602083519182815201916020808360051b8301019401925f915b83831061375f57505050505090565b9091929394601f1982820301835285519060808101918051825260208101516020830152604081015192608060408401528351809152602060a084019401905f905b8082106137c7575050506060908101519101529460209081019493600101920190613750565b909194602060806001926001600160801b0360608a518051845260ff86820151168685015282604082015116604085015201511660608201520196019201906137a1565b606060206129639381845260ff815116828501520151916040808201520190613734565b6020818303126104e2578051906001600160401b0382116104e257018082039160c083126104e257604080519361386585612d72565b835161387081612f3a565b8552602084015160208601528184015182860152605f1901126104e25760405161389981612d57565b60608301516138a78161318a565b815260808301516020820152606084015260a08201516001600160401b0381116104e2576138d59201613560565b608082015290565b9015612c725790565b908160209103126104e2575161296381610e12565b6001600160a01b0390911681526040602082018190528101839052606001915f5b8181106139295750505090565b909192604080600192863561393d81610e12565b848060a01b0316815260208701356020820152019401910191909161391c565b60e06080612963936020845260ff815116602085015260208101516040850152604081015160608501526139ab606082015183860190602080916001600160401b0381511684520151910152565b01519160c0808201520190613734565b6139c53082614250565b9060018060a01b031690815f52600e602052600160405f20015481039081116108d05761eeee8192146139f6575090565b905060035480821115613a235781039081116108d05760045480821115613a235781039081116108d05790565b50505f90565b908160209103126104e2575190565b6008548015613a6b57621274ff1981018181116108d0574210613a65574210613a6057600390565b600290565b50600190565b505f90565b60405190613a7f602083612d8d565b5f808352366020840137565b60408051909190613a9c8382612d8d565b6001815291601f1901366020840137565b90613ab782612f15565b613ac46040519182612d8d565b8281528092613ad5601f1991612f15565b0190602036910137565b907f00000000000000000000000000000000000000000000000000000000000000008015159283613bbf575b15613b995782613b79575b6014548315613b7057613b30613b2b82612cc1565b613aad565b935f5b828110613b505750613b43575050565b613b4d908461311c565b52565b80613b5f61105f60019361306a565b613b69828961311c565b5201613b33565b613b3081613aad565b9150613b9361116c611f90845f52601060205260405f2090565b91613b16565b909115613bb657613ba8613a8b565b90613bb28261310f565b5290565b50612963613a70565b468214159350613b0b565b3561296381612f2c565b91905f92613be181612c77565b90604081013592613c056106bd8460018060a01b03165f52600f60205260405f2090565b93613c136020860151151590565b613f0457613c2083614cda565b601154613c2f6106ed826140a9565b803b156104e2576040516303827e8d60e01b81526001600160a01b03861660048201527f0000000000000000000000000000000000000000000000000000000000000000602482015260448101839052905f90829060649082905afa8015610b0157613ef0575b5060608501918251828115159182613ee5575b505080613edc575b80613eb9575b613e985781159081159687613e30575b8280613de2575b613d94575b505061080d602087969461085096946108329489612f139b90613d8a575b80613d7f575b80613d55575b613d3a575b15613d32575051935b84613d17575b01613bca565b613d2d866108eb875f52600d60205260405f2090565b613d11565b905093613d0b565b613d5061092c84515f52600d60205260405f2090565b613d02565b50613d6c61095884515f52600d60205260405f2090565b6001600160a01b03898116911614613cfd565b508183511415613cf7565b5082511515613cf1565b6108329299508694610850969461080d93613dd3602094613dcc6109b9612f139e9d60018060a01b03165f52600f60205260405f2090565b8983614780565b9b945094965094969750613cd3565b506001600160a01b0387165f908152600e60205260409020613e03906109f2565b6001600160a01b0388165f908152600e60205260409020602201546001600160c01b039091161415613cce565b613e45610958855f52600d60205260405f2090565b6001600160a01b0381168015159081613e84575b50613e645750613cc7565b63d6a305d960e01b5f5260048590526001600160a01b031660245260445ffd5b6001600160a01b038a16141590505f613e59565b825163aef430a360e01b5f526001600160a01b03861660045260245260445ffd5b506001600160a01b0385165f908152600e60205260409020602201541515613cb7565b50811515613cb1565b14159050825f613ca9565b80610af55f613efe93612d8d565b5f613c96565b6304bba81f60e41b5f526001600160a01b03841660045260245ffd5b60405190613f2f602083612d8d565b5f8252565b6001600160a01b03165f80808085855af13d15613f8b573d613f558161349d565b90613f636040519283612d8d565b81525f60203d92013e5b15613f76575050565b630590bd2d60e41b5f5260045260245260445ffd5b613f6d565b90915f5b8381101561400b578060051b830135607e19843603018112156104e2578301908135606083013592602081013590604081013590601e19813603018212156104e25701908135916001600160401b0383116104e257602001908260071b360382136104e25760019561400594614fe7565b01613f94565b50915050565b6011555f6013556001600160a01b03614028614e0c565b166bffffffffffffffffffffffff60a01b5f5416175f55565b6011556013556001600160a01b03614028614e0c565b61405f613a38565b60048110156123b35760038114801561408b575b61407a5750565b62a7958f60e81b5f5260045260245ffd5b50614095816123a9565b60028114614073565b5190612f1382610e12565b6040516331a9108f60e11b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614101575090565b612963915060203d602011611d5757611d498183612d8d565b908160209103126104e25751612963816128db565b6001600160a01b039182168152911660208201526040810191909152606081019190915260016080820181905260a082015260c00190565b61416f614e0c565b916001600160a01b038084169083161415806141cb575b61418f57505050565b604051631326f75560e11b81526001600160a01b0392831660048201529290911660248084019190915260448301919091526064820152608490fd5b50604051631a45b42760e11b8152602081806141ee602486888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614231575b5015614186565b61424a915060203d60201161340e576134008183612d8d565b5f61422a565b6001600160a01b03169061eeee82146142b7576040516370a0823160e01b81526001600160a01b03909116600482015290602090829060249082905afa908115610b01575f9161429e575090565b612963915060203d602011612281576122748183612d8d565b90503190565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af160015f511481161561432b575b6040919091525f606052156143105750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6001811516614341573d15833b151516166142fe565b503d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0391821681526020810192909252604082019290925291811660608301526080820192909252911660a082015260e060c082018190526129639291019061434a565b156143be57565b634e487b7160e01b5f52600160045260245ffd5b6011549193926143e76103fd80808887614678565b6001600160a01b038116156144895790602091865f6144063083614250565b95614432614412613f20565b6040516313da831760e01b8152998a97889687953093846004890161436e565b03925af1908115610b0157612f13925f92614464575b5061445e9061445983963090614250565b612cea565b146143b7565b61445e9192506144829060203d602011612281576122748183612d8d565b9190614448565b63b61c181f60e01b5f5260048490526001600160a01b03861660245260445ffd5b9193906001600160801b0385116145d0576001600160801b0383116145bd576144ee8285878691608093916040519384526020840152604083015260608201522090565b6001600160a01b0382165f908152600e602052604090209095909360028501936145188886615138565b60018601928354968188018098116108d0576145616022614567927fc92fa1150c24ee5470c272112539aab52450a5e05573e7ea7bdfb98829b893219a6145b898550154612cdc565b96615224565b92614570614e0c565b604080519b8c5260208c0198909852968a01939093526060890192909252608088019190915260a08701526001600160a01b0392831660c087015291169390819060e0820190565b0390a3565b826335bf001160e11b5f5260045260245ffd5b846335bf001160e11b5f5260045260245ffd5b604051630862026560e41b8152600481019190915261eeee60248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614643575090565b90506020813d602011614670575b8161465e60209383612d8d565b810103126104e2575161296381610e12565b3d9150614651565b604051630862026560e41b815260048101919091526001600160a01b039091166024820152602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614643575090565b60018060a01b031690815f52600560205260405f208054908282018092116108d05755600354908082018092116108d0577f2a3798c6648c17f70b43a33a8378cec543367ac1543e62aa7b3926605697177791600355614742614e0c565b604080519283526001600160a01b039091166020830152819081015b0390a2565b6001600160401b03166001600160401b0381146108d05760010190565b906060830151156148a157614793614057565b6001600160a01b0381165f908152600e6020526040902090602282015490811561489a57612f139460018401915f835493556148316147e16147dc87546001600160401b031690565b614763565b865467ffffffffffffffff19166001600160401b0382161787559461482c61480b60028901615224565b88546001600160401b0316604084901b67ffffffffffffffff191617909855565b612cdc565b9586867f47c5615513b0f669da2dd7e3362a34610ca2695d0a0e2da2160cee952eab203c614892614860614e0c565b604080519586526001600160401b038b1660208701526001600160a01b03918216908601528616939081906060820190565b0390a36152e8565b5050505050565b63027edf0360e11b5f9081526001600160a01b0391909116600452602490fd5b906040612963925f8152816020820152019061434a565b604051906148e7602083612d8d565b5f80835282815b8281106148fa57505050565b6020906149056131d1565b828285010152016148ee565b614969612f139261497761493e61494c61492e6020850151615429565b936040519283916020830161380b565b03601f198101835282612d8d565b60405193849160016020840152604080840152606083019061434a565b03601f198101845283612d8d565b61497f6148d8565b9261556d565b601154828193614a97575b5050604051632eec7b5560e11b8152600481018390529290506020836024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b0157614a41946020945f93614a76575b506040516363fdc96f60e11b8152600481019490945260248401919091526001600160a01b0316604483015260a060648301525f60a4830181905260848301819052919384928391829060c4820190565b03926001600160a01b03165af18015610b0157614a5b5750565b614a739060203d602011612281576122748183612d8d565b50565b5f919350614a9090863d8811611d5757611d498183612d8d565b92906149f0565b614aa0926158c3565b5f8181614990565b6001600160c01b039081165f1901919082116108d057565b92909695949391640100000000851015614cc657614adc613a38565b614ae5816123a9565b60038114159081614cb1575b5080614c82575b614c66576001600160a01b0388165f908152600e60205260409020614b1c906109f2565b6001600160c01b038116151590869082614c4e575b5050614c2d57604080516001600160a01b038a1660208201908152614b7d92614b779290614b62908290810161493e565b5190206bffffffffffffffffffffffff191690565b60601c90565b6001600160a01b0381165f90815260096020908152604080832060088a901c8452909152902054600160ff88161b16614c0c5790614be76002614be1612f139a9b61046b8a612678614c069a999860018060a01b03165f52600960205260405f2090565b01615224565b9491608093916040519384526020840152604083015260608201522090565b9061583b565b632939af3b60e21b5f526001600160a01b038916600452602486905260445ffd5b632939af3b60e21b5f526001600160a01b038816600452602485905260445ffd5b614c5d91925061233b90614aa8565b1015855f614b31565b6304bba81f60e41b5f526001600160a01b03881660045260245ffd5b506001600160a01b0388165f908152600f60205260409020614cac9061116c905460081c60ff1690565b614af8565b60029150614cbe816123a9565b14155f614af1565b6309f6605160e41b5f52600485905260245ffd5b60200135614ce781612f2c565b63ffffffff81169062030d408210614cfd575050565b614d0690612f2c565b630555d0f160e41b5f5260045262030d4060245260445ffd5b9091614e0857614d2d614e0c565b916001600160a01b03808416908316141580614d84575b614d4d57505050565b604051631326f75560e11b81526001600160a01b039283166004820152929091166024830152604482015260206064820152608490fd5b50604051631a45b42760e11b815260208180614da68386888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614de9575b5015614d44565b614e02915060203d60201161340e576134008183612d8d565b5f614de2565b5050565b601436101580614e33575b15614e2f5760131936013681116104e2573560601c90565b3390565b50337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614e17565b601454600160401b811015612d375760018101601455601454811015612c725760145f527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0155565b8054905f815581614ebd575050565b816003029160038304036108d0575f5260205f20908101905b818110614ee1575050565b6003905f81555f60018201555f600282015501614ed6565b9190811015612c725760071b0190565b8054821015612c72575f52600360205f20910201905f90565b3561296381612f45565b8054600160401b811015612d3757614f4991600182018155614f09565b614fd4576002614fb76060612f139480358555600185016020820135614f6e81612f3a565b815460ff70ffffffffffffffffffffffffffffffff006040860135614f9281612f45565b60081b1692169070ffffffffffffffffffffffffffffffffff19161717905501614f22565b9101906001600160801b03166001600160801b0319825416179055565b634e487b7160e01b5f525f60045260245ffd5b90919392934682148015615121575b61489a5761500c825f52600760205260405f2090565b5483111561489a576150839261502a835f52600760205260405f2090565b5561503d825f52600260205260405f2090565b5561505661116c611f90835f52601060205260405f2090565b6150f1575b615075615070825f52601560205260405f2090565b614eae565b5f52601560205260405f2090565b905f5b8181106150935750505050565b806150aa6150a46001938588614ef9565b85614f2c565b6150b5818487614ef9565b356150d1610958848060a01b03925f52600d60205260405f2090565b16806150df575b5001615086565b6150e98286614f09565b50555f6150d8565b615113615106825f52601060205260405f2090565b805460ff19166001179055565b61511c81614e65565b61505b565b508115614ff6565b6020821015612c725701905f90565b9160208301906151488254612c95565b92838355839463ffffffff948581116151c957505f95915b6020871061518157845463515447c160e01b5f52600452602486905260445ffd5b6001808416146151b65761519861105f8884615129565b5f5260205260016151ad60405f209360011c90565b96019591615160565b9350612f1394506115e492959150615129565b63515447c160e01b5f52600452602485905260445ffd5b906020811015612c725760051b0190565b61042081019392915f825b6020821061520e575050506104000152565b60208060019285518152019301910190916151fc565b60208101549081156152c257615238613455565b905f5b60208110615292575050604051634a490c2560e01b815291602091839182916152689190600484016151f1565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b01575f9161429e575090565b80600180921b85166152a5575b0161523b565b6152b261105f8285615129565b6152bc82866151e0565b5261529f565b50507f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d75790565b949091939550615303600160125401806012554260801b1790565b6011546060860151604051634cba057b60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101929092527f00000000000000000000000000000000000000000000000000000000000000006064830152608482015260a481018590526001600160401b039790971660c488015260e487019190915260016101048701526101248601525f8561014481730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4938415610b0157612f13955f95615405575b50615b6f565b6154229195503d805f833e61541a8183612d8d565b81019061382f565b935f6153ff565b5f9080515f915b81831061546357505050620124f8810290808204620124f814901517156108d057620493e00180620493e0116108d05790565b9091926040615472858461311c565b5101515181018091116108d057926001019190615430565b91908260409103126104e257602082516154a3816128db565b92015190565b6001600160a01b0391821681526001600160401b039092166020830152918216604082015260608101929092529182166080820152911660a082015260c081019190915261014060e0820181905290949392916155089186019061434a565b848103610100860152602080835192838152019201905f5b818110615542575050506001600160a01b039091166101209390930192909252565b825180516001600160a01b031685526020908101518186015260409094019390920191600101615520565b92909192615579614e0c565b9283826157205750604051632f8eeb3d60e01b8152466004820152602081602481738f1a249e79030d4fac2102aa33e36e6676e048e45af4908115610b01576040946156449287925f91615701575b50975b6155d66103fd612ef7565b946001600160a01b038a16156156fb57835b8851630d6aca6560e31b81529a8b9889987f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060048c016154a9565b038173d331f229eeeeb32e54b85fe4a0997627913fb9a55af4918215610b01575f905f936156c7575b50615676575050565b61475e816156a5847f49a226512c7c6d0448c9d048f6243d67cab6c593596a82f21224aa748d1c5d5e94615cb8565b604080519485526001600160a01b039091166020850181905293918291820190565b90506156ec91925060403d6040116156f4575b6156e48183612d8d565b81019061548a565b91905f61566d565b503d6156da565b5f6155e8565b61571a915060203d602011611d5757611d498183612d8d565b5f6155c8565b615644906040945f976155cb565b61040061042092959493610440830196835260208301370152565b9092602090600161576a8460018060a01b03165f52600a60205260405f2090565b01549461578b60405195869384936307fbe4d560e41b85526004850161572e565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4918215610b01575f9261581a575b50828214615815576001600160a01b03165f908152600c60205260409020905f5b600481106157e15750505090565b6157ee61105f82856131a5565b8015158061580c575b61580457506001016157d3565b935050505090565b508083146157f7565b505090565b61583491925060203d602011612281576122748183612d8d565b905f6157b2565b9260209161585d60405194859384936307fbe4d560e41b85526004850161572e565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b01575f916158a4575b50818103615890575050565b6272c3e960e11b5f5260045260245260445ffd5b6158bd915060203d602011612281576122748183612d8d565b5f615884565b906158cd826139bb565b808211615aa657506158e26103fd8385614678565b906001600160a01b03821615615a85576001600160a01b038316935f9261eeee8614801592908590615a7d57506040516370a0823160e01b81523060048201526020816024818b5afa908115610b01575f91615a5e575b509461594685848a615d16565b823b156104e257604051639e6eec0560e01b815260048101929092526001600160a01b0387166024830152604482018590525f6064830181905260c0608484015260c4830181905260e060a484015260e4830181905291928391610104918391905af18015610b0157615a4a575b506159c0575b50505050565b6159c991612cea565b6040516370a0823160e01b815230600482015292909190602090849060249082905afa928315610b01575f93615a29575b50818303615a0857806159ba565b63884aa24960e01b5f526001600160a01b031660045260245260445260645ffd5b615a4391935060203d602011612281576122748183612d8d565b915f6159fa565b80610af55f615a5893612d8d565b5f6159b4565b615a77915060203d602011612281576122748183612d8d565b5f615939565b945083615946565b63b61c181f60e01b5f5260048490526001600160a01b03831660245260445ffd5b6360ec3e7160e01b5f5260049190915260245260445ffd5b91906040838203126104e25782516001600160401b0381116104e257830181601f820112156104e257805190615af382612f15565b92615b016040519485612d8d565b82845260208085019360061b830101918183116104e257602001925b828410615b355750505050602061296391930161409e565b6040848303126104e25760206040918251615b4f81612d57565b8651615b5a81610e12565b81528287015183820152815201930192615b1d565b91939293615b806080850151615429565b948115615c965790615bad615c0796610434615ba460405f96015163ffffffff1690565b63ffffffff1690565b60405163111504cd60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152909416602485015260448401919091529194859081906064820190565b038173d331f229eeeeb32e54b85fe4a0997627913fb9a55af4918215610b0157615c6e61493e615c51615c6095612f13985f91615c73575b50965b6040519283916020830161395d565b604051948591602083016148c1565b03601f198101855284612d8d565b61556d565b615c8f91503d805f833e615c878183612d8d565b810190615abe565b505f615c3f565b505050612f1392615c6091615c6e61493e615c51615cb26148d8565b96615c42565b60018060a01b031690815f52600660205260405f208054908282018092116108d05755600454908082018092116108d0577feabe38586436d533b7eadb14fb6c3fd63dbb07d41e234f29313b28bf067a891f91600455614742614e0c565b60405163095ea7b360e01b5f9081526001600160a01b03841660045260248590529193929160209060448180885af19060015f5114821615615dc0575b60405215615d6057505050565b615d6a8184615dcf565b15615da25790615d7a9183615e34565b15615d825750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b90843b15153d15161690615d53565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f5114841615615e12575b50604052565b60018492941516615e2b573b15153d151616915f615e0c565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615615e12575060405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a164736f6c634300081c000af0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
|
|
2460
|
+
"deployedBytecode": "0x6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063014dc2a61461037057806301ffc9a71461036b57806303da64a814610366578063056965111461036157806306433b1b1461035c5780630ce92d4b1461035757806311cda415146103525780631d831d5c1461034d57806322c9cc0f14610348578063293c4999146103435780633a5de07d1461033e5780633bef5ad5146103395780633f827a5a146103345780633fafa1271461032f5780634035d3b11461032a5780634ca0e69b146103255780634e415ad6146103205780634f0677e11461031b5780635417694914610316578063572b6c05146103115780635de4e83a1461030c5780636284386a14610307578063663d00f6146103025780636d9e384b146102fd5780636f4115a9146102f857806373cbdfc6146102f357806375451559146102ee5780637d1d0c5b146102a85780637da0a877146102e95780637de6fba2146102e4578063802c8fa0146102df57806385572ffb146102da57806388bc2ef3146102d557806392ee1ea7146102d05780639e6d7d43146102cb578063af629bbb146102c6578063b0f479a114610271578063b71c1179146102c1578063bf557aee146102bc578063c19d93fb146102b7578063c1ca1ec7146102b2578063cbb2adce146102ad578063cdfceeba146102a8578063cf26bafb146102a3578063d5f394881461029e578063d935222f14610299578063eac1f29e14610294578063f13465431461028f578063f3aefd7b1461028a578063f434c91414610285578063f925558c14610280578063fc072f231461027b578063fe4b84df146102765763fe5f42ca0361000e575b61203c565b612baf565b612ae8565b612aad565b612a69565b612966565b6128e5565b6128a0565b6127c3565b61279c565b61277f565b6117ba565b61259c565b6123f2565b6123c7565b612369565b612080565b611ed1565b611eaa565b611e8d565b611e49565b611a79565b61196e565b611838565b6117f4565b61175f565b611735565b6116fb565b611679565b611410565b611333565b6112a7565b61124f565b61112d565b611110565b610ff4565b610e6c565b610e23565b610df5565b610dda565b610db0565b610d93565b610d4f565b610c01565b610b43565b610b21565b610680565b61063c565b6105f9565b610593565b6104e6565b60203660031901126104e2576004356001600160401b0381116104e257366023820112156104e2578060040135906001600160401b0382116104e257602481019060243691606085020101116104e2575f5f5b83811061045557508061044457505f91905b5f925f925b80841061041657848034116103eb57005b610018906104106104096103fd614e0c565b6001600160a01b031690565b9134612cea565b90613f34565b9091929361043a6001916104348561042f89878a612c62565b613bd4565b90612ccf565b94019291906103da565b61044e9034612ca3565b91906103d5565b61048461046b610466838787612c62565b612c77565b6001600160a01b03165f908152600e6020526040902090565b6040610491838787612c62565b01351590816104bd575b506104a9575b6001016103c3565b906104b5600191612c95565b9190506104a1565b905060226104cc825460401c90565b9101546001600160c01b0390911614155f61049b565b5f80fd5b346104e25760203660031901126104e25760043563ffffffff60e01b81168091036104e257610534906385572ffb60e01b8114908115610538575b5060405190151581529081906020820190565b0390f35b6314a66dd360e21b811491508115610582575b8115610571575b8115610560575b505f610521565b6301ffc9a760e01b1490505f610559565b633d0d324560e21b81149150610552565b6332af4eb960e21b8114915061054b565b346104e25760203660031901126104e2576004356001600160401b0381116104e257366023820112156104e25780600401356001600160401b0381116104e2573660246104c08302840101116104e25760246100189201612e16565b5f9103126104e257565b346104e2575f3660031901126104e25760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60603660031901126104e2575f6106976004612c77565b6001600160a01b0381165f908152600f602052604090206044359291906106c290613415565b613415565b906106d06020830151151590565b610b06576106de6004614cda565b60115461072b6106ed826140a9565b6106f5614e0c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116949116841491614d1f565b803b156104e2576040516303827e8d60e01b81526001600160a01b03831660048201527f0000000000000000000000000000000000000000000000000000000000000000602482015260448101869052905f90829060649082905afa8015610b0157610ae7575b50606082018051858115159182610adc575b505080610ad3575b80610ab0575b610a8f5784159485159384610a26575b86806109d5575b61098d575b509061085092916108a395968580610983575b80610978575b80610941575b610916575b1561090f5750515b806108d5575b61083261080d6024613bca565b61081f610818612f04565b9615158752565b5f602087015263ffffffff166040860152565b60608401526001600160a01b03165f908152600f6020526040902090565b815181546020840151604085015165ffffffffffff1990921660ff931515939093169290921791151560081b61ff00169190911760109190911b65ffffffff000016178155606090910151600190910155565b8034116108ac57005b6001600160a01b036108bc614e0c565b169034033481116108d05761001891613f34565b612c81565b61090a826108eb835f52600d60205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b610800565b90506107fa565b61093c61092c84515f52600d60205260405f2090565b80546001600160a01b0319169055565b6107f2565b5061096561095884515f52600d60205260405f2090565b546001600160a01b031690565b6001600160a01b038581169116146107ed565b5081835114156107e7565b50825115156107e1565b6001600160a01b0384165f908152600f602052604090206108a39650610850949392916109ca916109c3905b805460ff19169055565b8434614780565b3495509091926107ce565b506001600160a01b0384165f908152600e602052604090206109f9905b5460401c90565b6001600160a01b0385165f908152600e60205260409020602201546001600160c01b0390911614156107c9565b610a3b610958835f52600d60205260405f2090565b6001600160a01b0381168015159081610a7b575b50610a5a57506107c2565b63d6a305d960e01b5f5260048390526001600160a01b031660245260445b5ffd5b6001600160a01b038716141590505f610a4f565b5163aef430a360e01b5f526001600160a01b0390911660045260245260445ffd5b506001600160a01b0382165f908152600e602052604090206022015415156107b2565b508415156107ac565b14159050855f6107a4565b80610af55f610afb93612d8d565b806105ef565b5f610792565b612e0b565b6304bba81f60e41b5f526001600160a01b031660045260245ffd5b346104e2575f3660031901126104e2576020610b3b612ef7565b604051908152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b92919060408401906040855280518092526020606086019101915f5b818110610bb557505060209150930152565b9091602060806001926001600160801b036060885163ffffffff815116845260ff8682015116868501528260408201511660408501520151166060820152019401910192919092610ba3565b346104e25760203660031901126104e25760043560115490805f52601560205260405f2091604051928391633a37eccb60e01b8352606483019060018060a01b037f0000000000000000000000000000000000000000000000000000000000000000166004850152602484015260606044840152815480915260848301915f5260205f20905f5b818110610d095750505090805f920381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4918215610b01575f92610ce1575b50610cd0905f52600760205260405f2090565b549061053460405192839283610b87565b610cd0919250610d02903d805f833e610cfa8183612d8d565b810190612f56565b9190610cbd565b8254845260018084015460ff8116602087015260081c6001600160801b039081166040870152600285015416606086015287955060809094019360039093019201610c88565b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e2575f3660031901126104e257602060405162030d408152f35b346104e25760203660031901126104e2576004355f526002602052602060405f2054604051908152f35b346104e2575f3660031901126104e257602060405160018152f35b346104e2575f3660031901126104e2576020601154604051908152f35b6001600160a01b038116036104e257565b346104e25760403660031901126104e257600435610e4081610e12565b6024359060018060a01b03165f52600160205260405f20905f52602052602060405f2054604051908152f35b346104e25760203660031901126104e2576004356001600160401b0381116104e2578060040190604060031982360301126104e257303303610ef857600160ff610eb58461302b565b1603610ed257610018916024610ecc920190613035565b90613f90565b610a78610ede8361302b565b63e667c12560e01b5f5260ff166004526001602452604490565b610a78610f04336103fd565b63f957028d60e01b5f52600452602490565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610f4857505050505090565b9091929394603f1982820301835285519060808101918051825260208101516020830152604081015192608060408401528351809152602060a084019401905f905b808210610fb0575050506060908101519101529460209081019493600101920190610f39565b909194602060806001926001600160801b0360608a518051845260ff8682015116868501528260408201511660408501520151166060820152019601920190610f8a565b346104e2575f3660031901126104e25760145461101081612f15565b9061101e6040519283612d8d565b808252601f1961102d82612f15565b015f5b8181106110e05750505f5b81811061105057604051806105348582610f16565b8061106961105f60019361306a565b90549060031b1c90565b61107b815f52600260205260405f2090565b546110ba611091835f52601560205260405f2090565b6110a3845f52600760205260405f2090565b54926110ad612f04565b9485526020850152613082565b604083015260608201526110ce828661311c565b526110d9818561311c565b500161103b565b6020906040516110ef81612d1c565b5f81525f83820152606060408201525f606082015282828701015201611030565b346104e2575f3660031901126104e2576020600454604051908152f35b346104e25760403660031901126104e2575f516020615e705f395f51905f52546004356024356001600160401b0361117d604085901c60ff1615611170565b1590565b946001600160401b031690565b1680159081611247575b600114908161123d575b159081611234575b50611225576111b491836111ab613130565b61121857614041565b6111ba57005b6111e460ff60401b195f516020615e705f395f51905f5254165f516020615e705f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b61122061315d565b614041565b63f92ee8a960e01b5f5260045ffd5b9050155f611199565b303b159150611191565b849150611187565b346104e25760203660031901126104e257602060043561126e81610e12565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b346104e25760203660031901126104e2576105346004355f604080516112cc81612d3c565b8281528260208201520152805f52600260205260405f205490805f52600760205260405f2054906040519261130084612d3c565b83526020830152604082015260405191829182919091604080606083019480518452602081015160208501520151910152565b346104e25760203660031901126104e25760043564ffffffffff8116908181036104e25761135f614057565b61137360115461136e816140a9565b614167565b6212750042018042116108d05782151580611406575b6113e857506113b87f455efa76af2a8686dc0dd3041bda89ece5ba4691277d525e2161003bbca8b24592600855565b6113c0614e0c565b6040805164ffffffffff90931683526001600160a01b03909116602083015281908101611213565b630111a46b60e21b5f5264ffffffffff90911660045260245260445ffd5b5080831115611389565b60203660031901126104e2576004356001600160401b0381116104e257806004019060c060031982360301126104e257611449306103fd565b339081036116675750600160ff61145f8461302b565b1603610ed25760248101356001600160a01b03165f818152600a6020526040902061001893610ecc93909260a492606483019061149b8261319b565b81546001600160401b0390811691168110156115ef5750611539826001926115036114e67fc69d3412489554fb7820c4c2784cb644b6c79bfc117444b93977d3d33a9b8eac9661319b565b825467ffffffffffffffff19166001600160401b03909116178255565b608487013593849101557f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d75783036115885761319b565b9261157d611545614e0c565b604080516001600160401b03909716875260208701949094526001600160a01b03908116938601939093529116929081906060820190565b0390a25b0190613035565b6115ea836115e46115bb6115b56115af8a60018060a01b03165f52600b60205260405f2090565b54612cc1565b60031690565b6001600160a01b0389165f908152600b60209081526040808320849055600c90915290206131a5565b906131b4565b61319b565b905061161b7f2eb8abf720d2b9cf9e357f7a24a2bee502a7bdba38de0de230e10c33dafbd3eb9261319b565b9261165f611627614e0c565b604080516001600160401b0397881681529490961660208501526001600160a01b039081169584019590955293169281906060820190565b0390a2611581565b610a78906001600160a01b0316610f04565b346104e25760203660031901126104e25760043561169681610e12565b61169e6131d1565b5060018060a01b03165f52600a60205260405f206001604051916116c183612d57565b6001600160401b038154168352015460208201526040518091610534826040810192602080916001600160401b0381511684520151910152565b346104e2575f3660031901126104e25760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346104e25760203660031901126104e2576004355f526007602052602060405f2054604051908152f35b346104e25760203660031901126104e2576004356001600160401b0381116104e257366023820112156104e25780600401356001600160401b0381116104e2573660248260051b840101116104e25760246100189201613253565b346104e2575f3660031901126104e25760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e25760203660031901126104e25760043561185581610e12565b5f606060405161186481612d1c565b828152826020820152826040820152015260018060a01b03165f52600f60205261053460405f2060016040519161189a83612d1c565b63ffffffff815460ff81161515855260ff8160081c161515602086015260101c1660408401520154606082015260405191829182919091606080608083019480511515845260208101511515602085015263ffffffff60408201511660408501520151910152565b81516001600160401b031681526020808301516001600160c01b031690820152604080830151908201526060918201518051610480830194935f9084015b60208210611958575050506020610460910151910152565b6020806001928551815201930191019091611940565b346104e25760203660031901126104e25760043561198b81610e12565b6040519061199882612d1c565b5f82525f60208301525f60408301526040516119b381612d57565b6060610400936040516119c68682612d8d565b8536823783525f6020840152015260018060a01b03165f52600e60205260405f2090604051906119f582612d1c565b82546001600160401b038116835260401c60208301526001830154604083015260405190611a2282612d57565b60405190600285015f835b60208210611a63575050509381611a4961053496602294612d8d565b835201546020820152606082015260405191829182611902565b6001602081928554815201930191019091611a2d565b346104e25760203660031901126104e2576004356001600160401b0381116104e2578060040160a060031983360301126104e2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811633819003610ef857611afb6103fd611af3604487018661346b565b81019061294e565b611b096103fd6103fd612ef7565b6001600160a01b03821614801590611e08575b611df25750611b39611b31606486018561346b565b8101906134b8565b9060ff811680611d80575050611b5a8160208060849451830101910161382f565b940190611b67828561352b565b905060018111611d6e57611c635750604084015180611c4e57505b61eeee602085015114611bd9575b505050303b156104e2575f611bb9916040518093819263331e807b60e11b83526004830161395d565b038183305af18015610b0157611bcb57005b80610af55f61001893612d8d565b611bf89073d331f229eeeeb32e54b85fe4a0997627913fb9a59361352b565b9092803b156104e257611c24935f9360405195869485938493631446f65760e21b8552600485016138fb565b03915af48015610b0157611c3a575b8080611b90565b80610af55f611c4893612d8d565b5f611c33565b60016272c62f60e11b03195f5260045260245ffd5b611c76611c70838661352b565b906138dd565b90602086015161eeee81145f14611d5e575060206004916040519283809263e861e90760e01b82525afa908115610b01575f91611d2f575b506001600160a01b03165b611cc282612c77565b6001600160a01b03828116911603611d02575060200135604085015190818110611ced575050611b82565b635231144f60e11b5f5260045260245260445ffd5b611d0e610a7892612c77565b6346f21d7f60e01b5f526001600160a01b0390811660045216602452604490565b611d51915060203d602011611d57575b611d498183612d8d565b8101906138e6565b5f611cae565b503d611d3f565b6001600160a01b03169050611cb9565b6330b6751d60e01b5f5260045260245ffd5b919593509150600103611ddd5750906084611d9c92019061352b565b809150611d6e575080602080611db7935183010191016136cf565b303b156104e2575f611bb99160405180938192634ca0e69b60e01b83526004830161380b565b638664a67360e01b5f5260ff1660045260245ffd5b610a7890610f04906001600160a01b03166103fd565b50611e156024860161319b565b6001600160401b03807f00000000000000000000000000000000000000000000000000000000000000001691161415611b1c565b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e2575f3660031901126104e2576020604051620493e08152f35b346104e25760203660031901126104e2576020610b3b600435611ecc81610e12565b6139bb565b346104e25760a03660031901126104e257606435604435602435600435611ef784610e12565b60843592811561202d5782156120195760115460405163ea78803f60e01b8152600481018290526020816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b01575f91611ffa575b506001600160a01b0316908115611fe857506001600160a01b0386165f908152600f60205260409020611f979061116c905b5460ff1690565b611fcc576100189591611fbf84611fc693611fb0614057565b611fb8614e0c565b30916142bd565b82846143d2565b916144aa565b63027edf0360e11b5f526001600160a01b03861660045260245ffd5b6309794d0160e11b5f5260045260245ffd5b612013915060203d602011611d5757611d498183612d8d565b5f611f5e565b63b2fe07f160e01b5f52600483905260245ffd5b632bcf4c5760e21b5f5260045ffd5b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60203660031901126104e25760043561209881610e12565b6001600160a01b0381165f908152600f602052604090206120b890613415565b602081015161234d576001600160a01b0382165f908152600e60205260409020600181015490811580612327575b6122ca575050604051634211591560e01b8152916020836004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa928315610b01575f936122a9575b5082341061229157826121506100189434612cea565b907f000000000000000000000000000000000000000000000000000000000000000061217b816145e3565b5f91906001600160a01b031680151580612288575b6121c9575b505015806121c0575b6121a9575b50614780565b6121ba906121b5614e0c565b6146e4565b5f6121a3565b5080151561219e565b61223b9160209185806121da614e0c565b936040519687958694859363fef4325760e01b855260048501916101209391835261eeee6020840152604083015260018060a01b031660608201525f608082015260e060a08201525f60e082015261010060c08201525f6101008201520190565b03925af1908161225b575b50612253575b5f80612195565b50600161224c565b61227c9060203d602011612281575b6122748183612d8d565b810190613a29565b612246565b503d61226a565b50831515612190565b630ee99a4760e01b5f5234600452602483905260445ffd5b6122c391935060203d602011612281576122748183612d8d565b915f61213a565b612323816122df602287940154915460401c90565b60405163096c1e2160e21b81526001600160a01b039094166004850152602484019490945260448301526001600160c01b0390921660648201529081906084820190565b0390fd5b50602281015461234761233b835460401c90565b6001600160c01b031690565b146120e6565b6304bba81f60e41b5f526001600160a01b03821660045260245ffd5b346104e25760203660031901126104e25760043561238681610e12565b60018060a01b03165f52600f6020526020600160405f2001541515604051908152f35b600411156123b357565b634e487b7160e01b5f52602160045260245ffd5b346104e2575f3660031901126104e2576123df613a38565b60405160048210156123b3576020918152f35b5f3660031901126104e257612405614057565b6124ce61241d600160125401806012554260801b1790565b60115460405163f1d0f27760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101919091527f000000000000000000000000000000000000000000000000000000000000000060648201526001608482015260a48101829052915f908390819060c4820190565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b0157610018925f92612544575b507f77bd1556265e71d247f11bb5886efda7fd5e5b21e6a4d2c871e8e6b49ac92f3d90612524614e0c565b604080519283526001600160a01b0391909116602083015290a134614911565b7f77bd1556265e71d247f11bb5886efda7fd5e5b21e6a4d2c871e8e6b49ac92f3d919250612583903d805f833e61257b8183612d8d565b8101906136cf565b91906124f9565b6104c09060031901126104e257600490565b346104e2576125aa3661258a565b80359060608101356125bb83610e12565b608082013560408301359260a0810135602082013560c0830164010000000082101561276c576001600160a01b0388165f908152600960209081526040808320600886901c8452909152902054600160ff84161b1661274b57918661273e836126ea86828d6126e56100189f9a838f8f6127469f9e8d917fa8d6760b4e1a89f513fc87990f66d051c419d735fb8191104014e0529d9ae2d39f936126938f93956126786126b19760018060a01b03165f52600960205260405f2090565b8160081c5f52602052600160ff60405f2092161b8154179055565b91608093916040519384526020840152604083015260608201522090565b84816126df846126d2839960018060a01b03165f52600160205260405f2090565b905f5260205260405f2090565b55615749565b61583b565b6126f386612c77565b936126fc614e0c565b604080519586526001600160a01b03968716602087015285018b9052606085018a9052608085019290925260a084015290921660c082015290819060e0820190565b0390a1612c77565b614985565b632939af3b60e21b5f526001600160a01b038816600452602482905260445ffd5b506309f6605160e41b5f5260045260245ffd5b346104e2575f3660031901126104e2576020600354604051908152f35b346104e2575f3660031901126104e2575f546040516001600160a01b039091168152602090f35b346104e2576100186127d43661258a565b60608101356127e282612c77565b9161274660808201359161280d60408201359560a0830135602084013590888760c08701948a614ac0565b600161281b61046b83612c77565b01612827848254612cea565b90556001600160a01b03851661283c82612c77565b7fe33107c4043e574d8a4da32dac235e219f8f34a0e45e473ea6643a6145f25285612898612868614e0c565b60408051898152602081018b90526001600160a01b03928316918101919091529381169416929081906060820190565b0390a3612c77565b346104e25760203660031901126104e2576004356128bd81610e12565b60018060a01b03165f526006602052602060405f2054604051908152f35b801515036104e257565b346104e25760203660031901126104e25761290a600435612905816128db565b613adf565b6040518091602082016020835281518091526020604084019201905f5b818110612935575050500390f35b8251845285945060209384019390920191600101612927565b908160209103126104e2573561296381610e12565b90565b346104e25760203660031901126104e25760043561298381610e12565b6001600160a01b038116908115612a565761299c614e0c565b6001600160a01b0381165f81815260066020526040902054909290918215612a3b576001600160a01b03165f9081526006602052604081207ffbcfe54e4aa35e7772f25a5f52fedccde889e4fc5031ad9826b9bf6b890baa599392612a1792849255612a12612a0d83600454612cea565b600455565b613f34565b612a1f614e0c565b604080519283526001600160a01b0391909116602083015290a3005b631733ad2160e21b5f526001600160a01b031660045260245ffd5b63b2fe07f160e01b5f525f60045260245ffd5b346104e2575f3660031901126104e2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104e25760203660031901126104e257600435612aca81610e12565b60018060a01b03165f526005602052602060405f2054604051908152f35b346104e25760203660031901126104e257600435612b0581610e12565b6001600160a01b038116908115612a5657612b1e614e0c565b6001600160a01b0381165f81815260056020526040902054909290918215612b94576001600160a01b03165f9081526005602052604081207f1e70ff8443e61b2a2555b5ad56645461a75dd29591b5c4a6281f70a6d395db459392612a1792849255612a12612b8f83600354612cea565b600355565b63578a51dd60e11b5f526001600160a01b031660045260245ffd5b346104e25760203660031901126104e2575f516020615e705f395f51905f52546004356001600160401b03612bf3604084901c60ff1615936001600160401b031690565b1680159081612c46575b6001149081612c3c575b159081612c33575b50611225576111b49082612c21613130565b1561401157612c2e61315d565b614011565b9050155f612c0f565b303b159150612c07565b839150612bfd565b634e487b7160e01b5f52603260045260245ffd5b9190811015612c72576060020190565b612c4e565b3561296381610e12565b634e487b7160e01b5f52601160045260245ffd5b5f1981146108d05760010190565b8115612cad570490565b634e487b7160e01b5f52601260045260245ffd5b90600182018092116108d057565b919082018092116108d057565b5f198101919082116108d057565b919082039182116108d057565b9190811015612c72576104c0020190565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117612d3757604052565b612d08565b606081019081106001600160401b03821117612d3757604052565b604081019081106001600160401b03821117612d3757604052565b60a081019081106001600160401b03821117612d3757604052565b90601f801991011681019081106001600160401b03821117612d3757604052565b6104009092919260c0806104c08301958035612dc981610e12565b60018060a01b031684526020810135602085015260408101356040850152606081013560608501526080810135608085015260a081013560a085015201910137565b6040513d5f823e3d90fd5b5f5b828110612e2457505050565b612e2f818484612cf7565b90303b156104e257612e585f600193604051809381926365d956e760e11b835260048301612dae565b038183305af19081612ee3575b50612ede57612e78610466828686612cf7565b7fc1054f794d197971822697afa7ff4777cac6fb7a512e4bfec63aebaab98187b66020612ea6848888612cf7565b013591612eb1614e0c565b604080519485526001600160a01b0391909116602085015260a086901b8690039190911692a25b01612e18565b612ed8565b80610af55f612ef193612d8d565b5f612e65565b6013548061296357503090565b60405190612f13608083612d8d565b565b6001600160401b038111612d375760051b60200190565b63ffffffff8116036104e257565b60ff8116036104e257565b6001600160801b038116036104e257565b6020818303126104e2578051906001600160401b0382116104e2570181601f820112156104e257805190612f8982612f15565b92612f976040519485612d8d565b82845260208085019360071b830101918183116104e257602001925b828410612fc1575050505090565b6080848303126104e2576020608091604051612fdc81612d1c565b8651612fe781612f2c565b815282870151612ff681612f3a565b83820152604087015161300881612f45565b6040820152606087015161301b81612f45565b6060820152815201930192612fb3565b3561296381612f3a565b903590601e19813603018212156104e257018035906001600160401b0382116104e257602001918160051b360383136104e257565b601454811015612c725760145f5260205f2001905f90565b90815461308e81612f15565b9261309c6040519485612d8d565b81845260208401905f5260205f205f915b8383106130ba5750505050565b600360206001926040516130cd81612d1c565b855481526001600160801b038587015460ff81168584015260081c1660408201526001600160801b0360028701541660608201528152019201920191906130ad565b805115612c725760200190565b8051821015612c725760209160051b010190565b60016001600160401b03195f516020615e705f395f51905f525416175f516020615e705f395f51905f5255565b600160401b60ff60401b195f516020615e705f395f51905f525416175f516020615e705f395f51905f5255565b6001600160401b038116036104e257565b356129638161318a565b6004821015612c725701905f90565b916131cd9183549060031b91821b915f19901b19161790565b9055565b604051906131de82612d57565b5f6020838281520152565b9190811015612c725760051b0190565b604080825281018390529293929160608301905f5b818110613229575050602091509360018060a01b0316910152565b9091602080600192863561323c81610e12565b848060a01b0316815201940191019291909261320e565b9190601154613261816140a9565b613269614e0c565b916001600160a01b03808416908316141580613380575b613349575050505f5b8181106132d057507f8021bce60b20a9afb57085869a3552e0ee5b272b868df894fb30c5e90e74c07291926132cb6132bf614e0c565b604051938493846131f9565b0390a1565b806132de60019284876131e9565b356132e881610e12565b828060a01b03165f52600f60205261330760405f2060ff198154169055565b61334361333461331b61046684878a6131e9565b6001600160a01b03165f908152600f6020526040902090565b805461ff001916610100179055565b01613289565b604051631326f75560e11b81526001600160a01b039283166004820152929091166024830152604482015260236064820152608490fd5b50604051631a45b42760e11b8152602081806133a3602386888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f916133e6575b5015613280565b613408915060203d60201161340e575b6134008183612d8d565b81019061411a565b5f6133df565b503d6133f6565b9060405161342281612d1c565b60606001829463ffffffff815460ff81161515865260ff8160081c161515602087015260101c1660408501520154910152565b604051906104006134668184612d8d565b368337565b903590601e19813603018212156104e257018035906001600160401b0382116104e2576020019181360383136104e257565b6001600160401b038111612d3757601f01601f191660200190565b91906040838203126104e25782356134cf81612f3a565b926020810135906001600160401b0382116104e2570181601f820112156104e2578035906134fc8261349d565b9261350a6040519485612d8d565b828452602083830101116104e257815f926020809301838601378301015290565b903590601e19813603018212156104e257018035906001600160401b0382116104e257602001918160061b360383136104e257565b81601f820112156104e25780519061357782612f15565b926135856040519485612d8d565b82845260208085019360051b830101918183116104e25760208101935b8385106135b157505050505090565b84516001600160401b0381116104e25782016080818503601f1901126104e257604051906135de82612d1c565b602081015182526040810151602083015260608101516001600160401b0381116104e25760209082010185601f820112156104e257805161361e81612f15565b9161362c6040519384612d8d565b81835260208084019260071b820101908882116104e257602001915b81831061366e5750505060408301526080015160608201528152602094850194016135a2565b6080838a03126104e257602060809160405161368981612d1c565b855181528286015161369a81612f3a565b8382015260408601516136ac81612f45565b604082015260608601516136bf81612f45565b6060820152815201920191613648565b6020818303126104e2578051906001600160401b0382116104e257016040818303126104e2576040519161370283612d57565b815161370d81612f3a565b835260208201516001600160401b0381116104e25761372c9201613560565b602082015290565b9080602083519182815201916020808360051b8301019401925f915b83831061375f57505050505090565b9091929394601f1982820301835285519060808101918051825260208101516020830152604081015192608060408401528351809152602060a084019401905f905b8082106137c7575050506060908101519101529460209081019493600101920190613750565b909194602060806001926001600160801b0360608a518051845260ff86820151168685015282604082015116604085015201511660608201520196019201906137a1565b606060206129639381845260ff815116828501520151916040808201520190613734565b6020818303126104e2578051906001600160401b0382116104e257018082039160c083126104e257604080519361386585612d72565b835161387081612f3a565b8552602084015160208601528184015182860152605f1901126104e25760405161389981612d57565b60608301516138a78161318a565b815260808301516020820152606084015260a08201516001600160401b0381116104e2576138d59201613560565b608082015290565b9015612c725790565b908160209103126104e2575161296381610e12565b6001600160a01b0390911681526040602082018190528101839052606001915f5b8181106139295750505090565b909192604080600192863561393d81610e12565b848060a01b0316815260208701356020820152019401910191909161391c565b60e06080612963936020845260ff815116602085015260208101516040850152604081015160608501526139ab606082015183860190602080916001600160401b0381511684520151910152565b01519160c0808201520190613734565b6139c53082614250565b9060018060a01b031690815f52600e602052600160405f20015481039081116108d05761eeee8192146139f6575090565b905060035480821115613a235781039081116108d05760045480821115613a235781039081116108d05790565b50505f90565b908160209103126104e2575190565b6008548015613a6b57621274ff1981018181116108d0574210613a65574210613a6057600390565b600290565b50600190565b505f90565b60405190613a7f602083612d8d565b5f808352366020840137565b60408051909190613a9c8382612d8d565b6001815291601f1901366020840137565b90613ab782612f15565b613ac46040519182612d8d565b8281528092613ad5601f1991612f15565b0190602036910137565b907f00000000000000000000000000000000000000000000000000000000000000008015159283613bbf575b15613b995782613b79575b6014548315613b7057613b30613b2b82612cc1565b613aad565b935f5b828110613b505750613b43575050565b613b4d908461311c565b52565b80613b5f61105f60019361306a565b613b69828961311c565b5201613b33565b613b3081613aad565b9150613b9361116c611f90845f52601060205260405f2090565b91613b16565b909115613bb657613ba8613a8b565b90613bb28261310f565b5290565b50612963613a70565b468214159350613b0b565b3561296381612f2c565b91905f92613be181612c77565b90604081013592613c056106bd8460018060a01b03165f52600f60205260405f2090565b93613c136020860151151590565b613f0457613c2083614cda565b601154613c2f6106ed826140a9565b803b156104e2576040516303827e8d60e01b81526001600160a01b03861660048201527f0000000000000000000000000000000000000000000000000000000000000000602482015260448101839052905f90829060649082905afa8015610b0157613ef0575b5060608501918251828115159182613ee5575b505080613edc575b80613eb9575b613e985781159081159687613e30575b8280613de2575b613d94575b505061080d602087969461085096946108329489612f139b90613d8a575b80613d7f575b80613d55575b613d3a575b15613d32575051935b84613d17575b01613bca565b613d2d866108eb875f52600d60205260405f2090565b613d11565b905093613d0b565b613d5061092c84515f52600d60205260405f2090565b613d02565b50613d6c61095884515f52600d60205260405f2090565b6001600160a01b03898116911614613cfd565b508183511415613cf7565b5082511515613cf1565b6108329299508694610850969461080d93613dd3602094613dcc6109b9612f139e9d60018060a01b03165f52600f60205260405f2090565b8983614780565b9b945094965094969750613cd3565b506001600160a01b0387165f908152600e60205260409020613e03906109f2565b6001600160a01b0388165f908152600e60205260409020602201546001600160c01b039091161415613cce565b613e45610958855f52600d60205260405f2090565b6001600160a01b0381168015159081613e84575b50613e645750613cc7565b63d6a305d960e01b5f5260048590526001600160a01b031660245260445ffd5b6001600160a01b038a16141590505f613e59565b825163aef430a360e01b5f526001600160a01b03861660045260245260445ffd5b506001600160a01b0385165f908152600e60205260409020602201541515613cb7565b50811515613cb1565b14159050825f613ca9565b80610af55f613efe93612d8d565b5f613c96565b6304bba81f60e41b5f526001600160a01b03841660045260245ffd5b60405190613f2f602083612d8d565b5f8252565b6001600160a01b03165f80808085855af13d15613f8b573d613f558161349d565b90613f636040519283612d8d565b81525f60203d92013e5b15613f76575050565b630590bd2d60e41b5f5260045260245260445ffd5b613f6d565b90915f5b8381101561400b578060051b830135607e19843603018112156104e2578301908135606083013592602081013590604081013590601e19813603018212156104e25701908135916001600160401b0383116104e257602001908260071b360382136104e25760019561400594614fe7565b01613f94565b50915050565b6011555f6013556001600160a01b03614028614e0c565b166bffffffffffffffffffffffff60a01b5f5416175f55565b6011556013556001600160a01b03614028614e0c565b61405f613a38565b60048110156123b35760038114801561408b575b61407a5750565b62a7958f60e81b5f5260045260245ffd5b50614095816123a9565b60028114614073565b5190612f1382610e12565b6040516331a9108f60e11b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614101575090565b612963915060203d602011611d5757611d498183612d8d565b908160209103126104e25751612963816128db565b6001600160a01b039182168152911660208201526040810191909152606081019190915260016080820181905260a082015260c00190565b61416f614e0c565b916001600160a01b038084169083161415806141cb575b61418f57505050565b604051631326f75560e11b81526001600160a01b0392831660048201529290911660248084019190915260448301919091526064820152608490fd5b50604051631a45b42760e11b8152602081806141ee602486888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614231575b5015614186565b61424a915060203d60201161340e576134008183612d8d565b5f61422a565b6001600160a01b03169061eeee82146142b7576040516370a0823160e01b81526001600160a01b03909116600482015290602090829060249082905afa908115610b01575f9161429e575090565b612963915060203d602011612281576122748183612d8d565b90503190565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af160015f511481161561432b575b6040919091525f606052156143105750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6001811516614341573d15833b151516166142fe565b503d5f823e3d90fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b0391821681526020810192909252604082019290925291811660608301526080820192909252911660a082015260e060c082018190526129639291019061434a565b156143be57565b634e487b7160e01b5f52600160045260245ffd5b6011549193926143e76103fd80808887614678565b6001600160a01b038116156144895790602091865f6144063083614250565b95614432614412613f20565b6040516313da831760e01b8152998a97889687953093846004890161436e565b03925af1908115610b0157612f13925f92614464575b5061445e9061445983963090614250565b612cea565b146143b7565b61445e9192506144829060203d602011612281576122748183612d8d565b9190614448565b63b61c181f60e01b5f5260048490526001600160a01b03861660245260445ffd5b9193906001600160801b0385116145d0576001600160801b0383116145bd576144ee8285878691608093916040519384526020840152604083015260608201522090565b6001600160a01b0382165f908152600e602052604090209095909360028501936145188886615138565b60018601928354968188018098116108d0576145616022614567927fc92fa1150c24ee5470c272112539aab52450a5e05573e7ea7bdfb98829b893219a6145b898550154612cdc565b96615224565b92614570614e0c565b604080519b8c5260208c0198909852968a01939093526060890192909252608088019190915260a08701526001600160a01b0392831660c087015291169390819060e0820190565b0390a3565b826335bf001160e11b5f5260045260245ffd5b846335bf001160e11b5f5260045260245ffd5b604051630862026560e41b8152600481019190915261eeee60248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614643575090565b90506020813d602011614670575b8161465e60209383612d8d565b810103126104e2575161296381610e12565b3d9150614651565b604051630862026560e41b815260048101919091526001600160a01b039091166024820152602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614643575090565b60018060a01b031690815f52600560205260405f208054908282018092116108d05755600354908082018092116108d0577f2a3798c6648c17f70b43a33a8378cec543367ac1543e62aa7b3926605697177791600355614742614e0c565b604080519283526001600160a01b039091166020830152819081015b0390a2565b6001600160401b03166001600160401b0381146108d05760010190565b906060830151156148a157614793614057565b6001600160a01b0381165f908152600e6020526040902090602282015490811561489a57612f139460018401915f835493556148316147e16147dc87546001600160401b031690565b614763565b865467ffffffffffffffff19166001600160401b0382161787559461482c61480b60028901615224565b88546001600160401b0316604084901b67ffffffffffffffff191617909855565b612cdc565b9586867f47c5615513b0f669da2dd7e3362a34610ca2695d0a0e2da2160cee952eab203c614892614860614e0c565b604080519586526001600160401b038b1660208701526001600160a01b03918216908601528616939081906060820190565b0390a36152e8565b5050505050565b63027edf0360e11b5f9081526001600160a01b0391909116600452602490fd5b906040612963925f8152816020820152019061434a565b604051906148e7602083612d8d565b5f80835282815b8281106148fa57505050565b6020906149056131d1565b828285010152016148ee565b614969612f139261497761493e61494c61492e6020850151615429565b936040519283916020830161380b565b03601f198101835282612d8d565b60405193849160016020840152604080840152606083019061434a565b03601f198101845283612d8d565b61497f6148d8565b9261556d565b601154828193614a97575b5050604051632eec7b5560e11b8152600481018390529290506020836024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b0157614a41946020945f93614a76575b506040516363fdc96f60e11b8152600481019490945260248401919091526001600160a01b0316604483015260a060648301525f60a4830181905260848301819052919384928391829060c4820190565b03926001600160a01b03165af18015610b0157614a5b5750565b614a739060203d602011612281576122748183612d8d565b50565b5f919350614a9090863d8811611d5757611d498183612d8d565b92906149f0565b614aa0926158c3565b5f8181614990565b6001600160c01b039081165f1901919082116108d057565b92909695949391640100000000851015614cc657614adc613a38565b614ae5816123a9565b60038114159081614cb1575b5080614c82575b614c66576001600160a01b0388165f908152600e60205260409020614b1c906109f2565b6001600160c01b038116151590869082614c4e575b5050614c2d57604080516001600160a01b038a1660208201908152614b7d92614b779290614b62908290810161493e565b5190206bffffffffffffffffffffffff191690565b60601c90565b6001600160a01b0381165f90815260096020908152604080832060088a901c8452909152902054600160ff88161b16614c0c5790614be76002614be1612f139a9b61046b8a612678614c069a999860018060a01b03165f52600960205260405f2090565b01615224565b9491608093916040519384526020840152604083015260608201522090565b9061583b565b632939af3b60e21b5f526001600160a01b038916600452602486905260445ffd5b632939af3b60e21b5f526001600160a01b038816600452602485905260445ffd5b614c5d91925061233b90614aa8565b1015855f614b31565b6304bba81f60e41b5f526001600160a01b03881660045260245ffd5b506001600160a01b0388165f908152600f60205260409020614cac9061116c905460081c60ff1690565b614af8565b60029150614cbe816123a9565b14155f614af1565b6309f6605160e41b5f52600485905260245ffd5b60200135614ce781612f2c565b63ffffffff81169062030d408210614cfd575050565b614d0690612f2c565b630555d0f160e41b5f5260045262030d4060245260445ffd5b9091614e0857614d2d614e0c565b916001600160a01b03808416908316141580614d84575b614d4d57505050565b604051631326f75560e11b81526001600160a01b039283166004820152929091166024830152604482015260206064820152608490fd5b50604051631a45b42760e11b815260208180614da68386888a6004860161412f565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b01575f91614de9575b5015614d44565b614e02915060203d60201161340e576134008183612d8d565b5f614de2565b5050565b601436101580614e33575b15614e2f5760131936013681116104e2573560601c90565b3390565b50337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614e17565b601454600160401b811015612d375760018101601455601454811015612c725760145f527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0155565b8054905f815581614ebd575050565b816003029160038304036108d0575f5260205f20908101905b818110614ee1575050565b6003905f81555f60018201555f600282015501614ed6565b9190811015612c725760071b0190565b8054821015612c72575f52600360205f20910201905f90565b3561296381612f45565b8054600160401b811015612d3757614f4991600182018155614f09565b614fd4576002614fb76060612f139480358555600185016020820135614f6e81612f3a565b815460ff70ffffffffffffffffffffffffffffffff006040860135614f9281612f45565b60081b1692169070ffffffffffffffffffffffffffffffffff19161717905501614f22565b9101906001600160801b03166001600160801b0319825416179055565b634e487b7160e01b5f525f60045260245ffd5b90919392934682148015615121575b61489a5761500c825f52600760205260405f2090565b5483111561489a576150839261502a835f52600760205260405f2090565b5561503d825f52600260205260405f2090565b5561505661116c611f90835f52601060205260405f2090565b6150f1575b615075615070825f52601560205260405f2090565b614eae565b5f52601560205260405f2090565b905f5b8181106150935750505050565b806150aa6150a46001938588614ef9565b85614f2c565b6150b5818487614ef9565b356150d1610958848060a01b03925f52600d60205260405f2090565b16806150df575b5001615086565b6150e98286614f09565b50555f6150d8565b615113615106825f52601060205260405f2090565b805460ff19166001179055565b61511c81614e65565b61505b565b508115614ff6565b6020821015612c725701905f90565b9160208301906151488254612c95565b92838355839463ffffffff948581116151c957505f95915b6020871061518157845463515447c160e01b5f52600452602486905260445ffd5b6001808416146151b65761519861105f8884615129565b5f5260205260016151ad60405f209360011c90565b96019591615160565b9350612f1394506115e492959150615129565b63515447c160e01b5f52600452602485905260445ffd5b906020811015612c725760051b0190565b61042081019392915f825b6020821061520e575050506104000152565b60208060019285518152019301910190916151fc565b60208101549081156152c257615238613455565b905f5b60208110615292575050604051634a490c2560e01b815291602091839182916152689190600484016151f1565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b01575f9161429e575090565b80600180921b85166152a5575b0161523b565b6152b261105f8285615129565b6152bc82866151e0565b5261529f565b50507f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d75790565b949091939550615303600160125401806012554260801b1790565b6011546060860151604051634cba057b60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101929092527f00000000000000000000000000000000000000000000000000000000000000006064830152608482015260a481018590526001600160401b039790971660c488015260e487019190915260016101048701526101248601525f8561014481730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4938415610b0157612f13955f95615405575b50615b6f565b6154229195503d805f833e61541a8183612d8d565b81019061382f565b935f6153ff565b5f9080515f915b81831061546357505050620124f8810290808204620124f814901517156108d057620493e00180620493e0116108d05790565b9091926040615472858461311c565b5101515181018091116108d057926001019190615430565b91908260409103126104e257602082516154a3816128db565b92015190565b6001600160a01b0391821681526001600160401b039092166020830152918216604082015260608101929092529182166080820152911660a082015260c081019190915261014060e0820181905290949392916155089186019061434a565b848103610100860152602080835192838152019201905f5b818110615542575050506001600160a01b039091166101209390930192909252565b825180516001600160a01b031685526020908101518186015260409094019390920191600101615520565b92909192615579614e0c565b9283826157205750604051632f8eeb3d60e01b8152466004820152602081602481738f1a249e79030d4fac2102aa33e36e6676e048e45af4908115610b01576040946156449287925f91615701575b50975b6155d66103fd612ef7565b946001600160a01b038a16156156fb57835b8851630d6aca6560e31b81529a8b9889987f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060048c016154a9565b038173d331f229eeeeb32e54b85fe4a0997627913fb9a55af4918215610b01575f905f936156c7575b50615676575050565b61475e816156a5847f49a226512c7c6d0448c9d048f6243d67cab6c593596a82f21224aa748d1c5d5e94615cb8565b604080519485526001600160a01b039091166020850181905293918291820190565b90506156ec91925060403d6040116156f4575b6156e48183612d8d565b81019061548a565b91905f61566d565b503d6156da565b5f6155e8565b61571a915060203d602011611d5757611d498183612d8d565b5f6155c8565b615644906040945f976155cb565b61040061042092959493610440830196835260208301370152565b9092602090600161576a8460018060a01b03165f52600a60205260405f2090565b01549461578b60405195869384936307fbe4d560e41b85526004850161572e565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4918215610b01575f9261581a575b50828214615815576001600160a01b03165f908152600c60205260409020905f5b600481106157e15750505090565b6157ee61105f82856131a5565b8015158061580c575b61580457506001016157d3565b935050505090565b508083146157f7565b505090565b61583491925060203d602011612281576122748183612d8d565b905f6157b2565b9260209161585d60405194859384936307fbe4d560e41b85526004850161572e565b0381730b2b545a4e2fd65d29f2417f1b26698d71769a8f5af4908115610b01575f916158a4575b50818103615890575050565b6272c3e960e11b5f5260045260245260445ffd5b6158bd915060203d602011612281576122748183612d8d565b5f615884565b906158cd826139bb565b808211615aa657506158e26103fd8385614678565b906001600160a01b03821615615a85576001600160a01b038316935f9261eeee8614801592908590615a7d57506040516370a0823160e01b81523060048201526020816024818b5afa908115610b01575f91615a5e575b509461594685848a615d16565b823b156104e257604051639e6eec0560e01b815260048101929092526001600160a01b0387166024830152604482018590525f6064830181905260c0608484015260c4830181905260e060a484015260e4830181905291928391610104918391905af18015610b0157615a4a575b506159c0575b50505050565b6159c991612cea565b6040516370a0823160e01b815230600482015292909190602090849060249082905afa928315610b01575f93615a29575b50818303615a0857806159ba565b63884aa24960e01b5f526001600160a01b031660045260245260445260645ffd5b615a4391935060203d602011612281576122748183612d8d565b915f6159fa565b80610af55f615a5893612d8d565b5f6159b4565b615a77915060203d602011612281576122748183612d8d565b5f615939565b945083615946565b63b61c181f60e01b5f5260048490526001600160a01b03831660245260445ffd5b6360ec3e7160e01b5f5260049190915260245260445ffd5b91906040838203126104e25782516001600160401b0381116104e257830181601f820112156104e257805190615af382612f15565b92615b016040519485612d8d565b82845260208085019360061b830101918183116104e257602001925b828410615b355750505050602061296391930161409e565b6040848303126104e25760206040918251615b4f81612d57565b8651615b5a81610e12565b81528287015183820152815201930192615b1d565b91939293615b806080850151615429565b948115615c965790615bad615c0796610434615ba460405f96015163ffffffff1690565b63ffffffff1690565b60405163111504cd60e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152909416602485015260448401919091529194859081906064820190565b038173d331f229eeeeb32e54b85fe4a0997627913fb9a55af4918215610b0157615c6e61493e615c51615c6095612f13985f91615c73575b50965b6040519283916020830161395d565b604051948591602083016148c1565b03601f198101855284612d8d565b61556d565b615c8f91503d805f833e615c878183612d8d565b810190615abe565b505f615c3f565b505050612f1392615c6091615c6e61493e615c51615cb26148d8565b96615c42565b60018060a01b031690815f52600660205260405f208054908282018092116108d05755600454908082018092116108d0577feabe38586436d533b7eadb14fb6c3fd63dbb07d41e234f29313b28bf067a891f91600455614742614e0c565b60405163095ea7b360e01b5f9081526001600160a01b03841660045260248590529193929160209060448180885af19060015f5114821615615dc0575b60405215615d6057505050565b615d6a8184615dcf565b15615da25790615d7a9183615e34565b15615d825750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b90843b15153d15161690615d53565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f5114841615615e12575b50604052565b60018492941516615e2b573b15153d151616915f615e0c565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615615e12575060405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a164736f6c634300081c000a",
|
|
2461
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract JBCCIPSuckerDeployer\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"contract IJBDirectory\",\"name\":\"directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBPermissions\",\"name\":\"permissions\",\"type\":\"address\"},{\"internalType\":\"contract IJBTokens\",\"name\":\"tokens\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeProjectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSuckerRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trustedForwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"InvalidInitialization\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_InvalidRouter\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rootAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_PositiveRootWithoutDelivery\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"delivered\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rootAmount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_UnderDeliveredAmount\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_UnexpectedDeliveredTokens\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"messageType\",\"type\":\"uint8\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_UnknownMessageType\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delivered\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expected\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBCCIPSucker_WrongDeliveredToken\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permissionId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBPermissioned_Unauthorized\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"JBSucker_AccountingSyncUnsupported\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_AmountExceedsUint128\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minGasLimit\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_BelowMinGas\"},{\"inputs\":[{\"internalType\":\"enum JBSuckerState\",\"name\":\"state\",\"type\":\"uint8\"}],\"type\":\"error\",\"name\":\"JBSucker_Deprecated\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"givenTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimumTime\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_DeprecationTimestampTooSoon\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_ExpectedMsgValue\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_IndexOutOfRange\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_InsufficientBalance\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_InsufficientMsgValue\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"received\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"expected\",\"type\":\"uint8\"}],\"type\":\"error\",\"name\":\"JBSucker_InvalidMessageVersion\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"remoteToken\",\"type\":\"bytes32\"}],\"type\":\"error\",\"name\":\"JBSucker_InvalidNativeRemoteAddress\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"inboxRoot\",\"type\":\"bytes32\"}],\"type\":\"error\",\"name\":\"JBSucker_InvalidProof\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_LeafAlreadyExecuted\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_NoRetainedToRemoteFee\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_NoRetainedTransportPaymentRefund\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_NoTerminalForToken\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"caller\",\"type\":\"bytes32\"}],\"type\":\"error\",\"name\":\"JBSucker_NotPeer\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"outboxBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"treeCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numberOfClaimsSent\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_NothingToSend\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_RefundFailed\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"remoteToken\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_RemoteTokenAlreadyMapped\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappedTo\",\"type\":\"bytes32\"}],\"type\":\"error\",\"name\":\"JBSucker_TokenAlreadyMapped\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_TokenHasInvalidEmergencyHatchState\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JBSucker_TokenNotMapped\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_UnexpectedMsgValue\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"expectedBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualBalance\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_UnexpectedTokenBalance\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\"}],\"type\":\"error\",\"name\":\"JBSucker_ZeroBeneficiary\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBSucker_ZeroERC20Token\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"JBSucker_ZeroProjectTokenCount\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxLeaves\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"MerkleLib_InsertTreeIsFull\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"NotInitializing\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sourceTimestamp\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"AccountingDataSynced\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"ClaimFailed\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"Claimed\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"DeprecationTimeUpdated\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"EmergencyExit\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"EmergencyHatchOpened\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\",\"indexed\":false}],\"type\":\"event\",\"name\":\"Initialized\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"hashed\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"InsertToOutboxTree\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\",\"indexed\":false},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"NewInboxTreeRoot\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RetainedToRemoteFee\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RetainedToRemoteFeeClaimed\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RetainedTransportPaymentRefund\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RetainedTransportPaymentRefundClaimed\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RootToRemote\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint64\",\"name\":\"receivedNonce\",\"type\":\"uint64\",\"indexed\":false},{\"internalType\":\"uint64\",\"name\":\"currentNonce\",\"type\":\"uint64\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"StaleRootRejected\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"TransportPaymentRefundFailed\",\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CCIP_ROUTER\",\"outputs\":[{\"internalType\":\"contract ICCIPRouter\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DIRECTORY\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"FEE_PROJECT_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"MESSAGE_VERSION\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"MESSENGER_BASE_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"MESSENGER_ERC20_MIN_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"PERMISSIONS\",\"outputs\":[{\"internalType\":\"contract IJBPermissions\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"PROJECTS\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"REGISTRY\",\"outputs\":[{\"internalType\":\"contract IJBSuckerRegistry\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"REMOTE_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"REMOTE_CHAIN_SELECTOR\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"TOKENS\",\"outputs\":[{\"internalType\":\"contract IJBTokens\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"amountToAddToBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"struct Client.Any2EVMMessage\",\"name\":\"any2EvmMessage\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"sourceChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"sender\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"struct Client.EVMTokenAmount[]\",\"name\":\"destTokenAmounts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"ccipReceive\"},{\"inputs\":[{\"internalType\":\"struct JBClaim[]\",\"name\":\"claims\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"struct JBLeaf\",\"name\":\"leaf\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"}]},{\"internalType\":\"bytes32[32]\",\"name\":\"proof\",\"type\":\"bytes32[32]\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"claim\"},{\"inputs\":[{\"internalType\":\"struct JBClaim\",\"name\":\"claimData\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"struct JBLeaf\",\"name\":\"leaf\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"}]},{\"internalType\":\"bytes32[32]\",\"name\":\"proof\",\"type\":\"bytes32[32]\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"claim\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"claimRetainedToRemoteFee\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"claimRetainedTransportPaymentRefund\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"enableEmergencyHatchFor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"executedLeafHashOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}]},{\"inputs\":[{\"internalType\":\"struct JBClaim\",\"name\":\"claimData\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"struct JBLeaf\",\"name\":\"leaf\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"terminalTokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"}]},{\"internalType\":\"bytes32[32]\",\"name\":\"proof\",\"type\":\"bytes32[32]\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"exitThroughEmergencyHatch\"},{\"inputs\":[{\"internalType\":\"struct JBMessageRoot\",\"name\":\"root\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"token\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"struct JBInboxTreeRoot\",\"name\":\"remoteRoot\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}]},{\"internalType\":\"struct JBChainAccounting[]\",\"name\":\"accounts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"struct JBSourceContext[]\",\"name\":\"contexts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"bytes32\",\"name\":\"token\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"surplus\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"}]},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}]}]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"fromRemote\"},{\"inputs\":[{\"internalType\":\"struct JBAccountingSnapshot\",\"name\":\"snapshot\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"struct JBChainAccounting[]\",\"name\":\"accounts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"struct JBSourceContext[]\",\"name\":\"contexts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"bytes32\",\"name\":\"token\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"surplus\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"}]},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"fromRemoteAccounting\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"inboxOf\",\"outputs\":[{\"internalType\":\"struct JBInboxTreeRoot\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"localProjectId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"remotePeer\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"initialize\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialProjectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"initialize\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isMapped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isTrustedForwarder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"struct JBTokenMapping\",\"name\":\"map\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"remoteToken\",\"type\":\"bytes32\"}]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"mapToken\"},{\"inputs\":[{\"internalType\":\"struct JBTokenMapping[]\",\"name\":\"maps\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"remoteToken\",\"type\":\"bytes32\"}]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"mapTokens\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"outboxOf\",\"outputs\":[{\"internalType\":\"struct JBOutboxTree\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"uint192\",\"name\":\"numberOfClaimsSent\",\"type\":\"uint192\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"struct MerkleLib.Tree\",\"name\":\"tree\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bytes32[32]\",\"name\":\"branch\",\"type\":\"bytes32[32]\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}]}]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peer\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainAccountsOf\",\"outputs\":[{\"internalType\":\"struct JBChainAccounting[]\",\"name\":\"accounts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"struct JBSourceContext[]\",\"name\":\"contexts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"bytes32\",\"name\":\"token\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"surplus\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"}]},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainContextsOf\",\"outputs\":[{\"internalType\":\"struct JBPeerChainContext[]\",\"name\":\"contexts\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"surplus\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"}]},{\"internalType\":\"uint256\",\"name\":\"snapshot\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"includeVirtual\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"chainIds\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainTotalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"peerChainTotalSupplyValue\",\"outputs\":[{\"internalType\":\"struct JBPeerChainValue\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"peerChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"snapshotTimestamp\",\"type\":\"uint256\"}]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"beneficiary\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minTokensReclaimed\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"metadata\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"prepare\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"remoteTokenFor\",\"outputs\":[{\"internalType\":\"struct JBRemoteToken\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"emergencyHatch\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"minGas\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"addr\",\"type\":\"bytes32\"}]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"retainedToRemoteFeeBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"retainedToRemoteFeeOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"retainedTransportPaymentRefundBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"retainedTransportPaymentRefundOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setDeprecation\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"snapshotTimestampOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum JBSuckerState\",\"name\":\"\",\"type\":\"uint8\"}]},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"supported\",\"type\":\"bool\"}]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"syncAccountingData\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"toRemote\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"amountToAddToBalanceOf(address)\":{\"params\":{\"token\":\"The local terminal token to get the amount to add to balance for.\"},\"returns\":{\"_0\":\"The amount of terminal tokens available to add to the project's balance.\"}},\"ccipReceive((bytes32,uint64,bytes,bytes,(address,uint256)[]))\":{\"details\":\"Extremely important to ensure only router calls this.The CCIP NatSpec convention states that `ccipReceive` should not revert. We intentionally deviate: reverting on invalid sender/peer data is correct here because accepting and silently discarding a malformed message would lose the bridged tokens with no recovery path. A revert keeps tokens in the CCIP router where they can be retried or recovered.\",\"params\":{\"any2EvmMessage\":\"The message to process.\"}},\"claim((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32]))\":{\"params\":{\"claimData\":\"The terminal token, merkle tree leaf, and proof for the claim.\"}},\"claim((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32])[])\":{\"details\":\"Per-leaf resilience: each leaf is claimed through an external `this.claim(JBClaim)` sub-call wrapped in try/catch, so a single failing or stale leaf (e.g. its inbox root has not arrived yet, it was already executed, or a transient mint/add-to-balance dependency reverts) only skips that one leaf — the rest of the batch still settles. Because the sub-call is a separate message frame, a caught revert rolls back every state change that leaf attempted (its `_executedFor` bit, its `executedLeafHashOf` entry, and any `_addToBalance`/`mintTokensOf` effects), so the skipped leaf stays fully claimable later. Routing through `this.claim` is safe because the single-leaf `claim` mints to `claimData.leaf.beneficiary` and adds funds to the project balance — it never depends on `msg.sender` being the original batch caller, so the self-call does not change who is credited.\",\"params\":{\"claims\":\"A list of claims to perform (including the terminal token, merkle tree leaf, and proof for each claim).\"}},\"claimRetainedToRemoteFee(address)\":{\"params\":{\"beneficiary\":\"The address that should receive the retained ETH.\"}},\"claimRetainedTransportPaymentRefund(address)\":{\"params\":{\"beneficiary\":\"The address that should receive the retained ETH.\"}},\"constructor\":{\"params\":{\"deployer\":\"A contract that deploys the clones for this contract.\",\"directory\":\"A contract storing directories of terminals and controllers for each project.\",\"feeProjectId\":\"The ID of the project that receives fees.\",\"permissions\":\"A contract storing permissions.\",\"registry\":\"The sucker registry that tracks deployed suckers.\",\"tokens\":\"A contract that manages token minting and burning.\",\"trustedForwarder\":\"The trusted forwarder for ERC-2771 meta-transactions.\"}},\"enableEmergencyHatchFor(address[])\":{\"details\":\"For use when a token or a few tokens are no longer compatible with a bridge.\",\"params\":{\"tokens\":\"The terminal tokens to enable the emergency hatch for.\"}},\"exitThroughEmergencyHatch((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32]))\":{\"params\":{\"claimData\":\"The terminal token, merkle tree leaf, and proof for the claim.\"}},\"fromRemote((uint8,bytes32,uint256,(uint64,bytes32),(uint256,uint256,(bytes32,uint8,uint128,uint128)[],uint256)[]))\":{\"details\":\"This can only be called by the messenger contract on the local chain, with a message from the remote peer.Nonce ordering: This function accepts any nonce strictly greater than the current inbox nonce, rather than requiring sequential (nonce == inbox.nonce + 1) processing. This is intentional because some bridges (e.g., Chainlink CCIP) do not guarantee in-order message delivery. If nonces arrive out of order, the inbox root is set to the latest nonce's root. Claims from earlier nonces remain provable against the latest root (the merkle tree is append-only), but users will need regenerated proofs computed against the current root. This trade-off is accepted because enforcing sequential nonces could permanently block a token's inbox if a single message is delayed or lost by the bridge.Post-deprecation root acceptance: Roots are accepted in DEPRECATED state to prevent stranding tokens that were sent before deprecation. Even though the mandatory `_maxMessagingDelay()` (14-day) buffer gives in-flight messages time to arrive, accepting roots after deprecation provides a stronger guarantee that users can always claim their bridged tokens. Double-spend is not a concern because `toRemote` is already disabled in `SENDING_DISABLED` and `DEPRECATED` states, so no new outbound transfers can occur.\",\"params\":{\"root\":\"The merkle root, token, and amount to receive.\"}},\"fromRemoteAccounting((uint8,(uint256,uint256,(bytes32,uint8,uint128,uint128)[],uint256)[]))\":{\"details\":\"This can only be called by the messenger contract on the local chain, with a message from the remote peer. It shares the same freshness gate as `fromRemote`, so stale accounting-only messages cannot roll back fresher state delivered by a root message.\",\"params\":{\"snapshot\":\"The peer-chain accounting snapshot to receive.\"}},\"getRouter()\":{\"returns\":{\"router\":\"The CCIP router address.\"}},\"inboxOf(address)\":{\"params\":{\"token\":\"The local terminal token to get the inbox for.\"},\"returns\":{\"_0\":\"The inbox tree root for the token.\"}},\"initialize(uint256)\":{\"params\":{\"initialProjectId\":\"The ID of the project (on the local chain) that this sucker is associated with.\"}},\"initialize(uint256,bytes32)\":{\"params\":{\"localProjectId\":\"The ID of the project (on the local chain) that this sucker is associated with.\",\"remotePeer\":\"The remote peer address. Leave zero to use the default deterministic same-address peer.\"}},\"isMapped(address)\":{\"params\":{\"token\":\"The terminal token to check.\"},\"returns\":{\"_0\":\"A boolean which is `true` if the token is mapped to a remote token and `false` if it is not.\"}},\"isTrustedForwarder(address)\":{\"details\":\"Indicates whether any particular address is the trusted forwarder.\"},\"mapToken((address,uint32,bytes32))\":{\"params\":{\"map\":\"The local and remote terminal token addresses to map, and minimum amount/gas limits for bridging them.\"}},\"mapTokens((address,uint32,bytes32)[])\":{\"params\":{\"maps\":\"A list of local and remote terminal token addresses to map, and minimum amount/gas limits for bridging them.\"}},\"outboxOf(address)\":{\"params\":{\"token\":\"The local terminal token to get the outbox for.\"},\"returns\":{\"_0\":\"The outbox tree for the token.\"}},\"peer()\":{\"details\":\"Defaults to `_toBytes32(address(this))`, assuming deterministic cross-chain deployment via CREATE2. The deployer (`JBSuckerDeployer`) uses `salt = keccak256(abi.encodePacked(_msgSender(), salt))` to ensure sender-specific determinism. An explicit peer can be set during clone initialization for deployments where the legitimate remote sucker address is known but does not match the local clone address.\",\"returns\":{\"_0\":\"The bytes32 representation of the peer sucker address.\"}},\"peerChainAccountsOf()\":{\"details\":\"The registry reads this to gather a project's full cross-chain knowledge and re-gossip it. Incoming contexts are stored in this sucker's token namespace where a mapping exists, so a hub forwards sibling-chain accounting in hub-local token terms and the next spoke only needs its mapping to the hub token.\",\"returns\":{\"accounts\":\"One accounting record per known peer chain.\"}},\"peerChainContextsOf(uint256)\":{\"details\":\"Stored contexts are already keyed in this sucker's token namespace where a mapping exists. This folds same-currency, same-decimals entries together. The result is un-valued — the registry values each context into a requested currency; the sucker consults no price oracle. Contexts that share a currency but carry different decimals are kept separate because the raw amounts are on different scales and cannot be summed directly.\",\"params\":{\"chainId\":\"The peer chain to read the contexts of.\"},\"returns\":{\"contexts\":\"The per-currency surplus and balance for the chain.\",\"snapshot\":\"The source freshness key of the chain's latest accepted record.\"}},\"peerChainId()\":{\"returns\":{\"chainId\":\"The chain ID of the peer.\"}},\"peerChainIds(bool)\":{\"details\":\"With `includeVirtual` false, returns only the directly-connected peer chain (the one this sucker is bridged to). With `includeVirtual` true, also returns every other chain it has learned about through gossip relayed by that peer. The directly-connected peer is always present (with a zero value until its first record) so the registry can enumerate the chain the moment this sucker is deployed. Until the sucker receives its first record, that entry is an empty sentinel (value 0, freshness 0) which the registry skips, so a freshly-deployed active sucker takes over a chain's accounting only once it has synced real data — a deprecated sucker's record keeps answering for the chain during the migration window.\",\"params\":{\"includeVirtual\":\"Whether to also include virtually-known (gossiped) peer chains.\"},\"returns\":{\"chainIds\":\"The peer chain IDs.\"}},\"peerChainTotalSupplyValue(uint256)\":{\"details\":\"Lets the registry read the value, the peer chain it belongs to, and its freshness in one call. The `value` matches `peerChainTotalSupplyOf(chainId)`.\",\"params\":{\"chainId\":\"The peer chain to read the total supply value of.\"},\"returns\":{\"_0\":\"A `JBPeerChainValue` with the total supply, peer chain ID, and snapshot freshness key.\"}},\"prepare(uint256,bytes32,uint256,address,bytes32)\":{\"details\":\"This adds the tokens and funds to the outbox tree for the `token`. They will be bridged by the next call to `toRemote` for the same `token`.Reentrancy protection: This function has implicit reentrancy protection through `_pullBackingAssets`. The `assert` in `_pullBackingAssets` verifies that the contract's token balance increased by exactly the amount reported by the terminal's `cashOutTokensOf`. A reentrant `prepare()` call would trigger a nested `cashOutTokensOf`, changing the contract's balance before the outer call's `assert` executes. The outer `assert` would then fail because the balance delta no longer matches the reported `reclaimedAmount`. Note: because `assert` is used (not `revert`), a failed reentrancy attempt will consume all remaining gas.\",\"params\":{\"beneficiary\":\"The recipient on the remote chain (bytes32 for cross-VM compatibility). For EVM peers: the EVM address left-padded to 32 bytes via `_toBytes32`. For SVM peers: the full 32-byte Solana public key.\",\"minTokensReclaimed\":\"The minimum amount of terminal tokens to cash out for. If the amount cashed out is less than this, the transaction will revert.\",\"projectTokenCount\":\"The number of project tokens to prepare for bridging.\",\"token\":\"The address of the terminal token to cash out for.\"}},\"projectId()\":{\"returns\":{\"_0\":\"The local project ID.\"}},\"remoteTokenFor(address)\":{\"params\":{\"token\":\"The local terminal token to get the remote token for.\"},\"returns\":{\"_0\":\"The remote token mapping for the given local token.\"}},\"setDeprecation(uint40)\":{\"params\":{\"timestamp\":\"The time after which the sucker will be deprecated. Or `0` to remove the upcoming deprecation.\"}},\"state()\":{\"returns\":{\"_0\":\"state The current deprecation state\"}},\"supportsInterface(bytes4)\":{\"details\":\"Should indicate whether the contract implements IAny2EVMMessageReceiver. This allows CCIP to check if ccipReceive is available before calling it. If this returns false or reverts, only tokens are transferred to the receiver. If this returns true, tokens are transferred and ccipReceive is called atomically. Additionally, if the receiver address does not have code associated with it at the time of execution (EXTCODESIZE returns 0), only tokens will be transferred.\",\"params\":{\"interfaceId\":\"The interface ID to check.\"},\"returns\":{\"supported\":\"Whether the interface is supported.\"}},\"syncAccountingData()\":{\"details\":\"The caller still provides any bridge transport payment through `msg.value`.\"},\"toRemote(address)\":{\"details\":\"This sends the outbox root for the specified `token` to the remote chain.Fee payment failure handling: The registry fee payment uses a best-effort pattern (try/catch). If the fee project's terminal doesn't exist or the `pay` call reverts, the fee ETH is retained as a refundable balance for the original caller instead of being added back to `transportPayment`. This preserves `transportPayment = msg.value - fee`, which is critical for zero-cost bridges (OP, Base, Celo, Arb L2->L1) that revert on non-zero transport payment. The retained fee is excluded from `amountToAddToBalanceOf`.\",\"params\":{\"token\":\"The terminal token to bridge.\"}},\"trustedForwarder()\":{\"details\":\"Returns the address of the trusted forwarder.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CCIP_ROUTER()\":{\"notice\":\"The CCIP router used to bridge tokens between the local and remote chain.\"},\"DIRECTORY()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"FEE_PROJECT_ID()\":{\"notice\":\"The project ID that receives the `toRemoteFee` payment. Typically the protocol project (ID 1).\"},\"MESSAGE_VERSION()\":{\"notice\":\"The message format version. Used to reject incompatible messages from remote chains.\"},\"MESSENGER_BASE_GAS_LIMIT()\":{\"notice\":\"A reasonable minimum gas limit for a basic cross-chain call to `fromRemote` on the remote chain.\"},\"MESSENGER_ERC20_MIN_GAS_LIMIT()\":{\"notice\":\"A reasonable minimum gas limit for performing an ERC-20 transfer on the remote chain.\"},\"PERMISSIONS()\":{\"notice\":\"A contract storing permissions.\"},\"PROJECTS()\":{\"notice\":\"The project registry (ERC-721 ownership).\"},\"REGISTRY()\":{\"notice\":\"The sucker registry that manages the global `toRemoteFee`.\"},\"REMOTE_CHAIN_ID()\":{\"notice\":\"The chain id of the remote chain.\"},\"REMOTE_CHAIN_SELECTOR()\":{\"notice\":\"The CCIP chain selector of the remote chain.\"},\"TOKENS()\":{\"notice\":\"The contract that manages token minting and burning.\"},\"amountToAddToBalanceOf(address)\":{\"notice\":\"The outstanding amount of tokens to be added to the project's balance by `claim`.\"},\"ccipReceive((bytes32,uint64,bytes,bytes,(address,uint256)[]))\":{\"notice\":\"The entrypoint for the CCIP router to call.\"},\"claim((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32]))\":{\"notice\":\"Claim a single bridged entry: verifies the merkle proof against the inbox root, mints the specified project tokens for the beneficiary, and deposits the terminal tokens into the project's local balance.\"},\"claim((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32])[])\":{\"notice\":\"Claim multiple bridged entries in a single transaction. Each claim mints project tokens for the beneficiary and deposits the corresponding terminal tokens into the project's local balance.\"},\"claimRetainedToRemoteFee(address)\":{\"notice\":\"Claim retained failed-fee ETH.\"},\"claimRetainedTransportPaymentRefund(address)\":{\"notice\":\"Claim retained failed transport-payment refund ETH.\"},\"deployer()\":{\"notice\":\"The address of this contract's deployer.\"},\"enableEmergencyHatchFor(address[])\":{\"notice\":\"Enables the emergency hatch for a list of tokens, allowing users to exit on the chain they deposited on.\"},\"executedLeafHashOf(address,uint256)\":{\"notice\":\"The keccak256 hash of the leaf data committed at execution time, keyed by `(terminalToken, leafIndex)`. Beneficiary contracts (e.g. `JBReferralSplitHook`) use this to authenticate post-hoc settlement when their `claim()` call was front-run by a direct external caller — they re-derive the hash from the claim data they hold and compare. Returns `bytes32(0)` for unexecuted indices — `_buildTreeHash` is pre-image-resistant so zero unambiguously means \\\"not executed\\\".\"},\"exitThroughEmergencyHatch((address,(uint256,bytes32,uint256,uint256,bytes32),bytes32[32]))\":{\"notice\":\"Emergency escape hatch: lets a user reclaim their project tokens and terminal tokens on the chain they deposited from, when the bridge has become permanently non-functional. Must be enabled by the project owner via `enableEmergencyHatchFor`.\"},\"fromRemote((uint8,bytes32,uint256,(uint64,bytes32),(uint256,uint256,(bytes32,uint8,uint128,uint128)[],uint256)[]))\":{\"notice\":\"Receive a merkle root and peer-chain accounting snapshot from the remote sucker. Updates the inbox tree so that users can claim bridged tokens. Also accepts any native-token funds delivered with the message.\"},\"fromRemoteAccounting((uint8,(uint256,uint256,(bytes32,uint8,uint128,uint128)[],uint256)[]))\":{\"notice\":\"Receive a peer-chain accounting snapshot from the remote sucker without updating any token-local inbox root.\"},\"getRouter()\":{\"notice\":\"Returns the address of the current CCIP router.\"},\"inboxOf(address)\":{\"notice\":\"The inbox merkle tree root for a given token.\"},\"initialize(uint256)\":{\"notice\":\"Initializes the sucker with the project ID.\"},\"initialize(uint256,bytes32)\":{\"notice\":\"Initializes the sucker with the project ID and an explicit peer address.\"},\"isMapped(address)\":{\"notice\":\"Checks whether the specified token is mapped to a remote token.\"},\"mapToken((address,uint32,bytes32))\":{\"notice\":\"Map an ERC-20 token on the local chain to a remote-chain ERC-20 token for bridging.\"},\"mapTokens((address,uint32,bytes32)[])\":{\"notice\":\"Configure which remote-chain tokens each local terminal token maps to, enabling (or disabling) those tokens for cross-chain bridging. Setting a remote token to `bytes32(0)` disables bridging and flushes any pending outbox entries. Requires `MAP_SUCKER_TOKEN` permission from the project owner or deployment registry.\"},\"outboxOf(address)\":{\"notice\":\"The outbox merkle tree for a given token.\"},\"peer()\":{\"notice\":\"The peer sucker on the remote chain, as a bytes32 for cross-VM compatibility.\"},\"peerChainAccountsOf()\":{\"notice\":\"The un-valued accounting record this sucker holds for every peer chain it has heard about.\"},\"peerChainContextsOf(uint256)\":{\"notice\":\"One peer chain's per-currency surplus and balance from its latest accepted record, plus that record's freshness key.\"},\"peerChainId()\":{\"notice\":\"Returns the chain on which the peer is located.\"},\"peerChainIds(bool)\":{\"notice\":\"The peer chains this sucker reports accounting for.\"},\"peerChainTotalSupplyOf(uint256)\":{\"notice\":\"The last known total token supply on each peer chain, updated each time a bridge message carries that chain's accounting record.\"},\"peerChainTotalSupplyValue(uint256)\":{\"notice\":\"One peer chain's total supply bundled with the peer chain ID and the record's freshness key.\"},\"prepare(uint256,bytes32,uint256,address,bytes32)\":{\"notice\":\"Queue project tokens for bridging to the remote chain. Transfers the caller's project tokens into this contract, cashes them out for the specified terminal token, and inserts a leaf into the outbox merkle tree. The queued entry will be bridged the next time anyone calls `toRemote` for the same `token`.\"},\"projectId()\":{\"notice\":\"The ID of the project (on the local chain) that this sucker is associated with.\"},\"remoteTokenFor(address)\":{\"notice\":\"Information about the token on the remote chain that the given token on the local chain is mapped to.\"},\"retainedToRemoteFeeBalance()\":{\"notice\":\"The total retained failed-fee ETH excluded from native add-to-balance accounting.\"},\"retainedToRemoteFeeOf(address)\":{\"notice\":\"The retained failed-fee ETH owed to each original `toRemote` caller.\"},\"retainedTransportPaymentRefundBalance()\":{\"notice\":\"The total retained failed transport-payment refund ETH excluded from native add-to-balance accounting.\"},\"retainedTransportPaymentRefundOf(address)\":{\"notice\":\"The retained failed transport-payment refund ETH owed to each original bridge caller.\"},\"setDeprecation(uint40)\":{\"notice\":\"Schedule (or cancel) the deprecation of this sucker. Once deprecated, no new outbound transfers are accepted and users can exit via the emergency hatch. Requires `SET_SUCKER_DEPRECATION` permission. A mandatory 14-day buffer ensures in-flight messages have time to arrive before the sucker fully shuts down.\"},\"snapshotTimestampOf(uint256)\":{\"notice\":\"The source-chain freshness key of the most recent accepted accounting record for each peer chain.\"},\"state()\":{\"notice\":\"Reports the deprecation state of the sucker.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks whether this contract supports a given interface.\"},\"syncAccountingData()\":{\"notice\":\"Send the latest peer-chain accounting data without sending an outbox root or paying the registry `toRemoteFee`.\"},\"toRemote(address)\":{\"notice\":\"Send the accumulated outbox merkle root and locked terminal-token funds for a given `token` across the bridge to the remote peer sucker. Anyone can call this once entries exist in the outbox. Requires `msg.value` to cover the registry's `toRemoteFee` plus any bridge transport payment.\"}},\"version\":1}},\"settings\":{\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@ballkidz/=node_modules/@ballkidz/\",\"@bananapus/=node_modules/@bananapus/\",\"@bannynet/=node_modules/@bannynet/\",\"@chainlink/=node_modules/@chainlink/\",\"@croptop/=node_modules/@croptop/\",\"@ensdomains/=node_modules/@ensdomains/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@rev-net/=node_modules/@rev-net/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/=node_modules/@sphinx-labs/\",\"@uniswap/=node_modules/@uniswap/\",\"@unruggable/=node_modules/@unruggable/\",\"@zksync/=node_modules/@zksync/\",\"base64-sol/=node_modules/base64-sol/\",\"ds-test/=node_modules/@uniswap/v4-core/lib/solmate/lib/ds-test/\",\"erc4626-tests/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\"forge-gas-snapshot/=node_modules/@uniswap/v4-periphery/lib/permit2/lib/forge-gas-snapshot/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"lib/base64/=node_modules/base64-sol/\",\"openzeppelin-contracts/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/\",\"permit2/=node_modules/@uniswap/v4-periphery/lib/permit2/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/@sphinx-labs/contracts/node_modules/solmate/\",\"typeface/=lib/typeface/contracts/\",\"v4-core/=node_modules/@uniswap/v4-periphery/lib/v4-core/\"],\"optimizer\":{\"enabled\":true,\"runs\":200},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"node_modules/@bananapus/suckers-v6/src/JBCCIPSucker.sol\":\"JBCCIPSucker\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"viaIR\":true},\"sources\":{\"node_modules/@bananapus/core-v6/src/abstract/JBPermissioned.sol\":{\"keccak256\":\"0x16a1fa9f031564f9f3253d5e21327b228651269263bfbde10eb04862c65ed577\",\"urls\":[\"bzz-raw://4150d75d10f267953c0a42948ebd7bffe1568a5fb0dfe84befcda512ddf3a19c\",\"dweb:/ipfs/QmVMYXMRyiLySHCtoPke9AuVkhoVm9Gx1zoLMmSjXjFf2M\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/enums/JBApprovalStatus.sol\":{\"keccak256\":\"0x58f3eed8b6ecea6b640f4eb78a5a416ce8737f9155e350ef4077db422b3fca8f\",\"urls\":[\"bzz-raw://0b56bde97ef9d8ec2a3e464202c5d2fee9c39597485b3fb8baaeef971cc63bc8\",\"dweb:/ipfs/QmSdPaNfPm83yibuSvgLbaqgZw7LYkTLhacrxDagH3sprJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBCashOutHook.sol\":{\"keccak256\":\"0x2a6d327092775fdbeaf922b8364403102cae437f765f662fe142bf97e87c2ef1\",\"urls\":[\"bzz-raw://5f9a23971860b907569917fe14cbcc85993d83fb32e5342dd5338a1721e540f7\",\"dweb:/ipfs/Qmamt2n7HaWo2cUDn8K2FhrZPHBVxuaCWh9jf8V3WYPXMN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBCashOutTerminal.sol\":{\"keccak256\":\"0x4923d51fd680cc280a9e90eec8e0597334ae2beb8c04d71289e319d7f82aa70b\",\"urls\":[\"bzz-raw://a39ee26c58248c154e5d4818fe544c614effded1c069b7d2e732c25d9caab4ff\",\"dweb:/ipfs/QmefeSH8CWtNQcrb8iNmfKKSViu3YnnJ9ciaNfEKhxgFHh\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBController.sol\":{\"keccak256\":\"0x7032c26dd11cec1ed279bd96a63c0b4f77126835e9fec744e259495827f9ad92\",\"urls\":[\"bzz-raw://a2129d48bed0763676d7f0854d6e784134642584f4c70fabdc7e9e5a9490bf13\",\"dweb:/ipfs/QmU1D5L4gxf2acwXz4QAp9fSZNVboDcj4qTE3xCz5bh2M4\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0xb8f3ba0a544360b32c9f0a704168ee93c2960accfc010735c8cbea54941e63d5\",\"urls\":[\"bzz-raw://e9f14d5daa2357db4afe96313b40bf0c53c606315c9cb55109fffdc9c2fd85d0\",\"dweb:/ipfs/QmRPHFAiivM9CqdfocRyahdSjfWTbaSepPNCGGQU23ABcv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBDirectoryAccessControl.sol\":{\"keccak256\":\"0x963e641f7b02187389fa813ab177b8d0f20a7a543f6ce2306e8d5f9db95d56e3\",\"urls\":[\"bzz-raw://b500161bcc70fac6830211b2f9855c2c1ab17a91226619cedde7daa166f9196c\",\"dweb:/ipfs/QmV92TK8CTZxVJoGBDEsBfUDidoLAobFmyL1NdQVJARpCD\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBFeeTerminal.sol\":{\"keccak256\":\"0xaaa9a98ad8967e1ab71b560f1cc07fc53d4900a8d595d53f5fb090d8e004562f\",\"urls\":[\"bzz-raw://36513a02be24f9677e0f1e82e01970c81c09043b69e4e60cb3007e2a05f3ce64\",\"dweb:/ipfs/QmZPKkEhgM5A5GzHG4TPxAe8HzjyLxLZzmJaDMDTNxV783\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBFeelessAddresses.sol\":{\"keccak256\":\"0x13cad5a8ef2daeb7634d93df6c9f6d1681b5344f4cdc89b03bbbd0953802fd8a\",\"urls\":[\"bzz-raw://35f25042894569b5c50a38d39ab3ceb91e4f69e56d448785701a3ffff335fe98\",\"dweb:/ipfs/QmTd6dF5X6L3v9bnfsh2ZKtRjK5ApwvmKipMWHNXfjwjBF\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBFeelessHook.sol\":{\"keccak256\":\"0x39b8d6e9798a90f555ea9ca44ade52f2fec5964df8994494bd5f4cfd42853602\",\"urls\":[\"bzz-raw://18e0a22e15d53db093648f6087280b45cf5a19571cf721ea49e4453f5da1cb98\",\"dweb:/ipfs/QmaRDN58nhCR4EkP3oaHpyG5EPgLtR2DSEDfPw4gRUG5Zd\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBFundAccessLimits.sol\":{\"keccak256\":\"0x0cb50a855cccbbe7c74a1ebc454112b7b63f502badd019895dd936365ac73340\",\"urls\":[\"bzz-raw://226be05349028b8f055e386fbc41f7db0feb6d027b6068c1c929b0924688e129\",\"dweb:/ipfs/QmXyotizn7pR8DQJtuj6Xkcr7LKorSkm9q8kQGaSDDikSw\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBMultiTerminal.sol\":{\"keccak256\":\"0x8e258ab09d0b1c429236d98a78610b829a9604e88f7c20fc1041535922c8b207\",\"urls\":[\"bzz-raw://0418c1dcfcd663ad55bf55ce38690e45ebefcc5a01575d6d7ecde18de283edab\",\"dweb:/ipfs/Qmbt2BJ3r9rLXqAZzrs36s24Ks3e6Ho3UTwvuUrtRdDtW6\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPayHook.sol\":{\"keccak256\":\"0x08599d439d898566b311bc4bedf7f0050ce25c86e246c43f673f3ab4d2457f21\",\"urls\":[\"bzz-raw://db19e95707920262c79197be9296fe381782220bfaf00b71df3a4271da83832f\",\"dweb:/ipfs/QmYzdomQzXNSk46U5vkiEnDErJJdR17deL4S6hPundstZd\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPayoutTerminal.sol\":{\"keccak256\":\"0x67353962158e3349be384d3ceec89db2b7525c5f5c7f6c8cb8f98aeb09142e95\",\"urls\":[\"bzz-raw://01e55c712af9794b2bf0caeab8bd2bd8150f4c6cab61dfec026d40652d5a26d6\",\"dweb:/ipfs/QmbbcxEBJ8UxFUbGPWvyu1cwxgU9YefwhdNuPvfj7LzSZw\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPermissioned.sol\":{\"keccak256\":\"0xa43d05c9cc31cd768072e60d4f097d60dfe199469bfc96aa8df29346a15ee4dc\",\"urls\":[\"bzz-raw://de7caab7841a56b681140993557374edb54763a08b28aaaba35f1bc1a01f7937\",\"dweb:/ipfs/QmQKG6QNm7PNebRtKeLSzzXgp71Yw5Ja37nGPCvVa62Rzu\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPermissions.sol\":{\"keccak256\":\"0xb32e13d512a7deb9ba1e47bbc0992817a63caa9e1f2913d6c55b637a57084037\",\"urls\":[\"bzz-raw://0d291ccc6edc581febf386779423001b0ed4d3b5b021ec444f7bef01cb2f9d28\",\"dweb:/ipfs/QmSUFhJpcpWYLEUzt4KrzyC4am39TNost8tWAtn5GdAUg2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPermitTerminal.sol\":{\"keccak256\":\"0x5540c746854add8cdc1911f9903a77c9fc97098d8d205075b8baf07485be5cd2\",\"urls\":[\"bzz-raw://b2136b9ac8a2f2429c83531150810b144f5f7f1855dc85c60fcf8e8c161889a3\",\"dweb:/ipfs/QmNSB7LStqYoPLkZcDwb1dTcakxBp9iENoFfkTaNswBYXj\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x3a948500b5397c90e926f3bdef9423e7f095f906b23cd1503009802c80bedb41\",\"urls\":[\"bzz-raw://a0ea0b7e5d442257f6159799b7bf262615b0f04e5cd542b0980f131ae40a63bb\",\"dweb:/ipfs/QmX7uugLaXtT5XmYxqfrmDqU2YuknAeYjHMiLm9iHaRfHw\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xed5e532f6ee86029a1a4a1ba8b593296f772909a5f9d95da6cc6c595a838446f\",\"urls\":[\"bzz-raw://4314cbfe4ebd96a48eaf1c14af860aa08b7cd6a73da10391746b4d3410d13d67\",\"dweb:/ipfs/QmfRkWFbxmJUMew6DsDGbK88PypDBUA6PDTJFvfBaMno5n\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBProjectUriRegistry.sol\":{\"keccak256\":\"0x4342aaa8b9566e17691f69fc71e050350dd89b63f5040f092f115610d7a6c0eb\",\"urls\":[\"bzz-raw://88ce07791403524a229b080ad05604962d5b54e57106a533f62bff8a32896b1d\",\"dweb:/ipfs/QmSYxFpoH714CF7mZVhgKvFdYHHgg8R4UGXVXhMS69C7H2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x72c6cbda5a93593e3cc49ef6c4e0848a4b6daa88c188c4192776af86c49911dc\",\"urls\":[\"bzz-raw://448ed5d7a704b5f4dd759514dbcb78160b82732ac6bd7bc368a9f8822045e6de\",\"dweb:/ipfs/QmbnpCPxQLDvQx5ymEy1Ty3aks7bjonydops1CsjCACJBN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesetApprovalHook.sol\":{\"keccak256\":\"0x11dd67effb025396bec1bb97d35a9ba162340e9a824c048e8286802a12acaa45\",\"urls\":[\"bzz-raw://bae11f483c66d98e7fad9bbf47249f6fa4434693e8bace78cbe6d4da9afee009\",\"dweb:/ipfs/QmWjrjPtr8dLGtXQBrz6idwcNqyx2yVSVVQtqo74yqUSZV\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesets.sol\":{\"keccak256\":\"0x8fd69e04aa2b5962a917394c0a4baa6653f7cea93629a1915c1f9c2e870143e5\",\"urls\":[\"bzz-raw://6c7ce64037e6a11cc03e5c66607a219eb25c953ad76aa7b914d2a9e8f0cd5434\",\"dweb:/ipfs/QmYoTec9wfd89HAnNckC2XJWegtgUmfjmi1vJYT4LTXQ61\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBSplitHook.sol\":{\"keccak256\":\"0x8155763689f6f51b5c6712ac6f23728b248a8924e69e63f8aa14d01c78ea17f1\",\"urls\":[\"bzz-raw://7bab14bd7250cc3ba6665573f2a961308a3453015af7a0305488c0db1745f95b\",\"dweb:/ipfs/QmYpKwToPcSChWXyJ75SBEeWKugBygAnQ1WaZ8wWcu5rha\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBSplits.sol\":{\"keccak256\":\"0x9d27fe4d9aa6dcbb24a24ee1fc16e51b51fab1c4ab1eace93981e73f3c4ce636\",\"urls\":[\"bzz-raw://7a6a1243102ac23cb1643bcc670b6b16b70566877941233964159f9b37755113\",\"dweb:/ipfs/Qmewa2o3nyoRwZ4pdhWqUh1ShWXA3GHJffiVafcKYXg2Ao\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTerminal.sol\":{\"keccak256\":\"0xa3621c12f7c2e33ee38b5de626a5939190d8a12b1e5318a7cd8d398595480cec\",\"urls\":[\"bzz-raw://1341254389038383117d9b23ed2f9d1812fc30ef1c11cfd6c8423918894d7ba3\",\"dweb:/ipfs/QmV2WJ5a3NW12RnZAM3ySbEfGHNN6GfqqpsMHXorfoxiQo\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTerminalStore.sol\":{\"keccak256\":\"0x0ab2fd1b5249ff9dcbb51585df7df8c09af309a984fb0a2378426c7fd1800f43\",\"urls\":[\"bzz-raw://8bab809f8ea5692c738fbeb3f83d7b7259e469e03b7e4e3011358f887636ca44\",\"dweb:/ipfs/QmdbyiVSctQZcfibvygyyJntRpwzRoMDKrSkPydn7VouYm\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBToken.sol\":{\"keccak256\":\"0xadb3a7c3c149b60b6b51fdfb2acc814956d8aa9bb94e745c0e907c171b0983f2\",\"urls\":[\"bzz-raw://dddd118b37582f19c7559bdf848f53a29fb16289311bd14957c95fdee9cd28e6\",\"dweb:/ipfs/QmbwWXXVR4SGH9tz6pMKKMZxZ8YF8iRQpMCP3DnXDadx3L\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xcbdb1448260ebea5937411516957ef199099e34ff997e7f2a617c2898f921994\",\"urls\":[\"bzz-raw://d1cbf97e5684c987be6703c096e8230d870fab25a23eec8d209cd082e3f2637b\",\"dweb:/ipfs/QmNmzeuQoFiaUTQAcV1tyJyjUYEJ3t7386zTw4ofT7HoZM\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTokens.sol\":{\"keccak256\":\"0xf7b458ce7e75e1c4daf2052873846b7c99abb098c0d5fbb2ee5d18e132e4a76c\",\"urls\":[\"bzz-raw://ee20abdc20787df386809255eaee2ef27daca71d4769a0d146cc249502ab0604\",\"dweb:/ipfs/QmP3ZpnnnTQKKGNV9KyLxCYXkjBDuiAgqHX6NRGYuYzTaW\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x5d4b095f3b94c52f89b9cf8a8104de0242497e61f1b32ddc82e78a9ba71a6d0f\",\"urls\":[\"bzz-raw://3ac3340339e0b6a7aae881781b2830f59e3f44114955e2f770172a9bffddc104\",\"dweb:/ipfs/QmV9pFGNGcknqHLEuc6rmC1YPwuwtsokjzh1WX8H2jmVRp\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBFixedPointNumber.sol\":{\"keccak256\":\"0x5e260964f6c2d08b2a2929630fe4f261e8a93f40f0d073ed1a8174dbc3ca2fef\",\"urls\":[\"bzz-raw://125b54e29e33cb009a34651b9e255ca3e49545079839e58d14d5c5992871a27d\",\"dweb:/ipfs/QmcGAm8kytywkQogQUabLhuYDC5kLnsTinAm1rBLFwRjf9\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBRulesetMetadataResolver.sol\":{\"keccak256\":\"0xbd3b117f9457dbe55bd29a2daf368a682c0ab25cbedc0139f309809a4ab646c5\",\"urls\":[\"bzz-raw://6a72f70e18edb22b8abc238ba169e5c775696d07915b5d91a8601c1a28ff096e\",\"dweb:/ipfs/QmQZHfiTLqdk1pv1hiursm2icuAwFSzmjGTxRaHMcAqsUh\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAccountingContext.sol\":{\"keccak256\":\"0xf53e975ce2632558a95d0a57679dbb8afff984d06daaa530cd4c442e467c3403\",\"urls\":[\"bzz-raw://519f7c466c8d90227afe2bd9108e7477412600fea8b4134889795a58a51b156c\",\"dweb:/ipfs/QmaSHMrNLfP8D9RRUaYbMWURdZYweUmt5ysgtTGMZiwnai\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAfterCashOutRecordedContext.sol\":{\"keccak256\":\"0x8cd6d13c98bd825d7e61cb3b2f5cbf56e77f9a2f85eaa0e27d82f1fb8d5af4f7\",\"urls\":[\"bzz-raw://0e4ff9a254147cc6728b3bdc3862b77d15b518b49375e400b5f0b78552f14c62\",\"dweb:/ipfs/Qmd25R3LDrnRHiSdrNSdfqk8746A3J3VH44C5HDfHkFvU2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAfterPayRecordedContext.sol\":{\"keccak256\":\"0xcf1761f48e4cbd6eeeb64bb19e434eff50a7f666b2116657f88f63d19620c6de\",\"urls\":[\"bzz-raw://842fe47a4ad56c830040864b458de398efd0cf82eb0add9349e792d0c8b0c275\",\"dweb:/ipfs/QmXBj6EVnzvVX8ZYa2ndyjoSZDGjpXxaoy7dBuoGMaAmRX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBCashOutHookSpecification.sol\":{\"keccak256\":\"0x1579c160a19e68eb06158f56120acf06b8aa4bbbc9836c80fabbb3d2e57ccf3d\",\"urls\":[\"bzz-raw://a81f5e0c384caf0ac11814825ce07e6c6cee97d28f60dcd65dfe8d529b6135fe\",\"dweb:/ipfs/QmY2q7oMFDMN1PoQ8zp7PUQu4K5dYKhYLKBKqrTy42YU6N\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBCurrencyAmount.sol\":{\"keccak256\":\"0x7f321bbcbd13abfbc8f0d08a5adaaf8ef312db5bb899012fcffb6170fbb962a9\",\"urls\":[\"bzz-raw://bf9301ef1dbb3abda7b492585377617508ba048c6170f21a5e7d2b3c034eb384\",\"dweb:/ipfs/QmcetEFxSYLLNSZzPBpNn3Fc8sFcrFE8A8h12ZSj2tLgxD\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBFee.sol\":{\"keccak256\":\"0x354a99f21d8fa1e306886b0163c8b2daed66d32a2b2bcf6eb1dcefecfc7ef471\",\"urls\":[\"bzz-raw://91b468d942f96d5e27882b836d503125aedd8b0da4ea8e4295cd1b619a83073b\",\"dweb:/ipfs/QmT6TL5eEap2GvaWCwcsCEgVVVwnwnNWmBGskrkESJeFKu\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBFundAccessLimitGroup.sol\":{\"keccak256\":\"0x7e62015441edc056c3959fb0e5d0b59a1b209a91ce4beab9d3f6c25e02daf0c0\",\"urls\":[\"bzz-raw://5c77a27155794a7c05ea17ed4bdb382039187b9effecc300563d7fb144029983\",\"dweb:/ipfs/QmXE4FptihU4wSqFLeGWsaNDpZmmNYFLEXMnWGhEC5pf3X\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBPayHookSpecification.sol\":{\"keccak256\":\"0x28f565b626774c36a990ac999f268fbaf9d7f7861e862fab1fb8301f2534e8d1\",\"urls\":[\"bzz-raw://a5d7375934179178febd3b412099b1a5ff42a154ce8b949df2c11b5f3cb3b80e\",\"dweb:/ipfs/QmXP5vVq8Z6HntiuMcPWfQURCKejyiyHLKYuMmzCuUJJtV\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBPermissionsData.sol\":{\"keccak256\":\"0x9cb75b1171657be08950f9fc9f6c2bcb2496f618de4ab932141d424dec29d9df\",\"urls\":[\"bzz-raw://a8f578d6132c92048ae553a3c13260ecfa657f4a1bbe18f6c550d96988167590\",\"dweb:/ipfs/QmSYfGm2mcYfMm4wfnZMTjuUr1kBJoq4vZSCkwdgi9BRFk\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRuleset.sol\":{\"keccak256\":\"0xd03f45345597fca43effe3bc593572c989f4294d909505e331cbd2640a801d23\",\"urls\":[\"bzz-raw://2cc09b335549f4982c16c1109f3078f09fb81c32370baff007633a38badb7a83\",\"dweb:/ipfs/QmYJHBvXscvokRqzdGdTCRQtHUpnePS2uaCDfgHLuuMo56\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRulesetConfig.sol\":{\"keccak256\":\"0x812ca14f18e228fde272c0caf56a59b71302bfb4f9c514ac6fb0989ab8e1c48e\",\"urls\":[\"bzz-raw://9b234704315ac567db402c89dd5be46ca029094872f6dd52698324dd6ddf6a2d\",\"dweb:/ipfs/QmYPUJHLkyUwbYfJ7UdcpgvyzPtibUmhrKtzXQcRtA8Kvz\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRulesetMetadata.sol\":{\"keccak256\":\"0xbb9bda3b7ebb6796fa091ee6ce3182ad2a03dc35b89df0fb1107fae7c26ae0b4\",\"urls\":[\"bzz-raw://1b400674d8ec4e3495041c03d5601c07a68eb5d18a0cff83a5823007d6bad36e\",\"dweb:/ipfs/Qma76CRFPwV9WZq2ttZ2FFvui5BvzRHnftrL3Tz1m9uGKv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRulesetWithMetadata.sol\":{\"keccak256\":\"0x1bcfadf20488f6df65227f8d4d0fbf9b7539456a2389567f7fe3900d23289bc3\",\"urls\":[\"bzz-raw://0a15c399a71e5373f8c0484c6d6b83521eda31e063a2c53e4c5cec4e74550343\",\"dweb:/ipfs/QmQwi8zkjoTVXbK89NeETYimWCacTrNsesJdpLSvGdqMPX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplit.sol\":{\"keccak256\":\"0xf50ba85591d86076ff127e97af2c4b7d1a1be3e20e25d784b64591697d71ab52\",\"urls\":[\"bzz-raw://04276773313a01c2b816c95addea68843c21db3888f4c547eb6e6c486ac55547\",\"dweb:/ipfs/QmZGpxzryNkheek5V9dJWfcJyTP7T52PsPXgRBuweK2rsN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitGroup.sol\":{\"keccak256\":\"0x8dc98fa9e730bee8bcc0a8acf1bc4db1c9b0edf307d969c9c9caa4d6b8d856d9\",\"urls\":[\"bzz-raw://66f4306e0e69c82033927952564fd617e7c4b29aa8b165d5b53a0ebe3109ea12\",\"dweb:/ipfs/QmQqN1u7FHAdEtEZNRcKvZwYtXEQVQnLd6FMzHESP7wDtx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0xa2246f4960ec2b24db3fbfce5d59782cdb9a8fb3c3f832a2c39ddc92859ff170\",\"urls\":[\"bzz-raw://3e3a0ae100c15bb15f0484cb68e3052c3d3d764f84e37020e8dd6b658ff98076\",\"dweb:/ipfs/QmPAv99zN7senrfCMMkeT4RMWpwTdqLgMURQR73BLRe4ZG\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBTerminalConfig.sol\":{\"keccak256\":\"0x9e31505080d3754b6d7db96095b0545930ef6dbc035b91fcc32fdc76a0e7c2a5\",\"urls\":[\"bzz-raw://f7702ab33a1b713c37e5397a55d8ef089289f4da8034cfe9622cbc69a98c47de\",\"dweb:/ipfs/QmXyiXps4aJyiM7vtDC373QUoqwB4DMETaZzC5cZPJKaAK\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBTokenAmount.sol\":{\"keccak256\":\"0xc61593d33d5ec30e695d382948a1b944d01e29a8f2bfd29f75ecebcdbc7816de\",\"urls\":[\"bzz-raw://8992c1e5fca0c2342ecc0e734dfba6a2a752e4c29184784931d0971e44305051\",\"dweb:/ipfs/QmYNcaW3qeCkgAExUaFTq238fgfJuoYCTwjCn7jm94U4dJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/permission-ids-v6/src/JBPermissionIds.sol\":{\"keccak256\":\"0x5105c29834e0dce4e395e262f23089a1077404f5317c591c89f3621cdfda9628\",\"urls\":[\"bzz-raw://54deca2c06d77f5d1087911e8035d244dde2b08a5dc0dff146b86e6a314419e8\",\"dweb:/ipfs/QmNdpTioAbk6bahJx4aT1WFUY9aV182JH1Dn4FqfuqC8QC\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/JBCCIPSucker.sol\":{\"keccak256\":\"0xb1620b28eb88a4a67e86ce626c6052ba321ade81edba40eb8581d532b157fb00\",\"urls\":[\"bzz-raw://db1fa8e0879011421b8b617fec56fa478cb3c28039520b48c85b2c5ac88855dd\",\"dweb:/ipfs/Qmbj9gS5bAA1ChimYs21KkPc3ezKhT6a3PkwDrYS29JqUv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/JBSucker.sol\":{\"keccak256\":\"0x6bf9e8a6cd065a5c43cb1be44d62ed69cc6e86c1077ce3d2e5a2b552b83f1b73\",\"urls\":[\"bzz-raw://9c4da2083c8de16e2ced8bf7f0f9f03dcd5c6bce3089a0f42be15de5f67e6758\",\"dweb:/ipfs/QmTnwsoYbYtuVcppFFFDzR983WEd9rrjdXUr5zyRQUJaXX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/deployers/JBCCIPSuckerDeployer.sol\":{\"keccak256\":\"0xdc4348e18d67c7f6316da098d0b1d5c15a555c2be88e362d2a80c0fd69fd8833\",\"urls\":[\"bzz-raw://161e11cc81b4e192deb88d4043c2bd9d5968bd345c8d84003bf3f0a183117e31\",\"dweb:/ipfs/Qmc1Sukck6tSJmqHuP7KZKr9adyUGPpFcEMLWfknXgV3wL\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/deployers/JBSuckerDeployer.sol\":{\"keccak256\":\"0x45fc70d622e3f74924cd11b3cc818ff40b030ecfd419e6724b24208ccb22797e\",\"urls\":[\"bzz-raw://9cc01e0a4f2fe2564ce4f872f6530b199f68c8a916ff174b61eb1bd302c8e60b\",\"dweb:/ipfs/QmPCKEYksbnuydzupCFrympzn3NFq6zcxt3y4EiecNmDW2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/enums/JBSuckerState.sol\":{\"keccak256\":\"0x0ee6d0d08cd4f538b8c9ff59d480c7c3371c4cb1971e5a67a89088b4b040a608\",\"urls\":[\"bzz-raw://b8cce8e51b084cc9a844dc1040aba00b63b01f97868d52cc9f38b9d354fd741f\",\"dweb:/ipfs/QmTveKLmdZAGbwEwaCTBwofSBtckZsDcew3E7iNTnpeskY\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/ICCIPRouter.sol\":{\"keccak256\":\"0x39a710c2228e5b9175a6e4f5ba8d18c33b8d4ca6e4d13a2c19e4b696106db220\",\"urls\":[\"bzz-raw://f221e355e65b83f558d3ddb92e68de730c02644158cf8881e80ec57d8eaf0c6d\",\"dweb:/ipfs/QmT2soR7tGRyjsA9cZbHy8XyCUMdK69t9c7MewZywaaJsY\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBCCIPSuckerDeployer.sol\":{\"keccak256\":\"0xe85577015e551a721312c12e6f90b8c6a7fd21fe5b7c5cbe8b1011acc3761cb5\",\"urls\":[\"bzz-raw://eda8c84af5c82721cca85b186a630076897cb6743f7c6baeabd61cd7430d729c\",\"dweb:/ipfs/QmNWGgXQDxcNoGGaHorKoRQufPz2mG2SGELqucRFEy9Rsp\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBPeerChainAdjustedAccounts.sol\":{\"keccak256\":\"0x9edb4e2d8aa9becff5b761f84d16048fcc5c2136686ca05dd974f9d2b6568895\",\"urls\":[\"bzz-raw://bd9d6254c7e5c6f315d8e835b2414b943c629bf7ea8e7f23720cef433af6cc9a\",\"dweb:/ipfs/QmVDjtn5BgGhYCpFQ28b2e4rHMit9zLqZKmPCBSENFjBsT\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBSucker.sol\":{\"keccak256\":\"0x570edfbf153b28f44f5dcf4b8e9ee146be16ba08aee58178d288e121edd023d4\",\"urls\":[\"bzz-raw://f67f5797159640a3d39835b7dbac501ca3f4e95fbebdf4673dc884af6c8b4de3\",\"dweb:/ipfs/QmW49DYyf2vrwMz2Jt3x2NuA6Dy4phnyGpifMpGPacQ4qz\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBSuckerDeployer.sol\":{\"keccak256\":\"0x385534f1171e96f75da0fb34c31976a8bff68e3719a87fe526a1bd2c80044826\",\"urls\":[\"bzz-raw://af89283ddccdad821f8d975175082e8a3ecdccba35ad1ec626b2cebbfe5696ec\",\"dweb:/ipfs/QmXAzpwVBH1PwpCZoXFbTXk8v4wUhiKAzXF6chpe5cgoYJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBSuckerExtended.sol\":{\"keccak256\":\"0xe3d34fd1bd702c37de48dc7a1cb7a8bee4fb3f38718ffdaf08ac2cea6338266d\",\"urls\":[\"bzz-raw://f4ce0af97c941ae72aecd78b7cb9376c741d0b4e2637fe5a63f08f44847dafca\",\"dweb:/ipfs/QmXuVb3CYnKywWPEFAuE4goXTrqkQgUbfQNSQHARdvRs9E\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IJBSuckerRegistry.sol\":{\"keccak256\":\"0xa80cf6e229335f88468be1625cb02d65bd84f585e047a720e53661dd5c9caab2\",\"urls\":[\"bzz-raw://01b17afe90ae5f10adfac0d32d54615128ac66fae4357d85f4e12a0cd7259b8d\",\"dweb:/ipfs/QmW3reADRJmkA2ay4AqM5TcseW3ybKvdbexZBG9FuLCUAi\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IWrappedNativeToken.sol\":{\"keccak256\":\"0xd71f962893ff6d4b7c77606602dd5de63c211efbecf51d0677d047107a4aa814\",\"urls\":[\"bzz-raw://5388f0f6c17dad9c478f6e55cec6d73fcc6ac43dc6714bb0e839ea904fd9033c\",\"dweb:/ipfs/QmWTJQHXEPWRYZgAh64D99kzkQa4EqbuKiHNm9JdypCmch\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/libraries/CCIPHelper.sol\":{\"keccak256\":\"0x3d04f34392bb7adb7226552fc7d1bc055ce86b3d0d744b6f9297f05207ba175b\",\"urls\":[\"bzz-raw://b82b460487d15b102dbaf260869c1ee3aaeec89e0ffc108f57f64750a173a918\",\"dweb:/ipfs/QmdA8ZaJDXePE2oKhmWFp5L4Aez7VHLsP1U6ijQ5Z4ZxGB\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/libraries/JBCCIPLib.sol\":{\"keccak256\":\"0xf7ebc8400cfc5d5c21536426888a7cda06fdee67724ed3f36da3d7fefb3065a1\",\"urls\":[\"bzz-raw://ebfdde94047d7cc303de3c51dc578a51eebfefae79866b5ed21ad0d8c2792b0a\",\"dweb:/ipfs/QmZ9BH2ooaHwA7jURUyNSpKsvBcoZKV41rinb8gEfppcyN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/libraries/JBPeerChainAdjustedAccountsLib.sol\":{\"keccak256\":\"0x838291ed97d7089a916f02cd87487cc6fe661af548b969d8ec1fa6d5aa3a918c\",\"urls\":[\"bzz-raw://9511a6fae687968dc8813374eabb4e16322dc4acc680f9f395c7365e3cade8cc\",\"dweb:/ipfs/QmYFq7weEEu9JUCKetn5FPNjg9YGfdMArU6pFhRdkfx1kb\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/libraries/JBSuckerLib.sol\":{\"keccak256\":\"0x5ec3a9d29120856b97d6c6b692ebd78704bdde44af97b45676f54c370ee15c93\",\"urls\":[\"bzz-raw://082924b3338e8c55711254e4abc9c716626fe6fb764040437d0b7ae6e75367e9\",\"dweb:/ipfs/QmYtaK22AHrbZWAHUUPE9oXpu3vC5JJXfPPoK3QWoGQDWy\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBAccountingSnapshot.sol\":{\"keccak256\":\"0x3a3b48c50fe27dd4b2907dd26d9e48de0f8bf7e48e4ac42b65e4c8550b5037cf\",\"urls\":[\"bzz-raw://b61c627efb41e8bf1f77fec9e79a1d43846dfa14ec6d6dfe8b6fc93ab09c3bf8\",\"dweb:/ipfs/QmVx19cqSfeHHzr94n9iJAp45WC6sETtC6fp9SuHX8gNfF\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBChainAccounting.sol\":{\"keccak256\":\"0x40ee90d31b301b8ad7c3879afa605cf65e9f41c763b3c84f9a73f15ef67b8dc3\",\"urls\":[\"bzz-raw://0ef0660386fefb8c4761f7a96484ae88027ae7432939fb43170b209cd54a01b7\",\"dweb:/ipfs/QmSyhhHEyHswUoTT99SekwfoVnCbL9cBjEDHsXcqpWxMKM\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBClaim.sol\":{\"keccak256\":\"0xd616fb935e61727ce04832808667bd40dc121d66f5cc2f347018dfd971635dab\",\"urls\":[\"bzz-raw://dfdcfb12878dc03b4623ddfaa42afa7e8270e8a259a8c453ef4f7e916ca52876\",\"dweb:/ipfs/QmZyAUzatUq2HfGBpoKbeqkC7mpetQC27M3797wgNgkE6H\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBInboxTreeRoot.sol\":{\"keccak256\":\"0x9553483a63fbad26d7f3fc50d47bbf309f6b2b316785bc179fa83f97f6ba88f1\",\"urls\":[\"bzz-raw://fddbe03a2a31812774aba9ffe44b0d0209da182f03ddd7fb8f8f2cb5858a3923\",\"dweb:/ipfs/QmeQJHXw5Bc8s3CXr9kE7Tw35m3Tcmq7DjrEidcB2CK5D5\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBLeaf.sol\":{\"keccak256\":\"0x48da8acc3873c390430f57de4871bce06b0d9a1be75935a4367b694acab447e2\",\"urls\":[\"bzz-raw://0ecb27f67901ef293993dc257efa592191bd2464cf9c2afcf5b53a4ddaff905c\",\"dweb:/ipfs/QmdoA5SkomSqJvx7v3qn9Z1cTzzH43WDCozqoi7GBYKjaA\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBMessageRoot.sol\":{\"keccak256\":\"0x5f51bc50dd2617355fcf6bff543fd190a367f8c2edda2c2e431cac136f21fc27\",\"urls\":[\"bzz-raw://5627bec722dbc3778e3f3d9280cf93552af22679682489463fbb637226331f98\",\"dweb:/ipfs/QmSSK3apkXb86BN6cnhs8V1sTdfgonPXKhHbcwvUGY4zDf\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBOutboxTree.sol\":{\"keccak256\":\"0x52552d8927b83d06955f7d40552b19779bc05e3d4ee58a7e026d160fb1958a92\",\"urls\":[\"bzz-raw://d1f21d7415fa29bf088f1dfc3ba2e7251f1132424194703b7dc2493839495bbe\",\"dweb:/ipfs/QmTUL5mALZi8A6QyrWrp1Qdt2e5S72nyEDPuZPwgW54dc7\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBPeerChainContext.sol\":{\"keccak256\":\"0x1da3d201771c88f2469069d3f2295fd26e2f494e0ec0c4d06d0ccb068f2b26bc\",\"urls\":[\"bzz-raw://2898b578f708e6988392fec3b1eca0eb07cb267c139ed7c1cf1b62f27a153e91\",\"dweb:/ipfs/QmVQJxAdkLZVyVGaeYywrwoA8GkTbBwLykWeroLJvS8A7w\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBPeerChainValue.sol\":{\"keccak256\":\"0x784d12e2ee229cb8242366a27636228d2df62915f8bcc64cb6d72ddcf111f655\",\"urls\":[\"bzz-raw://b7d3885e5f02a52af36487ce6fa15f11ee41674c2821c8959ad6ccaac10941fb\",\"dweb:/ipfs/QmYVdYM55ajAKE78sEkf5GZo45k4iP8t6JceDnce4bpjrW\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBRemoteToken.sol\":{\"keccak256\":\"0x972657457699a63ded3cba38b3796cf619fe1929b7e857d4861e52a06ad9b378\",\"urls\":[\"bzz-raw://b35379dc126296a4f8a47ebd2bc09101ec782677711373245b33017670deb051\",\"dweb:/ipfs/QmQs397EjjPgbZdzQR8yUC6vxMYj3nvJZ26RZ6qy9Thg9N\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBSourceContext.sol\":{\"keccak256\":\"0x1fc57c102ae28eb62103063a13289ed484c5520ce220ee59f4412e9b78f431c2\",\"urls\":[\"bzz-raw://af3a7ba1d82c982f6396cc9444fb69afe2a90279eb6b8b147ce1626bab3836f7\",\"dweb:/ipfs/QmUZybGqw84SgTbqvDk27eXQhpPYLDz7FV6o4M4oJC4chK\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBSuckerDeployerConfig.sol\":{\"keccak256\":\"0xee7d3235a13ea2a66a885f90a2623740029f58fad4121e59b46666abb598fcdd\",\"urls\":[\"bzz-raw://3702c6c3f19d11fa0d0cf8b918cdb122c27e2aec09a67386483834e98f533706\",\"dweb:/ipfs/QmZMwk65iWi5HCwLwHiqwrXSEJMnaZMEM9cW359matZ8AT\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBSuckersPair.sol\":{\"keccak256\":\"0x535f28ba838f066ea773b575f83230663761996cc358f6f9b684340403faab18\",\"urls\":[\"bzz-raw://c94e5c03989b03d66ee9cc08c3299957a25b7c3492416792d1d8fa50d11f34e3\",\"dweb:/ipfs/QmTrsUX4KySQsVZYEY6hjwtL6g5cFqFkwopMMAU47Atyqf\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/structs/JBTokenMapping.sol\":{\"keccak256\":\"0x45ab5eb3775475cbf5b2c011ed8ea78fbc719f5dc13019409f09d53e9719f97b\",\"urls\":[\"bzz-raw://7010e7fe473cc892ee5fbb8310ebf7c739bc64e4c9311b6fd63a358dc16bb634\",\"dweb:/ipfs/Qmcj73PiufP2dRdPVGV3gSfdbneYH13Kx4NP1cYbV5aVX8\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/utils/MerkleLib.sol\":{\"keccak256\":\"0xb08ffa1c6d9394eed1396ecf6bf59333ec925c9cb80623248448a6f1f2a7b366\",\"urls\":[\"bzz-raw://da8df7bd8918eba5116f3ff527352f804f73dc430f03cf529b34b4bb225479d2\",\"dweb:/ipfs/QmarAXVxZAAxePcMgpzsE84E1LNnCEFZKRXjhaBUy46L74\"],\"license\":\"MIT OR Apache-2.0\"},\"node_modules/@chainlink/contracts-ccip/contracts/interfaces/IAny2EVMMessageReceiver.sol\":{\"keccak256\":\"0x8f67554db88baee2d8facee3320fb85fd566f843b9e4bdb6870eafe1637d7919\",\"urls\":[\"bzz-raw://4fb75a68a7a53c0d2d444f996b60b77f329c6e25e96d695f6b6219eb92baebc5\",\"dweb:/ipfs/QmWCaGFSHSx17TgDou3EX2yuofPQnmkiuGX3isUmfHe3mb\"],\"license\":\"MIT\"},\"node_modules/@chainlink/contracts-ccip/contracts/interfaces/IRouterClient.sol\":{\"keccak256\":\"0x21280104a988eb7022f8968b1672bafba80a74e59f5512415009dff9a37be46a\",\"urls\":[\"bzz-raw://1bbcde3e9cd0c60f540ec0f2bbd70724cd6c9650428a1fade8c0589ef163d6ca\",\"dweb:/ipfs/QmajfuurMHa1SKWVVXsydeKuPCGzXkKtRUi2HW5EA7p6gr\"],\"license\":\"MIT\"},\"node_modules/@chainlink/contracts-ccip/contracts/libraries/Client.sol\":{\"keccak256\":\"0xe358b1c7da94e7c601ad4d3f19f50892393f59152b46838057cbc68b21fe9bc8\",\"urls\":[\"bzz-raw://070bdf838421d0c7cad76ecb420d36e175bfa909577a8b9f4761cc5578eaba7e\",\"dweb:/ipfs/QmXrYbsmRkkLe85ttb4Cwjfoz82LUbez55ecZyJPqnwy17\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol\":{\"keccak256\":\"0x9695d220b99dcf62910533bdf5d40d4cf6a4e04d5b106b6803a80586486dc7f7\",\"urls\":[\"bzz-raw://83b7aecd65882d8953643dce144efe91367082cc01830c9c4ed3c8a4837fb558\",\"dweb:/ipfs/QmQ5HxGavcCKjuhd8buv177qjG6A4kvxx4pZviceKdspdM\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098\",\"urls\":[\"bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0\",\"dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f\",\"urls\":[\"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3\",\"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"],\"license\":\"MIT\"},\"node_modules/@uniswap/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x37f0ac203b6ef605c9533e1a739477e8e9dcea90710b40e645a367f8a21ace29\",\"urls\":[\"bzz-raw://e0104d72aeaec1cd66cc232e7de7b7ead08608efcc179491b8a66387614670b0\",\"dweb:/ipfs/QmfAZDyuNC9FXXbnJUwqHNwmAK6uRrXxtWEytLsxjskPsN\"],\"license\":\"MIT\"},\"node_modules/@uniswap/permit2/src/interfaces/IEIP712.sol\":{\"keccak256\":\"0xfdccf2b9639070803cd0e4198427fb0df3cc452ca59bd3b8a0d957a9a4254138\",\"urls\":[\"bzz-raw://f7c936ac42ce89e827db905a1544397f8bdf46db34cdb6aa1b90dea42fdb4c72\",\"dweb:/ipfs/QmVgurxo1N31qZqkPBirw9Z7S9tLYmv6jSwQp8R8ur2cBk\"],\"license\":\"MIT\"},\"node_modules/@uniswap/permit2/src/interfaces/IPermit2.sol\":{\"keccak256\":\"0xaa631cc9f53e699301d94233007110a345e6779011def484e8dd97b8fe0af771\",\"urls\":[\"bzz-raw://fc0502cf19c9c18f320a3001201e89e350393b75837f6b7971de18b2de06f30d\",\"dweb:/ipfs/QmT9SfhdJ7VJNNrf94g4H5usyi7ShqWGx7Cqsz9jZTjX96\"],\"license\":\"MIT\"},\"node_modules/@uniswap/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xe6df9966f8841dc3958ee86169c89de97e7f614c81c28b9dc947b12d732df64e\",\"urls\":[\"bzz-raw://3d4eafdee7f48c3be8350a94eb6edd0bfb2af2c105df65787a77174f356c0317\",\"dweb:/ipfs/QmY1j2adeeAhNpn6cUuthemxGCdLXHTfyMh9yTKsY4mZ2d\"],\"license\":\"MIT\"},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1b96fd03a3948155bd2fe95dc4980930c759b174026e18f11bc8e88d55ae030e\",\"urls\":[\"bzz-raw://64998d16472a127031ee6a796ed9afcf13dd662afd30eb4d3e2a42c2bc9fd204\",\"dweb:/ipfs/QmTXHGy9t8YTW96tjiZ8RBqmijXUTqc1JznEBqHv8Duc4A\"],\"license\":\"MIT\"}},\"version\":1}",
|
|
2462
|
+
"gitCommit": "npm:@bananapus/suckers-v6@1.0.2",
|
|
2463
|
+
"gitDirty": false,
|
|
2464
|
+
"history": []
|
|
2465
|
+
}
|