@raac/rpc 2.0.0-beta.6 → 2.0.0-beta.8

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 (68) hide show
  1. package/dist/RPCLibrary.js +27 -2
  2. package/dist/artifacts/core/collectors/fee-streamer/RentStreamer.sol/RentStreamer.json +838 -0
  3. package/dist/artifacts/mocks/core/tokens/USDCTokenLimited.sol/USDCTokenLimited.json +558 -0
  4. package/dist/configs/chains/11155111.json +58 -3
  5. package/dist/contracts/curve/common/_helpers.js +39 -0
  6. package/dist/contracts/curve/common/getPools.js +36 -0
  7. package/dist/contracts/curve/common/getVirtualPrice.js +26 -0
  8. package/dist/contracts/curve/common/index.js +18 -0
  9. package/dist/contracts/findContract.js +3 -3
  10. package/dist/contracts/getContractAddress.js +1 -0
  11. package/dist/contracts/governance/gaugeSystems/_helpers.js +2 -2
  12. package/dist/contracts/rentStreamer/_helpers.js +19 -0
  13. package/dist/contracts/rentStreamer/getScheduled.js +19 -0
  14. package/dist/contracts/rentStreamer/getState.js +40 -0
  15. package/dist/contracts/rentStreamer/previewRelease.js +23 -0
  16. package/dist/contracts/rentStreamer/release.js +22 -0
  17. package/dist/contracts/rentStreamer/sync.js +21 -0
  18. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +4 -4
  19. package/dist/types/RPCLibrary.d.ts +20 -1
  20. package/dist/types/contracts/curve/common/_helpers.d.ts +16 -0
  21. package/dist/types/contracts/curve/common/getPools.d.ts +30 -0
  22. package/dist/types/contracts/curve/common/getVirtualPrice.d.ts +13 -0
  23. package/dist/types/contracts/curve/common/index.d.ts +2 -0
  24. package/dist/types/contracts/rentStreamer/_helpers.d.ts +4 -0
  25. package/dist/types/contracts/rentStreamer/getScheduled.d.ts +12 -0
  26. package/dist/types/contracts/rentStreamer/getState.d.ts +33 -0
  27. package/dist/types/contracts/rentStreamer/previewRelease.d.ts +20 -0
  28. package/dist/types/contracts/rentStreamer/release.d.ts +12 -0
  29. package/dist/types/contracts/rentStreamer/sync.d.ts +11 -0
  30. package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +3 -3
  31. package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/RentStreamer.d.ts +422 -0
  32. package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
  33. package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +2 -0
  34. package/dist/types/typechain-types/contracts/mocks/core/tokens/USDCTokenLimited.d.ts +238 -0
  35. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  36. package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/RentStreamer__factory.d.ts +665 -0
  37. package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
  38. package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +1 -0
  39. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/USDCTokenLimited__factory.d.ts +439 -0
  40. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  41. package/dist/types/typechain-types/index.d.ts +4 -0
  42. package/dist/types/user/_helpers.d.ts +23 -0
  43. package/dist/types/user/computeEffectiveReturn.d.ts +67 -0
  44. package/dist/types/user/getUserClaimables.d.ts +55 -0
  45. package/dist/types/user/getUserCollateral.d.ts +12 -0
  46. package/dist/types/user/getUserDebt.d.ts +18 -0
  47. package/dist/types/user/getUserFarming.d.ts +64 -0
  48. package/dist/types/user/getUserGovernance.d.ts +20 -0
  49. package/dist/types/user/getUserPortfolio.d.ts +61 -0
  50. package/dist/types/user/getUserWalletBalances.d.ts +20 -0
  51. package/dist/types/user/index.d.ts +9 -0
  52. package/dist/types/utils/amount.d.ts +7 -0
  53. package/dist/types/utils/artifacts.d.ts +198 -0
  54. package/dist/types/utils/contracts.d.ts +2 -0
  55. package/dist/user/_helpers.js +22 -0
  56. package/dist/user/computeEffectiveReturn.js +33 -0
  57. package/dist/user/getUserClaimables.js +97 -0
  58. package/dist/user/getUserCollateral.js +29 -0
  59. package/dist/user/getUserDebt.js +32 -0
  60. package/dist/user/getUserFarming.js +100 -0
  61. package/dist/user/getUserGovernance.js +35 -0
  62. package/dist/user/getUserPortfolio.js +109 -0
  63. package/dist/user/getUserWalletBalances.js +30 -0
  64. package/dist/user/index.js +24 -0
  65. package/dist/utils/amount.js +10 -0
  66. package/dist/utils/artifacts.js +4 -0
  67. package/dist/utils/contracts.js +5 -2
  68. package/package.json +1 -1
@@ -0,0 +1,838 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RentStreamer",
4
+ "sourceName": "contracts/core/collectors/fee-streamer/RentStreamer.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_gaugeRewardDistributor",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_token",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint64",
20
+ "name": "_minBountyFee",
21
+ "type": "uint64"
22
+ },
23
+ {
24
+ "internalType": "uint64",
25
+ "name": "_maxBountyFee",
26
+ "type": "uint64"
27
+ },
28
+ {
29
+ "internalType": "uint32",
30
+ "name": "_duration",
31
+ "type": "uint32"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "_initialOwner",
36
+ "type": "address"
37
+ }
38
+ ],
39
+ "stateMutability": "nonpayable",
40
+ "type": "constructor"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "AccessControlBadConfirmation",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [
49
+ {
50
+ "internalType": "address",
51
+ "name": "account",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "internalType": "bytes32",
56
+ "name": "neededRole",
57
+ "type": "bytes32"
58
+ }
59
+ ],
60
+ "name": "AccessControlUnauthorizedAccount",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "CannotRelease",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [],
70
+ "name": "CannotRescueMainAsset",
71
+ "type": "error"
72
+ },
73
+ {
74
+ "inputs": [],
75
+ "name": "CannotUpdateBountyParams",
76
+ "type": "error"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "InvalidBountyDuration",
81
+ "type": "error"
82
+ },
83
+ {
84
+ "inputs": [],
85
+ "name": "InvalidBountyFee",
86
+ "type": "error"
87
+ },
88
+ {
89
+ "inputs": [],
90
+ "name": "InvalidNumEpochs",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [],
95
+ "name": "ReentrancyGuardReentrantCall",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [
100
+ {
101
+ "internalType": "address",
102
+ "name": "token",
103
+ "type": "address"
104
+ }
105
+ ],
106
+ "name": "SafeERC20FailedOperation",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "StreamerKilled",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "ZeroAddress",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": false,
124
+ "internalType": "uint64",
125
+ "name": "_newMinFee",
126
+ "type": "uint64"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "uint64",
131
+ "name": "_newMaxFee",
132
+ "type": "uint64"
133
+ },
134
+ {
135
+ "indexed": false,
136
+ "internalType": "uint32",
137
+ "name": "_duration",
138
+ "type": "uint32"
139
+ }
140
+ ],
141
+ "name": "BountyParamsUpdated",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [],
147
+ "name": "Killed",
148
+ "type": "event"
149
+ },
150
+ {
151
+ "anonymous": false,
152
+ "inputs": [
153
+ {
154
+ "indexed": false,
155
+ "internalType": "uint8",
156
+ "name": "_newNumEpochs",
157
+ "type": "uint8"
158
+ }
159
+ ],
160
+ "name": "NumEpochsUpdated",
161
+ "type": "event"
162
+ },
163
+ {
164
+ "anonymous": false,
165
+ "inputs": [
166
+ {
167
+ "indexed": false,
168
+ "internalType": "uint256",
169
+ "name": "epoch",
170
+ "type": "uint256"
171
+ },
172
+ {
173
+ "indexed": false,
174
+ "internalType": "uint256",
175
+ "name": "distributedAmount",
176
+ "type": "uint256"
177
+ },
178
+ {
179
+ "indexed": false,
180
+ "internalType": "uint256",
181
+ "name": "bountyFee",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "Released",
186
+ "type": "event"
187
+ },
188
+ {
189
+ "anonymous": false,
190
+ "inputs": [
191
+ {
192
+ "indexed": true,
193
+ "internalType": "bytes32",
194
+ "name": "role",
195
+ "type": "bytes32"
196
+ },
197
+ {
198
+ "indexed": true,
199
+ "internalType": "bytes32",
200
+ "name": "previousAdminRole",
201
+ "type": "bytes32"
202
+ },
203
+ {
204
+ "indexed": true,
205
+ "internalType": "bytes32",
206
+ "name": "newAdminRole",
207
+ "type": "bytes32"
208
+ }
209
+ ],
210
+ "name": "RoleAdminChanged",
211
+ "type": "event"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": true,
218
+ "internalType": "bytes32",
219
+ "name": "role",
220
+ "type": "bytes32"
221
+ },
222
+ {
223
+ "indexed": true,
224
+ "internalType": "address",
225
+ "name": "account",
226
+ "type": "address"
227
+ },
228
+ {
229
+ "indexed": true,
230
+ "internalType": "address",
231
+ "name": "sender",
232
+ "type": "address"
233
+ }
234
+ ],
235
+ "name": "RoleGranted",
236
+ "type": "event"
237
+ },
238
+ {
239
+ "anonymous": false,
240
+ "inputs": [
241
+ {
242
+ "indexed": true,
243
+ "internalType": "bytes32",
244
+ "name": "role",
245
+ "type": "bytes32"
246
+ },
247
+ {
248
+ "indexed": true,
249
+ "internalType": "address",
250
+ "name": "account",
251
+ "type": "address"
252
+ },
253
+ {
254
+ "indexed": true,
255
+ "internalType": "address",
256
+ "name": "sender",
257
+ "type": "address"
258
+ }
259
+ ],
260
+ "name": "RoleRevoked",
261
+ "type": "event"
262
+ },
263
+ {
264
+ "anonymous": false,
265
+ "inputs": [
266
+ {
267
+ "indexed": false,
268
+ "internalType": "uint256",
269
+ "name": "startEpoch",
270
+ "type": "uint256"
271
+ },
272
+ {
273
+ "indexed": false,
274
+ "internalType": "uint256",
275
+ "name": "amount",
276
+ "type": "uint256"
277
+ },
278
+ {
279
+ "indexed": false,
280
+ "internalType": "uint8",
281
+ "name": "numEpochs",
282
+ "type": "uint8"
283
+ }
284
+ ],
285
+ "name": "Synced",
286
+ "type": "event"
287
+ },
288
+ {
289
+ "anonymous": false,
290
+ "inputs": [
291
+ {
292
+ "indexed": true,
293
+ "internalType": "address",
294
+ "name": "token",
295
+ "type": "address"
296
+ },
297
+ {
298
+ "indexed": true,
299
+ "internalType": "address",
300
+ "name": "recipient",
301
+ "type": "address"
302
+ },
303
+ {
304
+ "indexed": false,
305
+ "internalType": "uint256",
306
+ "name": "amount",
307
+ "type": "uint256"
308
+ }
309
+ ],
310
+ "name": "TokenRescued",
311
+ "type": "event"
312
+ },
313
+ {
314
+ "inputs": [],
315
+ "name": "BOUNTY_PRECISION",
316
+ "outputs": [
317
+ {
318
+ "internalType": "uint64",
319
+ "name": "",
320
+ "type": "uint64"
321
+ }
322
+ ],
323
+ "stateMutability": "view",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [],
328
+ "name": "DEFAULT_ADMIN_ROLE",
329
+ "outputs": [
330
+ {
331
+ "internalType": "bytes32",
332
+ "name": "",
333
+ "type": "bytes32"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "EMERGENCY_ROLE",
342
+ "outputs": [
343
+ {
344
+ "internalType": "bytes32",
345
+ "name": "",
346
+ "type": "bytes32"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [],
354
+ "name": "GAUGE_REWARD_DISTRIBUTOR",
355
+ "outputs": [
356
+ {
357
+ "internalType": "address",
358
+ "name": "",
359
+ "type": "address"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [],
367
+ "name": "MAX_BOUNTY_DURATION",
368
+ "outputs": [
369
+ {
370
+ "internalType": "uint32",
371
+ "name": "",
372
+ "type": "uint32"
373
+ }
374
+ ],
375
+ "stateMutability": "view",
376
+ "type": "function"
377
+ },
378
+ {
379
+ "inputs": [],
380
+ "name": "MAX_BOUNTY_FEE",
381
+ "outputs": [
382
+ {
383
+ "internalType": "uint64",
384
+ "name": "",
385
+ "type": "uint64"
386
+ }
387
+ ],
388
+ "stateMutability": "view",
389
+ "type": "function"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "MAX_NUM_EPOCHS",
394
+ "outputs": [
395
+ {
396
+ "internalType": "uint8",
397
+ "name": "",
398
+ "type": "uint8"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [],
406
+ "name": "MIN_BOUNTY_DURATION",
407
+ "outputs": [
408
+ {
409
+ "internalType": "uint32",
410
+ "name": "",
411
+ "type": "uint32"
412
+ }
413
+ ],
414
+ "stateMutability": "view",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [],
419
+ "name": "PARAMETER_ROLE",
420
+ "outputs": [
421
+ {
422
+ "internalType": "bytes32",
423
+ "name": "",
424
+ "type": "bytes32"
425
+ }
426
+ ],
427
+ "stateMutability": "view",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [],
432
+ "name": "TOKEN",
433
+ "outputs": [
434
+ {
435
+ "internalType": "address",
436
+ "name": "",
437
+ "type": "address"
438
+ }
439
+ ],
440
+ "stateMutability": "view",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [],
445
+ "name": "WEEK",
446
+ "outputs": [
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "",
450
+ "type": "uint256"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [],
458
+ "name": "bountyDuration",
459
+ "outputs": [
460
+ {
461
+ "internalType": "uint32",
462
+ "name": "",
463
+ "type": "uint32"
464
+ }
465
+ ],
466
+ "stateMutability": "view",
467
+ "type": "function"
468
+ },
469
+ {
470
+ "inputs": [
471
+ {
472
+ "internalType": "bytes32",
473
+ "name": "role",
474
+ "type": "bytes32"
475
+ }
476
+ ],
477
+ "name": "getRoleAdmin",
478
+ "outputs": [
479
+ {
480
+ "internalType": "bytes32",
481
+ "name": "",
482
+ "type": "bytes32"
483
+ }
484
+ ],
485
+ "stateMutability": "view",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [
490
+ {
491
+ "internalType": "bytes32",
492
+ "name": "role",
493
+ "type": "bytes32"
494
+ },
495
+ {
496
+ "internalType": "address",
497
+ "name": "account",
498
+ "type": "address"
499
+ }
500
+ ],
501
+ "name": "grantRole",
502
+ "outputs": [],
503
+ "stateMutability": "nonpayable",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "bytes32",
510
+ "name": "role",
511
+ "type": "bytes32"
512
+ },
513
+ {
514
+ "internalType": "address",
515
+ "name": "account",
516
+ "type": "address"
517
+ }
518
+ ],
519
+ "name": "hasRole",
520
+ "outputs": [
521
+ {
522
+ "internalType": "bool",
523
+ "name": "",
524
+ "type": "bool"
525
+ }
526
+ ],
527
+ "stateMutability": "view",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [],
532
+ "name": "kill",
533
+ "outputs": [],
534
+ "stateMutability": "nonpayable",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [],
539
+ "name": "killed",
540
+ "outputs": [
541
+ {
542
+ "internalType": "bool",
543
+ "name": "",
544
+ "type": "bool"
545
+ }
546
+ ],
547
+ "stateMutability": "view",
548
+ "type": "function"
549
+ },
550
+ {
551
+ "inputs": [],
552
+ "name": "lastEpochProcessed",
553
+ "outputs": [
554
+ {
555
+ "internalType": "uint256",
556
+ "name": "",
557
+ "type": "uint256"
558
+ }
559
+ ],
560
+ "stateMutability": "view",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "maxBountyFee",
566
+ "outputs": [
567
+ {
568
+ "internalType": "uint64",
569
+ "name": "",
570
+ "type": "uint64"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [],
578
+ "name": "minBountyFee",
579
+ "outputs": [
580
+ {
581
+ "internalType": "uint64",
582
+ "name": "",
583
+ "type": "uint64"
584
+ }
585
+ ],
586
+ "stateMutability": "view",
587
+ "type": "function"
588
+ },
589
+ {
590
+ "inputs": [],
591
+ "name": "numEpochs",
592
+ "outputs": [
593
+ {
594
+ "internalType": "uint8",
595
+ "name": "",
596
+ "type": "uint8"
597
+ }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [],
604
+ "name": "previewRelease",
605
+ "outputs": [
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "",
609
+ "type": "uint256"
610
+ },
611
+ {
612
+ "internalType": "uint256",
613
+ "name": "",
614
+ "type": "uint256"
615
+ },
616
+ {
617
+ "internalType": "uint256",
618
+ "name": "",
619
+ "type": "uint256"
620
+ }
621
+ ],
622
+ "stateMutability": "view",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [],
627
+ "name": "processed",
628
+ "outputs": [
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "stateMutability": "view",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [
640
+ {
641
+ "internalType": "address",
642
+ "name": "receiver",
643
+ "type": "address"
644
+ }
645
+ ],
646
+ "name": "release",
647
+ "outputs": [
648
+ {
649
+ "internalType": "uint256",
650
+ "name": "",
651
+ "type": "uint256"
652
+ },
653
+ {
654
+ "internalType": "uint256",
655
+ "name": "",
656
+ "type": "uint256"
657
+ }
658
+ ],
659
+ "stateMutability": "nonpayable",
660
+ "type": "function"
661
+ },
662
+ {
663
+ "inputs": [],
664
+ "name": "release",
665
+ "outputs": [
666
+ {
667
+ "internalType": "uint256",
668
+ "name": "",
669
+ "type": "uint256"
670
+ },
671
+ {
672
+ "internalType": "uint256",
673
+ "name": "",
674
+ "type": "uint256"
675
+ }
676
+ ],
677
+ "stateMutability": "nonpayable",
678
+ "type": "function"
679
+ },
680
+ {
681
+ "inputs": [],
682
+ "name": "released",
683
+ "outputs": [
684
+ {
685
+ "internalType": "uint256",
686
+ "name": "",
687
+ "type": "uint256"
688
+ }
689
+ ],
690
+ "stateMutability": "view",
691
+ "type": "function"
692
+ },
693
+ {
694
+ "inputs": [
695
+ {
696
+ "internalType": "bytes32",
697
+ "name": "role",
698
+ "type": "bytes32"
699
+ },
700
+ {
701
+ "internalType": "address",
702
+ "name": "callerConfirmation",
703
+ "type": "address"
704
+ }
705
+ ],
706
+ "name": "renounceRole",
707
+ "outputs": [],
708
+ "stateMutability": "nonpayable",
709
+ "type": "function"
710
+ },
711
+ {
712
+ "inputs": [
713
+ {
714
+ "internalType": "address",
715
+ "name": "tokenAddress",
716
+ "type": "address"
717
+ },
718
+ {
719
+ "internalType": "address",
720
+ "name": "recipient",
721
+ "type": "address"
722
+ },
723
+ {
724
+ "internalType": "uint256",
725
+ "name": "amount",
726
+ "type": "uint256"
727
+ }
728
+ ],
729
+ "name": "rescueToken",
730
+ "outputs": [],
731
+ "stateMutability": "nonpayable",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [
736
+ {
737
+ "internalType": "bytes32",
738
+ "name": "role",
739
+ "type": "bytes32"
740
+ },
741
+ {
742
+ "internalType": "address",
743
+ "name": "account",
744
+ "type": "address"
745
+ }
746
+ ],
747
+ "name": "revokeRole",
748
+ "outputs": [],
749
+ "stateMutability": "nonpayable",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [
754
+ {
755
+ "internalType": "uint256",
756
+ "name": "epoch",
757
+ "type": "uint256"
758
+ }
759
+ ],
760
+ "name": "scheduled",
761
+ "outputs": [
762
+ {
763
+ "internalType": "uint256",
764
+ "name": "amount",
765
+ "type": "uint256"
766
+ }
767
+ ],
768
+ "stateMutability": "view",
769
+ "type": "function"
770
+ },
771
+ {
772
+ "inputs": [
773
+ {
774
+ "internalType": "uint64",
775
+ "name": "_minFee",
776
+ "type": "uint64"
777
+ },
778
+ {
779
+ "internalType": "uint64",
780
+ "name": "_maxFee",
781
+ "type": "uint64"
782
+ },
783
+ {
784
+ "internalType": "uint32",
785
+ "name": "_duration",
786
+ "type": "uint32"
787
+ }
788
+ ],
789
+ "name": "setBounty",
790
+ "outputs": [],
791
+ "stateMutability": "nonpayable",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [
796
+ {
797
+ "internalType": "uint8",
798
+ "name": "_numEpochs",
799
+ "type": "uint8"
800
+ }
801
+ ],
802
+ "name": "setNumEpochs",
803
+ "outputs": [],
804
+ "stateMutability": "nonpayable",
805
+ "type": "function"
806
+ },
807
+ {
808
+ "inputs": [
809
+ {
810
+ "internalType": "bytes4",
811
+ "name": "interfaceId",
812
+ "type": "bytes4"
813
+ }
814
+ ],
815
+ "name": "supportsInterface",
816
+ "outputs": [
817
+ {
818
+ "internalType": "bool",
819
+ "name": "",
820
+ "type": "bool"
821
+ }
822
+ ],
823
+ "stateMutability": "view",
824
+ "type": "function"
825
+ },
826
+ {
827
+ "inputs": [],
828
+ "name": "sync",
829
+ "outputs": [],
830
+ "stateMutability": "nonpayable",
831
+ "type": "function"
832
+ }
833
+ ],
834
+ "bytecode": "0x60c080604052346102635760c081611b3b803803809161001f8285610267565b833981010312610263576100328161029e565b9061003f6020820161029e565b61004b604083016102b2565b610057606084016102b2565b60808401519363ffffffff85168095036102635760a0610077910161029e565b5f805463ffffffff1916611c201790556001600255926001600160a01b038116158015610252575b6101fc576080526100ae6102c6565b60065560ff60075416610245575b600460ff1960075416176007557f1664960eba56586daac26b75d3164ef4f4bfda592199b145b18e36581ae31c69602060405160048152a16001600160401b0381811694908316908582118015610235575b61022657603c8110801561021a575b61020b575f8054606094851b73ffffffffffffffff000000000000000000000000166001600160a01b0319909116602096871b6bffffffffffffffff00000000161717821790556040805192835293820195909552918201939093526101a5927f999a649f7ff7c51a29747cda795bbba74136a27f7d742c1c02eb3b690b1cde2891a16102fa565b506001600160a01b038116156101fc5760a05260405161157f908161059c82396080518181816103d70152818161066f01528181610c0d015281816111f10152611423015260a051818181610520015261121d0152f35b63d92e233d60e01b5f5260045ffd5b6302649b7960e51b5f5260045ffd5b5062015180811161011d565b631d86770760e11b5f5260045ffd5b5066b1a2bc2ec50000861161010e565b61024d610390565b6100bc565b506001600160a01b0384161561009f565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761028a57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361026357565b51906001600160401b038216820361026357565b62093a80420462093a8081029080820462093a8014901517156102e65790565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0381165f9081525f516020611b1b5f395f51905f52602052604090205460ff1661037e576001600160a01b03165f8181525f516020611b1b5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b919082018092116102e657565b6103986102c6565b80600654105f1461056957905b6080516040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa801561055e575f9061052a575b6103ec91506003549061057c565b80156105255760ff600754169160ff61040484610589565b16928015610511578204915f5b60ff6104208160075416610589565b168110156104695762093a8081029080820462093a8014811517156102e65761044b60019288610383565b5f52600560205260405f20610461868254610383565b905501610411565b509291939093828102908082048414901517156102e65761048a908461057c565b9262093a8083029280840462093a8014901517156102e6577f4365c39aa415ec6062d6d8e19885e761099b517d146d24e682927eca8d999bc9936104d060609484610383565b5f5260056020526104e660405f20918254610383565b90556104f481600354610383565b60035560ff600754169060405192835260208301526040820152a1565b634e487b7160e01b5f52601260045260245ffd5b509050565b506020813d602011610556575b8161054460209383610267565b81010312610263576103ec90516103de565b3d9150610537565b6040513d5f823e3d90fd5b62093a8081018091116102e657906103a5565b919082039182116102e657565b60ff5f199116019060ff82116102e65756fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610a385750806319165587146109ff5780631f3a0e41146109da578063200c7770146109b8578063201b423a1461090d57806320df4359146108e6578063248a9ca3146108c05780632ce5c284146108a35780632f2ff15d1461087257806336568abe1461082e57806341c0e1b514610784578063496e62f7146107675780634eab23921461074057806350c5c6d21461071557806358ac2d9d146106f3578063656a167f146106c5578063691afd631461069e57806382bfefc81461065a57806385709c621461063057806386d1a69f146105ef57806391d14854146105a657806396132521146105895780639c47076614610569578063a217fddf1461054f578063ab9afb821461050b578063bd62ad22146104f0578063c687dda2146104d5578063ce4cfbb6146104b8578063d547741f14610480578063e5711e8b1461035c578063f4359ce51461033f578063ff5ea0c0146101fa578063ff9b1214146101d95763fff6cae914610192575f80fd5b346101d5575f3660031901126101d5576101aa610adf565b60ff60075460081c166101c6576101bf610f99565b6001600255005b632bde3c9f60e21b5f5260045ffd5b5f80fd5b346101d5575f3660031901126101d557602060405166b1a2bc2ec500008152f35b346101d55760603660031901126101d5576004356001600160401b0381168082036101d557602435906001600160401b0382168083036101d5576044359063ffffffff82168092036101d55761024e610c99565b60ff60075460081c166101c65760065461026661111d565b11610330578083118015610320575b61031157603c82108015610305575b6102f6575f8054606095861b600160601b600160a01b03166001600160a01b0319909116602097881b600160201b600160601b03161717831790556040805193845294830152928101929092527f999a649f7ff7c51a29747cda795bbba74136a27f7d742c1c02eb3b690b1cde2891a1005b6302649b7960e51b5f5260045ffd5b50620151808211610284565b631d86770760e11b5f5260045ffd5b5066b1a2bc2ec500008111610275565b63428dca9560e01b5f5260045ffd5b346101d5575f3660031901126101d557602060405162093a808152f35b346101d55760603660031901126101d557610375610a8b565b61037d610aa1565b335f9081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260409020546044359060ff1615610469576001600160a01b03821692831561045a576001600160a01b0390811692907f00000000000000000000000000000000000000000000000000000000000000001683148061044a575b61043b57816104327f4143f7b5cb6ea007914c32b8a3e64cebc051d7f493fa0755454da1e47701e1259360209386610f5d565b604051908152a3005b637d1eea7760e11b5f5260045ffd5b5060ff60075460081c16156103ff565b63d92e233d60e01b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b346101d55760403660031901126101d5576104b660043561049f610aa1565b906104b16104ac82610acd565b610cf5565b610dbb565b005b346101d5575f3660031901126101d5576020600654604051908152f35b346101d5575f3660031901126101d557602060405160098152f35b346101d5575f3660031901126101d5576020604051603c8152f35b346101d5575f3660031901126101d5576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d5575f3660031901126101d55760206040515f8152f35b346101d5575f3660031901126101d557602060ff60075416604051908152f35b346101d5575f3660031901126101d5576020600454604051908152f35b346101d55760403660031901126101d5576105bf610aa1565b6004355f52600160205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101d5575f3660031901126101d557610607610adf565b60ff60075460081c166101c657604061061f33610b2b565b600160025582519182526020820152f35b346101d55760203660031901126101d5576004355f526005602052602060405f2054604051908152f35b346101d5575f3660031901126101d5576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d5575f3660031901126101d55760206040515f51602061152a5f395f51905f528152f35b346101d5575f3660031901126101d5576106ef6106e0610e3f565b60409391935193849384610ab7565b0390f35b346101d5575f3660031901126101d5576020604051670de0b6b3a76400008152f35b346101d5575f3660031901126101d5575f5460405160609190911c6001600160401b03168152602090f35b346101d5575f3660031901126101d5575f54604051602091821c6001600160401b03168152f35b346101d5575f3660031901126101d5576020604051620151808152f35b346101d5575f3660031901126101d557335f9081527f1614b4e5e0f135c54873c4dcd295a7b40f93a8d877405affc188cfd7b4f40ed2602052604090205460ff161561080a5760075460ff8160081c166101c65761ff001916610100176007557f0f8eeedbc400fd6686703559f58d1e6143fdaed533f19a86c93d67a2fe4fb3315f80a1005b63e2517d3f60e01b5f52336004525f51602061150a5f395f51905f5260245260445ffd5b346101d55760403660031901126101d557610847610aa1565b336001600160a01b03821603610863576104b690600435610dbb565b63334bd91960e11b5f5260045ffd5b346101d55760403660031901126101d5576104b6600435610891610aa1565b9061089e6104ac82610acd565b610d2f565b346101d5575f3660031901126101d5576020600354604051908152f35b346101d55760203660031901126101d55760206108de600435610acd565b604051908152f35b346101d5575f3660031901126101d55760206040515f51602061150a5f395f51905f528152f35b346101d55760203660031901126101d55760043560ff81168091036101d557610934610c99565b60075460ff8160081c166101c65760ff166109ab575b6001811080156109a1575b610992576020817f1664960eba56586daac26b75d3164ef4f4bfda592199b145b18e36581ae31c699260ff196007541617600755604051908152a1005b635cec4b0b60e01b5f5260045ffd5b5060098111610955565b6109b3610f99565b61094a565b346101d5575f3660031901126101d557602063ffffffff5f5416604051908152f35b346101d5575f3660031901126101d557602060ff60075460081c166040519015158152f35b346101d55760203660031901126101d557610a18610a8b565b610a20610adf565b60ff60075460081c166101c65761061f604091610b2b565b346101d55760203660031901126101d5576004359063ffffffff60e01b82168092036101d557602091637965db0b60e01b8114908115610a7a575b5015158152f35b6301ffc9a760e01b14905083610a73565b600435906001600160a01b03821682036101d557565b602435906001600160a01b03821682036101d557565b6040919493926060820195825260208201520152565b5f526001602052600160405f20015490565b6002805414610aee5760028055565b633ee5aeb560e01b5f5260045ffd5b91908203918211610b0a57565b634e487b7160e01b5f52601160045260245ffd5b91908201809211610b0a57565b6001600160a01b0381161561045a57600654610b4561111d565b1115610c8a57610b53610f99565b5f90610b5d61111d565b60065462093a808101809111610b0a575b81811115610c415750600655610bbe90610b8f83610b8a61111d565b61113d565b9283918280610c07575b5050610ba781600354610afd565b600355610bb681600454610b1e565b600455610afd565b91610bc8836111e8565b7ff854feef4c325cc8fcfad1a693b62c4383c8d228c4ca0bc52f9e06095338a5f183610bf261111d565b610c028560405193849384610ab7565b0390a1565b610c3a917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f5d565b5f82610b99565b92610c5990845f52600560205260405f205490610b1e565b92805f5260056020525f604081205562093a80810180911115610b6e57634e487b7160e01b5f52601160045260245ffd5b6311fba84b60e21b5f5260045ffd5b335f9081527f4c4cc5d411ba156dedb185940327cff25d65cda5a3b5d26119c43e8f50285645602052604090205460ff1615610cd157565b63e2517d3f60e01b5f52336004525f51602061152a5f395f51905f5260245260445ffd5b5f81815260016020908152604080832033845290915290205460ff1615610d195750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526001602090815260408083206001600160a01b038616845290915290205460ff16610db5575f8181526001602081815260408084206001600160a01b0396909616808552959091528220805460ff19169091179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181526001602090815260408083206001600160a01b038616845290915290205460ff1615610db5575f8181526001602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60075460ff8160081c168015610ef8575b610eef57610e6a9060ff610e62611408565b9116906110ec565b905f610e7461111d565b9260065462093a808101809111610b0a575b84811115610eb45750610e9a929350610b1e565b90610ea782610b8a61111d565b610eb18184610afd565b91565b91610ecc90835f52600560205260405f205490610b1e565b9162093a80810180911115610e8657634e487b7160e01b5f52601160045260245ffd5b505f905f905f90565b50600654610f0461111d565b1115610e50565b6001600160a01b039091168152602081019190915260400190565b601f909101601f19168101906001600160401b03821190821017610f4957604052565b634e487b7160e01b5f52604160045260245ffd5b610f92610f979392610f8460405194859263a9059cbb60e01b602085015260248401610f0b565b03601f198101845283610f26565b61149f565b565b610fa161111d565b80600654105f146110d957905b610fb6611408565b80156110d45760ff6007541691610fd960ff610fd1856114f7565b1693836110ec565b915f5b60ff610feb81600754166114f7565b168110156110345762093a8081029080820462093a801481151715610b0a5761101660019288610b1e565b5f52600560205260405f2061102c868254610b1e565b905501610fdc565b5092916110478361104d9296939661110a565b84610afd565b9262093a8083029280840462093a801490151715610b0a577f4365c39aa415ec6062d6d8e19885e761099b517d146d24e682927eca8d999bc99361109360609484610b1e565b5f5260056020526110a960405f20918254610b1e565b90556110b781600354610b1e565b60035560ff600754169060405192835260208301526040820152a1565b509050565b62093a808101809111610b0a5790610fae565b81156110f6570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715610b0a57565b62093a80420462093a8081029080820462093a801490151715610b0a5790565b8115610db5575f549163ffffffff8316916111588382610b1e565b4210156111c6576001600160401b03602085901c811660609590951c811685900394908511610b0a576111b66111c2946111b1670de0b6b3a7640000976111a26111bc9642610afd565b906001600160401b031661110a565b6110ec565b90610b1e565b9061110a565b0490565b50670de0b6b3a7640000926111c2925060601c6001600160401b03169061110a565b5f8115611404577f00000000000000000000000000000000000000000000000000000000000000009160018060a01b038316907f000000000000000000000000000000000000000000000000000000000000000060405160205f81830163095ea7b360e01b815261126f84611261888860248401610f0b565b03601f198101865285610f26565b83519082885af15f513d826113e8575b505015611397575b506001600160a01b031693843b156101d5576040516311f9fbc960e21b8152915f91839182916112bb919060048401610f0b565b038183885af1801561138c57611377575b506040519160208181850163095ea7b360e01b8152866024870152816044870152604486526112fc606487610f26565b85519082865af181513d8261135b575b50501561131a575b50505050565b61135293610f92916040519163095ea7b360e01b6020840152602483015260448201526044815261134c606482610f26565b8261149f565b5f808080611314565b90915061136f5750813b15155b5f8061130c565b600114611368565b6113849192505f90610f26565b5f905f6112cc565b6040513d5f823e3d90fd5b60405163095ea7b360e01b60208201526001600160a01b03831660248201525f60448083019190915281526113e291906113dc906113d6606482610f26565b8661149f565b8461149f565b5f611287565b9091506113fc5750833b15155b5f8061127f565b6001146113f5565b5050565b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561138c575f9061146b575b611468915060035490610afd565b90565b506020813d602011611497575b8161148560209383610f26565b810103126101d557611468905161145a565b3d9150611478565b905f602091828151910182855af11561138c575f513d6114ee57506001600160a01b0381163b155b6114ce5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156114c7565b60ff5f199116019060ff8211610b0a5756febf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2617d57ed1a1d10c36bff7484e6bb95371a28422a7baabf93343b1965f53f83fa0a26469706673582212207535629f0805af853c3067f127fd3ad107a1e5446762a2fbed99d4732ba6781f64736f6c634300081e0033a6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49",
835
+ "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610a385750806319165587146109ff5780631f3a0e41146109da578063200c7770146109b8578063201b423a1461090d57806320df4359146108e6578063248a9ca3146108c05780632ce5c284146108a35780632f2ff15d1461087257806336568abe1461082e57806341c0e1b514610784578063496e62f7146107675780634eab23921461074057806350c5c6d21461071557806358ac2d9d146106f3578063656a167f146106c5578063691afd631461069e57806382bfefc81461065a57806385709c621461063057806386d1a69f146105ef57806391d14854146105a657806396132521146105895780639c47076614610569578063a217fddf1461054f578063ab9afb821461050b578063bd62ad22146104f0578063c687dda2146104d5578063ce4cfbb6146104b8578063d547741f14610480578063e5711e8b1461035c578063f4359ce51461033f578063ff5ea0c0146101fa578063ff9b1214146101d95763fff6cae914610192575f80fd5b346101d5575f3660031901126101d5576101aa610adf565b60ff60075460081c166101c6576101bf610f99565b6001600255005b632bde3c9f60e21b5f5260045ffd5b5f80fd5b346101d5575f3660031901126101d557602060405166b1a2bc2ec500008152f35b346101d55760603660031901126101d5576004356001600160401b0381168082036101d557602435906001600160401b0382168083036101d5576044359063ffffffff82168092036101d55761024e610c99565b60ff60075460081c166101c65760065461026661111d565b11610330578083118015610320575b61031157603c82108015610305575b6102f6575f8054606095861b600160601b600160a01b03166001600160a01b0319909116602097881b600160201b600160601b03161717831790556040805193845294830152928101929092527f999a649f7ff7c51a29747cda795bbba74136a27f7d742c1c02eb3b690b1cde2891a1005b6302649b7960e51b5f5260045ffd5b50620151808211610284565b631d86770760e11b5f5260045ffd5b5066b1a2bc2ec500008111610275565b63428dca9560e01b5f5260045ffd5b346101d5575f3660031901126101d557602060405162093a808152f35b346101d55760603660031901126101d557610375610a8b565b61037d610aa1565b335f9081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260409020546044359060ff1615610469576001600160a01b03821692831561045a576001600160a01b0390811692907f00000000000000000000000000000000000000000000000000000000000000001683148061044a575b61043b57816104327f4143f7b5cb6ea007914c32b8a3e64cebc051d7f493fa0755454da1e47701e1259360209386610f5d565b604051908152a3005b637d1eea7760e11b5f5260045ffd5b5060ff60075460081c16156103ff565b63d92e233d60e01b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b346101d55760403660031901126101d5576104b660043561049f610aa1565b906104b16104ac82610acd565b610cf5565b610dbb565b005b346101d5575f3660031901126101d5576020600654604051908152f35b346101d5575f3660031901126101d557602060405160098152f35b346101d5575f3660031901126101d5576020604051603c8152f35b346101d5575f3660031901126101d5576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d5575f3660031901126101d55760206040515f8152f35b346101d5575f3660031901126101d557602060ff60075416604051908152f35b346101d5575f3660031901126101d5576020600454604051908152f35b346101d55760403660031901126101d5576105bf610aa1565b6004355f52600160205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101d5575f3660031901126101d557610607610adf565b60ff60075460081c166101c657604061061f33610b2b565b600160025582519182526020820152f35b346101d55760203660031901126101d5576004355f526005602052602060405f2054604051908152f35b346101d5575f3660031901126101d5576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d5575f3660031901126101d55760206040515f51602061152a5f395f51905f528152f35b346101d5575f3660031901126101d5576106ef6106e0610e3f565b60409391935193849384610ab7565b0390f35b346101d5575f3660031901126101d5576020604051670de0b6b3a76400008152f35b346101d5575f3660031901126101d5575f5460405160609190911c6001600160401b03168152602090f35b346101d5575f3660031901126101d5575f54604051602091821c6001600160401b03168152f35b346101d5575f3660031901126101d5576020604051620151808152f35b346101d5575f3660031901126101d557335f9081527f1614b4e5e0f135c54873c4dcd295a7b40f93a8d877405affc188cfd7b4f40ed2602052604090205460ff161561080a5760075460ff8160081c166101c65761ff001916610100176007557f0f8eeedbc400fd6686703559f58d1e6143fdaed533f19a86c93d67a2fe4fb3315f80a1005b63e2517d3f60e01b5f52336004525f51602061150a5f395f51905f5260245260445ffd5b346101d55760403660031901126101d557610847610aa1565b336001600160a01b03821603610863576104b690600435610dbb565b63334bd91960e11b5f5260045ffd5b346101d55760403660031901126101d5576104b6600435610891610aa1565b9061089e6104ac82610acd565b610d2f565b346101d5575f3660031901126101d5576020600354604051908152f35b346101d55760203660031901126101d55760206108de600435610acd565b604051908152f35b346101d5575f3660031901126101d55760206040515f51602061150a5f395f51905f528152f35b346101d55760203660031901126101d55760043560ff81168091036101d557610934610c99565b60075460ff8160081c166101c65760ff166109ab575b6001811080156109a1575b610992576020817f1664960eba56586daac26b75d3164ef4f4bfda592199b145b18e36581ae31c699260ff196007541617600755604051908152a1005b635cec4b0b60e01b5f5260045ffd5b5060098111610955565b6109b3610f99565b61094a565b346101d5575f3660031901126101d557602063ffffffff5f5416604051908152f35b346101d5575f3660031901126101d557602060ff60075460081c166040519015158152f35b346101d55760203660031901126101d557610a18610a8b565b610a20610adf565b60ff60075460081c166101c65761061f604091610b2b565b346101d55760203660031901126101d5576004359063ffffffff60e01b82168092036101d557602091637965db0b60e01b8114908115610a7a575b5015158152f35b6301ffc9a760e01b14905083610a73565b600435906001600160a01b03821682036101d557565b602435906001600160a01b03821682036101d557565b6040919493926060820195825260208201520152565b5f526001602052600160405f20015490565b6002805414610aee5760028055565b633ee5aeb560e01b5f5260045ffd5b91908203918211610b0a57565b634e487b7160e01b5f52601160045260245ffd5b91908201809211610b0a57565b6001600160a01b0381161561045a57600654610b4561111d565b1115610c8a57610b53610f99565b5f90610b5d61111d565b60065462093a808101809111610b0a575b81811115610c415750600655610bbe90610b8f83610b8a61111d565b61113d565b9283918280610c07575b5050610ba781600354610afd565b600355610bb681600454610b1e565b600455610afd565b91610bc8836111e8565b7ff854feef4c325cc8fcfad1a693b62c4383c8d228c4ca0bc52f9e06095338a5f183610bf261111d565b610c028560405193849384610ab7565b0390a1565b610c3a917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f5d565b5f82610b99565b92610c5990845f52600560205260405f205490610b1e565b92805f5260056020525f604081205562093a80810180911115610b6e57634e487b7160e01b5f52601160045260245ffd5b6311fba84b60e21b5f5260045ffd5b335f9081527f4c4cc5d411ba156dedb185940327cff25d65cda5a3b5d26119c43e8f50285645602052604090205460ff1615610cd157565b63e2517d3f60e01b5f52336004525f51602061152a5f395f51905f5260245260445ffd5b5f81815260016020908152604080832033845290915290205460ff1615610d195750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526001602090815260408083206001600160a01b038616845290915290205460ff16610db5575f8181526001602081815260408084206001600160a01b0396909616808552959091528220805460ff19169091179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181526001602090815260408083206001600160a01b038616845290915290205460ff1615610db5575f8181526001602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60075460ff8160081c168015610ef8575b610eef57610e6a9060ff610e62611408565b9116906110ec565b905f610e7461111d565b9260065462093a808101809111610b0a575b84811115610eb45750610e9a929350610b1e565b90610ea782610b8a61111d565b610eb18184610afd565b91565b91610ecc90835f52600560205260405f205490610b1e565b9162093a80810180911115610e8657634e487b7160e01b5f52601160045260245ffd5b505f905f905f90565b50600654610f0461111d565b1115610e50565b6001600160a01b039091168152602081019190915260400190565b601f909101601f19168101906001600160401b03821190821017610f4957604052565b634e487b7160e01b5f52604160045260245ffd5b610f92610f979392610f8460405194859263a9059cbb60e01b602085015260248401610f0b565b03601f198101845283610f26565b61149f565b565b610fa161111d565b80600654105f146110d957905b610fb6611408565b80156110d45760ff6007541691610fd960ff610fd1856114f7565b1693836110ec565b915f5b60ff610feb81600754166114f7565b168110156110345762093a8081029080820462093a801481151715610b0a5761101660019288610b1e565b5f52600560205260405f2061102c868254610b1e565b905501610fdc565b5092916110478361104d9296939661110a565b84610afd565b9262093a8083029280840462093a801490151715610b0a577f4365c39aa415ec6062d6d8e19885e761099b517d146d24e682927eca8d999bc99361109360609484610b1e565b5f5260056020526110a960405f20918254610b1e565b90556110b781600354610b1e565b60035560ff600754169060405192835260208301526040820152a1565b509050565b62093a808101809111610b0a5790610fae565b81156110f6570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715610b0a57565b62093a80420462093a8081029080820462093a801490151715610b0a5790565b8115610db5575f549163ffffffff8316916111588382610b1e565b4210156111c6576001600160401b03602085901c811660609590951c811685900394908511610b0a576111b66111c2946111b1670de0b6b3a7640000976111a26111bc9642610afd565b906001600160401b031661110a565b6110ec565b90610b1e565b9061110a565b0490565b50670de0b6b3a7640000926111c2925060601c6001600160401b03169061110a565b5f8115611404577f00000000000000000000000000000000000000000000000000000000000000009160018060a01b038316907f000000000000000000000000000000000000000000000000000000000000000060405160205f81830163095ea7b360e01b815261126f84611261888860248401610f0b565b03601f198101865285610f26565b83519082885af15f513d826113e8575b505015611397575b506001600160a01b031693843b156101d5576040516311f9fbc960e21b8152915f91839182916112bb919060048401610f0b565b038183885af1801561138c57611377575b506040519160208181850163095ea7b360e01b8152866024870152816044870152604486526112fc606487610f26565b85519082865af181513d8261135b575b50501561131a575b50505050565b61135293610f92916040519163095ea7b360e01b6020840152602483015260448201526044815261134c606482610f26565b8261149f565b5f808080611314565b90915061136f5750813b15155b5f8061130c565b600114611368565b6113849192505f90610f26565b5f905f6112cc565b6040513d5f823e3d90fd5b60405163095ea7b360e01b60208201526001600160a01b03831660248201525f60448083019190915281526113e291906113dc906113d6606482610f26565b8661149f565b8461149f565b5f611287565b9091506113fc5750833b15155b5f8061127f565b6001146113f5565b5050565b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561138c575f9061146b575b611468915060035490610afd565b90565b506020813d602011611497575b8161148560209383610f26565b810103126101d557611468905161145a565b3d9150611478565b905f602091828151910182855af11561138c575f513d6114ee57506001600160a01b0381163b155b6114ce5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156114c7565b60ff5f199116019060ff8211610b0a5756febf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b2617d57ed1a1d10c36bff7484e6bb95371a28422a7baabf93343b1965f53f83fa0a26469706673582212207535629f0805af853c3067f127fd3ad107a1e5446762a2fbed99d4732ba6781f64736f6c634300081e0033",
836
+ "linkReferences": {},
837
+ "deployedLinkReferences": {}
838
+ }