@wireio/stake 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/lib/stake.browser.js +5991 -4340
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +74 -60
  4. package/lib/stake.js +9782 -8054
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +5991 -4340
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  10. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.json +807 -0
  11. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +1 -1
  12. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +184 -346
  13. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  15. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +1 -1
  16. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +1 -1
  17. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +1 -1
  18. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  19. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  20. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +1 -1
  21. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.json +36 -0
  22. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  23. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  24. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +1 -1
  25. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +226 -0
  26. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +1 -1
  27. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +59 -0
  28. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +1 -1
  29. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +14 -12
  30. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +1 -1
  31. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  32. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  33. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  34. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  35. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20Pausable.sol/RewardsERC20Pausable.json → RewardsERC20.sol/RewardsERC20Upgradeable.json} +140 -78
  36. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  37. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20.sol/RewardsERC20.json → RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json} +218 -30
  38. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +1 -1
  39. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +2 -2
  40. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +1 -1
  41. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +2 -2
  42. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.dbg.json +4 -0
  43. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.json +10 -0
  44. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.dbg.json +4 -0
  45. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.json +10 -0
  46. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +1 -1
  47. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +121 -55
  48. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +1 -1
  49. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +836 -273
  50. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +1 -1
  51. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +150 -168
  52. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +1 -1
  53. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +301 -186
  54. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +1 -1
  55. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +814 -206
  56. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +1 -1
  57. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +244 -198
  58. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +1 -1
  59. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  60. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +1 -1
  61. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +165 -152
  62. package/src/assets/ethereum/ABI/outpost/Aggregator.sol/Aggregator.json +82 -0
  63. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +1 -1
  64. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +167 -282
  65. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +1 -1
  66. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +1 -1
  67. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +2 -54
  68. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +1 -1
  69. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.json +26 -8
  70. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +1 -1
  71. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.json +2 -2
  72. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  73. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.json +1650 -0
  74. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +1 -1
  75. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.json +2 -22
  76. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  77. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  78. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +1 -1
  79. package/src/networks/ethereum/clients/deposit.client.ts +86 -8
  80. package/src/networks/ethereum/clients/liq.client.ts +47 -0
  81. package/src/networks/ethereum/clients/pretoken.client.ts +127 -0
  82. package/src/networks/ethereum/clients/stake.client.ts +87 -24
  83. package/src/networks/ethereum/contract.ts +34 -48
  84. package/src/networks/ethereum/ethereum.ts +219 -96
  85. package/src/networks/ethereum/types.ts +9 -6
  86. package/src/networks/ethereum/utils.ts +308 -0
  87. package/src/networks/solana/clients/token.client.ts +0 -1
  88. package/src/networks/solana/solana.ts +44 -146
  89. package/src/networks/solana/types.ts +6 -2
  90. package/src/networks/solana/utils.ts +4 -6
  91. package/src/staker/types.ts +62 -0
  92. package/src/types.ts +18 -33
  93. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +0 -4
  94. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +0 -4
  95. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +0 -4
  96. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +0 -10
  97. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +0 -4
  98. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +0 -10
  99. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.dbg.json +0 -4
  100. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.json +0 -1650
@@ -4,29 +4,68 @@
4
4
  "sourceName": "contracts/liqEth/withdrawalQueue.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
10
16
  },
11
17
  {
12
- "inputs": [],
13
- "name": "AccessControlBadConfirmation",
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
14
31
  "type": "error"
15
32
  },
16
33
  {
17
34
  "inputs": [
18
35
  {
19
36
  "internalType": "address",
20
- "name": "account",
37
+ "name": "caller",
21
38
  "type": "address"
22
- },
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
23
46
  {
24
- "internalType": "bytes32",
25
- "name": "neededRole",
26
- "type": "bytes32"
47
+ "internalType": "address",
48
+ "name": "target",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
27
61
  }
28
62
  ],
29
- "name": "AccessControlUnauthorizedAccount",
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
30
69
  "type": "error"
31
70
  },
32
71
  {
@@ -153,11 +192,42 @@
153
192
  "name": "ERC721OutOfBoundsIndex",
154
193
  "type": "error"
155
194
  },
195
+ {
196
+ "inputs": [],
197
+ "name": "FailedCall",
198
+ "type": "error"
199
+ },
200
+ {
201
+ "inputs": [],
202
+ "name": "InvalidInitialization",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [],
207
+ "name": "NotInitializing",
208
+ "type": "error"
209
+ },
156
210
  {
157
211
  "inputs": [],
158
212
  "name": "ReentrancyGuardReentrantCall",
159
213
  "type": "error"
160
214
  },
215
+ {
216
+ "inputs": [],
217
+ "name": "UUPSUnauthorizedCallContext",
218
+ "type": "error"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "bytes32",
224
+ "name": "slot",
225
+ "type": "bytes32"
226
+ }
227
+ ],
228
+ "name": "UUPSUnsupportedProxiableUUID",
229
+ "type": "error"
230
+ },
161
231
  {
162
232
  "anonymous": false,
163
233
  "inputs": [
@@ -212,44 +282,26 @@
212
282
  "anonymous": false,
213
283
  "inputs": [
214
284
  {
215
- "indexed": true,
216
- "internalType": "uint256",
217
- "name": "id",
218
- "type": "uint256"
285
+ "indexed": false,
286
+ "internalType": "address",
287
+ "name": "authority",
288
+ "type": "address"
219
289
  }
220
290
  ],
221
- "name": "RequestClaimed",
291
+ "name": "AuthorityUpdated",
222
292
  "type": "event"
223
293
  },
224
294
  {
225
295
  "anonymous": false,
226
296
  "inputs": [
227
- {
228
- "indexed": true,
229
- "internalType": "uint256",
230
- "name": "id",
231
- "type": "uint256"
232
- },
233
- {
234
- "indexed": true,
235
- "internalType": "address",
236
- "name": "to",
237
- "type": "address"
238
- },
239
297
  {
240
298
  "indexed": false,
241
- "internalType": "uint256",
242
- "name": "amount",
243
- "type": "uint256"
244
- },
245
- {
246
- "indexed": false,
247
- "internalType": "uint256",
248
- "name": "readyAt",
249
- "type": "uint256"
299
+ "internalType": "uint64",
300
+ "name": "version",
301
+ "type": "uint64"
250
302
  }
251
303
  ],
252
- "name": "RequestCreated",
304
+ "name": "Initialized",
253
305
  "type": "event"
254
306
  },
255
307
  {
@@ -257,24 +309,18 @@
257
309
  "inputs": [
258
310
  {
259
311
  "indexed": true,
260
- "internalType": "bytes32",
261
- "name": "role",
262
- "type": "bytes32"
263
- },
264
- {
265
- "indexed": true,
266
- "internalType": "bytes32",
267
- "name": "previousAdminRole",
268
- "type": "bytes32"
312
+ "internalType": "uint256",
313
+ "name": "id",
314
+ "type": "uint256"
269
315
  },
270
316
  {
271
- "indexed": true,
272
- "internalType": "bytes32",
273
- "name": "newAdminRole",
274
- "type": "bytes32"
317
+ "indexed": false,
318
+ "internalType": "uint256",
319
+ "name": "amount",
320
+ "type": "uint256"
275
321
  }
276
322
  ],
277
- "name": "RoleAdminChanged",
323
+ "name": "RequestClaimed",
278
324
  "type": "event"
279
325
  },
280
326
  {
@@ -282,49 +328,37 @@
282
328
  "inputs": [
283
329
  {
284
330
  "indexed": true,
285
- "internalType": "bytes32",
286
- "name": "role",
287
- "type": "bytes32"
331
+ "internalType": "address",
332
+ "name": "from",
333
+ "type": "address"
288
334
  },
289
335
  {
290
336
  "indexed": true,
291
337
  "internalType": "address",
292
- "name": "account",
338
+ "name": "to",
293
339
  "type": "address"
294
340
  },
295
341
  {
296
342
  "indexed": true,
297
- "internalType": "address",
298
- "name": "sender",
299
- "type": "address"
343
+ "internalType": "uint256",
344
+ "name": "tokenId",
345
+ "type": "uint256"
300
346
  }
301
347
  ],
302
- "name": "RoleGranted",
348
+ "name": "Transfer",
303
349
  "type": "event"
304
350
  },
305
351
  {
306
352
  "anonymous": false,
307
353
  "inputs": [
308
- {
309
- "indexed": true,
310
- "internalType": "bytes32",
311
- "name": "role",
312
- "type": "bytes32"
313
- },
314
- {
315
- "indexed": true,
316
- "internalType": "address",
317
- "name": "account",
318
- "type": "address"
319
- },
320
354
  {
321
355
  "indexed": true,
322
356
  "internalType": "address",
323
- "name": "sender",
357
+ "name": "implementation",
324
358
  "type": "address"
325
359
  }
326
360
  ],
327
- "name": "RoleRevoked",
361
+ "name": "Upgraded",
328
362
  "type": "event"
329
363
  },
330
364
  {
@@ -333,46 +367,39 @@
333
367
  {
334
368
  "indexed": true,
335
369
  "internalType": "address",
336
- "name": "from",
370
+ "name": "user",
337
371
  "type": "address"
338
372
  },
339
373
  {
340
- "indexed": true,
341
- "internalType": "address",
342
- "name": "to",
343
- "type": "address"
374
+ "indexed": false,
375
+ "internalType": "uint256",
376
+ "name": "ethAmount",
377
+ "type": "uint256"
344
378
  },
345
379
  {
346
- "indexed": true,
380
+ "indexed": false,
347
381
  "internalType": "uint256",
348
- "name": "tokenId",
382
+ "name": "nftId",
349
383
  "type": "uint256"
350
- }
351
- ],
352
- "name": "Transfer",
353
- "type": "event"
354
- },
355
- {
356
- "inputs": [],
357
- "name": "DEFAULT_ADMIN_ROLE",
358
- "outputs": [
384
+ },
359
385
  {
360
- "internalType": "bytes32",
361
- "name": "",
362
- "type": "bytes32"
386
+ "indexed": false,
387
+ "internalType": "uint256",
388
+ "name": "readyAt",
389
+ "type": "uint256"
363
390
  }
364
391
  ],
365
- "stateMutability": "view",
366
- "type": "function"
392
+ "name": "WithdrawRequested",
393
+ "type": "event"
367
394
  },
368
395
  {
369
396
  "inputs": [],
370
- "name": "MANAGER_ROLE",
397
+ "name": "UPGRADE_INTERFACE_VERSION",
371
398
  "outputs": [
372
399
  {
373
- "internalType": "bytes32",
400
+ "internalType": "string",
374
401
  "name": "",
375
- "type": "bytes32"
402
+ "type": "string"
376
403
  }
377
404
  ],
378
405
  "stateMutability": "view",
@@ -396,6 +423,19 @@
396
423
  "stateMutability": "nonpayable",
397
424
  "type": "function"
398
425
  },
426
+ {
427
+ "inputs": [],
428
+ "name": "authority",
429
+ "outputs": [
430
+ {
431
+ "internalType": "address",
432
+ "name": "",
433
+ "type": "address"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
399
439
  {
400
440
  "inputs": [
401
441
  {
@@ -439,6 +479,19 @@
439
479
  "stateMutability": "nonpayable",
440
480
  "type": "function"
441
481
  },
482
+ {
483
+ "inputs": [],
484
+ "name": "ethNeeded",
485
+ "outputs": [
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "stateMutability": "view",
493
+ "type": "function"
494
+ },
442
495
  {
443
496
  "inputs": [
444
497
  {
@@ -480,17 +533,22 @@
480
533
  {
481
534
  "inputs": [
482
535
  {
483
- "internalType": "bytes32",
484
- "name": "role",
485
- "type": "bytes32"
536
+ "internalType": "uint256",
537
+ "name": "id",
538
+ "type": "uint256"
486
539
  }
487
540
  ],
488
- "name": "getRoleAdmin",
541
+ "name": "info",
489
542
  "outputs": [
490
543
  {
491
- "internalType": "bytes32",
492
- "name": "",
493
- "type": "bytes32"
544
+ "internalType": "uint256",
545
+ "name": "ethAmount",
546
+ "type": "uint256"
547
+ },
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "readyAt",
551
+ "type": "uint256"
494
552
  }
495
553
  ],
496
554
  "stateMutability": "view",
@@ -498,18 +556,18 @@
498
556
  },
499
557
  {
500
558
  "inputs": [
501
- {
502
- "internalType": "bytes32",
503
- "name": "role",
504
- "type": "bytes32"
505
- },
506
559
  {
507
560
  "internalType": "address",
508
- "name": "account",
561
+ "name": "manager",
509
562
  "type": "address"
563
+ },
564
+ {
565
+ "internalType": "uint64",
566
+ "name": "_withdrawDelay",
567
+ "type": "uint64"
510
568
  }
511
569
  ],
512
- "name": "grantRole",
570
+ "name": "initialize",
513
571
  "outputs": [],
514
572
  "stateMutability": "nonpayable",
515
573
  "type": "function"
@@ -517,17 +575,17 @@
517
575
  {
518
576
  "inputs": [
519
577
  {
520
- "internalType": "bytes32",
521
- "name": "role",
522
- "type": "bytes32"
578
+ "internalType": "address",
579
+ "name": "owner",
580
+ "type": "address"
523
581
  },
524
582
  {
525
583
  "internalType": "address",
526
- "name": "account",
584
+ "name": "operator",
527
585
  "type": "address"
528
586
  }
529
587
  ],
530
- "name": "hasRole",
588
+ "name": "isApprovedForAll",
531
589
  "outputs": [
532
590
  {
533
591
  "internalType": "bool",
@@ -539,48 +597,13 @@
539
597
  "type": "function"
540
598
  },
541
599
  {
542
- "inputs": [
543
- {
544
- "internalType": "uint256",
545
- "name": "id",
546
- "type": "uint256"
547
- }
548
- ],
549
- "name": "info",
550
- "outputs": [
551
- {
552
- "internalType": "uint256",
553
- "name": "ethAmount",
554
- "type": "uint256"
555
- },
556
- {
557
- "internalType": "uint256",
558
- "name": "readyAt",
559
- "type": "uint256"
560
- }
561
- ],
562
- "stateMutability": "view",
563
- "type": "function"
564
- },
565
- {
566
- "inputs": [
567
- {
568
- "internalType": "address",
569
- "name": "owner",
570
- "type": "address"
571
- },
572
- {
573
- "internalType": "address",
574
- "name": "operator",
575
- "type": "address"
576
- }
577
- ],
578
- "name": "isApprovedForAll",
600
+ "inputs": [],
601
+ "name": "isConsumingScheduledOp",
579
602
  "outputs": [
580
603
  {
581
- "internalType": "bool",
604
+ "internalType": "bytes4",
582
605
  "name": "",
583
- "type": "bool"
606
+ "type": "bytes4"
584
607
  }
585
608
  ],
586
609
  "stateMutability": "view",
@@ -597,21 +620,10 @@
597
620
  "internalType": "uint256",
598
621
  "name": "amount",
599
622
  "type": "uint256"
600
- },
601
- {
602
- "internalType": "uint256",
603
- "name": "unlockTs",
604
- "type": "uint256"
605
623
  }
606
624
  ],
607
625
  "name": "mintRequest",
608
- "outputs": [
609
- {
610
- "internalType": "uint256",
611
- "name": "id",
612
- "type": "uint256"
613
- }
614
- ],
626
+ "outputs": [],
615
627
  "stateMutability": "nonpayable",
616
628
  "type": "function"
617
629
  },
@@ -661,21 +673,16 @@
661
673
  "type": "function"
662
674
  },
663
675
  {
664
- "inputs": [
676
+ "inputs": [],
677
+ "name": "proxiableUUID",
678
+ "outputs": [
665
679
  {
666
680
  "internalType": "bytes32",
667
- "name": "role",
681
+ "name": "",
668
682
  "type": "bytes32"
669
- },
670
- {
671
- "internalType": "address",
672
- "name": "callerConfirmation",
673
- "type": "address"
674
683
  }
675
684
  ],
676
- "name": "renounceRole",
677
- "outputs": [],
678
- "stateMutability": "nonpayable",
685
+ "stateMutability": "view",
679
686
  "type": "function"
680
687
  },
681
688
  {
@@ -702,24 +709,6 @@
702
709
  "stateMutability": "view",
703
710
  "type": "function"
704
711
  },
705
- {
706
- "inputs": [
707
- {
708
- "internalType": "bytes32",
709
- "name": "role",
710
- "type": "bytes32"
711
- },
712
- {
713
- "internalType": "address",
714
- "name": "account",
715
- "type": "address"
716
- }
717
- ],
718
- "name": "revokeRole",
719
- "outputs": [],
720
- "stateMutability": "nonpayable",
721
- "type": "function"
722
- },
723
712
  {
724
713
  "inputs": [
725
714
  {
@@ -789,6 +778,32 @@
789
778
  "stateMutability": "nonpayable",
790
779
  "type": "function"
791
780
  },
781
+ {
782
+ "inputs": [
783
+ {
784
+ "internalType": "address",
785
+ "name": "newAuthority",
786
+ "type": "address"
787
+ }
788
+ ],
789
+ "name": "setAuthority",
790
+ "outputs": [],
791
+ "stateMutability": "nonpayable",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [
796
+ {
797
+ "internalType": "uint64",
798
+ "name": "_withdrawDelay",
799
+ "type": "uint64"
800
+ }
801
+ ],
802
+ "name": "setWithdrawDelay",
803
+ "outputs": [],
804
+ "stateMutability": "nonpayable",
805
+ "type": "function"
806
+ },
792
807
  {
793
808
  "inputs": [
794
809
  {
@@ -918,10 +933,41 @@
918
933
  "outputs": [],
919
934
  "stateMutability": "nonpayable",
920
935
  "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ {
940
+ "internalType": "address",
941
+ "name": "newImplementation",
942
+ "type": "address"
943
+ },
944
+ {
945
+ "internalType": "bytes",
946
+ "name": "data",
947
+ "type": "bytes"
948
+ }
949
+ ],
950
+ "name": "upgradeToAndCall",
951
+ "outputs": [],
952
+ "stateMutability": "payable",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [],
957
+ "name": "withdrawDelay",
958
+ "outputs": [
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "stateMutability": "view",
966
+ "type": "function"
921
967
  }
922
968
  ],
923
- "bytecode": "0x608034610318576040906001600160401b03818301818111838210176103025783526011825260209070131a5c515d1a0815da5d1a191c985dd85b607a1b828401528351928484018481108382111761030257855260078452660d8d2e2ee8aa8960cb1b8385015260019060009482865581518481116102ee57600254928484811c941680156102e4575b878510146102d0578190601f94858111610281575b508790858311600114610220578992610215575b5050600019600383901b1c191690841b176002555b80519384116102015760039586548481811c911680156101f7575b878210146101e3578381116101a0575b508592851160011461013f579394508492919083610134575b50501b9160001990841b1c19161790555b6101263361031d565b5051611a4f90816103af8239f35b01519250388061010c565b86815285812093958591601f198316915b88838310610186575050501061016e575b505050811b01905561011d565b015160001983861b60f8161c19169055388080610161565b858701518855909601959485019487935090810190610150565b8782528682208480880160051c8201928989106101da575b0160051c019085905b8281106101cf5750506100f3565b8381550185906101c1565b925081926101b8565b634e487b7160e01b82526022600452602482fd5b90607f16906100e3565b634e487b7160e01b86526041600452602486fd5b0151905038806100b3565b60028a52888a208794509190601f1984168b5b8b82821061026b5750508411610252575b505050811b016002556100c8565b015160001960f88460031b161c19169055388080610244565b8385015186558a97909501949384019301610233565b909150600289528789208580850160051c8201928a86106102c7575b918891869594930160051c01915b8281106102b957505061009f565b8b81558594508891016102ab565b9250819261029d565b634e487b7160e01b88526022600452602488fd5b93607f169361008a565b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b6001600160a01b031660008181527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604081205490919060ff166103aa5781805260016020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146112285750806306fdde0314611163578063081812fc14611125578063095ea7b31461103e57806318160ddd1461102057806323b872dd14611009578063248a9ca314610fda5780632e34059914610f865780632f2ff15d14610f475780632f745c5914610ec357806336568abe14610e7c5780634270d87814610b4457806342842e0e14610b165780634f558e7914610ae05780634f6ccce714610a8a57806357cb4947146105ed57806361b8ce8c146105cf5780636352211e1461059f57806370a082311461057457806381d12c581461053f57806391d14854146104f257806395d89b41146103e2578063a217fddf146103c6578063a22cb46514610321578063b88d4fde1461028c578063c87b56dd14610235578063d547741f146101f4578063e985e9c51461019e5763ec87621c1461015e57600080fd5b346101995760003660031901126101995760206040517faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c8152f35b600080fd5b34610199576040366003190112610199576101b7611307565b6101bf61131d565b9060018060a01b03809116600052600760205260406000209116600052602052602060ff604060002054166040519015158152f35b346101995760403660031901126101995761023360043561021361131d565b9080600052600160205261022e6001604060002001546117ae565b611854565b005b34610199576020366003190112610199576102516004356116f9565b50600060405161026081611384565b5261028860405161027081611384565b600081526040519182916020835260208301906112c7565b0390f35b34610199576080366003190112610199576102a5611307565b6102ad61131d565b906044356064359267ffffffffffffffff84116101995736602385011215610199578360040135926102de846113c2565b936102ec60405195866113a0565b80855236602482880101116101995760208160009260246102339901838901378601015261031b8383836113de565b336118cb565b346101995760403660031901126101995761033a611307565b60243590811515809203610199576001600160a01b03169081156103ad57336000526007602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101839052602490fd5b3461019957600036600319011261019957602060405160008152f35b346101995760003660031901126101995760405160006003549060018260011c91600184169182156104e8575b60209485851084146104d25785879486865291826000146104b2575050600114610455575b50610441925003836113a0565b6102886040519282849384528301906112c7565b84915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b906000915b85831061049a575050610441935082010185610434565b80548389018501528794508693909201918101610483565b60ff19168582015261044195151560051b85010192508791506104349050565b634e487b7160e01b600052602260045260246000fd5b92607f169261040f565b346101995760403660031901126101995761050b61131d565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461019957602036600319011261019957600435600052600c6020526040806000206001815491015482519182526020820152f35b34610199576020366003190112610199576020610597610592611307565b6116c0565b604051908152f35b346101995760203660031901126101995760206105bd6004356116f9565b6040516001600160a01b039091168152f35b34610199576000366003190112610199576020600d54604051908152f35b3461019957606036600319011261019957610606611307565b604435610611611734565b600d549060001982146109695760018201600d5560405161063181611384565b600081526001600160a01b03841615610a7157600183016000908152600460205260409020546001600160a01b031680158015919082610a2b575b6001600160a01b0387166000818152600560209081526040808320805460019081019091558a018084526004909252822080546001600160a01b03191684179055919084907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a41561099557600a5460018601600052600b60205280604060002055600160401b81101561097f5761070f81600161072a9301600a55611673565b600188019082549060031b91821b91600019901b1916179055565b6001600160a01b03861603610916575b6108fd57833b6107c3575b5060209260405161075581611368565b60243581526001858201848152818601600052600c8752604060002092518355519101556040519160243583528483015260018060a01b0316907f41612386090d3716f01a2fa2e0e5b436c89d4479f1bd27e2644fe2ebad825cfe60406001850192a3600160405191018152f35b60405160208180610800630a85bd0160e11b95868352336004840152600060248401526001890160448401526080606484015260848301906112c7565b038160006001600160a01b038a165af1600091816108b8575b5061088157843d15610879573d90610830826113c2565b9161083e60405193846113a0565b82523d6000602084013e5b8151918261087257604051633250574960e11b81526001600160a01b0383166004820152602490fd5b6020915001fd5b606090610849565b6001600160e01b03191603610897576020610745565b604051633250574960e11b81526001600160a01b0384166004820152602490fd5b9091506020813d6020116108f5575b816108d4602093836113a0565b8101031261019957516001600160e01b031981168103610199579086610819565b3d91506108c7565b6040516339e3563760e11b815260006004820152602490fd5b61091f856116c0565b60001981019081116109695760018060a01b03861660005260086020526040600020816000526020526001850160406000205560018501600052600960205260406000205561073a565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038616811461072a576109ae816116c0565b600186016000526009602052604060002054908260005260086020526040600020918181036109fe575b50600187016000526009602052600060408120556000526020526000604081205561072a565b816000528260205260406000205481600052806040600020556000526009602052604060002055886109d8565b610a5660018701600052600660205260406000206bffffffffffffffffffffffff60a01b8154169055565b8160005260056020526040600020600019815401905561066c565b604051633250574960e11b815260006004820152602490fd5b3461019957602036600319011261019957600435600a54811015610ac157610ab3602091611673565b90546040519160031b1c8152f35b6044906040519063295f44f760e21b8252600060048301526024820152fd5b34610199576020366003190112610199576004356000526004602052602060018060a01b03604060002054161515604051908152f35b3461019957610233610b2736611333565b9060405192610b3584611384565b6000845261031b8383836113de565b3461019957604036600319011261019957600435610b6061131d565b90610b69611734565b610b72816116f9565b6001600160a01b0392831690831603610e475780600052602091600c8352604060002090600160405192610ba584611368565b80548452015480858401524210610e0c57826000526004845260406000205416801590811580610dd9575b6000858152600487526040812080546001600160a01b03191690558590837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a48215610d54575050600a5483600052600b855280604060002055600160401b81101561097f5783610c4c826001610c659401600a55611673565b90919082549060031b91821b91600019901b1916179055565b600a54600019908181019081116109695784600052600b8652610c8d60406000205491611673565b90549060031b1c610ca181610c4c84611673565b600052600b86526040600020558360005260006040812055600a548015610d3e57810190610cce82611673565b909182549160031b1b19169055600a55610d255781600052600c835260006001604082208281550155604051917f98c7d59db21f59a7ca7155ddcc15cce916de3eb7c5e6d4b3615abb499698d5fa600080a2518152f35b604051637e27328960e01b815260048101839052602490fd5b634e487b7160e01b600052603160045260246000fd5b610d5f575b50610c65565b610d68816116c0565b84600052600986526040600020549160005260088652604060002091818103610dae575b5084600052600986526000604081205560005284526000604081205584610d59565b8160005282875260406000205481600052806040600020556000526009875260406000205586610d8c565b60008581526006602052604080822080546001600160a01b03191690558382526005885290208054600019019055610bd0565b60405162461bcd60e51b81526004810185905260136024820152724e6f7420726561647920746f20636c61696d2160681b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606490fd5b3461019957604036600319011261019957610e9561131d565b336001600160a01b03821603610eb15761023390600435611854565b60405163334bd91960e11b8152600490fd5b3461019957604036600319011261019957610edc611307565b60243590610ee9816116c0565b821015610f1c5760018060a01b031660005260086020526040600020906000526020526020604060002054604051908152f35b60405163295f44f760e21b81526001600160a01b039190911660048201526024810191909152604490fd5b3461019957604036600319011261019957610233600435610f6661131d565b90806000526001602052610f816001604060002001546117ae565b6117d4565b3461019957602036600319011261019957600435610fa3816116f9565b50600052600c60205260408060002060208251610fbf81611368565b60018354938483520154918291015282519182526020820152f35b346101995760203660031901126101995760043560005260016020526020600160406000200154604051908152f35b346101995761023361101a36611333565b916113de565b34610199576000366003190112610199576020600a54604051908152f35b3461019957604036600319011261019957611057611307565b602435611063816116f9565b33151580611112575b806110e5575b6110cd576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4600090815260066020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b5060018060a01b038116600052600760205260406000203360005260205260ff6040600020541615611072565b506001600160a01b03811633141561106c565b3461019957602036600319011261019957600435611142816116f9565b506000526006602052602060018060a01b0360406000205416604051908152f35b346101995760003660031901126101995760405160006002549060018260011c916001841691821561121e575b60209485851084146104d25785879486865291826000146104b25750506001146111c15750610441925003836113a0565b84915060026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace906000915b858310611206575050610441935082010185610434565b805483890185015287945086939092019181016111ef565b92607f1692611190565b34610199576020366003190112610199576004359063ffffffff60e01b82168092036101995760209163780e9d6360e01b811490811561126a575b5015158152f35b6380ac58cd60e01b8114915081156112b6575b811561128b575b5083611263565b637965db0b60e01b8114915081156112a5575b5083611284565b6301ffc9a760e01b1490508361129e565b635b5e139f60e01b8114915061127d565b919082519283825260005b8481106112f3575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016112d2565b600435906001600160a01b038216820361019957565b602435906001600160a01b038216820361019957565b6060906003190112610199576001600160a01b0390600435828116810361019957916024359081168103610199579060443590565b6040810190811067ffffffffffffffff82111761097f57604052565b6020810190811067ffffffffffffffff82111761097f57604052565b90601f8019910116810190811067ffffffffffffffff82111761097f57604052565b67ffffffffffffffff811161097f57601f01601f191660200190565b6001600160a01b038281169391908415610a715760009183835260049560209387855260409484868320541697331515806115e1575b50881580156115ae575b84845260058352878420805460010190558884528a835287842080546001600160a01b0319168617905588858b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8780a41561154257600a54888452600b83528088852055600160401b81101561152f5788610c4c8260016114a39401600a55611673565b8389036114de575b5050505016908184036114bf575050505050565b516364283d7b60e01b8152938401526024830152604482015260649150fd5b6114e7906116c0565b60001981019390841161151c5782916009918894526008815283832085845281528884842055888352522055388080806114ab565b634e487b7160e01b835260118a52602483fd5b634e487b7160e01b845260418b52602484fd5b8884146114a357611552896116c0565b8884526009835287842054908a8552600884528885209181810361158c575b508985526009845284898120558452825282878120556114a3565b81865282855289862054818752808b8820558652600985528986205538611571565b600089815260066020526040902080546001600160a01b031916905589845260058352878420805460001901905561141e565b80611632575b156115f25738611414565b878a888b61160f57916024925191637e27328960e01b8352820152fd5b5163177e802f60e01b815233918101918252602082019290925281906040010390fd5b503389148015611657575b806115e757508783526006825233868885205416146115e7565b5088835260078252868320338452825260ff878420541661163d565b600a548110156116aa57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190600090565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031680156116e057600052600560205260406000205490565b6040516322718ad960e21b815260006004820152602490fd5b6000818152600460205260409020546001600160a01b031690811561171c575090565b60249060405190637e27328960e01b82526004820152fd5b3360009081527fdf0e2e391206177b5985a6e8a050b68ff49710d99d65a50c9c1ef925d8debb9c60205260409020547faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c9060ff16156117905750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600160205260406000203360005260205260ff60406000205416156117905750565b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054161560001461184f5780835260016020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541660001461184f578083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b90939192833b6118dd575b5050505050565b604051630a85bd0160e11b8082526001600160a01b03938416600483015295831660248201526044810191909152608060648201529492169260209291859061192a9060848301906112c7565b039483816000978189895af18691816119d5575b5061199f575050503d600014611996573d611958816113c2565b9061196660405192836113a0565b81528093823d92013e5b8251928361199157604051633250574960e11b815260048101849052602490fd5b019050fd5b60609250611970565b919450915063ffffffff60e01b16036119bd575038808080806118d6565b60249060405190633250574960e11b82526004820152fd5b9091508481813d8311611a12575b6119ed81836113a0565b81010312611a0e57516001600160e01b031981168103611a0e57903861193e565b8680fd5b503d6119e356fea264697066735822122023fed214a56e22ae98e182e4ff5b3999067da46c5e957533231f669bb99ebcee64736f6c63430008190033",
924
- "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146112285750806306fdde0314611163578063081812fc14611125578063095ea7b31461103e57806318160ddd1461102057806323b872dd14611009578063248a9ca314610fda5780632e34059914610f865780632f2ff15d14610f475780632f745c5914610ec357806336568abe14610e7c5780634270d87814610b4457806342842e0e14610b165780634f558e7914610ae05780634f6ccce714610a8a57806357cb4947146105ed57806361b8ce8c146105cf5780636352211e1461059f57806370a082311461057457806381d12c581461053f57806391d14854146104f257806395d89b41146103e2578063a217fddf146103c6578063a22cb46514610321578063b88d4fde1461028c578063c87b56dd14610235578063d547741f146101f4578063e985e9c51461019e5763ec87621c1461015e57600080fd5b346101995760003660031901126101995760206040517faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c8152f35b600080fd5b34610199576040366003190112610199576101b7611307565b6101bf61131d565b9060018060a01b03809116600052600760205260406000209116600052602052602060ff604060002054166040519015158152f35b346101995760403660031901126101995761023360043561021361131d565b9080600052600160205261022e6001604060002001546117ae565b611854565b005b34610199576020366003190112610199576102516004356116f9565b50600060405161026081611384565b5261028860405161027081611384565b600081526040519182916020835260208301906112c7565b0390f35b34610199576080366003190112610199576102a5611307565b6102ad61131d565b906044356064359267ffffffffffffffff84116101995736602385011215610199578360040135926102de846113c2565b936102ec60405195866113a0565b80855236602482880101116101995760208160009260246102339901838901378601015261031b8383836113de565b336118cb565b346101995760403660031901126101995761033a611307565b60243590811515809203610199576001600160a01b03169081156103ad57336000526007602052604060002082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101839052602490fd5b3461019957600036600319011261019957602060405160008152f35b346101995760003660031901126101995760405160006003549060018260011c91600184169182156104e8575b60209485851084146104d25785879486865291826000146104b2575050600114610455575b50610441925003836113a0565b6102886040519282849384528301906112c7565b84915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b906000915b85831061049a575050610441935082010185610434565b80548389018501528794508693909201918101610483565b60ff19168582015261044195151560051b85010192508791506104349050565b634e487b7160e01b600052602260045260246000fd5b92607f169261040f565b346101995760403660031901126101995761050b61131d565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461019957602036600319011261019957600435600052600c6020526040806000206001815491015482519182526020820152f35b34610199576020366003190112610199576020610597610592611307565b6116c0565b604051908152f35b346101995760203660031901126101995760206105bd6004356116f9565b6040516001600160a01b039091168152f35b34610199576000366003190112610199576020600d54604051908152f35b3461019957606036600319011261019957610606611307565b604435610611611734565b600d549060001982146109695760018201600d5560405161063181611384565b600081526001600160a01b03841615610a7157600183016000908152600460205260409020546001600160a01b031680158015919082610a2b575b6001600160a01b0387166000818152600560209081526040808320805460019081019091558a018084526004909252822080546001600160a01b03191684179055919084907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a41561099557600a5460018601600052600b60205280604060002055600160401b81101561097f5761070f81600161072a9301600a55611673565b600188019082549060031b91821b91600019901b1916179055565b6001600160a01b03861603610916575b6108fd57833b6107c3575b5060209260405161075581611368565b60243581526001858201848152818601600052600c8752604060002092518355519101556040519160243583528483015260018060a01b0316907f41612386090d3716f01a2fa2e0e5b436c89d4479f1bd27e2644fe2ebad825cfe60406001850192a3600160405191018152f35b60405160208180610800630a85bd0160e11b95868352336004840152600060248401526001890160448401526080606484015260848301906112c7565b038160006001600160a01b038a165af1600091816108b8575b5061088157843d15610879573d90610830826113c2565b9161083e60405193846113a0565b82523d6000602084013e5b8151918261087257604051633250574960e11b81526001600160a01b0383166004820152602490fd5b6020915001fd5b606090610849565b6001600160e01b03191603610897576020610745565b604051633250574960e11b81526001600160a01b0384166004820152602490fd5b9091506020813d6020116108f5575b816108d4602093836113a0565b8101031261019957516001600160e01b031981168103610199579086610819565b3d91506108c7565b6040516339e3563760e11b815260006004820152602490fd5b61091f856116c0565b60001981019081116109695760018060a01b03861660005260086020526040600020816000526020526001850160406000205560018501600052600960205260406000205561073a565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038616811461072a576109ae816116c0565b600186016000526009602052604060002054908260005260086020526040600020918181036109fe575b50600187016000526009602052600060408120556000526020526000604081205561072a565b816000528260205260406000205481600052806040600020556000526009602052604060002055886109d8565b610a5660018701600052600660205260406000206bffffffffffffffffffffffff60a01b8154169055565b8160005260056020526040600020600019815401905561066c565b604051633250574960e11b815260006004820152602490fd5b3461019957602036600319011261019957600435600a54811015610ac157610ab3602091611673565b90546040519160031b1c8152f35b6044906040519063295f44f760e21b8252600060048301526024820152fd5b34610199576020366003190112610199576004356000526004602052602060018060a01b03604060002054161515604051908152f35b3461019957610233610b2736611333565b9060405192610b3584611384565b6000845261031b8383836113de565b3461019957604036600319011261019957600435610b6061131d565b90610b69611734565b610b72816116f9565b6001600160a01b0392831690831603610e475780600052602091600c8352604060002090600160405192610ba584611368565b80548452015480858401524210610e0c57826000526004845260406000205416801590811580610dd9575b6000858152600487526040812080546001600160a01b03191690558590837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a48215610d54575050600a5483600052600b855280604060002055600160401b81101561097f5783610c4c826001610c659401600a55611673565b90919082549060031b91821b91600019901b1916179055565b600a54600019908181019081116109695784600052600b8652610c8d60406000205491611673565b90549060031b1c610ca181610c4c84611673565b600052600b86526040600020558360005260006040812055600a548015610d3e57810190610cce82611673565b909182549160031b1b19169055600a55610d255781600052600c835260006001604082208281550155604051917f98c7d59db21f59a7ca7155ddcc15cce916de3eb7c5e6d4b3615abb499698d5fa600080a2518152f35b604051637e27328960e01b815260048101839052602490fd5b634e487b7160e01b600052603160045260246000fd5b610d5f575b50610c65565b610d68816116c0565b84600052600986526040600020549160005260088652604060002091818103610dae575b5084600052600986526000604081205560005284526000604081205584610d59565b8160005282875260406000205481600052806040600020556000526009875260406000205586610d8c565b60008581526006602052604080822080546001600160a01b03191690558382526005885290208054600019019055610bd0565b60405162461bcd60e51b81526004810185905260136024820152724e6f7420726561647920746f20636c61696d2160681b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606490fd5b3461019957604036600319011261019957610e9561131d565b336001600160a01b03821603610eb15761023390600435611854565b60405163334bd91960e11b8152600490fd5b3461019957604036600319011261019957610edc611307565b60243590610ee9816116c0565b821015610f1c5760018060a01b031660005260086020526040600020906000526020526020604060002054604051908152f35b60405163295f44f760e21b81526001600160a01b039190911660048201526024810191909152604490fd5b3461019957604036600319011261019957610233600435610f6661131d565b90806000526001602052610f816001604060002001546117ae565b6117d4565b3461019957602036600319011261019957600435610fa3816116f9565b50600052600c60205260408060002060208251610fbf81611368565b60018354938483520154918291015282519182526020820152f35b346101995760203660031901126101995760043560005260016020526020600160406000200154604051908152f35b346101995761023361101a36611333565b916113de565b34610199576000366003190112610199576020600a54604051908152f35b3461019957604036600319011261019957611057611307565b602435611063816116f9565b33151580611112575b806110e5575b6110cd576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4600090815260066020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b5060018060a01b038116600052600760205260406000203360005260205260ff6040600020541615611072565b506001600160a01b03811633141561106c565b3461019957602036600319011261019957600435611142816116f9565b506000526006602052602060018060a01b0360406000205416604051908152f35b346101995760003660031901126101995760405160006002549060018260011c916001841691821561121e575b60209485851084146104d25785879486865291826000146104b25750506001146111c15750610441925003836113a0565b84915060026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace906000915b858310611206575050610441935082010185610434565b805483890185015287945086939092019181016111ef565b92607f1692611190565b34610199576020366003190112610199576004359063ffffffff60e01b82168092036101995760209163780e9d6360e01b811490811561126a575b5015158152f35b6380ac58cd60e01b8114915081156112b6575b811561128b575b5083611263565b637965db0b60e01b8114915081156112a5575b5083611284565b6301ffc9a760e01b1490508361129e565b635b5e139f60e01b8114915061127d565b919082519283825260005b8481106112f3575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016112d2565b600435906001600160a01b038216820361019957565b602435906001600160a01b038216820361019957565b6060906003190112610199576001600160a01b0390600435828116810361019957916024359081168103610199579060443590565b6040810190811067ffffffffffffffff82111761097f57604052565b6020810190811067ffffffffffffffff82111761097f57604052565b90601f8019910116810190811067ffffffffffffffff82111761097f57604052565b67ffffffffffffffff811161097f57601f01601f191660200190565b6001600160a01b038281169391908415610a715760009183835260049560209387855260409484868320541697331515806115e1575b50881580156115ae575b84845260058352878420805460010190558884528a835287842080546001600160a01b0319168617905588858b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8780a41561154257600a54888452600b83528088852055600160401b81101561152f5788610c4c8260016114a39401600a55611673565b8389036114de575b5050505016908184036114bf575050505050565b516364283d7b60e01b8152938401526024830152604482015260649150fd5b6114e7906116c0565b60001981019390841161151c5782916009918894526008815283832085845281528884842055888352522055388080806114ab565b634e487b7160e01b835260118a52602483fd5b634e487b7160e01b845260418b52602484fd5b8884146114a357611552896116c0565b8884526009835287842054908a8552600884528885209181810361158c575b508985526009845284898120558452825282878120556114a3565b81865282855289862054818752808b8820558652600985528986205538611571565b600089815260066020526040902080546001600160a01b031916905589845260058352878420805460001901905561141e565b80611632575b156115f25738611414565b878a888b61160f57916024925191637e27328960e01b8352820152fd5b5163177e802f60e01b815233918101918252602082019290925281906040010390fd5b503389148015611657575b806115e757508783526006825233868885205416146115e7565b5088835260078252868320338452825260ff878420541661163d565b600a548110156116aa57600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190600090565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031680156116e057600052600560205260406000205490565b6040516322718ad960e21b815260006004820152602490fd5b6000818152600460205260409020546001600160a01b031690811561171c575090565b60249060405190637e27328960e01b82526004820152fd5b3360009081527fdf0e2e391206177b5985a6e8a050b68ff49710d99d65a50c9c1ef925d8debb9c60205260409020547faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c9060ff16156117905750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600160205260406000203360005260205260ff60406000205416156117905750565b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054161560001461184f5780835260016020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541660001461184f578083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b90939192833b6118dd575b5050505050565b604051630a85bd0160e11b8082526001600160a01b03938416600483015295831660248201526044810191909152608060648201529492169260209291859061192a9060848301906112c7565b039483816000978189895af18691816119d5575b5061199f575050503d600014611996573d611958816113c2565b9061196660405192836113a0565b81528093823d92013e5b8251928361199157604051633250574960e11b815260048101849052602490fd5b019050fd5b60609250611970565b919450915063ffffffff60e01b16036119bd575038808080806118d6565b60249060405190633250574960e11b82526004820152fd5b9091508481813d8311611a12575b6119ed81836113a0565b81010312611a0e57516001600160e01b031981168103611a0e57903861193e565b8680fd5b503d6119e356fea264697066735822122023fed214a56e22ae98e182e4ff5b3999067da46c5e957533231f669bb99ebcee64736f6c63430008190033",
969
+ "bytecode": "0x60a08060405234602957306080526122e6908161002f8239608051818181610b0a01526120f90152f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146116a1575081630288a39c1461168257816306fdde0314611594578163081812fc1461154a578163095ea7b3146114665781630df25f1d146114335781631798de811461128b57816318160ddd1461125f57816323b872dd146112475781632e340599146111f75781632f745c59146111665781634270d87814610de757816342842e0e14610db85781634f1ef28614610c125781634f558e7914610bd05781634f6ccce714610b6e57816352d1902d14610af557816361b8ce8c14610ad65781636352211e14610aa557816370a0823114610a785781637a9e5e4b146109fe57816381d12c58146109cd5781638fb360371461097957816395d89b411461083b578163977507c41461081c5781639a65797c146103a6578163a22cb46514610302578163ad3cb1cc146102bd578163b88d4fde1461025b578163bf7e214f14610225578163c87b56dd146101d3575063e985e9c51461018557600080fd5b346101cf57806003193601126101cf5760ff816020936101a3611766565b6101b46101ae611781565b91611bf9565b6001600160a01b039091168252855220549151911615158152f35b5080fd5b8383346101cf5760203660031901126101cf576101f36102219335611d1c565b50818151610200816117fe565b5280519161020d836117fe565b825251918291602083526020830190611726565b0390f35b5050346101cf57816003193601126101cf576000805160206121d18339815191525490516001600160a01b039091168152602090f35b8390346101cf5760803660031901126101cf57610276611766565b61027e611781565b6044359060643567ffffffffffffffff81116102b9576102b6946102a491369101611858565b926102b08383836118f9565b33611f60565b80f35b8580fd5b5050346101cf57816003193601126101cf578051610221916102de826117cc565b60058252640352e302e360dc1b602083015251918291602083526020830190611726565b919050346103a257806003193601126103a25761031d611766565b906024359182151580930361039e576001600160a01b0316928315610389575061034633611bf9565b83855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b836024925191630b61174360e31b8352820152fd5b8480fd5b8280fd5b919050346103a257806003193601126103a2576103c1611766565b906024908135926103d23633611d64565b6103de60035442611cf9565b926001908154966000199788811461080a57830193848455855190610402826117fe565b8a82526001600160a01b038181169a908b156107f457958095949392918c8a988f8b8152600080516020612271833981519152928c60209c8d948686528185205416958615908115998a6107d7575b61045a8c611c32565b80549091019055838652865281852080546001600160a01b031916851790558284887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8880a415610742579091506000805160206122518339815191529260008051602061223183398151915284549586948352522055600160401b82101561072e578f92916104f38161050c938f938e019055611c6b565b90919082549060031b91821b91600019901b1916179055565b036106ca575b506106b4573b61058d575b50505091859391606095936105557f7a64d79878509820925daa6339976afdd4e1c50dc32bfae6820dd5792bd306a798600254611cf9565b600255835190610564826117cc565b868252828201868152848c528b8452858c2092518355519101558251948552840152820152a280f35b906105d685889995938c8e879f869f9e9a9c98819c995196879586948593630a85bd0160e11b9b8c865233908601528401528b6044840152608060648401526084830190611726565b03925af1879181610670575b5061061657505050505050506105f6611f30565b8051919082610613575050505191633250574960e11b8352820152fd5b01fd5b63ffffffff60e09c94979c9b93959998969a9b1b160361065c575082905060607f7a64d79878509820925daa6339976afdd4e1c50dc32bfae6820dd5792bd306a761051d565b8551633250574960e11b8152908101899052fd5b9091508881813d83116106ad575b610688818361181a565b810103126106a957516001600160e01b0319811681036106a95790386105e2565b8780fd5b503d61067e565b505085516339e3563760e11b81529081018a9052fd5b6106d383611cc4565b90810190811161071c57898e8e81526000805160206122118339815191528a528181208382528a528a828220558a81526000805160206121f18339815191528a52205538610512565b634e487b7160e01b8e5260118552858efd5b5050634e487b7160e01b8f5260418652868ffd5b82869592939603610757575b5050505061050c565b839061076286611cc4565b928483526000805160206121f18339815191529081815282842054958885526000805160206122118339815191528252838520968681036107b6575b5084525281205582528b528c8120558f8b8b8e61074e565b8686528783528486205481875280868820558652838352848620553861079e565b6107e08561207d565b6107e989611c32565b8a8154019055610451565b8851633250574960e11b81528086018e90528690fd5b50634e487b7160e01b89526011905287fd5b5050346101cf57816003193601126101cf576020906002549051908152f35b828434610976578060031936011261097657815191817f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793018054936001908560011c926001871696871561096c575b602097888610811461095957899a509789979886829b52918260001461092f5750506001146108d4575b8588610221896108c5848a038561181a565b51928284938452830190611726565b815286935091907ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e5b82841061091757505050820101816108c5610221886108b3565b8054848a0186015288955087949093019281016108fd565b60ff19168882015294151560051b870190940194508593506108c5925061022191508990506108b3565b634e487b7160e01b845260228b52602484fd5b93607f1693610889565b80fd5b5050346101cf57816003193601126101cf5760209160ff6000805160206121d18339815191525460a01c166000146109c75750638fb3603760e01b905b516001600160e01b03199091168152f35b906109b6565b9050346103a25760203660031901126103a25791819235815280602052206001815491015482519182526020820152f35b9050346103a25760203660031901126103a257610a19611766565b6000805160206121d18339815191525490926001600160a01b039182163303610a6457833b15610a4d57846102b685611ed7565b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b5050346101cf5760203660031901126101cf57602090610a9e610a99611766565b611cc4565b9051908152f35b8284346109765760203660031901126109765750610ac560209235611d1c565b90516001600160a01b039091168152f35b5050346101cf57816003193601126101cf576020906001549051908152f35b828434610976578060031936011261097657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b6157602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9050346103a25760203660031901126103a25780359260008051602061225183398151915254841015610bb557602083610ba786611c6b565b91905490519160031b1c8152f35b6044939192519263295f44f760e21b84528301526024820152fd5b9050346103a25760203660031901126103a2573582526000805160206122718339815191526020908152918190205490516001600160a01b0390911615158152f35b918091506003193601126103a257610c28611766565b9060243567ffffffffffffffff811161039e57610c489036908501611858565b610c506120ef565b610c5a3633611d64565b610c626120ef565b81516352d1902d60e01b81526001600160a01b03841693906020818781885afa879181610d84575b50610ca6578351634c9c8ce360e01b8152808701869052602490fd5b84879487927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610d6e5750843b15610d585780546001600160a01b03191683179055518592917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2845115610d3d57505080836020610d3995519101845af4610d33611f30565b9161216d565b5080f35b925092505034610d4c57505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b81529182015260249150fd5b84602491845191632a87526960e21b8352820152fd5b9091506020813d602011610db0575b81610da06020938361181a565b810103126106a957519038610c8a565b3d9150610d93565b5050346101cf576102b690610dcc36611797565b91925192610dd9846117fe565b8584526102b08383836118f9565b9050346103a257816003193601126103a2578035610e03611781565b91610e0e3633611d64565b610e1782611d1c565b6001600160a01b039384169084160361113357818552602094808652848120936001865195610e45876117cc565b805487520154808887015242106110fa57838252600080516020612271833981519152908188528683205416801591821590816110db575b868552895287842080546001600160a01b03191690558584837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4821561105357505060008051602061225183398151915280549085845260008051602061223183398151915289528188852055600160401b821015611040576104f38287926001610f0d95019055611c6b565b6000805160206122518339815191528054600019919082810190811161102d57868552600080516020612231833981519152808b52610f4f8a87205492611c6b565b90549060031b1c610f63816104f385611c6b565b86528a528885205585845283888120558054801561101a57820191610f8783611c6b565b909182549160031b1b1916905555611004578281528086528060018682208281550155835191600254928303928311610ff15750506002557f528c12812330921443684e92c693e35ce5c885349727d7b7569816d4958c044f8483518551908152a2519051908152f35b634e487b7160e01b825260119052602490fd5b50602491845191637e27328960e01b8352820152fd5b634e487b7160e01b855260318652602485fd5b634e487b7160e01b855260118652602485fd5b634e487b7160e01b845260418552602484fd5b61105e575b50610f0d565b61106781611cc4565b8584526000805160206121f1833981519152808a52888520549285526000805160206122118339815191528a52888520928281036110ba575b508685528952838881205583528752818681205538611058565b828652838b5289862054818752808b8820558652818b5289862055386110a0565b6110e48761207d565b6110ed83611c32565b8054600019019055610e7d565b855162461bcd60e51b815280840188905260136024820152724e6f7420726561647920746f20636c61696d2160681b6044820152606490fd5b606490602085519162461bcd60e51b8352820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152fd5b828434610976578160031936011261097657611180611766565b926024359061118e85611cc4565b8210156111cb57506001600160a01b0390931681526000805160206122118339815191526020908152828220938252928352819020549051908152f35b925163295f44f760e21b81526001600160a01b0390941692840192835260208301525081906040010390fd5b9050346103a25760203660031901126103a2579181923561121781611d1c565b50815280602052206020825161122c816117cc565b60018354938483520154918291015282519182526020820152f35b8334610976576102b661125936611797565b916118f9565b5050346101cf57816003193601126101cf57602090600080516020612251833981519152549051908152f35b9050346103a257816003193601126103a2576112a5611766565b60243567ffffffffffffffff9182821682036102b9577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009384549060ff82881c16159482168015908161142b575b6001149081611421575b159081611418575b5061140a575067ffffffffffffffff19811660011785556113a2929161138591856113eb575b506113346120ae565b61133c6120ae565b6113446120ae565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556113706120ae565b6113786120ae565b6113806120ae565b611ed7565b61138d6120ae565b6113956120ae565b61139d6120ae565b61189f565b6113aa578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff1916680100000000000000011786553861132b565b865163f92ee8a960e01b8152fd5b90501538611305565b303b1591506112fd565b8691506112f3565b8390346101cf5760203660031901126101cf573567ffffffffffffffff811681036101cf576102b69061139d3633611d64565b919050346103a257806003193601126103a257611481611766565b916024359061148f82611d1c565b9033151580611537575b8061151a575b61150357506001600160a01b039384169382918591167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258780a48352600080516020612291833981519152602052822080546001600160a01b031916909117905580f35b60249084519063a9fbf51f60e01b82523390820152fd5b5061152482611bf9565b33875260205260ff84872054161561149f565b506001600160a01b038216331415611499565b9050346103a25760203660031901126103a257916020923561156b81611d1c565b50815260008051602061229183398151915283528190205490516001600160a01b039091168152f35b828434610976578060031936011261097657815191817f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793008054936001908560011c9260018716968715611678575b602097888610811461095957899a509789979886829b52918260001461092f57505060011461161d578588610221896108c5848a038561181a565b815286935091907f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf815b82841061166057505050820101816108c5610221886108b3565b8054848a018601528895508794909301928101611646565b93607f16936115e2565b5050346101cf57816003193601126101cf576020906003549051908152f35b8491346103a25760203660031901126103a2573563ffffffff60e01b81168091036103a2576020925063780e9d6360e01b81149081156116e3575b5015158152f35b6380ac58cd60e01b811491508115611715575b8115611704575b50836116dc565b6301ffc9a760e01b149050836116fd565b635b5e139f60e01b811491506116f6565b919082519283825260005b848110611752575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611731565b600435906001600160a01b038216820361177c57565b600080fd5b602435906001600160a01b038216820361177c57565b606090600319011261177c576001600160a01b0390600435828116810361177c5791602435908116810361177c579060443590565b6040810190811067ffffffffffffffff8211176117e857604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176117e857604052565b90601f8019910116810190811067ffffffffffffffff8211176117e857604052565b67ffffffffffffffff81116117e857601f01601f191660200190565b81601f8201121561177c5780359061186f8261183c565b9261187d604051948561181a565b8284526020838301011161177c57816000926020809301838601378301015290565b67ffffffffffffffff1680156118b457600355565b60405162461bcd60e51b815260206004820152601c60248201527f57697468647261772064656c61792063616e2774206265207a65726f000000006044820152606490fd5b90916001600160a01b03808416928315611be0576000938385526000805160206122718339815191529460208681526040978589842054169733151580611b46575b508815908115611b27575b61194f83611c32565b80546001019055888552835289842080546001600160a01b0319168617905587858a7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8780a415611aa1576000805160206122518339815191528054908885526000805160206122318339815191528452818b862055600160401b821015611a8d576104f3828a9260016119e595019055611c6b565b838803611a21575b505050501692838303611a005750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b611a2a90611cc4565b600019810193908411611a795782916000805160206121f1833981519152918a9452600080516020612211833981519152815283832085845281528784842055878352522055388080806119ed565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b8784146119e557611ab188611cc4565b8784526000805160206121f1833981519152908184528a852054918a865260008051602061221183398151915285528b862092828103611b05575b508986528452848b8120558452825282898120556119e5565b8287528386528c808820548091838a5289205587528186528c87205538611aec565b611b308961207d565b611b398a611c32565b8054600019019055611946565b80611b93575b15611b57573861193b565b89888a611b74576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b81523360048201526024810191909152604490fd5b503389148015611bc5575b80611b4c5750878452600080516020612291833981519152835233878b8620541614611b4c565b50611bcf89611bf9565b338552835260ff8a85205416611b9e565b604051633250574960e11b815260006004820152602490fd5b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6000805160206122518339815191528054821015611cae576000527fa42f15e5d656f8155fd7419d740a6073999f19cd6e061449ce4a257150545bf20190600090565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811615611ce057611cdc90611c32565b5490565b6040516322718ad960e21b815260006004820152602490fd5b91908201809211611d0657565b634e487b7160e01b600052601160045260246000fd5b600081815260008051602061227183398151915260205260409020546001600160a01b0316908115611d4c575090565b60249060405190637e27328960e01b82526004820152fd5b6000805160206121d18339815191528054909290916001600160a01b0380841692916004831061177c576000926000604094855194602086019463b700961360e01b8652169384602487015230604487015263ffffffff60e01b83351660648701526064865260a086019567ffffffffffffffff9681811088821117611a8d57918491899384528280528260205251908a5afa611ec6575b15611e0c575b5050505050505050565b63ffffffff1615611eaf5760ff60a01b19958616600160a01b178755843b1561177c57606494600092838651978880958194634a63ebf760e11b835260048301528960248301528060448301528084848401378181018301849052601f01601f191681010301925af18015611ea457611e95575b50505081541690553880808080808080611e02565b82116117e85752388080611e80565b82513d6000823e3d90fd5b835162d1953b60e31b815260048101839052602490fd5b50516020518060201c150290611dfc565b6000805160206121d183398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b3d15611f5b573d90611f418261183c565b91611f4f604051938461181a565b82523d6000602084013e565b606090565b9293823b611f70575b5050505050565b611fb49060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190611726565b03906020816000938185885af190829082612034575b50506120025782611fd9611f30565b8051919082611ffb57604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b0319160361201c57503880808080611f69565b60249060405190633250574960e11b82526004820152fd5b909192506020813d602011612075575b816120516020938361181a565b810103126101cf5751906001600160e01b0319821682036109765750903880611fca565b3d9150612044565b60005260008051602061229183398151915260205260406000206bffffffffffffffffffffffff60a01b8154169055565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156120dd57565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561213f575b505061212d57565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880612125565b90612194575080511561218257602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806121c7575b6121a5575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561219d56fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed03645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304a26469706673582212205144634e1afb4ab35b636f73e2dc1277c6c276689a41871fd95ee32931eae1df64736f6c63430008190033",
970
+ "deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146116a1575081630288a39c1461168257816306fdde0314611594578163081812fc1461154a578163095ea7b3146114665781630df25f1d146114335781631798de811461128b57816318160ddd1461125f57816323b872dd146112475781632e340599146111f75781632f745c59146111665781634270d87814610de757816342842e0e14610db85781634f1ef28614610c125781634f558e7914610bd05781634f6ccce714610b6e57816352d1902d14610af557816361b8ce8c14610ad65781636352211e14610aa557816370a0823114610a785781637a9e5e4b146109fe57816381d12c58146109cd5781638fb360371461097957816395d89b411461083b578163977507c41461081c5781639a65797c146103a6578163a22cb46514610302578163ad3cb1cc146102bd578163b88d4fde1461025b578163bf7e214f14610225578163c87b56dd146101d3575063e985e9c51461018557600080fd5b346101cf57806003193601126101cf5760ff816020936101a3611766565b6101b46101ae611781565b91611bf9565b6001600160a01b039091168252855220549151911615158152f35b5080fd5b8383346101cf5760203660031901126101cf576101f36102219335611d1c565b50818151610200816117fe565b5280519161020d836117fe565b825251918291602083526020830190611726565b0390f35b5050346101cf57816003193601126101cf576000805160206121d18339815191525490516001600160a01b039091168152602090f35b8390346101cf5760803660031901126101cf57610276611766565b61027e611781565b6044359060643567ffffffffffffffff81116102b9576102b6946102a491369101611858565b926102b08383836118f9565b33611f60565b80f35b8580fd5b5050346101cf57816003193601126101cf578051610221916102de826117cc565b60058252640352e302e360dc1b602083015251918291602083526020830190611726565b919050346103a257806003193601126103a25761031d611766565b906024359182151580930361039e576001600160a01b0316928315610389575061034633611bf9565b83855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b836024925191630b61174360e31b8352820152fd5b8480fd5b8280fd5b919050346103a257806003193601126103a2576103c1611766565b906024908135926103d23633611d64565b6103de60035442611cf9565b926001908154966000199788811461080a57830193848455855190610402826117fe565b8a82526001600160a01b038181169a908b156107f457958095949392918c8a988f8b8152600080516020612271833981519152928c60209c8d948686528185205416958615908115998a6107d7575b61045a8c611c32565b80549091019055838652865281852080546001600160a01b031916851790558284887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8880a415610742579091506000805160206122518339815191529260008051602061223183398151915284549586948352522055600160401b82101561072e578f92916104f38161050c938f938e019055611c6b565b90919082549060031b91821b91600019901b1916179055565b036106ca575b506106b4573b61058d575b50505091859391606095936105557f7a64d79878509820925daa6339976afdd4e1c50dc32bfae6820dd5792bd306a798600254611cf9565b600255835190610564826117cc565b868252828201868152848c528b8452858c2092518355519101558251948552840152820152a280f35b906105d685889995938c8e879f869f9e9a9c98819c995196879586948593630a85bd0160e11b9b8c865233908601528401528b6044840152608060648401526084830190611726565b03925af1879181610670575b5061061657505050505050506105f6611f30565b8051919082610613575050505191633250574960e11b8352820152fd5b01fd5b63ffffffff60e09c94979c9b93959998969a9b1b160361065c575082905060607f7a64d79878509820925daa6339976afdd4e1c50dc32bfae6820dd5792bd306a761051d565b8551633250574960e11b8152908101899052fd5b9091508881813d83116106ad575b610688818361181a565b810103126106a957516001600160e01b0319811681036106a95790386105e2565b8780fd5b503d61067e565b505085516339e3563760e11b81529081018a9052fd5b6106d383611cc4565b90810190811161071c57898e8e81526000805160206122118339815191528a528181208382528a528a828220558a81526000805160206121f18339815191528a52205538610512565b634e487b7160e01b8e5260118552858efd5b5050634e487b7160e01b8f5260418652868ffd5b82869592939603610757575b5050505061050c565b839061076286611cc4565b928483526000805160206121f18339815191529081815282842054958885526000805160206122118339815191528252838520968681036107b6575b5084525281205582528b528c8120558f8b8b8e61074e565b8686528783528486205481875280868820558652838352848620553861079e565b6107e08561207d565b6107e989611c32565b8a8154019055610451565b8851633250574960e11b81528086018e90528690fd5b50634e487b7160e01b89526011905287fd5b5050346101cf57816003193601126101cf576020906002549051908152f35b828434610976578060031936011261097657815191817f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793018054936001908560011c926001871696871561096c575b602097888610811461095957899a509789979886829b52918260001461092f5750506001146108d4575b8588610221896108c5848a038561181a565b51928284938452830190611726565b815286935091907ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e5b82841061091757505050820101816108c5610221886108b3565b8054848a0186015288955087949093019281016108fd565b60ff19168882015294151560051b870190940194508593506108c5925061022191508990506108b3565b634e487b7160e01b845260228b52602484fd5b93607f1693610889565b80fd5b5050346101cf57816003193601126101cf5760209160ff6000805160206121d18339815191525460a01c166000146109c75750638fb3603760e01b905b516001600160e01b03199091168152f35b906109b6565b9050346103a25760203660031901126103a25791819235815280602052206001815491015482519182526020820152f35b9050346103a25760203660031901126103a257610a19611766565b6000805160206121d18339815191525490926001600160a01b039182163303610a6457833b15610a4d57846102b685611ed7565b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b5050346101cf5760203660031901126101cf57602090610a9e610a99611766565b611cc4565b9051908152f35b8284346109765760203660031901126109765750610ac560209235611d1c565b90516001600160a01b039091168152f35b5050346101cf57816003193601126101cf576020906001549051908152f35b828434610976578060031936011261097657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b6157602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9050346103a25760203660031901126103a25780359260008051602061225183398151915254841015610bb557602083610ba786611c6b565b91905490519160031b1c8152f35b6044939192519263295f44f760e21b84528301526024820152fd5b9050346103a25760203660031901126103a2573582526000805160206122718339815191526020908152918190205490516001600160a01b0390911615158152f35b918091506003193601126103a257610c28611766565b9060243567ffffffffffffffff811161039e57610c489036908501611858565b610c506120ef565b610c5a3633611d64565b610c626120ef565b81516352d1902d60e01b81526001600160a01b03841693906020818781885afa879181610d84575b50610ca6578351634c9c8ce360e01b8152808701869052602490fd5b84879487927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610d6e5750843b15610d585780546001600160a01b03191683179055518592917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2845115610d3d57505080836020610d3995519101845af4610d33611f30565b9161216d565b5080f35b925092505034610d4c57505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b81529182015260249150fd5b84602491845191632a87526960e21b8352820152fd5b9091506020813d602011610db0575b81610da06020938361181a565b810103126106a957519038610c8a565b3d9150610d93565b5050346101cf576102b690610dcc36611797565b91925192610dd9846117fe565b8584526102b08383836118f9565b9050346103a257816003193601126103a2578035610e03611781565b91610e0e3633611d64565b610e1782611d1c565b6001600160a01b039384169084160361113357818552602094808652848120936001865195610e45876117cc565b805487520154808887015242106110fa57838252600080516020612271833981519152908188528683205416801591821590816110db575b868552895287842080546001600160a01b03191690558584837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4821561105357505060008051602061225183398151915280549085845260008051602061223183398151915289528188852055600160401b821015611040576104f38287926001610f0d95019055611c6b565b6000805160206122518339815191528054600019919082810190811161102d57868552600080516020612231833981519152808b52610f4f8a87205492611c6b565b90549060031b1c610f63816104f385611c6b565b86528a528885205585845283888120558054801561101a57820191610f8783611c6b565b909182549160031b1b1916905555611004578281528086528060018682208281550155835191600254928303928311610ff15750506002557f528c12812330921443684e92c693e35ce5c885349727d7b7569816d4958c044f8483518551908152a2519051908152f35b634e487b7160e01b825260119052602490fd5b50602491845191637e27328960e01b8352820152fd5b634e487b7160e01b855260318652602485fd5b634e487b7160e01b855260118652602485fd5b634e487b7160e01b845260418552602484fd5b61105e575b50610f0d565b61106781611cc4565b8584526000805160206121f1833981519152808a52888520549285526000805160206122118339815191528a52888520928281036110ba575b508685528952838881205583528752818681205538611058565b828652838b5289862054818752808b8820558652818b5289862055386110a0565b6110e48761207d565b6110ed83611c32565b8054600019019055610e7d565b855162461bcd60e51b815280840188905260136024820152724e6f7420726561647920746f20636c61696d2160681b6044820152606490fd5b606490602085519162461bcd60e51b8352820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152fd5b828434610976578160031936011261097657611180611766565b926024359061118e85611cc4565b8210156111cb57506001600160a01b0390931681526000805160206122118339815191526020908152828220938252928352819020549051908152f35b925163295f44f760e21b81526001600160a01b0390941692840192835260208301525081906040010390fd5b9050346103a25760203660031901126103a2579181923561121781611d1c565b50815280602052206020825161122c816117cc565b60018354938483520154918291015282519182526020820152f35b8334610976576102b661125936611797565b916118f9565b5050346101cf57816003193601126101cf57602090600080516020612251833981519152549051908152f35b9050346103a257816003193601126103a2576112a5611766565b60243567ffffffffffffffff9182821682036102b9577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009384549060ff82881c16159482168015908161142b575b6001149081611421575b159081611418575b5061140a575067ffffffffffffffff19811660011785556113a2929161138591856113eb575b506113346120ae565b61133c6120ae565b6113446120ae565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556113706120ae565b6113786120ae565b6113806120ae565b611ed7565b61138d6120ae565b6113956120ae565b61139d6120ae565b61189f565b6113aa578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff1916680100000000000000011786553861132b565b865163f92ee8a960e01b8152fd5b90501538611305565b303b1591506112fd565b8691506112f3565b8390346101cf5760203660031901126101cf573567ffffffffffffffff811681036101cf576102b69061139d3633611d64565b919050346103a257806003193601126103a257611481611766565b916024359061148f82611d1c565b9033151580611537575b8061151a575b61150357506001600160a01b039384169382918591167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258780a48352600080516020612291833981519152602052822080546001600160a01b031916909117905580f35b60249084519063a9fbf51f60e01b82523390820152fd5b5061152482611bf9565b33875260205260ff84872054161561149f565b506001600160a01b038216331415611499565b9050346103a25760203660031901126103a257916020923561156b81611d1c565b50815260008051602061229183398151915283528190205490516001600160a01b039091168152f35b828434610976578060031936011261097657815191817f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793008054936001908560011c9260018716968715611678575b602097888610811461095957899a509789979886829b52918260001461092f57505060011461161d578588610221896108c5848a038561181a565b815286935091907f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf815b82841061166057505050820101816108c5610221886108b3565b8054848a018601528895508794909301928101611646565b93607f16936115e2565b5050346101cf57816003193601126101cf576020906003549051908152f35b8491346103a25760203660031901126103a2573563ffffffff60e01b81168091036103a2576020925063780e9d6360e01b81149081156116e3575b5015158152f35b6380ac58cd60e01b811491508115611715575b8115611704575b50836116dc565b6301ffc9a760e01b149050836116fd565b635b5e139f60e01b811491506116f6565b919082519283825260005b848110611752575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611731565b600435906001600160a01b038216820361177c57565b600080fd5b602435906001600160a01b038216820361177c57565b606090600319011261177c576001600160a01b0390600435828116810361177c5791602435908116810361177c579060443590565b6040810190811067ffffffffffffffff8211176117e857604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176117e857604052565b90601f8019910116810190811067ffffffffffffffff8211176117e857604052565b67ffffffffffffffff81116117e857601f01601f191660200190565b81601f8201121561177c5780359061186f8261183c565b9261187d604051948561181a565b8284526020838301011161177c57816000926020809301838601378301015290565b67ffffffffffffffff1680156118b457600355565b60405162461bcd60e51b815260206004820152601c60248201527f57697468647261772064656c61792063616e2774206265207a65726f000000006044820152606490fd5b90916001600160a01b03808416928315611be0576000938385526000805160206122718339815191529460208681526040978589842054169733151580611b46575b508815908115611b27575b61194f83611c32565b80546001019055888552835289842080546001600160a01b0319168617905587858a7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8780a415611aa1576000805160206122518339815191528054908885526000805160206122318339815191528452818b862055600160401b821015611a8d576104f3828a9260016119e595019055611c6b565b838803611a21575b505050501692838303611a005750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b611a2a90611cc4565b600019810193908411611a795782916000805160206121f1833981519152918a9452600080516020612211833981519152815283832085845281528784842055878352522055388080806119ed565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b8784146119e557611ab188611cc4565b8784526000805160206121f1833981519152908184528a852054918a865260008051602061221183398151915285528b862092828103611b05575b508986528452848b8120558452825282898120556119e5565b8287528386528c808820548091838a5289205587528186528c87205538611aec565b611b308961207d565b611b398a611c32565b8054600019019055611946565b80611b93575b15611b57573861193b565b89888a611b74576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b81523360048201526024810191909152604490fd5b503389148015611bc5575b80611b4c5750878452600080516020612291833981519152835233878b8620541614611b4c565b50611bcf89611bf9565b338552835260ff8a85205416611b9e565b604051633250574960e11b815260006004820152602490fd5b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6000805160206122518339815191528054821015611cae576000527fa42f15e5d656f8155fd7419d740a6073999f19cd6e061449ce4a257150545bf20190600090565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811615611ce057611cdc90611c32565b5490565b6040516322718ad960e21b815260006004820152602490fd5b91908201809211611d0657565b634e487b7160e01b600052601160045260246000fd5b600081815260008051602061227183398151915260205260409020546001600160a01b0316908115611d4c575090565b60249060405190637e27328960e01b82526004820152fd5b6000805160206121d18339815191528054909290916001600160a01b0380841692916004831061177c576000926000604094855194602086019463b700961360e01b8652169384602487015230604487015263ffffffff60e01b83351660648701526064865260a086019567ffffffffffffffff9681811088821117611a8d57918491899384528280528260205251908a5afa611ec6575b15611e0c575b5050505050505050565b63ffffffff1615611eaf5760ff60a01b19958616600160a01b178755843b1561177c57606494600092838651978880958194634a63ebf760e11b835260048301528960248301528060448301528084848401378181018301849052601f01601f191681010301925af18015611ea457611e95575b50505081541690553880808080808080611e02565b82116117e85752388080611e80565b82513d6000823e3d90fd5b835162d1953b60e31b815260048101839052602490fd5b50516020518060201c150290611dfc565b6000805160206121d183398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b3d15611f5b573d90611f418261183c565b91611f4f604051938461181a565b82523d6000602084013e565b606090565b9293823b611f70575b5050505050565b611fb49060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190611726565b03906020816000938185885af190829082612034575b50506120025782611fd9611f30565b8051919082611ffb57604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b0319160361201c57503880808080611f69565b60249060405190633250574960e11b82526004820152fd5b909192506020813d602011612075575b816120516020938361181a565b810103126101cf5751906001600160e01b0319821682036109765750903880611fca565b3d9150612044565b60005260008051602061229183398151915260205260406000206bffffffffffffffffffffffff60a01b8154169055565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156120dd57565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811630811491821561213f575b505061212d57565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141590503880612125565b90612194575080511561218257602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806121c7575b6121a5575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561219d56fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed03645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304a26469706673582212205144634e1afb4ab35b636f73e2dc1277c6c276689a41871fd95ee32931eae1df64736f6c63430008190033",
925
971
  "linkReferences": {},
926
972
  "deployedLinkReferences": {}
927
973
  }