@raac/rpc 2.0.0-beta.21 → 2.0.0-beta.23
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/dist/RPCLibrary.js +8 -3
- package/dist/artifacts/core/pools/StabilityPool/LiquidationSwap.sol/LiquidationSwap.json +472 -0
- package/dist/artifacts/core/psm/v2/PSMVaultV2.sol/PSMVaultV2.json +2373 -0
- package/dist/artifacts/core/psm/v3/PSMVaultV3.sol/PSMVaultV3.json +2373 -0
- package/dist/configs/chains/1.json +1 -0
- package/dist/configs/chains/11155111.json +17 -2
- package/dist/contracts/governance/gauge/getUserGaugeState.js +4 -5
- package/dist/contracts/psm/_helpers.js +32 -2
- package/dist/contracts/psm/getVaultInfo.js +4 -4
- package/dist/contracts/psm/getVaultSettings.js +15 -4
- package/dist/pools/stabilityPool/liquidation.js +211 -138
- package/dist/types/RPCLibrary.d.ts +9 -4
- package/dist/types/configs/chains/index.d.ts +2 -0
- package/dist/types/configs/index.d.ts +1 -0
- package/dist/types/contracts/governance/gauge/getUserGaugeState.d.ts +3 -4
- package/dist/types/contracts/psm/_helpers.d.ts +13 -0
- package/dist/types/contracts/psm/getVaultInfo.d.ts +3 -1
- package/dist/types/contracts/psm/getVaultSettings.d.ts +6 -0
- package/dist/types/pools/stabilityPool/liquidation.d.ts +166 -52
- package/dist/types/utils/artifacts.d.ts +119 -1
- package/dist/types/utils/contracts.d.ts +2 -0
- package/dist/utils/artifacts.js +12 -1
- package/package.json +2 -1
|
@@ -0,0 +1,2373 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh3-artifact-1",
|
|
3
|
+
"contractName": "PSMVaultV2",
|
|
4
|
+
"sourceName": "contracts/v2/PSMVaultV2.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"stateMutability": "nonpayable",
|
|
9
|
+
"type": "constructor"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [],
|
|
13
|
+
"name": "AccessControlBadConfirmation",
|
|
14
|
+
"type": "error"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"inputs": [
|
|
18
|
+
{
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "account",
|
|
21
|
+
"type": "address"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "bytes32",
|
|
25
|
+
"name": "neededRole",
|
|
26
|
+
"type": "bytes32"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"name": "AccessControlUnauthorizedAccount",
|
|
30
|
+
"type": "error"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"inputs": [],
|
|
34
|
+
"name": "DepositCapExceeded",
|
|
35
|
+
"type": "error"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"inputs": [],
|
|
39
|
+
"name": "DonationTooSmall",
|
|
40
|
+
"type": "error"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"inputs": [
|
|
44
|
+
{
|
|
45
|
+
"internalType": "address",
|
|
46
|
+
"name": "spender",
|
|
47
|
+
"type": "address"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"internalType": "uint256",
|
|
51
|
+
"name": "allowance",
|
|
52
|
+
"type": "uint256"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"internalType": "uint256",
|
|
56
|
+
"name": "needed",
|
|
57
|
+
"type": "uint256"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"name": "ERC20InsufficientAllowance",
|
|
61
|
+
"type": "error"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"inputs": [
|
|
65
|
+
{
|
|
66
|
+
"internalType": "address",
|
|
67
|
+
"name": "sender",
|
|
68
|
+
"type": "address"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"internalType": "uint256",
|
|
72
|
+
"name": "balance",
|
|
73
|
+
"type": "uint256"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"internalType": "uint256",
|
|
77
|
+
"name": "needed",
|
|
78
|
+
"type": "uint256"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"name": "ERC20InsufficientBalance",
|
|
82
|
+
"type": "error"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"inputs": [
|
|
86
|
+
{
|
|
87
|
+
"internalType": "address",
|
|
88
|
+
"name": "approver",
|
|
89
|
+
"type": "address"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"name": "ERC20InvalidApprover",
|
|
93
|
+
"type": "error"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"inputs": [
|
|
97
|
+
{
|
|
98
|
+
"internalType": "address",
|
|
99
|
+
"name": "receiver",
|
|
100
|
+
"type": "address"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"name": "ERC20InvalidReceiver",
|
|
104
|
+
"type": "error"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"inputs": [
|
|
108
|
+
{
|
|
109
|
+
"internalType": "address",
|
|
110
|
+
"name": "sender",
|
|
111
|
+
"type": "address"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"name": "ERC20InvalidSender",
|
|
115
|
+
"type": "error"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"inputs": [
|
|
119
|
+
{
|
|
120
|
+
"internalType": "address",
|
|
121
|
+
"name": "spender",
|
|
122
|
+
"type": "address"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"name": "ERC20InvalidSpender",
|
|
126
|
+
"type": "error"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"inputs": [],
|
|
130
|
+
"name": "EnforcedPause",
|
|
131
|
+
"type": "error"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"inputs": [],
|
|
135
|
+
"name": "ExitAlreadyPending",
|
|
136
|
+
"type": "error"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"name": "ExpectedPause",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [],
|
|
145
|
+
"name": "InsufficientBalance",
|
|
146
|
+
"type": "error"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"inputs": [],
|
|
150
|
+
"name": "InsufficientLockedShares",
|
|
151
|
+
"type": "error"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"inputs": [],
|
|
155
|
+
"name": "InsufficientReserves",
|
|
156
|
+
"type": "error"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"inputs": [],
|
|
160
|
+
"name": "InvalidDripDuration",
|
|
161
|
+
"type": "error"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"inputs": [],
|
|
165
|
+
"name": "InvalidFeeConfiguration",
|
|
166
|
+
"type": "error"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"inputs": [],
|
|
170
|
+
"name": "InvalidInitialization",
|
|
171
|
+
"type": "error"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"inputs": [],
|
|
175
|
+
"name": "InvalidTokenPair",
|
|
176
|
+
"type": "error"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"inputs": [],
|
|
180
|
+
"name": "MinSavingsOutViolated",
|
|
181
|
+
"type": "error"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"inputs": [],
|
|
185
|
+
"name": "ModuleAssetMismatch",
|
|
186
|
+
"type": "error"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"inputs": [],
|
|
190
|
+
"name": "ModuleSharesExceedsBalance",
|
|
191
|
+
"type": "error"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"inputs": [],
|
|
195
|
+
"name": "NavBelowFloor",
|
|
196
|
+
"type": "error"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"name": "NoExitRequest",
|
|
201
|
+
"type": "error"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"inputs": [],
|
|
205
|
+
"name": "NotInitializing",
|
|
206
|
+
"type": "error"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"inputs": [],
|
|
210
|
+
"name": "RateProviderMismatch",
|
|
211
|
+
"type": "error"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"inputs": [],
|
|
215
|
+
"name": "ReentrancyGuardReentrantCall",
|
|
216
|
+
"type": "error"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"inputs": [],
|
|
220
|
+
"name": "ReserveRatioBelowFloor",
|
|
221
|
+
"type": "error"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"inputs": [
|
|
225
|
+
{
|
|
226
|
+
"internalType": "address",
|
|
227
|
+
"name": "token",
|
|
228
|
+
"type": "address"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"name": "SafeERC20FailedOperation",
|
|
232
|
+
"type": "error"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"inputs": [],
|
|
236
|
+
"name": "SlippageExceeded",
|
|
237
|
+
"type": "error"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"inputs": [],
|
|
241
|
+
"name": "SwapExceedsAvailable",
|
|
242
|
+
"type": "error"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"inputs": [],
|
|
246
|
+
"name": "WithdrawDelayTooLong",
|
|
247
|
+
"type": "error"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"inputs": [],
|
|
251
|
+
"name": "WithdrawNotReady",
|
|
252
|
+
"type": "error"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"inputs": [],
|
|
256
|
+
"name": "WithdrawWindowExpired",
|
|
257
|
+
"type": "error"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"inputs": [],
|
|
261
|
+
"name": "ZeroAddress",
|
|
262
|
+
"type": "error"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"inputs": [],
|
|
266
|
+
"name": "ZeroAmount",
|
|
267
|
+
"type": "error"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"anonymous": false,
|
|
271
|
+
"inputs": [
|
|
272
|
+
{
|
|
273
|
+
"indexed": false,
|
|
274
|
+
"internalType": "uint256",
|
|
275
|
+
"name": "unlockedAmount",
|
|
276
|
+
"type": "uint256"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"indexed": false,
|
|
280
|
+
"internalType": "uint256",
|
|
281
|
+
"name": "newPendingRewards",
|
|
282
|
+
"type": "uint256"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"name": "Accrued",
|
|
286
|
+
"type": "event"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"anonymous": false,
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"indexed": true,
|
|
293
|
+
"internalType": "address",
|
|
294
|
+
"name": "owner",
|
|
295
|
+
"type": "address"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"indexed": true,
|
|
299
|
+
"internalType": "address",
|
|
300
|
+
"name": "spender",
|
|
301
|
+
"type": "address"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"indexed": false,
|
|
305
|
+
"internalType": "uint256",
|
|
306
|
+
"name": "value",
|
|
307
|
+
"type": "uint256"
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"name": "Approval",
|
|
311
|
+
"type": "event"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"anonymous": false,
|
|
315
|
+
"inputs": [
|
|
316
|
+
{
|
|
317
|
+
"indexed": false,
|
|
318
|
+
"internalType": "bool",
|
|
319
|
+
"name": "enabled",
|
|
320
|
+
"type": "bool"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"indexed": false,
|
|
324
|
+
"internalType": "uint256",
|
|
325
|
+
"name": "navFloor",
|
|
326
|
+
"type": "uint256"
|
|
327
|
+
}
|
|
328
|
+
],
|
|
329
|
+
"name": "CircuitBreakerUpdated",
|
|
330
|
+
"type": "event"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"anonymous": false,
|
|
334
|
+
"inputs": [
|
|
335
|
+
{
|
|
336
|
+
"indexed": false,
|
|
337
|
+
"internalType": "uint256",
|
|
338
|
+
"name": "moduleSharesRedeemed",
|
|
339
|
+
"type": "uint256"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"indexed": false,
|
|
343
|
+
"internalType": "uint256",
|
|
344
|
+
"name": "pmUSDSpent",
|
|
345
|
+
"type": "uint256"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"indexed": false,
|
|
349
|
+
"internalType": "uint256",
|
|
350
|
+
"name": "savingsGained",
|
|
351
|
+
"type": "uint256"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"name": "DeepRebalanced",
|
|
355
|
+
"type": "event"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"anonymous": false,
|
|
359
|
+
"inputs": [
|
|
360
|
+
{
|
|
361
|
+
"indexed": true,
|
|
362
|
+
"internalType": "address",
|
|
363
|
+
"name": "sender",
|
|
364
|
+
"type": "address"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"indexed": true,
|
|
368
|
+
"internalType": "address",
|
|
369
|
+
"name": "owner",
|
|
370
|
+
"type": "address"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"indexed": false,
|
|
374
|
+
"internalType": "uint256",
|
|
375
|
+
"name": "assets",
|
|
376
|
+
"type": "uint256"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"indexed": false,
|
|
380
|
+
"internalType": "uint256",
|
|
381
|
+
"name": "shares",
|
|
382
|
+
"type": "uint256"
|
|
383
|
+
}
|
|
384
|
+
],
|
|
385
|
+
"name": "Deposit",
|
|
386
|
+
"type": "event"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"anonymous": false,
|
|
390
|
+
"inputs": [
|
|
391
|
+
{
|
|
392
|
+
"indexed": false,
|
|
393
|
+
"internalType": "uint256",
|
|
394
|
+
"name": "newCap",
|
|
395
|
+
"type": "uint256"
|
|
396
|
+
}
|
|
397
|
+
],
|
|
398
|
+
"name": "DepositCapUpdated",
|
|
399
|
+
"type": "event"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"anonymous": false,
|
|
403
|
+
"inputs": [
|
|
404
|
+
{
|
|
405
|
+
"indexed": true,
|
|
406
|
+
"internalType": "address",
|
|
407
|
+
"name": "sender",
|
|
408
|
+
"type": "address"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"indexed": false,
|
|
412
|
+
"internalType": "uint256",
|
|
413
|
+
"name": "amount",
|
|
414
|
+
"type": "uint256"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"indexed": false,
|
|
418
|
+
"internalType": "uint256",
|
|
419
|
+
"name": "newDripRate",
|
|
420
|
+
"type": "uint256"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"indexed": false,
|
|
424
|
+
"internalType": "uint256",
|
|
425
|
+
"name": "newDripEnd",
|
|
426
|
+
"type": "uint256"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
"name": "Donated",
|
|
430
|
+
"type": "event"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"anonymous": false,
|
|
434
|
+
"inputs": [
|
|
435
|
+
{
|
|
436
|
+
"indexed": false,
|
|
437
|
+
"internalType": "uint256",
|
|
438
|
+
"name": "oldDuration",
|
|
439
|
+
"type": "uint256"
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"indexed": false,
|
|
443
|
+
"internalType": "uint256",
|
|
444
|
+
"name": "newDuration",
|
|
445
|
+
"type": "uint256"
|
|
446
|
+
}
|
|
447
|
+
],
|
|
448
|
+
"name": "DripDurationUpdated",
|
|
449
|
+
"type": "event"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"anonymous": false,
|
|
453
|
+
"inputs": [
|
|
454
|
+
{
|
|
455
|
+
"indexed": true,
|
|
456
|
+
"internalType": "address",
|
|
457
|
+
"name": "account",
|
|
458
|
+
"type": "address"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
"name": "ExitCancelled",
|
|
462
|
+
"type": "event"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"anonymous": false,
|
|
466
|
+
"inputs": [
|
|
467
|
+
{
|
|
468
|
+
"indexed": true,
|
|
469
|
+
"internalType": "address",
|
|
470
|
+
"name": "account",
|
|
471
|
+
"type": "address"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"indexed": false,
|
|
475
|
+
"internalType": "uint256",
|
|
476
|
+
"name": "shares",
|
|
477
|
+
"type": "uint256"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"indexed": false,
|
|
481
|
+
"internalType": "uint40",
|
|
482
|
+
"name": "exitTime",
|
|
483
|
+
"type": "uint40"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"name": "ExitRequested",
|
|
487
|
+
"type": "event"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"anonymous": false,
|
|
491
|
+
"inputs": [
|
|
492
|
+
{
|
|
493
|
+
"indexed": false,
|
|
494
|
+
"internalType": "uint256",
|
|
495
|
+
"name": "swapFee",
|
|
496
|
+
"type": "uint256"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"indexed": false,
|
|
500
|
+
"internalType": "uint256",
|
|
501
|
+
"name": "minWithdrawFee",
|
|
502
|
+
"type": "uint256"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"indexed": false,
|
|
506
|
+
"internalType": "uint256",
|
|
507
|
+
"name": "maxWithdrawFee",
|
|
508
|
+
"type": "uint256"
|
|
509
|
+
}
|
|
510
|
+
],
|
|
511
|
+
"name": "FeesUpdated",
|
|
512
|
+
"type": "event"
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"anonymous": false,
|
|
516
|
+
"inputs": [
|
|
517
|
+
{
|
|
518
|
+
"indexed": false,
|
|
519
|
+
"internalType": "uint64",
|
|
520
|
+
"name": "version",
|
|
521
|
+
"type": "uint64"
|
|
522
|
+
}
|
|
523
|
+
],
|
|
524
|
+
"name": "Initialized",
|
|
525
|
+
"type": "event"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"anonymous": false,
|
|
529
|
+
"inputs": [
|
|
530
|
+
{
|
|
531
|
+
"indexed": true,
|
|
532
|
+
"internalType": "address",
|
|
533
|
+
"name": "oldModule",
|
|
534
|
+
"type": "address"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"indexed": true,
|
|
538
|
+
"internalType": "address",
|
|
539
|
+
"name": "newModule",
|
|
540
|
+
"type": "address"
|
|
541
|
+
}
|
|
542
|
+
],
|
|
543
|
+
"name": "ModuleUpdated",
|
|
544
|
+
"type": "event"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"anonymous": false,
|
|
548
|
+
"inputs": [
|
|
549
|
+
{
|
|
550
|
+
"indexed": false,
|
|
551
|
+
"internalType": "address",
|
|
552
|
+
"name": "account",
|
|
553
|
+
"type": "address"
|
|
554
|
+
}
|
|
555
|
+
],
|
|
556
|
+
"name": "Paused",
|
|
557
|
+
"type": "event"
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"anonymous": false,
|
|
561
|
+
"inputs": [
|
|
562
|
+
{
|
|
563
|
+
"indexed": true,
|
|
564
|
+
"internalType": "address",
|
|
565
|
+
"name": "oldProvider",
|
|
566
|
+
"type": "address"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"indexed": true,
|
|
570
|
+
"internalType": "address",
|
|
571
|
+
"name": "newProvider",
|
|
572
|
+
"type": "address"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"name": "RateProviderUpdated",
|
|
576
|
+
"type": "event"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"anonymous": false,
|
|
580
|
+
"inputs": [
|
|
581
|
+
{
|
|
582
|
+
"indexed": false,
|
|
583
|
+
"internalType": "uint256",
|
|
584
|
+
"name": "newThreshold",
|
|
585
|
+
"type": "uint256"
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"name": "RebalanceThresholdUpdated",
|
|
589
|
+
"type": "event"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"anonymous": false,
|
|
593
|
+
"inputs": [
|
|
594
|
+
{
|
|
595
|
+
"indexed": true,
|
|
596
|
+
"internalType": "address",
|
|
597
|
+
"name": "oldRebalancer",
|
|
598
|
+
"type": "address"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"indexed": true,
|
|
602
|
+
"internalType": "address",
|
|
603
|
+
"name": "newRebalancer",
|
|
604
|
+
"type": "address"
|
|
605
|
+
}
|
|
606
|
+
],
|
|
607
|
+
"name": "RebalancerUpdated",
|
|
608
|
+
"type": "event"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"anonymous": false,
|
|
612
|
+
"inputs": [
|
|
613
|
+
{
|
|
614
|
+
"indexed": false,
|
|
615
|
+
"internalType": "uint256",
|
|
616
|
+
"name": "newFloor",
|
|
617
|
+
"type": "uint256"
|
|
618
|
+
}
|
|
619
|
+
],
|
|
620
|
+
"name": "ReserveRatioFloorUpdated",
|
|
621
|
+
"type": "event"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"anonymous": false,
|
|
625
|
+
"inputs": [
|
|
626
|
+
{
|
|
627
|
+
"indexed": true,
|
|
628
|
+
"internalType": "bytes32",
|
|
629
|
+
"name": "role",
|
|
630
|
+
"type": "bytes32"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"indexed": true,
|
|
634
|
+
"internalType": "bytes32",
|
|
635
|
+
"name": "previousAdminRole",
|
|
636
|
+
"type": "bytes32"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"indexed": true,
|
|
640
|
+
"internalType": "bytes32",
|
|
641
|
+
"name": "newAdminRole",
|
|
642
|
+
"type": "bytes32"
|
|
643
|
+
}
|
|
644
|
+
],
|
|
645
|
+
"name": "RoleAdminChanged",
|
|
646
|
+
"type": "event"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"anonymous": false,
|
|
650
|
+
"inputs": [
|
|
651
|
+
{
|
|
652
|
+
"indexed": true,
|
|
653
|
+
"internalType": "bytes32",
|
|
654
|
+
"name": "role",
|
|
655
|
+
"type": "bytes32"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"indexed": true,
|
|
659
|
+
"internalType": "address",
|
|
660
|
+
"name": "account",
|
|
661
|
+
"type": "address"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"indexed": true,
|
|
665
|
+
"internalType": "address",
|
|
666
|
+
"name": "sender",
|
|
667
|
+
"type": "address"
|
|
668
|
+
}
|
|
669
|
+
],
|
|
670
|
+
"name": "RoleGranted",
|
|
671
|
+
"type": "event"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"anonymous": false,
|
|
675
|
+
"inputs": [
|
|
676
|
+
{
|
|
677
|
+
"indexed": true,
|
|
678
|
+
"internalType": "bytes32",
|
|
679
|
+
"name": "role",
|
|
680
|
+
"type": "bytes32"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"indexed": true,
|
|
684
|
+
"internalType": "address",
|
|
685
|
+
"name": "account",
|
|
686
|
+
"type": "address"
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"indexed": true,
|
|
690
|
+
"internalType": "address",
|
|
691
|
+
"name": "sender",
|
|
692
|
+
"type": "address"
|
|
693
|
+
}
|
|
694
|
+
],
|
|
695
|
+
"name": "RoleRevoked",
|
|
696
|
+
"type": "event"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"anonymous": false,
|
|
700
|
+
"inputs": [
|
|
701
|
+
{
|
|
702
|
+
"indexed": true,
|
|
703
|
+
"internalType": "address",
|
|
704
|
+
"name": "buyer",
|
|
705
|
+
"type": "address"
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"indexed": false,
|
|
709
|
+
"internalType": "int128",
|
|
710
|
+
"name": "sold_id",
|
|
711
|
+
"type": "int128"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"indexed": false,
|
|
715
|
+
"internalType": "uint256",
|
|
716
|
+
"name": "tokens_sold",
|
|
717
|
+
"type": "uint256"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"indexed": false,
|
|
721
|
+
"internalType": "int128",
|
|
722
|
+
"name": "bought_id",
|
|
723
|
+
"type": "int128"
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"indexed": false,
|
|
727
|
+
"internalType": "uint256",
|
|
728
|
+
"name": "tokens_bought",
|
|
729
|
+
"type": "uint256"
|
|
730
|
+
}
|
|
731
|
+
],
|
|
732
|
+
"name": "TokenExchange",
|
|
733
|
+
"type": "event"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"anonymous": false,
|
|
737
|
+
"inputs": [
|
|
738
|
+
{
|
|
739
|
+
"indexed": true,
|
|
740
|
+
"internalType": "address",
|
|
741
|
+
"name": "from",
|
|
742
|
+
"type": "address"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"indexed": true,
|
|
746
|
+
"internalType": "address",
|
|
747
|
+
"name": "to",
|
|
748
|
+
"type": "address"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"indexed": false,
|
|
752
|
+
"internalType": "uint256",
|
|
753
|
+
"name": "value",
|
|
754
|
+
"type": "uint256"
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"name": "Transfer",
|
|
758
|
+
"type": "event"
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"anonymous": false,
|
|
762
|
+
"inputs": [
|
|
763
|
+
{
|
|
764
|
+
"indexed": false,
|
|
765
|
+
"internalType": "address",
|
|
766
|
+
"name": "account",
|
|
767
|
+
"type": "address"
|
|
768
|
+
}
|
|
769
|
+
],
|
|
770
|
+
"name": "Unpaused",
|
|
771
|
+
"type": "event"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"anonymous": false,
|
|
775
|
+
"inputs": [
|
|
776
|
+
{
|
|
777
|
+
"indexed": true,
|
|
778
|
+
"internalType": "address",
|
|
779
|
+
"name": "sender",
|
|
780
|
+
"type": "address"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"indexed": true,
|
|
784
|
+
"internalType": "address",
|
|
785
|
+
"name": "receiver",
|
|
786
|
+
"type": "address"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"indexed": true,
|
|
790
|
+
"internalType": "address",
|
|
791
|
+
"name": "owner",
|
|
792
|
+
"type": "address"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"indexed": false,
|
|
796
|
+
"internalType": "uint256",
|
|
797
|
+
"name": "assets",
|
|
798
|
+
"type": "uint256"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"indexed": false,
|
|
802
|
+
"internalType": "uint256",
|
|
803
|
+
"name": "shares",
|
|
804
|
+
"type": "uint256"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"name": "Withdraw",
|
|
808
|
+
"type": "event"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"anonymous": false,
|
|
812
|
+
"inputs": [
|
|
813
|
+
{
|
|
814
|
+
"indexed": false,
|
|
815
|
+
"internalType": "uint256",
|
|
816
|
+
"name": "withdrawTime",
|
|
817
|
+
"type": "uint256"
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"indexed": false,
|
|
821
|
+
"internalType": "uint256",
|
|
822
|
+
"name": "withdrawTimeLimit",
|
|
823
|
+
"type": "uint256"
|
|
824
|
+
}
|
|
825
|
+
],
|
|
826
|
+
"name": "WithdrawTimersUpdated",
|
|
827
|
+
"type": "event"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"inputs": [],
|
|
831
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
832
|
+
"outputs": [
|
|
833
|
+
{
|
|
834
|
+
"internalType": "bytes32",
|
|
835
|
+
"name": "",
|
|
836
|
+
"type": "bytes32"
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
"stateMutability": "view",
|
|
840
|
+
"type": "function"
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"inputs": [],
|
|
844
|
+
"name": "DONOR_ROLE",
|
|
845
|
+
"outputs": [
|
|
846
|
+
{
|
|
847
|
+
"internalType": "bytes32",
|
|
848
|
+
"name": "",
|
|
849
|
+
"type": "bytes32"
|
|
850
|
+
}
|
|
851
|
+
],
|
|
852
|
+
"stateMutability": "view",
|
|
853
|
+
"type": "function"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"inputs": [],
|
|
857
|
+
"name": "DRIP_DURATION",
|
|
858
|
+
"outputs": [
|
|
859
|
+
{
|
|
860
|
+
"internalType": "uint256",
|
|
861
|
+
"name": "",
|
|
862
|
+
"type": "uint256"
|
|
863
|
+
}
|
|
864
|
+
],
|
|
865
|
+
"stateMutability": "view",
|
|
866
|
+
"type": "function"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"inputs": [],
|
|
870
|
+
"name": "GOVERNANCE_ROLE",
|
|
871
|
+
"outputs": [
|
|
872
|
+
{
|
|
873
|
+
"internalType": "bytes32",
|
|
874
|
+
"name": "",
|
|
875
|
+
"type": "bytes32"
|
|
876
|
+
}
|
|
877
|
+
],
|
|
878
|
+
"stateMutability": "view",
|
|
879
|
+
"type": "function"
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"inputs": [],
|
|
883
|
+
"name": "GUARDIAN_ROLE",
|
|
884
|
+
"outputs": [
|
|
885
|
+
{
|
|
886
|
+
"internalType": "bytes32",
|
|
887
|
+
"name": "",
|
|
888
|
+
"type": "bytes32"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"stateMutability": "view",
|
|
892
|
+
"type": "function"
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"inputs": [],
|
|
896
|
+
"name": "MAX_BPS",
|
|
897
|
+
"outputs": [
|
|
898
|
+
{
|
|
899
|
+
"internalType": "uint256",
|
|
900
|
+
"name": "",
|
|
901
|
+
"type": "uint256"
|
|
902
|
+
}
|
|
903
|
+
],
|
|
904
|
+
"stateMutability": "view",
|
|
905
|
+
"type": "function"
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"inputs": [],
|
|
909
|
+
"name": "MAX_SWAP_FEE",
|
|
910
|
+
"outputs": [
|
|
911
|
+
{
|
|
912
|
+
"internalType": "uint256",
|
|
913
|
+
"name": "",
|
|
914
|
+
"type": "uint256"
|
|
915
|
+
}
|
|
916
|
+
],
|
|
917
|
+
"stateMutability": "view",
|
|
918
|
+
"type": "function"
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"inputs": [],
|
|
922
|
+
"name": "MAX_WITHDRAW_DELAY",
|
|
923
|
+
"outputs": [
|
|
924
|
+
{
|
|
925
|
+
"internalType": "uint256",
|
|
926
|
+
"name": "",
|
|
927
|
+
"type": "uint256"
|
|
928
|
+
}
|
|
929
|
+
],
|
|
930
|
+
"stateMutability": "view",
|
|
931
|
+
"type": "function"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"inputs": [],
|
|
935
|
+
"name": "MAX_WITHDRAW_FEE_CAP",
|
|
936
|
+
"outputs": [
|
|
937
|
+
{
|
|
938
|
+
"internalType": "uint256",
|
|
939
|
+
"name": "",
|
|
940
|
+
"type": "uint256"
|
|
941
|
+
}
|
|
942
|
+
],
|
|
943
|
+
"stateMutability": "view",
|
|
944
|
+
"type": "function"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"inputs": [],
|
|
948
|
+
"name": "MIN_DONATION",
|
|
949
|
+
"outputs": [
|
|
950
|
+
{
|
|
951
|
+
"internalType": "uint256",
|
|
952
|
+
"name": "",
|
|
953
|
+
"type": "uint256"
|
|
954
|
+
}
|
|
955
|
+
],
|
|
956
|
+
"stateMutability": "view",
|
|
957
|
+
"type": "function"
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"inputs": [],
|
|
961
|
+
"name": "MIN_DRIP_DURATION",
|
|
962
|
+
"outputs": [
|
|
963
|
+
{
|
|
964
|
+
"internalType": "uint256",
|
|
965
|
+
"name": "",
|
|
966
|
+
"type": "uint256"
|
|
967
|
+
}
|
|
968
|
+
],
|
|
969
|
+
"stateMutability": "view",
|
|
970
|
+
"type": "function"
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
"inputs": [],
|
|
974
|
+
"name": "MIN_SWAP_FEE",
|
|
975
|
+
"outputs": [
|
|
976
|
+
{
|
|
977
|
+
"internalType": "uint256",
|
|
978
|
+
"name": "",
|
|
979
|
+
"type": "uint256"
|
|
980
|
+
}
|
|
981
|
+
],
|
|
982
|
+
"stateMutability": "view",
|
|
983
|
+
"type": "function"
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"inputs": [],
|
|
987
|
+
"name": "OPERATOR_ROLE",
|
|
988
|
+
"outputs": [
|
|
989
|
+
{
|
|
990
|
+
"internalType": "bytes32",
|
|
991
|
+
"name": "",
|
|
992
|
+
"type": "bytes32"
|
|
993
|
+
}
|
|
994
|
+
],
|
|
995
|
+
"stateMutability": "view",
|
|
996
|
+
"type": "function"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"inputs": [],
|
|
1000
|
+
"name": "VERSION",
|
|
1001
|
+
"outputs": [
|
|
1002
|
+
{
|
|
1003
|
+
"internalType": "string",
|
|
1004
|
+
"name": "",
|
|
1005
|
+
"type": "string"
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
"stateMutability": "view",
|
|
1009
|
+
"type": "function"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"inputs": [],
|
|
1013
|
+
"name": "VIRTUAL_ASSETS",
|
|
1014
|
+
"outputs": [
|
|
1015
|
+
{
|
|
1016
|
+
"internalType": "uint256",
|
|
1017
|
+
"name": "",
|
|
1018
|
+
"type": "uint256"
|
|
1019
|
+
}
|
|
1020
|
+
],
|
|
1021
|
+
"stateMutability": "view",
|
|
1022
|
+
"type": "function"
|
|
1023
|
+
},
|
|
1024
|
+
{
|
|
1025
|
+
"inputs": [],
|
|
1026
|
+
"name": "VIRTUAL_SHARES",
|
|
1027
|
+
"outputs": [
|
|
1028
|
+
{
|
|
1029
|
+
"internalType": "uint256",
|
|
1030
|
+
"name": "",
|
|
1031
|
+
"type": "uint256"
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
"stateMutability": "view",
|
|
1035
|
+
"type": "function"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"inputs": [],
|
|
1039
|
+
"name": "accrue",
|
|
1040
|
+
"outputs": [],
|
|
1041
|
+
"stateMutability": "nonpayable",
|
|
1042
|
+
"type": "function"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"inputs": [
|
|
1046
|
+
{
|
|
1047
|
+
"internalType": "address",
|
|
1048
|
+
"name": "owner",
|
|
1049
|
+
"type": "address"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"internalType": "address",
|
|
1053
|
+
"name": "spender",
|
|
1054
|
+
"type": "address"
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
"name": "allowance",
|
|
1058
|
+
"outputs": [
|
|
1059
|
+
{
|
|
1060
|
+
"internalType": "uint256",
|
|
1061
|
+
"name": "",
|
|
1062
|
+
"type": "uint256"
|
|
1063
|
+
}
|
|
1064
|
+
],
|
|
1065
|
+
"stateMutability": "view",
|
|
1066
|
+
"type": "function"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"inputs": [
|
|
1070
|
+
{
|
|
1071
|
+
"internalType": "address",
|
|
1072
|
+
"name": "spender",
|
|
1073
|
+
"type": "address"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"internalType": "uint256",
|
|
1077
|
+
"name": "value",
|
|
1078
|
+
"type": "uint256"
|
|
1079
|
+
}
|
|
1080
|
+
],
|
|
1081
|
+
"name": "approve",
|
|
1082
|
+
"outputs": [
|
|
1083
|
+
{
|
|
1084
|
+
"internalType": "bool",
|
|
1085
|
+
"name": "",
|
|
1086
|
+
"type": "bool"
|
|
1087
|
+
}
|
|
1088
|
+
],
|
|
1089
|
+
"stateMutability": "nonpayable",
|
|
1090
|
+
"type": "function"
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"inputs": [],
|
|
1094
|
+
"name": "asset",
|
|
1095
|
+
"outputs": [
|
|
1096
|
+
{
|
|
1097
|
+
"internalType": "address",
|
|
1098
|
+
"name": "",
|
|
1099
|
+
"type": "address"
|
|
1100
|
+
}
|
|
1101
|
+
],
|
|
1102
|
+
"stateMutability": "view",
|
|
1103
|
+
"type": "function"
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"inputs": [
|
|
1107
|
+
{
|
|
1108
|
+
"internalType": "address",
|
|
1109
|
+
"name": "account",
|
|
1110
|
+
"type": "address"
|
|
1111
|
+
}
|
|
1112
|
+
],
|
|
1113
|
+
"name": "balanceOf",
|
|
1114
|
+
"outputs": [
|
|
1115
|
+
{
|
|
1116
|
+
"internalType": "uint256",
|
|
1117
|
+
"name": "",
|
|
1118
|
+
"type": "uint256"
|
|
1119
|
+
}
|
|
1120
|
+
],
|
|
1121
|
+
"stateMutability": "view",
|
|
1122
|
+
"type": "function"
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"inputs": [],
|
|
1126
|
+
"name": "baseAsset",
|
|
1127
|
+
"outputs": [
|
|
1128
|
+
{
|
|
1129
|
+
"internalType": "contract IERC20",
|
|
1130
|
+
"name": "",
|
|
1131
|
+
"type": "address"
|
|
1132
|
+
}
|
|
1133
|
+
],
|
|
1134
|
+
"stateMutability": "view",
|
|
1135
|
+
"type": "function"
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"inputs": [],
|
|
1139
|
+
"name": "baseAssetModule",
|
|
1140
|
+
"outputs": [
|
|
1141
|
+
{
|
|
1142
|
+
"internalType": "contract IERC4626",
|
|
1143
|
+
"name": "",
|
|
1144
|
+
"type": "address"
|
|
1145
|
+
}
|
|
1146
|
+
],
|
|
1147
|
+
"stateMutability": "view",
|
|
1148
|
+
"type": "function"
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"inputs": [],
|
|
1152
|
+
"name": "cancelExit",
|
|
1153
|
+
"outputs": [],
|
|
1154
|
+
"stateMutability": "nonpayable",
|
|
1155
|
+
"type": "function"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"inputs": [],
|
|
1159
|
+
"name": "circuitBreakerEnabled",
|
|
1160
|
+
"outputs": [
|
|
1161
|
+
{
|
|
1162
|
+
"internalType": "bool",
|
|
1163
|
+
"name": "",
|
|
1164
|
+
"type": "bool"
|
|
1165
|
+
}
|
|
1166
|
+
],
|
|
1167
|
+
"stateMutability": "view",
|
|
1168
|
+
"type": "function"
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
"inputs": [],
|
|
1172
|
+
"name": "computeWithdrawFee",
|
|
1173
|
+
"outputs": [
|
|
1174
|
+
{
|
|
1175
|
+
"internalType": "uint256",
|
|
1176
|
+
"name": "",
|
|
1177
|
+
"type": "uint256"
|
|
1178
|
+
}
|
|
1179
|
+
],
|
|
1180
|
+
"stateMutability": "view",
|
|
1181
|
+
"type": "function"
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"inputs": [
|
|
1185
|
+
{
|
|
1186
|
+
"internalType": "uint256",
|
|
1187
|
+
"name": "shares",
|
|
1188
|
+
"type": "uint256"
|
|
1189
|
+
}
|
|
1190
|
+
],
|
|
1191
|
+
"name": "convertToAssets",
|
|
1192
|
+
"outputs": [
|
|
1193
|
+
{
|
|
1194
|
+
"internalType": "uint256",
|
|
1195
|
+
"name": "",
|
|
1196
|
+
"type": "uint256"
|
|
1197
|
+
}
|
|
1198
|
+
],
|
|
1199
|
+
"stateMutability": "view",
|
|
1200
|
+
"type": "function"
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"inputs": [
|
|
1204
|
+
{
|
|
1205
|
+
"internalType": "uint256",
|
|
1206
|
+
"name": "assets",
|
|
1207
|
+
"type": "uint256"
|
|
1208
|
+
}
|
|
1209
|
+
],
|
|
1210
|
+
"name": "convertToShares",
|
|
1211
|
+
"outputs": [
|
|
1212
|
+
{
|
|
1213
|
+
"internalType": "uint256",
|
|
1214
|
+
"name": "",
|
|
1215
|
+
"type": "uint256"
|
|
1216
|
+
}
|
|
1217
|
+
],
|
|
1218
|
+
"stateMutability": "view",
|
|
1219
|
+
"type": "function"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"inputs": [],
|
|
1223
|
+
"name": "decimals",
|
|
1224
|
+
"outputs": [
|
|
1225
|
+
{
|
|
1226
|
+
"internalType": "uint8",
|
|
1227
|
+
"name": "",
|
|
1228
|
+
"type": "uint8"
|
|
1229
|
+
}
|
|
1230
|
+
],
|
|
1231
|
+
"stateMutability": "view",
|
|
1232
|
+
"type": "function"
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"inputs": [
|
|
1236
|
+
{
|
|
1237
|
+
"internalType": "uint256",
|
|
1238
|
+
"name": "moduleSharesAmount",
|
|
1239
|
+
"type": "uint256"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"internalType": "uint256",
|
|
1243
|
+
"name": "swapAmount",
|
|
1244
|
+
"type": "uint256"
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"internalType": "uint256",
|
|
1248
|
+
"name": "minSavingsOut",
|
|
1249
|
+
"type": "uint256"
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
"internalType": "bytes",
|
|
1253
|
+
"name": "swapData",
|
|
1254
|
+
"type": "bytes"
|
|
1255
|
+
}
|
|
1256
|
+
],
|
|
1257
|
+
"name": "deepRebalance",
|
|
1258
|
+
"outputs": [],
|
|
1259
|
+
"stateMutability": "nonpayable",
|
|
1260
|
+
"type": "function"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"inputs": [
|
|
1264
|
+
{
|
|
1265
|
+
"internalType": "uint256",
|
|
1266
|
+
"name": "savingsAmount",
|
|
1267
|
+
"type": "uint256"
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
"internalType": "uint256",
|
|
1271
|
+
"name": "minSharesOut",
|
|
1272
|
+
"type": "uint256"
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
"internalType": "address",
|
|
1276
|
+
"name": "receiver",
|
|
1277
|
+
"type": "address"
|
|
1278
|
+
}
|
|
1279
|
+
],
|
|
1280
|
+
"name": "deposit",
|
|
1281
|
+
"outputs": [
|
|
1282
|
+
{
|
|
1283
|
+
"internalType": "uint256",
|
|
1284
|
+
"name": "sharesOut",
|
|
1285
|
+
"type": "uint256"
|
|
1286
|
+
}
|
|
1287
|
+
],
|
|
1288
|
+
"stateMutability": "nonpayable",
|
|
1289
|
+
"type": "function"
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
"inputs": [],
|
|
1293
|
+
"name": "depositCap",
|
|
1294
|
+
"outputs": [
|
|
1295
|
+
{
|
|
1296
|
+
"internalType": "uint256",
|
|
1297
|
+
"name": "",
|
|
1298
|
+
"type": "uint256"
|
|
1299
|
+
}
|
|
1300
|
+
],
|
|
1301
|
+
"stateMutability": "view",
|
|
1302
|
+
"type": "function"
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
"inputs": [
|
|
1306
|
+
{
|
|
1307
|
+
"internalType": "uint256",
|
|
1308
|
+
"name": "amount",
|
|
1309
|
+
"type": "uint256"
|
|
1310
|
+
}
|
|
1311
|
+
],
|
|
1312
|
+
"name": "donate",
|
|
1313
|
+
"outputs": [],
|
|
1314
|
+
"stateMutability": "nonpayable",
|
|
1315
|
+
"type": "function"
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"inputs": [],
|
|
1319
|
+
"name": "dripEnd",
|
|
1320
|
+
"outputs": [
|
|
1321
|
+
{
|
|
1322
|
+
"internalType": "uint256",
|
|
1323
|
+
"name": "",
|
|
1324
|
+
"type": "uint256"
|
|
1325
|
+
}
|
|
1326
|
+
],
|
|
1327
|
+
"stateMutability": "view",
|
|
1328
|
+
"type": "function"
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"inputs": [],
|
|
1332
|
+
"name": "dripRate",
|
|
1333
|
+
"outputs": [
|
|
1334
|
+
{
|
|
1335
|
+
"internalType": "uint256",
|
|
1336
|
+
"name": "",
|
|
1337
|
+
"type": "uint256"
|
|
1338
|
+
}
|
|
1339
|
+
],
|
|
1340
|
+
"stateMutability": "view",
|
|
1341
|
+
"type": "function"
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
"inputs": [
|
|
1345
|
+
{
|
|
1346
|
+
"internalType": "bytes32",
|
|
1347
|
+
"name": "role",
|
|
1348
|
+
"type": "bytes32"
|
|
1349
|
+
}
|
|
1350
|
+
],
|
|
1351
|
+
"name": "getRoleAdmin",
|
|
1352
|
+
"outputs": [
|
|
1353
|
+
{
|
|
1354
|
+
"internalType": "bytes32",
|
|
1355
|
+
"name": "",
|
|
1356
|
+
"type": "bytes32"
|
|
1357
|
+
}
|
|
1358
|
+
],
|
|
1359
|
+
"stateMutability": "view",
|
|
1360
|
+
"type": "function"
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"inputs": [
|
|
1364
|
+
{
|
|
1365
|
+
"internalType": "bytes32",
|
|
1366
|
+
"name": "role",
|
|
1367
|
+
"type": "bytes32"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"internalType": "address",
|
|
1371
|
+
"name": "account",
|
|
1372
|
+
"type": "address"
|
|
1373
|
+
}
|
|
1374
|
+
],
|
|
1375
|
+
"name": "grantRole",
|
|
1376
|
+
"outputs": [],
|
|
1377
|
+
"stateMutability": "nonpayable",
|
|
1378
|
+
"type": "function"
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"inputs": [
|
|
1382
|
+
{
|
|
1383
|
+
"internalType": "bytes32",
|
|
1384
|
+
"name": "role",
|
|
1385
|
+
"type": "bytes32"
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"internalType": "address",
|
|
1389
|
+
"name": "account",
|
|
1390
|
+
"type": "address"
|
|
1391
|
+
}
|
|
1392
|
+
],
|
|
1393
|
+
"name": "hasRole",
|
|
1394
|
+
"outputs": [
|
|
1395
|
+
{
|
|
1396
|
+
"internalType": "bool",
|
|
1397
|
+
"name": "",
|
|
1398
|
+
"type": "bool"
|
|
1399
|
+
}
|
|
1400
|
+
],
|
|
1401
|
+
"stateMutability": "view",
|
|
1402
|
+
"type": "function"
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"inputs": [
|
|
1406
|
+
{
|
|
1407
|
+
"components": [
|
|
1408
|
+
{
|
|
1409
|
+
"internalType": "address",
|
|
1410
|
+
"name": "baseAsset",
|
|
1411
|
+
"type": "address"
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"internalType": "address",
|
|
1415
|
+
"name": "savingsToken",
|
|
1416
|
+
"type": "address"
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"internalType": "address",
|
|
1420
|
+
"name": "rateProvider",
|
|
1421
|
+
"type": "address"
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"internalType": "uint256",
|
|
1425
|
+
"name": "dripDuration",
|
|
1426
|
+
"type": "uint256"
|
|
1427
|
+
},
|
|
1428
|
+
{
|
|
1429
|
+
"internalType": "uint256",
|
|
1430
|
+
"name": "swapFee",
|
|
1431
|
+
"type": "uint256"
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"internalType": "uint256",
|
|
1435
|
+
"name": "minWithdrawFee",
|
|
1436
|
+
"type": "uint256"
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"internalType": "uint256",
|
|
1440
|
+
"name": "maxWithdrawFee",
|
|
1441
|
+
"type": "uint256"
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
"internalType": "uint256",
|
|
1445
|
+
"name": "withdrawTime",
|
|
1446
|
+
"type": "uint256"
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"internalType": "uint256",
|
|
1450
|
+
"name": "withdrawTimeLimit",
|
|
1451
|
+
"type": "uint256"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"internalType": "address",
|
|
1455
|
+
"name": "admin",
|
|
1456
|
+
"type": "address"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"internalType": "address",
|
|
1460
|
+
"name": "governance",
|
|
1461
|
+
"type": "address"
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"internalType": "string",
|
|
1465
|
+
"name": "shareName",
|
|
1466
|
+
"type": "string"
|
|
1467
|
+
},
|
|
1468
|
+
{
|
|
1469
|
+
"internalType": "string",
|
|
1470
|
+
"name": "shareSymbol",
|
|
1471
|
+
"type": "string"
|
|
1472
|
+
}
|
|
1473
|
+
],
|
|
1474
|
+
"internalType": "struct PSMVaultV2.InitParams",
|
|
1475
|
+
"name": "p",
|
|
1476
|
+
"type": "tuple"
|
|
1477
|
+
}
|
|
1478
|
+
],
|
|
1479
|
+
"name": "initialize",
|
|
1480
|
+
"outputs": [],
|
|
1481
|
+
"stateMutability": "nonpayable",
|
|
1482
|
+
"type": "function"
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"inputs": [],
|
|
1486
|
+
"name": "lastAccrual",
|
|
1487
|
+
"outputs": [
|
|
1488
|
+
{
|
|
1489
|
+
"internalType": "uint256",
|
|
1490
|
+
"name": "",
|
|
1491
|
+
"type": "uint256"
|
|
1492
|
+
}
|
|
1493
|
+
],
|
|
1494
|
+
"stateMutability": "view",
|
|
1495
|
+
"type": "function"
|
|
1496
|
+
},
|
|
1497
|
+
{
|
|
1498
|
+
"inputs": [
|
|
1499
|
+
{
|
|
1500
|
+
"internalType": "address",
|
|
1501
|
+
"name": "",
|
|
1502
|
+
"type": "address"
|
|
1503
|
+
}
|
|
1504
|
+
],
|
|
1505
|
+
"name": "maxDeposit",
|
|
1506
|
+
"outputs": [
|
|
1507
|
+
{
|
|
1508
|
+
"internalType": "uint256",
|
|
1509
|
+
"name": "",
|
|
1510
|
+
"type": "uint256"
|
|
1511
|
+
}
|
|
1512
|
+
],
|
|
1513
|
+
"stateMutability": "view",
|
|
1514
|
+
"type": "function"
|
|
1515
|
+
},
|
|
1516
|
+
{
|
|
1517
|
+
"inputs": [
|
|
1518
|
+
{
|
|
1519
|
+
"internalType": "address",
|
|
1520
|
+
"name": "owner",
|
|
1521
|
+
"type": "address"
|
|
1522
|
+
}
|
|
1523
|
+
],
|
|
1524
|
+
"name": "maxRedeem",
|
|
1525
|
+
"outputs": [
|
|
1526
|
+
{
|
|
1527
|
+
"internalType": "uint256",
|
|
1528
|
+
"name": "",
|
|
1529
|
+
"type": "uint256"
|
|
1530
|
+
}
|
|
1531
|
+
],
|
|
1532
|
+
"stateMutability": "view",
|
|
1533
|
+
"type": "function"
|
|
1534
|
+
},
|
|
1535
|
+
{
|
|
1536
|
+
"inputs": [
|
|
1537
|
+
{
|
|
1538
|
+
"internalType": "address",
|
|
1539
|
+
"name": "owner",
|
|
1540
|
+
"type": "address"
|
|
1541
|
+
}
|
|
1542
|
+
],
|
|
1543
|
+
"name": "maxWithdraw",
|
|
1544
|
+
"outputs": [
|
|
1545
|
+
{
|
|
1546
|
+
"internalType": "uint256",
|
|
1547
|
+
"name": "",
|
|
1548
|
+
"type": "uint256"
|
|
1549
|
+
}
|
|
1550
|
+
],
|
|
1551
|
+
"stateMutability": "view",
|
|
1552
|
+
"type": "function"
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
"inputs": [],
|
|
1556
|
+
"name": "maxWithdrawFee",
|
|
1557
|
+
"outputs": [
|
|
1558
|
+
{
|
|
1559
|
+
"internalType": "uint256",
|
|
1560
|
+
"name": "",
|
|
1561
|
+
"type": "uint256"
|
|
1562
|
+
}
|
|
1563
|
+
],
|
|
1564
|
+
"stateMutability": "view",
|
|
1565
|
+
"type": "function"
|
|
1566
|
+
},
|
|
1567
|
+
{
|
|
1568
|
+
"inputs": [],
|
|
1569
|
+
"name": "minWithdrawFee",
|
|
1570
|
+
"outputs": [
|
|
1571
|
+
{
|
|
1572
|
+
"internalType": "uint256",
|
|
1573
|
+
"name": "",
|
|
1574
|
+
"type": "uint256"
|
|
1575
|
+
}
|
|
1576
|
+
],
|
|
1577
|
+
"stateMutability": "view",
|
|
1578
|
+
"type": "function"
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
"inputs": [],
|
|
1582
|
+
"name": "name",
|
|
1583
|
+
"outputs": [
|
|
1584
|
+
{
|
|
1585
|
+
"internalType": "string",
|
|
1586
|
+
"name": "",
|
|
1587
|
+
"type": "string"
|
|
1588
|
+
}
|
|
1589
|
+
],
|
|
1590
|
+
"stateMutability": "view",
|
|
1591
|
+
"type": "function"
|
|
1592
|
+
},
|
|
1593
|
+
{
|
|
1594
|
+
"inputs": [],
|
|
1595
|
+
"name": "navFloor",
|
|
1596
|
+
"outputs": [
|
|
1597
|
+
{
|
|
1598
|
+
"internalType": "uint256",
|
|
1599
|
+
"name": "",
|
|
1600
|
+
"type": "uint256"
|
|
1601
|
+
}
|
|
1602
|
+
],
|
|
1603
|
+
"stateMutability": "view",
|
|
1604
|
+
"type": "function"
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
"inputs": [],
|
|
1608
|
+
"name": "pause",
|
|
1609
|
+
"outputs": [],
|
|
1610
|
+
"stateMutability": "nonpayable",
|
|
1611
|
+
"type": "function"
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"inputs": [],
|
|
1615
|
+
"name": "paused",
|
|
1616
|
+
"outputs": [
|
|
1617
|
+
{
|
|
1618
|
+
"internalType": "bool",
|
|
1619
|
+
"name": "",
|
|
1620
|
+
"type": "bool"
|
|
1621
|
+
}
|
|
1622
|
+
],
|
|
1623
|
+
"stateMutability": "view",
|
|
1624
|
+
"type": "function"
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"inputs": [],
|
|
1628
|
+
"name": "pendingRewards",
|
|
1629
|
+
"outputs": [
|
|
1630
|
+
{
|
|
1631
|
+
"internalType": "uint256",
|
|
1632
|
+
"name": "",
|
|
1633
|
+
"type": "uint256"
|
|
1634
|
+
}
|
|
1635
|
+
],
|
|
1636
|
+
"stateMutability": "view",
|
|
1637
|
+
"type": "function"
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
"inputs": [
|
|
1641
|
+
{
|
|
1642
|
+
"internalType": "uint256",
|
|
1643
|
+
"name": "savingsAmount",
|
|
1644
|
+
"type": "uint256"
|
|
1645
|
+
}
|
|
1646
|
+
],
|
|
1647
|
+
"name": "previewDeposit",
|
|
1648
|
+
"outputs": [
|
|
1649
|
+
{
|
|
1650
|
+
"internalType": "uint256",
|
|
1651
|
+
"name": "sharesOut",
|
|
1652
|
+
"type": "uint256"
|
|
1653
|
+
}
|
|
1654
|
+
],
|
|
1655
|
+
"stateMutability": "view",
|
|
1656
|
+
"type": "function"
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"inputs": [
|
|
1660
|
+
{
|
|
1661
|
+
"internalType": "uint256",
|
|
1662
|
+
"name": "entitlement",
|
|
1663
|
+
"type": "uint256"
|
|
1664
|
+
}
|
|
1665
|
+
],
|
|
1666
|
+
"name": "previewProportionalSplit",
|
|
1667
|
+
"outputs": [
|
|
1668
|
+
{
|
|
1669
|
+
"internalType": "uint256",
|
|
1670
|
+
"name": "moduleTokenOut",
|
|
1671
|
+
"type": "uint256"
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
"internalType": "uint256",
|
|
1675
|
+
"name": "baseAssetOut",
|
|
1676
|
+
"type": "uint256"
|
|
1677
|
+
},
|
|
1678
|
+
{
|
|
1679
|
+
"internalType": "uint256",
|
|
1680
|
+
"name": "savingsTokenOut",
|
|
1681
|
+
"type": "uint256"
|
|
1682
|
+
}
|
|
1683
|
+
],
|
|
1684
|
+
"stateMutability": "view",
|
|
1685
|
+
"type": "function"
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
"inputs": [
|
|
1689
|
+
{
|
|
1690
|
+
"internalType": "uint256",
|
|
1691
|
+
"name": "shares",
|
|
1692
|
+
"type": "uint256"
|
|
1693
|
+
}
|
|
1694
|
+
],
|
|
1695
|
+
"name": "previewRedeem",
|
|
1696
|
+
"outputs": [
|
|
1697
|
+
{
|
|
1698
|
+
"internalType": "uint256",
|
|
1699
|
+
"name": "assetsAfterFee",
|
|
1700
|
+
"type": "uint256"
|
|
1701
|
+
}
|
|
1702
|
+
],
|
|
1703
|
+
"stateMutability": "view",
|
|
1704
|
+
"type": "function"
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
"inputs": [
|
|
1708
|
+
{
|
|
1709
|
+
"internalType": "address",
|
|
1710
|
+
"name": "tokenIn",
|
|
1711
|
+
"type": "address"
|
|
1712
|
+
},
|
|
1713
|
+
{
|
|
1714
|
+
"internalType": "address",
|
|
1715
|
+
"name": "tokenOut",
|
|
1716
|
+
"type": "address"
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
"internalType": "uint256",
|
|
1720
|
+
"name": "amountIn",
|
|
1721
|
+
"type": "uint256"
|
|
1722
|
+
}
|
|
1723
|
+
],
|
|
1724
|
+
"name": "previewSwap",
|
|
1725
|
+
"outputs": [
|
|
1726
|
+
{
|
|
1727
|
+
"internalType": "uint256",
|
|
1728
|
+
"name": "amountOut",
|
|
1729
|
+
"type": "uint256"
|
|
1730
|
+
}
|
|
1731
|
+
],
|
|
1732
|
+
"stateMutability": "view",
|
|
1733
|
+
"type": "function"
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"inputs": [
|
|
1737
|
+
{
|
|
1738
|
+
"internalType": "uint256",
|
|
1739
|
+
"name": "assets",
|
|
1740
|
+
"type": "uint256"
|
|
1741
|
+
}
|
|
1742
|
+
],
|
|
1743
|
+
"name": "previewWithdraw",
|
|
1744
|
+
"outputs": [
|
|
1745
|
+
{
|
|
1746
|
+
"internalType": "uint256",
|
|
1747
|
+
"name": "sharesNeeded",
|
|
1748
|
+
"type": "uint256"
|
|
1749
|
+
}
|
|
1750
|
+
],
|
|
1751
|
+
"stateMutability": "view",
|
|
1752
|
+
"type": "function"
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"inputs": [],
|
|
1756
|
+
"name": "rateProvider",
|
|
1757
|
+
"outputs": [
|
|
1758
|
+
{
|
|
1759
|
+
"internalType": "contract IRateProvider",
|
|
1760
|
+
"name": "",
|
|
1761
|
+
"type": "address"
|
|
1762
|
+
}
|
|
1763
|
+
],
|
|
1764
|
+
"stateMutability": "view",
|
|
1765
|
+
"type": "function"
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"inputs": [],
|
|
1769
|
+
"name": "rebalanceThreshold",
|
|
1770
|
+
"outputs": [
|
|
1771
|
+
{
|
|
1772
|
+
"internalType": "uint256",
|
|
1773
|
+
"name": "",
|
|
1774
|
+
"type": "uint256"
|
|
1775
|
+
}
|
|
1776
|
+
],
|
|
1777
|
+
"stateMutability": "view",
|
|
1778
|
+
"type": "function"
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
"inputs": [],
|
|
1782
|
+
"name": "rebalancer",
|
|
1783
|
+
"outputs": [
|
|
1784
|
+
{
|
|
1785
|
+
"internalType": "contract IRebalancerV2",
|
|
1786
|
+
"name": "",
|
|
1787
|
+
"type": "address"
|
|
1788
|
+
}
|
|
1789
|
+
],
|
|
1790
|
+
"stateMutability": "view",
|
|
1791
|
+
"type": "function"
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"inputs": [
|
|
1795
|
+
{
|
|
1796
|
+
"internalType": "uint256",
|
|
1797
|
+
"name": "shares",
|
|
1798
|
+
"type": "uint256"
|
|
1799
|
+
},
|
|
1800
|
+
{
|
|
1801
|
+
"internalType": "address",
|
|
1802
|
+
"name": "receiver",
|
|
1803
|
+
"type": "address"
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
"internalType": "uint256",
|
|
1807
|
+
"name": "minAssetsOut",
|
|
1808
|
+
"type": "uint256"
|
|
1809
|
+
}
|
|
1810
|
+
],
|
|
1811
|
+
"name": "redeem",
|
|
1812
|
+
"outputs": [
|
|
1813
|
+
{
|
|
1814
|
+
"internalType": "uint256",
|
|
1815
|
+
"name": "moduleTokenOut",
|
|
1816
|
+
"type": "uint256"
|
|
1817
|
+
},
|
|
1818
|
+
{
|
|
1819
|
+
"internalType": "uint256",
|
|
1820
|
+
"name": "baseAssetOut",
|
|
1821
|
+
"type": "uint256"
|
|
1822
|
+
},
|
|
1823
|
+
{
|
|
1824
|
+
"internalType": "uint256",
|
|
1825
|
+
"name": "savingsTokenOut",
|
|
1826
|
+
"type": "uint256"
|
|
1827
|
+
}
|
|
1828
|
+
],
|
|
1829
|
+
"stateMutability": "nonpayable",
|
|
1830
|
+
"type": "function"
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
"inputs": [
|
|
1834
|
+
{
|
|
1835
|
+
"internalType": "address",
|
|
1836
|
+
"name": "",
|
|
1837
|
+
"type": "address"
|
|
1838
|
+
}
|
|
1839
|
+
],
|
|
1840
|
+
"name": "redeemRequests",
|
|
1841
|
+
"outputs": [
|
|
1842
|
+
{
|
|
1843
|
+
"internalType": "uint256",
|
|
1844
|
+
"name": "shares",
|
|
1845
|
+
"type": "uint256"
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
"internalType": "uint40",
|
|
1849
|
+
"name": "exitTime",
|
|
1850
|
+
"type": "uint40"
|
|
1851
|
+
}
|
|
1852
|
+
],
|
|
1853
|
+
"stateMutability": "view",
|
|
1854
|
+
"type": "function"
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"inputs": [
|
|
1858
|
+
{
|
|
1859
|
+
"internalType": "bytes32",
|
|
1860
|
+
"name": "role",
|
|
1861
|
+
"type": "bytes32"
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"internalType": "address",
|
|
1865
|
+
"name": "callerConfirmation",
|
|
1866
|
+
"type": "address"
|
|
1867
|
+
}
|
|
1868
|
+
],
|
|
1869
|
+
"name": "renounceRole",
|
|
1870
|
+
"outputs": [],
|
|
1871
|
+
"stateMutability": "nonpayable",
|
|
1872
|
+
"type": "function"
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
"inputs": [
|
|
1876
|
+
{
|
|
1877
|
+
"internalType": "uint256",
|
|
1878
|
+
"name": "shares",
|
|
1879
|
+
"type": "uint256"
|
|
1880
|
+
}
|
|
1881
|
+
],
|
|
1882
|
+
"name": "requestExit",
|
|
1883
|
+
"outputs": [],
|
|
1884
|
+
"stateMutability": "nonpayable",
|
|
1885
|
+
"type": "function"
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
"inputs": [],
|
|
1889
|
+
"name": "reserveRatioFloor",
|
|
1890
|
+
"outputs": [
|
|
1891
|
+
{
|
|
1892
|
+
"internalType": "uint256",
|
|
1893
|
+
"name": "",
|
|
1894
|
+
"type": "uint256"
|
|
1895
|
+
}
|
|
1896
|
+
],
|
|
1897
|
+
"stateMutability": "view",
|
|
1898
|
+
"type": "function"
|
|
1899
|
+
},
|
|
1900
|
+
{
|
|
1901
|
+
"inputs": [
|
|
1902
|
+
{
|
|
1903
|
+
"internalType": "bytes32",
|
|
1904
|
+
"name": "role",
|
|
1905
|
+
"type": "bytes32"
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
"internalType": "address",
|
|
1909
|
+
"name": "account",
|
|
1910
|
+
"type": "address"
|
|
1911
|
+
}
|
|
1912
|
+
],
|
|
1913
|
+
"name": "revokeRole",
|
|
1914
|
+
"outputs": [],
|
|
1915
|
+
"stateMutability": "nonpayable",
|
|
1916
|
+
"type": "function"
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"inputs": [],
|
|
1920
|
+
"name": "savingsToken",
|
|
1921
|
+
"outputs": [
|
|
1922
|
+
{
|
|
1923
|
+
"internalType": "contract IERC20",
|
|
1924
|
+
"name": "",
|
|
1925
|
+
"type": "address"
|
|
1926
|
+
}
|
|
1927
|
+
],
|
|
1928
|
+
"stateMutability": "view",
|
|
1929
|
+
"type": "function"
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
"inputs": [],
|
|
1933
|
+
"name": "savingsTokenDecimals",
|
|
1934
|
+
"outputs": [
|
|
1935
|
+
{
|
|
1936
|
+
"internalType": "uint8",
|
|
1937
|
+
"name": "",
|
|
1938
|
+
"type": "uint8"
|
|
1939
|
+
}
|
|
1940
|
+
],
|
|
1941
|
+
"stateMutability": "view",
|
|
1942
|
+
"type": "function"
|
|
1943
|
+
},
|
|
1944
|
+
{
|
|
1945
|
+
"inputs": [
|
|
1946
|
+
{
|
|
1947
|
+
"internalType": "address",
|
|
1948
|
+
"name": "_module",
|
|
1949
|
+
"type": "address"
|
|
1950
|
+
}
|
|
1951
|
+
],
|
|
1952
|
+
"name": "setBaseAssetModule",
|
|
1953
|
+
"outputs": [],
|
|
1954
|
+
"stateMutability": "nonpayable",
|
|
1955
|
+
"type": "function"
|
|
1956
|
+
},
|
|
1957
|
+
{
|
|
1958
|
+
"inputs": [
|
|
1959
|
+
{
|
|
1960
|
+
"internalType": "bool",
|
|
1961
|
+
"name": "_enabled",
|
|
1962
|
+
"type": "bool"
|
|
1963
|
+
},
|
|
1964
|
+
{
|
|
1965
|
+
"internalType": "uint256",
|
|
1966
|
+
"name": "_navFloor",
|
|
1967
|
+
"type": "uint256"
|
|
1968
|
+
}
|
|
1969
|
+
],
|
|
1970
|
+
"name": "setCircuitBreaker",
|
|
1971
|
+
"outputs": [],
|
|
1972
|
+
"stateMutability": "nonpayable",
|
|
1973
|
+
"type": "function"
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
"inputs": [
|
|
1977
|
+
{
|
|
1978
|
+
"internalType": "uint256",
|
|
1979
|
+
"name": "_cap",
|
|
1980
|
+
"type": "uint256"
|
|
1981
|
+
}
|
|
1982
|
+
],
|
|
1983
|
+
"name": "setDepositCap",
|
|
1984
|
+
"outputs": [],
|
|
1985
|
+
"stateMutability": "nonpayable",
|
|
1986
|
+
"type": "function"
|
|
1987
|
+
},
|
|
1988
|
+
{
|
|
1989
|
+
"inputs": [
|
|
1990
|
+
{
|
|
1991
|
+
"internalType": "uint256",
|
|
1992
|
+
"name": "_dripDuration",
|
|
1993
|
+
"type": "uint256"
|
|
1994
|
+
}
|
|
1995
|
+
],
|
|
1996
|
+
"name": "setDripDuration",
|
|
1997
|
+
"outputs": [],
|
|
1998
|
+
"stateMutability": "nonpayable",
|
|
1999
|
+
"type": "function"
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
"inputs": [
|
|
2003
|
+
{
|
|
2004
|
+
"internalType": "uint256",
|
|
2005
|
+
"name": "_swapFee",
|
|
2006
|
+
"type": "uint256"
|
|
2007
|
+
},
|
|
2008
|
+
{
|
|
2009
|
+
"internalType": "uint256",
|
|
2010
|
+
"name": "_minWithdrawFee",
|
|
2011
|
+
"type": "uint256"
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
"internalType": "uint256",
|
|
2015
|
+
"name": "_maxWithdrawFee",
|
|
2016
|
+
"type": "uint256"
|
|
2017
|
+
}
|
|
2018
|
+
],
|
|
2019
|
+
"name": "setFees",
|
|
2020
|
+
"outputs": [],
|
|
2021
|
+
"stateMutability": "nonpayable",
|
|
2022
|
+
"type": "function"
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"inputs": [
|
|
2026
|
+
{
|
|
2027
|
+
"internalType": "address",
|
|
2028
|
+
"name": "_rateProvider",
|
|
2029
|
+
"type": "address"
|
|
2030
|
+
}
|
|
2031
|
+
],
|
|
2032
|
+
"name": "setRateProvider",
|
|
2033
|
+
"outputs": [],
|
|
2034
|
+
"stateMutability": "nonpayable",
|
|
2035
|
+
"type": "function"
|
|
2036
|
+
},
|
|
2037
|
+
{
|
|
2038
|
+
"inputs": [
|
|
2039
|
+
{
|
|
2040
|
+
"internalType": "uint256",
|
|
2041
|
+
"name": "_threshold",
|
|
2042
|
+
"type": "uint256"
|
|
2043
|
+
}
|
|
2044
|
+
],
|
|
2045
|
+
"name": "setRebalanceThreshold",
|
|
2046
|
+
"outputs": [],
|
|
2047
|
+
"stateMutability": "nonpayable",
|
|
2048
|
+
"type": "function"
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"inputs": [
|
|
2052
|
+
{
|
|
2053
|
+
"internalType": "address",
|
|
2054
|
+
"name": "_rebalancer",
|
|
2055
|
+
"type": "address"
|
|
2056
|
+
}
|
|
2057
|
+
],
|
|
2058
|
+
"name": "setRebalancer",
|
|
2059
|
+
"outputs": [],
|
|
2060
|
+
"stateMutability": "nonpayable",
|
|
2061
|
+
"type": "function"
|
|
2062
|
+
},
|
|
2063
|
+
{
|
|
2064
|
+
"inputs": [
|
|
2065
|
+
{
|
|
2066
|
+
"internalType": "uint256",
|
|
2067
|
+
"name": "_floor",
|
|
2068
|
+
"type": "uint256"
|
|
2069
|
+
}
|
|
2070
|
+
],
|
|
2071
|
+
"name": "setReserveRatioFloor",
|
|
2072
|
+
"outputs": [],
|
|
2073
|
+
"stateMutability": "nonpayable",
|
|
2074
|
+
"type": "function"
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
"inputs": [
|
|
2078
|
+
{
|
|
2079
|
+
"internalType": "uint256",
|
|
2080
|
+
"name": "_withdrawTime",
|
|
2081
|
+
"type": "uint256"
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
"internalType": "uint256",
|
|
2085
|
+
"name": "_withdrawTimeLimit",
|
|
2086
|
+
"type": "uint256"
|
|
2087
|
+
}
|
|
2088
|
+
],
|
|
2089
|
+
"name": "setWithdrawTimers",
|
|
2090
|
+
"outputs": [],
|
|
2091
|
+
"stateMutability": "nonpayable",
|
|
2092
|
+
"type": "function"
|
|
2093
|
+
},
|
|
2094
|
+
{
|
|
2095
|
+
"inputs": [
|
|
2096
|
+
{
|
|
2097
|
+
"internalType": "bytes4",
|
|
2098
|
+
"name": "interfaceId",
|
|
2099
|
+
"type": "bytes4"
|
|
2100
|
+
}
|
|
2101
|
+
],
|
|
2102
|
+
"name": "supportsInterface",
|
|
2103
|
+
"outputs": [
|
|
2104
|
+
{
|
|
2105
|
+
"internalType": "bool",
|
|
2106
|
+
"name": "",
|
|
2107
|
+
"type": "bool"
|
|
2108
|
+
}
|
|
2109
|
+
],
|
|
2110
|
+
"stateMutability": "view",
|
|
2111
|
+
"type": "function"
|
|
2112
|
+
},
|
|
2113
|
+
{
|
|
2114
|
+
"inputs": [
|
|
2115
|
+
{
|
|
2116
|
+
"internalType": "address",
|
|
2117
|
+
"name": "tokenIn",
|
|
2118
|
+
"type": "address"
|
|
2119
|
+
},
|
|
2120
|
+
{
|
|
2121
|
+
"internalType": "address",
|
|
2122
|
+
"name": "tokenOut",
|
|
2123
|
+
"type": "address"
|
|
2124
|
+
},
|
|
2125
|
+
{
|
|
2126
|
+
"internalType": "uint256",
|
|
2127
|
+
"name": "amountIn",
|
|
2128
|
+
"type": "uint256"
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"internalType": "uint256",
|
|
2132
|
+
"name": "minAmountOut",
|
|
2133
|
+
"type": "uint256"
|
|
2134
|
+
},
|
|
2135
|
+
{
|
|
2136
|
+
"internalType": "address",
|
|
2137
|
+
"name": "receiver",
|
|
2138
|
+
"type": "address"
|
|
2139
|
+
}
|
|
2140
|
+
],
|
|
2141
|
+
"name": "swap",
|
|
2142
|
+
"outputs": [
|
|
2143
|
+
{
|
|
2144
|
+
"internalType": "uint256",
|
|
2145
|
+
"name": "amountOut",
|
|
2146
|
+
"type": "uint256"
|
|
2147
|
+
}
|
|
2148
|
+
],
|
|
2149
|
+
"stateMutability": "nonpayable",
|
|
2150
|
+
"type": "function"
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
"inputs": [],
|
|
2154
|
+
"name": "swapFee",
|
|
2155
|
+
"outputs": [
|
|
2156
|
+
{
|
|
2157
|
+
"internalType": "uint256",
|
|
2158
|
+
"name": "",
|
|
2159
|
+
"type": "uint256"
|
|
2160
|
+
}
|
|
2161
|
+
],
|
|
2162
|
+
"stateMutability": "view",
|
|
2163
|
+
"type": "function"
|
|
2164
|
+
},
|
|
2165
|
+
{
|
|
2166
|
+
"inputs": [],
|
|
2167
|
+
"name": "symbol",
|
|
2168
|
+
"outputs": [
|
|
2169
|
+
{
|
|
2170
|
+
"internalType": "string",
|
|
2171
|
+
"name": "",
|
|
2172
|
+
"type": "string"
|
|
2173
|
+
}
|
|
2174
|
+
],
|
|
2175
|
+
"stateMutability": "view",
|
|
2176
|
+
"type": "function"
|
|
2177
|
+
},
|
|
2178
|
+
{
|
|
2179
|
+
"inputs": [],
|
|
2180
|
+
"name": "totalAssets",
|
|
2181
|
+
"outputs": [
|
|
2182
|
+
{
|
|
2183
|
+
"internalType": "uint256",
|
|
2184
|
+
"name": "",
|
|
2185
|
+
"type": "uint256"
|
|
2186
|
+
}
|
|
2187
|
+
],
|
|
2188
|
+
"stateMutability": "view",
|
|
2189
|
+
"type": "function"
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"inputs": [],
|
|
2193
|
+
"name": "totalDonated",
|
|
2194
|
+
"outputs": [
|
|
2195
|
+
{
|
|
2196
|
+
"internalType": "uint256",
|
|
2197
|
+
"name": "",
|
|
2198
|
+
"type": "uint256"
|
|
2199
|
+
}
|
|
2200
|
+
],
|
|
2201
|
+
"stateMutability": "view",
|
|
2202
|
+
"type": "function"
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
"inputs": [],
|
|
2206
|
+
"name": "totalSupply",
|
|
2207
|
+
"outputs": [
|
|
2208
|
+
{
|
|
2209
|
+
"internalType": "uint256",
|
|
2210
|
+
"name": "",
|
|
2211
|
+
"type": "uint256"
|
|
2212
|
+
}
|
|
2213
|
+
],
|
|
2214
|
+
"stateMutability": "view",
|
|
2215
|
+
"type": "function"
|
|
2216
|
+
},
|
|
2217
|
+
{
|
|
2218
|
+
"inputs": [
|
|
2219
|
+
{
|
|
2220
|
+
"internalType": "address",
|
|
2221
|
+
"name": "to",
|
|
2222
|
+
"type": "address"
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"internalType": "uint256",
|
|
2226
|
+
"name": "value",
|
|
2227
|
+
"type": "uint256"
|
|
2228
|
+
}
|
|
2229
|
+
],
|
|
2230
|
+
"name": "transfer",
|
|
2231
|
+
"outputs": [
|
|
2232
|
+
{
|
|
2233
|
+
"internalType": "bool",
|
|
2234
|
+
"name": "",
|
|
2235
|
+
"type": "bool"
|
|
2236
|
+
}
|
|
2237
|
+
],
|
|
2238
|
+
"stateMutability": "nonpayable",
|
|
2239
|
+
"type": "function"
|
|
2240
|
+
},
|
|
2241
|
+
{
|
|
2242
|
+
"inputs": [
|
|
2243
|
+
{
|
|
2244
|
+
"internalType": "address",
|
|
2245
|
+
"name": "from",
|
|
2246
|
+
"type": "address"
|
|
2247
|
+
},
|
|
2248
|
+
{
|
|
2249
|
+
"internalType": "address",
|
|
2250
|
+
"name": "to",
|
|
2251
|
+
"type": "address"
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
"internalType": "uint256",
|
|
2255
|
+
"name": "value",
|
|
2256
|
+
"type": "uint256"
|
|
2257
|
+
}
|
|
2258
|
+
],
|
|
2259
|
+
"name": "transferFrom",
|
|
2260
|
+
"outputs": [
|
|
2261
|
+
{
|
|
2262
|
+
"internalType": "bool",
|
|
2263
|
+
"name": "",
|
|
2264
|
+
"type": "bool"
|
|
2265
|
+
}
|
|
2266
|
+
],
|
|
2267
|
+
"stateMutability": "nonpayable",
|
|
2268
|
+
"type": "function"
|
|
2269
|
+
},
|
|
2270
|
+
{
|
|
2271
|
+
"inputs": [],
|
|
2272
|
+
"name": "unpause",
|
|
2273
|
+
"outputs": [],
|
|
2274
|
+
"stateMutability": "nonpayable",
|
|
2275
|
+
"type": "function"
|
|
2276
|
+
},
|
|
2277
|
+
{
|
|
2278
|
+
"inputs": [],
|
|
2279
|
+
"name": "vaultComposition",
|
|
2280
|
+
"outputs": [
|
|
2281
|
+
{
|
|
2282
|
+
"internalType": "uint256",
|
|
2283
|
+
"name": "baseAssetValue",
|
|
2284
|
+
"type": "uint256"
|
|
2285
|
+
},
|
|
2286
|
+
{
|
|
2287
|
+
"internalType": "uint256",
|
|
2288
|
+
"name": "savingsTokenValue",
|
|
2289
|
+
"type": "uint256"
|
|
2290
|
+
},
|
|
2291
|
+
{
|
|
2292
|
+
"internalType": "uint256",
|
|
2293
|
+
"name": "total",
|
|
2294
|
+
"type": "uint256"
|
|
2295
|
+
}
|
|
2296
|
+
],
|
|
2297
|
+
"stateMutability": "view",
|
|
2298
|
+
"type": "function"
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
"inputs": [
|
|
2302
|
+
{
|
|
2303
|
+
"internalType": "uint256",
|
|
2304
|
+
"name": "assets",
|
|
2305
|
+
"type": "uint256"
|
|
2306
|
+
},
|
|
2307
|
+
{
|
|
2308
|
+
"internalType": "address",
|
|
2309
|
+
"name": "receiver",
|
|
2310
|
+
"type": "address"
|
|
2311
|
+
},
|
|
2312
|
+
{
|
|
2313
|
+
"internalType": "uint256",
|
|
2314
|
+
"name": "maxSharesBurned",
|
|
2315
|
+
"type": "uint256"
|
|
2316
|
+
}
|
|
2317
|
+
],
|
|
2318
|
+
"name": "withdraw",
|
|
2319
|
+
"outputs": [
|
|
2320
|
+
{
|
|
2321
|
+
"internalType": "uint256",
|
|
2322
|
+
"name": "moduleTokenOut",
|
|
2323
|
+
"type": "uint256"
|
|
2324
|
+
},
|
|
2325
|
+
{
|
|
2326
|
+
"internalType": "uint256",
|
|
2327
|
+
"name": "baseAssetOut",
|
|
2328
|
+
"type": "uint256"
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
"internalType": "uint256",
|
|
2332
|
+
"name": "savingsTokenOut",
|
|
2333
|
+
"type": "uint256"
|
|
2334
|
+
}
|
|
2335
|
+
],
|
|
2336
|
+
"stateMutability": "nonpayable",
|
|
2337
|
+
"type": "function"
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"inputs": [],
|
|
2341
|
+
"name": "withdrawTime",
|
|
2342
|
+
"outputs": [
|
|
2343
|
+
{
|
|
2344
|
+
"internalType": "uint256",
|
|
2345
|
+
"name": "",
|
|
2346
|
+
"type": "uint256"
|
|
2347
|
+
}
|
|
2348
|
+
],
|
|
2349
|
+
"stateMutability": "view",
|
|
2350
|
+
"type": "function"
|
|
2351
|
+
},
|
|
2352
|
+
{
|
|
2353
|
+
"inputs": [],
|
|
2354
|
+
"name": "withdrawTimeLimit",
|
|
2355
|
+
"outputs": [
|
|
2356
|
+
{
|
|
2357
|
+
"internalType": "uint256",
|
|
2358
|
+
"name": "",
|
|
2359
|
+
"type": "uint256"
|
|
2360
|
+
}
|
|
2361
|
+
],
|
|
2362
|
+
"stateMutability": "view",
|
|
2363
|
+
"type": "function"
|
|
2364
|
+
}
|
|
2365
|
+
],
|
|
2366
|
+
"bytecode": "0x6080806040523460aa575f5160206159215f395f51905f525460ff8160401c16609b576002600160401b03196001600160401b038216016049575b60405161587290816100af8239f35b6001600160401b0319166001600160401b039081175f5160206159215f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80603a565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908162b37044146135de5750806301d22ccd146135b657806301e1d1141461359c57806301ffc9a7146135465780630493a0fa146134da57806306250ab1146134b257806306fdde03146133d057806307a2d13a146133b2578063095ea7b3146133335780630a28a477146132e857806314020b9a146132cb57806318160ddd146132a25780631c460b92146132855780631fc3277d1461326857806323b872dd146131a657806323ba5f551461316a578063248a9ca31461313357806324ea54f4146130f95780632a129169146130dc5780632f2ff15d14613092578063313ce5671461307757806336568abe1461303157806338d52e0f1461300a5780633dfe9f6a14612fed5780633f4ba83a14612f6f578063402d267d14612f4b578063425bb29314612a1057806345cb3dde146129f25780634cdad506146129d05780634ea63d4b1461295c5780634f04a86b1461293e57806354cf2aeb146129205780635b6b9ca3146129055780635c975abb146128d65780635ee35a261461277e5780636cfd1553146126e757806370a08231146126a2578063721c65131461259357806372bdc6f71461254557806374a498e11461252157806376bafa7b1461250357806376c1bcb6146124e55780637b3baab4146124c757806382c36f8814611cac5780638456cb5914611bbd5780638665120314611b6f57806388c47f68146110e25780638d158c2a14611b0f5780638dbdbe6d146118d15780638f8b65151461188357806391d148541461182d5780639351fd3d1461140f578063949db658146113e657806395d89b41146112f3578063984adf06146112d55780639f767822146112b9578063a217fddf1461129d578063a9059cbb1461126b578063ab3d85441461124f578063ab9068fa1461122c578063b0c20e4a146110e7578063b6608409146110e2578063bbbaffab146110c8578063c3f67de11461109f578063c6e6f59214611080578063c864be8a14611045578063cdf456e11461101e578063ce96cb7714610ffa578063cec10c1114610f49578063d326159214610f2b578063d547741f14610ed7578063d5bcb9b514610bc1578063d878016114610b15578063d905777e14610af1578063db45810e14610ace578063dbd5edc714610ab0578063dd62ed3e14610a68578063e00cd7dd14610a4b578063e2940eeb14610a2d578063e63697c814610897578063eded3fda14610879578063ef8b30f7146107ac578063f14faf6f146105f6578063f36c8f5c146105bb578063f5b541a614610580578063f8ba4cff14610564578063fa037766146104f1578063fd967f47146104d4578063fdf364e4146104425763ffa1ad74146103fb575f80fd5b3461043f578060031936011261043f575061043b60405161041d604082613708565b60058152640322e302e360dc1b6020820152604051918291826135f8565b0390f35b80fd5b503461043f578060031936011261043f5761045b614a82565b3381526015602052604081205480156104c55761048d90338352601560205282600160408220828155015533306146ee565b337f91c2e943be9b1896a63fd826425c05548b2a5583446fe30c455ed129c89f86a38280a2805f5160206157fd5f395f51905f525d80f35b634629aca760e01b8252600482fd5b503461043f578060031936011261043f5760206040516127108152f35b503461043f57604036600319011261043f576004358015158091036105605760407f1af5f5b5cad9ec1e8fdf4e5096d2d4f13f67164daf572b0d8513b7d63b1717409160243561053f6145ab565b60ff19600d541660ff831617600d5580600e5582519182526020820152a180f35b5080fd5b503461043f578060031936011261043f5761057d6142f7565b80f35b503461043f578060031936011261043f5760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b503461043f578060031936011261043f5760206040517f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb18152f35b503461043f57602036600319011261043f57600435610613614a82565b61061b614ab7565b7f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f19405217082525f5160206157bd5f395f51905f5260209081526040808420335f908152925290205460ff161561077557670de0b6b3a76400008110610766575f51602061579d5f395f51905f525415610757576106936142f7565b81546106ad908290309033906001600160a01b0316614dd2565b6106b98160145461375e565b6014558082601354421061074e575b7f8d09c6745838fd32e92a7aec9e4c21f8fcc0ddf4300881dcffdbf060ba8bcff2916106f39161375e565b61071160025461070381846142d9565b92836011556010554261375e565b601381905542601255604080519485526020850192909252908301523391606090a261073b614ba5565b805f5160206157fd5f395f51905f525d80f35b506010546106c8565b631f2a200560e01b8252600482fd5b633fe6dea360e01b8252600482fd5b63e2517d3f60e01b8252336004527f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f194052170602452604482fd5b503461043f57602036600319011261043f576003546001546040516337cef79160e01b81526001600160a01b038281166004830152909260209184916024918391165afa91821561086e578392610835575b602061082d610828866108238761081a60ff8960a01c1661374d565b906004356153d8565b61375e565b61421f565b604051908152f35b91506020823d602011610866575b8161085060209383613708565b810103126108625790519060206107fe565b5f80fd5b3d9150610843565b6040513d85823e3d90fd5b503461043f578060031936011261043f576020601054604051908152f35b503461043f576108a6366136de565b926108b2929192614a82565b6108ba614ab7565b8115610a1e576001600160a01b038316928315610a0f576108d96142f7565b6108e233614e8a565b6108ea614660565b6127100361271081116109fb57610904610909918561454a565b6146b1565b9485116109ec57338252601560205260408220805486116109dd5761043b9392918661095e926109398230614ef4565b548181116109c2575b5050338352601560205282600160408220828155015583614faa565b9391959096604051928352602083015233917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60403392a45f5160206157fd5f395f51905f525d604051938493846040919493926060820195825260208201520152565b6109d6916109cf916138fe565b33306146ee565b865f610942565b6389206fd560e01b8352600483fd5b638199f5f360e01b8252600482fd5b634e487b7160e01b83526011600452602483fd5b63d92e233d60e01b8252600482fd5b631f2a200560e01b8152600490fd5b503461043f578060031936011261043f576020600e54604051908152f35b503461043f578060031936011261043f5760206040516107d08152f35b503461043f57604036600319011261043f57610a82613622565b610a93610a8d613638565b916136a6565b9060018060a01b03165f52602052602060405f2054604051908152f35b503461043f578060031936011261043f576020600f54604051908152f35b503461043f578060031936011261043f576020604051670de0b6b3a76400008152f35b503461043f57602036600319011261043f57602061082d610b10613622565b614274565b503461043f57610b24366136de565b909192610b2f614a82565b610b37614ab7565b8315610a1e576001600160a01b038316928315610a0f57610b566142f7565b610b5f33614e8a565b338252601560205260408220805486116109dd57610b96610b7f876138c1565b610b90610b8a614660565b8261456f565b906138fe565b938410610bb25761043b9392918661095e926109398230614ef4565b638199f5f360e01b8352600483fd5b503461043f5760a036600319011261043f57610bdb613622565b610be3613638565b60843591604435916001600160a01b038416808503610ed357610c04614a82565b610c0c614ab7565b8315610ec45715610eb557610c1f6142f7565b84546001546001600160a01b0391821693821684149291169082610ea2575b505015610e93578160ff600d5416610e0c575b610c5e9130903390614dd2565b610c73610c6d6006548361456f565b826138fe565b6003546001546040516333aafcd560e01b81526001600160a01b03828116600483018190529694929388939160209184916024918391165afa91821561086e578392610dd4575b509061082391610cd260ff610cd89660a01c1661374d565b906153d8565b926040516370a0823160e01b8152306004820152602081602481855afa908115610dc9578691610d97575b508411610d8857610d1e918491610d198361558d565b6156e4565b610d26614ba5565b816040519184835260208301526001604083015260608201527f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd9714060803392a260643581106109ec576020915f5160206157fd5f395f51905f525d604051908152f35b63128bd24d60e31b8552600485fd5b90506020813d602011610dc1575b81610db260209383613708565b8101031261086257515f610d03565b3d9150610da5565b6040513d88823e3d90fd5b915091506020813d602011610e04575b81610df160209383613708565b8101031261086257518691610cd8610cba565b3d9150610de4565b5060405163479944cd60e11b815260048101859052602081602481855afa908115610e88578591610e56575b50600e5411610e475781610c51565b639098d6bd60e01b8452600484fd5b90506020813d602011610e80575b81610e7160209383613708565b8101031261086257515f610e38565b3d9150610e64565b6040513d87823e3d90fd5b638686656d60e01b8452600484fd5b6001600160a01b03161490505f80610c3e565b63d92e233d60e01b8552600485fd5b631f2a200560e01b8652600486fd5b8580fd5b503461043f57604036600319011261043f57610f27600435610ef7613638565b90610f22610f1d825f525f5160206157bd5f395f51905f52602052600160405f20015490565b61461a565b6149e6565b5080f35b503461043f578060031936011261043f576020601154604051908152f35b503461043f57606036600319011261043f5760443590602435600435610f6d6145ab565b600581108015610ff0575b610fe157838211610fe1576107d08411610fe157610fdb7fcf8a1e1d5f09cf3c97dbb653cd9a4d7aace9292fbc1bb8211febf2d400febbdd9394826006558360075580600855604051938493846040919493926060820195825260208201520152565b0390a180f35b63369276d760e11b8352600483fd5b5060648111610f78565b503461043f57602036600319011261043f57602061082d611019613622565b61425c565b503461043f578060031936011261043f57546040516001600160a01b039091168152602090f35b503461043f578060031936011261043f5760206040517f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f1940521708152f35b503461043f57602036600319011261043f57602061082d60043561421f565b503461043f578060031936011261043f576004546040516001600160a01b039091168152602090f35b503461043f57602061082d6110dc3661364e565b91613e2c565b613688565b503461043f57602036600319011261043f57611101613622565b6111096145ab565b6001600160a01b03168015610a0f5760405163cdf456e160e01b8152602081600481855afa90811561086e57839161120d575b5082546001600160a01b039081169116036111cf576040516306250ab160e01b8152602081600481855afa90811561086e5783916111de575b506001546001600160a01b039081169116036111cf57600380546001600160a01b0319811683179091556001600160a01b03167f198f904b16806dad4efbe8f4ee9e422ab7e99c4a2a968c07684fa1fcf76d9e688380a380f35b6389335e9160e01b8252600482fd5b611200915060203d602011611206575b6111f88183613708565b810190613dfa565b5f611175565b503d6111ee565b611226915060203d602011611206576111f88183613708565b5f61113c565b503461043f578060031936011261043f57602060ff600d54166040519015158152f35b503461043f578060031936011261043f57602060405160648152f35b503461043f57604036600319011261043f57611292611288613622565b60243590336146ee565b602060405160018152f35b503461043f578060031936011261043f57602090604051908152f35b503461043f578060031936011261043f57602060405160058152f35b503461043f578060031936011261043f576020600754604051908152f35b503461043f578060031936011261043f5760405190805f51602061577d5f395f51905f52549061132282613889565b80855291600181169081156113bf5750600114611356575b61043b8461134a81860382613708565b604051918291826135f8565b5f51602061577d5f395f51905f5281527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa939250905b8082106113a55750909150810160200161134a8261133a565b91926001816020925483858801015201910190929161138c565b60ff191660208087019190915292151560051b8501909201925061134a915083905061133a565b503461043f578060031936011261043f576003546040516001600160a01b039091168152602090f35b503461043f57602036600319011261043f57611429613622565b611431614a82565b6114396145ab565b6114416142f7565b6004546001600160a01b03168061173d575b6001600160a01b03821691821515806116d6575b600480546001600160a01b031916851790556114b6575b507f94090355cefa089509f2588ee4b2bb59a298fb3659084d51fb9031be473778fa8380a3805f5160206157fd5f395f51905f525d80f35b83546040516370a0823160e01b81523060048201526001600160a01b039091169190602081602481865afa908115610dc95786916116a4575b506010548082111561169c57611504916138fe565b80611511575b505061147e565b60405163402d267d60e01b815230600482015290602082602481895afa918215611655578792611668575b50818111156116605750915b821515806115ef575b1561150a578261156761158e9484602094614b56565b604051636e553f6560e01b8152600481019190915230602482015292839081906044820190565b038188885af18015610e88576115bc575b84546115b492506001600160a01b0316614ade565b5f808061150a565b6020823d6020116115e7575b816115d560209383613708565b81010312610862576115b4915061159f565b3d91506115c8565b5060405163ef8b30f760e01b815260048101849052602081602481895afa908115611655578791611623575b501515611551565b90506020813d60201161164d575b8161163e60209383613708565b8101031261086257515f61161b565b3d9150611631565b6040513d89823e3d90fd5b905091611548565b9091506020813d602011611694575b8161168460209383613708565b810103126108625751905f61153c565b3d9150611677565b505084611504565b90506020813d6020116116ce575b816116bf60209383613708565b8101031261086257515f6114ef565b3d91506116b2565b6040516338d52e0f60e01b8152602081600481885afa908115610dc957869161171e575b5085546001600160a01b03918216911614611467576320ccc6c160e21b8552600485fd5b611737915060203d602011611206576111f88183613708565b5f6116fa565b82546117539082906001600160a01b0316614ade565b6040516370a0823160e01b8152306004820152602081602481855afa9081156117f05784916117fb575b508061178a575b50611453565b604051635d043b2960e11b815260048101919091523060248201819052604482015260208160648187865af180156117f05715611784576117e29060203d6020116117e9575b6117da8183613708565b81019061373e565b505f611784565b503d6117d0565b6040513d86823e3d90fd5b90506020813d602011611825575b8161181660209383613708565b8101031261086257515f61177d565b3d9150611809565b503461043f57604036600319011261043f576040611849613638565b9160043581525f5160206157bd5f395f51905f52602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461043f57602036600319011261043f577f0e9e5d4aff63c3bc575ab4952b02480f0018c583c06bd88b60b58cf7c98e646860206004356118c36145ab565b80600b55604051908152a180f35b503461043f57606036600319011261043f57600435906044356001600160a01b038116919082900361043f57611905614a82565b61190d614ab7565b8215610a1e578115611b00576119216142f7565b6003546001546040516337cef79160e01b81526001600160a01b0382811660048301819052959391929160209184916024918391165afa9182156117f0579084918293611ac6575b506119879261198060ff6108239360a01c1661374d565b90886153d8565b6119938161082361376b565b600f5410611ab7576119a48161421f565b936024358510611aa8576020956119be9130903390614dd2565b6119d6845f51602061579d5f395f51905f525461375e565b5f51602061579d5f395f51905f525581611a8657835f51602061579d5f395f51905f5254035f51602061579d5f395f51905f52555b81837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051888152a360405190815283858201527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760403392a3611a6f614ba5565b5f5160206157fd5f395f51905f525d604051908152f35b8183525f51602061575d5f395f51905f52855260408320848154019055611a0b565b638199f5f360e01b8452600484fd5b6324d758c360e21b8352600483fd5b925090506020823d602011611af8575b81611ae360209383613708565b81010312610862579051908390610823611969565b3d9150611ad6565b63d92e233d60e01b8152600490fd5b503461043f57602036600319011261043f576040906001600160a01b03611b34613622565b16815260156020522064ffffffffff60018254920154169061043b6040519283928390929164ffffffffff6020916040840195845216910152565b503461043f57602036600319011261043f577f333b26cca69716ad4680ddb07663f5bfb4f06045671f336af9a83690a3ae00f96020600435611baf6145ab565b80600f55604051908152a180f35b503461043f578060031936011261043f577f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181525f5160206157bd5f395f51905f5260209081526040808320335f908152925290205460ff1615611c7557611c23614ab7565b600160ff195f5160206157dd5f395f51905f525416175f5160206157dd5f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b63e2517d3f60e01b8152336004527f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041602452604490fd5b503461043f57602036600319011261043f5767ffffffffffffffff6004351161043f576101a06004353603600319011261043f575f51602061581d5f395f51905f525467ffffffffffffffff8116801590816124b7575b60011490816124ad575b1590816124a4575b5061249557600167ffffffffffffffff198216175f51602061581d5f395f51905f525560ff8160401c1615612469575b6001600160a01b03611d5a6004803501613d6d565b1615610a0f576001600160a01b03611d76600435602401613d6d565b1615610a0f576001600160a01b03611d92600435604401613d6d565b1615610a0f576001600160a01b03611daf60043561012401613d6d565b1615610a0f576001600160a01b03611dcc60043561014401613d6d565b1615610a0f5762093a80606460043501351061245a5760c4600435013560a460043501351161243b5760056084600435013510801561244a575b61243b576107d060c460043501351161243b5762278d0060e460043501351161242c57611e6f91611e4261016460043501600435600401613d81565b611e67611e5d61018460049794973501600435600401613d81565b9690923691613db4565b943691613db4565b91611e78615562565b611e80615562565b835167ffffffffffffffff811161232757611ea85f51602061573d5f395f51905f5254613889565b601f81116123c1575b50602094601f821160011461234657948394958293949261233b575b50508160011b915f199060031b1c1916175f51602061573d5f395f51905f52555b825167ffffffffffffffff811161232757611f165f51602061577d5f395f51905f5254613889565b601f81116122bc575b506020601f821160011461224257839482939492612237575b50508160011b915f199060031b1c1916175f51602061577d5f395f51905f52555b611f61615562565b611f69615562565b6001600160a01b03611f7f600435604401613d6d565b1660405163cdf456e160e01b8152602081600481855afa9081156117f0578491612218575b506001600160a01b03611fba6004803501613d6d565b166001600160a01b03909116036121ea576040516306250ab160e01b8152602081600481855afa9081156117f05784916121f9575b506001600160a01b03612006600435602401613d6d565b166001600160a01b03909116036121ea57600491906001600160a01b0361202f84358501613d6d565b85546001600160a01b03191691161784556001600160a01b036120558435602401613d6d565b600180546001600160a01b031981169390921692831790559060206001600160a01b036120858735602401613d6d565b166040519687809263313ce56760e01b82525afa8015610dc95786906121ab575b6001600160a81b03199092161760a09190911b60ff60a01b1617600155600380546001600160a01b0319169190911790556004356064810135600255608481013560065560a481013560075560c481013560085560e4810135600955610104810135600a555f19600f554260125560ff925061212e906121299061012401613d6d565b6147d2565b5061214661214161014460043501613d6d565b61487c565b5060401c16156121535780f35b68ff0000000000000000195f51602061581d5f395f51905f5254165f51602061581d5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b50936020813d6020116121e2575b816121c660209383613708565b81010312610ed357519360ff85168503610ed35760ff946120a6565b3d91506121b9565b6389335e9160e01b8352600483fd5b612212915060203d602011611206576111f88183613708565b5f611fef565b612231915060203d602011611206576111f88183613708565b5f611fa4565b015190505f80611f38565b5f51602061577d5f395f51905f52845280842090601f198316855b8181106122a45750958360019596971061228c575b505050811b015f51602061577d5f395f51905f5255611f59565b01515f1960f88460031b161c191690555f8080612272565b9192602060018192868b01518155019401920161225d565b5f51602061577d5f395f51905f5284527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f830160051c810160208410612320575b601f830160051c82018110612315575050611f1f565b8581556001016122ff565b50806122ff565b634e487b7160e01b83526041600452602483fd5b015190505f80611ecd565b601f198216955f51602061573d5f395f51905f52855280852091855b8881106123a957508360019596979810612391575b505050811b015f51602061573d5f395f51905f5255611eee565b01515f1960f88460031b161c191690555f8080612377565b91926020600181928685015181550194019201612362565b5f51602061573d5f395f51905f5284527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f830160051c810160208410612425575b601f830160051c8201811061241a575050611eb1565b858155600101612404565b5080612404565b636f4991d960e01b8252600482fd5b63369276d760e11b8252600482fd5b5060646084600435013511611e06565b63496d940960e11b8252600482fd5b68ffffffffffffffffff19811668010000000000000001175f51602061581d5f395f51905f5255611d45565b63f92ee8a960e01b8252600482fd5b9050155f611d15565b303b159150611d0d565b604083901c60ff16159150611d03565b503461043f578060031936011261043f576020601254604051908152f35b503461043f578060031936011261043f576020600854604051908152f35b503461043f578060031936011261043f57602060405162093a808152f35b503461043f578060031936011261043f57602060ff60015460a01c16604051908152f35b503461043f57602036600319011261043f577fdd02681c72429e05e5881892675bb1b283388ee4459189be78d1f2b12f23839a60206004356125856145ab565b80600c55604051908152a180f35b503461043f57602036600319011261043f576004356125b0614a82565b6125b8614ab7565b8015610757573382525f51602061575d5f395f51905f5260205280604083205410612693576125e56142f7565b33825260156020526040822080546126845761266e7f34ed56435f27b276fbc580322f23ec67a0d6f097a7509ae63250483cf68735f291600164ffffffffff6126306009544261375e565b1691858155018164ffffffffff1982541617905561264f8430336146ee565b6040805194855264ffffffffff90911660208501523393918291820190565b0390a2805f5160206157fd5f395f51905f525d80f35b6304bba81560e01b8352600483fd5b631e9acf1760e31b8252600482fd5b503461043f57602036600319011261043f576020906040906001600160a01b036126ca613622565b1681525f51602061575d5f395f51905f5283522054604051908152f35b503461043f57602036600319011261043f57612701613622565b6127096145ab565b6005546001600160a01b03169081612763575b600580546001600160a01b0319166001600160a01b03929092169182179055907fdaac33c9824c151488e79746a58b1b846dd797ac4b96a3a42efce76744fb109f8380a380f35b82546127799083906001600160a01b0316614ade565b61271c565b503461043f578060031936011261043f57806127986143cb565b6001546040516370a0823160e01b81523060048201529192906001600160a01b03811690602084602481855afa93841561086e5783946128a2575b5083612806575b858561043b6127e9838361375e565b604051938493846040919493926060820195825260208201520152565b909192939450602060018060a01b0360035416926024604051809581936337cef79160e01b835260048301525afa91821561086e57839261286a575b50926108239161285a60ff6128609660a01c1661374d565b916153d8565b905f8080806127da565b9150926020823d60201161289a575b8161288660209383613708565b810103126108625790519092612860612842565b3d9150612879565b9093506020813d6020116128ce575b816128be60209383613708565b810103126108625751925f6127d3565b3d91506128b1565b503461043f578060031936011261043f57602060ff5f5160206157dd5f395f51905f5254166040519015158152f35b503461043f578060031936011261043f57602061082d614660565b503461043f578060031936011261043f576020600654604051908152f35b503461043f578060031936011261043f576020600a54604051908152f35b503461043f57604036600319011261043f5760043560243561297c6145ab565b62278d0082116129c157816040917ff65507692ceb91f4fd4ae78cec2f6a0a1571e81421c737b20d574343d8b106879360095580600a5582519182526020820152a180f35b636f4991d960e01b8352600483fd5b503461043f57602036600319011261043f57602061082d610b7f6004356138c1565b503461043f578060031936011261043f576020600954604051908152f35b5034610862576080366003190112610862576024359060643560043560443567ffffffffffffffff831161086257366023840112156108625782600401359267ffffffffffffffff841161086257366024858301011161086257612a72614a82565b612a7a614ab7565b335f9081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615612f14578215158080612f0c575b612efd57612ac66142f7565b612e19575b6010545f945f9780612b1e575b877fafaa3bc4bd2c0ad26ece9d193ce54558aa29d58dcf23d06b1fa96b2f402e40888888612b088d6127e9614ba5565b0390a1805f5160206157fd5f395f51905f525d80f35b9193975091945060018060a01b0360055416948515612e0a575f546040516370a0823160e01b81523060048201526001600160a01b039091169690946020866024818b5afa958615612d7f575f96612dd6575b5080861115612dcf57612b8490866138fe565b8311612dc0576001546040516370a0823160e01b81523060048201529790602090899060249082906001600160a01b03165afa978815612d7f575f98612d8a575b50612bd1918491614b56565b6005546001600160a01b0316803b1561086257885f6084819587602498604051998a988997889563c60801b760e01b87526004870152828601526060604486015282606486015201848401378181018301849052601f01601f191681010301925af18015612d7f57612d6a575b508354600554612c5a916001600160a01b039182169116614ade565b83546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610e88578591612d37575b50612ca0906024926138fe565b6001546040516370a0823160e01b81523060048201529194919260209184919082906001600160a01b03165afa8015610e88578590612d03575b612ce492506138fe565b938410612cf5575f80808080612ad8565b624bbda960e91b8352600483fd5b506020823d602011612d2f575b81612d1d60209383613708565b8101031261086257612ce49151612cda565b3d9150612d10565b90506020813d602011612d62575b81612d5260209383613708565b8101031261086257516024612c93565b3d9150612d45565b612d779194505f90613708565b5f925f612c3e565b6040513d5f823e3d90fd5b9097506020813d602011612db8575b81612da660209383613708565b81010312610862575196612bd1612bc5565b3d9150612d99565b630394d17d60e01b5f5260045ffd5b505f612b84565b9095506020813d602011612e02575b81612df260209383613708565b810103126108625751945f612b71565b3d9150612de5565b63d92e233d60e01b5f5260045ffd5b6004546001600160a01b03168015612e0a576040516370a0823160e01b8152306004820152602081602481855afa908115612d7f575f91612ecb575b508411612ebc57604051635d043b2960e11b8152600481018590523060248201819052604482015290602090829060649082905f905af18015612d7f57612e9d575b50612acb565b612eb59060203d6020116117e9576117da8183613708565b505f612e97565b6372eb313960e11b5f5260045ffd5b90506020813d602011612ef5575b81612ee660209383613708565b8101031261086257515f612e55565b3d9150612ed9565b631f2a200560e01b5f5260045ffd5b508615612aba565b63e2517d3f60e01b5f52336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260445ffd5b3461086257602036600319011261086257612f64613622565b50602061082d613c94565b34610862575f36600319011261086257612f876145ab565b5f5160206157dd5f395f51905f525460ff811615612fde5760ff19165f5160206157dd5f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610862575f366003190112610862576020600b54604051908152f35b34610862575f366003190112610862575f546040516001600160a01b039091168152602090f35b346108625760403660031901126108625761304a613638565b336001600160a01b0382160361306857613066906004356149e6565b005b63334bd91960e11b5f5260045ffd5b34610862575f36600319011261086257602060405160128152f35b34610862576040366003190112610862576130666004356130b1613638565b906130d7610f1d825f525f5160206157bd5f395f51905f52602052600160405f20015490565b614948565b34610862575f366003190112610862576020600254604051908152f35b34610862575f3660031901126108625760206040517f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50418152f35b3461086257602036600319011261086257602061082d6004355f525f5160206157bd5f395f51905f52602052600160405f20015490565b346108625760203660031901126108625761043b61318960043561390b565b604080519384526020840192909252908201529081906060820190565b34610862576131b43661364e565b906131be836136a6565b335f9081526020919091526040902054925f1984106131e2575b61129293506146ee565b82841061324d576001600160a01b0381161561323a573315613227576112929361320b826136a6565b60018060a01b0333165f526020528360405f20910390556131d8565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8284637dc7a0d960e11b5f523360045260245260445260645ffd5b34610862575f36600319011261086257602060405162278d008152f35b34610862575f366003190112610862576020600c54604051908152f35b34610862575f3660031901126108625760205f51602061579d5f395f51905f5254604051908152f35b34610862575f366003190112610862576020601354604051908152f35b3461086257602036600319011261086257613301614660565b61271003612710811161331f5761082d61090460209260043561454a565b634e487b7160e01b5f52601160045260245ffd5b346108625760403660031901126108625761334c613622565b60243590331561323a576001600160a01b03169081156132275761336f336136a6565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461086257602036600319011261086257602061082d6004356138c1565b34610862575f366003190112610862576040515f5f51602061573d5f395f51905f52546133fc81613889565b808452906001811690811561348e5750600114613424575b61043b8361134a81850382613708565b5f51602061573d5f395f51905f525f9081527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0939250905b8082106134745750909150810160200161134a613414565b91926001816020925483858801015201910190929161345c565b60ff191660208086019190915291151560051b8401909101915061134a9050613414565b34610862575f366003190112610862576001546040516001600160a01b039091168152602090f35b34610862576020366003190112610862576004356134f66145ab565b62093a808110613537577f4decf8245b3b372c8400bc1162a847ed3e3b3dd5c84be7ea08c2412f6f6db64460406002548151908152836020820152a1600255005b63496d940960e11b5f5260045ffd5b346108625760203660031901126108625760043563ffffffff60e01b811680910361086257602090637965db0b60e01b811490811561358b575b506040519015158152f35b6301ffc9a760e01b14905082613580565b34610862575f36600319011261086257602061082d61376b565b34610862575f366003190112610862576005546040516001600160a01b039091168152602090f35b34610862575f366003190112610862576020906014548152f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361086257565b602435906001600160a01b038216820361086257565b6060906003190112610862576004356001600160a01b038116810361086257906024356001600160a01b0381168103610862579060443590565b34610862575f3660031901126108625760206040516305f5e1008152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b606090600319011261086257600435906024356001600160a01b0381168103610862579060443590565b90601f8019910116810190811067ffffffffffffffff82111761372a57604052565b634e487b7160e01b5f52604160045260245ffd5b90816020910312610862575190565b60ff16604d811161331f57600a0a90565b9190820180921161331f57565b6137736143cb565b6001546040516370a0823160e01b81523060048201526001600160a01b03821690602081602481855afa908115612d7f575f91613857575b505f92816137c3575b5050506137c09161375e565b90565b6003546040516337cef79160e01b815260048101949094529293509091602090849060249082906001600160a01b03165afa928315612d7f575f93613821575b509161285a60ff6138179460a01c1661374d565b6137c05f806137b4565b92506020833d60201161384f575b8161383c60209383613708565b810103126108625791519161285a613803565b3d915061382f565b90506020813d602011613881575b8161387260209383613708565b8101031261086257515f6137ab565b3d9150613865565b90600182811c921680156138b7575b60208310146138a357565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613898565b6138c961376b565b6305f5e100810180911161331f575f51602061579d5f395f51905f5254906305f5e100820180921161331f576137c0926153d8565b9190820391821161331f57565b905f915f915f918015613c88576139206143cb565b6001546040516370a0823160e01b815230600482015290926001600160a01b03841692909190602082602481875afa918215612d7f575f92613c54575b505f9180613bc7575b50816139719161375e565b908115613bb7579061398391836153d8565b908161398e916138fe565b9281613b1f575b505050806139a05750565b60045491946001600160a01b0390921691908215613b17576040516370a0823160e01b815230600482015291602083602481875afa928315612d7f575f93613ae3575b508215613ada57506040516363737ac960e11b81526004810182905292602084602481845afa938415612d7f575f94613aa6575b50828411613a2657505050925b565b91809695506020919350956024604051809481936303d1689d60e11b835260048301525afa908115612d7f575f91613a74575b5080821115613a6e57613a6b916138fe565b91565b50505f91565b90506020813d602011613a9e575b81613a8f60209383613708565b8101031261086257515f613a59565b3d9150613a82565b9093506020813d602011613ad2575b81613ac260209383613708565b810103126108625751925f613a17565b3d9150613ab5565b95945091505091565b9092506020813d602011613b0f575b81613aff60209383613708565b810103126108625751915f6139e3565b3d9150613af2565b915093925091565b613b33919293955060ff9060a01c1661374d565b6003546040516333aafcd560e01b81526004810194909452602090849060249082906001600160a01b03165afa918215612d7f575f92613b81575b613b7893506153d8565b915f8080613995565b91506020833d602011613baf575b81613b9c60209383613708565b8101031261086257613b78925191613b6e565b3d9150613b8f565b505f975087965086955050505050565b6003546040516337cef79160e01b815260048101879052929350602090839060249082906001600160a01b03165afa8015612d7f575f90613c20575b613c17925061285a60ff8860a01c1661374d565b90613971613966565b506020823d602011613c4c575b81613c3a60209383613708565b8101031261086257613c179151613c03565b3d9150613c2d565b9091506020813d602011613c80575b81613c7060209383613708565b810103126108625751905f61395d565b3d9150613c63565b505f9350839250829150565b60ff5f5160206157dd5f395f51905f525416613d6957600f545f198114613d6357613cbd61376b565b81811015613d5d57613cce916138fe565b60015490613ce160ff8360a01c1661374d565b6003546040516337cef79160e01b81526001600160a01b0394851660048201529360209185916024918391165afa918215612d7f575f92613d27575b6137c093506153d8565b91506020833d602011613d55575b81613d4260209383613708565b81010312610862576137c0925191613d1d565b3d9150613d35565b50505f90565b505f1990565b5f90565b356001600160a01b03811681036108625790565b903590601e1981360301821215610862570180359067ffffffffffffffff82116108625760200191813603831361086257565b92919267ffffffffffffffff821161372a5760405191613dde601f8201601f191660200184613708565b829481845281830111610862578281602093845f960137010152565b9081602091031261086257516001600160a01b03811681036108625790565b8181029291811591840414171561331f57565b90918015614218575f546001546001600160a01b03818116959194928116921682148015918691614204575b50506141f557613e73613e6d6006548461456f565b836138fe565b6003546040516333aafcd560e01b81526004810187905291946001600160a01b039091169190602082602481865afa918215612d7f575f926141c0575b509060ff613ec69260a01c1695610cd28761374d565b946040516370a0823160e01b815230600482015294602086602481855afa958615612d7f575f9661418c575b508587116141815786600c549687613f10575b505050505050505090565b602091613f1c916138fe565b926024604051809681936337cef79160e01b835260048301525afa928315612d7f575f9361414b575b509161285a613f539361374d565b916024906020613f61614e44565b93604051938480926370a0823160e01b82523060048301525afa8015612d7f575f90614117575b613f92925061375e565b908082111561410f57613fa4916138fe565b600454829082906001600160a01b031680614020575b50613fc5925061375e565b918215159283613fe9575b505050613fe4575f80808080808681613f05565b505f90565b90919250670de0b6b3a7640000830292808404670de0b6b3a7640000149015171561331f5761401791613e19565b115f8080613fd0565b6040516370a0823160e01b81523060048201529250602083602481845afa8015612d7f5785935f916140da575b508061405a575b50613fba565b909250602091506024604051809481936303d1689d60e11b835260048301525afa918215612d7f5783915f936140a0575b50613fc5926140999161375e565b5f80614054565b925090506020823d6020116140d2575b816140bd60209383613708565b8101031261086257905190829061409961408b565b3d91506140b0565b9350506020833d602011614107575b816140f660209383613708565b81010312610862578492515f61404d565b3d91506140e9565b50505f613fa4565b506020823d602011614143575b8161413160209383613708565b8101031261086257613f929151613f88565b3d9150614124565b92506020833d602011614179575b8161416660209383613708565b810103126108625791519161285a613f45565b3d9150614159565b505050505050505f90565b9095506020813d6020116141b8575b816141a860209383613708565b810103126108625751945f613ef2565b3d915061419b565b91506020823d6020116141ed575b816141db60209383613708565b810103126108625790519060ff613eb0565b3d91506141ce565b638686656d60e01b5f5260045ffd5b6001600160a01b031614159050845f613e58565b5050505f90565b5f51602061579d5f395f51905f52546305f5e100810180911161331f5761424461376b565b906305f5e100820180921161331f576137c0926153d8565b61426590614274565b8015613fe4576137c0906138c1565b60ff5f5160206157dd5f395f51905f525416613fe4576001600160a01b03165f908152601560205260409020600181015464ffffffffff16801580156142d0575b613d5d57600a546142c59161375e565b421015613fe4575490565b508042106142b5565b81156142e3570490565b634e487b7160e01b5f52601260045260245ffd5b601254421115613a245760105480156143c45760135442101561438a5761432c614323601254426138fe565b60115490613e19565b90808211614382575b8161433f916138fe565b806010554260125581614350575050565b7fe0c50b11a6cc6d75470f28bd76d20c8d223c626324486a273eefadf6c6e973a79160409182519182526020820152a1565b905080614335565b60407fe0c50b11a6cc6d75470f28bd76d20c8d223c626324486a273eefadf6c6e973a7915f6010554260125581519081525f6020820152a1565b5042601255565b60246143d5614e44565b5f546040516370a0823160e01b81523060048201529260209184919082906001600160a01b03165afa918215612d7f575f92614516575b508082111561450d5761441e916138fe565b905b6004546001600160a01b03168281614436575050565b6040516370a0823160e01b8152306004820152602081602481865afa908115612d7f575f916144db575b508061446c575b505050565b602091929394506024604051809581936303d1689d60e11b835260048301525afa908115612d7f575f916144a5575b6137c0925061375e565b90506020823d6020116144d3575b816144c060209383613708565b81010312610862576137c091519061449b565b3d91506144b3565b90506020813d602011614505575b816144f660209383613708565b8101031261086257515f614460565b3d91506144e9565b50505f90614420565b9091506020813d602011614542575b8161453260209383613708565b810103126108625751905f61440c565b3d9150614525565b9061455881612710846153d8565b9080156142e3576127106137c0930915159061375e565b6127106137c0926145818282856153d8565b920915159061375e565b916145978183856153d8565b9181156142e3576137c0930915159061375e565b335f9081527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c602052604090205460ff16156145e357565b63e2517d3f60e01b5f52336004527f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb160245260445ffd5b5f8181525f5160206157bd5f395f51905f526020908152604080832033845290915290205460ff161561464a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b61466861376b565b9081156146aa5761469b61467a6143cb565b614695600854946007549261468f84886138fe565b9061458b565b9061375e565b918083116146a65750565b9150565b6007549150565b5f51602061579d5f395f51905f52546305f5e100810180911161331f576146d661376b565b906305f5e100820180921161331f576137c09261458b565b6001600160a01b03169081156147bf576001600160a01b03169182156147ac57815f525f51602061575d5f395f51905f5260205260405f205481811061479357817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f51602061575d5f395f51905f5284520360405f2055845f525f51602061575d5f395f51905f52825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16613fe4576001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c602052604090205460ff16613fe4576001600160a01b03165f8181527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c60205260408120805460ff191660011790553391907f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16613d5d575f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615613d5d575f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5f5160206157fd5f395f51905f525c614aa85760015f5160206157fd5f395f51905f525d565b633ee5aeb560e01b5f5260045ffd5b60ff5f5160206157dd5f395f51905f525416614acf57565b63d93c066560e01b5f5260045ffd5b90614aea5f8284615476565b15614af3575050565b614afd81836154c3565b15614b35575f614b0d9183615527565b15614b155750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b50635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b9190614b63828285615476565b15614b6d57505050565b614b7781846154c3565b15614b875790614b0d9183615527565b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b6004546001600160a01b03168015614dcf575f546040516370a0823160e01b81523060048201526001600160a01b039091169190602081602481865afa908115612d7f575f91614d9d575b5060105480821115614d9557614c05916138fe565b80156144675760405163402d267d60e01b815230600482015290602082602481865afa918215612d7f575f92614d61575b5081811115614d595750915b82158015614cf4575b6144675782614c615f94602094614c9a94614b56565b60048054604051636e553f6560e01b8152918201929092523060248201529384926001600160a01b039092169183919082906044820190565b03925af18015612d7f57614cc5575b505f54600454613a24916001600160a01b039182169116614ade565b6020813d602011614cec575b81614cde60209383613708565b810103126108625751614ca9565b3d9150614cd1565b5060405163ef8b30f760e01b815260048101849052602081602481865afa908115612d7f575f91614d27575b5015614c4b565b90506020813d602011614d51575b81614d4260209383613708565b8101031261086257515f614d20565b3d9150614d35565b905091614c42565b9091506020813d602011614d8d575b81614d7d60209383613708565b810103126108625751905f614c36565b3d9150614d70565b50505f614c05565b90506020813d602011614dc7575b81614db860209383613708565b8101031261086257515f614bf0565b3d9150614dab565b50565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af19060015f5114821615614e23575b6040525f60605215614b155750565b906001811516614e3b57823b15153d15161690614e14565b503d5f823e3d90fd5b60105480158015614e7e575b6137c057601354421015613fe457614e6d614323601254426138fe565b80821115613d5d576137c0916138fe565b50601254421115614e50565b6001600160a01b03165f9081526015602052604090206001015464ffffffffff1680158015614eeb575b614edc57600a54614ec49161375e565b421015614ecd57565b636e91a5df60e11b5f5260045ffd5b63174f812760e31b5f5260045ffd5b50804210614eb4565b9091906001600160a01b031680156147bf57805f525f51602061575d5f395f51905f5260205260405f2054838110614f90576020845f94957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587525f51602061575d5f395f51905f528452036040862055805f51602061579d5f395f51905f5254035f51602061579d5f395f51905f5255604051908152a3565b915063391434e360e21b5f5260045260245260445260645ffd5b905f925f925f9281156153cb57614fbf6143cb565b6001546040516370a0823160e01b815230600482015290936001600160a01b03851692909190602082602481875afa918215612d7f575f92615397575b505f918061530a575b50816150109161375e565b9081156152f9579061502291836153d8565b908161502d916138fe565b9381615252575b505050811515908161504557505050565b6004549396505f95508593909291906001600160a01b0316156152285750600480546040516370a0823160e01b815230928101929092526001600160a01b03169390602081602481885afa908115612d7f575f916151f6575b5080156151ee576040516363737ac960e11b81526004810184905290602082602481895afa918215612d7f575f926151ba575b508161512157505050915b848281615110575b50505081806150f4575b50509192565b5f5461510992906001600160a01b03166156e4565b5f816150ee565b615119926156e4565b5f84826150e4565b94965090939091818311615137575050936150dc565b6040516303d1689d60e11b815260048101839052919694509150602081602481875afa908115612d7f575f91615188575b50808211156151805761517a916138fe565b916150dc565b50505f61517a565b90506020813d6020116151b2575b816151a360209383613708565b8101031261086257515f615168565b3d9150615196565b9091506020813d6020116151e6575b816151d660209383613708565b810103126108625751905f6150d1565b3d91506151c9565b5050916150dc565b90506020813d602011615220575b8161521160209383613708565b8101031261086257515f61509e565b3d9150615204565b925080926152365750509192565b5f5461524b92906001600160a01b03166156e4565b5f806150ee565b602492965060ff6152669160a01c1661374d565b6003546040516333aafcd560e01b8152600481018990529360209185919082906001600160a01b03165afa918215612d7f575f926152c3575b6152a993506153d8565b9384828115615034576152bb926156e4565b5f8082615034565b91506020833d6020116152f1575b816152de60209383613708565b81010312610862576152a992519161529f565b3d91506152d1565b505f98508897508796505050505050565b6003546040516337cef79160e01b815260048101879052929350602090839060249082906001600160a01b03165afa8015612d7f575f90615363575b61535a925061285a60ff8960a01c1661374d565b90615010615005565b506020823d60201161538f575b8161537d60209383613708565b810103126108625761535a9151615346565b3d9150615370565b9091506020813d6020116153c3575b816153b360209383613708565b810103126108625751905f614ffc565b3d91506153a6565b505f945084935083925050565b90915f19838309928083029283808610950394808603951461546957848311156154515790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050906137c092506142d9565b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f51148416156154b2575b50604052565b3d15903b151516909216915f6154ac565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f51148416156155055750604052565b6001849294151661551e573b15153d151616915f6154ac565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f51148416156155055750604052565b60ff5f51602061581d5f395f51905f525460401c161561557e57565b631afcd79f60e31b5f5260045ffd5b600c549081156156e0576001546040516370a0823160e01b81523060048201526001600160a01b03821692602082602481875afa8015612d7f575f906156ac575b6155d892506138fe565b90602060018060a01b0360035416936024604051809681936337cef79160e01b835260048301525afa928315612d7f575f93615676575b509161285a60ff6156239460a01c1661374d565b90615630826108236143cb565b801561446757670de0b6b3a7640000830292808404670de0b6b3a7640000149015171561331f5761566091613e19565b1161566757565b63394997e160e21b5f5260045ffd5b92506020833d6020116156a4575b8161569160209383613708565b810103126108625791519161285a61560f565b3d9150615684565b506020823d6020116156d8575b816156c660209383613708565b81010312610862576155d891516155ce565b3d91506156b9565b5050565b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f5114821615615724575b60405215614b155750565b906001811516614e3b57823b15153d1516169061571956fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0452c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0202dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209b12223fa048126526c8bf656a3c788556394700dbe3125087b0ea796559053f64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
|
|
2367
|
+
"deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f905f3560e01c908162b37044146135de5750806301d22ccd146135b657806301e1d1141461359c57806301ffc9a7146135465780630493a0fa146134da57806306250ab1146134b257806306fdde03146133d057806307a2d13a146133b2578063095ea7b3146133335780630a28a477146132e857806314020b9a146132cb57806318160ddd146132a25780631c460b92146132855780631fc3277d1461326857806323b872dd146131a657806323ba5f551461316a578063248a9ca31461313357806324ea54f4146130f95780632a129169146130dc5780632f2ff15d14613092578063313ce5671461307757806336568abe1461303157806338d52e0f1461300a5780633dfe9f6a14612fed5780633f4ba83a14612f6f578063402d267d14612f4b578063425bb29314612a1057806345cb3dde146129f25780634cdad506146129d05780634ea63d4b1461295c5780634f04a86b1461293e57806354cf2aeb146129205780635b6b9ca3146129055780635c975abb146128d65780635ee35a261461277e5780636cfd1553146126e757806370a08231146126a2578063721c65131461259357806372bdc6f71461254557806374a498e11461252157806376bafa7b1461250357806376c1bcb6146124e55780637b3baab4146124c757806382c36f8814611cac5780638456cb5914611bbd5780638665120314611b6f57806388c47f68146110e25780638d158c2a14611b0f5780638dbdbe6d146118d15780638f8b65151461188357806391d148541461182d5780639351fd3d1461140f578063949db658146113e657806395d89b41146112f3578063984adf06146112d55780639f767822146112b9578063a217fddf1461129d578063a9059cbb1461126b578063ab3d85441461124f578063ab9068fa1461122c578063b0c20e4a146110e7578063b6608409146110e2578063bbbaffab146110c8578063c3f67de11461109f578063c6e6f59214611080578063c864be8a14611045578063cdf456e11461101e578063ce96cb7714610ffa578063cec10c1114610f49578063d326159214610f2b578063d547741f14610ed7578063d5bcb9b514610bc1578063d878016114610b15578063d905777e14610af1578063db45810e14610ace578063dbd5edc714610ab0578063dd62ed3e14610a68578063e00cd7dd14610a4b578063e2940eeb14610a2d578063e63697c814610897578063eded3fda14610879578063ef8b30f7146107ac578063f14faf6f146105f6578063f36c8f5c146105bb578063f5b541a614610580578063f8ba4cff14610564578063fa037766146104f1578063fd967f47146104d4578063fdf364e4146104425763ffa1ad74146103fb575f80fd5b3461043f578060031936011261043f575061043b60405161041d604082613708565b60058152640322e302e360dc1b6020820152604051918291826135f8565b0390f35b80fd5b503461043f578060031936011261043f5761045b614a82565b3381526015602052604081205480156104c55761048d90338352601560205282600160408220828155015533306146ee565b337f91c2e943be9b1896a63fd826425c05548b2a5583446fe30c455ed129c89f86a38280a2805f5160206157fd5f395f51905f525d80f35b634629aca760e01b8252600482fd5b503461043f578060031936011261043f5760206040516127108152f35b503461043f57604036600319011261043f576004358015158091036105605760407f1af5f5b5cad9ec1e8fdf4e5096d2d4f13f67164daf572b0d8513b7d63b1717409160243561053f6145ab565b60ff19600d541660ff831617600d5580600e5582519182526020820152a180f35b5080fd5b503461043f578060031936011261043f5761057d6142f7565b80f35b503461043f578060031936011261043f5760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b503461043f578060031936011261043f5760206040517f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb18152f35b503461043f57602036600319011261043f57600435610613614a82565b61061b614ab7565b7f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f19405217082525f5160206157bd5f395f51905f5260209081526040808420335f908152925290205460ff161561077557670de0b6b3a76400008110610766575f51602061579d5f395f51905f525415610757576106936142f7565b81546106ad908290309033906001600160a01b0316614dd2565b6106b98160145461375e565b6014558082601354421061074e575b7f8d09c6745838fd32e92a7aec9e4c21f8fcc0ddf4300881dcffdbf060ba8bcff2916106f39161375e565b61071160025461070381846142d9565b92836011556010554261375e565b601381905542601255604080519485526020850192909252908301523391606090a261073b614ba5565b805f5160206157fd5f395f51905f525d80f35b506010546106c8565b631f2a200560e01b8252600482fd5b633fe6dea360e01b8252600482fd5b63e2517d3f60e01b8252336004527f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f194052170602452604482fd5b503461043f57602036600319011261043f576003546001546040516337cef79160e01b81526001600160a01b038281166004830152909260209184916024918391165afa91821561086e578392610835575b602061082d610828866108238761081a60ff8960a01c1661374d565b906004356153d8565b61375e565b61421f565b604051908152f35b91506020823d602011610866575b8161085060209383613708565b810103126108625790519060206107fe565b5f80fd5b3d9150610843565b6040513d85823e3d90fd5b503461043f578060031936011261043f576020601054604051908152f35b503461043f576108a6366136de565b926108b2929192614a82565b6108ba614ab7565b8115610a1e576001600160a01b038316928315610a0f576108d96142f7565b6108e233614e8a565b6108ea614660565b6127100361271081116109fb57610904610909918561454a565b6146b1565b9485116109ec57338252601560205260408220805486116109dd5761043b9392918661095e926109398230614ef4565b548181116109c2575b5050338352601560205282600160408220828155015583614faa565b9391959096604051928352602083015233917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60403392a45f5160206157fd5f395f51905f525d604051938493846040919493926060820195825260208201520152565b6109d6916109cf916138fe565b33306146ee565b865f610942565b6389206fd560e01b8352600483fd5b638199f5f360e01b8252600482fd5b634e487b7160e01b83526011600452602483fd5b63d92e233d60e01b8252600482fd5b631f2a200560e01b8152600490fd5b503461043f578060031936011261043f576020600e54604051908152f35b503461043f578060031936011261043f5760206040516107d08152f35b503461043f57604036600319011261043f57610a82613622565b610a93610a8d613638565b916136a6565b9060018060a01b03165f52602052602060405f2054604051908152f35b503461043f578060031936011261043f576020600f54604051908152f35b503461043f578060031936011261043f576020604051670de0b6b3a76400008152f35b503461043f57602036600319011261043f57602061082d610b10613622565b614274565b503461043f57610b24366136de565b909192610b2f614a82565b610b37614ab7565b8315610a1e576001600160a01b038316928315610a0f57610b566142f7565b610b5f33614e8a565b338252601560205260408220805486116109dd57610b96610b7f876138c1565b610b90610b8a614660565b8261456f565b906138fe565b938410610bb25761043b9392918661095e926109398230614ef4565b638199f5f360e01b8352600483fd5b503461043f5760a036600319011261043f57610bdb613622565b610be3613638565b60843591604435916001600160a01b038416808503610ed357610c04614a82565b610c0c614ab7565b8315610ec45715610eb557610c1f6142f7565b84546001546001600160a01b0391821693821684149291169082610ea2575b505015610e93578160ff600d5416610e0c575b610c5e9130903390614dd2565b610c73610c6d6006548361456f565b826138fe565b6003546001546040516333aafcd560e01b81526001600160a01b03828116600483018190529694929388939160209184916024918391165afa91821561086e578392610dd4575b509061082391610cd260ff610cd89660a01c1661374d565b906153d8565b926040516370a0823160e01b8152306004820152602081602481855afa908115610dc9578691610d97575b508411610d8857610d1e918491610d198361558d565b6156e4565b610d26614ba5565b816040519184835260208301526001604083015260608201527f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd9714060803392a260643581106109ec576020915f5160206157fd5f395f51905f525d604051908152f35b63128bd24d60e31b8552600485fd5b90506020813d602011610dc1575b81610db260209383613708565b8101031261086257515f610d03565b3d9150610da5565b6040513d88823e3d90fd5b915091506020813d602011610e04575b81610df160209383613708565b8101031261086257518691610cd8610cba565b3d9150610de4565b5060405163479944cd60e11b815260048101859052602081602481855afa908115610e88578591610e56575b50600e5411610e475781610c51565b639098d6bd60e01b8452600484fd5b90506020813d602011610e80575b81610e7160209383613708565b8101031261086257515f610e38565b3d9150610e64565b6040513d87823e3d90fd5b638686656d60e01b8452600484fd5b6001600160a01b03161490505f80610c3e565b63d92e233d60e01b8552600485fd5b631f2a200560e01b8652600486fd5b8580fd5b503461043f57604036600319011261043f57610f27600435610ef7613638565b90610f22610f1d825f525f5160206157bd5f395f51905f52602052600160405f20015490565b61461a565b6149e6565b5080f35b503461043f578060031936011261043f576020601154604051908152f35b503461043f57606036600319011261043f5760443590602435600435610f6d6145ab565b600581108015610ff0575b610fe157838211610fe1576107d08411610fe157610fdb7fcf8a1e1d5f09cf3c97dbb653cd9a4d7aace9292fbc1bb8211febf2d400febbdd9394826006558360075580600855604051938493846040919493926060820195825260208201520152565b0390a180f35b63369276d760e11b8352600483fd5b5060648111610f78565b503461043f57602036600319011261043f57602061082d611019613622565b61425c565b503461043f578060031936011261043f57546040516001600160a01b039091168152602090f35b503461043f578060031936011261043f5760206040517f7590f0264744cd50915976d360e18170bc29db6f1a196d3b1061f7f1940521708152f35b503461043f57602036600319011261043f57602061082d60043561421f565b503461043f578060031936011261043f576004546040516001600160a01b039091168152602090f35b503461043f57602061082d6110dc3661364e565b91613e2c565b613688565b503461043f57602036600319011261043f57611101613622565b6111096145ab565b6001600160a01b03168015610a0f5760405163cdf456e160e01b8152602081600481855afa90811561086e57839161120d575b5082546001600160a01b039081169116036111cf576040516306250ab160e01b8152602081600481855afa90811561086e5783916111de575b506001546001600160a01b039081169116036111cf57600380546001600160a01b0319811683179091556001600160a01b03167f198f904b16806dad4efbe8f4ee9e422ab7e99c4a2a968c07684fa1fcf76d9e688380a380f35b6389335e9160e01b8252600482fd5b611200915060203d602011611206575b6111f88183613708565b810190613dfa565b5f611175565b503d6111ee565b611226915060203d602011611206576111f88183613708565b5f61113c565b503461043f578060031936011261043f57602060ff600d54166040519015158152f35b503461043f578060031936011261043f57602060405160648152f35b503461043f57604036600319011261043f57611292611288613622565b60243590336146ee565b602060405160018152f35b503461043f578060031936011261043f57602090604051908152f35b503461043f578060031936011261043f57602060405160058152f35b503461043f578060031936011261043f576020600754604051908152f35b503461043f578060031936011261043f5760405190805f51602061577d5f395f51905f52549061132282613889565b80855291600181169081156113bf5750600114611356575b61043b8461134a81860382613708565b604051918291826135f8565b5f51602061577d5f395f51905f5281527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa939250905b8082106113a55750909150810160200161134a8261133a565b91926001816020925483858801015201910190929161138c565b60ff191660208087019190915292151560051b8501909201925061134a915083905061133a565b503461043f578060031936011261043f576003546040516001600160a01b039091168152602090f35b503461043f57602036600319011261043f57611429613622565b611431614a82565b6114396145ab565b6114416142f7565b6004546001600160a01b03168061173d575b6001600160a01b03821691821515806116d6575b600480546001600160a01b031916851790556114b6575b507f94090355cefa089509f2588ee4b2bb59a298fb3659084d51fb9031be473778fa8380a3805f5160206157fd5f395f51905f525d80f35b83546040516370a0823160e01b81523060048201526001600160a01b039091169190602081602481865afa908115610dc95786916116a4575b506010548082111561169c57611504916138fe565b80611511575b505061147e565b60405163402d267d60e01b815230600482015290602082602481895afa918215611655578792611668575b50818111156116605750915b821515806115ef575b1561150a578261156761158e9484602094614b56565b604051636e553f6560e01b8152600481019190915230602482015292839081906044820190565b038188885af18015610e88576115bc575b84546115b492506001600160a01b0316614ade565b5f808061150a565b6020823d6020116115e7575b816115d560209383613708565b81010312610862576115b4915061159f565b3d91506115c8565b5060405163ef8b30f760e01b815260048101849052602081602481895afa908115611655578791611623575b501515611551565b90506020813d60201161164d575b8161163e60209383613708565b8101031261086257515f61161b565b3d9150611631565b6040513d89823e3d90fd5b905091611548565b9091506020813d602011611694575b8161168460209383613708565b810103126108625751905f61153c565b3d9150611677565b505084611504565b90506020813d6020116116ce575b816116bf60209383613708565b8101031261086257515f6114ef565b3d91506116b2565b6040516338d52e0f60e01b8152602081600481885afa908115610dc957869161171e575b5085546001600160a01b03918216911614611467576320ccc6c160e21b8552600485fd5b611737915060203d602011611206576111f88183613708565b5f6116fa565b82546117539082906001600160a01b0316614ade565b6040516370a0823160e01b8152306004820152602081602481855afa9081156117f05784916117fb575b508061178a575b50611453565b604051635d043b2960e11b815260048101919091523060248201819052604482015260208160648187865af180156117f05715611784576117e29060203d6020116117e9575b6117da8183613708565b81019061373e565b505f611784565b503d6117d0565b6040513d86823e3d90fd5b90506020813d602011611825575b8161181660209383613708565b8101031261086257515f61177d565b3d9150611809565b503461043f57604036600319011261043f576040611849613638565b9160043581525f5160206157bd5f395f51905f52602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461043f57602036600319011261043f577f0e9e5d4aff63c3bc575ab4952b02480f0018c583c06bd88b60b58cf7c98e646860206004356118c36145ab565b80600b55604051908152a180f35b503461043f57606036600319011261043f57600435906044356001600160a01b038116919082900361043f57611905614a82565b61190d614ab7565b8215610a1e578115611b00576119216142f7565b6003546001546040516337cef79160e01b81526001600160a01b0382811660048301819052959391929160209184916024918391165afa9182156117f0579084918293611ac6575b506119879261198060ff6108239360a01c1661374d565b90886153d8565b6119938161082361376b565b600f5410611ab7576119a48161421f565b936024358510611aa8576020956119be9130903390614dd2565b6119d6845f51602061579d5f395f51905f525461375e565b5f51602061579d5f395f51905f525581611a8657835f51602061579d5f395f51905f5254035f51602061579d5f395f51905f52555b81837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051888152a360405190815283858201527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760403392a3611a6f614ba5565b5f5160206157fd5f395f51905f525d604051908152f35b8183525f51602061575d5f395f51905f52855260408320848154019055611a0b565b638199f5f360e01b8452600484fd5b6324d758c360e21b8352600483fd5b925090506020823d602011611af8575b81611ae360209383613708565b81010312610862579051908390610823611969565b3d9150611ad6565b63d92e233d60e01b8152600490fd5b503461043f57602036600319011261043f576040906001600160a01b03611b34613622565b16815260156020522064ffffffffff60018254920154169061043b6040519283928390929164ffffffffff6020916040840195845216910152565b503461043f57602036600319011261043f577f333b26cca69716ad4680ddb07663f5bfb4f06045671f336af9a83690a3ae00f96020600435611baf6145ab565b80600f55604051908152a180f35b503461043f578060031936011261043f577f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181525f5160206157bd5f395f51905f5260209081526040808320335f908152925290205460ff1615611c7557611c23614ab7565b600160ff195f5160206157dd5f395f51905f525416175f5160206157dd5f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b63e2517d3f60e01b8152336004527f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041602452604490fd5b503461043f57602036600319011261043f5767ffffffffffffffff6004351161043f576101a06004353603600319011261043f575f51602061581d5f395f51905f525467ffffffffffffffff8116801590816124b7575b60011490816124ad575b1590816124a4575b5061249557600167ffffffffffffffff198216175f51602061581d5f395f51905f525560ff8160401c1615612469575b6001600160a01b03611d5a6004803501613d6d565b1615610a0f576001600160a01b03611d76600435602401613d6d565b1615610a0f576001600160a01b03611d92600435604401613d6d565b1615610a0f576001600160a01b03611daf60043561012401613d6d565b1615610a0f576001600160a01b03611dcc60043561014401613d6d565b1615610a0f5762093a80606460043501351061245a5760c4600435013560a460043501351161243b5760056084600435013510801561244a575b61243b576107d060c460043501351161243b5762278d0060e460043501351161242c57611e6f91611e4261016460043501600435600401613d81565b611e67611e5d61018460049794973501600435600401613d81565b9690923691613db4565b943691613db4565b91611e78615562565b611e80615562565b835167ffffffffffffffff811161232757611ea85f51602061573d5f395f51905f5254613889565b601f81116123c1575b50602094601f821160011461234657948394958293949261233b575b50508160011b915f199060031b1c1916175f51602061573d5f395f51905f52555b825167ffffffffffffffff811161232757611f165f51602061577d5f395f51905f5254613889565b601f81116122bc575b506020601f821160011461224257839482939492612237575b50508160011b915f199060031b1c1916175f51602061577d5f395f51905f52555b611f61615562565b611f69615562565b6001600160a01b03611f7f600435604401613d6d565b1660405163cdf456e160e01b8152602081600481855afa9081156117f0578491612218575b506001600160a01b03611fba6004803501613d6d565b166001600160a01b03909116036121ea576040516306250ab160e01b8152602081600481855afa9081156117f05784916121f9575b506001600160a01b03612006600435602401613d6d565b166001600160a01b03909116036121ea57600491906001600160a01b0361202f84358501613d6d565b85546001600160a01b03191691161784556001600160a01b036120558435602401613d6d565b600180546001600160a01b031981169390921692831790559060206001600160a01b036120858735602401613d6d565b166040519687809263313ce56760e01b82525afa8015610dc95786906121ab575b6001600160a81b03199092161760a09190911b60ff60a01b1617600155600380546001600160a01b0319169190911790556004356064810135600255608481013560065560a481013560075560c481013560085560e4810135600955610104810135600a555f19600f554260125560ff925061212e906121299061012401613d6d565b6147d2565b5061214661214161014460043501613d6d565b61487c565b5060401c16156121535780f35b68ff0000000000000000195f51602061581d5f395f51905f5254165f51602061581d5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b50936020813d6020116121e2575b816121c660209383613708565b81010312610ed357519360ff85168503610ed35760ff946120a6565b3d91506121b9565b6389335e9160e01b8352600483fd5b612212915060203d602011611206576111f88183613708565b5f611fef565b612231915060203d602011611206576111f88183613708565b5f611fa4565b015190505f80611f38565b5f51602061577d5f395f51905f52845280842090601f198316855b8181106122a45750958360019596971061228c575b505050811b015f51602061577d5f395f51905f5255611f59565b01515f1960f88460031b161c191690555f8080612272565b9192602060018192868b01518155019401920161225d565b5f51602061577d5f395f51905f5284527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f830160051c810160208410612320575b601f830160051c82018110612315575050611f1f565b8581556001016122ff565b50806122ff565b634e487b7160e01b83526041600452602483fd5b015190505f80611ecd565b601f198216955f51602061573d5f395f51905f52855280852091855b8881106123a957508360019596979810612391575b505050811b015f51602061573d5f395f51905f5255611eee565b01515f1960f88460031b161c191690555f8080612377565b91926020600181928685015181550194019201612362565b5f51602061573d5f395f51905f5284527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f830160051c810160208410612425575b601f830160051c8201811061241a575050611eb1565b858155600101612404565b5080612404565b636f4991d960e01b8252600482fd5b63369276d760e11b8252600482fd5b5060646084600435013511611e06565b63496d940960e11b8252600482fd5b68ffffffffffffffffff19811668010000000000000001175f51602061581d5f395f51905f5255611d45565b63f92ee8a960e01b8252600482fd5b9050155f611d15565b303b159150611d0d565b604083901c60ff16159150611d03565b503461043f578060031936011261043f576020601254604051908152f35b503461043f578060031936011261043f576020600854604051908152f35b503461043f578060031936011261043f57602060405162093a808152f35b503461043f578060031936011261043f57602060ff60015460a01c16604051908152f35b503461043f57602036600319011261043f577fdd02681c72429e05e5881892675bb1b283388ee4459189be78d1f2b12f23839a60206004356125856145ab565b80600c55604051908152a180f35b503461043f57602036600319011261043f576004356125b0614a82565b6125b8614ab7565b8015610757573382525f51602061575d5f395f51905f5260205280604083205410612693576125e56142f7565b33825260156020526040822080546126845761266e7f34ed56435f27b276fbc580322f23ec67a0d6f097a7509ae63250483cf68735f291600164ffffffffff6126306009544261375e565b1691858155018164ffffffffff1982541617905561264f8430336146ee565b6040805194855264ffffffffff90911660208501523393918291820190565b0390a2805f5160206157fd5f395f51905f525d80f35b6304bba81560e01b8352600483fd5b631e9acf1760e31b8252600482fd5b503461043f57602036600319011261043f576020906040906001600160a01b036126ca613622565b1681525f51602061575d5f395f51905f5283522054604051908152f35b503461043f57602036600319011261043f57612701613622565b6127096145ab565b6005546001600160a01b03169081612763575b600580546001600160a01b0319166001600160a01b03929092169182179055907fdaac33c9824c151488e79746a58b1b846dd797ac4b96a3a42efce76744fb109f8380a380f35b82546127799083906001600160a01b0316614ade565b61271c565b503461043f578060031936011261043f57806127986143cb565b6001546040516370a0823160e01b81523060048201529192906001600160a01b03811690602084602481855afa93841561086e5783946128a2575b5083612806575b858561043b6127e9838361375e565b604051938493846040919493926060820195825260208201520152565b909192939450602060018060a01b0360035416926024604051809581936337cef79160e01b835260048301525afa91821561086e57839261286a575b50926108239161285a60ff6128609660a01c1661374d565b916153d8565b905f8080806127da565b9150926020823d60201161289a575b8161288660209383613708565b810103126108625790519092612860612842565b3d9150612879565b9093506020813d6020116128ce575b816128be60209383613708565b810103126108625751925f6127d3565b3d91506128b1565b503461043f578060031936011261043f57602060ff5f5160206157dd5f395f51905f5254166040519015158152f35b503461043f578060031936011261043f57602061082d614660565b503461043f578060031936011261043f576020600654604051908152f35b503461043f578060031936011261043f576020600a54604051908152f35b503461043f57604036600319011261043f5760043560243561297c6145ab565b62278d0082116129c157816040917ff65507692ceb91f4fd4ae78cec2f6a0a1571e81421c737b20d574343d8b106879360095580600a5582519182526020820152a180f35b636f4991d960e01b8352600483fd5b503461043f57602036600319011261043f57602061082d610b7f6004356138c1565b503461043f578060031936011261043f576020600954604051908152f35b5034610862576080366003190112610862576024359060643560043560443567ffffffffffffffff831161086257366023840112156108625782600401359267ffffffffffffffff841161086257366024858301011161086257612a72614a82565b612a7a614ab7565b335f9081527f448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456602052604090205460ff1615612f14578215158080612f0c575b612efd57612ac66142f7565b612e19575b6010545f945f9780612b1e575b877fafaa3bc4bd2c0ad26ece9d193ce54558aa29d58dcf23d06b1fa96b2f402e40888888612b088d6127e9614ba5565b0390a1805f5160206157fd5f395f51905f525d80f35b9193975091945060018060a01b0360055416948515612e0a575f546040516370a0823160e01b81523060048201526001600160a01b039091169690946020866024818b5afa958615612d7f575f96612dd6575b5080861115612dcf57612b8490866138fe565b8311612dc0576001546040516370a0823160e01b81523060048201529790602090899060249082906001600160a01b03165afa978815612d7f575f98612d8a575b50612bd1918491614b56565b6005546001600160a01b0316803b1561086257885f6084819587602498604051998a988997889563c60801b760e01b87526004870152828601526060604486015282606486015201848401378181018301849052601f01601f191681010301925af18015612d7f57612d6a575b508354600554612c5a916001600160a01b039182169116614ade565b83546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610e88578591612d37575b50612ca0906024926138fe565b6001546040516370a0823160e01b81523060048201529194919260209184919082906001600160a01b03165afa8015610e88578590612d03575b612ce492506138fe565b938410612cf5575f80808080612ad8565b624bbda960e91b8352600483fd5b506020823d602011612d2f575b81612d1d60209383613708565b8101031261086257612ce49151612cda565b3d9150612d10565b90506020813d602011612d62575b81612d5260209383613708565b8101031261086257516024612c93565b3d9150612d45565b612d779194505f90613708565b5f925f612c3e565b6040513d5f823e3d90fd5b9097506020813d602011612db8575b81612da660209383613708565b81010312610862575196612bd1612bc5565b3d9150612d99565b630394d17d60e01b5f5260045ffd5b505f612b84565b9095506020813d602011612e02575b81612df260209383613708565b810103126108625751945f612b71565b3d9150612de5565b63d92e233d60e01b5f5260045ffd5b6004546001600160a01b03168015612e0a576040516370a0823160e01b8152306004820152602081602481855afa908115612d7f575f91612ecb575b508411612ebc57604051635d043b2960e11b8152600481018590523060248201819052604482015290602090829060649082905f905af18015612d7f57612e9d575b50612acb565b612eb59060203d6020116117e9576117da8183613708565b505f612e97565b6372eb313960e11b5f5260045ffd5b90506020813d602011612ef5575b81612ee660209383613708565b8101031261086257515f612e55565b3d9150612ed9565b631f2a200560e01b5f5260045ffd5b508615612aba565b63e2517d3f60e01b5f52336004527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960245260445ffd5b3461086257602036600319011261086257612f64613622565b50602061082d613c94565b34610862575f36600319011261086257612f876145ab565b5f5160206157dd5f395f51905f525460ff811615612fde5760ff19165f5160206157dd5f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610862575f366003190112610862576020600b54604051908152f35b34610862575f366003190112610862575f546040516001600160a01b039091168152602090f35b346108625760403660031901126108625761304a613638565b336001600160a01b0382160361306857613066906004356149e6565b005b63334bd91960e11b5f5260045ffd5b34610862575f36600319011261086257602060405160128152f35b34610862576040366003190112610862576130666004356130b1613638565b906130d7610f1d825f525f5160206157bd5f395f51905f52602052600160405f20015490565b614948565b34610862575f366003190112610862576020600254604051908152f35b34610862575f3660031901126108625760206040517f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50418152f35b3461086257602036600319011261086257602061082d6004355f525f5160206157bd5f395f51905f52602052600160405f20015490565b346108625760203660031901126108625761043b61318960043561390b565b604080519384526020840192909252908201529081906060820190565b34610862576131b43661364e565b906131be836136a6565b335f9081526020919091526040902054925f1984106131e2575b61129293506146ee565b82841061324d576001600160a01b0381161561323a573315613227576112929361320b826136a6565b60018060a01b0333165f526020528360405f20910390556131d8565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8284637dc7a0d960e11b5f523360045260245260445260645ffd5b34610862575f36600319011261086257602060405162278d008152f35b34610862575f366003190112610862576020600c54604051908152f35b34610862575f3660031901126108625760205f51602061579d5f395f51905f5254604051908152f35b34610862575f366003190112610862576020601354604051908152f35b3461086257602036600319011261086257613301614660565b61271003612710811161331f5761082d61090460209260043561454a565b634e487b7160e01b5f52601160045260245ffd5b346108625760403660031901126108625761334c613622565b60243590331561323a576001600160a01b03169081156132275761336f336136a6565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461086257602036600319011261086257602061082d6004356138c1565b34610862575f366003190112610862576040515f5f51602061573d5f395f51905f52546133fc81613889565b808452906001811690811561348e5750600114613424575b61043b8361134a81850382613708565b5f51602061573d5f395f51905f525f9081527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0939250905b8082106134745750909150810160200161134a613414565b91926001816020925483858801015201910190929161345c565b60ff191660208086019190915291151560051b8401909101915061134a9050613414565b34610862575f366003190112610862576001546040516001600160a01b039091168152602090f35b34610862576020366003190112610862576004356134f66145ab565b62093a808110613537577f4decf8245b3b372c8400bc1162a847ed3e3b3dd5c84be7ea08c2412f6f6db64460406002548151908152836020820152a1600255005b63496d940960e11b5f5260045ffd5b346108625760203660031901126108625760043563ffffffff60e01b811680910361086257602090637965db0b60e01b811490811561358b575b506040519015158152f35b6301ffc9a760e01b14905082613580565b34610862575f36600319011261086257602061082d61376b565b34610862575f366003190112610862576005546040516001600160a01b039091168152602090f35b34610862575f366003190112610862576020906014548152f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361086257565b602435906001600160a01b038216820361086257565b6060906003190112610862576004356001600160a01b038116810361086257906024356001600160a01b0381168103610862579060443590565b34610862575f3660031901126108625760206040516305f5e1008152f35b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b606090600319011261086257600435906024356001600160a01b0381168103610862579060443590565b90601f8019910116810190811067ffffffffffffffff82111761372a57604052565b634e487b7160e01b5f52604160045260245ffd5b90816020910312610862575190565b60ff16604d811161331f57600a0a90565b9190820180921161331f57565b6137736143cb565b6001546040516370a0823160e01b81523060048201526001600160a01b03821690602081602481855afa908115612d7f575f91613857575b505f92816137c3575b5050506137c09161375e565b90565b6003546040516337cef79160e01b815260048101949094529293509091602090849060249082906001600160a01b03165afa928315612d7f575f93613821575b509161285a60ff6138179460a01c1661374d565b6137c05f806137b4565b92506020833d60201161384f575b8161383c60209383613708565b810103126108625791519161285a613803565b3d915061382f565b90506020813d602011613881575b8161387260209383613708565b8101031261086257515f6137ab565b3d9150613865565b90600182811c921680156138b7575b60208310146138a357565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613898565b6138c961376b565b6305f5e100810180911161331f575f51602061579d5f395f51905f5254906305f5e100820180921161331f576137c0926153d8565b9190820391821161331f57565b905f915f915f918015613c88576139206143cb565b6001546040516370a0823160e01b815230600482015290926001600160a01b03841692909190602082602481875afa918215612d7f575f92613c54575b505f9180613bc7575b50816139719161375e565b908115613bb7579061398391836153d8565b908161398e916138fe565b9281613b1f575b505050806139a05750565b60045491946001600160a01b0390921691908215613b17576040516370a0823160e01b815230600482015291602083602481875afa928315612d7f575f93613ae3575b508215613ada57506040516363737ac960e11b81526004810182905292602084602481845afa938415612d7f575f94613aa6575b50828411613a2657505050925b565b91809695506020919350956024604051809481936303d1689d60e11b835260048301525afa908115612d7f575f91613a74575b5080821115613a6e57613a6b916138fe565b91565b50505f91565b90506020813d602011613a9e575b81613a8f60209383613708565b8101031261086257515f613a59565b3d9150613a82565b9093506020813d602011613ad2575b81613ac260209383613708565b810103126108625751925f613a17565b3d9150613ab5565b95945091505091565b9092506020813d602011613b0f575b81613aff60209383613708565b810103126108625751915f6139e3565b3d9150613af2565b915093925091565b613b33919293955060ff9060a01c1661374d565b6003546040516333aafcd560e01b81526004810194909452602090849060249082906001600160a01b03165afa918215612d7f575f92613b81575b613b7893506153d8565b915f8080613995565b91506020833d602011613baf575b81613b9c60209383613708565b8101031261086257613b78925191613b6e565b3d9150613b8f565b505f975087965086955050505050565b6003546040516337cef79160e01b815260048101879052929350602090839060249082906001600160a01b03165afa8015612d7f575f90613c20575b613c17925061285a60ff8860a01c1661374d565b90613971613966565b506020823d602011613c4c575b81613c3a60209383613708565b8101031261086257613c179151613c03565b3d9150613c2d565b9091506020813d602011613c80575b81613c7060209383613708565b810103126108625751905f61395d565b3d9150613c63565b505f9350839250829150565b60ff5f5160206157dd5f395f51905f525416613d6957600f545f198114613d6357613cbd61376b565b81811015613d5d57613cce916138fe565b60015490613ce160ff8360a01c1661374d565b6003546040516337cef79160e01b81526001600160a01b0394851660048201529360209185916024918391165afa918215612d7f575f92613d27575b6137c093506153d8565b91506020833d602011613d55575b81613d4260209383613708565b81010312610862576137c0925191613d1d565b3d9150613d35565b50505f90565b505f1990565b5f90565b356001600160a01b03811681036108625790565b903590601e1981360301821215610862570180359067ffffffffffffffff82116108625760200191813603831361086257565b92919267ffffffffffffffff821161372a5760405191613dde601f8201601f191660200184613708565b829481845281830111610862578281602093845f960137010152565b9081602091031261086257516001600160a01b03811681036108625790565b8181029291811591840414171561331f57565b90918015614218575f546001546001600160a01b03818116959194928116921682148015918691614204575b50506141f557613e73613e6d6006548461456f565b836138fe565b6003546040516333aafcd560e01b81526004810187905291946001600160a01b039091169190602082602481865afa918215612d7f575f926141c0575b509060ff613ec69260a01c1695610cd28761374d565b946040516370a0823160e01b815230600482015294602086602481855afa958615612d7f575f9661418c575b508587116141815786600c549687613f10575b505050505050505090565b602091613f1c916138fe565b926024604051809681936337cef79160e01b835260048301525afa928315612d7f575f9361414b575b509161285a613f539361374d565b916024906020613f61614e44565b93604051938480926370a0823160e01b82523060048301525afa8015612d7f575f90614117575b613f92925061375e565b908082111561410f57613fa4916138fe565b600454829082906001600160a01b031680614020575b50613fc5925061375e565b918215159283613fe9575b505050613fe4575f80808080808681613f05565b505f90565b90919250670de0b6b3a7640000830292808404670de0b6b3a7640000149015171561331f5761401791613e19565b115f8080613fd0565b6040516370a0823160e01b81523060048201529250602083602481845afa8015612d7f5785935f916140da575b508061405a575b50613fba565b909250602091506024604051809481936303d1689d60e11b835260048301525afa918215612d7f5783915f936140a0575b50613fc5926140999161375e565b5f80614054565b925090506020823d6020116140d2575b816140bd60209383613708565b8101031261086257905190829061409961408b565b3d91506140b0565b9350506020833d602011614107575b816140f660209383613708565b81010312610862578492515f61404d565b3d91506140e9565b50505f613fa4565b506020823d602011614143575b8161413160209383613708565b8101031261086257613f929151613f88565b3d9150614124565b92506020833d602011614179575b8161416660209383613708565b810103126108625791519161285a613f45565b3d9150614159565b505050505050505f90565b9095506020813d6020116141b8575b816141a860209383613708565b810103126108625751945f613ef2565b3d915061419b565b91506020823d6020116141ed575b816141db60209383613708565b810103126108625790519060ff613eb0565b3d91506141ce565b638686656d60e01b5f5260045ffd5b6001600160a01b031614159050845f613e58565b5050505f90565b5f51602061579d5f395f51905f52546305f5e100810180911161331f5761424461376b565b906305f5e100820180921161331f576137c0926153d8565b61426590614274565b8015613fe4576137c0906138c1565b60ff5f5160206157dd5f395f51905f525416613fe4576001600160a01b03165f908152601560205260409020600181015464ffffffffff16801580156142d0575b613d5d57600a546142c59161375e565b421015613fe4575490565b508042106142b5565b81156142e3570490565b634e487b7160e01b5f52601260045260245ffd5b601254421115613a245760105480156143c45760135442101561438a5761432c614323601254426138fe565b60115490613e19565b90808211614382575b8161433f916138fe565b806010554260125581614350575050565b7fe0c50b11a6cc6d75470f28bd76d20c8d223c626324486a273eefadf6c6e973a79160409182519182526020820152a1565b905080614335565b60407fe0c50b11a6cc6d75470f28bd76d20c8d223c626324486a273eefadf6c6e973a7915f6010554260125581519081525f6020820152a1565b5042601255565b60246143d5614e44565b5f546040516370a0823160e01b81523060048201529260209184919082906001600160a01b03165afa918215612d7f575f92614516575b508082111561450d5761441e916138fe565b905b6004546001600160a01b03168281614436575050565b6040516370a0823160e01b8152306004820152602081602481865afa908115612d7f575f916144db575b508061446c575b505050565b602091929394506024604051809581936303d1689d60e11b835260048301525afa908115612d7f575f916144a5575b6137c0925061375e565b90506020823d6020116144d3575b816144c060209383613708565b81010312610862576137c091519061449b565b3d91506144b3565b90506020813d602011614505575b816144f660209383613708565b8101031261086257515f614460565b3d91506144e9565b50505f90614420565b9091506020813d602011614542575b8161453260209383613708565b810103126108625751905f61440c565b3d9150614525565b9061455881612710846153d8565b9080156142e3576127106137c0930915159061375e565b6127106137c0926145818282856153d8565b920915159061375e565b916145978183856153d8565b9181156142e3576137c0930915159061375e565b335f9081527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c602052604090205460ff16156145e357565b63e2517d3f60e01b5f52336004527f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb160245260445ffd5b5f8181525f5160206157bd5f395f51905f526020908152604080832033845290915290205460ff161561464a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b61466861376b565b9081156146aa5761469b61467a6143cb565b614695600854946007549261468f84886138fe565b9061458b565b9061375e565b918083116146a65750565b9150565b6007549150565b5f51602061579d5f395f51905f52546305f5e100810180911161331f576146d661376b565b906305f5e100820180921161331f576137c09261458b565b6001600160a01b03169081156147bf576001600160a01b03169182156147ac57815f525f51602061575d5f395f51905f5260205260405f205481811061479357817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f51602061575d5f395f51905f5284520360405f2055845f525f51602061575d5f395f51905f52825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16613fe4576001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b6001600160a01b0381165f9081527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c602052604090205460ff16613fe4576001600160a01b03165f8181527f25f7f44d2cbb35948a0ec4a3daca6d9fef225ba74483a7793ae48fcb0272bb0c60205260408120805460ff191660011790553391907f71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16613d5d575f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff1615613d5d575f8181525f5160206157bd5f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b5f5160206157fd5f395f51905f525c614aa85760015f5160206157fd5f395f51905f525d565b633ee5aeb560e01b5f5260045ffd5b60ff5f5160206157dd5f395f51905f525416614acf57565b63d93c066560e01b5f5260045ffd5b90614aea5f8284615476565b15614af3575050565b614afd81836154c3565b15614b35575f614b0d9183615527565b15614b155750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b50635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b9190614b63828285615476565b15614b6d57505050565b614b7781846154c3565b15614b875790614b0d9183615527565b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b6004546001600160a01b03168015614dcf575f546040516370a0823160e01b81523060048201526001600160a01b039091169190602081602481865afa908115612d7f575f91614d9d575b5060105480821115614d9557614c05916138fe565b80156144675760405163402d267d60e01b815230600482015290602082602481865afa918215612d7f575f92614d61575b5081811115614d595750915b82158015614cf4575b6144675782614c615f94602094614c9a94614b56565b60048054604051636e553f6560e01b8152918201929092523060248201529384926001600160a01b039092169183919082906044820190565b03925af18015612d7f57614cc5575b505f54600454613a24916001600160a01b039182169116614ade565b6020813d602011614cec575b81614cde60209383613708565b810103126108625751614ca9565b3d9150614cd1565b5060405163ef8b30f760e01b815260048101849052602081602481865afa908115612d7f575f91614d27575b5015614c4b565b90506020813d602011614d51575b81614d4260209383613708565b8101031261086257515f614d20565b3d9150614d35565b905091614c42565b9091506020813d602011614d8d575b81614d7d60209383613708565b810103126108625751905f614c36565b3d9150614d70565b50505f614c05565b90506020813d602011614dc7575b81614db860209383613708565b8101031261086257515f614bf0565b3d9150614dab565b50565b6040516323b872dd60e01b5f9081526001600160a01b039384166004529290931660245260449390935260209060648180865af19060015f5114821615614e23575b6040525f60605215614b155750565b906001811516614e3b57823b15153d15161690614e14565b503d5f823e3d90fd5b60105480158015614e7e575b6137c057601354421015613fe457614e6d614323601254426138fe565b80821115613d5d576137c0916138fe565b50601254421115614e50565b6001600160a01b03165f9081526015602052604090206001015464ffffffffff1680158015614eeb575b614edc57600a54614ec49161375e565b421015614ecd57565b636e91a5df60e11b5f5260045ffd5b63174f812760e31b5f5260045ffd5b50804210614eb4565b9091906001600160a01b031680156147bf57805f525f51602061575d5f395f51905f5260205260405f2054838110614f90576020845f94957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587525f51602061575d5f395f51905f528452036040862055805f51602061579d5f395f51905f5254035f51602061579d5f395f51905f5255604051908152a3565b915063391434e360e21b5f5260045260245260445260645ffd5b905f925f925f9281156153cb57614fbf6143cb565b6001546040516370a0823160e01b815230600482015290936001600160a01b03851692909190602082602481875afa918215612d7f575f92615397575b505f918061530a575b50816150109161375e565b9081156152f9579061502291836153d8565b908161502d916138fe565b9381615252575b505050811515908161504557505050565b6004549396505f95508593909291906001600160a01b0316156152285750600480546040516370a0823160e01b815230928101929092526001600160a01b03169390602081602481885afa908115612d7f575f916151f6575b5080156151ee576040516363737ac960e11b81526004810184905290602082602481895afa918215612d7f575f926151ba575b508161512157505050915b848281615110575b50505081806150f4575b50509192565b5f5461510992906001600160a01b03166156e4565b5f816150ee565b615119926156e4565b5f84826150e4565b94965090939091818311615137575050936150dc565b6040516303d1689d60e11b815260048101839052919694509150602081602481875afa908115612d7f575f91615188575b50808211156151805761517a916138fe565b916150dc565b50505f61517a565b90506020813d6020116151b2575b816151a360209383613708565b8101031261086257515f615168565b3d9150615196565b9091506020813d6020116151e6575b816151d660209383613708565b810103126108625751905f6150d1565b3d91506151c9565b5050916150dc565b90506020813d602011615220575b8161521160209383613708565b8101031261086257515f61509e565b3d9150615204565b925080926152365750509192565b5f5461524b92906001600160a01b03166156e4565b5f806150ee565b602492965060ff6152669160a01c1661374d565b6003546040516333aafcd560e01b8152600481018990529360209185919082906001600160a01b03165afa918215612d7f575f926152c3575b6152a993506153d8565b9384828115615034576152bb926156e4565b5f8082615034565b91506020833d6020116152f1575b816152de60209383613708565b81010312610862576152a992519161529f565b3d91506152d1565b505f98508897508796505050505050565b6003546040516337cef79160e01b815260048101879052929350602090839060249082906001600160a01b03165afa8015612d7f575f90615363575b61535a925061285a60ff8960a01c1661374d565b90615010615005565b506020823d60201161538f575b8161537d60209383613708565b810103126108625761535a9151615346565b3d9150615370565b9091506020813d6020116153c3575b816153b360209383613708565b810103126108625751905f614ffc565b3d91506153a6565b505f945084935083925050565b90915f19838309928083029283808610950394808603951461546957848311156154515790829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b82634e487b715f52156003026011186020526024601cfd5b5050906137c092506142d9565b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f51148416156154b2575b50604052565b3d15903b151516909216915f6154ac565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f51148416156155055750604052565b6001849294151661551e573b15153d151616915f6154ac565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f51148416156155055750604052565b60ff5f51602061581d5f395f51905f525460401c161561557e57565b631afcd79f60e31b5f5260045ffd5b600c549081156156e0576001546040516370a0823160e01b81523060048201526001600160a01b03821692602082602481875afa8015612d7f575f906156ac575b6155d892506138fe565b90602060018060a01b0360035416936024604051809681936337cef79160e01b835260048301525afa928315612d7f575f93615676575b509161285a60ff6156239460a01c1661374d565b90615630826108236143cb565b801561446757670de0b6b3a7640000830292808404670de0b6b3a7640000149015171561331f5761566091613e19565b1161566757565b63394997e160e21b5f5260045ffd5b92506020833d6020116156a4575b8161569160209383613708565b810103126108625791519161285a61560f565b3d9150615684565b506020823d6020116156d8575b816156c660209383613708565b81010312610862576155d891516155ce565b3d91506156b9565b5050565b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f5114821615615724575b60405215614b155750565b906001811516614e3b57823b15153d1516169061571956fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0452c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0202dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209b12223fa048126526c8bf656a3c788556394700dbe3125087b0ea796559053f64736f6c634300081c0033",
|
|
2368
|
+
"linkReferences": {},
|
|
2369
|
+
"deployedLinkReferences": {},
|
|
2370
|
+
"immutableReferences": {},
|
|
2371
|
+
"inputSourceName": "project/contracts/v2/PSMVaultV2.sol",
|
|
2372
|
+
"buildInfoId": "solc-0_8_28-87ec70ffa76ff558aa1097889f6841f0a349476f"
|
|
2373
|
+
}
|