@bananapus/suckers-v6 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +422 -0
- package/SECURITY.md +55 -0
- package/SKILLS.md +163 -0
- package/deployments/nana-suckers-v5/arbitrum/JBArbitrumSucker.json +1425 -0
- package/deployments/nana-suckers-v5/arbitrum/JBArbitrumSuckerDeployer.json +391 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSucker.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSuckerDeployer.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSuckerDeployer_1.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSuckerDeployer_2.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSucker_1.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum/JBCCIPSucker_2.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum/JBSuckerRegistry.json +690 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBArbitrumSucker.json +1425 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBArbitrumSuckerDeployer.json +391 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSucker.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSuckerDeployer.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSuckerDeployer_1.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSuckerDeployer_2.json +433 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSucker_1.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBCCIPSucker_2.json +1479 -0
- package/deployments/nana-suckers-v5/arbitrum_sepolia/JBSuckerRegistry.json +690 -0
- package/deployments/nana-suckers-v5/base/JBBaseSucker.json +1389 -0
- package/deployments/nana-suckers-v5/base/JBBaseSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSucker.json +1483 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSuckerDeployer.json +436 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSuckerDeployer_1.json +436 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSuckerDeployer_2.json +436 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSucker_1.json +1483 -0
- package/deployments/nana-suckers-v5/base/JBCCIPSucker_2.json +1483 -0
- package/deployments/nana-suckers-v5/base/JBSuckerRegistry.json +694 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBBaseSucker.json +1389 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBBaseSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSucker.json +1483 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSuckerDeployer.json +436 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSuckerDeployer_1.json +436 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSuckerDeployer_2.json +436 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSucker_1.json +1483 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBCCIPSucker_2.json +1483 -0
- package/deployments/nana-suckers-v5/base_sepolia/JBSuckerRegistry.json +694 -0
- package/deployments/nana-suckers-v5/ethereum/JBArbitrumSucker.json +1429 -0
- package/deployments/nana-suckers-v5/ethereum/JBArbitrumSuckerDeployer.json +394 -0
- package/deployments/nana-suckers-v5/ethereum/JBBaseSucker.json +1389 -0
- package/deployments/nana-suckers-v5/ethereum/JBBaseSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSucker.json +1483 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSuckerDeployer.json +436 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSuckerDeployer_1.json +436 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSuckerDeployer_2.json +436 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSucker_1.json +1483 -0
- package/deployments/nana-suckers-v5/ethereum/JBCCIPSucker_2.json +1483 -0
- package/deployments/nana-suckers-v5/ethereum/JBOptimismSucker.json +1389 -0
- package/deployments/nana-suckers-v5/ethereum/JBOptimismSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/ethereum/JBSuckerRegistry.json +694 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSucker.json +1479 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSuckerDeployer.json +433 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSuckerDeployer_1.json +433 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSuckerDeployer_2.json +433 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSucker_1.json +1479 -0
- package/deployments/nana-suckers-v5/optimism/JBCCIPSucker_2.json +1479 -0
- package/deployments/nana-suckers-v5/optimism/JBOptimismSucker.json +1385 -0
- package/deployments/nana-suckers-v5/optimism/JBOptimismSuckerDeployer.json +373 -0
- package/deployments/nana-suckers-v5/optimism/JBSuckerRegistry.json +690 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSucker.json +1483 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSuckerDeployer.json +436 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSuckerDeployer_1.json +436 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSuckerDeployer_2.json +436 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSucker_1.json +1483 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBCCIPSucker_2.json +1483 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBOptimismSucker.json +1389 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBOptimismSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/optimism_sepolia/JBSuckerRegistry.json +694 -0
- package/deployments/nana-suckers-v5/sepolia/JBArbitrumSucker.json +1429 -0
- package/deployments/nana-suckers-v5/sepolia/JBArbitrumSuckerDeployer.json +394 -0
- package/deployments/nana-suckers-v5/sepolia/JBBaseSucker.json +1389 -0
- package/deployments/nana-suckers-v5/sepolia/JBBaseSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSucker.json +1483 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSuckerDeployer.json +436 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSuckerDeployer_1.json +436 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSuckerDeployer_2.json +436 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSucker_1.json +1483 -0
- package/deployments/nana-suckers-v5/sepolia/JBCCIPSucker_2.json +1483 -0
- package/deployments/nana-suckers-v5/sepolia/JBOptimismSucker.json +1389 -0
- package/deployments/nana-suckers-v5/sepolia/JBOptimismSuckerDeployer.json +376 -0
- package/deployments/nana-suckers-v5/sepolia/JBSuckerRegistry.json +694 -0
- package/foundry.lock +11 -0
- package/foundry.toml +22 -0
- package/package.json +33 -0
- package/remappings.txt +1 -0
- package/script/Deploy.s.sol +506 -0
- package/script/helpers/SuckerDeploymentLib.sol +97 -0
- package/slither-ci.config.json +10 -0
- package/sphinx.lock +476 -0
- package/src/JBArbitrumSucker.sol +311 -0
- package/src/JBBaseSucker.sol +41 -0
- package/src/JBCCIPSucker.sol +303 -0
- package/src/JBOptimismSucker.sol +143 -0
- package/src/JBSucker.sol +1159 -0
- package/src/JBSuckerRegistry.sol +262 -0
- package/src/deployers/JBArbitrumSuckerDeployer.sol +86 -0
- package/src/deployers/JBBaseSuckerDeployer.sol +26 -0
- package/src/deployers/JBCCIPSuckerDeployer.sol +88 -0
- package/src/deployers/JBOptimismSuckerDeployer.sol +82 -0
- package/src/deployers/JBSuckerDeployer.sol +147 -0
- package/src/enums/JBAddToBalanceMode.sol +11 -0
- package/src/enums/JBLayer.sol +8 -0
- package/src/enums/JBSuckerState.sol +14 -0
- package/src/interfaces/IArbGatewayRouter.sol +11 -0
- package/src/interfaces/IArbL1GatewayRouter.sol +17 -0
- package/src/interfaces/IArbL2GatewayRouter.sol +14 -0
- package/src/interfaces/ICCIPRouter.sol +11 -0
- package/src/interfaces/IJBArbitrumSucker.sol +13 -0
- package/src/interfaces/IJBArbitrumSuckerDeployer.sol +12 -0
- package/src/interfaces/IJBCCIPSuckerDeployer.sol +15 -0
- package/src/interfaces/IJBOpSuckerDeployer.sol +11 -0
- package/src/interfaces/IJBOptimismSucker.sol +10 -0
- package/src/interfaces/IJBSucker.sol +144 -0
- package/src/interfaces/IJBSuckerDeployer.sol +40 -0
- package/src/interfaces/IJBSuckerExtended.sol +22 -0
- package/src/interfaces/IJBSuckerRegistry.sol +75 -0
- package/src/interfaces/IOPMessenger.sol +18 -0
- package/src/interfaces/IOPStandardBridge.sol +29 -0
- package/src/interfaces/IWrappedNativeToken.sol +13 -0
- package/src/libraries/ARBAddresses.sol +17 -0
- package/src/libraries/ARBChains.sol +11 -0
- package/src/libraries/CCIPHelper.sol +136 -0
- package/src/structs/JBClaim.sol +13 -0
- package/src/structs/JBInboxTreeRoot.sol +12 -0
- package/src/structs/JBLeaf.sol +14 -0
- package/src/structs/JBMessageRoot.sol +16 -0
- package/src/structs/JBOutboxTree.sol +18 -0
- package/src/structs/JBRemoteToken.sol +17 -0
- package/src/structs/JBSuckerDeployerConfig.sol +12 -0
- package/src/structs/JBSuckersPair.sol +11 -0
- package/src/structs/JBTokenMapping.sol +13 -0
- package/src/utils/MerkleLib.sol +1020 -0
- package/test/Fork.t.sol +514 -0
- package/test/InteropCompat.t.sol +676 -0
- package/test/SuckerAttacks.t.sol +509 -0
- package/test/SuckerDeepAttacks.t.sol +1563 -0
- package/test/mocks/ERC20Mock.sol +36 -0
- package/test/mocks/MockMessenger.sol +42 -0
- package/test/unit/arb.t.sol +28 -0
- package/test/unit/ccip_native_interop.t.sol +719 -0
- package/test/unit/ccip_refund.t.sol +234 -0
- package/test/unit/deployer.t.sol +475 -0
- package/test/unit/emergency.t.sol +305 -0
- package/test/unit/merkle.t.sol +212 -0
- package/test/unit/multi_chain_evolution.t.sol +622 -0
- package/test/unit/registry.t.sol +26 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": "sphinx-sol-ct-artifact-1",
|
|
3
|
+
"merkleRoot": "0xaf5e28bbeeb8122b7e38bf2cb4c20e25753886f2cc3a4b8bc8ead5d3ccb5c985",
|
|
4
|
+
"address": "0x58683931b146697d094c660aec1f4a8f564a3d7d",
|
|
5
|
+
"sourceName": "src/deployers/JBCCIPSuckerDeployer.sol",
|
|
6
|
+
"contractName": "JBCCIPSuckerDeployer",
|
|
7
|
+
"chainId": "0xaa37dc",
|
|
8
|
+
"abi": [
|
|
9
|
+
{
|
|
10
|
+
"inputs": [
|
|
11
|
+
{
|
|
12
|
+
"internalType": "contract IJBDirectory",
|
|
13
|
+
"name": "directory",
|
|
14
|
+
"type": "address"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"internalType": "contract IJBPermissions",
|
|
18
|
+
"name": "permissions",
|
|
19
|
+
"type": "address"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"internalType": "contract IJBTokens",
|
|
23
|
+
"name": "tokens",
|
|
24
|
+
"type": "address"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "configurator",
|
|
29
|
+
"type": "address"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"internalType": "address",
|
|
33
|
+
"name": "trusted_forwarder",
|
|
34
|
+
"type": "address"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"stateMutability": "nonpayable",
|
|
38
|
+
"type": "constructor"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"inputs": [],
|
|
42
|
+
"name": "DIRECTORY",
|
|
43
|
+
"outputs": [
|
|
44
|
+
{
|
|
45
|
+
"internalType": "contract IJBDirectory",
|
|
46
|
+
"name": "",
|
|
47
|
+
"type": "address"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"stateMutability": "view",
|
|
51
|
+
"type": "function"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputs": [],
|
|
55
|
+
"name": "LAYER_SPECIFIC_CONFIGURATOR",
|
|
56
|
+
"outputs": [
|
|
57
|
+
{
|
|
58
|
+
"internalType": "address",
|
|
59
|
+
"name": "",
|
|
60
|
+
"type": "address"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"stateMutability": "view",
|
|
64
|
+
"type": "function"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"inputs": [],
|
|
68
|
+
"name": "PERMISSIONS",
|
|
69
|
+
"outputs": [
|
|
70
|
+
{
|
|
71
|
+
"internalType": "contract IJBPermissions",
|
|
72
|
+
"name": "",
|
|
73
|
+
"type": "address"
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"stateMutability": "view",
|
|
77
|
+
"type": "function"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"inputs": [],
|
|
81
|
+
"name": "TOKENS",
|
|
82
|
+
"outputs": [
|
|
83
|
+
{
|
|
84
|
+
"internalType": "contract IJBTokens",
|
|
85
|
+
"name": "",
|
|
86
|
+
"type": "address"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"stateMutability": "view",
|
|
90
|
+
"type": "function"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"inputs": [],
|
|
94
|
+
"name": "ccipRemoteChainId",
|
|
95
|
+
"outputs": [
|
|
96
|
+
{
|
|
97
|
+
"internalType": "uint256",
|
|
98
|
+
"name": "",
|
|
99
|
+
"type": "uint256"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"stateMutability": "view",
|
|
103
|
+
"type": "function"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"inputs": [],
|
|
107
|
+
"name": "ccipRemoteChainSelector",
|
|
108
|
+
"outputs": [
|
|
109
|
+
{
|
|
110
|
+
"internalType": "uint64",
|
|
111
|
+
"name": "",
|
|
112
|
+
"type": "uint64"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"stateMutability": "view",
|
|
116
|
+
"type": "function"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"inputs": [],
|
|
120
|
+
"name": "ccipRouter",
|
|
121
|
+
"outputs": [
|
|
122
|
+
{
|
|
123
|
+
"internalType": "contract ICCIPRouter",
|
|
124
|
+
"name": "",
|
|
125
|
+
"type": "address"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"stateMutability": "view",
|
|
129
|
+
"type": "function"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"inputs": [
|
|
133
|
+
{
|
|
134
|
+
"internalType": "contract JBSucker",
|
|
135
|
+
"name": "_singleton",
|
|
136
|
+
"type": "address"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"name": "configureSingleton",
|
|
140
|
+
"outputs": [],
|
|
141
|
+
"stateMutability": "nonpayable",
|
|
142
|
+
"type": "function"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"inputs": [
|
|
146
|
+
{
|
|
147
|
+
"internalType": "uint256",
|
|
148
|
+
"name": "localProjectId",
|
|
149
|
+
"type": "uint256"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"internalType": "bytes32",
|
|
153
|
+
"name": "salt",
|
|
154
|
+
"type": "bytes32"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"name": "createForSender",
|
|
158
|
+
"outputs": [
|
|
159
|
+
{
|
|
160
|
+
"internalType": "contract IJBSucker",
|
|
161
|
+
"name": "sucker",
|
|
162
|
+
"type": "address"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"stateMutability": "nonpayable",
|
|
166
|
+
"type": "function"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"inputs": [
|
|
170
|
+
{
|
|
171
|
+
"internalType": "address",
|
|
172
|
+
"name": "",
|
|
173
|
+
"type": "address"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"name": "isSucker",
|
|
177
|
+
"outputs": [
|
|
178
|
+
{
|
|
179
|
+
"internalType": "bool",
|
|
180
|
+
"name": "",
|
|
181
|
+
"type": "bool"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"stateMutability": "view",
|
|
185
|
+
"type": "function"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"inputs": [
|
|
189
|
+
{
|
|
190
|
+
"internalType": "address",
|
|
191
|
+
"name": "forwarder",
|
|
192
|
+
"type": "address"
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
"name": "isTrustedForwarder",
|
|
196
|
+
"outputs": [
|
|
197
|
+
{
|
|
198
|
+
"internalType": "bool",
|
|
199
|
+
"name": "",
|
|
200
|
+
"type": "bool"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"stateMutability": "view",
|
|
204
|
+
"type": "function"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"inputs": [
|
|
208
|
+
{
|
|
209
|
+
"internalType": "uint256",
|
|
210
|
+
"name": "remoteChainId",
|
|
211
|
+
"type": "uint256"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"internalType": "uint64",
|
|
215
|
+
"name": "remoteChainSelector",
|
|
216
|
+
"type": "uint64"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"internalType": "contract ICCIPRouter",
|
|
220
|
+
"name": "router",
|
|
221
|
+
"type": "address"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"name": "setChainSpecificConstants",
|
|
225
|
+
"outputs": [],
|
|
226
|
+
"stateMutability": "nonpayable",
|
|
227
|
+
"type": "function"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"inputs": [],
|
|
231
|
+
"name": "singleton",
|
|
232
|
+
"outputs": [
|
|
233
|
+
{
|
|
234
|
+
"internalType": "contract JBSucker",
|
|
235
|
+
"name": "",
|
|
236
|
+
"type": "address"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"stateMutability": "view",
|
|
240
|
+
"type": "function"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"inputs": [],
|
|
244
|
+
"name": "trustedForwarder",
|
|
245
|
+
"outputs": [
|
|
246
|
+
{
|
|
247
|
+
"internalType": "address",
|
|
248
|
+
"name": "",
|
|
249
|
+
"type": "address"
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"stateMutability": "view",
|
|
253
|
+
"type": "function"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"anonymous": false,
|
|
257
|
+
"inputs": [
|
|
258
|
+
{
|
|
259
|
+
"indexed": false,
|
|
260
|
+
"internalType": "address",
|
|
261
|
+
"name": "ccipRouter",
|
|
262
|
+
"type": "address"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"indexed": false,
|
|
266
|
+
"internalType": "uint256",
|
|
267
|
+
"name": "ccipRemoteChainId",
|
|
268
|
+
"type": "uint256"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"indexed": false,
|
|
272
|
+
"internalType": "uint64",
|
|
273
|
+
"name": "ccipRemoteChainSelector",
|
|
274
|
+
"type": "uint64"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"indexed": false,
|
|
278
|
+
"internalType": "address",
|
|
279
|
+
"name": "caller",
|
|
280
|
+
"type": "address"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"name": "CCIPConstantsSet",
|
|
284
|
+
"type": "event"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"inputs": [
|
|
288
|
+
{
|
|
289
|
+
"internalType": "address",
|
|
290
|
+
"name": "router",
|
|
291
|
+
"type": "address"
|
|
292
|
+
}
|
|
293
|
+
],
|
|
294
|
+
"name": "JBCCIPSuckerDeployer_InvalidCCIPRouter",
|
|
295
|
+
"type": "error"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"inputs": [
|
|
299
|
+
{
|
|
300
|
+
"internalType": "address",
|
|
301
|
+
"name": "account",
|
|
302
|
+
"type": "address"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"internalType": "address",
|
|
306
|
+
"name": "sender",
|
|
307
|
+
"type": "address"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"internalType": "uint256",
|
|
311
|
+
"name": "projectId",
|
|
312
|
+
"type": "uint256"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"internalType": "uint256",
|
|
316
|
+
"name": "permissionId",
|
|
317
|
+
"type": "uint256"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
"name": "JBPermissioned_Unauthorized",
|
|
321
|
+
"type": "error"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"inputs": [],
|
|
325
|
+
"name": "JBSuckerDeployer_AlreadyConfigured",
|
|
326
|
+
"type": "error"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"inputs": [],
|
|
330
|
+
"name": "JBSuckerDeployer_DeployerIsNotConfigured",
|
|
331
|
+
"type": "error"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"inputs": [],
|
|
335
|
+
"name": "JBSuckerDeployer_InvalidLayerSpecificConfiguration",
|
|
336
|
+
"type": "error"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"inputs": [],
|
|
340
|
+
"name": "JBSuckerDeployer_LayerSpecificNotConfigured",
|
|
341
|
+
"type": "error"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"inputs": [
|
|
345
|
+
{
|
|
346
|
+
"internalType": "address",
|
|
347
|
+
"name": "caller",
|
|
348
|
+
"type": "address"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"internalType": "address",
|
|
352
|
+
"name": "expected",
|
|
353
|
+
"type": "address"
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"name": "JBSuckerDeployer_Unauthorized",
|
|
357
|
+
"type": "error"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"inputs": [],
|
|
361
|
+
"name": "JBSuckerDeployer_ZeroConfiguratorAddress",
|
|
362
|
+
"type": "error"
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
"args": [],
|
|
366
|
+
"solcInputHash": "14ce4938174f25cdd1fbe9b98155e159",
|
|
367
|
+
"receipt": {
|
|
368
|
+
"type": "0x2",
|
|
369
|
+
"status": "0x1",
|
|
370
|
+
"cumulativeGasUsed": "0xc2076",
|
|
371
|
+
"logs": [
|
|
372
|
+
{
|
|
373
|
+
"address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
374
|
+
"topics": [
|
|
375
|
+
"0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
|
|
376
|
+
"0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
377
|
+
"0x000000000000000000000000691d6d2e1f0fb22b67e7471310ddcb3a881cc968",
|
|
378
|
+
"0x004fbdc0d2b5cd1eae901ecaee56cb7c811f24dee3b8dccfe49d21d2ff82a9ae"
|
|
379
|
+
],
|
|
380
|
+
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
381
|
+
"blockHash": "0x56251eee6abd6bd7c571d57d1b0b964a12e53f8eeb3f63c3c87c3a97902c2a3b",
|
|
382
|
+
"blockNumber": "0x1f572f7",
|
|
383
|
+
"blockTimestamp": "0x68c1c19a",
|
|
384
|
+
"transactionHash": "0xb7f7fdcb1c944df07c7c2336e52fd04fb9461d59f7af94195e8c2b49c10539e4",
|
|
385
|
+
"transactionIndex": "0x2",
|
|
386
|
+
"logIndex": "0x0",
|
|
387
|
+
"removed": false
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"address": "0x80a8f7a4bd75b539ce26937016df607fdc9abeb5",
|
|
391
|
+
"topics": [
|
|
392
|
+
"0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
|
|
393
|
+
"0x000000000000000000000000691d6d2e1f0fb22b67e7471310ddcb3a881cc968"
|
|
394
|
+
],
|
|
395
|
+
"data": "0x",
|
|
396
|
+
"blockHash": "0x56251eee6abd6bd7c571d57d1b0b964a12e53f8eeb3f63c3c87c3a97902c2a3b",
|
|
397
|
+
"blockNumber": "0x1f572f7",
|
|
398
|
+
"blockTimestamp": "0x68c1c19a",
|
|
399
|
+
"transactionHash": "0xb7f7fdcb1c944df07c7c2336e52fd04fb9461d59f7af94195e8c2b49c10539e4",
|
|
400
|
+
"transactionIndex": "0x2",
|
|
401
|
+
"logIndex": "0x1",
|
|
402
|
+
"removed": false
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"address": "0x691d6d2e1f0fb22b67e7471310ddcb3a881cc968",
|
|
406
|
+
"topics": [
|
|
407
|
+
"0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
|
|
408
|
+
"0xaf5e28bbeeb8122b7e38bf2cb4c20e25753886f2cc3a4b8bc8ead5d3ccb5c985"
|
|
409
|
+
],
|
|
410
|
+
"data": "0x000000000000000000000000000000000000000000000000000000000000000d",
|
|
411
|
+
"blockHash": "0x56251eee6abd6bd7c571d57d1b0b964a12e53f8eeb3f63c3c87c3a97902c2a3b",
|
|
412
|
+
"blockNumber": "0x1f572f7",
|
|
413
|
+
"blockTimestamp": "0x68c1c19a",
|
|
414
|
+
"transactionHash": "0xb7f7fdcb1c944df07c7c2336e52fd04fb9461d59f7af94195e8c2b49c10539e4",
|
|
415
|
+
"transactionIndex": "0x2",
|
|
416
|
+
"logIndex": "0x2",
|
|
417
|
+
"removed": false
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"logsBloom": "0x00000000000010000000000000080000000800000000000040000000000400000040000000000000000000000040000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000800000000000000000104000000100000000000100000000020000000000000004000040000000000080000000000002300000000000000000000000044000000800002004000000000000000000000000000000000000000000000000000020000000000000000000100000000000200000000000080000000000000000000",
|
|
421
|
+
"transactionHash": "0xb7f7fdcb1c944df07c7c2336e52fd04fb9461d59f7af94195e8c2b49c10539e4",
|
|
422
|
+
"transactionIndex": "0x2",
|
|
423
|
+
"blockHash": "0x56251eee6abd6bd7c571d57d1b0b964a12e53f8eeb3f63c3c87c3a97902c2a3b",
|
|
424
|
+
"blockNumber": "0x1f572f7",
|
|
425
|
+
"gasUsed": "0xb1a2e",
|
|
426
|
+
"effectiveGasPrice": "0x24a02c",
|
|
427
|
+
"from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
|
|
428
|
+
"to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
|
|
429
|
+
"contractAddress": null
|
|
430
|
+
},
|
|
431
|
+
"bytecode": "0x61012060405234801561001157600080fd5b50604051610c39380380610c39833981016040819052610030916100ff565b6001600160a01b0380821660805280851660a05280861660c05280841661010052821660e08190528590859085908590859015801561007457506100726100a1565b155b156100925760405163541b408960e11b815260040160405180910390fd5b50505050505050505050610174565b60006002546000141580156100c057506003546001600160401b031615155b80156100e257506003546801000000000000000090046001600160a01b031615155b905090565b6001600160a01b03811681146100fc57600080fd5b50565b600080600080600060a0868803121561011757600080fd5b8551610122816100e7565b6020870151909550610133816100e7565b6040870151909450610144816100e7565b6060870151909350610155816100e7565b6080870151909250610166816100e7565b809150509295509295909350565b60805160a05160c05160e05161010051610a5e6101db600039600061015801526000818161017f015281816104c401528181610542015261069901526000610246015260006102d00152600081816101c40152818161021d01526108140152610a5e6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806363a49dc31161008c578063b62654fb11610066578063b62654fb14610268578063c39ec1241461027b578063d86161871461029e578063f434c914146102cb57600080fd5b806363a49dc3146102045780637da0a8771461021b57806388bc2ef31461024157600080fd5b80631d831d5c116100c85780631d831d5c146101535780631e5d73df1461017a5780633eeb32ee146101a1578063572b6c05146101b457600080fd5b80630de22984146100ef578063121303661461012b578063143b07391461013e575b600080fd5b60035461010e906801000000000000000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61010e6101393660046108d0565b6102f2565b61015161014c36600461090a565b610483565b005b61010e7f000000000000000000000000000000000000000000000000000000000000000081565b61010e7f000000000000000000000000000000000000000000000000000000000000000081565b6101516101af366004610959565b610697565b6101f46101c2366004610959565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6040519015158152602001610122565b61020d60025481565b604051908152602001610122565b7f000000000000000000000000000000000000000000000000000000000000000061010e565b61010e7f000000000000000000000000000000000000000000000000000000000000000081565b60015461010e906001600160a01b031681565b6101f4610289366004610959565b60006020819052908152604090205460ff1681565b6003546102b29067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610122565b61010e7f000000000000000000000000000000000000000000000000000000000000000081565b6001546000906001600160a01b0316610337576040517fbc700a3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033f61079a565b8260405160200161038192919060609290921b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168252601482015260340190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101206001549092506103d0906001600160a01b0316836107a9565b6001600160a01b0381166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517ffe4b84df000000000000000000000000000000000000000000000000000000008152600481018690529192509063fe4b84df90602401600060405180830381600087803b15801561046557600080fd5b505af1158015610479573d6000803e3d6000fd5b5050505092915050565b61048b6107be565b156104c2576040517f52880bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104f461079a565b6001600160a01b0316146105755761050a61079a565b6040517fdcd3b8230000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b6002839055600380546001600160a01b03831668010000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090911667ffffffffffffffff8516171790556105ce6107be565b610604576040517fb140414800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546002547f9577d077d4c8b2b8569837e5fea459039af59339c78cf4e4cce39fa8cdf322df916001600160a01b0368010000000000000000820416919067ffffffffffffffff1661065561079a565b604080516001600160a01b039586168152602081019490945267ffffffffffffffff9290921683830152909216606082015290519081900360800190a1505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106c961079a565b6001600160a01b0316146106df5761050a61079a565b6106e76107be565b61071d576040517fe2e55a4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546001600160a01b031615610760576040517f52880bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60006107a4610804565b905090565b60006107b760008484610879565b9392505050565b60006002546000141580156107de575060035467ffffffffffffffff1615155b80156107a457506003546801000000000000000090046001600160a01b03161515905090565b6000366014336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156108415750808210155b15610871576000366108538385610976565b61085e9282906109b6565b610867916109e0565b60601c9250505090565b339250505090565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806108c45763301164256000526004601cfd5b60006021529392505050565b600080604083850312156108e357600080fd5b50508035926020909101359150565b6001600160a01b038116811461090757600080fd5b50565b60008060006060848603121561091f57600080fd5b83359250602084013567ffffffffffffffff8116811461093e57600080fd5b9150604084013561094e816108f2565b809150509250925092565b60006020828403121561096b57600080fd5b81356107b7816108f2565b818103818111156109b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b600080858511156109c657600080fd5b838611156109d357600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015610a205780818660140360031b1b83161692505b50509291505056fea26469706673582212201ef65610bbd1f6aea95a727713d95bf235f474f61b5f0a85facc2125a9af49bb64736f6c63430008170033",
|
|
432
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806363a49dc31161008c578063b62654fb11610066578063b62654fb14610268578063c39ec1241461027b578063d86161871461029e578063f434c914146102cb57600080fd5b806363a49dc3146102045780637da0a8771461021b57806388bc2ef31461024157600080fd5b80631d831d5c116100c85780631d831d5c146101535780631e5d73df1461017a5780633eeb32ee146101a1578063572b6c05146101b457600080fd5b80630de22984146100ef578063121303661461012b578063143b07391461013e575b600080fd5b60035461010e906801000000000000000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61010e6101393660046108d0565b6102f2565b61015161014c36600461090a565b610483565b005b61010e7f0000000000000000000000004d0edd347fb1fa21589c1e109b3474924be8763681565b61010e7f00000000000000000000000080a8f7a4bd75b539ce26937016df607fdc9abeb581565b6101516101af366004610959565b610697565b6101f46101c2366004610959565b7f000000000000000000000000c29d6995ab3b0df4650ad643adeac55e7acbb5666001600160a01b0390811691161490565b6040519015158152602001610122565b61020d60025481565b604051908152602001610122565b7f000000000000000000000000c29d6995ab3b0df4650ad643adeac55e7acbb56661010e565b61010e7f0000000000000000000000000061e516886a0540f63157f112c0588ee0651dcf81565b60015461010e906001600160a01b031681565b6101f4610289366004610959565b60006020819052908152604090205460ff1681565b6003546102b29067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610122565b61010e7f00000000000000000000000004fd6913d6c32d8c216e153a43c04b1857a7793d81565b6001546000906001600160a01b0316610337576040517fbc700a3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033f61079a565b8260405160200161038192919060609290921b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168252601482015260340190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101206001549092506103d0906001600160a01b0316836107a9565b6001600160a01b0381166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517ffe4b84df000000000000000000000000000000000000000000000000000000008152600481018690529192509063fe4b84df90602401600060405180830381600087803b15801561046557600080fd5b505af1158015610479573d6000803e3d6000fd5b5050505092915050565b61048b6107be565b156104c2576040517f52880bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000080a8f7a4bd75b539ce26937016df607fdc9abeb56001600160a01b03166104f461079a565b6001600160a01b0316146105755761050a61079a565b6040517fdcd3b8230000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f00000000000000000000000080a8f7a4bd75b539ce26937016df607fdc9abeb5909116602482015260440160405180910390fd5b6002839055600380546001600160a01b03831668010000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090911667ffffffffffffffff8516171790556105ce6107be565b610604576040517fb140414800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546002547f9577d077d4c8b2b8569837e5fea459039af59339c78cf4e4cce39fa8cdf322df916001600160a01b0368010000000000000000820416919067ffffffffffffffff1661065561079a565b604080516001600160a01b039586168152602081019490945267ffffffffffffffff9290921683830152909216606082015290519081900360800190a1505050565b7f00000000000000000000000080a8f7a4bd75b539ce26937016df607fdc9abeb56001600160a01b03166106c961079a565b6001600160a01b0316146106df5761050a61079a565b6106e76107be565b61071d576040517fe2e55a4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546001600160a01b031615610760576040517f52880bb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60006107a4610804565b905090565b60006107b760008484610879565b9392505050565b60006002546000141580156107de575060035467ffffffffffffffff1615155b80156107a457506003546801000000000000000090046001600160a01b03161515905090565b6000366014336001600160a01b037f000000000000000000000000c29d6995ab3b0df4650ad643adeac55e7acbb566161480156108415750808210155b15610871576000366108538385610976565b61085e9282906109b6565b610867916109e0565b60601c9250505090565b339250505090565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806108c45763301164256000526004601cfd5b60006021529392505050565b600080604083850312156108e357600080fd5b50508035926020909101359150565b6001600160a01b038116811461090757600080fd5b50565b60008060006060848603121561091f57600080fd5b83359250602084013567ffffffffffffffff8116811461093e57600080fd5b9150604084013561094e816108f2565b809150509250925092565b60006020828403121561096b57600080fd5b81356107b7816108f2565b818103818111156109b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b600080858511156109c657600080fd5b838611156109d357600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015610a205780818660140360031b1b83161692505b50509291505056fea26469706673582212201ef65610bbd1f6aea95a727713d95bf235f474f61b5f0a85facc2125a9af49bb64736f6c63430008170033",
|
|
433
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBPermissions\",\"name\":\"permissions\",\"type\":\"address\"},{\"internalType\":\"contract IJBTokens\",\"name\":\"tokens\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"configurator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trusted_forwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}],\"name\":\"JBCCIPSuckerDeployer_InvalidCCIPRouter\",\"type\":\"error\"},{\"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\"}],\"name\":\"JBPermissioned_Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"JBSuckerDeployer_AlreadyConfigured\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"JBSuckerDeployer_DeployerIsNotConfigured\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"JBSuckerDeployer_InvalidLayerSpecificConfiguration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"JBSuckerDeployer_LayerSpecificNotConfigured\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expected\",\"type\":\"address\"}],\"name\":\"JBSuckerDeployer_Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"JBSuckerDeployer_ZeroConfiguratorAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"ccipRouter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ccipRemoteChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ccipRemoteChainSelector\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CCIPConstantsSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DIRECTORY\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAYER_SPECIFIC_CONFIGURATOR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMISSIONS\",\"outputs\":[{\"internalType\":\"contract IJBPermissions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKENS\",\"outputs\":[{\"internalType\":\"contract IJBTokens\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ccipRemoteChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ccipRemoteChainSelector\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ccipRouter\",\"outputs\":[{\"internalType\":\"contract ICCIPRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract JBSucker\",\"name\":\"_singleton\",\"type\":\"address\"}],\"name\":\"configureSingleton\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"localProjectId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"createForSender\",\"outputs\":[{\"internalType\":\"contract IJBSucker\",\"name\":\"sucker\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSucker\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"}],\"name\":\"isTrustedForwarder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"remoteChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"contract ICCIPRouter\",\"name\":\"router\",\"type\":\"address\"}],\"name\":\"setChainSpecificConstants\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleton\",\"outputs\":[{\"internalType\":\"contract JBSucker\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"configureSingleton(address)\":{\"details\":\"Can only be called *once* by the layer specific configurator.\",\"params\":{\"_singleton\":\"The address of the singleton.\"}},\"constructor\":{\"params\":{\"configurator\":\"The address of the configurator.\",\"directory\":\"The directory of terminals and controllers for projects.\",\"permissions\":\"The permissions contract for the deployer.\",\"tokens\":\"The contract that manages token minting and burning.\"}},\"createForSender(uint256,bytes32)\":{\"details\":\"Uses the sender address as the salt, which means the same sender must call this function on both chains.\",\"params\":{\"localProjectId\":\"The project's ID on the local chain.\",\"salt\":\"The salt to use for the `create2` address.\"},\"returns\":{\"sucker\":\"The address of the new sucker.\"}},\"isTrustedForwarder(address)\":{\"details\":\"Indicates whether any particular address is the trusted forwarder.\"},\"setChainSpecificConstants(uint256,uint64,address)\":{\"params\":{\"remoteChainId\":\"The remote chain id.\",\"remoteChainSelector\":\"The CCIP remote chain selector.\",\"router\":\"The CCIP router for this chain.\"}},\"trustedForwarder()\":{\"details\":\"Returns the address of the trusted forwarder.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DIRECTORY()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"LAYER_SPECIFIC_CONFIGURATOR()\":{\"notice\":\"Only this address can configure this deployer, can only be used once.\"},\"PERMISSIONS()\":{\"notice\":\"A contract storing permissions.\"},\"TOKENS()\":{\"notice\":\"The contract that manages token minting and burning.\"},\"ccipRemoteChainId()\":{\"notice\":\"Store the remote chain id\"},\"ccipRemoteChainSelector()\":{\"notice\":\"The remote chain selector target of all sucker deployed by this contract.\"},\"ccipRouter()\":{\"notice\":\"Store the address of the CCIP router for this chain.\"},\"configureSingleton(address)\":{\"notice\":\"Configure the singleton instance that is used to clone suckers.\"},\"createForSender(uint256,bytes32)\":{\"notice\":\"Create a new `JBSucker` for a specific project.\"},\"isSucker(address)\":{\"notice\":\"A mapping of suckers deployed by this contract.\"},\"setChainSpecificConstants(uint256,uint64,address)\":{\"notice\":\"handles some layer specific configuration that can't be done in the constructor otherwise deployment addresses would change.\"},\"singleton()\":{\"notice\":\"The singleton used to clone suckers.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/deployers/JBCCIPSuckerDeployer.sol\":\"JBCCIPSuckerDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@bananapus/=node_modules/@bananapus/\",\"@chainlink/=node_modules/@chainlink/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/contracts/=node_modules/@sphinx-labs/contracts/contracts/foundry/\",\"@uniswap/=node_modules/@uniswap/\",\"@zksync/=node_modules/@zksync/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/solmate/\",\"sphinx/=lib/sphinx/packages/contracts/contracts/forge-std/src/\"]},\"sources\":{\"node_modules/@arbitrum/nitro-contracts/src/bridge/IBridge.sol\":{\"keccak256\":\"0xeba1e59fa4dd56d0d2cd775ab726d08e470bf3056f5473ce62b98499e55ff7bd\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fca93cb8bf8369a86d299b263081d1789fd5f0b2579cd229f26e007b8f269d5f\",\"dweb:/ipfs/QmVwEQLsy7sSGwJ7MEWeHPwSunKu1Hr5YozzNy6CW1prmH\"]},\"node_modules/@arbitrum/nitro-contracts/src/bridge/IDelayedMessageProvider.sol\":{\"keccak256\":\"0x1f216daf990c329310f44818e1c05d81c07fe875a5a07dd379d2c8fac921f208\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d6ccdab97fb5c8b7d9a80b713dc6bd9bc0e71e9d41900ac5c7cf96cb2643aad6\",\"dweb:/ipfs/QmeypCFXVXbTu3RehtFti4PMfuTCyzVKDwfGiZ2PeewRSG\"]},\"node_modules/@arbitrum/nitro-contracts/src/bridge/IInbox.sol\":{\"keccak256\":\"0xee6e59278213c18faa2908a8e540ca26b288f47e5b65822d5140ce021488a00c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8dac67605a1aa2d35c884603a51f2791c647a6d8d75ba1d698816fa90c2645f8\",\"dweb:/ipfs/QmSVjgCcGsPGrXskZAMo9FDnpYRQ8tpmMhW7uxftYFfDJD\"]},\"node_modules/@arbitrum/nitro-contracts/src/bridge/IInboxBase.sol\":{\"keccak256\":\"0x2d8800ecb63220a0174770080f714f5de9823ddd08888e23e79b80282a4940ea\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5e4f3420abcddbac00e09cdfbb1b6af9de7fa73b5b27c53b71c06e9a35ae0ba3\",\"dweb:/ipfs/QmTJimLXfWzUB8F8aPFAdeMsYVTFY1SywPPDEuFk397JNT\"]},\"node_modules/@arbitrum/nitro-contracts/src/bridge/IOwnable.sol\":{\"keccak256\":\"0x0ce0ccc2cd25968ab37aef146be9c9a615c3f2ad239fa759d1745190666729fd\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6516e1a94fdc9530b90ceb408e3083ecc7e844afd4fc34a7ccab89a191c3b88f\",\"dweb:/ipfs/QmZ4UwQe1pgTJxx1XqzcAKTgu9Wo6qZA5WSCPHygFJSdi8\"]},\"node_modules/@arbitrum/nitro-contracts/src/bridge/ISequencerInbox.sol\":{\"keccak256\":\"0x97341bd4cc27f3eae77980a722dfeb2b0b29492e920740a6138aa0812711c69a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://78acecb4885ba0b5c1a91d5c79cc99c6ff16e0ebffd5dd1e9f99ac6e6d11344d\",\"dweb:/ipfs/QmSDK7G79KKB1ETvG5Sd1ekWdeGi3RwnUCq9GtCbKonCd5\"]},\"node_modules/@arbitrum/nitro-contracts/src/libraries/IGasRefunder.sol\":{\"keccak256\":\"0x35d07855184f8d31087ad0b67d1a8ccd0653a3a6c59c02513eb9c53b3371a385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://20eec9a16fa9003971a1ac5f5f7a3b7c558c57cba01f98c50959b5c93786f639\",\"dweb:/ipfs/QmaRQpgwZVQYe2EsFS4UrvrnFabJLQwUaBXm14C8V4rhBM\"]},\"node_modules/@bananapus/core-v5/src/abstract/JBPermissioned.sol\":{\"keccak256\":\"0xbaaa61c6aa043522617d3c1a86960c23b9978ee2a6c9d593b00beeeb6ce64423\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09beed8608e02ce9dbf28814309aaf62c9eec67e0701a26113bdbb4cbae56c42\",\"dweb:/ipfs/QmZrHFnpjX9uBzbFrSjqQgQBkvpJ1ZyvjtT9RfneNGv32S\"]},\"node_modules/@bananapus/core-v5/src/enums/JBApprovalStatus.sol\":{\"keccak256\":\"0x61c69b6bac7d24b566d87cda23a77e4ca9cdb87200b106aba8534cb9a0973e33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a9ca7249de76f77a8252eefe6bd1b63d47952f25a2acfa2c8db967cdff4470c\",\"dweb:/ipfs/QmaxSxptRQNj8bNy96EreENmrnRWdKmhyihBcxyWzBX5BN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBCashOutHook.sol\":{\"keccak256\":\"0x6c516b030f55065eb169d666d11dbd82c4a0b8cea7782ebc5e79433cade38670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa0659eb08477176f130ccaf387d4bde71f0ecca2b24f61124d225f2f50397a3\",\"dweb:/ipfs/QmRNBRGhdGpLQLkC4wK4VrgNEw4EdSiJ4ZZJfiJU4aNt2L\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBCashOutTerminal.sol\":{\"keccak256\":\"0xac8ed1afe397bb4c4060d947ec5765cf600cefb6d10829157153f0a4324807ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be3361a27a1944853407d61f33813b21403a63e0d4113c7b7e84ce3b87f5d61\",\"dweb:/ipfs/QmdFTXKU1j4gdFL6nNx1LTTtbgoaRgdnwyVJ7UaQDp9Uo1\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBController.sol\":{\"keccak256\":\"0xc903b660dccd57e610e1d834407b2bead1fc456153e106f2582407e505a39a96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://624bb32a7cd93ce056ea2705332821abd9cd7c83f419bbb279ad96e47c2b6013\",\"dweb:/ipfs/QmXKmQAGecR2zYAXMZ54erg5QnYoWNue4Ek3jCJCUyfW7q\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0xcb97db460d2948a7f51c660fe0d1b1749047a419027711c476b86ad3573534c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a909c7a3d471054537894dca827e6e018e92ac25299b43026e5b1e335ec4de68\",\"dweb:/ipfs/QmU1GT3F8PNMjSiPPP5cSLLofefHYFJXnywMCdqqM9xUeh\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBDirectoryAccessControl.sol\":{\"keccak256\":\"0x1ea768919979d9f625920c05a5e633739febc822ce14b1e4724d739b19c10fb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c5391a510bd610a97978245b7306d8d21c79d7c45c15f590ba9b603ea751154\",\"dweb:/ipfs/QmPSJvVWswqzv3bVq422UhA2BybMsiHoYFWGPp5Jh6Xs6a\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBFundAccessLimits.sol\":{\"keccak256\":\"0xfd8ea4cffd289e7fef6e53b5c8983eb6b941de306517f40c047048d3a8a2ca08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2765cdee206f8b1b53874448e2481db001cd3706753190cfc9381318c7a7c41c\",\"dweb:/ipfs/QmQ5UYSadtzrb7BcTR93KnAYKXawdyDUG5HjjASV1zbys5\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPayHook.sol\":{\"keccak256\":\"0x9438866782c652c2942f4d114e35f393cd3c8b0334abce8387eed90bca35e8b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfd99daf57213f92325aad7d7d16e98476d38e870470e95ba01e3ae3cdecc95d\",\"dweb:/ipfs/QmUKKAVGf7ki8BHksr99tFcRW8APveeB5tNH63ctTbbCW8\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPermissioned.sol\":{\"keccak256\":\"0x5b038d4dee116584e88b230920e56d48e135053e3f7e5642eaea14a775c1dad7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e43102f349fd4a1da1c0943ffb8f2950007fe4bb4bb7e8f74fc142575d091b\",\"dweb:/ipfs/QmXHAt4KzDTdDZgDDefEXH2WKi7NcfkJb9R7nxW5uDqsNp\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPermissions.sol\":{\"keccak256\":\"0x49d2b91a866004af098a6770b28040071885b048b4b50744b12a1e5b212c5e5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://089b4dda50be91412ffe1fbe333f78cc894f073c1a7afe469f10a2cee12fbf9e\",\"dweb:/ipfs/QmYPPBZ6HwBa1RNkNGqGcR2xgj4fnWBzrPHHoJG3kZA6AN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x4bd84c0f1a5d4729ed709bcddd43f4c50ec4a165ece79780af8dce482ed07d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62bac4bfb6982fb002f620c77e5c445e62d50241a5aa64a07e51d929f5a42180\",\"dweb:/ipfs/QmWgJUDreVY2BuMX38a1iUUR5kNbMwGnKG3VvurB7oZtuM\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xb4d5244daa52aafab0c9b8806b7f973afa6a3b298add5966d586d27b78424cfb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a819f74455aaa4f679ded378424702f3992608a640d7f943b19938eb4ff711da\",\"dweb:/ipfs/QmSMGvVTsMW3L5YSUyXTKoEsgNpGEutnq4frEZHuDdeDvz\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBProjectUriRegistry.sol\":{\"keccak256\":\"0xc9ab647179d7d0c857fdd881d6ce96f06254739440ed08e85a1c2042218f7c7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8529368f30c98c8d5a69acdbe4ac79e3eeb4afa5a9cd278325c5f2184ef3d50f\",\"dweb:/ipfs/QmfUaozYiAGt1UwBDUEZvon1tEBS5sLPzqpN9dNdjQotPN\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x4ae42a9cc29b517b26d2b9b635deb82c16696b777deeca92dfcad33b0f81c0a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dcbd860e7d7f05232d90c5e9cfd3d01e2ce986ffcdb053473d8a4d387b1a48a\",\"dweb:/ipfs/QmWKWoSJJbVWDumbnzXJBJyXmAacgC97bxMtchh8te41bn\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBRulesetApprovalHook.sol\":{\"keccak256\":\"0x5f0dc5968277b572ba5dc74518906dfb33a9684b7a199c7843f4e66af1c11fb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://323ce3731aebdf5bf8055b8550055e856feed700d293af8beaf8a750625a0975\",\"dweb:/ipfs/QmU2ErV2uzvXnsJt1qBKm73H2qWcEqYtQGHtZEpx93DaWJ\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBRulesets.sol\":{\"keccak256\":\"0xf287c7a4a162cd58084ed10ee5f9f31c992addff0ce2f2ac7e810cc393546f30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c851b72de52c3ceb73c6b1849ad0cc7c0832fd126ee52cc838a163ab6d3055b8\",\"dweb:/ipfs/Qmbv6k6pSeNMwZoTUKzDNb18DMGR8DboRMrYQBydATuVZw\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBSplitHook.sol\":{\"keccak256\":\"0xeb8dfac7a4b81897a1c3b5d0d853a406bcff33720fb187d5ca5bb3dcc0ba3a12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36aaeef6107cfe5b0127e063ea215aac7200f8af02e28a48e61111abd3254688\",\"dweb:/ipfs/QmQ8yQANXnhQCAWBGKsKCDsJ3A8hnTKNg5tyo79GfWXTcV\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBSplits.sol\":{\"keccak256\":\"0x424e6d1189b9ba7a5d441e7675ae09ff893c13c62b9ddde4dd6bc2690e96c6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e30ed7ab1daf20ff324aacfef7150a243b5db496eceaf032c7012ccb3c4227d\",\"dweb:/ipfs/QmRj5EZKmDjJy8tpvKbpz8vPSKHR5C9Q5ENe7oSLij4H8M\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTerminal.sol\":{\"keccak256\":\"0x5a4c0ef6c8fd10069a408cc42a862909f7b47aba46327da5003203508d8f17d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09d8854151c21046b6b939189ad2139c669888e6baf47034a0cb754104d1efe6\",\"dweb:/ipfs/QmaMrxnf6K6znvDBwdAqsw5x6yuR4SY1BdNtyz226siAt5\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBToken.sol\":{\"keccak256\":\"0xc2c0a75d97e3a20fd6964b09381736de03f56e58c27a874a0c96a21e02d0e577\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ef8d476174aca6c35f7fb24ff8be619191bfd22038d3729ca4803252d3dae6a\",\"dweb:/ipfs/QmdWtAwf2A4P88of9gUyWY6hodT9fqpxJK4NBVQt9ys2Jd\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xfa5cb00dcd6085d1ef912d071fe73c63f9478a2cd0f9d8bddaf659b6af2d0967\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282e4e7c342d65f77cde0e9a08fcaf20ef5cf379c7a48b639842c0ffd0b2afb8\",\"dweb:/ipfs/QmbnN3PEQeZaXdPLT75V1J79kMg7KqSMru37RHrL3z8Yf2\"]},\"node_modules/@bananapus/core-v5/src/interfaces/IJBTokens.sol\":{\"keccak256\":\"0xe3f0cca072afcac9ee3c875b7439a6edb4a9276e9dba01184d11e8270a25f258\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc3e437b8588965b911a750dc632ac1aca4f9348a137877047a62df598a17bc7\",\"dweb:/ipfs/QmdXjVMdCFcw8HFbhxZZbj9KzxNx2ThjVfcDhFBt1khfvL\"]},\"node_modules/@bananapus/core-v5/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x4dd0f809f1f10cf961e85632e5f3ea5e49716b104a0e8bc4d8ccc2081e9d007a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09432ec01de81f7c295579fa3176610776cb186fba4c50d799108a18f14e5cc6\",\"dweb:/ipfs/QmS52c525xJui5u1xoY76PTq2n1pvnUzThBK38A1fsWdLp\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAccountingContext.sol\":{\"keccak256\":\"0x9c47e048a719f784f601df69a583505432217b9868a0244876d277f84dd1ebdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8565f194b87914da9a02af2e760ae2ed2a9d185c6f11229f7035140776d2fec9\",\"dweb:/ipfs/QmPs2fic8W3F5e5zNRwmGmJFjb3JWGPWJ3YUe5o82nQgEn\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAfterCashOutRecordedContext.sol\":{\"keccak256\":\"0xa1acdb1a5670f66f730e71f8eff120766b6f5c934e6cd699c7f1a7cc93adf658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9c7655c9c42b30132688b395251748c809c334370ee584cb9bac46e1fb8f162\",\"dweb:/ipfs/QmbMV1wg1Fm236HaA6nnMSvRkzeYCKPRhMYDbqkAxieY7x\"]},\"node_modules/@bananapus/core-v5/src/structs/JBAfterPayRecordedContext.sol\":{\"keccak256\":\"0x3bfc01ae9944a0ff5c41125e18ebb8efca58d7aa4e471d2ffa6d8588afb689ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://beb21399142d9b89539cfc8aa94119bc106bd1ea847b922d4c78f3f8804a5cba\",\"dweb:/ipfs/QmXDwJXrzCb6zh1KYwVdN2PEY86uK62MTfYF1M2MBtbEP7\"]},\"node_modules/@bananapus/core-v5/src/structs/JBCurrencyAmount.sol\":{\"keccak256\":\"0x7f321bbcbd13abfbc8f0d08a5adaaf8ef312db5bb899012fcffb6170fbb962a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf9301ef1dbb3abda7b492585377617508ba048c6170f21a5e7d2b3c034eb384\",\"dweb:/ipfs/QmcetEFxSYLLNSZzPBpNn3Fc8sFcrFE8A8h12ZSj2tLgxD\"]},\"node_modules/@bananapus/core-v5/src/structs/JBFundAccessLimitGroup.sol\":{\"keccak256\":\"0x9fdaa8d017b72da25f583700a444a86849df053f7fb8eac874ec5139bcf651e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8e44c49ee444a98424a0dbeb6897a76a0bf00d88a613f62ac2012afdac754ee\",\"dweb:/ipfs/QmdYkAiRi5bXM1YYNkc7BiqimHSFodMGn1cjHR5hcpm4xH\"]},\"node_modules/@bananapus/core-v5/src/structs/JBPermissionsData.sol\":{\"keccak256\":\"0x65e26b78a1f00d81a21abd255c9670b600efca60cf36a993b8f48ecb268464a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d108c721c4281b13de34641befd2a1e9fac73a70195ef5ca957abda6fca9acca\",\"dweb:/ipfs/QmWoJo7wzSKY3z4YCpFvR8DoCUTKviiuFEj2tBkcgKUqW1\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRuleset.sol\":{\"keccak256\":\"0x2d1f0a8457e94addae51a8222b1837e372847624fde96bb3178e7aee52ab2b24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bbb1478e8f5d1c20f981e5a0d5e526d002add1e05ddced87ccd45543ed00c9e4\",\"dweb:/ipfs/QmZkgaYdwkbnvW2MGwVe9FeHjac8XyZTP1YZcWUApiGZgE\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetConfig.sol\":{\"keccak256\":\"0xeba54f25ad84b9c6009f62ded187b58f97e0822e9b19ab0986aee6603ca5400a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a51743febf78f2ede92d32a2b18c3c5f06f02c413c2d01f28dc296840b068ef\",\"dweb:/ipfs/QmVSRDtB7xUgaLGW5tSJr7PhW5XPxkWg226Sk2g75qWpxh\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetMetadata.sol\":{\"keccak256\":\"0x318f0b75275c3822df53a02e98782c9e98e7961116f2ad66a528c6adcd14c946\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d60f62390e43d182bfe875d1ac57e9de10426d81038ba7d8c3727b22392299e2\",\"dweb:/ipfs/QmUtE6fcP25wEhVJNEbrPHyFPkg5hp2PFf5xcwBeHPmNAf\"]},\"node_modules/@bananapus/core-v5/src/structs/JBRulesetWithMetadata.sol\":{\"keccak256\":\"0x1bcfadf20488f6df65227f8d4d0fbf9b7539456a2389567f7fe3900d23289bc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a15c399a71e5373f8c0484c6d6b83521eda31e063a2c53e4c5cec4e74550343\",\"dweb:/ipfs/QmQwi8zkjoTVXbK89NeETYimWCacTrNsesJdpLSvGdqMPX\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplit.sol\":{\"keccak256\":\"0xfcedbb8b6937ee00578a4c3ec70e2555a2c0a5c18f1eba3b96701b07c1dd94a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7014a7b6f30f35941898eea1d9d32a2d75c807f59e2f0fcb430efc8c25edc1da\",\"dweb:/ipfs/QmWitPTxQCDUfoWrRRrYvE9YhuTcwCAXxVvkVLNk9Jsem1\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplitGroup.sol\":{\"keccak256\":\"0x8dc98fa9e730bee8bcc0a8acf1bc4db1c9b0edf307d969c9c9caa4d6b8d856d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66f4306e0e69c82033927952564fd617e7c4b29aa8b165d5b53a0ebe3109ea12\",\"dweb:/ipfs/QmQqN1u7FHAdEtEZNRcKvZwYtXEQVQnLd6FMzHESP7wDtx\"]},\"node_modules/@bananapus/core-v5/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0x1cef82bf434f91d518092ea7e57db4a72ce7654f48a7db9bf44882900b6b6623\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc5012008ab7e74cf766fe1c202a23e3a73365356bcf1e0b04ec01baf21b204b\",\"dweb:/ipfs/QmSwJvd6Yrg9XZMhjquBcak5sfUswbR5nPEuJBfpjM54VT\"]},\"node_modules/@bananapus/core-v5/src/structs/JBTerminalConfig.sol\":{\"keccak256\":\"0x9e31505080d3754b6d7db96095b0545930ef6dbc035b91fcc32fdc76a0e7c2a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7702ab33a1b713c37e5397a55d8ef089289f4da8034cfe9622cbc69a98c47de\",\"dweb:/ipfs/QmXyiXps4aJyiM7vtDC373QUoqwB4DMETaZzC5cZPJKaAK\"]},\"node_modules/@bananapus/core-v5/src/structs/JBTokenAmount.sol\":{\"keccak256\":\"0xc61593d33d5ec30e695d382948a1b944d01e29a8f2bfd29f75ecebcdbc7816de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8992c1e5fca0c2342ecc0e734dfba6a2a752e4c29184784931d0971e44305051\",\"dweb:/ipfs/QmYNcaW3qeCkgAExUaFTq238fgfJuoYCTwjCn7jm94U4dJ\"]},\"node_modules/@bananapus/permission-ids-v5/src/JBPermissionIds.sol\":{\"keccak256\":\"0x03d598c570091f294bebe9c7b59bfc2d907d5b70a3193c3bdb9ddec67edae1e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afb1aefda01e53fa79441bab1fa9cb46154e0db9d16bec8f9b7fa80d200916db\",\"dweb:/ipfs/Qmbkt9HgWmz5rgehRttkzFqW9SkwRYvXYqtHmuxHVxz8ZD\"]},\"node_modules/@chainlink/contracts-ccip/src/v0.8/ccip/interfaces/IAny2EVMMessageReceiver.sol\":{\"keccak256\":\"0xd2a05a4f58a453cbf8cfa6aa78f58cb8e42091b3a025f711a0aa51f584e16b48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3bb4ca50612b0150a29b9ea7c82f6228914ff54716584541bad5c0259e8fa33\",\"dweb:/ipfs/QmTnqhNtBD9bUmqVaR4YHkWrBUdSGHV3DXAgrTM193PGkH\"]},\"node_modules/@chainlink/contracts-ccip/src/v0.8/ccip/interfaces/IRouterClient.sol\":{\"keccak256\":\"0x176bc6a1bec19d76464566d4becb68946e4c53b779e2019b34f95be4fee571f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f8abd3813d7acb8f5b510dbdc9f7eb9b0fe300ea4261ae9c4f843e0d3f0b24a\",\"dweb:/ipfs/QmSCmCC5wXYqgvLfpdqWxZTfo837DYVPLo9CYEKhgid1DA\"]},\"node_modules/@chainlink/contracts-ccip/src/v0.8/ccip/libraries/Client.sol\":{\"keccak256\":\"0xa1ce70adec733c80b230084b425a50caa852a99f17a7e43e38a96a975f11ce88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08db3aa57ceae13832c1bf323aa29afa2620fd5b5205ff0d56152bf323c56256\",\"dweb:/ipfs/QmUG2FSVP8xXVkdgFwNhc4YFDU7FNCaf1kKShiTaaHUddE\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol\":{\"keccak256\":\"0x0b030a33274bde015419d99e54c9164f876a7d10eb590317b79b1d5e4ab23d99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68e5f96988198e8efd25ddef0d89750b4daebb7fd1204fa7f5eaccdfcb3398c8\",\"dweb:/ipfs/QmaM6nNkf9UmEtQraopuZamEWCdTWp7GvuN3pjMQrNCHxm\"]},\"node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4ea01544758fd2c7045961904686bfe232d2220a04ecaa2d6b08dac17827febf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fabe6bef5167ae741dd8c22d7f81d3f9120bd61b290762a2e8f176712567d329\",\"dweb:/ipfs/QmSnEitJ6xmf1SSAUeZozD7Gx7h8bNnX3a1ZBzqeivsvVg\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5\",\"dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude\"]},\"src/JBCCIPSucker.sol\":{\"keccak256\":\"0xd7bc72a33884a1c91150aa2b76612941363e959c2f7533cf3de6451506b761da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://798e866abfd329fa51a92d02562f22553e73b6dabc83cbd07dc06d243ed3c712\",\"dweb:/ipfs/QmW2oBKfo81EESzuNZ35K9XqsWAkNqntMVhTgA1JAN1cPq\"]},\"src/JBSucker.sol\":{\"keccak256\":\"0x79a301ca37984bb8be6574a29d9597857825ac866d84668083acc015ed5c2d41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://352dc9899b2febb5e978b79a8f1ecbf937b8a089e8206bf4613bfa758020797f\",\"dweb:/ipfs/QmXHcDruSZW2UhpWLxMRkeG1xFutmNGYz3Zx3jCNVZsMZw\"]},\"src/deployers/JBCCIPSuckerDeployer.sol\":{\"keccak256\":\"0x48d62feae6e06c8233f0c1be90e817b8cd3c8b4c7a4d0dfb375211d38256b191\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16a359716c7cbef40f6a50eeaca2b392e2244cfe1572e2dd5423b9f5ab532b7f\",\"dweb:/ipfs/QmSLP8t7Adqqrbhn9XDXgfgREjMkibLDtJ6d8sryYYYjyd\"]},\"src/deployers/JBSuckerDeployer.sol\":{\"keccak256\":\"0xb06eede93f0cbda6297d5d08d1f93bef23a5cec5de29bfe26c77f921cd2e1835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c6bd4bec3686b289a1f00ef0173101a609563543348eaf2421ef30ad70688c7\",\"dweb:/ipfs/Qmf7Av7XeML7xBPhdHfaWKdeZHDRsy19WmzEbAs6VqJ2FY\"]},\"src/enums/JBAddToBalanceMode.sol\":{\"keccak256\":\"0x0c18399ed85e6ad5ade75726af9f74e876ae4cf1e8e9d320d50006e320288e1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0080f23626ae9121aad63ba6ec37e95a5b6843de4732f9c7f16b4d09ae3d0880\",\"dweb:/ipfs/QmXudDnVpDAy7Yu7DRb7AZVJEsuK6afse7WtLE2uK12xYo\"]},\"src/enums/JBLayer.sol\":{\"keccak256\":\"0x15d74493cb3713c6883e144a39bda3d0e4f9f2b7eed1ea88491e788e2e64f992\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee37c37e5488bbb279302ba70f88e314921c44723452edd3bd4aeabac2d5011f\",\"dweb:/ipfs/QmbCwjeEW5dRmKZ6LqjPCGSX4gjaEmss4EXjs2dU6i1w6t\"]},\"src/enums/JBSuckerState.sol\":{\"keccak256\":\"0x0ee6d0d08cd4f538b8c9ff59d480c7c3371c4cb1971e5a67a89088b4b040a608\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8cce8e51b084cc9a844dc1040aba00b63b01f97868d52cc9f38b9d354fd741f\",\"dweb:/ipfs/QmTveKLmdZAGbwEwaCTBwofSBtckZsDcew3E7iNTnpeskY\"]},\"src/interfaces/IArbGatewayRouter.sol\":{\"keccak256\":\"0x915da748a184ca04585e6da1b10cbdb7de99698de1cc31fa0f6d75d02eae4e8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7204f56dc2c16a2c9a92785aadc67d737b46308d0403fc9a2a8db901700a43e\",\"dweb:/ipfs/Qma8RjHimvNwoQfzxbGYiJsTNWwTZaLN5N5ogBYu663xmN\"]},\"src/interfaces/ICCIPRouter.sol\":{\"keccak256\":\"0x335265248704b77676b114f6faae3750e84d3829038ee901804be4f0daf7c03c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f3ce3b4648f1cc0ff4f25d09872a257361c54d773e7622e843830954c364ec2\",\"dweb:/ipfs/QmVcdbjmjf9UEe1NawEokARnnYpkFb2SFtWG4LKM2dD9NQ\"]},\"src/interfaces/IJBArbitrumSuckerDeployer.sol\":{\"keccak256\":\"0xcc01de6dc009398f3418e0b04bfc843f323650a7e2835d969f386cf547e1034b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f94cc870879012b94fc00e72b441c3bc70b8776e6600598ec26b4f17b26e2086\",\"dweb:/ipfs/QmTobhhcHcAMfJfQU4zin88Li8PTDNLaroXm7MX7hKauXu\"]},\"src/interfaces/IJBCCIPSuckerDeployer.sol\":{\"keccak256\":\"0xcaf4286d59c259c7ed8b3ac21d1612fa811ea908f3c5974df02f61a8ff0827a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e27136ca19708440ff7aa6711408d331328240704080d95f7ef6a433db07b695\",\"dweb:/ipfs/QmT6tgtRH4c1bzdvC6rVu1wzmgucGSmtnxWioWVcgXzSXq\"]},\"src/interfaces/IJBSucker.sol\":{\"keccak256\":\"0xc5637080a3bd632b53ca57457a09f252647e1aedd007a21ba9d2fcff8859b343\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://285815a5dc3f29bee503ecc9e7614d49f5e8fd44a6037c3a72e787694a59aebd\",\"dweb:/ipfs/QmccChKT2Gs1Tmeg4LgQAY1ejigdvQYHBo8AQCMfHLMg2j\"]},\"src/interfaces/IJBSuckerDeployer.sol\":{\"keccak256\":\"0x6913c0677d52e01cd2d6f785846a255fcc1783e6b90d15a2f296289d4f482026\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24781b17a192ec8bc2d8ab47400a06e4eed2320bc5537489a1f7bbdaed078ad2\",\"dweb:/ipfs/QmbTUkAvFxcAHhjy8hvJ4uUo4PyeKK4BVuU4YtR3QT7s68\"]},\"src/interfaces/IJBSuckerExtended.sol\":{\"keccak256\":\"0x36c5d67d1d180de68cf467d6c2dd64b1f22678a4f85b2458e4207ccbaed3b39a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb3a0f07339cb11c508ef828f9c448841cc5f61ad9c36442a01809969c4818a4\",\"dweb:/ipfs/QmUCajrDVPXFCmU1BtAeYxfGgwCLKXz6yPFhkEP8tnpCHf\"]},\"src/interfaces/IWrappedNativeToken.sol\":{\"keccak256\":\"0xb890a076ec70d0082a17dbf1b24cd8e8b4370cde987723736507a05b2064f3c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b51d694d9809a66990d9599cc9025d2de9d838abee8a089c32c13cbfc190f2c2\",\"dweb:/ipfs/QmZWMXvTvK5cV6vhChL7b2qtB8C14G1sv3gD333ZLMmrow\"]},\"src/libraries/CCIPHelper.sol\":{\"keccak256\":\"0xf53337a0e219b8ddf10d8a93f1f0273bfb1b1cdbfd25340ea838237065e8aa4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3dc194cbc561ff456b057e2a590641cee5ded203ff687330abca98534145016\",\"dweb:/ipfs/QmeCkctgbAEPWgUK6pkzHavZoHnuMG3C9sNyhW4qrceWot\"]},\"src/structs/JBClaim.sol\":{\"keccak256\":\"0xd616fb935e61727ce04832808667bd40dc121d66f5cc2f347018dfd971635dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dfdcfb12878dc03b4623ddfaa42afa7e8270e8a259a8c453ef4f7e916ca52876\",\"dweb:/ipfs/QmZyAUzatUq2HfGBpoKbeqkC7mpetQC27M3797wgNgkE6H\"]},\"src/structs/JBInboxTreeRoot.sol\":{\"keccak256\":\"0xc1d8a61fc49d5d095486b194b7041595dc7639db33e3e310b1703d21caa184da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c2d8480b823b25a55c4a9af0e6fb4bf6f8c0cba16f71bebf53585a5a86db6d\",\"dweb:/ipfs/QmY9Jbbb1PB9T8UHHjBq2Eq72zu5sPoSPYwVApbypLJtwB\"]},\"src/structs/JBLeaf.sol\":{\"keccak256\":\"0x4b71bd2b39022b2f7e59f45d967118ce47061db02e1e827ab4cc6f3a3b960107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6fd76058f73ff40da48553412b95c2c3f00ddbb2a59d0774b207ab98d555a9\",\"dweb:/ipfs/QmPMe4J6MvRt1hKdDtUGXJoiZjWxqh736ds79bh2fJQEeN\"]},\"src/structs/JBMessageRoot.sol\":{\"keccak256\":\"0xed41178db7810558f486583d76382b8eb77f586648e7522070475d5e576a869c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2516fee99b547fa4008f8e3f40a7ef86701b286e9e4ceabd8ae24e3e67b8cf42\",\"dweb:/ipfs/QmeiNo3zgHkqSczQEmCK4S7R5BZwPM9RJp9dnjqqQRNyku\"]},\"src/structs/JBOutboxTree.sol\":{\"keccak256\":\"0x900ddc463282f90537e6e6f80d9217bc8da68c06c79c0ba66be1a48ba3647d99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e88c122091442114e734a9f6130cd3019add220f804518b82abbcb82726e5ee\",\"dweb:/ipfs/QmeG4grFoBaRbqPj5nDbxTt6V9mb8tvRLnMBzNSKkwKeyR\"]},\"src/structs/JBRemoteToken.sol\":{\"keccak256\":\"0xa675639bbc082957d4ea05b4c840d472f1777ad22fc78b0b32962fccc3f19995\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cdd472cfb3efeb2e3c7a7032e844abcce7f615d8d67eb4b33280968d8f8fb0\",\"dweb:/ipfs/QmfPUPLrxNVEYUaYzkAV7CaDX6YRfx2aJ8qDhLPFaXEGEA\"]},\"src/structs/JBTokenMapping.sol\":{\"keccak256\":\"0x124f304139003b90ce0b15063d9d79a4990c8b2b6b0444fb0ebf2e2c213faabe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7411e1be2809991b66659dcfabf300550d356ae04d77a001ab33ba96eb109b\",\"dweb:/ipfs/QmdzMYmaxL7FTreDTV3qEScDPECZJga1HRE5yLZB2Zq3Tb\"]},\"src/utils/MerkleLib.sol\":{\"keccak256\":\"0xbe3c73ca7be5471a742f409c921cdb641b77600bb5eacd4b47c36ccd92955d47\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b944fd8fa55e70696313ceac05ecb23ef81e0cd58386af75fc03953b69900efd\",\"dweb:/ipfs/QmSBPBakyc8vtcnu5YjGHXGgnpuc9tFW2eejiawp8z9yrk\"]}},\"version\":1}",
|
|
434
|
+
"gitCommit": "15954670a31005d16a26229742a824cdc93eee06",
|
|
435
|
+
"history": []
|
|
436
|
+
}
|