@sablier/bob 1.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/CHANGELOG.md +19 -0
- package/LICENSE-BUSL.md +82 -0
- package/LICENSE-GPL.md +470 -0
- package/LICENSE.md +9 -0
- package/README.md +81 -0
- package/artifacts/BobVaultShare.json +936 -0
- package/artifacts/SablierBob.json +1683 -0
- package/artifacts/SablierEscrow.json +1316 -0
- package/artifacts/SablierLidoAdapter.json +1649 -0
- package/artifacts/erc20/IERC20.json +226 -0
- package/artifacts/interfaces/IBobVaultShare.json +393 -0
- package/artifacts/interfaces/ISablierBob.json +1171 -0
- package/artifacts/interfaces/ISablierEscrow.json +999 -0
- package/artifacts/interfaces/ISablierLidoAdapter.json +1141 -0
- package/artifacts/interfaces/external/ICurveStETHPool.json +128 -0
- package/artifacts/interfaces/external/ILidoWithdrawalQueue.json +209 -0
- package/artifacts/interfaces/external/IStETH.json +262 -0
- package/artifacts/interfaces/external/IWETH9.json +259 -0
- package/artifacts/interfaces/external/IWstETH.json +311 -0
- package/artifacts/libraries/Errors.json +868 -0
- package/package.json +68 -0
- package/src/BobVaultShare.sol +119 -0
- package/src/SablierBob.sol +543 -0
- package/src/SablierEscrow.sol +288 -0
- package/src/SablierLidoAdapter.sol +549 -0
- package/src/abstracts/SablierBobState.sol +156 -0
- package/src/abstracts/SablierEscrowState.sol +159 -0
- package/src/interfaces/IBobVaultShare.sol +51 -0
- package/src/interfaces/ISablierBob.sol +261 -0
- package/src/interfaces/ISablierBobAdapter.sol +157 -0
- package/src/interfaces/ISablierBobState.sol +74 -0
- package/src/interfaces/ISablierEscrow.sol +148 -0
- package/src/interfaces/ISablierEscrowState.sol +77 -0
- package/src/interfaces/ISablierLidoAdapter.sol +110 -0
- package/src/interfaces/external/ICurveStETHPool.sol +31 -0
- package/src/interfaces/external/ILidoWithdrawalQueue.sol +67 -0
- package/src/interfaces/external/IStETH.sol +18 -0
- package/src/interfaces/external/IWETH9.sol +19 -0
- package/src/interfaces/external/IWstETH.sol +32 -0
- package/src/libraries/Errors.sol +189 -0
- package/src/types/Bob.sol +49 -0
- package/src/types/Escrow.sol +49 -0
|
@@ -0,0 +1,1683 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{
|
|
4
|
+
"type": "constructor",
|
|
5
|
+
"inputs": [{ "name": "initialComptroller", "type": "address", "internalType": "address" }],
|
|
6
|
+
"stateMutability": "nonpayable"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"type": "function",
|
|
10
|
+
"name": "calculateMinFeeWei",
|
|
11
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
12
|
+
"outputs": [{ "name": "minFeeWei", "type": "uint256", "internalType": "uint256" }],
|
|
13
|
+
"stateMutability": "view"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "function",
|
|
17
|
+
"name": "comptroller",
|
|
18
|
+
"inputs": [],
|
|
19
|
+
"outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierComptroller" }],
|
|
20
|
+
"stateMutability": "view"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "function",
|
|
24
|
+
"name": "createVault",
|
|
25
|
+
"inputs": [
|
|
26
|
+
{ "name": "token", "type": "address", "internalType": "contract IERC20" },
|
|
27
|
+
{ "name": "oracle", "type": "address", "internalType": "contract AggregatorV3Interface" },
|
|
28
|
+
{ "name": "expiry", "type": "uint40", "internalType": "uint40" },
|
|
29
|
+
{ "name": "targetPrice", "type": "uint128", "internalType": "uint128" }
|
|
30
|
+
],
|
|
31
|
+
"outputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
32
|
+
"stateMutability": "nonpayable"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "function",
|
|
36
|
+
"name": "enter",
|
|
37
|
+
"inputs": [
|
|
38
|
+
{ "name": "vaultId", "type": "uint256", "internalType": "uint256" },
|
|
39
|
+
{ "name": "amount", "type": "uint128", "internalType": "uint128" }
|
|
40
|
+
],
|
|
41
|
+
"outputs": [],
|
|
42
|
+
"stateMutability": "nonpayable"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "function",
|
|
46
|
+
"name": "enterWithNativeToken",
|
|
47
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
48
|
+
"outputs": [],
|
|
49
|
+
"stateMutability": "payable"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "function",
|
|
53
|
+
"name": "getAdapter",
|
|
54
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
55
|
+
"outputs": [{ "name": "adapter", "type": "address", "internalType": "contract ISablierBobAdapter" }],
|
|
56
|
+
"stateMutability": "view"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "function",
|
|
60
|
+
"name": "getDefaultAdapterFor",
|
|
61
|
+
"inputs": [{ "name": "token", "type": "address", "internalType": "contract IERC20" }],
|
|
62
|
+
"outputs": [{ "name": "adapter", "type": "address", "internalType": "contract ISablierBobAdapter" }],
|
|
63
|
+
"stateMutability": "view"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "function",
|
|
67
|
+
"name": "getExpiry",
|
|
68
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
69
|
+
"outputs": [{ "name": "expiry", "type": "uint40", "internalType": "uint40" }],
|
|
70
|
+
"stateMutability": "view"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "function",
|
|
74
|
+
"name": "getLastSyncedAt",
|
|
75
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
76
|
+
"outputs": [{ "name": "lastSyncedAt", "type": "uint40", "internalType": "uint40" }],
|
|
77
|
+
"stateMutability": "view"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "function",
|
|
81
|
+
"name": "getLastSyncedPrice",
|
|
82
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
83
|
+
"outputs": [{ "name": "lastSyncedPrice", "type": "uint128", "internalType": "uint128" }],
|
|
84
|
+
"stateMutability": "view"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "function",
|
|
88
|
+
"name": "getOracle",
|
|
89
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
90
|
+
"outputs": [{ "name": "oracle", "type": "address", "internalType": "contract AggregatorV3Interface" }],
|
|
91
|
+
"stateMutability": "view"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "function",
|
|
95
|
+
"name": "getShareToken",
|
|
96
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
97
|
+
"outputs": [{ "name": "shareToken", "type": "address", "internalType": "contract IBobVaultShare" }],
|
|
98
|
+
"stateMutability": "view"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "function",
|
|
102
|
+
"name": "getTargetPrice",
|
|
103
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
104
|
+
"outputs": [{ "name": "targetPrice", "type": "uint128", "internalType": "uint128" }],
|
|
105
|
+
"stateMutability": "view"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"type": "function",
|
|
109
|
+
"name": "getUnderlyingToken",
|
|
110
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
111
|
+
"outputs": [{ "name": "token", "type": "address", "internalType": "contract IERC20" }],
|
|
112
|
+
"stateMutability": "view"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"type": "function",
|
|
116
|
+
"name": "isStakedInAdapter",
|
|
117
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
118
|
+
"outputs": [{ "name": "stakedInAdapter", "type": "bool", "internalType": "bool" }],
|
|
119
|
+
"stateMutability": "view"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "function",
|
|
123
|
+
"name": "nativeToken",
|
|
124
|
+
"inputs": [],
|
|
125
|
+
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
|
|
126
|
+
"stateMutability": "view"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"type": "function",
|
|
130
|
+
"name": "nextVaultId",
|
|
131
|
+
"inputs": [],
|
|
132
|
+
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
133
|
+
"stateMutability": "view"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "function",
|
|
137
|
+
"name": "onShareTransfer",
|
|
138
|
+
"inputs": [
|
|
139
|
+
{ "name": "vaultId", "type": "uint256", "internalType": "uint256" },
|
|
140
|
+
{ "name": "from", "type": "address", "internalType": "address" },
|
|
141
|
+
{ "name": "to", "type": "address", "internalType": "address" },
|
|
142
|
+
{ "name": "amount", "type": "uint256", "internalType": "uint256" },
|
|
143
|
+
{ "name": "fromBalanceBefore", "type": "uint256", "internalType": "uint256" }
|
|
144
|
+
],
|
|
145
|
+
"outputs": [],
|
|
146
|
+
"stateMutability": "nonpayable"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"type": "function",
|
|
150
|
+
"name": "redeem",
|
|
151
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
152
|
+
"outputs": [
|
|
153
|
+
{ "name": "transferAmount", "type": "uint128", "internalType": "uint128" },
|
|
154
|
+
{ "name": "feeAmountDeductedFromYield", "type": "uint128", "internalType": "uint128" }
|
|
155
|
+
],
|
|
156
|
+
"stateMutability": "payable"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"type": "function",
|
|
160
|
+
"name": "setComptroller",
|
|
161
|
+
"inputs": [{ "name": "newComptroller", "type": "address", "internalType": "contract ISablierComptroller" }],
|
|
162
|
+
"outputs": [],
|
|
163
|
+
"stateMutability": "nonpayable"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"type": "function",
|
|
167
|
+
"name": "setDefaultAdapter",
|
|
168
|
+
"inputs": [
|
|
169
|
+
{ "name": "token", "type": "address", "internalType": "contract IERC20" },
|
|
170
|
+
{ "name": "newAdapter", "type": "address", "internalType": "contract ISablierBobAdapter" }
|
|
171
|
+
],
|
|
172
|
+
"outputs": [],
|
|
173
|
+
"stateMutability": "nonpayable"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "function",
|
|
177
|
+
"name": "setNativeToken",
|
|
178
|
+
"inputs": [{ "name": "newNativeToken", "type": "address", "internalType": "address" }],
|
|
179
|
+
"outputs": [],
|
|
180
|
+
"stateMutability": "nonpayable"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "function",
|
|
184
|
+
"name": "statusOf",
|
|
185
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
186
|
+
"outputs": [{ "name": "status", "type": "uint8", "internalType": "enum Bob.Status" }],
|
|
187
|
+
"stateMutability": "view"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "function",
|
|
191
|
+
"name": "syncPriceFromOracle",
|
|
192
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
193
|
+
"outputs": [{ "name": "latestPrice", "type": "uint128", "internalType": "uint128" }],
|
|
194
|
+
"stateMutability": "nonpayable"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"type": "function",
|
|
198
|
+
"name": "transferFeesToComptroller",
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"outputs": [],
|
|
201
|
+
"stateMutability": "nonpayable"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"type": "function",
|
|
205
|
+
"name": "unstakeTokensViaAdapter",
|
|
206
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }],
|
|
207
|
+
"outputs": [{ "name": "amountReceivedFromAdapter", "type": "uint128", "internalType": "uint128" }],
|
|
208
|
+
"stateMutability": "nonpayable"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"type": "event",
|
|
212
|
+
"name": "CreateVault",
|
|
213
|
+
"inputs": [
|
|
214
|
+
{ "name": "vaultId", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
215
|
+
{ "name": "token", "type": "address", "indexed": true, "internalType": "contract IERC20" },
|
|
216
|
+
{ "name": "oracle", "type": "address", "indexed": true, "internalType": "contract AggregatorV3Interface" },
|
|
217
|
+
{ "name": "adapter", "type": "address", "indexed": false, "internalType": "contract ISablierBobAdapter" },
|
|
218
|
+
{ "name": "shareToken", "type": "address", "indexed": false, "internalType": "contract IBobVaultShare" },
|
|
219
|
+
{ "name": "targetPrice", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
220
|
+
{ "name": "expiry", "type": "uint40", "indexed": false, "internalType": "uint40" }
|
|
221
|
+
],
|
|
222
|
+
"anonymous": false
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"type": "event",
|
|
226
|
+
"name": "Enter",
|
|
227
|
+
"inputs": [
|
|
228
|
+
{ "name": "vaultId", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
229
|
+
{ "name": "user", "type": "address", "indexed": true, "internalType": "address" },
|
|
230
|
+
{ "name": "amountReceived", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
231
|
+
{ "name": "sharesMinted", "type": "uint128", "indexed": false, "internalType": "uint128" }
|
|
232
|
+
],
|
|
233
|
+
"anonymous": false
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"type": "event",
|
|
237
|
+
"name": "Redeem",
|
|
238
|
+
"inputs": [
|
|
239
|
+
{ "name": "vaultId", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
240
|
+
{ "name": "user", "type": "address", "indexed": true, "internalType": "address" },
|
|
241
|
+
{ "name": "amountReceived", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
242
|
+
{ "name": "sharesBurned", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
243
|
+
{ "name": "fee", "type": "uint256", "indexed": false, "internalType": "uint256" }
|
|
244
|
+
],
|
|
245
|
+
"anonymous": false
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"type": "event",
|
|
249
|
+
"name": "SetComptroller",
|
|
250
|
+
"inputs": [
|
|
251
|
+
{
|
|
252
|
+
"name": "oldComptroller",
|
|
253
|
+
"type": "address",
|
|
254
|
+
"indexed": false,
|
|
255
|
+
"internalType": "contract ISablierComptroller"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "newComptroller",
|
|
259
|
+
"type": "address",
|
|
260
|
+
"indexed": false,
|
|
261
|
+
"internalType": "contract ISablierComptroller"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"anonymous": false
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"type": "event",
|
|
268
|
+
"name": "SetDefaultAdapter",
|
|
269
|
+
"inputs": [
|
|
270
|
+
{ "name": "token", "type": "address", "indexed": true, "internalType": "contract IERC20" },
|
|
271
|
+
{ "name": "adapter", "type": "address", "indexed": true, "internalType": "contract ISablierBobAdapter" }
|
|
272
|
+
],
|
|
273
|
+
"anonymous": false
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"type": "event",
|
|
277
|
+
"name": "SetNativeToken",
|
|
278
|
+
"inputs": [
|
|
279
|
+
{ "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
|
|
280
|
+
{ "name": "nativeToken", "type": "address", "indexed": false, "internalType": "address" }
|
|
281
|
+
],
|
|
282
|
+
"anonymous": false
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"type": "event",
|
|
286
|
+
"name": "SyncPriceFromOracle",
|
|
287
|
+
"inputs": [
|
|
288
|
+
{ "name": "vaultId", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
289
|
+
{ "name": "oracle", "type": "address", "indexed": true, "internalType": "contract AggregatorV3Interface" },
|
|
290
|
+
{ "name": "latestPrice", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
291
|
+
{ "name": "syncedAt", "type": "uint40", "indexed": false, "internalType": "uint40" }
|
|
292
|
+
],
|
|
293
|
+
"anonymous": false
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"type": "event",
|
|
297
|
+
"name": "TransferFeesToComptroller",
|
|
298
|
+
"inputs": [
|
|
299
|
+
{ "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
|
|
300
|
+
{ "name": "feeAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }
|
|
301
|
+
],
|
|
302
|
+
"anonymous": false
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"type": "event",
|
|
306
|
+
"name": "UnstakeFromAdapter",
|
|
307
|
+
"inputs": [
|
|
308
|
+
{ "name": "vaultId", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
309
|
+
{ "name": "adapter", "type": "address", "indexed": true, "internalType": "contract ISablierBobAdapter" },
|
|
310
|
+
{ "name": "wrappedTokenUnstakedAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
|
|
311
|
+
{ "name": "amountReceivedFromAdapter", "type": "uint128", "indexed": false, "internalType": "uint128" }
|
|
312
|
+
],
|
|
313
|
+
"anonymous": false
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"type": "error",
|
|
317
|
+
"name": "Comptrollerable_CallerNotComptroller",
|
|
318
|
+
"inputs": [
|
|
319
|
+
{ "name": "comptroller", "type": "address", "internalType": "address" },
|
|
320
|
+
{ "name": "caller", "type": "address", "internalType": "address" }
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"type": "error",
|
|
325
|
+
"name": "Comptrollerable_UnsupportedInterfaceId",
|
|
326
|
+
"inputs": [
|
|
327
|
+
{ "name": "previousComptroller", "type": "address", "internalType": "address" },
|
|
328
|
+
{ "name": "newComptroller", "type": "address", "internalType": "address" },
|
|
329
|
+
{ "name": "minimalInterfaceId", "type": "bytes4", "internalType": "bytes4" }
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
{ "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] },
|
|
333
|
+
{
|
|
334
|
+
"type": "error",
|
|
335
|
+
"name": "SablierBobState_Null",
|
|
336
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"type": "error",
|
|
340
|
+
"name": "SablierBob_CallerNotShareToken",
|
|
341
|
+
"inputs": [
|
|
342
|
+
{ "name": "vaultId", "type": "uint256", "internalType": "uint256" },
|
|
343
|
+
{ "name": "caller", "type": "address", "internalType": "address" }
|
|
344
|
+
]
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"type": "error",
|
|
348
|
+
"name": "SablierBob_DepositAmountZero",
|
|
349
|
+
"inputs": [
|
|
350
|
+
{ "name": "vaultId", "type": "uint256", "internalType": "uint256" },
|
|
351
|
+
{ "name": "user", "type": "address", "internalType": "address" }
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"type": "error",
|
|
356
|
+
"name": "SablierBob_ExpiryNotInFuture",
|
|
357
|
+
"inputs": [
|
|
358
|
+
{ "name": "expiry", "type": "uint40", "internalType": "uint40" },
|
|
359
|
+
{ "name": "currentTime", "type": "uint40", "internalType": "uint40" }
|
|
360
|
+
]
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"type": "error",
|
|
364
|
+
"name": "SablierBob_ForbidNativeToken",
|
|
365
|
+
"inputs": [{ "name": "nativeToken", "type": "address", "internalType": "address" }]
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"type": "error",
|
|
369
|
+
"name": "SablierBob_InsufficientFeePayment",
|
|
370
|
+
"inputs": [
|
|
371
|
+
{ "name": "feePaid", "type": "uint256", "internalType": "uint256" },
|
|
372
|
+
{ "name": "feeRequired", "type": "uint256", "internalType": "uint256" }
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"type": "error",
|
|
377
|
+
"name": "SablierBob_MsgValueNotZero",
|
|
378
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
379
|
+
},
|
|
380
|
+
{ "type": "error", "name": "SablierBob_NativeFeeTransferFailed", "inputs": [] },
|
|
381
|
+
{
|
|
382
|
+
"type": "error",
|
|
383
|
+
"name": "SablierBob_NativeTokenAlreadySet",
|
|
384
|
+
"inputs": [{ "name": "nativeToken", "type": "address", "internalType": "address" }]
|
|
385
|
+
},
|
|
386
|
+
{ "type": "error", "name": "SablierBob_NativeTokenZeroAddress", "inputs": [] },
|
|
387
|
+
{
|
|
388
|
+
"type": "error",
|
|
389
|
+
"name": "SablierBob_NewAdapterMissesInterface",
|
|
390
|
+
"inputs": [{ "name": "adapter", "type": "address", "internalType": "address" }]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"type": "error",
|
|
394
|
+
"name": "SablierBob_NoSharesToRedeem",
|
|
395
|
+
"inputs": [
|
|
396
|
+
{ "name": "vaultId", "type": "uint256", "internalType": "uint256" },
|
|
397
|
+
{ "name": "user", "type": "address", "internalType": "address" }
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "error",
|
|
402
|
+
"name": "SablierBob_TargetPriceTooLow",
|
|
403
|
+
"inputs": [
|
|
404
|
+
{ "name": "targetPrice", "type": "uint128", "internalType": "uint128" },
|
|
405
|
+
{ "name": "currentPrice", "type": "uint128", "internalType": "uint128" }
|
|
406
|
+
]
|
|
407
|
+
},
|
|
408
|
+
{ "type": "error", "name": "SablierBob_TargetPriceZero", "inputs": [] },
|
|
409
|
+
{ "type": "error", "name": "SablierBob_TokenAddressZero", "inputs": [] },
|
|
410
|
+
{
|
|
411
|
+
"type": "error",
|
|
412
|
+
"name": "SablierBob_UnstakeAmountZero",
|
|
413
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"type": "error",
|
|
417
|
+
"name": "SablierBob_VaultAlreadyUnstaked",
|
|
418
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"type": "error",
|
|
422
|
+
"name": "SablierBob_VaultHasNoAdapter",
|
|
423
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"type": "error",
|
|
427
|
+
"name": "SablierBob_VaultNotActive",
|
|
428
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"type": "error",
|
|
432
|
+
"name": "SablierBob_VaultStillActive",
|
|
433
|
+
"inputs": [{ "name": "vaultId", "type": "uint256", "internalType": "uint256" }]
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"type": "error",
|
|
437
|
+
"name": "SafeCastOverflowedUintDowncast",
|
|
438
|
+
"inputs": [
|
|
439
|
+
{ "name": "bits", "type": "uint8", "internalType": "uint8" },
|
|
440
|
+
{ "name": "value", "type": "uint256", "internalType": "uint256" }
|
|
441
|
+
]
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"type": "error",
|
|
445
|
+
"name": "SafeERC20FailedOperation",
|
|
446
|
+
"inputs": [{ "name": "token", "type": "address", "internalType": "address" }]
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "error",
|
|
450
|
+
"name": "SafeOracle_DecimalsTooHigh",
|
|
451
|
+
"inputs": [
|
|
452
|
+
{ "name": "oracle", "type": "address", "internalType": "address" },
|
|
453
|
+
{ "name": "decimals", "type": "uint8", "internalType": "uint8" }
|
|
454
|
+
]
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"type": "error",
|
|
458
|
+
"name": "SafeOracle_DecimalsZero",
|
|
459
|
+
"inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }]
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"type": "error",
|
|
463
|
+
"name": "SafeOracle_MissesInterface",
|
|
464
|
+
"inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }]
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"type": "error",
|
|
468
|
+
"name": "SafeOracle_NotPositivePrice",
|
|
469
|
+
"inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }]
|
|
470
|
+
}
|
|
471
|
+
],
|
|
472
|
+
"bytecode": {
|
|
473
|
+
"object": "0x6080806040523461012357602081614956803803809161001f828561013a565b83398101031261012357516001600160a01b03811690819003610123576040516301ffc9a760e01b8152630654439160e41b6004820152602081602481855afa90811561012f575f916100f0575b50156100cf575f80546001600160a01b031916821781556040805191825260208201929092527ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf9190a16001805560016004556040516147e490816101728239f35b6364ca3de160e11b5f525f600452602452630654439160e41b60445260645ffd5b90506020813d602011610127575b8161010b6020938361013a565b8101031261012357518015158103610123575f61006d565b5f80fd5b3d91506100fe565b6040513d5f823e3d90fd5b601f909101601f19168101906001600160401b0382119082101761015d57604052565b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c80629dd14f1461225957806310a9de60146121ef57806312ac1763146121b457806313c726081461215957806346de071d146120f357806350129dff1461163d5780635645ed77146115e75780635fe3b5671461159657806365957bf51461153e5780636da1e1021461141857806378f82ce7146113915780637aca734b14611110578063801837f614610f835780638bad38dd14610d4c5780638f4f896814610cf0578063a06da63014610c7b578063a153803914610c16578063a477577214610baf578063ad35efd414610b29578063b18c0adb1461098d578063c8d293b7146108f5578063cca138e5146108a7578063db006a75146102e4578063ddeadbb61461027a578063e1758bd8146102285763ef96122914610137575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561016c612984565b61017581612512565b61017e81612c54565b808252600560205273ffffffffffffffffffffffffffffffffffffffff604083205416803b1561021657826040517fd0e30db0000000000000000000000000000000000000000000000000000000008152818160048134875af1801561021a57610201575b50506101fa916101f234612f3c565b903090612cc5565b6001805580f35b8161020b916122d7565b61021657825f6101e3565b8280fd5b6040513d84823e3d90fd5b80fd5b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022557602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff600360406020936004356102d281612512565b81526005855220015416604051908152f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561031a612984565b61032381612512565b8161032d826129bd565b600381101561087a571561082e575b818352600560205273ffffffffffffffffffffffffffffffffffffffff60036040852001541691808452600560205273ffffffffffffffffffffffffffffffffffffffff60016040862001541691818552600560205273ffffffffffffffffffffffffffffffffffffffff604086205416926040517f70a08231000000000000000000000000000000000000000000000000000000008152336004820152602081602481855afa80156108235787906107ef575b6103fa9150612f3c565b946fffffffffffffffffffffffffffffffff86169283156107bf578115610692575034610666579060408792858452600560205260ff6003838620015460a01c16610622575b60648251809a81937fe5eefedd0000000000000000000000000000000000000000000000000000000083528960048401523360248401528860448401525af195861561021a57829783976105eb575b506fffffffffffffffffffffffffffffffff87989716806105c3575b505b813b15610216576040517f9eea5f66000000000000000000000000000000000000000000000000000000008152600481018690523360248201526fffffffffffffffffffffffffffffffff9190911660448201529082908290606490829084905af1801561021a576105ae575b505061053b6fffffffffffffffffffffffffffffffff851680943390612f98565b60405192835260208301526fffffffffffffffffffffffffffffffff841660408301527f66263a58856c3e57dbd58eff9f6ca2879ceeee962dd9036291613ddb9a1d444360603393a360018055604080516fffffffffffffffffffffffffffffffff928316815292909116602083015290f35b6105b98280926122d7565b610225578061051a565b6105e59073ffffffffffffffffffffffffffffffffffffffff85541688612f98565b5f6104ab565b90965061061191975060403d60401161061b575b61060981836122d7565b8101906124ee565b969096955f61048f565b503d6105ff565b85845260056020526003828520017fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff81541690556106608187612b62565b50610440565b602487857f2327fe21000000000000000000000000000000000000000000000000000000008252600452fd5b9691905073ffffffffffffffffffffffffffffffffffffffff8254166040517fbaf8f4b9000000000000000000000000000000000000000000000000000000008152600480820152602081602481855afa9081156107b457849161077e575b5080341061074f575082903461070a575b5050856104ad565b8180809234905af161071a6123cf565b501561072757815f610702565b6004827ff0623c63000000000000000000000000000000000000000000000000000000008152fd5b7fb96cf21700000000000000000000000000000000000000000000000000000000845234600452602452604483fd5b90506020813d6020116107ac575b81610799602093836122d7565b810103126107a857515f6106f1565b5f80fd5b3d915061078c565b6040513d86823e3d90fd5b604488867f7305a0a700000000000000000000000000000000000000000000000000000000825260045233602452fd5b506020813d60201161081b575b81610809602093836122d7565b810103126107a8576103fa90516103f0565b3d91506107fc565b6040513d89823e3d90fd5b61083782612a1a565b50610841826129bd565b600381101561087a5761033c57602483837f865b93d0000000000000000000000000000000000000000000000000000000008252600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760206108ed6004356108e881612512565b612433565b604051908152f35b50346102255760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576024356004356fffffffffffffffffffffffffffffffff82168203610216576101fa91610950612984565b61095982612512565b61096282612c54565b818452600560205273ffffffffffffffffffffffffffffffffffffffff604085205416913390612cc5565b50346102255760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576109c56122b4565b6024359073ffffffffffffffffffffffffffffffffffffffff8216809203610216576109ef612933565b81610a66575b73ffffffffffffffffffffffffffffffffffffffff16808352600260205260408320827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f2cabb75a6cee74a6a503e79266a06a9a1c337edaad59e67075ac7325e35226bf8380a380f35b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f178fe656000000000000000000000000000000000000000000000000000000006004820152602081602481865afa9081156107b4578491610afa575b506109f557602483837fd06b68b9000000000000000000000000000000000000000000000000000000008252600452fd5b610b1c915060203d602011610b22575b610b1481836122d7565b81019061241b565b5f610ac9565b503d610b0a565b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022557610b6d600435610b6881612512565b6129bd565b604051906003811015610b8257602092508152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6040602092600435610c0581612512565b815260058452205416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff604060209282610c696122b4565b16815260028452205416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576020610cd2600435610cbb612984565b610cc481612512565b610ccd81612c54565b612a1a565b600180556fffffffffffffffffffffffffffffffff60405191168152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760ff60036040602093600435610d3581612512565b81526005855220015460a01c166040519015158152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576004359073ffffffffffffffffffffffffffffffffffffffff821680920361022557610da6612933565b80549173ffffffffffffffffffffffffffffffffffffffff8316906040517fc34df33e000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156107b4578491610f24575b507fffffffff00000000000000000000000000000000000000000000000000000000604051917f01ffc9a70000000000000000000000000000000000000000000000000000000083521690816004820152602081602481865afa908115610f19578591610efa575b5015610ec757507ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf91816040927fffffffffffffffffffffffff0000000000000000000000000000000000000000871617855582519182526020820152a180f35b91606494507fc9947bc2000000000000000000000000000000000000000000000000000000008452600452602452604452fd5b610f13915060203d602011610b2257610b1481836122d7565b5f610e66565b6040513d87823e3d90fd5b90506020813d602011610f7b575b81610f3f602093836122d7565b81010312610f7757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610f77575f610dfe565b8380fd5b3d9150610f32565b50346102255760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576004359060243573ffffffffffffffffffffffffffffffffffffffff811680910361110c576044359073ffffffffffffffffffffffffffffffffffffffff821680920361021657838352600560205273ffffffffffffffffffffffffffffffffffffffff60016040852001541633036110dc57928293818452600560205273ffffffffffffffffffffffffffffffffffffffff60036040862001541680611058578480f35b803b156110d85784928360a49260405196879586947f3527687f000000000000000000000000000000000000000000000000000000008652600486015260248501526044840152606435606484015260843560848401525af1801561021a576110c3575b8080808480f35b816110cd916122d7565b61022557805f6110bc565b8480fd5b604483857f0c8fb31600000000000000000000000000000000000000000000000000000000825260045233602452fd5b5080fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561114b612984565b61115481612512565b808252600560205273ffffffffffffffffffffffffffffffffffffffff60036040842001541691821561136657818152600560205260ff600360408320015460a01c161561133b576040517fa59c665d000000000000000000000000000000000000000000000000000000008152826004820152602081602481875afa801561021a5782906112f2575b6fffffffffffffffffffffffffffffffff915016156112c757611200826129bd565b600381101561129a571561124f575b91816003604085610cd295602097526005875220017fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8154169055612b62565b61125882612a1a565b50611262826129bd565b600381101561129a5761120f576024917f865b93d0000000000000000000000000000000000000000000000000000000008252600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024917fab5331fc000000000000000000000000000000000000000000000000000000008252600452fd5b506020813d602011611333575b8161130c602093836122d7565b8101031261110c5761132e6fffffffffffffffffffffffffffffffff916123fe565b6111de565b3d91506112ff565b6024917f8b3dc224000000000000000000000000000000000000000000000000000000008252600452fd5b6024917f9b1c71a5000000000000000000000000000000000000000000000000000000008252600452fd5b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff8154167f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c6020478480808084885af15061140d6123cf565b50604051908152a280f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6114656122b4565b61146d612933565b1680156115165760035473ffffffffffffffffffffffffffffffffffffffff8116806114eb57507fffffffffffffffffffffffff0000000000000000000000000000000000000000829116176003556040519081527f7b0a5ae0a2e8f0dc2ec7555098e00dd4af1418ee3fd1bcf9bb14f6990c10fa9260203392a280f35b7f72516324000000000000000000000000000000000000000000000000000000008452600452602483fd5b6004827f0e21018b000000000000000000000000000000000000000000000000000000008152fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff600160406020936004356102d281612512565b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760046040602092823561162981612512565b81526005845220015460801c604051908152f35b50346107a85760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a8576116756122b4565b6024359173ffffffffffffffffffffffffffffffffffffffff83168093036107a8576044359164ffffffffff83168093036107a857606435906fffffffffffffffffffffffffffffffff82168092036107a85773ffffffffffffffffffffffffffffffffffffffff169081156120cb5773ffffffffffffffffffffffffffffffffffffffff60035416821461209f5764ffffffffff4216938481111561206f57811561204757851561201b576040517f313ce5670000000000000000000000000000000000000000000000000000000081526020816004818a5afa5f9181611ffa575b5061178957867fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60ff81168015611fce5760248111611f9f57506040517ffeaf968c00000000000000000000000000000000000000000000000000000000815260a0816004818b5afa5f9181611f69575b5061180457877fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f81989697981315611f3d5761182e6fffffffffffffffffffffffffffffffff926118339261303a565b612f3c565b169182811115611f0d576004549560018701600455611851856125b1565b6040517f313ce5670000000000000000000000000000000000000000000000000000000081526020816004818a5afa908115611ea6575f91611ede575b5061189889612752565b9060405192602084017f5361626c69657220426f62200000000000000000000000000000000000000000905283815193602083019480602c8401906118dd9188612331565b8201602c81017f205661756c74202300000000000000000000000000000000000000000000000090528151918260348301916020019161191c92612331565b01602c01036008017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855261195390856122d7565b61195c86612752565b61196588612752565b61196e8d612752565b916040519586945190816020870161198592612331565b8401602081017f2d000000000000000000000000000000000000000000000000000000000000009052815191826021830191602001916119c492612331565b01602001600181017f2d00000000000000000000000000000000000000000000000000000000000000905281519182600283019160200191611a0592612331565b01600101600181017f2d00000000000000000000000000000000000000000000000000000000000000905281519182600283019160200191611a4692612331565b01600101036001017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352611a7d90836122d7565b6040519261121b9283850185811067ffffffffffffffff821117611eb15760ff611acc6080938f95611abe908a996135948b3960a0865260a0860190612352565b908482036020860152612352565b94166040820152306060820152015203905ff08015611ea65773ffffffffffffffffffffffffffffffffffffffff1697855f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2054169460405161012081019281841067ffffffffffffffff851117611eb1578a936040528882526020820187815260408301918252606083018d815260808401908c825260a08501938b855260c08601935f855260e08701988b8a5261010088019889525f52600560205260405f20965173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687547fffffffffffffffffffffffff0000000000000000000000000000000000000000161787555186549060a01b78ffffffffff000000000000000000000000000000000000000016907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff161786555164ffffffffff16611c859086907fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff7dffffffffff0000000000000000000000000000000000000000000000000083549260c81b169116179055565b516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff93841617909155915160028601805490931690821617909155915160038401805492517fffffffffffffffffffffff000000000000000000000000000000000000000000909316919093161774ff000000000000000000000000000000000000000091151560a01b919091161790559151905160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9091161760049091015583611dc6575b5085927fa0670297fed6c7cac880cea5539b84fba742dbb4cb249f7c1ef7758bfe7ecf57926080926020996040519384528a84015260408301526060820152a4604051908152f35b92803b156107a857604051927fc6405ffb0000000000000000000000000000000000000000000000000000000084528760048501525f8460248183865af1928315611ea65760209989967fa0670297fed6c7cac880cea5539b84fba742dbb4cb249f7c1ef7758bfe7ecf5796608096611e92575b50604081896003935260058e522001740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff82541617905599509250925092611d7e565b611e9e91505f906122d7565b5f6040611e3a565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611f00915060203d602011611f06575b611ef881836122d7565b810190612318565b5f61188e565b503d611eee565b90507fd44a31e2000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b857f7d0e789a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b611f8c91925060a03d60a011611f98575b611f8481836122d7565b81019061257f565b5050509050905f6117d3565b503d611f7a565b877fab5a00c1000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b877fa3195fc9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b61201491925060203d602011611f0657611ef881836122d7565b905f611758565b857fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f53f36828000000000000000000000000000000000000000000000000000000005f5260045ffd5b84907f1a114464000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b507ff3e6b0cd000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fbf8c68d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561212e81612512565b5f52600560205260206fffffffffffffffffffffffffffffffff600460405f20015416604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561219481612512565b5f526005602052602064ffffffffff60405f205460a01c16604051908152f35b346107a8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a8576020600454604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561222a81612512565b5f526005602052602073ffffffffffffffffffffffffffffffffffffffff600260405f20015416604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561229481612512565b5f526005602052602064ffffffffff60405f205460c81c16604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036107a857565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611eb157604052565b908160209103126107a8575160ff811681036107a85790565b5f5b8381106123425750505f910152565b8181015183820152602001612333565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361238e81518092818752878088019101612331565b0116010190565b67ffffffffffffffff8111611eb157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156123f9573d906123e082612395565b916123ee60405193846122d7565b82523d5f602084013e565b606090565b51906fffffffffffffffffffffffffffffffff821682036107a857565b908160209103126107a8575180151581036107a85790565b5f52600560205273ffffffffffffffffffffffffffffffffffffffff600360405f200154166124ea576024602073ffffffffffffffffffffffffffffffffffffffff5f5416604051928380927fbaf8f4b90000000000000000000000000000000000000000000000000000000082526004808301525afa908115611ea6575f916124bb575090565b90506020813d6020116124e2575b816124d6602093836122d7565b810103126107a8575190565b3d91506124c9565b5f90565b91908260409103126107a85761250f6020612508846123fe565b93016123fe565b90565b805f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2054161561253d5750565b7f71dc5162000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b519069ffffffffffffffffffff821682036107a857565b908160a09103126107a85761259381612568565b9160208201519160408101519161250f608060608401519301612568565b5f809160405160208101907f95d89b41000000000000000000000000000000000000000000000000000000008252600481526125ee6024826122d7565b51915afa906125fb6123cf565b91158015612746575b6127095781518201916020818185019403126107a85760208101519067ffffffffffffffff82116107a8570182603f820112156107a857602081015161264981612395565b9361265760405195866122d7565b818552604083830101116107a857612676916040602086019101612331565b601e8251116126cc57612688826130e5565b1561268f57565b905060405161269f6040826122d7565b601281527f556e737570706f727465642053796d626f6c0000000000000000000000000000602082015290565b90506040516126dc6040826122d7565b600b81527f4c6f6e672053796d626f6c000000000000000000000000000000000000000000602082015290565b90506040516127196040826122d7565b600581527f4552433230000000000000000000000000000000000000000000000000000000602082015290565b50604082511115612604565b805f917a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000082101561290b575b806d04ee2d6d415b85acef8100000000600a9210156128f0575b662386f26fc100008110156128dc575b6305f5e1008110156128cb575b6127108110156128bc575b60648110156128ae575b10156128a3575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061283961282388612395565b97612831604051998a6122d7565b808952612395565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a835304801561289e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192612844565b505090565b6001909101906127cc565b6064600291049301926127c5565b612710600491049301926127bb565b6305f5e100600891049301926127b0565b662386f26fc10000601091049301926127a3565b6d04ee2d6d415b85acef810000000060209104930192612793565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008104612779565b73ffffffffffffffffffffffffffffffffffffffff5f54168033036129555750565b7fa7e1519e000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b600260015414612995576002600155565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f52600560205264ffffffffff60405f205460a01c16421015612a14575f90815260056020526040902060040154608081901c6fffffffffffffffffffffffffffffffff9091161115612a0f575f90565b600290565b50600190565b90815f52600560205273ffffffffffffffffffffffffffffffffffffffff600260405f20015416612a4a816132f2565b5050926fffffffffffffffffffffffffffffffff841615612b5b577ff91870972a027f9d8d73d000b8a900240e180d1773aeaae0c3373197b6c213c4604064ffffffffff4216835f526005602052612ae3876004845f2001906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b5f848152600560205282902080547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c883901b7dffffffffff00000000000000000000000000000000000000000000000000161790558151906fffffffffffffffffffffffffffffffff881682526020820152a3565b505f925050565b919073ffffffffffffffffffffffffffffffffffffffff16604051927fd0ff74fa0000000000000000000000000000000000000000000000000000000084528060048501526040846024815f865af18015611ea6575f945f91612c11575b50604080516fffffffffffffffffffffffffffffffff9687168152958216602087015290947f763332fd885bef5f1a349d9b6b52de9b437c3e17a1704be2630b8c3f5856972691819081015b0390a3565b7f763332fd885bef5f1a349d9b6b52de9b437c3e17a1704be2630b8c3f585697269550612c4d915060403d60401161061b5761060981836122d7565b9094612bc0565b612c5d816129bd565b6003811015612c9857612c6d5750565b7fddd4dca0000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9192905f916fffffffffffffffffffffffffffffffff85168015612f0c57612cec85612a1a565b50612cf685612c54565b5f8581526005602052604090206003015473ffffffffffffffffffffffffffffffffffffffff16928315612ed057839073ffffffffffffffffffffffffffffffffffffffff81163003612ec25750612d4d92612f98565b803b156107a8576040517f6e9c931c000000000000000000000000000000000000000000000000000000008152600481018490523360248201526fffffffffffffffffffffffffffffffff85166044820152905f908290606490829084905af18015611ea657612eaf575b505b818152600560205273ffffffffffffffffffffffffffffffffffffffff600160408320015416803b1561110c576040517f836a1040000000000000000000000000000000000000000000000000000000008152600481018490523360248201526fffffffffffffffffffffffffffffffff851660448201529082908290606490829084905af1801561021a57612e9a575b5050604080516fffffffffffffffffffffffffffffffff909316808452602084015233927f5311e04f453e88deaf1f1811907b38edfe7f4630e06d0575ce175899f90e670a9181908101612c0c565b612ea58280926122d7565b6102255780612e4b565b612ebb91505f906122d7565b5f5f612db8565b612ecb936134a5565b612d4d565b9250903373ffffffffffffffffffffffffffffffffffffffff841614612ef9575b505050612dba565b612f049230916134a5565b5f8080612ef1565b847f87c30df5000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b6fffffffffffffffffffffffffffffffff8111612f68576fffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52608060045260245260445ffd5b612ffa9273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252612ff56064836122d7565b61350c565b565b60ff16604d811161300d57600a0a90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060ff166008811161307a5760088110613052575090565b60080360ff811161300d5761306690612ffc565b9081810291818304149015171561300d5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80160ff811161300d576130ad90612ffc565b9081156130b8570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b8051905f5b8281106130f957505050600190565b81518110156132c5577fff0000000000000000000000000000000000000000000000000000000000000060208284010151167f20000000000000000000000000000000000000000000000000000000000000008114907f30000000000000000000000000000000000000000000000000000000000000008110158061329b575b7f41000000000000000000000000000000000000000000000000000000000000008210159081613270575b7f61000000000000000000000000000000000000000000000000000000000000008310159283613245575b841561321b575b508315613213575b50821561320b575b508115613203575b50156131fc576001016130ea565b5050505f90565b90505f6131ee565b91505f6131e6565b92505f6131de565b7f2d000000000000000000000000000000000000000000000000000000000000001493505f6131d6565b7f7a0000000000000000000000000000000000000000000000000000000000000081111593506131cf565b7f5a0000000000000000000000000000000000000000000000000000000000000083111591506131a4565b507f3900000000000000000000000000000000000000000000000000000000000000811115613179565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16801561349c57604051907f313ce567000000000000000000000000000000000000000000000000000000008252602082600481845afa5f928161347b575b506133555750505f905f905f90565b60ff821660248111908115613472575b506134685760a060049291604051938480927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa91825f915f94613440575b506133b7575050505f905f905f90565b5f81131561343857824210613438576fffffffffffffffffffffffffffffffff81116134385780600860ff841603613405575b506fffffffffffffffffffffffffffffffff16926008929150565b6134119150829061303a565b906fffffffffffffffffffffffffffffffff82116134305781906133ea565b5f9390929150565b50915f929190565b90935061345c915060a03d60a011611f9857611f8481836122d7565b5092505090925f6133a7565b50505f905f905f90565b9050155f613365565b61349591935060203d602011611f0657611ef881836122d7565b915f613346565b505f905f905f90565b90919273ffffffffffffffffffffffffffffffffffffffff612ffa9481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252612ff56084836122d7565b905f602091828151910182855af115611ea6575f513d61358a575073ffffffffffffffffffffffffffffffffffffffff81163b155b6135485750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6001141561354156fe60e06040523461039e5761121b80380380610019816103a2565b928339810160a08282031261039e5781516001600160401b03811161039e57816100449184016103c7565b602083015190916001600160401b03821161039e576100649184016103c7565b91604081015160ff8116810361039e576060820151916001600160a01b038316830361039e5760800151835190936001600160401b0382116102a15760035490600182811c92168015610394575b60208310146102835781601f849311610326575b50602090601f83116001146102c0575f926102b5575b50508160011b915f199060031b1c1916176003555b83516001600160401b0381116102a157600454600181811c91168015610297575b602082101461028357601f8111610220575b50602094601f82116001146101bd579481929394955f926101b2575b50508160011b915f199060031b1c1916176004555b60c05260805260a052604051610dea908161043182396080518181816101850152818161021e015281816105200152610cc8015260a0518181816102480152818161054a015281816106d60152610d23015260c051816107300152f35b015190505f80610140565b601f1982169560045f52805f20915f5b888110610208575083600195969798106101f0575b505050811b01600455610155565b01515f1960f88460031b161c191690555f80806101e2565b919260206001819286850151815501940192016101cd565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610279575b601f0160051c01905b81811061026e5750610124565b5f8155600101610261565b9091508190610258565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610112565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b60035f9081528281209350601f198516905b81811061030e57509084600195949392106102f6575b505050811b016003556100f1565b01515f1960f88460031b161c191690555f80806102e8565b929360206001819287860151815501950193016102d2565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851061038a575b90601f859493920160051c01905b81811061037c57506100c6565b5f815584935060010161036f565b9091508190610361565b91607f16916100b2565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102a157604052565b81601f8201121561039e578051906001600160401b0382116102a1576103f6601f8301601f19166020016103a2565b928284526020838301011161039e575f5b82811061041b57505060205f918301015290565b8060208092840101518282870101520161040756fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146109d057508063095ea7b31461092357806318160ddd146108e857806323b872dd14610754578063313ce567146106f9578063540acabc146106a157806370a082311461063f578063836a1040146104fa57806395d89b41146103a15780639eea5f66146101f8578063a9059cbb146101a9578063aa2e3b981461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e2610b0c565b73ffffffffffffffffffffffffffffffffffffffff6100ff610b2f565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101ed6101e3610b0c565b6024359033610c15565b602060405160018152f35b346101375761020636610b52565b9173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680330361037257507f000000000000000000000000000000000000000000000000000000000000000090818103610344578373ffffffffffffffffffffffffffffffffffffffff84168015610318575f818152602081905260409020548281106102e6576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f900604d5000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fdb702112000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f6004548060011c906001811680156104f0575b6020831081146104c3578285529081156104815750600114610423575b61041f8361041381850382610ba7565b60405191829182610aa6565b0390f35b91905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b80821061046757509091508101602001610413610403565b91926001816020925483858801015201910190929161044f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506104139050610403565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916103e6565b346101375761050836610b52565b9173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680330361037257507f0000000000000000000000000000000000000000000000000000000000000000908181036103445773ffffffffffffffffffffffffffffffffffffffff8316848115610613575f80525f602052600254908082018092116105e65760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61068b610b0c565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761078b610b0c565b610793610b2f565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811061080f575b506101ed9350610c15565b8381106108b457841561088857331561085c576101ed945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610804565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761095a610b0c565b6024359033156108885773ffffffffffffffffffffffffffffffffffffffff1690811561085c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f6003548060011c90600181168015610a9c575b6020831081146104c3578285529081156104815750600114610a3e5761041f8361041381850382610ba7565b91905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f905b808210610a8257509091508101602001610413610403565b919260018160209254838588010152019101909291610a6a565b91607f1691610a12565b919091602081528251928360208301525f5b848110610af65750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6040809697860101520116010190565b8060208092840101516040828601015201610ab8565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112610137576004359060243573ffffffffffffffffffffffffffffffffffffffff81168103610137579060443590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610be857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff169081156103185773ffffffffffffffffffffffffffffffffffffffff168015610613575f828152602081905260409020549182848110610d81578490825f525f6020520360405f2055815f525f60205260405f2084815401905581817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051888152a373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610137575f60a492819560405197889687957f801837f60000000000000000000000000000000000000000000000000000000087527f0000000000000000000000000000000000000000000000000000000000000000600488015260248701526044860152606485015260848401525af18015610d7657610d6a5750565b5f610d7491610ba7565b565b6040513d5f823e3d90fd5b84917fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea26469706673582212209d9157574f918237d0f86bc15bd26f4e8242fc01bb0c89f3e8e245bcd077060164736f6c634300081d0033a2646970667358221220376accacda190f92d7a93aff83e7223edf1fb475a80c5d0218e16a152fc2ce3b64736f6c634300081d0033",
|
|
474
|
+
"sourceMap": "2944:19176:81:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;2944:19176:81;;;;;;;;;;-1:-1:-1;;;4428:52:50;;-1:-1:-1;;;4428:52:50;;;2944:19176:81;;;4428:52:50;2944:19176:81;4428:52:50;;;;;;;;-1:-1:-1;4428:52:50;;;-1:-1:-1;4427:53:50;;4423:332;;-1:-1:-1;2944:19176:81;;-1:-1:-1;;;;;;2944:19176:81;;;;;;;;;;;;;;;;;;4880:51:50;;2944:19176:81;4880:51:50;1857:1:12;2944:19176:81;;1857:1:12;4428:52:50;2944:19176:81;;;;;;;;;;4423:332:50;4503:241;;;-1:-1:-1;4503:241:50;-1:-1:-1;4428:52:50;2944:19176:81;4428:52:50;2944:19176:81;1565:210:50;;;2944:19176:81;;;-1:-1:-1;4503:241:50;4428:52;;;2944:19176:81;4428:52:50;;2944:19176:81;4428:52:50;;;;;;2944:19176:81;4428:52:50;;;:::i;:::-;;;2944:19176:81;;;;;;;;;;;;4428:52:50;;;2944:19176:81;-1:-1:-1;2944:19176:81;;4428:52:50;;;-1:-1:-1;4428:52:50;;;2944:19176:81;;;-1:-1:-1;2944:19176:81;;;;;;;;;;-1:-1:-1;;2944:19176:81;;;;-1:-1:-1;;;;;2944:19176:81;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;2944:19176:81;;;;;-1:-1:-1;2944:19176:81",
|
|
475
|
+
"linkReferences": {}
|
|
476
|
+
},
|
|
477
|
+
"deployedBytecode": {
|
|
478
|
+
"object": "0x60806040526004361015610011575f80fd5b5f5f3560e01c80629dd14f1461225957806310a9de60146121ef57806312ac1763146121b457806313c726081461215957806346de071d146120f357806350129dff1461163d5780635645ed77146115e75780635fe3b5671461159657806365957bf51461153e5780636da1e1021461141857806378f82ce7146113915780637aca734b14611110578063801837f614610f835780638bad38dd14610d4c5780638f4f896814610cf0578063a06da63014610c7b578063a153803914610c16578063a477577214610baf578063ad35efd414610b29578063b18c0adb1461098d578063c8d293b7146108f5578063cca138e5146108a7578063db006a75146102e4578063ddeadbb61461027a578063e1758bd8146102285763ef96122914610137575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561016c612984565b61017581612512565b61017e81612c54565b808252600560205273ffffffffffffffffffffffffffffffffffffffff604083205416803b1561021657826040517fd0e30db0000000000000000000000000000000000000000000000000000000008152818160048134875af1801561021a57610201575b50506101fa916101f234612f3c565b903090612cc5565b6001805580f35b8161020b916122d7565b61021657825f6101e3565b8280fd5b6040513d84823e3d90fd5b80fd5b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022557602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff600360406020936004356102d281612512565b81526005855220015416604051908152f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561031a612984565b61032381612512565b8161032d826129bd565b600381101561087a571561082e575b818352600560205273ffffffffffffffffffffffffffffffffffffffff60036040852001541691808452600560205273ffffffffffffffffffffffffffffffffffffffff60016040862001541691818552600560205273ffffffffffffffffffffffffffffffffffffffff604086205416926040517f70a08231000000000000000000000000000000000000000000000000000000008152336004820152602081602481855afa80156108235787906107ef575b6103fa9150612f3c565b946fffffffffffffffffffffffffffffffff86169283156107bf578115610692575034610666579060408792858452600560205260ff6003838620015460a01c16610622575b60648251809a81937fe5eefedd0000000000000000000000000000000000000000000000000000000083528960048401523360248401528860448401525af195861561021a57829783976105eb575b506fffffffffffffffffffffffffffffffff87989716806105c3575b505b813b15610216576040517f9eea5f66000000000000000000000000000000000000000000000000000000008152600481018690523360248201526fffffffffffffffffffffffffffffffff9190911660448201529082908290606490829084905af1801561021a576105ae575b505061053b6fffffffffffffffffffffffffffffffff851680943390612f98565b60405192835260208301526fffffffffffffffffffffffffffffffff841660408301527f66263a58856c3e57dbd58eff9f6ca2879ceeee962dd9036291613ddb9a1d444360603393a360018055604080516fffffffffffffffffffffffffffffffff928316815292909116602083015290f35b6105b98280926122d7565b610225578061051a565b6105e59073ffffffffffffffffffffffffffffffffffffffff85541688612f98565b5f6104ab565b90965061061191975060403d60401161061b575b61060981836122d7565b8101906124ee565b969096955f61048f565b503d6105ff565b85845260056020526003828520017fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff81541690556106608187612b62565b50610440565b602487857f2327fe21000000000000000000000000000000000000000000000000000000008252600452fd5b9691905073ffffffffffffffffffffffffffffffffffffffff8254166040517fbaf8f4b9000000000000000000000000000000000000000000000000000000008152600480820152602081602481855afa9081156107b457849161077e575b5080341061074f575082903461070a575b5050856104ad565b8180809234905af161071a6123cf565b501561072757815f610702565b6004827ff0623c63000000000000000000000000000000000000000000000000000000008152fd5b7fb96cf21700000000000000000000000000000000000000000000000000000000845234600452602452604483fd5b90506020813d6020116107ac575b81610799602093836122d7565b810103126107a857515f6106f1565b5f80fd5b3d915061078c565b6040513d86823e3d90fd5b604488867f7305a0a700000000000000000000000000000000000000000000000000000000825260045233602452fd5b506020813d60201161081b575b81610809602093836122d7565b810103126107a8576103fa90516103f0565b3d91506107fc565b6040513d89823e3d90fd5b61083782612a1a565b50610841826129bd565b600381101561087a5761033c57602483837f865b93d0000000000000000000000000000000000000000000000000000000008252600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760206108ed6004356108e881612512565b612433565b604051908152f35b50346102255760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576024356004356fffffffffffffffffffffffffffffffff82168203610216576101fa91610950612984565b61095982612512565b61096282612c54565b818452600560205273ffffffffffffffffffffffffffffffffffffffff604085205416913390612cc5565b50346102255760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576109c56122b4565b6024359073ffffffffffffffffffffffffffffffffffffffff8216809203610216576109ef612933565b81610a66575b73ffffffffffffffffffffffffffffffffffffffff16808352600260205260408320827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f2cabb75a6cee74a6a503e79266a06a9a1c337edaad59e67075ac7325e35226bf8380a380f35b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f178fe656000000000000000000000000000000000000000000000000000000006004820152602081602481865afa9081156107b4578491610afa575b506109f557602483837fd06b68b9000000000000000000000000000000000000000000000000000000008252600452fd5b610b1c915060203d602011610b22575b610b1481836122d7565b81019061241b565b5f610ac9565b503d610b0a565b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022557610b6d600435610b6881612512565b6129bd565b604051906003811015610b8257602092508152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6040602092600435610c0581612512565b815260058452205416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff604060209282610c696122b4565b16815260028452205416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576020610cd2600435610cbb612984565b610cc481612512565b610ccd81612c54565b612a1a565b600180556fffffffffffffffffffffffffffffffff60405191168152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760ff60036040602093600435610d3581612512565b81526005855220015460a01c166040519015158152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576004359073ffffffffffffffffffffffffffffffffffffffff821680920361022557610da6612933565b80549173ffffffffffffffffffffffffffffffffffffffff8316906040517fc34df33e000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156107b4578491610f24575b507fffffffff00000000000000000000000000000000000000000000000000000000604051917f01ffc9a70000000000000000000000000000000000000000000000000000000083521690816004820152602081602481865afa908115610f19578591610efa575b5015610ec757507ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf91816040927fffffffffffffffffffffffff0000000000000000000000000000000000000000871617855582519182526020820152a180f35b91606494507fc9947bc2000000000000000000000000000000000000000000000000000000008452600452602452604452fd5b610f13915060203d602011610b2257610b1481836122d7565b5f610e66565b6040513d87823e3d90fd5b90506020813d602011610f7b575b81610f3f602093836122d7565b81010312610f7757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610f77575f610dfe565b8380fd5b3d9150610f32565b50346102255760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610225576004359060243573ffffffffffffffffffffffffffffffffffffffff811680910361110c576044359073ffffffffffffffffffffffffffffffffffffffff821680920361021657838352600560205273ffffffffffffffffffffffffffffffffffffffff60016040852001541633036110dc57928293818452600560205273ffffffffffffffffffffffffffffffffffffffff60036040862001541680611058578480f35b803b156110d85784928360a49260405196879586947f3527687f000000000000000000000000000000000000000000000000000000008652600486015260248501526044840152606435606484015260843560848401525af1801561021a576110c3575b8080808480f35b816110cd916122d7565b61022557805f6110bc565b8480fd5b604483857f0c8fb31600000000000000000000000000000000000000000000000000000000825260045233602452fd5b5080fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760043561114b612984565b61115481612512565b808252600560205273ffffffffffffffffffffffffffffffffffffffff60036040842001541691821561136657818152600560205260ff600360408320015460a01c161561133b576040517fa59c665d000000000000000000000000000000000000000000000000000000008152826004820152602081602481875afa801561021a5782906112f2575b6fffffffffffffffffffffffffffffffff915016156112c757611200826129bd565b600381101561129a571561124f575b91816003604085610cd295602097526005875220017fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8154169055612b62565b61125882612a1a565b50611262826129bd565b600381101561129a5761120f576024917f865b93d0000000000000000000000000000000000000000000000000000000008252600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024917fab5331fc000000000000000000000000000000000000000000000000000000008252600452fd5b506020813d602011611333575b8161130c602093836122d7565b8101031261110c5761132e6fffffffffffffffffffffffffffffffff916123fe565b6111de565b3d91506112ff565b6024917f8b3dc224000000000000000000000000000000000000000000000000000000008252600452fd5b6024917f9b1c71a5000000000000000000000000000000000000000000000000000000008252600452fd5b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff8154167f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c6020478480808084885af15061140d6123cf565b50604051908152a280f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6114656122b4565b61146d612933565b1680156115165760035473ffffffffffffffffffffffffffffffffffffffff8116806114eb57507fffffffffffffffffffffffff0000000000000000000000000000000000000000829116176003556040519081527f7b0a5ae0a2e8f0dc2ec7555098e00dd4af1418ee3fd1bcf9bb14f6990c10fa9260203392a280f35b7f72516324000000000000000000000000000000000000000000000000000000008452600452602483fd5b6004827f0e21018b000000000000000000000000000000000000000000000000000000008152fd5b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff600160406020936004356102d281612512565b503461022557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346102255760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102255760046040602092823561162981612512565b81526005845220015460801c604051908152f35b50346107a85760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a8576116756122b4565b6024359173ffffffffffffffffffffffffffffffffffffffff83168093036107a8576044359164ffffffffff83168093036107a857606435906fffffffffffffffffffffffffffffffff82168092036107a85773ffffffffffffffffffffffffffffffffffffffff169081156120cb5773ffffffffffffffffffffffffffffffffffffffff60035416821461209f5764ffffffffff4216938481111561206f57811561204757851561201b576040517f313ce5670000000000000000000000000000000000000000000000000000000081526020816004818a5afa5f9181611ffa575b5061178957867fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60ff81168015611fce5760248111611f9f57506040517ffeaf968c00000000000000000000000000000000000000000000000000000000815260a0816004818b5afa5f9181611f69575b5061180457877fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f81989697981315611f3d5761182e6fffffffffffffffffffffffffffffffff926118339261303a565b612f3c565b169182811115611f0d576004549560018701600455611851856125b1565b6040517f313ce5670000000000000000000000000000000000000000000000000000000081526020816004818a5afa908115611ea6575f91611ede575b5061189889612752565b9060405192602084017f5361626c69657220426f62200000000000000000000000000000000000000000905283815193602083019480602c8401906118dd9188612331565b8201602c81017f205661756c74202300000000000000000000000000000000000000000000000090528151918260348301916020019161191c92612331565b01602c01036008017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855261195390856122d7565b61195c86612752565b61196588612752565b61196e8d612752565b916040519586945190816020870161198592612331565b8401602081017f2d000000000000000000000000000000000000000000000000000000000000009052815191826021830191602001916119c492612331565b01602001600181017f2d00000000000000000000000000000000000000000000000000000000000000905281519182600283019160200191611a0592612331565b01600101600181017f2d00000000000000000000000000000000000000000000000000000000000000905281519182600283019160200191611a4692612331565b01600101036001017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352611a7d90836122d7565b6040519261121b9283850185811067ffffffffffffffff821117611eb15760ff611acc6080938f95611abe908a996135948b3960a0865260a0860190612352565b908482036020860152612352565b94166040820152306060820152015203905ff08015611ea65773ffffffffffffffffffffffffffffffffffffffff1697855f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2054169460405161012081019281841067ffffffffffffffff851117611eb1578a936040528882526020820187815260408301918252606083018d815260808401908c825260a08501938b855260c08601935f855260e08701988b8a5261010088019889525f52600560205260405f20965173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687547fffffffffffffffffffffffff0000000000000000000000000000000000000000161787555186549060a01b78ffffffffff000000000000000000000000000000000000000016907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff161786555164ffffffffff16611c859086907fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff7dffffffffff0000000000000000000000000000000000000000000000000083549260c81b169116179055565b516001850180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff93841617909155915160028601805490931690821617909155915160038401805492517fffffffffffffffffffffff000000000000000000000000000000000000000000909316919093161774ff000000000000000000000000000000000000000091151560a01b919091161790559151905160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9091161760049091015583611dc6575b5085927fa0670297fed6c7cac880cea5539b84fba742dbb4cb249f7c1ef7758bfe7ecf57926080926020996040519384528a84015260408301526060820152a4604051908152f35b92803b156107a857604051927fc6405ffb0000000000000000000000000000000000000000000000000000000084528760048501525f8460248183865af1928315611ea65760209989967fa0670297fed6c7cac880cea5539b84fba742dbb4cb249f7c1ef7758bfe7ecf5796608096611e92575b50604081896003935260058e522001740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff82541617905599509250925092611d7e565b611e9e91505f906122d7565b5f6040611e3a565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611f00915060203d602011611f06575b611ef881836122d7565b810190612318565b5f61188e565b503d611eee565b90507fd44a31e2000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b857f7d0e789a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b611f8c91925060a03d60a011611f98575b611f8481836122d7565b81019061257f565b5050509050905f6117d3565b503d611f7a565b877fab5a00c1000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b877fa3195fc9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b61201491925060203d602011611f0657611ef881836122d7565b905f611758565b857fa3bef8ba000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f53f36828000000000000000000000000000000000000000000000000000000005f5260045ffd5b84907f1a114464000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b507ff3e6b0cd000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fbf8c68d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561212e81612512565b5f52600560205260206fffffffffffffffffffffffffffffffff600460405f20015416604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561219481612512565b5f526005602052602064ffffffffff60405f205460a01c16604051908152f35b346107a8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a8576020600454604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561222a81612512565b5f526005602052602073ffffffffffffffffffffffffffffffffffffffff600260405f20015416604051908152f35b346107a85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107a85760043561229481612512565b5f526005602052602064ffffffffff60405f205460c81c16604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036107a857565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611eb157604052565b908160209103126107a8575160ff811681036107a85790565b5f5b8381106123425750505f910152565b8181015183820152602001612333565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361238e81518092818752878088019101612331565b0116010190565b67ffffffffffffffff8111611eb157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156123f9573d906123e082612395565b916123ee60405193846122d7565b82523d5f602084013e565b606090565b51906fffffffffffffffffffffffffffffffff821682036107a857565b908160209103126107a8575180151581036107a85790565b5f52600560205273ffffffffffffffffffffffffffffffffffffffff600360405f200154166124ea576024602073ffffffffffffffffffffffffffffffffffffffff5f5416604051928380927fbaf8f4b90000000000000000000000000000000000000000000000000000000082526004808301525afa908115611ea6575f916124bb575090565b90506020813d6020116124e2575b816124d6602093836122d7565b810103126107a8575190565b3d91506124c9565b5f90565b91908260409103126107a85761250f6020612508846123fe565b93016123fe565b90565b805f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2054161561253d5750565b7f71dc5162000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b519069ffffffffffffffffffff821682036107a857565b908160a09103126107a85761259381612568565b9160208201519160408101519161250f608060608401519301612568565b5f809160405160208101907f95d89b41000000000000000000000000000000000000000000000000000000008252600481526125ee6024826122d7565b51915afa906125fb6123cf565b91158015612746575b6127095781518201916020818185019403126107a85760208101519067ffffffffffffffff82116107a8570182603f820112156107a857602081015161264981612395565b9361265760405195866122d7565b818552604083830101116107a857612676916040602086019101612331565b601e8251116126cc57612688826130e5565b1561268f57565b905060405161269f6040826122d7565b601281527f556e737570706f727465642053796d626f6c0000000000000000000000000000602082015290565b90506040516126dc6040826122d7565b600b81527f4c6f6e672053796d626f6c000000000000000000000000000000000000000000602082015290565b90506040516127196040826122d7565b600581527f4552433230000000000000000000000000000000000000000000000000000000602082015290565b50604082511115612604565b805f917a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000082101561290b575b806d04ee2d6d415b85acef8100000000600a9210156128f0575b662386f26fc100008110156128dc575b6305f5e1008110156128cb575b6127108110156128bc575b60648110156128ae575b10156128a3575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061283961282388612395565b97612831604051998a6122d7565b808952612395565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a835304801561289e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192612844565b505090565b6001909101906127cc565b6064600291049301926127c5565b612710600491049301926127bb565b6305f5e100600891049301926127b0565b662386f26fc10000601091049301926127a3565b6d04ee2d6d415b85acef810000000060209104930192612793565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008104612779565b73ffffffffffffffffffffffffffffffffffffffff5f54168033036129555750565b7fa7e1519e000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b600260015414612995576002600155565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f52600560205264ffffffffff60405f205460a01c16421015612a14575f90815260056020526040902060040154608081901c6fffffffffffffffffffffffffffffffff9091161115612a0f575f90565b600290565b50600190565b90815f52600560205273ffffffffffffffffffffffffffffffffffffffff600260405f20015416612a4a816132f2565b5050926fffffffffffffffffffffffffffffffff841615612b5b577ff91870972a027f9d8d73d000b8a900240e180d1773aeaae0c3373197b6c213c4604064ffffffffff4216835f526005602052612ae3876004845f2001906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b5f848152600560205282902080547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c883901b7dffffffffff00000000000000000000000000000000000000000000000000161790558151906fffffffffffffffffffffffffffffffff881682526020820152a3565b505f925050565b919073ffffffffffffffffffffffffffffffffffffffff16604051927fd0ff74fa0000000000000000000000000000000000000000000000000000000084528060048501526040846024815f865af18015611ea6575f945f91612c11575b50604080516fffffffffffffffffffffffffffffffff9687168152958216602087015290947f763332fd885bef5f1a349d9b6b52de9b437c3e17a1704be2630b8c3f5856972691819081015b0390a3565b7f763332fd885bef5f1a349d9b6b52de9b437c3e17a1704be2630b8c3f585697269550612c4d915060403d60401161061b5761060981836122d7565b9094612bc0565b612c5d816129bd565b6003811015612c9857612c6d5750565b7fddd4dca0000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9192905f916fffffffffffffffffffffffffffffffff85168015612f0c57612cec85612a1a565b50612cf685612c54565b5f8581526005602052604090206003015473ffffffffffffffffffffffffffffffffffffffff16928315612ed057839073ffffffffffffffffffffffffffffffffffffffff81163003612ec25750612d4d92612f98565b803b156107a8576040517f6e9c931c000000000000000000000000000000000000000000000000000000008152600481018490523360248201526fffffffffffffffffffffffffffffffff85166044820152905f908290606490829084905af18015611ea657612eaf575b505b818152600560205273ffffffffffffffffffffffffffffffffffffffff600160408320015416803b1561110c576040517f836a1040000000000000000000000000000000000000000000000000000000008152600481018490523360248201526fffffffffffffffffffffffffffffffff851660448201529082908290606490829084905af1801561021a57612e9a575b5050604080516fffffffffffffffffffffffffffffffff909316808452602084015233927f5311e04f453e88deaf1f1811907b38edfe7f4630e06d0575ce175899f90e670a9181908101612c0c565b612ea58280926122d7565b6102255780612e4b565b612ebb91505f906122d7565b5f5f612db8565b612ecb936134a5565b612d4d565b9250903373ffffffffffffffffffffffffffffffffffffffff841614612ef9575b505050612dba565b612f049230916134a5565b5f8080612ef1565b847f87c30df5000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b6fffffffffffffffffffffffffffffffff8111612f68576fffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52608060045260245260445ffd5b612ffa9273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252612ff56064836122d7565b61350c565b565b60ff16604d811161300d57600a0a90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9060ff166008811161307a5760088110613052575090565b60080360ff811161300d5761306690612ffc565b9081810291818304149015171561300d5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80160ff811161300d576130ad90612ffc565b9081156130b8570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b8051905f5b8281106130f957505050600190565b81518110156132c5577fff0000000000000000000000000000000000000000000000000000000000000060208284010151167f20000000000000000000000000000000000000000000000000000000000000008114907f30000000000000000000000000000000000000000000000000000000000000008110158061329b575b7f41000000000000000000000000000000000000000000000000000000000000008210159081613270575b7f61000000000000000000000000000000000000000000000000000000000000008310159283613245575b841561321b575b508315613213575b50821561320b575b508115613203575b50156131fc576001016130ea565b5050505f90565b90505f6131ee565b91505f6131e6565b92505f6131de565b7f2d000000000000000000000000000000000000000000000000000000000000001493505f6131d6565b7f7a0000000000000000000000000000000000000000000000000000000000000081111593506131cf565b7f5a0000000000000000000000000000000000000000000000000000000000000083111591506131a4565b507f3900000000000000000000000000000000000000000000000000000000000000811115613179565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16801561349c57604051907f313ce567000000000000000000000000000000000000000000000000000000008252602082600481845afa5f928161347b575b506133555750505f905f905f90565b60ff821660248111908115613472575b506134685760a060049291604051938480927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa91825f915f94613440575b506133b7575050505f905f905f90565b5f81131561343857824210613438576fffffffffffffffffffffffffffffffff81116134385780600860ff841603613405575b506fffffffffffffffffffffffffffffffff16926008929150565b6134119150829061303a565b906fffffffffffffffffffffffffffffffff82116134305781906133ea565b5f9390929150565b50915f929190565b90935061345c915060a03d60a011611f9857611f8481836122d7565b5092505090925f6133a7565b50505f905f905f90565b9050155f613365565b61349591935060203d602011611f0657611ef881836122d7565b915f613346565b505f905f905f90565b90919273ffffffffffffffffffffffffffffffffffffffff612ffa9481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252612ff56084836122d7565b905f602091828151910182855af115611ea6575f513d61358a575073ffffffffffffffffffffffffffffffffffffffff81163b155b6135485750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6001141561354156fe60e06040523461039e5761121b80380380610019816103a2565b928339810160a08282031261039e5781516001600160401b03811161039e57816100449184016103c7565b602083015190916001600160401b03821161039e576100649184016103c7565b91604081015160ff8116810361039e576060820151916001600160a01b038316830361039e5760800151835190936001600160401b0382116102a15760035490600182811c92168015610394575b60208310146102835781601f849311610326575b50602090601f83116001146102c0575f926102b5575b50508160011b915f199060031b1c1916176003555b83516001600160401b0381116102a157600454600181811c91168015610297575b602082101461028357601f8111610220575b50602094601f82116001146101bd579481929394955f926101b2575b50508160011b915f199060031b1c1916176004555b60c05260805260a052604051610dea908161043182396080518181816101850152818161021e015281816105200152610cc8015260a0518181816102480152818161054a015281816106d60152610d23015260c051816107300152f35b015190505f80610140565b601f1982169560045f52805f20915f5b888110610208575083600195969798106101f0575b505050811b01600455610155565b01515f1960f88460031b161c191690555f80806101e2565b919260206001819286850151815501940192016101cd565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610279575b601f0160051c01905b81811061026e5750610124565b5f8155600101610261565b9091508190610258565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610112565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b60035f9081528281209350601f198516905b81811061030e57509084600195949392106102f6575b505050811b016003556100f1565b01515f1960f88460031b161c191690555f80806102e8565b929360206001819287860151815501950193016102d2565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851061038a575b90601f859493920160051c01905b81811061037c57506100c6565b5f815584935060010161036f565b9091508190610361565b91607f16916100b2565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102a157604052565b81601f8201121561039e578051906001600160401b0382116102a1576103f6601f8301601f19166020016103a2565b928284526020838301011161039e575f5b82811061041b57505060205f918301015290565b8060208092840101518282870101520161040756fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146109d057508063095ea7b31461092357806318160ddd146108e857806323b872dd14610754578063313ce567146106f9578063540acabc146106a157806370a082311461063f578063836a1040146104fa57806395d89b41146103a15780639eea5f66146101f8578063a9059cbb146101a9578063aa2e3b981461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e2610b0c565b73ffffffffffffffffffffffffffffffffffffffff6100ff610b2f565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101ed6101e3610b0c565b6024359033610c15565b602060405160018152f35b346101375761020636610b52565b9173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680330361037257507f000000000000000000000000000000000000000000000000000000000000000090818103610344578373ffffffffffffffffffffffffffffffffffffffff84168015610318575f818152602081905260409020548281106102e6576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f900604d5000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fdb702112000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f6004548060011c906001811680156104f0575b6020831081146104c3578285529081156104815750600114610423575b61041f8361041381850382610ba7565b60405191829182610aa6565b0390f35b91905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b80821061046757509091508101602001610413610403565b91926001816020925483858801015201910190929161044f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506104139050610403565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916103e6565b346101375761050836610b52565b9173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680330361037257507f0000000000000000000000000000000000000000000000000000000000000000908181036103445773ffffffffffffffffffffffffffffffffffffffff8316848115610613575f80525f602052600254908082018092116105e65760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61068b610b0c565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761078b610b0c565b610793610b2f565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811061080f575b506101ed9350610c15565b8381106108b457841561088857331561085c576101ed945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610804565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761095a610b0c565b6024359033156108885773ffffffffffffffffffffffffffffffffffffffff1690811561085c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f6003548060011c90600181168015610a9c575b6020831081146104c3578285529081156104815750600114610a3e5761041f8361041381850382610ba7565b91905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f905b808210610a8257509091508101602001610413610403565b919260018160209254838588010152019101909291610a6a565b91607f1691610a12565b919091602081528251928360208301525f5b848110610af65750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6040809697860101520116010190565b8060208092840101516040828601015201610ab8565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112610137576004359060243573ffffffffffffffffffffffffffffffffffffffff81168103610137579060443590565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610be857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff169081156103185773ffffffffffffffffffffffffffffffffffffffff168015610613575f828152602081905260409020549182848110610d81578490825f525f6020520360405f2055815f525f60205260405f2084815401905581817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051888152a373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610137575f60a492819560405197889687957f801837f60000000000000000000000000000000000000000000000000000000087527f0000000000000000000000000000000000000000000000000000000000000000600488015260248701526044860152606485015260848401525af18015610d7657610d6a5750565b5f610d7491610ba7565b565b6040513d5f823e3d90fd5b84917fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea26469706673582212209d9157574f918237d0f86bc15bd26f4e8242fc01bb0c89f3e8e245bcd077060164736f6c634300081d0033a2646970667358221220376accacda190f92d7a93aff83e7223edf1fb475a80c5d0218e16a152fc2ce3b64736f6c634300081d0033",
|
|
479
|
+
"sourceMap": "2944:19176:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2466:103:12;;:::i;:::-;1666:7:84;;;:::i;:::-;3627::81;;;:::i;:::-;2944:19176;;;8868:7;2944:19176;;;;;;;;9052:43;;;;;2944:19176;;;;9052:43;;9082:9;;2944:19176;9082:9;;9052:43;;;;;;;;;2944:19176;9082:9;;9296:13;9082:9;9165:21;9082:9;9165:21;:::i;:::-;9266:4;;9296:13;;:::i;:::-;2944:19176;;;;;9052:43;;;;;:::i;:::-;2944:19176;;9052:43;;;;2944:19176;;;;9052:43;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;;;1098:35:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;2441:24:84;2944:19176:81;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;2441:7:84;2944:19176:81;;;2441:24:84;2944:19176:81;;;;;;;;;;;;;;;;;;;2466:103:12;;:::i;:::-;1666:7:84;;;:::i;:::-;9357:3776:81;9669:18;;;:::i;:::-;2944:19176;;;;;;9669:39;9665:407;;2944:19176;;;;10147:7;2944:19176;;;;;;;10147:24;2944:19176;;;;;;10147:7;2944:19176;;;;;;;10209:27;2944:19176;;;;;;10147:7;2944:19176;;;;;;;;;;;;10360:32;;10381:10;2944:19176;10360:32;;2944:19176;;10360:32;;;;;;;;;;;;;;2944:19176;10360:44;;;;:::i;:::-;2944:19176;;;;10468:17;;;10464:110;;10634:30;;2944:19176;;10731:9;;10727:101;;2944:19176;;;;;;;10147:7;2944:19176;;;;;;;10914:34;2944:19176;;;;10910:307;;10630:2016;11363:60;2944:19176;;11363:60;;;;2944:19176;11363:60;;;2944:19176;11363:60;;2944:19176;10381:10;10360:32;2944:19176;;;;;;;;11363:60;;;;;;;;2944:19176;;11363:60;;;10630:2016;11316:107;2944:19176;11316:107;;2944:19176;;11515:30;11511:137;;10630:2016;;;12715:50;;;;;2944:19176;;;12715:50;;2944:19176;12715:50;;2944:19176;;;10381:10;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;12715:50;;;;;;;;10630:2016;2944:19176;;12831:46;2944:19176;;;10381:10;;;12831:46;;:::i;:::-;2944:19176;;;;;;;;;;;;;;;;12919:207;2944:19176;10381:10;12919:207;;2944:19176;;;;;;;;;;;;;;;;;;;;;;12715:50;;;;;;:::i;:::-;2944:19176;;12715:50;;;11511:137;11565:68;2944:19176;;;;;11565:68;;:::i;:::-;11511:137;;;11363:60;;;;;;;;2944:19176;11363:60;2944:19176;11363:60;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;10910:307;2944:19176;;;10147:7;2944:19176;;;;;;11027:34;2944:19176;;;;;;11156:46;;;;:::i;:::-;;10910:307;;10727:101;10360:32;10771:42;;;;;2944:19176;;10771:42;10630:2016;2944:19176;;;;;;;;;;;11922:79;;2944:19176;11922:79;;;2944:19176;;11922:79;10360:32;11922:79;;;;;;;;;;;;;10630:2016;12099:9;;;:21;12095:129;;12099:9;;;;12307:242;;10630:2016;12606:29;;;10630:2016;;12307:242;12099:9;;;;;12362:50;;;;;:::i;:::-;;12434:8;12430:105;;12307:242;;;;12430:105;2944:19176;12473:43;;;;;12095:129;12147:62;;;12099:9;2944:19176;;10360:32;2944:19176;;12147:62;;11922:79;;;2944:19176;11922:79;;2944:19176;11922:79;;;;;;2944:19176;11922:79;;;:::i;:::-;;;2944:19176;;;;;11922:79;;;2944:19176;-1:-1:-1;2944:19176:81;;11922:79;;;-1:-1:-1;11922:79:81;;;2944:19176;;;;;;;;;10464:110;2944:19176;10508:55;;;;;2944:19176;;10381:10;10360:32;2944:19176;10508:55;10360:32;;2944:19176;10360:32;;2944:19176;10360:32;;;;;;2944:19176;10360:32;;;:::i;:::-;;;2944:19176;;;;10360:44;2944:19176;;10360:32;;;;;-1:-1:-1;10360:32:81;;;2944:19176;;;;;;;;;9665:407;9775:29;;;:::i;:::-;;9883:18;;;:::i;:::-;2944:19176;;;;;;9665:407;9879:128;2944:19176;9949:43;;;;;2944:19176;;9949:43;2944:19176;;;;;;;;;;;;;;;;;;;;;;;4309:491;2944:19176;;1666:7:84;;;:::i;:::-;4309:491:81;:::i;:::-;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8553:22;2466:103:12;;;:::i;:::-;1666:7:84;;;:::i;:::-;3627::81;;;:::i;:::-;2944:19176;;;8553:7;2944:19176;;;;;;;;8518:10;;8553:22;;:::i;2944:19176::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1003:74:50;;:::i;:::-;14033:33:81;14029:304;;2944:19176;;;;;;14401:16;2944:19176;;;;;;;;;;;;;14488:36;;;;2944:19176;;14029:304;2944:19176;;;14158:59;;14103:36;2944:19176;14158:59;;2944:19176;;14158:59;2944:19176;14158:59;;;;;;;;;;;;;14029:304;14157:60;14029:304;14153:170;2944:19176;14244:64;;;;;2944:19176;;14244:64;14158:59;;;;2944:19176;14158:59;2944:19176;14158:59;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2944:19176;;;;;;;;;;;;4620:18:84;2944:19176:81;;1666:7:84;;;:::i;:::-;4620:18;:::i;:::-;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;4199:7:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;2639:16:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;14836:29;2944:19176;;2466:103:12;;:::i;:::-;1666:7:84;;;:::i;:::-;3627::81;;;:::i;:::-;14836:29;:::i;:::-;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;4414:34:84;2944:19176:81;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;4414:7:84;2944:19176:81;;;4414:34:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1003:74:50;;:::i;:::-;2944:19176:81;;;;;;;;;;2621:34:50;;2944:19176:81;2621:34:50;2944:19176:81;2621:34:50;;;;;;;;;;;;;2944:19176:81;;;;;4428:52:50;2944:19176:81;4428:52:50;;2944:19176:81;4428:52:50;;2944:19176:81;4428:52:50;;2944:19176:81;;4428:52:50;;;;;;;;;;;;;;;2944:19176:81;4427:53:50;;4423:332;;2944:19176:81;4880:51:50;2944:19176:81;;;;;;;;;;;;;;;;;;;4880:51:50;2944:19176:81;;4423:332:50;4503:241;2944:19176:81;4503:241:50;;;;;2944:19176:81;;4428:52:50;2944:19176:81;;;4503:241:50;4428:52;;;;2944:19176:81;4428:52:50;2944:19176:81;4428:52:50;;;;;;;:::i;:::-;;;;;2944:19176:81;;;;;;;;;2621:34:50;;;2944:19176:81;2621:34:50;;2944:19176:81;2621:34:50;;;;;;2944:19176:81;2621:34:50;;;:::i;:::-;;;2944:19176:81;;;;;;;;;;;;2621:34:50;;;2944:19176:81;;;;2621:34:50;;;-1:-1:-1;2621:34:50;;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16849:7;2944:19176;;;;;;;16849:27;2944:19176;;16827:10;:50;16823:146;;2944:19176;;;;;;16849:7;2944:19176;;;17043:24;2944:19176;;;17043:24;2944:19176;;17081:30;17077:223;;2944:19176;;;17077:223;17211:78;;;;;2944:19176;;;17211:78;2944:19176;;;17211:78;;;;;2944:19176;17211:78;;2944:19176;17211:78;;2944:19176;;;;;;;;;;;;;;;;;;;;;17211:78;;;;;;;;17077:223;;;;2944:19176;;;17211:78;;;;;:::i;:::-;2944:19176;;17211:78;;;;;2944:19176;;;16823:146;2944:19176;16900:58;;;;;2944:19176;;16827:10;2944:19176;;16900:58;2944:19176;;;;;;;;;;;;;;;;;;2466:103:12;;:::i;:::-;1666:7:84;;;:::i;:::-;2944:19176:81;;;15170:7;2944:19176;;;15170:24;2944:19176;;;15170:24;2944:19176;;15253:30;;;15249:112;;2944:19176;;;15170:7;2944:19176;;;15170:24;2944:19176;;;15435:34;2944:19176;;;;15434:35;15430:120;;2944:19176;;;15613:49;;;2944:19176;15613:49;;2944:19176;;15613:49;;;;;;;;;;;;;;2944:19176;;;;;15613:54;15609:136;;15847:18;;;:::i;:::-;15170:24;2944:19176;;;;;15847:39;15843:407;;2944:19176;;;15170:24;2944:19176;;16467:46;2944:19176;;;;15170:7;2944:19176;;;16326:34;2944:19176;;;;;;16467:46;:::i;15843:407::-;15953:29;;;:::i;:::-;;16061:18;;;:::i;:::-;15170:24;2944:19176;;;;;15843:407;16057:128;15613:49;16127:43;;;;2944:19176;;16127:43;2944:19176;15613:49;2944:19176;;;;;;;;15609:136;15613:49;15690:44;;;;2944:19176;;15690:44;15613:49;;2944:19176;15613:49;;2944:19176;15613:49;;;;;;2944:19176;15613:49;;;:::i;:::-;;;2944:19176;;;;;;;;:::i;:::-;15613:49;;;;;-1:-1:-1;15613:49:81;;15430:120;2944:19176;15492:47;;;;2944:19176;;15492:47;15249:112;2944:19176;15306:44;;;;2944:19176;;15306:44;2944:19176;;;;;;;;;;;;;;;;3225:73:50;2944:19176:81;2860:21:50;2972:47;;;;;;;;;;;:::i;:::-;;2944:19176:81;;;;;3225:73:50;2944:19176:81;;;;;;;;;;;;;;;;;:::i;:::-;1003:74:50;;:::i;:::-;2944:19176:81;13321:28;;13317:108;;13482:11;2944:19176;;;;13482:25;13478:115;;2944:19176;;;;;;13482:11;2944:19176;;;;;;13715:72;2944:19176;13745:10;13715:72;;2944:19176;;13478:115;13530:52;;;2944:19176;;;13530:52;;13317:108;2944:19176;13372:42;;;;;2944:19176;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;2944:19176:81:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;3311:7:84;2944:19176:81;;;3311:32:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:28;;;5332:102;;2944:19176;5515:11;2944:19176;;5497:29;;5493:118;;2944:19176;5654:15;2944:19176;5728:26;;;;;5724:125;;5907:16;;5903:89;;4649:29:56;;4645:117;;2944:19176:81;;;4895:17:56;;2944:19176:81;4895:17:56;2944:19176:81;4895:17:56;;;;2944:19176:81;;4895:17:56;;;2944:19176:81;-1:-1:-1;4891:571:56;;5401:50;;2944:19176:81;5401:50:56;2944:19176:81;;;;5401:50:56;4891:571;2944:19176:81;;;5001:14:56;;4997:107;;2944:19176:81;5205:14:56;;5201:121;;5336:26;2944:19176:81;;;5595:24:56;;;;2944:19176:81;5595:24:56;;;;2944:19176:81;;5595:24:56;;;4891:571;-1:-1:-1;5591:503:56;;6033:50;;2944:19176:81;6033:50:56;2944:19176:81;;;;6033:50:56;5591:503;2944:19176:81;5811:11:56;;;;;;;5807:108;;5946:48;2944:19176:81;5946:48:56;6181:27;5946:48;;:::i;:::-;6181:27;:::i;:::-;2944:19176:81;6225:26;;;;;6221:125;;2944:19176;;;6522:1;2944:19176;;;;6624:32;;;:::i;:::-;2944:19176;;;6688:41;;2944:19176;6688:41;2944:19176;6688:41;;;;;;;;;2944:19176;6688:41;;;5591:503:56;6920:18:81;;;;:::i;:::-;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;7043:31;;;:::i;:::-;7113:26;;;:::i;:::-;7178:18;;;:::i;:::-;2944:19176;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6522:1;2944:19176;;;;;;;;;;;;;;;;;;;:::i;:::-;;6522:1;2944:19176;6522:1;2944:19176;;;;;;;;;;;;;;;;;;;:::i;:::-;;6522:1;2944:19176;;6522:1;2944:19176;;;;;;;;;;:::i;:::-;;;6826:502;;;;;;;;;;;;;;;2944:19176;;;6826:502;;;2944:19176;6826:502;;;;;;5595:24:56;2944:19176:81;;5595:24:56;2944:19176:81;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;7282:4;2944:19176;;;;;;6826:502;;2944:19176;6826:502;;;;;2944:19176;;;;;;7420:16;2944:19176;;;;;;;;;;;;;;;;;;6826:502;2944:19176;;;;;;;;;;;;;7510:331;;2944:19176;;;;7510:331;;2944:19176;;;;7510:331;;2944:19176;;;;7510:331;;2944:19176;;;;5595:24:56;7510:331:81;;2944:19176;;;;7510:331;;;2944:19176;;;;;7510:331;;2944:19176;;;;7510:331;;;2944:19176;;;;;7491:7;2944:19176;;;;;;;;;;;;;;;;;;;;;;5595:24:56;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6522:1;2944:19176;;;;;;;;;;;;;;;;;;7420:16;2944:19176;;;;;;;;;;;;;;;;5515:11;2944:19176;;;;;;;;;;;;;;;;;;;5595:24:56;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;7917:30;7913:211;;5591:503:56;2944:19176:81;;;8165:77;2944:19176;;;;;;;;;;;;;;;;;;;;;;8165:77;2944:19176;;;;;;7913:211;7963:30;;;;;;2944:19176;;7963:30;2944:19176;7963:30;;;2944:19176;7963:30;;2944:19176;;7963:30;2944:19176;7963:30;;;;;;;;;;2944:19176;7963:30;;;8165:77;7963:30;2944:19176;7963:30;;;7913:211;2944:19176;;;;5515:11;2944:19176;;7491:7;2944:19176;;;8072:34;2944:19176;;;;;;;;7913:211;;;;;;;;;7963:30;;;;2944:19176;7963:30;;:::i;:::-;2944:19176;;7963:30;;;2944:19176;;;;;;;;;;;;;;;;;;;6688:41;;;;2944:19176;6688:41;2944:19176;6688:41;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;6221:125;6274:61;;;2944:19176;6274:61;2944:19176;;;;;;6274:61;5807:108:56;5849:51;;2944:19176:81;5849:51:56;2944:19176:81;;;;5849:51:56;5595:24;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;5201:121;5246:61;;2944:19176:81;5246:61:56;2944:19176:81;;;;;;5246:61:56;4997:107;5042:47;;2944:19176:81;5042:47:56;2944:19176:81;;;;5042:47:56;4895:17;;;;;2944:19176:81;4895:17:56;2944:19176:81;4895:17:56;;;;;;;:::i;:::-;;;;;4645:117;4701:50;;2944:19176:81;4701:50:56;2944:19176:81;;;;4701:50:56;5903:89:81;5946:35;2944:19176;5946:35;2944:19176;;5946:35;5724:125;5777:61;;;2944:19176;5777:61;2944:19176;;;;;;5777:61;5493:118;5549:51;;2944:19176;5549:51;2944:19176;;;;5549:51;5332:102;5387:36;2944:19176;5387:36;2944:19176;;5387:36;2944:19176;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;3995:7:84;2944:19176:81;;;;;;;;3995:28:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;2831:7:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;3527:7:84;2944:19176:81;;;;3527:23:84;2944:19176:81;;;3527:23:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;1666:7:84;;;:::i;:::-;2944:19176:81;;3041:7:84;2944:19176:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;2944:19176:81;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;2944:19176:81;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;4309:491::-;-1:-1:-1;2944:19176:81;4553:7;2944:19176;;;4553:24;2944:19176;-1:-1:-1;2944:19176:81;4553:24;2944:19176;;4541:86;;4715:78;2944:19176;;-1:-1:-1;2944:19176:81;;;;4715:78;;;;2944:19176;4715:78;;4758:32;4715:78;;;2944:19176;4715:78;;;;;;;-1:-1:-1;4715:78:81;;;4703:90;4309:491;:::o;4715:78::-;;;2944:19176;4715:78;;2944:19176;4715:78;;;;;;2944:19176;4715:78;;;:::i;:::-;;;2944:19176;;;;;4309:491;:::o;4715:78::-;;;-1:-1:-1;4715:78:81;;4541:86;-1:-1:-1;4608:8:81;:::o;2944:19176::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;:::o;5929:293:84:-;2944:19176:81;-1:-1:-1;2944:19176:81;6109:7:84;2944:19176:81;;;;-1:-1:-1;2944:19176:81;;;6101:45:84;6097:119;;5929:293;:::o;6097:119::-;6169:36;-1:-1:-1;6169:36:84;;2944:19176:81;;-1:-1:-1;6169:36:84;2944:19176:81;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;1628:818:57:-;1765:59;1628:818;;2944:19176:81;;1782:41:57;;;;;;;;;;;;;;:::i;:::-;1765:59;;;;;;;:::i;:::-;1926:8;;2944:19176:81;;1926:35:57;;1628:818;1922:80;;2944:19176:81;;2021:32:57;;;1782:41;2021:32;;;;2944:19176:81;;;;;1782:41:57;2021:32;;2944:19176:81;;;;;;;;;;;;;;;;1782:41:57;2944:19176:81;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;1782:41:57;2944:19176:81;;;;;:::i;:::-;2297:2:57;2012:41;2944:19176:81;2274:25:57;2270:76;;2360:26;;;:::i;:::-;2359:27;2355:85;;1628:818::o;2355:85::-;2944:19176:81;;;;;;;;:::i;:::-;;;;;1782:41:57;2944:19176:81;;;2402:27:57;:::o;2270:76::-;2944:19176:81;;;;;;;;:::i;:::-;;;;;1782:41:57;2944:19176:81;;;2315:20:57;:::o;1922:80::-;2944:19176:81;;;;;;;;:::i;:::-;;;;;1782:41:57;2944:19176:81;;;1977:14:57;:::o;1926:35::-;2944:19176:81;;;;1938:23:57;;1926:35;;1308:632:13;1430:17;-1:-1:-1;29282:17:16;29291:8;29282:17;;;29278:103;;1308:632:13;29398:17:16;29407:8;29978:7;29398:17;;;29394:103;;1308:632:13;29523:8:16;29514:17;;;29510:103;;1308:632:13;29639:7:16;29630:16;;;29626:100;;1308:632:13;29752:7:16;29743:16;;;29739:100;;1308:632:13;29865:7:16;29856:16;;;29852:100;;1308:632:13;29969:16:16;;29965:66;;1308:632:13;29978:7:16;2944:19176:81;1545:92:13;1450:1;2944:19176:81;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;1545:92:13;;;1650:247;2944:19176:81;1704:111:13;;;;;;;;2944:19176:81;1865:10:13;;1861:21;;2944:19176:81;29978:7:16;1650:247:13;;;;1861:21;1877:5;;1308:632;:::o;29965:66:16:-;30015:1;2944:19176:81;;;;29965:66:16;;29852:100;29865:7;29936:1;2944:19176:81;;;;29852:100:16;;;29739;29752:7;29823:1;2944:19176:81;;;;29739:100:16;;;29626;29639:7;29710:1;2944:19176:81;;;;29626:100:16;;;29510:103;29523:8;29596:2;2944:19176:81;;;;29510:103:16;;;29394;29407:8;29480:2;2944:19176:81;;;;29394:103:16;;;29278;-1:-1:-1;29364:2:16;;-1:-1:-1;29291:8:16;2944:19176:81;;29278:103:16;;3628:207:50;2944:19176:81;3706:11:50;2944:19176:81;;3684:10:50;;:34;3680:149;;3628:207;:::o;3680:149::-;3741:77;3706:11;3741:77;;2944:19176:81;3684:10:50;2944:19176:81;;;3706:11:50;3741:77;2575:307:12;1899:1;2702:7;2944:19176:81;2702:18:12;2698:86;;1899:1;2702:7;2944:19176:81;2575:307:12:o;2698:86::-;2743:30;-1:-1:-1;2743:30:12;;-1:-1:-1;2743:30:12;4946:536:84;2944:19176:81;;;5102:7:84;2944:19176:81;;;;;;;;;;5083:15:84;:42;;5079:98;;2944:19176:81;;;;5102:7:84;2944:19176:81;;;;;5288:32:84;;2944:19176:81;;;;;;;;;-1:-1:-1;5288:64:84;5284:120;;2944:19176:81;4946:536:84;:::o;5284:120::-;5375:18;5368:25;:::o;5079:98::-;5141:25;5148:18;5141:25;:::o;20387:923:81:-;;2944:19176;-1:-1:-1;2944:19176:81;20520:7;2944:19176;;;20520:23;2944:19176;-1:-1:-1;2944:19176:81;20520:23;2944:19176;;20667:70;;;:::i;:::-;20649:88;;;2944:19176;20649:88;2944:19176;20799:16;20795:55;;21129:174;2944:19176;;20893:15;2944:19176;;-1:-1:-1;2944:19176:81;20520:7;2944:19176;;20983:46;2944:19176;20983:32;2944:19176;-1:-1:-1;2944:19176:81;20983:32;2944:19176;;;;;;;;;;;;;;;20983:46;-1:-1:-1;2944:19176:81;;;20520:7;2944:19176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21129:174;20387:923::o;20795:55::-;-1:-1:-1;;;;;20831:8:81:o;21594:524::-;;;2944:19176;;;;21944:34;2944:19176;21944:34;;;;;;2944:19176;;21944:34;;;-1:-1:-1;21944:34:81;;;;;;;-1:-1:-1;;;21944:34:81;;;21594:524;-1:-1:-1;2944:19176:81;;;;;;;;;;;;;;;;21886:92;;22020:91;;2944:19176;;;;22020:91;;;;21594:524::o;21944:34::-;22020:91;21944:34;;;;;2944:19176;21944:34;2944:19176;21944:34;;;;;;;:::i;:::-;;;;;19977:199;20056:18;;;:::i;:::-;2944:19176;;;;;;20052:118;;19977:199;:::o;20052:118::-;20118:41;20078:17;20118:41;;2944:19176;;20078:17;20118:41;2944:19176;;20078:17;2944:19176;;;;;20078:17;2944:19176;17996:1849;;;;18155:1;2944:19176;;;;18145:11;;18141:105;;18303:29;;;:::i;:::-;;18435:7;;;:::i;:::-;18155:1;2944:19176;;;18519:7;2944:19176;;;;;18519:24;;2944:19176;;;;18620:30;;2944:19176;;18859:4;;2944:19176;;;18859:4;18843:21;18859:4;;18884:44;;;;:::i;:::-;19132:42;;;;;2944:19176;;;19132:42;;;;;2944:19176;;;19155:10;2944:19176;;;;;;;;;;;;-1:-1:-1;;2944:19176:81;;;;;;-1:-1:-1;;19132:42:81;;;;;;;;18839:197;18616:959;;2944:19176;;;18519:7;2944:19176;;;19642:27;2944:19176;;;19642:27;2944:19176;;19642:61;;;;;2944:19176;;;19642:61;;;;;2944:19176;;;19684:10;2944:19176;;;;;;;;;;;;;;;;;;;;;;19642:61;;;;;;;;18616:959;-1:-1:-1;;2944:19176:81;;;;;;;;;;;;;;19684:10;;19747:91;;2944:19176;;;;19747:91;2944:19176;19642:61;;;;;;:::i;:::-;2944:19176;;19642:61;;;19132:42;;;;18155:1;19132:42;;:::i;:::-;18155:1;19132:42;;;18839:197;18967:54;;;:::i;:::-;18839:197;;18616:959;19413:10;;;;2944:19176;;;19405:18;19401:174;;18616:959;;;;;;19401:174;19513:51;19550:4;;19513:51;;:::i;:::-;19401:174;;;;;18141:105;18179:56;;18155:1;18179:56;;2944:19176;18224:10;2944:19176;;;18155:1;18179:56;9264:218:17;2944:19176:81;9344:25:17;;9340:105;;2944:19176:81;;9264:218:17;:::o;9340:105::-;9392:42;;;9423:3;9392:42;2944:19176:81;;;;9392:42:17;;1219:160:9;1328:43;1219:160;2944:19176:81;;;1328:43:9;2944:19176:81;1328:43:9;;;;2944:19176:81;1328:43:9;;;2944:19176:81;;;;;;1328:43:9;;;;;;:::i;:::-;;:::i;:::-;1219:160::o;2944:19176:81:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;6510:326:56;;2944:19176:81;;6634:1:56;6617:18;;6613:92;;6634:1;6719:18;;6715:92;;6817:12;6510:326;:::o;6715:92::-;6634:1;2944:19176:81;;;;;;6769:26:56;;;:::i;:::-;2944:19176:81;;;;;;;;;;;;;;;6753:43:56;:::o;6613:92::-;2944:19176:81;;;;;;;6667:26:56;;;:::i;:::-;6658:36;2944:19176:81;;;;;6651:43:56;:::o;2944:19176:81:-;;;;;;;;;;514:859:57;2944:19176:81;;749:13:57;2944:19176:81;764:10:57;;;;;;1355:11;;;2944:19176:81;514:859:57;:::o;776:3::-;2944:19176:81;;;;;;;;925:4:57;2944:19176:81;;;;;;;917:12:57;;1015;2944:19176:81;1015:12:57;;;:28;;;776:3;2944:19176:81;1089:12:57;;;:28;;;;776:3;2944:19176:81;1163:12:57;;;:28;;;;776:3;1218:17;;;;776:3;1218:28;;;;;776:3;1218:49;;;;;776:3;1218:70;;;;;776:3;1216:73;;1212:124;;2944:19176:81;;749:13:57;;1212:124;1309:12;;;2944:19176:81;1309:12:57;:::o;1218:70::-;;;;;;:49;;-1:-1:-1;1218:49:57;;;:28;;-1:-1:-1;1218:28:57;;;:17;2944:19176:81;966:12:57;;-1:-1:-1;1218:17:57;;;1163:28;2944:19176:81;1179:12:57;;;;-1:-1:-1;1163:28:57;;1089;2944:19176:81;1105:12:57;;;;-1:-1:-1;1089:28:57;;1015;1031:12;2944:19176:81;1031:12:57;;;1015:28;;2944:19176:81;;;;;;;;;;1396:2564:56;2944:19176:81;;1688:29:56;;1684:76;;2944:19176:81;;1805:17:56;2944:19176:81;1805:17:56;;;;;;;;;1715:1;;1805:17;;;1396:2564;-1:-1:-1;1801:429:56;;2203:16;;1715:1;2203:16;1715:1;2203:16;1715:1;2203:16;:::o;1801:429::-;2944:19176:81;;;1995:2:56;1977:20;;:44;;;;;1801:429;1973:99;;;2330:24;1805:17;2086:32;1801:429;2944:19176:81;;2330:24:56;;;;2944:19176:81;2330:24:56;;;;;;1715:1;;;2330:24;;;1801:429;-1:-1:-1;2326:1628:56;;3927:16;;;1715:1;3927:16;1715:1;3927:16;1715:1;3927:16;:::o;2326:1628::-;1715:1;2513:11;;;2509:88;;2724:15;;:28;2720:105;;2944:19176:81;2982:31:56;;2978:108;;3100:37;3245:1;2944:19176:81;;;3227:19:56;3210:365;;2326:1628;-1:-1:-1;2944:19176:81;;;3245:1:56;;3785:22;-1:-1:-1;1396:2564:56:o;3210:365::-;3284:44;;;;;;:::i;:::-;3445:35;2944:19176:81;3445:35:56;;3441:120;;3210:365;;;;3441:120;1715:1;;3504:38;;;-1:-1:-1;3504:38:56:o;2978:108::-;3033:38;;1715:1;3033:38;;;:::o;2330:24::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1973:99;2041:16;;1715:1;2041:16;1715:1;2041:16;1715:1;2041:16;:::o;1977:44::-;2001:20;;;1977:44;;;1805:17;;;;;;;;;;;;;;;:::i;:::-;;;;;1684:76;1733:16;1715:1;1733:16;1715:1;1733:16;1715:1;1733:16;:::o;1618:188:9:-;;;;2944:19176:81;1745:53:9;1618:188;2944:19176:81;;;1745:53:9;2944:19176:81;1745:53:9;;;;2944:19176:81;1745:53:9;;;2944:19176:81;;;;;;;;;;;1745:53:9;;;;;;:::i;8370:720::-;;-1:-1:-1;8507:421:9;8370:720;8507:421;;;;;;;;;;;;-1:-1:-1;8507:421:9;;8942:15;;2944:19176:81;;;;8960:26:9;:31;8942:68;8938:146;;8370:720;:::o;8938:146::-;2944:19176:81;9033:40:9;;-1:-1:-1;9033:40:9;2944:19176:81;9033:40:9;2944:19176:81;;-1:-1:-1;9033:40:9;8942:68;9009:1;8994:16;;8942:68;",
|
|
480
|
+
"linkReferences": {}
|
|
481
|
+
},
|
|
482
|
+
"methodIdentifiers": {
|
|
483
|
+
"calculateMinFeeWei(uint256)": "cca138e5",
|
|
484
|
+
"comptroller()": "5fe3b567",
|
|
485
|
+
"createVault(address,address,uint40,uint128)": "50129dff",
|
|
486
|
+
"enter(uint256,uint128)": "c8d293b7",
|
|
487
|
+
"enterWithNativeToken(uint256)": "ef961229",
|
|
488
|
+
"getAdapter(uint256)": "ddeadbb6",
|
|
489
|
+
"getDefaultAdapterFor(address)": "a1538039",
|
|
490
|
+
"getExpiry(uint256)": "13c72608",
|
|
491
|
+
"getLastSyncedAt(uint256)": "009dd14f",
|
|
492
|
+
"getLastSyncedPrice(uint256)": "5645ed77",
|
|
493
|
+
"getOracle(uint256)": "10a9de60",
|
|
494
|
+
"getShareToken(uint256)": "65957bf5",
|
|
495
|
+
"getTargetPrice(uint256)": "46de071d",
|
|
496
|
+
"getUnderlyingToken(uint256)": "a4775772",
|
|
497
|
+
"isStakedInAdapter(uint256)": "8f4f8968",
|
|
498
|
+
"nativeToken()": "e1758bd8",
|
|
499
|
+
"nextVaultId()": "12ac1763",
|
|
500
|
+
"onShareTransfer(uint256,address,address,uint256,uint256)": "801837f6",
|
|
501
|
+
"redeem(uint256)": "db006a75",
|
|
502
|
+
"setComptroller(address)": "8bad38dd",
|
|
503
|
+
"setDefaultAdapter(address,address)": "b18c0adb",
|
|
504
|
+
"setNativeToken(address)": "6da1e102",
|
|
505
|
+
"statusOf(uint256)": "ad35efd4",
|
|
506
|
+
"syncPriceFromOracle(uint256)": "a06da630",
|
|
507
|
+
"transferFeesToComptroller()": "78f82ce7",
|
|
508
|
+
"unstakeTokensViaAdapter(uint256)": "7aca734b"
|
|
509
|
+
},
|
|
510
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialComptroller\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Comptrollerable_CallerNotComptroller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousComptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newComptroller\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"minimalInterfaceId\",\"type\":\"bytes4\"}],\"name\":\"Comptrollerable_UnsupportedInterfaceId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBobState_Null\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SablierBob_CallerNotShareToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"SablierBob_DepositAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"expiry\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"currentTime\",\"type\":\"uint40\"}],\"name\":\"SablierBob_ExpiryNotInFuture\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SablierBob_ForbidNativeToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"feePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeRequired\",\"type\":\"uint256\"}],\"name\":\"SablierBob_InsufficientFeePayment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_MsgValueNotZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierBob_NativeFeeTransferFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SablierBob_NativeTokenAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierBob_NativeTokenZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"adapter\",\"type\":\"address\"}],\"name\":\"SablierBob_NewAdapterMissesInterface\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"SablierBob_NoSharesToRedeem\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"targetPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentPrice\",\"type\":\"uint128\"}],\"name\":\"SablierBob_TargetPriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierBob_TargetPriceZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierBob_TokenAddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_UnstakeAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_VaultAlreadyUnstaked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_VaultHasNoAdapter\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_VaultNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"SablierBob_VaultStillActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"name\":\"SafeOracle_DecimalsTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_DecimalsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_MissesInterface\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_NotPositivePrice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract AggregatorV3Interface\",\"name\":\"oracle\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IBobVaultShare\",\"name\":\"shareToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"targetPrice\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"expiry\",\"type\":\"uint40\"}],\"name\":\"CreateVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountReceived\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"sharesMinted\",\"type\":\"uint128\"}],\"name\":\"Enter\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountReceived\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"sharesBurned\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Redeem\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"oldComptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"SetComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"adapter\",\"type\":\"address\"}],\"name\":\"SetDefaultAdapter\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SetNativeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract AggregatorV3Interface\",\"name\":\"oracle\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"latestPrice\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"syncedAt\",\"type\":\"uint40\"}],\"name\":\"SyncPriceFromOracle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"TransferFeesToComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"wrappedTokenUnstakedAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountReceivedFromAdapter\",\"type\":\"uint128\"}],\"name\":\"UnstakeFromAdapter\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"calculateMinFeeWei\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minFeeWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract AggregatorV3Interface\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"expiry\",\"type\":\"uint40\"},{\"internalType\":\"uint128\",\"name\":\"targetPrice\",\"type\":\"uint128\"}],\"name\":\"createVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"enter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"enterWithNativeToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getAdapter\",\"outputs\":[{\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"adapter\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getDefaultAdapterFor\",\"outputs\":[{\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"adapter\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getExpiry\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"expiry\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getLastSyncedAt\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"lastSyncedAt\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getLastSyncedPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"lastSyncedPrice\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"contract AggregatorV3Interface\",\"name\":\"oracle\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getShareToken\",\"outputs\":[{\"internalType\":\"contract IBobVaultShare\",\"name\":\"shareToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getTargetPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"targetPrice\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"isStakedInAdapter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"stakedInAdapter\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextVaultId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fromBalanceBefore\",\"type\":\"uint256\"}],\"name\":\"onShareTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"transferAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"feeAmountDeductedFromYield\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"setComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract ISablierBobAdapter\",\"name\":\"newAdapter\",\"type\":\"address\"}],\"name\":\"setDefaultAdapter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newNativeToken\",\"type\":\"address\"}],\"name\":\"setNativeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"statusOf\",\"outputs\":[{\"internalType\":\"enum Bob.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"syncPriceFromOracle\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"latestPrice\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferFeesToComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultId\",\"type\":\"uint256\"}],\"name\":\"unstakeTokensViaAdapter\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amountReceivedFromAdapter\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"calculateMinFeeWei(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\",\"params\":{\"vaultId\":\"The vault ID for the query.\"}},\"constructor\":{\"params\":{\"initialComptroller\":\"The address of the initial comptroller contract.\"}},\"createVault(address,address,uint40,uint128)\":{\"details\":\"Emits a {CreateVault} event. Notes: - A new ERC-20 share token is deployed for each vault to represent user's share of deposits in the vault. - The default adapter for the token is copied as the vault adapter. Any change in the default adapter does not affect existing vaults. - Vault creator is responsible for choosing a valid oracle. They should use Chainlink oracles, as the integration is based on their API. Requirements: - `token` must not be the zero address. - `token` must implement `symbol()` and `decimals()` functions. - `expiry` must be in the future. - `oracle` must implement the Chainlink's {AggregatorV3Interface} interface. - `oracle` must return a positive price when `latestRoundData()` is called. - `oracle` must return a non-zero value no greater than 36 when `decimals()` is called. - `targetPrice` must not be zero or greater than the current price returned by the provided oracle.\",\"params\":{\"expiry\":\"The Unix timestamp when the vault expires.\",\"oracle\":\"The address of the price feed oracle for the deposit token.\",\"targetPrice\":\"The target price at which the vault settles, denominated in Chainlink's 8-decimal format for USD prices, where 1e8 is $1.\",\"token\":\"The address of the ERC-20 token that will be accepted for deposits.\"},\"returns\":{\"vaultId\":\"The ID of the newly created vault.\"}},\"enter(uint256,uint128)\":{\"details\":\"Emits an {Enter} event. Notes: - If an adapter is configured for the vault, tokens are automatically staked for yield using the adapter. - Share tokens are minted 1:1 with the deposited amount. Requirements: - `vaultId` must not reference a null vault. - The vault must have ACTIVE status. - `amount` must be greater than zero. - The caller must have approved this contract to transfer `amount` tokens.\",\"params\":{\"amount\":\"The amount of tokens to deposit.\",\"vaultId\":\"The ID of the vault to deposit into.\"}},\"enterWithNativeToken(uint256)\":{\"details\":\"Emits an {Enter} event. Notes: - `msg.value` is used as the deposit amount. - See notes for {enter}. Requirements: - See requirements for {enter}. - `msg.value` must be greater than zero and must not exceed `type(uint128).max`.\",\"params\":{\"vaultId\":\"The ID of the vault to deposit into.\"}},\"getAdapter(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getDefaultAdapterFor(address)\":{\"details\":\"Zero address means no adapter is set.\",\"params\":{\"token\":\"The ERC-20 token to query the default adapter for.\"},\"returns\":{\"adapter\":\"The default adapter for the token.\"}},\"getExpiry(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getLastSyncedAt(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getLastSyncedPrice(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getOracle(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getShareToken(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getTargetPrice(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"getUnderlyingToken(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"isStakedInAdapter(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"onShareTransfer(uint256,address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The number of share tokens being transferred.\",\"from\":\"The address transferring share tokens.\",\"fromBalanceBefore\":\"The number of share tokens the sender had before the transfer.\",\"to\":\"The address receiving share tokens.\",\"vaultId\":\"The ID of the vault.\"}},\"redeem(uint256)\":{\"details\":\"Emits a {Redeem} event. Notes: - If no adapter is configured for the vault, a fee in the native token is applied. - If an adapter is configured for the vault, a fee, in the deposit token, is deducted from yield generated by the adapter. - If unstake via Lido withdrawal queue contract is triggered, redeem will revert until the withdrawal from the Lido queue is finalized. Requirements: - `vaultId` must not reference a null vault. - Either block timestamp must be greater than or equal to the vault expiry or the latest price from the oracle must be greater than or equal to the target price. - The share balance of the caller must be greater than zero. - If no adapter is configured for the vault, `msg.value` must be greater than or equal to the min fee required in the native token.\",\"params\":{\"vaultId\":\"The ID of the vault to redeem from.\"},\"returns\":{\"feeAmountDeductedFromYield\":\"The fee amount deducted from the yield. Zero if no adapter is set.\",\"transferAmount\":\"The amount of tokens transferred to the caller, after fees are deducted (only applicable if adapter is set).\"}},\"setComptroller(address)\":{\"details\":\"Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}\",\"params\":{\"newComptroller\":\"The address of the new comptroller contract.\"}},\"setDefaultAdapter(address,address)\":{\"details\":\"Emits a {SetDefaultAdapter} event. Notes: - This only affects future vaults. Requirements: - The caller must be the comptroller. - If new adapter is not zero address, it must implement {ISablierBobAdapter} interface.\",\"params\":{\"newAdapter\":\"The address of the new adapter.\",\"token\":\"The token address to set the adapter for.\"}},\"setNativeToken(address)\":{\"details\":\"For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.\",\"params\":{\"newNativeToken\":\"The address of the native token.\"}},\"statusOf(uint256)\":{\"details\":\"Reverts if `vaultId` references a null vault.\"},\"syncPriceFromOracle(uint256)\":{\"details\":\"Emits a {SyncPriceFromOracle} event. Notes: - Oracle staleness is not validated on-chain when calling this function. Any price returned by the oracle is accepted. - Useful for syncing the price from oracle without calling {redeem} or {enter}. This function can be called by anyone to settle vault when the price is above the target price. Requirements: - `vaultId` must not reference a null vault. - The vault must have ACTIVE status. - The oracle must return a positive price.\",\"params\":{\"vaultId\":\"The ID of the vault to sync.\"},\"returns\":{\"latestPrice\":\"The latest price fetched from the oracle, denominated in Chainlink's 8-decimal format for USD prices, where 1e8 is $1.\"}},\"transferFeesToComptroller()\":{\"details\":\"Emits a {TransferFeesToComptroller} event.\"},\"unstakeTokensViaAdapter(uint256)\":{\"details\":\"Emits an {UnstakeFromAdapter} event. Requirements: - `vaultId` must not reference a null vault. - The adapter set in the vault must not be zero address. - Either block timestamp must be greater than or equal to the vault expiry or the latest price from the oracle must be greater than or equal to the target price. - The vault must not have been unstaked already. - The amount staked must be greater than zero.\",\"params\":{\"vaultId\":\"The ID of the vault.\"},\"returns\":{\"amountReceivedFromAdapter\":\"The amount of tokens received from the adapter.\"}}},\"title\":\"SablierBob\",\"version\":1},\"userdoc\":{\"errors\":{\"Comptrollerable_CallerNotComptroller(address,address)\":[{\"notice\":\"Thrown when `msg.sender` is not the comptroller.\"}],\"Comptrollerable_UnsupportedInterfaceId(address,address,bytes4)\":[{\"notice\":\"Thrown when the new comptroller does not support the minimal interface ID from the previous comptroller.\"}],\"SablierBobState_Null(uint256)\":[{\"notice\":\"Thrown when trying to interact with a non-existent vault.\"}],\"SablierBob_CallerNotShareToken(uint256,address)\":[{\"notice\":\"Thrown when `onShareTransfer` is called by an address other than the share token.\"}],\"SablierBob_DepositAmountZero(uint256,address)\":[{\"notice\":\"Thrown when depositing zero amount in a vault.\"}],\"SablierBob_ExpiryNotInFuture(uint40,uint40)\":[{\"notice\":\"Thrown when trying to create a vault with an expiry timestamp not in the future.\"}],\"SablierBob_ForbidNativeToken(address)\":[{\"notice\":\"Thrown when trying to create a vault with the native token.\"}],\"SablierBob_InsufficientFeePayment(uint256,uint256)\":[{\"notice\":\"Thrown when trying to redeem with `msg.value` less than the minimum fee required.\"}],\"SablierBob_MsgValueNotZero(uint256)\":[{\"notice\":\"Thrown when trying to pay a fee in the native token from a vault that uses the adapter.\"}],\"SablierBob_NativeFeeTransferFailed()\":[{\"notice\":\"Thrown when the native token fee transfer to the comptroller fails.\"}],\"SablierBob_NativeTokenAlreadySet(address)\":[{\"notice\":\"Thrown when trying to set the native token address when it is already set.\"}],\"SablierBob_NativeTokenZeroAddress()\":[{\"notice\":\"Thrown when trying to set zero address as native token.\"}],\"SablierBob_NewAdapterMissesInterface(address)\":[{\"notice\":\"Thrown when the new adapter does not implement the required interface.\"}],\"SablierBob_NoSharesToRedeem(uint256,address)\":[{\"notice\":\"Thrown when trying to exit or redeem with zero share balance.\"}],\"SablierBob_TargetPriceTooLow(uint128,uint128)\":[{\"notice\":\"Thrown when trying to create a vault with a target price that is not greater than the latest price returned by the oracle.\"}],\"SablierBob_TargetPriceZero()\":[{\"notice\":\"Thrown when trying to create a vault with a zero target price.\"}],\"SablierBob_TokenAddressZero()\":[{\"notice\":\"Thrown when trying to create a vault with a zero token address.\"}],\"SablierBob_UnstakeAmountZero(uint256)\":[{\"notice\":\"Thrown when trying to unstake vault tokens using the adapter but the amount staked is zero.\"}],\"SablierBob_VaultAlreadyUnstaked(uint256)\":[{\"notice\":\"Thrown when trying to unstake vault tokens using the adapter but the vault has already been unstaked.\"}],\"SablierBob_VaultHasNoAdapter(uint256)\":[{\"notice\":\"Thrown when trying to unstake from a vault that has no adapter configured.\"}],\"SablierBob_VaultNotActive(uint256)\":[{\"notice\":\"Thrown when trying to perform an unauthorized action on a non-active vault.\"}],\"SablierBob_VaultStillActive(uint256)\":[{\"notice\":\"Thrown when trying to perform an unauthorized action on an active vault.\"}],\"SafeOracle_DecimalsTooHigh(address,uint8)\":[{\"notice\":\"Thrown when an oracle returns too many decimals (greater than 36).\"}],\"SafeOracle_DecimalsZero(address)\":[{\"notice\":\"Thrown when an oracle returns 0 decimals.\"}],\"SafeOracle_MissesInterface(address)\":[{\"notice\":\"Thrown when an oracle does not implement the expected interface.\"}],\"SafeOracle_NotPositivePrice(address)\":[{\"notice\":\"Thrown when the price returned by the oracle is not positive.\"}]},\"events\":{\"CreateVault(uint256,address,address,address,address,uint128,uint40)\":{\"notice\":\"Emitted when a new vault is created.\"},\"Enter(uint256,address,uint128,uint128)\":{\"notice\":\"Emitted when a user deposits tokens into a vault.\"},\"Redeem(uint256,address,uint128,uint128,uint256)\":{\"notice\":\"Emitted when a user redeems their shares from a settled vault.\"},\"SetComptroller(address,address)\":{\"notice\":\"Emitted when the comptroller address is set by the admin.\"},\"SetDefaultAdapter(address,address)\":{\"notice\":\"Emitted when the comptroller sets a new default adapter for a token.\"},\"SetNativeToken(address,address)\":{\"notice\":\"Emitted when the native token address is set by the comptroller.\"},\"SyncPriceFromOracle(uint256,address,uint128,uint40)\":{\"notice\":\"Emitted when a vault's price is synced from the oracle.\"},\"TransferFeesToComptroller(address,uint256)\":{\"notice\":\"Emitted when the fees are transferred to the comptroller contract.\"},\"UnstakeFromAdapter(uint256,address,uint128,uint128)\":{\"notice\":\"Emitted when tokens staked in the adapter for a given vault are unstaked.\"}},\"kind\":\"user\",\"methods\":{\"calculateMinFeeWei(uint256)\":{\"notice\":\"Calculates the minimum fee in wei required to redeem from the given vault ID. Returns 0 for vaults with an adapter, since the fee is taken from yield generated.\"},\"comptroller()\":{\"notice\":\"Retrieves the address of the comptroller contract.\"},\"createVault(address,address,uint40,uint128)\":{\"notice\":\"Creates a new vault with the specified parameters.\"},\"enter(uint256,uint128)\":{\"notice\":\"Enter into a vault by depositing tokens into it and minting share tokens to the caller.\"},\"enterWithNativeToken(uint256)\":{\"notice\":\"Enter into a vault by depositing native token (such as ETH, POL, etc.) into it and minting share tokens to the caller.\"},\"getAdapter(uint256)\":{\"notice\":\"Returns the adapter configured for a specific vault.\"},\"getDefaultAdapterFor(address)\":{\"notice\":\"Returns the default adapter for a given token.\"},\"getExpiry(uint256)\":{\"notice\":\"Returns the timestamp when the vault expires.\"},\"getLastSyncedAt(uint256)\":{\"notice\":\"Returns the timestamp when the oracle price was last synced for a vault.\"},\"getLastSyncedPrice(uint256)\":{\"notice\":\"Returns the oracle price stored for a vault.\"},\"getOracle(uint256)\":{\"notice\":\"Returns the oracle address set for a vault.\"},\"getShareToken(uint256)\":{\"notice\":\"Returns the address of the ERC-20 share token for a vault.\"},\"getTargetPrice(uint256)\":{\"notice\":\"Returns the target price at which the vault settles.\"},\"getUnderlyingToken(uint256)\":{\"notice\":\"Returns the ERC-20 token accepted for deposits in a vault.\"},\"isStakedInAdapter(uint256)\":{\"notice\":\"Returns whether the vault tokens are staked in an adapter.\"},\"nativeToken()\":{\"notice\":\"Retrieves the address of the ERC-20 interface of the native token, if it exists.\"},\"nextVaultId()\":{\"notice\":\"Counter for vault IDs, incremented every time a new vault is created.\"},\"onShareTransfer(uint256,address,address,uint256,uint256)\":{\"notice\":\"Called by adapter when share tokens for a given vault are transferred between users. This is required for accounting of the yield generated by the adapter. Requirements: - The caller must be the share token contract stored in the given vault. - The calculated wstETH transfer amount must not be zero.\"},\"redeem(uint256)\":{\"notice\":\"Redeem the tokens by burning user shares.\"},\"setComptroller(address)\":{\"notice\":\"Sets the comptroller to a new address.\"},\"setDefaultAdapter(address,address)\":{\"notice\":\"Sets the default adapter for a specific token.\"},\"setNativeToken(address)\":{\"notice\":\"Sets the native token address. Once set, it cannot be changed.\"},\"statusOf(uint256)\":{\"notice\":\"Returns the vault status.\"},\"syncPriceFromOracle(uint256)\":{\"notice\":\"Fetches the latest price from the oracle set for a vault and updates it in the vault storage.\"},\"transferFeesToComptroller()\":{\"notice\":\"Transfers the fees to the comptroller contract.\"},\"unstakeTokensViaAdapter(uint256)\":{\"notice\":\"Unstake all tokens from the adapter for a given vault.\"}},\"notice\":\"See the documentation in {ISablierBob}.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SablierBob.sol\":\"SablierBob\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":@sablier/=node_modules/@sablier/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=node_modules/forge-std/\"],\"viaIR\":true},\"sources\":{\"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9\",\"dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS\"]},\"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/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"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/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6\",\"dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05\",\"dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42\"]},\"node_modules/@prb/math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11\",\"dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab\",\"dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca\",\"dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353\",\"dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6\"]},\"node_modules/@prb/math/src/sd21x18/Casting.sol\":{\"keccak256\":\"0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2\",\"dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd\"]},\"node_modules/@prb/math/src/sd21x18/Constants.sol\":{\"keccak256\":\"0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396\",\"dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3\"]},\"node_modules/@prb/math/src/sd21x18/Errors.sol\":{\"keccak256\":\"0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee\",\"dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML\"]},\"node_modules/@prb/math/src/sd21x18/ValueType.sol\":{\"keccak256\":\"0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880\",\"dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d\",\"dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f\",\"dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf\",\"dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462\",\"dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919\",\"dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb\"]},\"node_modules/@prb/math/src/ud21x18/Casting.sol\":{\"keccak256\":\"0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09\",\"dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL\"]},\"node_modules/@prb/math/src/ud21x18/Constants.sol\":{\"keccak256\":\"0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60\",\"dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV\"]},\"node_modules/@prb/math/src/ud21x18/Errors.sol\":{\"keccak256\":\"0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80\",\"dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq\"]},\"node_modules/@prb/math/src/ud21x18/ValueType.sol\":{\"keccak256\":\"0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af\",\"dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae\",\"dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9\",\"dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437\",\"dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41\",\"dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780\",\"dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"node_modules/@prb/math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932\",\"dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8\",\"dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6\",\"dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47\",\"dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n\"]},\"node_modules/@sablier/evm-utils/src/Comptrollerable.sol\":{\"keccak256\":\"0xf48c3ba6a78b9f9f5735d72d07a10a8363d573c82251b5e53a0c7ce29ed1a921\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d62e6057b2202ee016aeec50b0ecd7e04324957237f1de53fb2a97c092b577cc\",\"dweb:/ipfs/QmaXSJam62Z7nkT8T1aN79fiAX2aQARHwufvXNRqFshFab\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol\":{\"keccak256\":\"0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126\",\"dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol\":{\"keccak256\":\"0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b\",\"dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol\":{\"keccak256\":\"0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4\",\"dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV\"]},\"node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol\":{\"keccak256\":\"0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c\",\"dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX\"]},\"node_modules/@sablier/evm-utils/src/libraries/Errors.sol\":{\"keccak256\":\"0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709\",\"dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp\"]},\"node_modules/@sablier/evm-utils/src/libraries/SafeOracle.sol\":{\"keccak256\":\"0x1c72d85e4731e46bf81504fad0f45f943527b8f03f4f9b54d4442ee124acd66d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://67caf33268b58f9e0c62131e24fb323a3b17b11dd2f7f5243e96fda0d75f017c\",\"dweb:/ipfs/QmeyuCM1RP1SF91QXhYcKFEHXdtYB5KLCLCmoa1fHJKjJw\"]},\"node_modules/@sablier/evm-utils/src/libraries/SafeTokenSymbol.sol\":{\"keccak256\":\"0xdef58d124694ad1b61f24790a2693f21ee13edf21ee978b0461eab90e0f274ba\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cd22ee4d798eab721640750e91a1960c8044879dcb838d32256f6faddfe8e71d\",\"dweb:/ipfs/QmX7fWdLVm9zajfpsUeDrTDdJCZSuAVwXAbv1rgfDw5btT\"]},\"src/BobVaultShare.sol\":{\"keccak256\":\"0x2b7da3845c067907963bbbc8053053ed03c21bd2354d1261982bb130d4cd9da4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://564315a1e60ca6f99746a8121b15cec5868aabfaa489a247d75b518836635ad8\",\"dweb:/ipfs/QmNmTGc8kgfY8wVZdSxUbHm4RRgonD6cBXKkBdKbN5hMQT\"]},\"src/SablierBob.sol\":{\"keccak256\":\"0xc3205a5f73000164460cd66edd4890e3bd716b8bbd826280b06af61757f1b22b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://657e87cc9fbdda4e1241fae53404cb4b3294bbb32d7c1f8c3c44e53213ee856f\",\"dweb:/ipfs/QmXpqw1u5wSGdz51ZXme88s5a8iMgiuto8Cbpeie8QMqmB\"]},\"src/abstracts/SablierBobState.sol\":{\"keccak256\":\"0x91cdd72d695a1117a873b9bee9d5cdd475c456208d1cb338f2622ce03324ae9e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://9028672fc234f405af19e2f23944e0795d08791dab6ccb3f87bda4d746c77f65\",\"dweb:/ipfs/QmWaPiaBc5FPJhrdB3oyQ7g4rV9mBtGkNsnrDqL4dhZwm5\"]},\"src/interfaces/IBobVaultShare.sol\":{\"keccak256\":\"0x7e91f71800b33ce26fa757b8d74d0e89aaf2de6ee50260a706c4c26029ae4c22\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://18e85a71eef03972eb19a277ca025c645b18aa768c03a2b1e7d81de9eeabe731\",\"dweb:/ipfs/QmbjGtkps9KvG6XBysNLB9eBoY5E47ixkTDtN8cYYRzA6b\"]},\"src/interfaces/ISablierBob.sol\":{\"keccak256\":\"0x2c21ee1f24d0443a9daf745ef2f5ccfe339120f19484565d31a46a1af09e8edc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1dce1fb1847e2c9fb562f9e5c8cb71d9a9d5a3b4a56ba9575ff0c7d5240b3af9\",\"dweb:/ipfs/QmZbFLtUYRV9TTw6PTsJmvhrD5BwautoUbLbj5WoVYiTPP\"]},\"src/interfaces/ISablierBobAdapter.sol\":{\"keccak256\":\"0xeb24411e0d4be288e600b9893bcf5bcfd3e38d7f2313bb68b323b2ba19d97921\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0308e63f7a7d9af68f7109bf500e186cd06760f708242c11e4dcdf5baa14638e\",\"dweb:/ipfs/Qmdn9ViABMqhTbRMY9yHMneqD8dMY8ysqjUMVbsGJ3GVPK\"]},\"src/interfaces/ISablierBobState.sol\":{\"keccak256\":\"0xc216153d326b2b02f62fe2a02edea29a194bf850d6c5d4d1d1c618cd68bfdd5c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0e1c2c6b58098552b70febc6a4876c2b89fb894994049c840882c346d7e094ee\",\"dweb:/ipfs/QmWxBShVcnGCrjHfBhPH15cdLA7mtmN6QaSBSM7ZWae85Q\"]},\"src/interfaces/external/IWETH9.sol\":{\"keccak256\":\"0x1c3b4200172a52de8c9271172239a9cf41a197df289586480e2bfc6e14fe5bb3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://bf4c6da85bf6214d4281915625c208cef5afec832414c2c2d4473b9217112ef0\",\"dweb:/ipfs/QmTTdUP6dXAot7dXJy7Zsbew3yA6VRHNgKGwR2fSXLoxUq\"]},\"src/libraries/Errors.sol\":{\"keccak256\":\"0x6c053ba4f029f4835883cf2fecd2b8adb1371b8e9820f5a3fdf679fd864ac682\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e1d64e7f44f0e8dcb3c6842a1baa119c3dd4b1b14f29c07c4c93b4185f0a566e\",\"dweb:/ipfs/QmUjf9S6JduDhmpD8VriK8bMRYXD8m7XMRohhnE91mjDc9\"]},\"src/types/Bob.sol\":{\"keccak256\":\"0xf156bfc6b369fd9006e47e3a2531108e515878f60977987def9069b6148cbba3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5e2d1205de5dc31ffc76045c05b5fc9ad927346ff3a6be9ee7ee9dcd6c28bb1a\",\"dweb:/ipfs/QmeuUm54PyaS2NZ728zy3Cqnsm5BZxaGAZdQrBY85Tejdx\"]},\"src/types/Escrow.sol\":{\"keccak256\":\"0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1\",\"dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU\"]}},\"version\":1}",
|
|
511
|
+
"metadata": {
|
|
512
|
+
"compiler": { "version": "0.8.29+commit.ab55807c" },
|
|
513
|
+
"language": "Solidity",
|
|
514
|
+
"output": {
|
|
515
|
+
"abi": [
|
|
516
|
+
{
|
|
517
|
+
"inputs": [{ "internalType": "address", "name": "initialComptroller", "type": "address" }],
|
|
518
|
+
"stateMutability": "nonpayable",
|
|
519
|
+
"type": "constructor"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"inputs": [
|
|
523
|
+
{ "internalType": "address", "name": "comptroller", "type": "address" },
|
|
524
|
+
{ "internalType": "address", "name": "caller", "type": "address" }
|
|
525
|
+
],
|
|
526
|
+
"type": "error",
|
|
527
|
+
"name": "Comptrollerable_CallerNotComptroller"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"inputs": [
|
|
531
|
+
{ "internalType": "address", "name": "previousComptroller", "type": "address" },
|
|
532
|
+
{ "internalType": "address", "name": "newComptroller", "type": "address" },
|
|
533
|
+
{ "internalType": "bytes4", "name": "minimalInterfaceId", "type": "bytes4" }
|
|
534
|
+
],
|
|
535
|
+
"type": "error",
|
|
536
|
+
"name": "Comptrollerable_UnsupportedInterfaceId"
|
|
537
|
+
},
|
|
538
|
+
{ "inputs": [], "type": "error", "name": "ReentrancyGuardReentrantCall" },
|
|
539
|
+
{
|
|
540
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
541
|
+
"type": "error",
|
|
542
|
+
"name": "SablierBobState_Null"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"inputs": [
|
|
546
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256" },
|
|
547
|
+
{ "internalType": "address", "name": "caller", "type": "address" }
|
|
548
|
+
],
|
|
549
|
+
"type": "error",
|
|
550
|
+
"name": "SablierBob_CallerNotShareToken"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"inputs": [
|
|
554
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256" },
|
|
555
|
+
{ "internalType": "address", "name": "user", "type": "address" }
|
|
556
|
+
],
|
|
557
|
+
"type": "error",
|
|
558
|
+
"name": "SablierBob_DepositAmountZero"
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"inputs": [
|
|
562
|
+
{ "internalType": "uint40", "name": "expiry", "type": "uint40" },
|
|
563
|
+
{ "internalType": "uint40", "name": "currentTime", "type": "uint40" }
|
|
564
|
+
],
|
|
565
|
+
"type": "error",
|
|
566
|
+
"name": "SablierBob_ExpiryNotInFuture"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"inputs": [{ "internalType": "address", "name": "nativeToken", "type": "address" }],
|
|
570
|
+
"type": "error",
|
|
571
|
+
"name": "SablierBob_ForbidNativeToken"
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"inputs": [
|
|
575
|
+
{ "internalType": "uint256", "name": "feePaid", "type": "uint256" },
|
|
576
|
+
{ "internalType": "uint256", "name": "feeRequired", "type": "uint256" }
|
|
577
|
+
],
|
|
578
|
+
"type": "error",
|
|
579
|
+
"name": "SablierBob_InsufficientFeePayment"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
583
|
+
"type": "error",
|
|
584
|
+
"name": "SablierBob_MsgValueNotZero"
|
|
585
|
+
},
|
|
586
|
+
{ "inputs": [], "type": "error", "name": "SablierBob_NativeFeeTransferFailed" },
|
|
587
|
+
{
|
|
588
|
+
"inputs": [{ "internalType": "address", "name": "nativeToken", "type": "address" }],
|
|
589
|
+
"type": "error",
|
|
590
|
+
"name": "SablierBob_NativeTokenAlreadySet"
|
|
591
|
+
},
|
|
592
|
+
{ "inputs": [], "type": "error", "name": "SablierBob_NativeTokenZeroAddress" },
|
|
593
|
+
{
|
|
594
|
+
"inputs": [{ "internalType": "address", "name": "adapter", "type": "address" }],
|
|
595
|
+
"type": "error",
|
|
596
|
+
"name": "SablierBob_NewAdapterMissesInterface"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"inputs": [
|
|
600
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256" },
|
|
601
|
+
{ "internalType": "address", "name": "user", "type": "address" }
|
|
602
|
+
],
|
|
603
|
+
"type": "error",
|
|
604
|
+
"name": "SablierBob_NoSharesToRedeem"
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"inputs": [
|
|
608
|
+
{ "internalType": "uint128", "name": "targetPrice", "type": "uint128" },
|
|
609
|
+
{ "internalType": "uint128", "name": "currentPrice", "type": "uint128" }
|
|
610
|
+
],
|
|
611
|
+
"type": "error",
|
|
612
|
+
"name": "SablierBob_TargetPriceTooLow"
|
|
613
|
+
},
|
|
614
|
+
{ "inputs": [], "type": "error", "name": "SablierBob_TargetPriceZero" },
|
|
615
|
+
{ "inputs": [], "type": "error", "name": "SablierBob_TokenAddressZero" },
|
|
616
|
+
{
|
|
617
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
618
|
+
"type": "error",
|
|
619
|
+
"name": "SablierBob_UnstakeAmountZero"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
623
|
+
"type": "error",
|
|
624
|
+
"name": "SablierBob_VaultAlreadyUnstaked"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
628
|
+
"type": "error",
|
|
629
|
+
"name": "SablierBob_VaultHasNoAdapter"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
633
|
+
"type": "error",
|
|
634
|
+
"name": "SablierBob_VaultNotActive"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
638
|
+
"type": "error",
|
|
639
|
+
"name": "SablierBob_VaultStillActive"
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"inputs": [
|
|
643
|
+
{ "internalType": "uint8", "name": "bits", "type": "uint8" },
|
|
644
|
+
{ "internalType": "uint256", "name": "value", "type": "uint256" }
|
|
645
|
+
],
|
|
646
|
+
"type": "error",
|
|
647
|
+
"name": "SafeCastOverflowedUintDowncast"
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"inputs": [{ "internalType": "address", "name": "token", "type": "address" }],
|
|
651
|
+
"type": "error",
|
|
652
|
+
"name": "SafeERC20FailedOperation"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"inputs": [
|
|
656
|
+
{ "internalType": "address", "name": "oracle", "type": "address" },
|
|
657
|
+
{ "internalType": "uint8", "name": "decimals", "type": "uint8" }
|
|
658
|
+
],
|
|
659
|
+
"type": "error",
|
|
660
|
+
"name": "SafeOracle_DecimalsTooHigh"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }],
|
|
664
|
+
"type": "error",
|
|
665
|
+
"name": "SafeOracle_DecimalsZero"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }],
|
|
669
|
+
"type": "error",
|
|
670
|
+
"name": "SafeOracle_MissesInterface"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }],
|
|
674
|
+
"type": "error",
|
|
675
|
+
"name": "SafeOracle_NotPositivePrice"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"inputs": [
|
|
679
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256", "indexed": true },
|
|
680
|
+
{ "internalType": "contract IERC20", "name": "token", "type": "address", "indexed": true },
|
|
681
|
+
{ "internalType": "contract AggregatorV3Interface", "name": "oracle", "type": "address", "indexed": true },
|
|
682
|
+
{ "internalType": "contract ISablierBobAdapter", "name": "adapter", "type": "address", "indexed": false },
|
|
683
|
+
{ "internalType": "contract IBobVaultShare", "name": "shareToken", "type": "address", "indexed": false },
|
|
684
|
+
{ "internalType": "uint128", "name": "targetPrice", "type": "uint128", "indexed": false },
|
|
685
|
+
{ "internalType": "uint40", "name": "expiry", "type": "uint40", "indexed": false }
|
|
686
|
+
],
|
|
687
|
+
"type": "event",
|
|
688
|
+
"name": "CreateVault",
|
|
689
|
+
"anonymous": false
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"inputs": [
|
|
693
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256", "indexed": true },
|
|
694
|
+
{ "internalType": "address", "name": "user", "type": "address", "indexed": true },
|
|
695
|
+
{ "internalType": "uint128", "name": "amountReceived", "type": "uint128", "indexed": false },
|
|
696
|
+
{ "internalType": "uint128", "name": "sharesMinted", "type": "uint128", "indexed": false }
|
|
697
|
+
],
|
|
698
|
+
"type": "event",
|
|
699
|
+
"name": "Enter",
|
|
700
|
+
"anonymous": false
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"inputs": [
|
|
704
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256", "indexed": true },
|
|
705
|
+
{ "internalType": "address", "name": "user", "type": "address", "indexed": true },
|
|
706
|
+
{ "internalType": "uint128", "name": "amountReceived", "type": "uint128", "indexed": false },
|
|
707
|
+
{ "internalType": "uint128", "name": "sharesBurned", "type": "uint128", "indexed": false },
|
|
708
|
+
{ "internalType": "uint256", "name": "fee", "type": "uint256", "indexed": false }
|
|
709
|
+
],
|
|
710
|
+
"type": "event",
|
|
711
|
+
"name": "Redeem",
|
|
712
|
+
"anonymous": false
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
"inputs": [
|
|
716
|
+
{
|
|
717
|
+
"internalType": "contract ISablierComptroller",
|
|
718
|
+
"name": "oldComptroller",
|
|
719
|
+
"type": "address",
|
|
720
|
+
"indexed": false
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"internalType": "contract ISablierComptroller",
|
|
724
|
+
"name": "newComptroller",
|
|
725
|
+
"type": "address",
|
|
726
|
+
"indexed": false
|
|
727
|
+
}
|
|
728
|
+
],
|
|
729
|
+
"type": "event",
|
|
730
|
+
"name": "SetComptroller",
|
|
731
|
+
"anonymous": false
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"inputs": [
|
|
735
|
+
{ "internalType": "contract IERC20", "name": "token", "type": "address", "indexed": true },
|
|
736
|
+
{ "internalType": "contract ISablierBobAdapter", "name": "adapter", "type": "address", "indexed": true }
|
|
737
|
+
],
|
|
738
|
+
"type": "event",
|
|
739
|
+
"name": "SetDefaultAdapter",
|
|
740
|
+
"anonymous": false
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"inputs": [
|
|
744
|
+
{ "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
|
|
745
|
+
{ "internalType": "address", "name": "nativeToken", "type": "address", "indexed": false }
|
|
746
|
+
],
|
|
747
|
+
"type": "event",
|
|
748
|
+
"name": "SetNativeToken",
|
|
749
|
+
"anonymous": false
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"inputs": [
|
|
753
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256", "indexed": true },
|
|
754
|
+
{ "internalType": "contract AggregatorV3Interface", "name": "oracle", "type": "address", "indexed": true },
|
|
755
|
+
{ "internalType": "uint128", "name": "latestPrice", "type": "uint128", "indexed": false },
|
|
756
|
+
{ "internalType": "uint40", "name": "syncedAt", "type": "uint40", "indexed": false }
|
|
757
|
+
],
|
|
758
|
+
"type": "event",
|
|
759
|
+
"name": "SyncPriceFromOracle",
|
|
760
|
+
"anonymous": false
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"inputs": [
|
|
764
|
+
{ "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
|
|
765
|
+
{ "internalType": "uint256", "name": "feeAmount", "type": "uint256", "indexed": false }
|
|
766
|
+
],
|
|
767
|
+
"type": "event",
|
|
768
|
+
"name": "TransferFeesToComptroller",
|
|
769
|
+
"anonymous": false
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"inputs": [
|
|
773
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256", "indexed": true },
|
|
774
|
+
{ "internalType": "contract ISablierBobAdapter", "name": "adapter", "type": "address", "indexed": true },
|
|
775
|
+
{ "internalType": "uint128", "name": "wrappedTokenUnstakedAmount", "type": "uint128", "indexed": false },
|
|
776
|
+
{ "internalType": "uint128", "name": "amountReceivedFromAdapter", "type": "uint128", "indexed": false }
|
|
777
|
+
],
|
|
778
|
+
"type": "event",
|
|
779
|
+
"name": "UnstakeFromAdapter",
|
|
780
|
+
"anonymous": false
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
784
|
+
"stateMutability": "view",
|
|
785
|
+
"type": "function",
|
|
786
|
+
"name": "calculateMinFeeWei",
|
|
787
|
+
"outputs": [{ "internalType": "uint256", "name": "minFeeWei", "type": "uint256" }]
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"inputs": [],
|
|
791
|
+
"stateMutability": "view",
|
|
792
|
+
"type": "function",
|
|
793
|
+
"name": "comptroller",
|
|
794
|
+
"outputs": [{ "internalType": "contract ISablierComptroller", "name": "", "type": "address" }]
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"inputs": [
|
|
798
|
+
{ "internalType": "contract IERC20", "name": "token", "type": "address" },
|
|
799
|
+
{ "internalType": "contract AggregatorV3Interface", "name": "oracle", "type": "address" },
|
|
800
|
+
{ "internalType": "uint40", "name": "expiry", "type": "uint40" },
|
|
801
|
+
{ "internalType": "uint128", "name": "targetPrice", "type": "uint128" }
|
|
802
|
+
],
|
|
803
|
+
"stateMutability": "nonpayable",
|
|
804
|
+
"type": "function",
|
|
805
|
+
"name": "createVault",
|
|
806
|
+
"outputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }]
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"inputs": [
|
|
810
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256" },
|
|
811
|
+
{ "internalType": "uint128", "name": "amount", "type": "uint128" }
|
|
812
|
+
],
|
|
813
|
+
"stateMutability": "nonpayable",
|
|
814
|
+
"type": "function",
|
|
815
|
+
"name": "enter"
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
819
|
+
"stateMutability": "payable",
|
|
820
|
+
"type": "function",
|
|
821
|
+
"name": "enterWithNativeToken"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
825
|
+
"stateMutability": "view",
|
|
826
|
+
"type": "function",
|
|
827
|
+
"name": "getAdapter",
|
|
828
|
+
"outputs": [{ "internalType": "contract ISablierBobAdapter", "name": "adapter", "type": "address" }]
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
"inputs": [{ "internalType": "contract IERC20", "name": "token", "type": "address" }],
|
|
832
|
+
"stateMutability": "view",
|
|
833
|
+
"type": "function",
|
|
834
|
+
"name": "getDefaultAdapterFor",
|
|
835
|
+
"outputs": [{ "internalType": "contract ISablierBobAdapter", "name": "adapter", "type": "address" }]
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
839
|
+
"stateMutability": "view",
|
|
840
|
+
"type": "function",
|
|
841
|
+
"name": "getExpiry",
|
|
842
|
+
"outputs": [{ "internalType": "uint40", "name": "expiry", "type": "uint40" }]
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
846
|
+
"stateMutability": "view",
|
|
847
|
+
"type": "function",
|
|
848
|
+
"name": "getLastSyncedAt",
|
|
849
|
+
"outputs": [{ "internalType": "uint40", "name": "lastSyncedAt", "type": "uint40" }]
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
853
|
+
"stateMutability": "view",
|
|
854
|
+
"type": "function",
|
|
855
|
+
"name": "getLastSyncedPrice",
|
|
856
|
+
"outputs": [{ "internalType": "uint128", "name": "lastSyncedPrice", "type": "uint128" }]
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
860
|
+
"stateMutability": "view",
|
|
861
|
+
"type": "function",
|
|
862
|
+
"name": "getOracle",
|
|
863
|
+
"outputs": [{ "internalType": "contract AggregatorV3Interface", "name": "oracle", "type": "address" }]
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
867
|
+
"stateMutability": "view",
|
|
868
|
+
"type": "function",
|
|
869
|
+
"name": "getShareToken",
|
|
870
|
+
"outputs": [{ "internalType": "contract IBobVaultShare", "name": "shareToken", "type": "address" }]
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
874
|
+
"stateMutability": "view",
|
|
875
|
+
"type": "function",
|
|
876
|
+
"name": "getTargetPrice",
|
|
877
|
+
"outputs": [{ "internalType": "uint128", "name": "targetPrice", "type": "uint128" }]
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
881
|
+
"stateMutability": "view",
|
|
882
|
+
"type": "function",
|
|
883
|
+
"name": "getUnderlyingToken",
|
|
884
|
+
"outputs": [{ "internalType": "contract IERC20", "name": "token", "type": "address" }]
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
888
|
+
"stateMutability": "view",
|
|
889
|
+
"type": "function",
|
|
890
|
+
"name": "isStakedInAdapter",
|
|
891
|
+
"outputs": [{ "internalType": "bool", "name": "stakedInAdapter", "type": "bool" }]
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"inputs": [],
|
|
895
|
+
"stateMutability": "view",
|
|
896
|
+
"type": "function",
|
|
897
|
+
"name": "nativeToken",
|
|
898
|
+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }]
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"inputs": [],
|
|
902
|
+
"stateMutability": "view",
|
|
903
|
+
"type": "function",
|
|
904
|
+
"name": "nextVaultId",
|
|
905
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"inputs": [
|
|
909
|
+
{ "internalType": "uint256", "name": "vaultId", "type": "uint256" },
|
|
910
|
+
{ "internalType": "address", "name": "from", "type": "address" },
|
|
911
|
+
{ "internalType": "address", "name": "to", "type": "address" },
|
|
912
|
+
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
|
|
913
|
+
{ "internalType": "uint256", "name": "fromBalanceBefore", "type": "uint256" }
|
|
914
|
+
],
|
|
915
|
+
"stateMutability": "nonpayable",
|
|
916
|
+
"type": "function",
|
|
917
|
+
"name": "onShareTransfer"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
921
|
+
"stateMutability": "payable",
|
|
922
|
+
"type": "function",
|
|
923
|
+
"name": "redeem",
|
|
924
|
+
"outputs": [
|
|
925
|
+
{ "internalType": "uint128", "name": "transferAmount", "type": "uint128" },
|
|
926
|
+
{ "internalType": "uint128", "name": "feeAmountDeductedFromYield", "type": "uint128" }
|
|
927
|
+
]
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"inputs": [{ "internalType": "contract ISablierComptroller", "name": "newComptroller", "type": "address" }],
|
|
931
|
+
"stateMutability": "nonpayable",
|
|
932
|
+
"type": "function",
|
|
933
|
+
"name": "setComptroller"
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
"inputs": [
|
|
937
|
+
{ "internalType": "contract IERC20", "name": "token", "type": "address" },
|
|
938
|
+
{ "internalType": "contract ISablierBobAdapter", "name": "newAdapter", "type": "address" }
|
|
939
|
+
],
|
|
940
|
+
"stateMutability": "nonpayable",
|
|
941
|
+
"type": "function",
|
|
942
|
+
"name": "setDefaultAdapter"
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"inputs": [{ "internalType": "address", "name": "newNativeToken", "type": "address" }],
|
|
946
|
+
"stateMutability": "nonpayable",
|
|
947
|
+
"type": "function",
|
|
948
|
+
"name": "setNativeToken"
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
952
|
+
"stateMutability": "view",
|
|
953
|
+
"type": "function",
|
|
954
|
+
"name": "statusOf",
|
|
955
|
+
"outputs": [{ "internalType": "enum Bob.Status", "name": "status", "type": "uint8" }]
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
959
|
+
"stateMutability": "nonpayable",
|
|
960
|
+
"type": "function",
|
|
961
|
+
"name": "syncPriceFromOracle",
|
|
962
|
+
"outputs": [{ "internalType": "uint128", "name": "latestPrice", "type": "uint128" }]
|
|
963
|
+
},
|
|
964
|
+
{ "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "transferFeesToComptroller" },
|
|
965
|
+
{
|
|
966
|
+
"inputs": [{ "internalType": "uint256", "name": "vaultId", "type": "uint256" }],
|
|
967
|
+
"stateMutability": "nonpayable",
|
|
968
|
+
"type": "function",
|
|
969
|
+
"name": "unstakeTokensViaAdapter",
|
|
970
|
+
"outputs": [{ "internalType": "uint128", "name": "amountReceivedFromAdapter", "type": "uint128" }]
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"devdoc": {
|
|
974
|
+
"kind": "dev",
|
|
975
|
+
"methods": {
|
|
976
|
+
"calculateMinFeeWei(uint256)": {
|
|
977
|
+
"details": "Reverts if `vaultId` references a null vault.",
|
|
978
|
+
"params": { "vaultId": "The vault ID for the query." }
|
|
979
|
+
},
|
|
980
|
+
"constructor": { "params": { "initialComptroller": "The address of the initial comptroller contract." } },
|
|
981
|
+
"createVault(address,address,uint40,uint128)": {
|
|
982
|
+
"details": "Emits a {CreateVault} event. Notes: - A new ERC-20 share token is deployed for each vault to represent user's share of deposits in the vault. - The default adapter for the token is copied as the vault adapter. Any change in the default adapter does not affect existing vaults. - Vault creator is responsible for choosing a valid oracle. They should use Chainlink oracles, as the integration is based on their API. Requirements: - `token` must not be the zero address. - `token` must implement `symbol()` and `decimals()` functions. - `expiry` must be in the future. - `oracle` must implement the Chainlink's {AggregatorV3Interface} interface. - `oracle` must return a positive price when `latestRoundData()` is called. - `oracle` must return a non-zero value no greater than 36 when `decimals()` is called. - `targetPrice` must not be zero or greater than the current price returned by the provided oracle.",
|
|
983
|
+
"params": {
|
|
984
|
+
"expiry": "The Unix timestamp when the vault expires.",
|
|
985
|
+
"oracle": "The address of the price feed oracle for the deposit token.",
|
|
986
|
+
"targetPrice": "The target price at which the vault settles, denominated in Chainlink's 8-decimal format for USD prices, where 1e8 is $1.",
|
|
987
|
+
"token": "The address of the ERC-20 token that will be accepted for deposits."
|
|
988
|
+
},
|
|
989
|
+
"returns": { "vaultId": "The ID of the newly created vault." }
|
|
990
|
+
},
|
|
991
|
+
"enter(uint256,uint128)": {
|
|
992
|
+
"details": "Emits an {Enter} event. Notes: - If an adapter is configured for the vault, tokens are automatically staked for yield using the adapter. - Share tokens are minted 1:1 with the deposited amount. Requirements: - `vaultId` must not reference a null vault. - The vault must have ACTIVE status. - `amount` must be greater than zero. - The caller must have approved this contract to transfer `amount` tokens.",
|
|
993
|
+
"params": {
|
|
994
|
+
"amount": "The amount of tokens to deposit.",
|
|
995
|
+
"vaultId": "The ID of the vault to deposit into."
|
|
996
|
+
}
|
|
997
|
+
},
|
|
998
|
+
"enterWithNativeToken(uint256)": {
|
|
999
|
+
"details": "Emits an {Enter} event. Notes: - `msg.value` is used as the deposit amount. - See notes for {enter}. Requirements: - See requirements for {enter}. - `msg.value` must be greater than zero and must not exceed `type(uint128).max`.",
|
|
1000
|
+
"params": { "vaultId": "The ID of the vault to deposit into." }
|
|
1001
|
+
},
|
|
1002
|
+
"getAdapter(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1003
|
+
"getDefaultAdapterFor(address)": {
|
|
1004
|
+
"details": "Zero address means no adapter is set.",
|
|
1005
|
+
"params": { "token": "The ERC-20 token to query the default adapter for." },
|
|
1006
|
+
"returns": { "adapter": "The default adapter for the token." }
|
|
1007
|
+
},
|
|
1008
|
+
"getExpiry(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1009
|
+
"getLastSyncedAt(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1010
|
+
"getLastSyncedPrice(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1011
|
+
"getOracle(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1012
|
+
"getShareToken(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1013
|
+
"getTargetPrice(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1014
|
+
"getUnderlyingToken(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1015
|
+
"isStakedInAdapter(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1016
|
+
"onShareTransfer(uint256,address,address,uint256,uint256)": {
|
|
1017
|
+
"params": {
|
|
1018
|
+
"amount": "The number of share tokens being transferred.",
|
|
1019
|
+
"from": "The address transferring share tokens.",
|
|
1020
|
+
"fromBalanceBefore": "The number of share tokens the sender had before the transfer.",
|
|
1021
|
+
"to": "The address receiving share tokens.",
|
|
1022
|
+
"vaultId": "The ID of the vault."
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
"redeem(uint256)": {
|
|
1026
|
+
"details": "Emits a {Redeem} event. Notes: - If no adapter is configured for the vault, a fee in the native token is applied. - If an adapter is configured for the vault, a fee, in the deposit token, is deducted from yield generated by the adapter. - If unstake via Lido withdrawal queue contract is triggered, redeem will revert until the withdrawal from the Lido queue is finalized. Requirements: - `vaultId` must not reference a null vault. - Either block timestamp must be greater than or equal to the vault expiry or the latest price from the oracle must be greater than or equal to the target price. - The share balance of the caller must be greater than zero. - If no adapter is configured for the vault, `msg.value` must be greater than or equal to the min fee required in the native token.",
|
|
1027
|
+
"params": { "vaultId": "The ID of the vault to redeem from." },
|
|
1028
|
+
"returns": {
|
|
1029
|
+
"feeAmountDeductedFromYield": "The fee amount deducted from the yield. Zero if no adapter is set.",
|
|
1030
|
+
"transferAmount": "The amount of tokens transferred to the caller, after fees are deducted (only applicable if adapter is set)."
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
"setComptroller(address)": {
|
|
1034
|
+
"details": "Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}",
|
|
1035
|
+
"params": { "newComptroller": "The address of the new comptroller contract." }
|
|
1036
|
+
},
|
|
1037
|
+
"setDefaultAdapter(address,address)": {
|
|
1038
|
+
"details": "Emits a {SetDefaultAdapter} event. Notes: - This only affects future vaults. Requirements: - The caller must be the comptroller. - If new adapter is not zero address, it must implement {ISablierBobAdapter} interface.",
|
|
1039
|
+
"params": {
|
|
1040
|
+
"newAdapter": "The address of the new adapter.",
|
|
1041
|
+
"token": "The token address to set the adapter for."
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
"setNativeToken(address)": {
|
|
1045
|
+
"details": "For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.",
|
|
1046
|
+
"params": { "newNativeToken": "The address of the native token." }
|
|
1047
|
+
},
|
|
1048
|
+
"statusOf(uint256)": { "details": "Reverts if `vaultId` references a null vault." },
|
|
1049
|
+
"syncPriceFromOracle(uint256)": {
|
|
1050
|
+
"details": "Emits a {SyncPriceFromOracle} event. Notes: - Oracle staleness is not validated on-chain when calling this function. Any price returned by the oracle is accepted. - Useful for syncing the price from oracle without calling {redeem} or {enter}. This function can be called by anyone to settle vault when the price is above the target price. Requirements: - `vaultId` must not reference a null vault. - The vault must have ACTIVE status. - The oracle must return a positive price.",
|
|
1051
|
+
"params": { "vaultId": "The ID of the vault to sync." },
|
|
1052
|
+
"returns": {
|
|
1053
|
+
"latestPrice": "The latest price fetched from the oracle, denominated in Chainlink's 8-decimal format for USD prices, where 1e8 is $1."
|
|
1054
|
+
}
|
|
1055
|
+
},
|
|
1056
|
+
"transferFeesToComptroller()": { "details": "Emits a {TransferFeesToComptroller} event." },
|
|
1057
|
+
"unstakeTokensViaAdapter(uint256)": {
|
|
1058
|
+
"details": "Emits an {UnstakeFromAdapter} event. Requirements: - `vaultId` must not reference a null vault. - The adapter set in the vault must not be zero address. - Either block timestamp must be greater than or equal to the vault expiry or the latest price from the oracle must be greater than or equal to the target price. - The vault must not have been unstaked already. - The amount staked must be greater than zero.",
|
|
1059
|
+
"params": { "vaultId": "The ID of the vault." },
|
|
1060
|
+
"returns": { "amountReceivedFromAdapter": "The amount of tokens received from the adapter." }
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
"version": 1
|
|
1064
|
+
},
|
|
1065
|
+
"userdoc": {
|
|
1066
|
+
"kind": "user",
|
|
1067
|
+
"methods": {
|
|
1068
|
+
"calculateMinFeeWei(uint256)": {
|
|
1069
|
+
"notice": "Calculates the minimum fee in wei required to redeem from the given vault ID. Returns 0 for vaults with an adapter, since the fee is taken from yield generated."
|
|
1070
|
+
},
|
|
1071
|
+
"comptroller()": { "notice": "Retrieves the address of the comptroller contract." },
|
|
1072
|
+
"createVault(address,address,uint40,uint128)": {
|
|
1073
|
+
"notice": "Creates a new vault with the specified parameters."
|
|
1074
|
+
},
|
|
1075
|
+
"enter(uint256,uint128)": {
|
|
1076
|
+
"notice": "Enter into a vault by depositing tokens into it and minting share tokens to the caller."
|
|
1077
|
+
},
|
|
1078
|
+
"enterWithNativeToken(uint256)": {
|
|
1079
|
+
"notice": "Enter into a vault by depositing native token (such as ETH, POL, etc.) into it and minting share tokens to the caller."
|
|
1080
|
+
},
|
|
1081
|
+
"getAdapter(uint256)": { "notice": "Returns the adapter configured for a specific vault." },
|
|
1082
|
+
"getDefaultAdapterFor(address)": { "notice": "Returns the default adapter for a given token." },
|
|
1083
|
+
"getExpiry(uint256)": { "notice": "Returns the timestamp when the vault expires." },
|
|
1084
|
+
"getLastSyncedAt(uint256)": {
|
|
1085
|
+
"notice": "Returns the timestamp when the oracle price was last synced for a vault."
|
|
1086
|
+
},
|
|
1087
|
+
"getLastSyncedPrice(uint256)": { "notice": "Returns the oracle price stored for a vault." },
|
|
1088
|
+
"getOracle(uint256)": { "notice": "Returns the oracle address set for a vault." },
|
|
1089
|
+
"getShareToken(uint256)": { "notice": "Returns the address of the ERC-20 share token for a vault." },
|
|
1090
|
+
"getTargetPrice(uint256)": { "notice": "Returns the target price at which the vault settles." },
|
|
1091
|
+
"getUnderlyingToken(uint256)": { "notice": "Returns the ERC-20 token accepted for deposits in a vault." },
|
|
1092
|
+
"isStakedInAdapter(uint256)": { "notice": "Returns whether the vault tokens are staked in an adapter." },
|
|
1093
|
+
"nativeToken()": {
|
|
1094
|
+
"notice": "Retrieves the address of the ERC-20 interface of the native token, if it exists."
|
|
1095
|
+
},
|
|
1096
|
+
"nextVaultId()": { "notice": "Counter for vault IDs, incremented every time a new vault is created." },
|
|
1097
|
+
"onShareTransfer(uint256,address,address,uint256,uint256)": {
|
|
1098
|
+
"notice": "Called by adapter when share tokens for a given vault are transferred between users. This is required for accounting of the yield generated by the adapter. Requirements: - The caller must be the share token contract stored in the given vault. - The calculated wstETH transfer amount must not be zero."
|
|
1099
|
+
},
|
|
1100
|
+
"redeem(uint256)": { "notice": "Redeem the tokens by burning user shares." },
|
|
1101
|
+
"setComptroller(address)": { "notice": "Sets the comptroller to a new address." },
|
|
1102
|
+
"setDefaultAdapter(address,address)": { "notice": "Sets the default adapter for a specific token." },
|
|
1103
|
+
"setNativeToken(address)": { "notice": "Sets the native token address. Once set, it cannot be changed." },
|
|
1104
|
+
"statusOf(uint256)": { "notice": "Returns the vault status." },
|
|
1105
|
+
"syncPriceFromOracle(uint256)": {
|
|
1106
|
+
"notice": "Fetches the latest price from the oracle set for a vault and updates it in the vault storage."
|
|
1107
|
+
},
|
|
1108
|
+
"transferFeesToComptroller()": { "notice": "Transfers the fees to the comptroller contract." },
|
|
1109
|
+
"unstakeTokensViaAdapter(uint256)": { "notice": "Unstake all tokens from the adapter for a given vault." }
|
|
1110
|
+
},
|
|
1111
|
+
"version": 1
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
"settings": {
|
|
1115
|
+
"remappings": [
|
|
1116
|
+
"@arbitrum/=node_modules/@arbitrum/",
|
|
1117
|
+
"@chainlink/=node_modules/@chainlink/",
|
|
1118
|
+
"@eth-optimism/=node_modules/@eth-optimism/",
|
|
1119
|
+
"@offchainlabs/=node_modules/@offchainlabs/",
|
|
1120
|
+
"@openzeppelin/=node_modules/@openzeppelin/",
|
|
1121
|
+
"@prb/=node_modules/@prb/",
|
|
1122
|
+
"@sablier/=node_modules/@sablier/",
|
|
1123
|
+
"@scroll-tech/=node_modules/@scroll-tech/",
|
|
1124
|
+
"@zksync/=node_modules/@zksync/",
|
|
1125
|
+
"forge-std/=node_modules/forge-std/"
|
|
1126
|
+
],
|
|
1127
|
+
"optimizer": { "enabled": true, "runs": 1000000 },
|
|
1128
|
+
"metadata": { "bytecodeHash": "ipfs" },
|
|
1129
|
+
"compilationTarget": { "src/SablierBob.sol": "SablierBob" },
|
|
1130
|
+
"evmVersion": "shanghai",
|
|
1131
|
+
"libraries": {},
|
|
1132
|
+
"viaIR": true
|
|
1133
|
+
},
|
|
1134
|
+
"sources": {
|
|
1135
|
+
"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol": {
|
|
1136
|
+
"keccak256": "0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0",
|
|
1137
|
+
"urls": [
|
|
1138
|
+
"bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9",
|
|
1139
|
+
"dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS"
|
|
1140
|
+
],
|
|
1141
|
+
"license": "MIT"
|
|
1142
|
+
},
|
|
1143
|
+
"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol": {
|
|
1144
|
+
"keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7",
|
|
1145
|
+
"urls": [
|
|
1146
|
+
"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b",
|
|
1147
|
+
"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"
|
|
1148
|
+
],
|
|
1149
|
+
"license": "MIT"
|
|
1150
|
+
},
|
|
1151
|
+
"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol": {
|
|
1152
|
+
"keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724",
|
|
1153
|
+
"urls": [
|
|
1154
|
+
"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a",
|
|
1155
|
+
"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"
|
|
1156
|
+
],
|
|
1157
|
+
"license": "MIT"
|
|
1158
|
+
},
|
|
1159
|
+
"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol": {
|
|
1160
|
+
"keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c",
|
|
1161
|
+
"urls": [
|
|
1162
|
+
"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba",
|
|
1163
|
+
"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"
|
|
1164
|
+
],
|
|
1165
|
+
"license": "MIT"
|
|
1166
|
+
},
|
|
1167
|
+
"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": {
|
|
1168
|
+
"keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d",
|
|
1169
|
+
"urls": [
|
|
1170
|
+
"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196",
|
|
1171
|
+
"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"
|
|
1172
|
+
],
|
|
1173
|
+
"license": "MIT"
|
|
1174
|
+
},
|
|
1175
|
+
"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": {
|
|
1176
|
+
"keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b",
|
|
1177
|
+
"urls": [
|
|
1178
|
+
"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b",
|
|
1179
|
+
"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"
|
|
1180
|
+
],
|
|
1181
|
+
"license": "MIT"
|
|
1182
|
+
},
|
|
1183
|
+
"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": {
|
|
1184
|
+
"keccak256": "0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a",
|
|
1185
|
+
"urls": [
|
|
1186
|
+
"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a",
|
|
1187
|
+
"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x"
|
|
1188
|
+
],
|
|
1189
|
+
"license": "MIT"
|
|
1190
|
+
},
|
|
1191
|
+
"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
|
|
1192
|
+
"keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
|
|
1193
|
+
"urls": [
|
|
1194
|
+
"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
|
|
1195
|
+
"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
|
|
1196
|
+
],
|
|
1197
|
+
"license": "MIT"
|
|
1198
|
+
},
|
|
1199
|
+
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
|
|
1200
|
+
"keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330",
|
|
1201
|
+
"urls": [
|
|
1202
|
+
"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf",
|
|
1203
|
+
"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"
|
|
1204
|
+
],
|
|
1205
|
+
"license": "MIT"
|
|
1206
|
+
},
|
|
1207
|
+
"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": {
|
|
1208
|
+
"keccak256": "0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5",
|
|
1209
|
+
"urls": [
|
|
1210
|
+
"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508",
|
|
1211
|
+
"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"
|
|
1212
|
+
],
|
|
1213
|
+
"license": "MIT"
|
|
1214
|
+
},
|
|
1215
|
+
"node_modules/@openzeppelin/contracts/utils/Context.sol": {
|
|
1216
|
+
"keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
|
|
1217
|
+
"urls": [
|
|
1218
|
+
"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
|
|
1219
|
+
"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
|
|
1220
|
+
],
|
|
1221
|
+
"license": "MIT"
|
|
1222
|
+
},
|
|
1223
|
+
"node_modules/@openzeppelin/contracts/utils/Panic.sol": {
|
|
1224
|
+
"keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
|
|
1225
|
+
"urls": [
|
|
1226
|
+
"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
|
|
1227
|
+
"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
|
|
1228
|
+
],
|
|
1229
|
+
"license": "MIT"
|
|
1230
|
+
},
|
|
1231
|
+
"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": {
|
|
1232
|
+
"keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
|
|
1233
|
+
"urls": [
|
|
1234
|
+
"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
|
|
1235
|
+
"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
|
|
1236
|
+
],
|
|
1237
|
+
"license": "MIT"
|
|
1238
|
+
},
|
|
1239
|
+
"node_modules/@openzeppelin/contracts/utils/Strings.sol": {
|
|
1240
|
+
"keccak256": "0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae",
|
|
1241
|
+
"urls": [
|
|
1242
|
+
"bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6",
|
|
1243
|
+
"dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb"
|
|
1244
|
+
],
|
|
1245
|
+
"license": "MIT"
|
|
1246
|
+
},
|
|
1247
|
+
"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
|
|
1248
|
+
"keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
|
|
1249
|
+
"urls": [
|
|
1250
|
+
"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
|
|
1251
|
+
"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
|
|
1252
|
+
],
|
|
1253
|
+
"license": "MIT"
|
|
1254
|
+
},
|
|
1255
|
+
"node_modules/@openzeppelin/contracts/utils/math/Math.sol": {
|
|
1256
|
+
"keccak256": "0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6",
|
|
1257
|
+
"urls": [
|
|
1258
|
+
"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3",
|
|
1259
|
+
"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"
|
|
1260
|
+
],
|
|
1261
|
+
"license": "MIT"
|
|
1262
|
+
},
|
|
1263
|
+
"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": {
|
|
1264
|
+
"keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
|
|
1265
|
+
"urls": [
|
|
1266
|
+
"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
|
|
1267
|
+
"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
|
|
1268
|
+
],
|
|
1269
|
+
"license": "MIT"
|
|
1270
|
+
},
|
|
1271
|
+
"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": {
|
|
1272
|
+
"keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
|
|
1273
|
+
"urls": [
|
|
1274
|
+
"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
|
|
1275
|
+
"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
|
|
1276
|
+
],
|
|
1277
|
+
"license": "MIT"
|
|
1278
|
+
},
|
|
1279
|
+
"node_modules/@prb/math/src/Common.sol": {
|
|
1280
|
+
"keccak256": "0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99",
|
|
1281
|
+
"urls": [
|
|
1282
|
+
"bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05",
|
|
1283
|
+
"dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42"
|
|
1284
|
+
],
|
|
1285
|
+
"license": "MIT"
|
|
1286
|
+
},
|
|
1287
|
+
"node_modules/@prb/math/src/UD60x18.sol": {
|
|
1288
|
+
"keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48",
|
|
1289
|
+
"urls": [
|
|
1290
|
+
"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9",
|
|
1291
|
+
"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp"
|
|
1292
|
+
],
|
|
1293
|
+
"license": "MIT"
|
|
1294
|
+
},
|
|
1295
|
+
"node_modules/@prb/math/src/sd1x18/Casting.sol": {
|
|
1296
|
+
"keccak256": "0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c",
|
|
1297
|
+
"urls": [
|
|
1298
|
+
"bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11",
|
|
1299
|
+
"dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu"
|
|
1300
|
+
],
|
|
1301
|
+
"license": "MIT"
|
|
1302
|
+
},
|
|
1303
|
+
"node_modules/@prb/math/src/sd1x18/Constants.sol": {
|
|
1304
|
+
"keccak256": "0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8",
|
|
1305
|
+
"urls": [
|
|
1306
|
+
"bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab",
|
|
1307
|
+
"dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos"
|
|
1308
|
+
],
|
|
1309
|
+
"license": "MIT"
|
|
1310
|
+
},
|
|
1311
|
+
"node_modules/@prb/math/src/sd1x18/Errors.sol": {
|
|
1312
|
+
"keccak256": "0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6",
|
|
1313
|
+
"urls": [
|
|
1314
|
+
"bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca",
|
|
1315
|
+
"dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE"
|
|
1316
|
+
],
|
|
1317
|
+
"license": "MIT"
|
|
1318
|
+
},
|
|
1319
|
+
"node_modules/@prb/math/src/sd1x18/ValueType.sol": {
|
|
1320
|
+
"keccak256": "0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0",
|
|
1321
|
+
"urls": [
|
|
1322
|
+
"bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353",
|
|
1323
|
+
"dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6"
|
|
1324
|
+
],
|
|
1325
|
+
"license": "MIT"
|
|
1326
|
+
},
|
|
1327
|
+
"node_modules/@prb/math/src/sd21x18/Casting.sol": {
|
|
1328
|
+
"keccak256": "0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36",
|
|
1329
|
+
"urls": [
|
|
1330
|
+
"bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2",
|
|
1331
|
+
"dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd"
|
|
1332
|
+
],
|
|
1333
|
+
"license": "MIT"
|
|
1334
|
+
},
|
|
1335
|
+
"node_modules/@prb/math/src/sd21x18/Constants.sol": {
|
|
1336
|
+
"keccak256": "0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4",
|
|
1337
|
+
"urls": [
|
|
1338
|
+
"bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396",
|
|
1339
|
+
"dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3"
|
|
1340
|
+
],
|
|
1341
|
+
"license": "MIT"
|
|
1342
|
+
},
|
|
1343
|
+
"node_modules/@prb/math/src/sd21x18/Errors.sol": {
|
|
1344
|
+
"keccak256": "0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a",
|
|
1345
|
+
"urls": [
|
|
1346
|
+
"bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee",
|
|
1347
|
+
"dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML"
|
|
1348
|
+
],
|
|
1349
|
+
"license": "MIT"
|
|
1350
|
+
},
|
|
1351
|
+
"node_modules/@prb/math/src/sd21x18/ValueType.sol": {
|
|
1352
|
+
"keccak256": "0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092",
|
|
1353
|
+
"urls": [
|
|
1354
|
+
"bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880",
|
|
1355
|
+
"dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf"
|
|
1356
|
+
],
|
|
1357
|
+
"license": "MIT"
|
|
1358
|
+
},
|
|
1359
|
+
"node_modules/@prb/math/src/sd59x18/Casting.sol": {
|
|
1360
|
+
"keccak256": "0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39",
|
|
1361
|
+
"urls": [
|
|
1362
|
+
"bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d",
|
|
1363
|
+
"dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n"
|
|
1364
|
+
],
|
|
1365
|
+
"license": "MIT"
|
|
1366
|
+
},
|
|
1367
|
+
"node_modules/@prb/math/src/sd59x18/Constants.sol": {
|
|
1368
|
+
"keccak256": "0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a",
|
|
1369
|
+
"urls": [
|
|
1370
|
+
"bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f",
|
|
1371
|
+
"dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si"
|
|
1372
|
+
],
|
|
1373
|
+
"license": "MIT"
|
|
1374
|
+
},
|
|
1375
|
+
"node_modules/@prb/math/src/sd59x18/Errors.sol": {
|
|
1376
|
+
"keccak256": "0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2",
|
|
1377
|
+
"urls": [
|
|
1378
|
+
"bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf",
|
|
1379
|
+
"dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk"
|
|
1380
|
+
],
|
|
1381
|
+
"license": "MIT"
|
|
1382
|
+
},
|
|
1383
|
+
"node_modules/@prb/math/src/sd59x18/Helpers.sol": {
|
|
1384
|
+
"keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716",
|
|
1385
|
+
"urls": [
|
|
1386
|
+
"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed",
|
|
1387
|
+
"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD"
|
|
1388
|
+
],
|
|
1389
|
+
"license": "MIT"
|
|
1390
|
+
},
|
|
1391
|
+
"node_modules/@prb/math/src/sd59x18/Math.sol": {
|
|
1392
|
+
"keccak256": "0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84",
|
|
1393
|
+
"urls": [
|
|
1394
|
+
"bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462",
|
|
1395
|
+
"dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD"
|
|
1396
|
+
],
|
|
1397
|
+
"license": "MIT"
|
|
1398
|
+
},
|
|
1399
|
+
"node_modules/@prb/math/src/sd59x18/ValueType.sol": {
|
|
1400
|
+
"keccak256": "0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d",
|
|
1401
|
+
"urls": [
|
|
1402
|
+
"bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919",
|
|
1403
|
+
"dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb"
|
|
1404
|
+
],
|
|
1405
|
+
"license": "MIT"
|
|
1406
|
+
},
|
|
1407
|
+
"node_modules/@prb/math/src/ud21x18/Casting.sol": {
|
|
1408
|
+
"keccak256": "0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65",
|
|
1409
|
+
"urls": [
|
|
1410
|
+
"bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09",
|
|
1411
|
+
"dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL"
|
|
1412
|
+
],
|
|
1413
|
+
"license": "MIT"
|
|
1414
|
+
},
|
|
1415
|
+
"node_modules/@prb/math/src/ud21x18/Constants.sol": {
|
|
1416
|
+
"keccak256": "0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601",
|
|
1417
|
+
"urls": [
|
|
1418
|
+
"bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60",
|
|
1419
|
+
"dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV"
|
|
1420
|
+
],
|
|
1421
|
+
"license": "MIT"
|
|
1422
|
+
},
|
|
1423
|
+
"node_modules/@prb/math/src/ud21x18/Errors.sol": {
|
|
1424
|
+
"keccak256": "0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415",
|
|
1425
|
+
"urls": [
|
|
1426
|
+
"bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80",
|
|
1427
|
+
"dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq"
|
|
1428
|
+
],
|
|
1429
|
+
"license": "MIT"
|
|
1430
|
+
},
|
|
1431
|
+
"node_modules/@prb/math/src/ud21x18/ValueType.sol": {
|
|
1432
|
+
"keccak256": "0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25",
|
|
1433
|
+
"urls": [
|
|
1434
|
+
"bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af",
|
|
1435
|
+
"dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU"
|
|
1436
|
+
],
|
|
1437
|
+
"license": "MIT"
|
|
1438
|
+
},
|
|
1439
|
+
"node_modules/@prb/math/src/ud2x18/Casting.sol": {
|
|
1440
|
+
"keccak256": "0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6",
|
|
1441
|
+
"urls": [
|
|
1442
|
+
"bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae",
|
|
1443
|
+
"dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL"
|
|
1444
|
+
],
|
|
1445
|
+
"license": "MIT"
|
|
1446
|
+
},
|
|
1447
|
+
"node_modules/@prb/math/src/ud2x18/Constants.sol": {
|
|
1448
|
+
"keccak256": "0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc",
|
|
1449
|
+
"urls": [
|
|
1450
|
+
"bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9",
|
|
1451
|
+
"dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC"
|
|
1452
|
+
],
|
|
1453
|
+
"license": "MIT"
|
|
1454
|
+
},
|
|
1455
|
+
"node_modules/@prb/math/src/ud2x18/Errors.sol": {
|
|
1456
|
+
"keccak256": "0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd",
|
|
1457
|
+
"urls": [
|
|
1458
|
+
"bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437",
|
|
1459
|
+
"dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i"
|
|
1460
|
+
],
|
|
1461
|
+
"license": "MIT"
|
|
1462
|
+
},
|
|
1463
|
+
"node_modules/@prb/math/src/ud2x18/ValueType.sol": {
|
|
1464
|
+
"keccak256": "0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0",
|
|
1465
|
+
"urls": [
|
|
1466
|
+
"bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41",
|
|
1467
|
+
"dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs"
|
|
1468
|
+
],
|
|
1469
|
+
"license": "MIT"
|
|
1470
|
+
},
|
|
1471
|
+
"node_modules/@prb/math/src/ud60x18/Casting.sol": {
|
|
1472
|
+
"keccak256": "0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6",
|
|
1473
|
+
"urls": [
|
|
1474
|
+
"bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780",
|
|
1475
|
+
"dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr"
|
|
1476
|
+
],
|
|
1477
|
+
"license": "MIT"
|
|
1478
|
+
},
|
|
1479
|
+
"node_modules/@prb/math/src/ud60x18/Constants.sol": {
|
|
1480
|
+
"keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90",
|
|
1481
|
+
"urls": [
|
|
1482
|
+
"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b",
|
|
1483
|
+
"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5"
|
|
1484
|
+
],
|
|
1485
|
+
"license": "MIT"
|
|
1486
|
+
},
|
|
1487
|
+
"node_modules/@prb/math/src/ud60x18/Conversions.sol": {
|
|
1488
|
+
"keccak256": "0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2",
|
|
1489
|
+
"urls": [
|
|
1490
|
+
"bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932",
|
|
1491
|
+
"dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY"
|
|
1492
|
+
],
|
|
1493
|
+
"license": "MIT"
|
|
1494
|
+
},
|
|
1495
|
+
"node_modules/@prb/math/src/ud60x18/Errors.sol": {
|
|
1496
|
+
"keccak256": "0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044",
|
|
1497
|
+
"urls": [
|
|
1498
|
+
"bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8",
|
|
1499
|
+
"dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6"
|
|
1500
|
+
],
|
|
1501
|
+
"license": "MIT"
|
|
1502
|
+
},
|
|
1503
|
+
"node_modules/@prb/math/src/ud60x18/Helpers.sol": {
|
|
1504
|
+
"keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268",
|
|
1505
|
+
"urls": [
|
|
1506
|
+
"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5",
|
|
1507
|
+
"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr"
|
|
1508
|
+
],
|
|
1509
|
+
"license": "MIT"
|
|
1510
|
+
},
|
|
1511
|
+
"node_modules/@prb/math/src/ud60x18/Math.sol": {
|
|
1512
|
+
"keccak256": "0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc",
|
|
1513
|
+
"urls": [
|
|
1514
|
+
"bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6",
|
|
1515
|
+
"dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr"
|
|
1516
|
+
],
|
|
1517
|
+
"license": "MIT"
|
|
1518
|
+
},
|
|
1519
|
+
"node_modules/@prb/math/src/ud60x18/ValueType.sol": {
|
|
1520
|
+
"keccak256": "0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3",
|
|
1521
|
+
"urls": [
|
|
1522
|
+
"bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47",
|
|
1523
|
+
"dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n"
|
|
1524
|
+
],
|
|
1525
|
+
"license": "MIT"
|
|
1526
|
+
},
|
|
1527
|
+
"node_modules/@sablier/evm-utils/src/Comptrollerable.sol": {
|
|
1528
|
+
"keccak256": "0xf48c3ba6a78b9f9f5735d72d07a10a8363d573c82251b5e53a0c7ce29ed1a921",
|
|
1529
|
+
"urls": [
|
|
1530
|
+
"bzz-raw://d62e6057b2202ee016aeec50b0ecd7e04324957237f1de53fb2a97c092b577cc",
|
|
1531
|
+
"dweb:/ipfs/QmaXSJam62Z7nkT8T1aN79fiAX2aQARHwufvXNRqFshFab"
|
|
1532
|
+
],
|
|
1533
|
+
"license": "GPL-3.0-or-later"
|
|
1534
|
+
},
|
|
1535
|
+
"node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol": {
|
|
1536
|
+
"keccak256": "0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26",
|
|
1537
|
+
"urls": [
|
|
1538
|
+
"bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126",
|
|
1539
|
+
"dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4"
|
|
1540
|
+
],
|
|
1541
|
+
"license": "GPL-3.0-or-later"
|
|
1542
|
+
},
|
|
1543
|
+
"node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol": {
|
|
1544
|
+
"keccak256": "0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522",
|
|
1545
|
+
"urls": [
|
|
1546
|
+
"bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b",
|
|
1547
|
+
"dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW"
|
|
1548
|
+
],
|
|
1549
|
+
"license": "GPL-3.0-or-later"
|
|
1550
|
+
},
|
|
1551
|
+
"node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol": {
|
|
1552
|
+
"keccak256": "0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825",
|
|
1553
|
+
"urls": [
|
|
1554
|
+
"bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4",
|
|
1555
|
+
"dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV"
|
|
1556
|
+
],
|
|
1557
|
+
"license": "GPL-3.0-or-later"
|
|
1558
|
+
},
|
|
1559
|
+
"node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol": {
|
|
1560
|
+
"keccak256": "0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba",
|
|
1561
|
+
"urls": [
|
|
1562
|
+
"bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c",
|
|
1563
|
+
"dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX"
|
|
1564
|
+
],
|
|
1565
|
+
"license": "GPL-3.0-or-later"
|
|
1566
|
+
},
|
|
1567
|
+
"node_modules/@sablier/evm-utils/src/libraries/Errors.sol": {
|
|
1568
|
+
"keccak256": "0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8",
|
|
1569
|
+
"urls": [
|
|
1570
|
+
"bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709",
|
|
1571
|
+
"dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp"
|
|
1572
|
+
],
|
|
1573
|
+
"license": "GPL-3.0-or-later"
|
|
1574
|
+
},
|
|
1575
|
+
"node_modules/@sablier/evm-utils/src/libraries/SafeOracle.sol": {
|
|
1576
|
+
"keccak256": "0x1c72d85e4731e46bf81504fad0f45f943527b8f03f4f9b54d4442ee124acd66d",
|
|
1577
|
+
"urls": [
|
|
1578
|
+
"bzz-raw://67caf33268b58f9e0c62131e24fb323a3b17b11dd2f7f5243e96fda0d75f017c",
|
|
1579
|
+
"dweb:/ipfs/QmeyuCM1RP1SF91QXhYcKFEHXdtYB5KLCLCmoa1fHJKjJw"
|
|
1580
|
+
],
|
|
1581
|
+
"license": "GPL-3.0-or-later"
|
|
1582
|
+
},
|
|
1583
|
+
"node_modules/@sablier/evm-utils/src/libraries/SafeTokenSymbol.sol": {
|
|
1584
|
+
"keccak256": "0xdef58d124694ad1b61f24790a2693f21ee13edf21ee978b0461eab90e0f274ba",
|
|
1585
|
+
"urls": [
|
|
1586
|
+
"bzz-raw://cd22ee4d798eab721640750e91a1960c8044879dcb838d32256f6faddfe8e71d",
|
|
1587
|
+
"dweb:/ipfs/QmX7fWdLVm9zajfpsUeDrTDdJCZSuAVwXAbv1rgfDw5btT"
|
|
1588
|
+
],
|
|
1589
|
+
"license": "GPL-3.0-or-later"
|
|
1590
|
+
},
|
|
1591
|
+
"src/BobVaultShare.sol": {
|
|
1592
|
+
"keccak256": "0x2b7da3845c067907963bbbc8053053ed03c21bd2354d1261982bb130d4cd9da4",
|
|
1593
|
+
"urls": [
|
|
1594
|
+
"bzz-raw://564315a1e60ca6f99746a8121b15cec5868aabfaa489a247d75b518836635ad8",
|
|
1595
|
+
"dweb:/ipfs/QmNmTGc8kgfY8wVZdSxUbHm4RRgonD6cBXKkBdKbN5hMQT"
|
|
1596
|
+
],
|
|
1597
|
+
"license": "GPL-3.0-or-later"
|
|
1598
|
+
},
|
|
1599
|
+
"src/SablierBob.sol": {
|
|
1600
|
+
"keccak256": "0xc3205a5f73000164460cd66edd4890e3bd716b8bbd826280b06af61757f1b22b",
|
|
1601
|
+
"urls": [
|
|
1602
|
+
"bzz-raw://657e87cc9fbdda4e1241fae53404cb4b3294bbb32d7c1f8c3c44e53213ee856f",
|
|
1603
|
+
"dweb:/ipfs/QmXpqw1u5wSGdz51ZXme88s5a8iMgiuto8Cbpeie8QMqmB"
|
|
1604
|
+
],
|
|
1605
|
+
"license": "GPL-3.0-or-later"
|
|
1606
|
+
},
|
|
1607
|
+
"src/abstracts/SablierBobState.sol": {
|
|
1608
|
+
"keccak256": "0x91cdd72d695a1117a873b9bee9d5cdd475c456208d1cb338f2622ce03324ae9e",
|
|
1609
|
+
"urls": [
|
|
1610
|
+
"bzz-raw://9028672fc234f405af19e2f23944e0795d08791dab6ccb3f87bda4d746c77f65",
|
|
1611
|
+
"dweb:/ipfs/QmWaPiaBc5FPJhrdB3oyQ7g4rV9mBtGkNsnrDqL4dhZwm5"
|
|
1612
|
+
],
|
|
1613
|
+
"license": "GPL-3.0-or-later"
|
|
1614
|
+
},
|
|
1615
|
+
"src/interfaces/IBobVaultShare.sol": {
|
|
1616
|
+
"keccak256": "0x7e91f71800b33ce26fa757b8d74d0e89aaf2de6ee50260a706c4c26029ae4c22",
|
|
1617
|
+
"urls": [
|
|
1618
|
+
"bzz-raw://18e85a71eef03972eb19a277ca025c645b18aa768c03a2b1e7d81de9eeabe731",
|
|
1619
|
+
"dweb:/ipfs/QmbjGtkps9KvG6XBysNLB9eBoY5E47ixkTDtN8cYYRzA6b"
|
|
1620
|
+
],
|
|
1621
|
+
"license": "GPL-3.0-or-later"
|
|
1622
|
+
},
|
|
1623
|
+
"src/interfaces/ISablierBob.sol": {
|
|
1624
|
+
"keccak256": "0x2c21ee1f24d0443a9daf745ef2f5ccfe339120f19484565d31a46a1af09e8edc",
|
|
1625
|
+
"urls": [
|
|
1626
|
+
"bzz-raw://1dce1fb1847e2c9fb562f9e5c8cb71d9a9d5a3b4a56ba9575ff0c7d5240b3af9",
|
|
1627
|
+
"dweb:/ipfs/QmZbFLtUYRV9TTw6PTsJmvhrD5BwautoUbLbj5WoVYiTPP"
|
|
1628
|
+
],
|
|
1629
|
+
"license": "GPL-3.0-or-later"
|
|
1630
|
+
},
|
|
1631
|
+
"src/interfaces/ISablierBobAdapter.sol": {
|
|
1632
|
+
"keccak256": "0xeb24411e0d4be288e600b9893bcf5bcfd3e38d7f2313bb68b323b2ba19d97921",
|
|
1633
|
+
"urls": [
|
|
1634
|
+
"bzz-raw://0308e63f7a7d9af68f7109bf500e186cd06760f708242c11e4dcdf5baa14638e",
|
|
1635
|
+
"dweb:/ipfs/Qmdn9ViABMqhTbRMY9yHMneqD8dMY8ysqjUMVbsGJ3GVPK"
|
|
1636
|
+
],
|
|
1637
|
+
"license": "GPL-3.0-or-later"
|
|
1638
|
+
},
|
|
1639
|
+
"src/interfaces/ISablierBobState.sol": {
|
|
1640
|
+
"keccak256": "0xc216153d326b2b02f62fe2a02edea29a194bf850d6c5d4d1d1c618cd68bfdd5c",
|
|
1641
|
+
"urls": [
|
|
1642
|
+
"bzz-raw://0e1c2c6b58098552b70febc6a4876c2b89fb894994049c840882c346d7e094ee",
|
|
1643
|
+
"dweb:/ipfs/QmWxBShVcnGCrjHfBhPH15cdLA7mtmN6QaSBSM7ZWae85Q"
|
|
1644
|
+
],
|
|
1645
|
+
"license": "GPL-3.0-or-later"
|
|
1646
|
+
},
|
|
1647
|
+
"src/interfaces/external/IWETH9.sol": {
|
|
1648
|
+
"keccak256": "0x1c3b4200172a52de8c9271172239a9cf41a197df289586480e2bfc6e14fe5bb3",
|
|
1649
|
+
"urls": [
|
|
1650
|
+
"bzz-raw://bf4c6da85bf6214d4281915625c208cef5afec832414c2c2d4473b9217112ef0",
|
|
1651
|
+
"dweb:/ipfs/QmTTdUP6dXAot7dXJy7Zsbew3yA6VRHNgKGwR2fSXLoxUq"
|
|
1652
|
+
],
|
|
1653
|
+
"license": "GPL-3.0-or-later"
|
|
1654
|
+
},
|
|
1655
|
+
"src/libraries/Errors.sol": {
|
|
1656
|
+
"keccak256": "0x6c053ba4f029f4835883cf2fecd2b8adb1371b8e9820f5a3fdf679fd864ac682",
|
|
1657
|
+
"urls": [
|
|
1658
|
+
"bzz-raw://e1d64e7f44f0e8dcb3c6842a1baa119c3dd4b1b14f29c07c4c93b4185f0a566e",
|
|
1659
|
+
"dweb:/ipfs/QmUjf9S6JduDhmpD8VriK8bMRYXD8m7XMRohhnE91mjDc9"
|
|
1660
|
+
],
|
|
1661
|
+
"license": "GPL-3.0-or-later"
|
|
1662
|
+
},
|
|
1663
|
+
"src/types/Bob.sol": {
|
|
1664
|
+
"keccak256": "0xf156bfc6b369fd9006e47e3a2531108e515878f60977987def9069b6148cbba3",
|
|
1665
|
+
"urls": [
|
|
1666
|
+
"bzz-raw://5e2d1205de5dc31ffc76045c05b5fc9ad927346ff3a6be9ee7ee9dcd6c28bb1a",
|
|
1667
|
+
"dweb:/ipfs/QmeuUm54PyaS2NZ728zy3Cqnsm5BZxaGAZdQrBY85Tejdx"
|
|
1668
|
+
],
|
|
1669
|
+
"license": "GPL-3.0-or-later"
|
|
1670
|
+
},
|
|
1671
|
+
"src/types/Escrow.sol": {
|
|
1672
|
+
"keccak256": "0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6",
|
|
1673
|
+
"urls": [
|
|
1674
|
+
"bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1",
|
|
1675
|
+
"dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU"
|
|
1676
|
+
],
|
|
1677
|
+
"license": "GPL-3.0-or-later"
|
|
1678
|
+
}
|
|
1679
|
+
},
|
|
1680
|
+
"version": 1
|
|
1681
|
+
},
|
|
1682
|
+
"id": 81
|
|
1683
|
+
}
|