@aastar/account 0.16.22 → 0.17.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.
@@ -1,1781 +0,0 @@
1
- {
2
- "abi": [
3
- {
4
- "type": "constructor",
5
- "inputs": [
6
- {
7
- "name": "_entryPoint",
8
- "type": "address",
9
- "internalType": "contract IEntryPoint"
10
- },
11
- {
12
- "name": "_owner",
13
- "type": "address",
14
- "internalType": "address"
15
- },
16
- {
17
- "name": "_registry",
18
- "type": "address",
19
- "internalType": "contract IRegistry"
20
- },
21
- {
22
- "name": "_apntsToken",
23
- "type": "address",
24
- "internalType": "address"
25
- },
26
- {
27
- "name": "_ethUsdPriceFeed",
28
- "type": "address",
29
- "internalType": "address"
30
- },
31
- {
32
- "name": "_protocolTreasury",
33
- "type": "address",
34
- "internalType": "address"
35
- },
36
- {
37
- "name": "_priceStalenessThreshold",
38
- "type": "uint256",
39
- "internalType": "uint256"
40
- }
41
- ],
42
- "stateMutability": "nonpayable"
43
- },
44
- {
45
- "type": "function",
46
- "name": "APNTS_TOKEN",
47
- "inputs": [],
48
- "outputs": [
49
- {
50
- "name": "",
51
- "type": "address",
52
- "internalType": "address"
53
- }
54
- ],
55
- "stateMutability": "view"
56
- },
57
- {
58
- "type": "function",
59
- "name": "BLS_AGGREGATOR",
60
- "inputs": [],
61
- "outputs": [
62
- {
63
- "name": "",
64
- "type": "address",
65
- "internalType": "address"
66
- }
67
- ],
68
- "stateMutability": "view"
69
- },
70
- {
71
- "type": "function",
72
- "name": "BPS_DENOMINATOR",
73
- "inputs": [],
74
- "outputs": [
75
- {
76
- "name": "",
77
- "type": "uint256",
78
- "internalType": "uint256"
79
- }
80
- ],
81
- "stateMutability": "view"
82
- },
83
- {
84
- "type": "function",
85
- "name": "ETH_USD_PRICE_FEED",
86
- "inputs": [],
87
- "outputs": [
88
- {
89
- "name": "",
90
- "type": "address",
91
- "internalType": "contract AggregatorV3Interface"
92
- }
93
- ],
94
- "stateMutability": "view"
95
- },
96
- {
97
- "type": "function",
98
- "name": "MAX_ETH_USD_PRICE",
99
- "inputs": [],
100
- "outputs": [
101
- {
102
- "name": "",
103
- "type": "int256",
104
- "internalType": "int256"
105
- }
106
- ],
107
- "stateMutability": "view"
108
- },
109
- {
110
- "type": "function",
111
- "name": "MAX_PROTOCOL_FEE",
112
- "inputs": [],
113
- "outputs": [
114
- {
115
- "name": "",
116
- "type": "uint256",
117
- "internalType": "uint256"
118
- }
119
- ],
120
- "stateMutability": "view"
121
- },
122
- {
123
- "type": "function",
124
- "name": "MIN_ETH_USD_PRICE",
125
- "inputs": [],
126
- "outputs": [
127
- {
128
- "name": "",
129
- "type": "int256",
130
- "internalType": "int256"
131
- }
132
- ],
133
- "stateMutability": "view"
134
- },
135
- {
136
- "type": "function",
137
- "name": "PAYMASTER_DATA_OFFSET",
138
- "inputs": [],
139
- "outputs": [
140
- {
141
- "name": "",
142
- "type": "uint256",
143
- "internalType": "uint256"
144
- }
145
- ],
146
- "stateMutability": "view"
147
- },
148
- {
149
- "type": "function",
150
- "name": "PRICE_CACHE_DURATION",
151
- "inputs": [],
152
- "outputs": [
153
- {
154
- "name": "",
155
- "type": "uint256",
156
- "internalType": "uint256"
157
- }
158
- ],
159
- "stateMutability": "view"
160
- },
161
- {
162
- "type": "function",
163
- "name": "RATE_OFFSET",
164
- "inputs": [],
165
- "outputs": [
166
- {
167
- "name": "",
168
- "type": "uint256",
169
- "internalType": "uint256"
170
- }
171
- ],
172
- "stateMutability": "view"
173
- },
174
- {
175
- "type": "function",
176
- "name": "REGISTRY",
177
- "inputs": [],
178
- "outputs": [
179
- {
180
- "name": "",
181
- "type": "address",
182
- "internalType": "contract IRegistry"
183
- }
184
- ],
185
- "stateMutability": "view"
186
- },
187
- {
188
- "type": "function",
189
- "name": "VALIDATION_BUFFER_BPS",
190
- "inputs": [],
191
- "outputs": [
192
- {
193
- "name": "",
194
- "type": "uint256",
195
- "internalType": "uint256"
196
- }
197
- ],
198
- "stateMutability": "view"
199
- },
200
- {
201
- "type": "function",
202
- "name": "aPNTsPriceUSD",
203
- "inputs": [],
204
- "outputs": [
205
- {
206
- "name": "",
207
- "type": "uint256",
208
- "internalType": "uint256"
209
- }
210
- ],
211
- "stateMutability": "view"
212
- },
213
- {
214
- "type": "function",
215
- "name": "addStake",
216
- "inputs": [
217
- {
218
- "name": "unstakeDelaySec",
219
- "type": "uint32",
220
- "internalType": "uint32"
221
- }
222
- ],
223
- "outputs": [],
224
- "stateMutability": "payable"
225
- },
226
- {
227
- "type": "function",
228
- "name": "cachedPrice",
229
- "inputs": [],
230
- "outputs": [
231
- {
232
- "name": "price",
233
- "type": "int256",
234
- "internalType": "int256"
235
- },
236
- {
237
- "name": "updatedAt",
238
- "type": "uint256",
239
- "internalType": "uint256"
240
- },
241
- {
242
- "name": "roundId",
243
- "type": "uint80",
244
- "internalType": "uint80"
245
- },
246
- {
247
- "name": "decimals",
248
- "type": "uint8",
249
- "internalType": "uint8"
250
- }
251
- ],
252
- "stateMutability": "view"
253
- },
254
- {
255
- "type": "function",
256
- "name": "configureOperator",
257
- "inputs": [
258
- {
259
- "name": "xPNTsToken",
260
- "type": "address",
261
- "internalType": "address"
262
- },
263
- {
264
- "name": "_opTreasury",
265
- "type": "address",
266
- "internalType": "address"
267
- },
268
- {
269
- "name": "exchangeRate",
270
- "type": "uint256",
271
- "internalType": "uint256"
272
- }
273
- ],
274
- "outputs": [],
275
- "stateMutability": "nonpayable"
276
- },
277
- {
278
- "type": "function",
279
- "name": "deposit",
280
- "inputs": [
281
- {
282
- "name": "amount",
283
- "type": "uint256",
284
- "internalType": "uint256"
285
- }
286
- ],
287
- "outputs": [],
288
- "stateMutability": "nonpayable"
289
- },
290
- {
291
- "type": "function",
292
- "name": "deposit",
293
- "inputs": [],
294
- "outputs": [],
295
- "stateMutability": "payable"
296
- },
297
- {
298
- "type": "function",
299
- "name": "depositFor",
300
- "inputs": [
301
- {
302
- "name": "targetOperator",
303
- "type": "address",
304
- "internalType": "address"
305
- },
306
- {
307
- "name": "amount",
308
- "type": "uint256",
309
- "internalType": "uint256"
310
- }
311
- ],
312
- "outputs": [],
313
- "stateMutability": "nonpayable"
314
- },
315
- {
316
- "type": "function",
317
- "name": "entryPoint",
318
- "inputs": [],
319
- "outputs": [
320
- {
321
- "name": "",
322
- "type": "address",
323
- "internalType": "contract IEntryPoint"
324
- }
325
- ],
326
- "stateMutability": "view"
327
- },
328
- {
329
- "type": "function",
330
- "name": "executeSlashWithBLS",
331
- "inputs": [
332
- {
333
- "name": "operator",
334
- "type": "address",
335
- "internalType": "address"
336
- },
337
- {
338
- "name": "level",
339
- "type": "uint8",
340
- "internalType": "enum ISuperPaymaster.SlashLevel"
341
- },
342
- {
343
- "name": "proof",
344
- "type": "bytes",
345
- "internalType": "bytes"
346
- }
347
- ],
348
- "outputs": [],
349
- "stateMutability": "nonpayable"
350
- },
351
- {
352
- "type": "function",
353
- "name": "getAvailableCredit",
354
- "inputs": [
355
- {
356
- "name": "user",
357
- "type": "address",
358
- "internalType": "address"
359
- },
360
- {
361
- "name": "token",
362
- "type": "address",
363
- "internalType": "address"
364
- }
365
- ],
366
- "outputs": [
367
- {
368
- "name": "",
369
- "type": "uint256",
370
- "internalType": "uint256"
371
- }
372
- ],
373
- "stateMutability": "view"
374
- },
375
- {
376
- "type": "function",
377
- "name": "getDeposit",
378
- "inputs": [],
379
- "outputs": [
380
- {
381
- "name": "",
382
- "type": "uint256",
383
- "internalType": "uint256"
384
- }
385
- ],
386
- "stateMutability": "view"
387
- },
388
- {
389
- "type": "function",
390
- "name": "getLatestSlash",
391
- "inputs": [
392
- {
393
- "name": "operator",
394
- "type": "address",
395
- "internalType": "address"
396
- }
397
- ],
398
- "outputs": [
399
- {
400
- "name": "",
401
- "type": "tuple",
402
- "internalType": "struct ISuperPaymaster.SlashRecord",
403
- "components": [
404
- {
405
- "name": "timestamp",
406
- "type": "uint256",
407
- "internalType": "uint256"
408
- },
409
- {
410
- "name": "amount",
411
- "type": "uint256",
412
- "internalType": "uint256"
413
- },
414
- {
415
- "name": "reputationLoss",
416
- "type": "uint256",
417
- "internalType": "uint256"
418
- },
419
- {
420
- "name": "reason",
421
- "type": "string",
422
- "internalType": "string"
423
- },
424
- {
425
- "name": "level",
426
- "type": "uint8",
427
- "internalType": "enum ISuperPaymaster.SlashLevel"
428
- }
429
- ]
430
- }
431
- ],
432
- "stateMutability": "view"
433
- },
434
- {
435
- "type": "function",
436
- "name": "getSlashCount",
437
- "inputs": [
438
- {
439
- "name": "operator",
440
- "type": "address",
441
- "internalType": "address"
442
- }
443
- ],
444
- "outputs": [
445
- {
446
- "name": "",
447
- "type": "uint256",
448
- "internalType": "uint256"
449
- }
450
- ],
451
- "stateMutability": "view"
452
- },
453
- {
454
- "type": "function",
455
- "name": "getSlashHistory",
456
- "inputs": [
457
- {
458
- "name": "operator",
459
- "type": "address",
460
- "internalType": "address"
461
- }
462
- ],
463
- "outputs": [
464
- {
465
- "name": "",
466
- "type": "tuple[]",
467
- "internalType": "struct ISuperPaymaster.SlashRecord[]",
468
- "components": [
469
- {
470
- "name": "timestamp",
471
- "type": "uint256",
472
- "internalType": "uint256"
473
- },
474
- {
475
- "name": "amount",
476
- "type": "uint256",
477
- "internalType": "uint256"
478
- },
479
- {
480
- "name": "reputationLoss",
481
- "type": "uint256",
482
- "internalType": "uint256"
483
- },
484
- {
485
- "name": "reason",
486
- "type": "string",
487
- "internalType": "string"
488
- },
489
- {
490
- "name": "level",
491
- "type": "uint8",
492
- "internalType": "enum ISuperPaymaster.SlashLevel"
493
- }
494
- ]
495
- }
496
- ],
497
- "stateMutability": "view"
498
- },
499
- {
500
- "type": "function",
501
- "name": "onTransferReceived",
502
- "inputs": [
503
- {
504
- "name": "",
505
- "type": "address",
506
- "internalType": "address"
507
- },
508
- {
509
- "name": "from",
510
- "type": "address",
511
- "internalType": "address"
512
- },
513
- {
514
- "name": "value",
515
- "type": "uint256",
516
- "internalType": "uint256"
517
- },
518
- {
519
- "name": "",
520
- "type": "bytes",
521
- "internalType": "bytes"
522
- }
523
- ],
524
- "outputs": [
525
- {
526
- "name": "",
527
- "type": "bytes4",
528
- "internalType": "bytes4"
529
- }
530
- ],
531
- "stateMutability": "nonpayable"
532
- },
533
- {
534
- "type": "function",
535
- "name": "operators",
536
- "inputs": [
537
- {
538
- "name": "",
539
- "type": "address",
540
- "internalType": "address"
541
- }
542
- ],
543
- "outputs": [
544
- {
545
- "name": "aPNTsBalance",
546
- "type": "uint128",
547
- "internalType": "uint128"
548
- },
549
- {
550
- "name": "exchangeRate",
551
- "type": "uint96",
552
- "internalType": "uint96"
553
- },
554
- {
555
- "name": "isConfigured",
556
- "type": "bool",
557
- "internalType": "bool"
558
- },
559
- {
560
- "name": "isPaused",
561
- "type": "bool",
562
- "internalType": "bool"
563
- },
564
- {
565
- "name": "xPNTsToken",
566
- "type": "address",
567
- "internalType": "address"
568
- },
569
- {
570
- "name": "reputation",
571
- "type": "uint32",
572
- "internalType": "uint32"
573
- },
574
- {
575
- "name": "minTxInterval",
576
- "type": "uint48",
577
- "internalType": "uint48"
578
- },
579
- {
580
- "name": "treasury",
581
- "type": "address",
582
- "internalType": "address"
583
- },
584
- {
585
- "name": "totalSpent",
586
- "type": "uint256",
587
- "internalType": "uint256"
588
- },
589
- {
590
- "name": "totalTxSponsored",
591
- "type": "uint256",
592
- "internalType": "uint256"
593
- }
594
- ],
595
- "stateMutability": "view"
596
- },
597
- {
598
- "type": "function",
599
- "name": "owner",
600
- "inputs": [],
601
- "outputs": [
602
- {
603
- "name": "",
604
- "type": "address",
605
- "internalType": "address"
606
- }
607
- ],
608
- "stateMutability": "view"
609
- },
610
- {
611
- "type": "function",
612
- "name": "postOp",
613
- "inputs": [
614
- {
615
- "name": "mode",
616
- "type": "uint8",
617
- "internalType": "enum IPaymaster.PostOpMode"
618
- },
619
- {
620
- "name": "context",
621
- "type": "bytes",
622
- "internalType": "bytes"
623
- },
624
- {
625
- "name": "actualGasCost",
626
- "type": "uint256",
627
- "internalType": "uint256"
628
- },
629
- {
630
- "name": "actualUserOpFeePerGas",
631
- "type": "uint256",
632
- "internalType": "uint256"
633
- }
634
- ],
635
- "outputs": [],
636
- "stateMutability": "nonpayable"
637
- },
638
- {
639
- "type": "function",
640
- "name": "priceStalenessThreshold",
641
- "inputs": [],
642
- "outputs": [
643
- {
644
- "name": "",
645
- "type": "uint256",
646
- "internalType": "uint256"
647
- }
648
- ],
649
- "stateMutability": "view"
650
- },
651
- {
652
- "type": "function",
653
- "name": "protocolFeeBPS",
654
- "inputs": [],
655
- "outputs": [
656
- {
657
- "name": "",
658
- "type": "uint256",
659
- "internalType": "uint256"
660
- }
661
- ],
662
- "stateMutability": "view"
663
- },
664
- {
665
- "type": "function",
666
- "name": "protocolRevenue",
667
- "inputs": [],
668
- "outputs": [
669
- {
670
- "name": "",
671
- "type": "uint256",
672
- "internalType": "uint256"
673
- }
674
- ],
675
- "stateMutability": "view"
676
- },
677
- {
678
- "type": "function",
679
- "name": "renounceOwnership",
680
- "inputs": [],
681
- "outputs": [],
682
- "stateMutability": "nonpayable"
683
- },
684
- {
685
- "type": "function",
686
- "name": "sbtHolders",
687
- "inputs": [
688
- {
689
- "name": "",
690
- "type": "address",
691
- "internalType": "address"
692
- }
693
- ],
694
- "outputs": [
695
- {
696
- "name": "",
697
- "type": "bool",
698
- "internalType": "bool"
699
- }
700
- ],
701
- "stateMutability": "view"
702
- },
703
- {
704
- "type": "function",
705
- "name": "setAPNTSPrice",
706
- "inputs": [
707
- {
708
- "name": "newPrice",
709
- "type": "uint256",
710
- "internalType": "uint256"
711
- }
712
- ],
713
- "outputs": [],
714
- "stateMutability": "nonpayable"
715
- },
716
- {
717
- "type": "function",
718
- "name": "setAPNTsToken",
719
- "inputs": [
720
- {
721
- "name": "newAPNTsToken",
722
- "type": "address",
723
- "internalType": "address"
724
- }
725
- ],
726
- "outputs": [],
727
- "stateMutability": "nonpayable"
728
- },
729
- {
730
- "type": "function",
731
- "name": "setBLSAggregator",
732
- "inputs": [
733
- {
734
- "name": "_bls",
735
- "type": "address",
736
- "internalType": "address"
737
- }
738
- ],
739
- "outputs": [],
740
- "stateMutability": "nonpayable"
741
- },
742
- {
743
- "type": "function",
744
- "name": "setOperatorLimits",
745
- "inputs": [
746
- {
747
- "name": "_minTxInterval",
748
- "type": "uint48",
749
- "internalType": "uint48"
750
- }
751
- ],
752
- "outputs": [],
753
- "stateMutability": "nonpayable"
754
- },
755
- {
756
- "type": "function",
757
- "name": "setOperatorPaused",
758
- "inputs": [
759
- {
760
- "name": "operator",
761
- "type": "address",
762
- "internalType": "address"
763
- },
764
- {
765
- "name": "paused",
766
- "type": "bool",
767
- "internalType": "bool"
768
- }
769
- ],
770
- "outputs": [],
771
- "stateMutability": "nonpayable"
772
- },
773
- {
774
- "type": "function",
775
- "name": "setProtocolFee",
776
- "inputs": [
777
- {
778
- "name": "newFeeBPS",
779
- "type": "uint256",
780
- "internalType": "uint256"
781
- }
782
- ],
783
- "outputs": [],
784
- "stateMutability": "nonpayable"
785
- },
786
- {
787
- "type": "function",
788
- "name": "setTreasury",
789
- "inputs": [
790
- {
791
- "name": "_treasury",
792
- "type": "address",
793
- "internalType": "address"
794
- }
795
- ],
796
- "outputs": [],
797
- "stateMutability": "nonpayable"
798
- },
799
- {
800
- "type": "function",
801
- "name": "setXPNTsFactory",
802
- "inputs": [
803
- {
804
- "name": "_factory",
805
- "type": "address",
806
- "internalType": "address"
807
- }
808
- ],
809
- "outputs": [],
810
- "stateMutability": "nonpayable"
811
- },
812
- {
813
- "type": "function",
814
- "name": "slashHistory",
815
- "inputs": [
816
- {
817
- "name": "",
818
- "type": "address",
819
- "internalType": "address"
820
- },
821
- {
822
- "name": "",
823
- "type": "uint256",
824
- "internalType": "uint256"
825
- }
826
- ],
827
- "outputs": [
828
- {
829
- "name": "timestamp",
830
- "type": "uint256",
831
- "internalType": "uint256"
832
- },
833
- {
834
- "name": "amount",
835
- "type": "uint256",
836
- "internalType": "uint256"
837
- },
838
- {
839
- "name": "reputationLoss",
840
- "type": "uint256",
841
- "internalType": "uint256"
842
- },
843
- {
844
- "name": "reason",
845
- "type": "string",
846
- "internalType": "string"
847
- },
848
- {
849
- "name": "level",
850
- "type": "uint8",
851
- "internalType": "enum ISuperPaymaster.SlashLevel"
852
- }
853
- ],
854
- "stateMutability": "view"
855
- },
856
- {
857
- "type": "function",
858
- "name": "slashOperator",
859
- "inputs": [
860
- {
861
- "name": "operator",
862
- "type": "address",
863
- "internalType": "address"
864
- },
865
- {
866
- "name": "level",
867
- "type": "uint8",
868
- "internalType": "enum ISuperPaymaster.SlashLevel"
869
- },
870
- {
871
- "name": "penaltyAmount",
872
- "type": "uint256",
873
- "internalType": "uint256"
874
- },
875
- {
876
- "name": "reason",
877
- "type": "string",
878
- "internalType": "string"
879
- }
880
- ],
881
- "outputs": [],
882
- "stateMutability": "nonpayable"
883
- },
884
- {
885
- "type": "function",
886
- "name": "totalTrackedBalance",
887
- "inputs": [],
888
- "outputs": [
889
- {
890
- "name": "",
891
- "type": "uint256",
892
- "internalType": "uint256"
893
- }
894
- ],
895
- "stateMutability": "view"
896
- },
897
- {
898
- "type": "function",
899
- "name": "transferOwnership",
900
- "inputs": [
901
- {
902
- "name": "newOwner",
903
- "type": "address",
904
- "internalType": "address"
905
- }
906
- ],
907
- "outputs": [],
908
- "stateMutability": "nonpayable"
909
- },
910
- {
911
- "type": "function",
912
- "name": "treasury",
913
- "inputs": [],
914
- "outputs": [
915
- {
916
- "name": "",
917
- "type": "address",
918
- "internalType": "address"
919
- }
920
- ],
921
- "stateMutability": "view"
922
- },
923
- {
924
- "type": "function",
925
- "name": "unlockStake",
926
- "inputs": [],
927
- "outputs": [],
928
- "stateMutability": "nonpayable"
929
- },
930
- {
931
- "type": "function",
932
- "name": "updateBlockedStatus",
933
- "inputs": [
934
- {
935
- "name": "operator",
936
- "type": "address",
937
- "internalType": "address"
938
- },
939
- {
940
- "name": "users",
941
- "type": "address[]",
942
- "internalType": "address[]"
943
- },
944
- {
945
- "name": "statuses",
946
- "type": "bool[]",
947
- "internalType": "bool[]"
948
- }
949
- ],
950
- "outputs": [],
951
- "stateMutability": "nonpayable"
952
- },
953
- {
954
- "type": "function",
955
- "name": "updatePrice",
956
- "inputs": [],
957
- "outputs": [],
958
- "stateMutability": "nonpayable"
959
- },
960
- {
961
- "type": "function",
962
- "name": "updatePriceDVT",
963
- "inputs": [
964
- {
965
- "name": "price",
966
- "type": "int256",
967
- "internalType": "int256"
968
- },
969
- {
970
- "name": "updatedAt",
971
- "type": "uint256",
972
- "internalType": "uint256"
973
- },
974
- {
975
- "name": "proof",
976
- "type": "bytes",
977
- "internalType": "bytes"
978
- }
979
- ],
980
- "outputs": [],
981
- "stateMutability": "nonpayable"
982
- },
983
- {
984
- "type": "function",
985
- "name": "updateReputation",
986
- "inputs": [
987
- {
988
- "name": "operator",
989
- "type": "address",
990
- "internalType": "address"
991
- },
992
- {
993
- "name": "newScore",
994
- "type": "uint256",
995
- "internalType": "uint256"
996
- }
997
- ],
998
- "outputs": [],
999
- "stateMutability": "nonpayable"
1000
- },
1001
- {
1002
- "type": "function",
1003
- "name": "updateSBTStatus",
1004
- "inputs": [
1005
- {
1006
- "name": "user",
1007
- "type": "address",
1008
- "internalType": "address"
1009
- },
1010
- {
1011
- "name": "status",
1012
- "type": "bool",
1013
- "internalType": "bool"
1014
- }
1015
- ],
1016
- "outputs": [],
1017
- "stateMutability": "nonpayable"
1018
- },
1019
- {
1020
- "type": "function",
1021
- "name": "userOpState",
1022
- "inputs": [
1023
- {
1024
- "name": "",
1025
- "type": "address",
1026
- "internalType": "address"
1027
- },
1028
- {
1029
- "name": "",
1030
- "type": "address",
1031
- "internalType": "address"
1032
- }
1033
- ],
1034
- "outputs": [
1035
- {
1036
- "name": "lastTimestamp",
1037
- "type": "uint48",
1038
- "internalType": "uint48"
1039
- },
1040
- {
1041
- "name": "isBlocked",
1042
- "type": "bool",
1043
- "internalType": "bool"
1044
- }
1045
- ],
1046
- "stateMutability": "view"
1047
- },
1048
- {
1049
- "type": "function",
1050
- "name": "validatePaymasterUserOp",
1051
- "inputs": [
1052
- {
1053
- "name": "userOp",
1054
- "type": "tuple",
1055
- "internalType": "struct PackedUserOperation",
1056
- "components": [
1057
- {
1058
- "name": "sender",
1059
- "type": "address",
1060
- "internalType": "address"
1061
- },
1062
- {
1063
- "name": "nonce",
1064
- "type": "uint256",
1065
- "internalType": "uint256"
1066
- },
1067
- {
1068
- "name": "initCode",
1069
- "type": "bytes",
1070
- "internalType": "bytes"
1071
- },
1072
- {
1073
- "name": "callData",
1074
- "type": "bytes",
1075
- "internalType": "bytes"
1076
- },
1077
- {
1078
- "name": "accountGasLimits",
1079
- "type": "bytes32",
1080
- "internalType": "bytes32"
1081
- },
1082
- {
1083
- "name": "preVerificationGas",
1084
- "type": "uint256",
1085
- "internalType": "uint256"
1086
- },
1087
- {
1088
- "name": "gasFees",
1089
- "type": "bytes32",
1090
- "internalType": "bytes32"
1091
- },
1092
- {
1093
- "name": "paymasterAndData",
1094
- "type": "bytes",
1095
- "internalType": "bytes"
1096
- },
1097
- {
1098
- "name": "signature",
1099
- "type": "bytes",
1100
- "internalType": "bytes"
1101
- }
1102
- ]
1103
- },
1104
- {
1105
- "name": "userOpHash",
1106
- "type": "bytes32",
1107
- "internalType": "bytes32"
1108
- },
1109
- {
1110
- "name": "maxCost",
1111
- "type": "uint256",
1112
- "internalType": "uint256"
1113
- }
1114
- ],
1115
- "outputs": [
1116
- {
1117
- "name": "context",
1118
- "type": "bytes",
1119
- "internalType": "bytes"
1120
- },
1121
- {
1122
- "name": "validationData",
1123
- "type": "uint256",
1124
- "internalType": "uint256"
1125
- }
1126
- ],
1127
- "stateMutability": "nonpayable"
1128
- },
1129
- {
1130
- "type": "function",
1131
- "name": "version",
1132
- "inputs": [],
1133
- "outputs": [
1134
- {
1135
- "name": "",
1136
- "type": "string",
1137
- "internalType": "string"
1138
- }
1139
- ],
1140
- "stateMutability": "pure"
1141
- },
1142
- {
1143
- "type": "function",
1144
- "name": "withdraw",
1145
- "inputs": [
1146
- {
1147
- "name": "amount",
1148
- "type": "uint256",
1149
- "internalType": "uint256"
1150
- }
1151
- ],
1152
- "outputs": [],
1153
- "stateMutability": "nonpayable"
1154
- },
1155
- {
1156
- "type": "function",
1157
- "name": "withdrawProtocolRevenue",
1158
- "inputs": [
1159
- {
1160
- "name": "to",
1161
- "type": "address",
1162
- "internalType": "address"
1163
- },
1164
- {
1165
- "name": "amount",
1166
- "type": "uint256",
1167
- "internalType": "uint256"
1168
- }
1169
- ],
1170
- "outputs": [],
1171
- "stateMutability": "nonpayable"
1172
- },
1173
- {
1174
- "type": "function",
1175
- "name": "withdrawStake",
1176
- "inputs": [
1177
- {
1178
- "name": "to",
1179
- "type": "address",
1180
- "internalType": "address payable"
1181
- }
1182
- ],
1183
- "outputs": [],
1184
- "stateMutability": "nonpayable"
1185
- },
1186
- {
1187
- "type": "function",
1188
- "name": "withdrawTo",
1189
- "inputs": [
1190
- {
1191
- "name": "to",
1192
- "type": "address",
1193
- "internalType": "address payable"
1194
- },
1195
- {
1196
- "name": "amount",
1197
- "type": "uint256",
1198
- "internalType": "uint256"
1199
- }
1200
- ],
1201
- "outputs": [],
1202
- "stateMutability": "nonpayable"
1203
- },
1204
- {
1205
- "type": "function",
1206
- "name": "xpntsFactory",
1207
- "inputs": [],
1208
- "outputs": [
1209
- {
1210
- "name": "",
1211
- "type": "address",
1212
- "internalType": "address"
1213
- }
1214
- ],
1215
- "stateMutability": "view"
1216
- },
1217
- {
1218
- "type": "event",
1219
- "name": "APNTsPriceUpdated",
1220
- "inputs": [
1221
- {
1222
- "name": "oldPrice",
1223
- "type": "uint256",
1224
- "indexed": false,
1225
- "internalType": "uint256"
1226
- },
1227
- {
1228
- "name": "newPrice",
1229
- "type": "uint256",
1230
- "indexed": false,
1231
- "internalType": "uint256"
1232
- }
1233
- ],
1234
- "anonymous": false
1235
- },
1236
- {
1237
- "type": "event",
1238
- "name": "APNTsTokenUpdated",
1239
- "inputs": [
1240
- {
1241
- "name": "oldToken",
1242
- "type": "address",
1243
- "indexed": true,
1244
- "internalType": "address"
1245
- },
1246
- {
1247
- "name": "newToken",
1248
- "type": "address",
1249
- "indexed": true,
1250
- "internalType": "address"
1251
- }
1252
- ],
1253
- "anonymous": false
1254
- },
1255
- {
1256
- "type": "event",
1257
- "name": "BLSAggregatorUpdated",
1258
- "inputs": [
1259
- {
1260
- "name": "oldAggregator",
1261
- "type": "address",
1262
- "indexed": true,
1263
- "internalType": "address"
1264
- },
1265
- {
1266
- "name": "newAggregator",
1267
- "type": "address",
1268
- "indexed": true,
1269
- "internalType": "address"
1270
- }
1271
- ],
1272
- "anonymous": false
1273
- },
1274
- {
1275
- "type": "event",
1276
- "name": "OperatorConfigured",
1277
- "inputs": [
1278
- {
1279
- "name": "operator",
1280
- "type": "address",
1281
- "indexed": true,
1282
- "internalType": "address"
1283
- },
1284
- {
1285
- "name": "xPNTsToken",
1286
- "type": "address",
1287
- "indexed": false,
1288
- "internalType": "address"
1289
- },
1290
- {
1291
- "name": "treasury",
1292
- "type": "address",
1293
- "indexed": false,
1294
- "internalType": "address"
1295
- },
1296
- {
1297
- "name": "exchangeRate",
1298
- "type": "uint256",
1299
- "indexed": false,
1300
- "internalType": "uint256"
1301
- }
1302
- ],
1303
- "anonymous": false
1304
- },
1305
- {
1306
- "type": "event",
1307
- "name": "OperatorDeposited",
1308
- "inputs": [
1309
- {
1310
- "name": "operator",
1311
- "type": "address",
1312
- "indexed": true,
1313
- "internalType": "address"
1314
- },
1315
- {
1316
- "name": "amount",
1317
- "type": "uint256",
1318
- "indexed": false,
1319
- "internalType": "uint256"
1320
- }
1321
- ],
1322
- "anonymous": false
1323
- },
1324
- {
1325
- "type": "event",
1326
- "name": "OperatorMinTxIntervalUpdated",
1327
- "inputs": [
1328
- {
1329
- "name": "operator",
1330
- "type": "address",
1331
- "indexed": true,
1332
- "internalType": "address"
1333
- },
1334
- {
1335
- "name": "minTxInterval",
1336
- "type": "uint48",
1337
- "indexed": false,
1338
- "internalType": "uint48"
1339
- }
1340
- ],
1341
- "anonymous": false
1342
- },
1343
- {
1344
- "type": "event",
1345
- "name": "OperatorPaused",
1346
- "inputs": [
1347
- {
1348
- "name": "operator",
1349
- "type": "address",
1350
- "indexed": true,
1351
- "internalType": "address"
1352
- }
1353
- ],
1354
- "anonymous": false
1355
- },
1356
- {
1357
- "type": "event",
1358
- "name": "OperatorSlashed",
1359
- "inputs": [
1360
- {
1361
- "name": "operator",
1362
- "type": "address",
1363
- "indexed": true,
1364
- "internalType": "address"
1365
- },
1366
- {
1367
- "name": "amount",
1368
- "type": "uint256",
1369
- "indexed": false,
1370
- "internalType": "uint256"
1371
- },
1372
- {
1373
- "name": "level",
1374
- "type": "uint8",
1375
- "indexed": false,
1376
- "internalType": "enum ISuperPaymaster.SlashLevel"
1377
- }
1378
- ],
1379
- "anonymous": false
1380
- },
1381
- {
1382
- "type": "event",
1383
- "name": "OperatorUnpaused",
1384
- "inputs": [
1385
- {
1386
- "name": "operator",
1387
- "type": "address",
1388
- "indexed": true,
1389
- "internalType": "address"
1390
- }
1391
- ],
1392
- "anonymous": false
1393
- },
1394
- {
1395
- "type": "event",
1396
- "name": "OperatorWithdrawn",
1397
- "inputs": [
1398
- {
1399
- "name": "operator",
1400
- "type": "address",
1401
- "indexed": true,
1402
- "internalType": "address"
1403
- },
1404
- {
1405
- "name": "amount",
1406
- "type": "uint256",
1407
- "indexed": false,
1408
- "internalType": "uint256"
1409
- }
1410
- ],
1411
- "anonymous": false
1412
- },
1413
- {
1414
- "type": "event",
1415
- "name": "OracleFallbackTriggered",
1416
- "inputs": [
1417
- {
1418
- "name": "timestamp",
1419
- "type": "uint256",
1420
- "indexed": false,
1421
- "internalType": "uint256"
1422
- }
1423
- ],
1424
- "anonymous": false
1425
- },
1426
- {
1427
- "type": "event",
1428
- "name": "OwnershipTransferred",
1429
- "inputs": [
1430
- {
1431
- "name": "previousOwner",
1432
- "type": "address",
1433
- "indexed": true,
1434
- "internalType": "address"
1435
- },
1436
- {
1437
- "name": "newOwner",
1438
- "type": "address",
1439
- "indexed": true,
1440
- "internalType": "address"
1441
- }
1442
- ],
1443
- "anonymous": false
1444
- },
1445
- {
1446
- "type": "event",
1447
- "name": "PriceUpdated",
1448
- "inputs": [
1449
- {
1450
- "name": "price",
1451
- "type": "int256",
1452
- "indexed": true,
1453
- "internalType": "int256"
1454
- },
1455
- {
1456
- "name": "timestamp",
1457
- "type": "uint256",
1458
- "indexed": true,
1459
- "internalType": "uint256"
1460
- }
1461
- ],
1462
- "anonymous": false
1463
- },
1464
- {
1465
- "type": "event",
1466
- "name": "ProtocolFeeUpdated",
1467
- "inputs": [
1468
- {
1469
- "name": "oldFee",
1470
- "type": "uint256",
1471
- "indexed": false,
1472
- "internalType": "uint256"
1473
- },
1474
- {
1475
- "name": "newFee",
1476
- "type": "uint256",
1477
- "indexed": false,
1478
- "internalType": "uint256"
1479
- }
1480
- ],
1481
- "anonymous": false
1482
- },
1483
- {
1484
- "type": "event",
1485
- "name": "ProtocolRevenueWithdrawn",
1486
- "inputs": [
1487
- {
1488
- "name": "to",
1489
- "type": "address",
1490
- "indexed": true,
1491
- "internalType": "address"
1492
- },
1493
- {
1494
- "name": "amount",
1495
- "type": "uint256",
1496
- "indexed": false,
1497
- "internalType": "uint256"
1498
- }
1499
- ],
1500
- "anonymous": false
1501
- },
1502
- {
1503
- "type": "event",
1504
- "name": "ReputationUpdated",
1505
- "inputs": [
1506
- {
1507
- "name": "operator",
1508
- "type": "address",
1509
- "indexed": true,
1510
- "internalType": "address"
1511
- },
1512
- {
1513
- "name": "newScore",
1514
- "type": "uint256",
1515
- "indexed": false,
1516
- "internalType": "uint256"
1517
- }
1518
- ],
1519
- "anonymous": false
1520
- },
1521
- {
1522
- "type": "event",
1523
- "name": "SlashExecutedWithProof",
1524
- "inputs": [
1525
- {
1526
- "name": "operator",
1527
- "type": "address",
1528
- "indexed": true,
1529
- "internalType": "address"
1530
- },
1531
- {
1532
- "name": "level",
1533
- "type": "uint8",
1534
- "indexed": false,
1535
- "internalType": "enum ISuperPaymaster.SlashLevel"
1536
- },
1537
- {
1538
- "name": "penalty",
1539
- "type": "uint256",
1540
- "indexed": false,
1541
- "internalType": "uint256"
1542
- },
1543
- {
1544
- "name": "proofHash",
1545
- "type": "bytes32",
1546
- "indexed": false,
1547
- "internalType": "bytes32"
1548
- },
1549
- {
1550
- "name": "timestamp",
1551
- "type": "uint256",
1552
- "indexed": false,
1553
- "internalType": "uint256"
1554
- }
1555
- ],
1556
- "anonymous": false
1557
- },
1558
- {
1559
- "type": "event",
1560
- "name": "TransactionSponsored",
1561
- "inputs": [
1562
- {
1563
- "name": "operator",
1564
- "type": "address",
1565
- "indexed": true,
1566
- "internalType": "address"
1567
- },
1568
- {
1569
- "name": "user",
1570
- "type": "address",
1571
- "indexed": true,
1572
- "internalType": "address"
1573
- },
1574
- {
1575
- "name": "aPNTsCost",
1576
- "type": "uint256",
1577
- "indexed": false,
1578
- "internalType": "uint256"
1579
- },
1580
- {
1581
- "name": "xPNTsCost",
1582
- "type": "uint256",
1583
- "indexed": false,
1584
- "internalType": "uint256"
1585
- }
1586
- ],
1587
- "anonymous": false
1588
- },
1589
- {
1590
- "type": "event",
1591
- "name": "UserBlockedStatusUpdated",
1592
- "inputs": [
1593
- {
1594
- "name": "operator",
1595
- "type": "address",
1596
- "indexed": true,
1597
- "internalType": "address"
1598
- },
1599
- {
1600
- "name": "user",
1601
- "type": "address",
1602
- "indexed": true,
1603
- "internalType": "address"
1604
- },
1605
- {
1606
- "name": "isBlocked",
1607
- "type": "bool",
1608
- "indexed": false,
1609
- "internalType": "bool"
1610
- }
1611
- ],
1612
- "anonymous": false
1613
- },
1614
- {
1615
- "type": "event",
1616
- "name": "UserReputationAccrued",
1617
- "inputs": [
1618
- {
1619
- "name": "user",
1620
- "type": "address",
1621
- "indexed": true,
1622
- "internalType": "address"
1623
- },
1624
- {
1625
- "name": "aPNTsValue",
1626
- "type": "uint256",
1627
- "indexed": false,
1628
- "internalType": "uint256"
1629
- }
1630
- ],
1631
- "anonymous": false
1632
- },
1633
- {
1634
- "type": "event",
1635
- "name": "ValidationRejected",
1636
- "inputs": [
1637
- {
1638
- "name": "user",
1639
- "type": "address",
1640
- "indexed": true,
1641
- "internalType": "address"
1642
- },
1643
- {
1644
- "name": "operator",
1645
- "type": "address",
1646
- "indexed": true,
1647
- "internalType": "address"
1648
- },
1649
- {
1650
- "name": "reasonCode",
1651
- "type": "uint8",
1652
- "indexed": false,
1653
- "internalType": "uint8"
1654
- }
1655
- ],
1656
- "anonymous": false
1657
- },
1658
- {
1659
- "type": "error",
1660
- "name": "AddressEmptyCode",
1661
- "inputs": [
1662
- {
1663
- "name": "target",
1664
- "type": "address",
1665
- "internalType": "address"
1666
- }
1667
- ]
1668
- },
1669
- {
1670
- "type": "error",
1671
- "name": "AddressInsufficientBalance",
1672
- "inputs": [
1673
- {
1674
- "name": "account",
1675
- "type": "address",
1676
- "internalType": "address"
1677
- }
1678
- ]
1679
- },
1680
- {
1681
- "type": "error",
1682
- "name": "DepositNotVerified",
1683
- "inputs": []
1684
- },
1685
- {
1686
- "type": "error",
1687
- "name": "FailedInnerCall",
1688
- "inputs": []
1689
- },
1690
- {
1691
- "type": "error",
1692
- "name": "InsufficientBalance",
1693
- "inputs": [
1694
- {
1695
- "name": "available",
1696
- "type": "uint256",
1697
- "internalType": "uint256"
1698
- },
1699
- {
1700
- "name": "required",
1701
- "type": "uint256",
1702
- "internalType": "uint256"
1703
- }
1704
- ]
1705
- },
1706
- {
1707
- "type": "error",
1708
- "name": "InsufficientRevenue",
1709
- "inputs": []
1710
- },
1711
- {
1712
- "type": "error",
1713
- "name": "InvalidAddress",
1714
- "inputs": []
1715
- },
1716
- {
1717
- "type": "error",
1718
- "name": "InvalidConfiguration",
1719
- "inputs": []
1720
- },
1721
- {
1722
- "type": "error",
1723
- "name": "MathOverflowedMulDiv",
1724
- "inputs": []
1725
- },
1726
- {
1727
- "type": "error",
1728
- "name": "NoSlashHistory",
1729
- "inputs": []
1730
- },
1731
- {
1732
- "type": "error",
1733
- "name": "OracleError",
1734
- "inputs": []
1735
- },
1736
- {
1737
- "type": "error",
1738
- "name": "OwnableInvalidOwner",
1739
- "inputs": [
1740
- {
1741
- "name": "owner",
1742
- "type": "address",
1743
- "internalType": "address"
1744
- }
1745
- ]
1746
- },
1747
- {
1748
- "type": "error",
1749
- "name": "OwnableUnauthorizedAccount",
1750
- "inputs": [
1751
- {
1752
- "name": "account",
1753
- "type": "address",
1754
- "internalType": "address"
1755
- }
1756
- ]
1757
- },
1758
- {
1759
- "type": "error",
1760
- "name": "ReentrancyGuardReentrantCall",
1761
- "inputs": []
1762
- },
1763
- {
1764
- "type": "error",
1765
- "name": "SafeERC20FailedOperation",
1766
- "inputs": [
1767
- {
1768
- "name": "token",
1769
- "type": "address",
1770
- "internalType": "address"
1771
- }
1772
- ]
1773
- },
1774
- {
1775
- "type": "error",
1776
- "name": "Unauthorized",
1777
- "inputs": []
1778
- }
1779
- ],
1780
- "bytecode": "0x60e03461027a57601f61430838819003918201601f19168301916001600160401b0383118484101761027e5780849260e09460405283398101031261027a5780516001600160a01b038116919082810361027a5761005f60208301610292565b60408301519091906001600160a01b038116810361027a5761008360608501610292565b9061009060808601610292565b9260c061009f60a08801610292565b960151966001600160a01b038616908115610267575f80546001600160a01b031981168417825560405193916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a31561023057506080526001805566470de4df8200006009556103e8600d5560a052600280546001600160a01b0319166001600160a01b0392831617905590811660c05282161561022957505b600480546001600160a01b0319166001600160a01b03929092169190911790558015610220575b60115560405161406190816102a78239608051818181610a2301528181610aca01528181610b7001528181610fcf0152818161127401528181611aa301528181612144015281816124b10152612c18015260a0518181816102f80152818161073a0152818161106c0152818161137f01528181611625015281816117c401528181611f090152818161222201526129ba015260c05181818161122f01528181611c1801528181612a8701526138cc0152f35b50610e1061016e565b9050610147565b62461bcd60e51b8152602060048201526012602482015271125b9d985b1a5908115b9d1c9e541bda5b9d60721b6044820152606490fd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361027a5756fe60806040526004361015610011575f80fd5b5f5f3560e01c80630396cb6014612bf0578063058ae10f146129e957806306433b1b146129a4578063079d2d42146125ee57806313e7c9d814612521578063205c28781461248c5780632e1a7d4d146123945780632f4f21e2146121ed57806332726684146121cd57806339788cd9146121ac57806352b7512c14612104578063539f51db146120e757806354fd4d501461208f57806358a2570a1461204a578063594a6f231461202c5780635f4cd4fe14611eac57806360f28de614611e9057806361ad446e14611e7257806361d027b314611e495780636640431f14611de257806366c3687514611da9578063673a7e2814611bf85780636d8a4aff14611bcf578063715018a614611b8857806374f053c414611b5f578063787dce3d14611aff5780637af3816c14611ae15780637c627b2114611a5b578063847807f21461178e57806388a7ca5c146115bc5780638da5cb5b146115955780638e580213146114f257806396daa322146114d4578063a134d63a146113d2578063a3970ae61461136d578063a4b5328f146112a3578063b0d691fe1461125e578063b0f0abe914611219578063b6b55f2514611040578063b8ca3b8314611023578063bb9fe6bf14610fb3578063bc95910114610f48578063bd11187014610f2a578063bfa5a1eb14610cd5578063c06f58e814610cac578063c1d9cb0814610bdc578063c23a5cea14610b4b578063c399ec8814610a9d578063d0e30db014610a0c578063d20727d714610997578063ddc380d81461097a578063e1a452181461095d578063e8ade1a9146108d4578063eafe74b5146106e8578063ec2123f11461067c578063ede3150214610660578063f0f4426014610609578063f2fde38b14610596578063f5c91a08146104e8578063f60fdcb3146104a5578063f7e8cb0d146104665763fc347007146102c4575f80fd5b346104635760203660031901126104635760043565ffffffffffff811690818103610461576040516310fdfea760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa90811561045657859161041e575b5060209061035d926040518080958194632474521560e21b835233906004840161309b565b03915afa9081156104135784916103e4575b50156103d6573383526005602052600160408420019081549065ffffffffffff60c01b9060c01b169065ffffffffffff60c01b19161790556040519081527f4419a541734858dec04cd4ea31aff7b399a0b82dc61f30cc777c1907dc8102ed60203392a280f35b6282b42960e81b8352600483fd5b610406915060203d60201161040c575b6103fe8183612dfc565b810190613083565b5f61036f565b503d6103f4565b6040513d86823e3d90fd5b90506020813d60201161044e575b8161043960209383612dfc565b8101031261044a575161035d610338565b5f80fd5b3d915061042c565b6040513d87823e3d90fd5b825b80fd5b50346104635760203660031901126104635760209060ff906040906001600160a01b03610491612cb9565b168152600784522054166040519015158152f35b50346104635780600319360112610463576080600a5460ff600b54600c5490604051938452602084015260018060501b038116604084015260501c166060820152f35b503461046357604036600319011261046357610502612cb9565b6024359061050e613c50565b63ffffffff821161055a5760205f516020613f6c5f395f51905f529160018060a01b0316928385526005825261055063ffffffff821660016040882001613a89565b604051908152a280f35b60405162461bcd60e51b815260206004820152601460248201527329b1b7b9329032bc31b2b2b239903ab4b73a199960611b6044820152606490fd5b5034610463576020366003190112610463576105b0612cb9565b6105b8613c50565b6001600160a01b031680156105f55781546001600160a01b03198116821783556001600160a01b03165f516020613fec5f395f51905f528380a380f35b631e4fbdf760e01b82526004829052602482fd5b503461046357602036600319011261046357610623612cb9565b61062b613c50565b6001600160a01b0316801561065157600480546001600160a01b03191691909117905580f35b63e6c4247b60e01b8252600482fd5b5034610463578060031936011261046357602060405160348152f35b503461046357602036600319011261046357600435610699613c50565b80156106d95760407ffcc60d1b1dedb59d33b8eef97db5a70c8f8f8523c70d6a027dbf676f1290f8d291600954908060095582519182526020820152a180f35b63c52a9bd360e01b8252600482fd5b503461046357604036600319011261046357610702612cb9565b9061070b612ccf565b604051632c333e2560e01b81526001600160a01b039384166004820181905293909190602090839060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9182156108605783926108a0575b50604051634d3c739760e11b815260048101949094526001600160a01b0316602084602481845afa93841561086057839461086b575b5092602060049460405195868092633ba0b9a960e01b82525afa93841561086057839461082c575b50670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610818576020936107f69161318f565b9081811115610811576108099250612f53565b604051908152f35b5050610809565b634e487b7160e01b83526011600452602483fd5b9093506020813d602011610858575b8161084860209383612dfc565b8101031261044a5751925f6107c8565b3d915061083b565b6040513d85823e3d90fd5b93506020843d602011610898575b8161088660209383612dfc565b8101031261044a5792519260206107a0565b3d9150610879565b9091506020813d6020116108cc575b816108bc60209383612dfc565b8101031261044a5751905f61076a565b3d91506108af565b5034610463576108e336612f24565b906108ec613c50565b6001600160a01b0316808352600560205260408320805460ff60e81b19169215801560e81b60ff60e81b1693909317905590610936575f516020613f8c5f395f51905f528280a280f35b7fae02c1bd695006b6d891af37fdeefea45a10ebcc17071e3471787db4f17728858280a280f35b503461046357806003193601126104635760206040516127108152f35b503461046357806003193601126104635760206040516103e88152f35b5034610463576020366003190112610463576109b1612cb9565b6109b9613c50565b6001600160a01b0316801561065157600280546001600160a01b0319811683179091556001600160a01b03167f75f4cc3f3f70100dc11e396f47f8af2dec5cf7ec94e06062222be779cf2f3dec8380a380f35b508060031936011261046357610a20613c50565b807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b15610a9a57816024916040519283809263b760faf960e01b825230600483015234905af18015610a8f57610a7e5750f35b81610a8891612dfc565b6104635780f35b6040513d84823e3d90fd5b50fd5b50346104635780600319360112610463576040516370a0823160e01b8152306004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610b3f5790610b0c575b602090604051908152f35b506020813d602011610b37575b81610b2660209383612dfc565b8101031261044a5760209051610b01565b3d9150610b19565b604051903d90823e3d90fd5b50346104635760203660031901126104635780610b66612cb9565b610b6e613c50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b15610bd85760405163611d2e7560e11b81526001600160a01b0390911660048201529082908290602490829084905af18015610a8f57610a7e5750f35b5050fd5b503461046357602036600319011261046357610bf6612cb9565b816080604051610c0581612de1565b828152826020820152826040820152606080820152015260018060a01b03168082526008602052604082205415610c9d5780825260086020526040822090825260086020526040822054915f198301928311610c8957610c85610c71610c6b8585612d4d565b50613a3a565b604051918291602083526020830190612edd565b0390f35b634e487b7160e01b81526011600452602490fd5b63e0a1dc3160e01b8252600482fd5b5034610463578060031936011261046357600e546040516001600160a01b039091168152602090f35b50346104635760803660031901126104635780610cf0612cb9565b6024356003811015610bd85760443591606435906001600160401b038211610f2657610e075f516020613fac5f395f51905f5260405f516020613f6c5f395f51905f5296602096610d4a63ffffffff973690600401612c8c565b959096610d55613c50565b6001600160a01b0316808c5260058a52848c20909b90978c979082610d7986612ebf565b85610eb25750610dee9087600a945b60018d019c8d8f8890825460a01c16115f14610ea3578f90610db9610dbf928a1663ffffffff835460a01c16613aac565b90613a89565b89610e29575b508b815260088f522092885194610ddb86612de1565b428652888f870152898601523691613034565b6060830152610dfc84612ebf565b836080830152613ac6565b8251918252610e1581612ebf565b87820152a25460a01c16604051908152a280f35b80546001600160801b03168a8110610e7f575080546001600160801b0390610e56908c831690831661306a565b82546001600160801b0319169116179055601054610e75908a906130cd565b6010555b5f610dc5565b81546001600160801b031916909155601054610e9b91906130cd565b601055610e79565b8f60a01b198154169055610dbf565b610ebb86612ebf565b60018603610ed15750610dee9087601494610d88565b92610edb86612ebf565b60028614610eef575b9087610dee92610d88565b8a5460ff60e81b1916600160e81b178b5560329350610dee919088908b5f516020613f8c5f395f51905f528280a291925050610ee4565b8480fd5b50346104635780600319360112610463576020601154604051908152f35b503461046357602036600319011261046357610f62612cb9565b610f6a613c50565b600e80546001600160a01b039283166001600160a01b0319821681179092559091167f019f532f6e08ee8944dc2e7ac40f3c97ad4a20618aee847ddf7c502821c7dad48380a380f35b5034610463578060031936011261046357610fcc613c50565b807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b15610a9a5781809160046040518094819363bb9fe6bf60e01b83525af18015610a8f57610a7e5750f35b503461046357806003193601126104635760206040516107d08152f35b50346104635760203660031901126104635760043561105d613c76565b6040516310fdfea760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa9081156104135784916111e5575b506020906110d1926040518080958194632474521560e21b835233906004840161309b565b03915afa9081156108605783916111c6575b50156111b857600254611104908290309033906001600160a01b0316613cd0565b6001600160801b03811161117a5733825260056020526040822080546001600160801b0390611138908483169083166130b4565b82546001600160801b0319169116179055600f546111579082906130cd565b600f556040519081525f516020613fcc5f395f51905f5260203392a26001805580f35b60405162461bcd60e51b8152602060048201526016602482015275082dadeeadce840caf0c6cacac8e640ead2dce86264760531b6044820152606490fd5b6282b42960e81b8252600482fd5b6111df915060203d60201161040c576103fe8183612dfc565b5f6110e3565b90506020813d602011611211575b8161120060209383612dfc565b8101031261044a57516110d16110ac565b3d91506111f3565b50346104635780600319360112610463576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346104635780600319360112610463576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5034610463576040366003190112610463576112bd612cb9565b6024356112c8613c50565b6112d0613c76565b6001600160a01b03821691821561135e5760105480831161134f57916113418160209361131e827ff7595c4fd7fa675e456dd9520ac8266c06d237d52900fc573bccc85b7c177c9e97612f53565b60105561132d82600f54612f53565b600f556002546001600160a01b0316613c96565b604051908152a26001805580f35b63b4aa806360e01b8552600485fd5b63e6c4247b60e01b8452600484fd5b50346104635761137c36612f24565b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036103d65760018060a01b031682526007602052604082209060ff80198354169115151617905580f35b5034610463576020366003190112610463576001600160a01b036113f4612cb9565b16815260086020526040812080546001600160401b0381116114c0576040519061142460208260051b0183612dfc565b80825260208201809385526020852085915b8383106114a257868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061147357505050500390f35b919360019193955060206114928192603f198a82030186528851612edd565b9601920192018594939192611464565b600560206001926114b285613a3a565b815201920192019190611436565b634e487b7160e01b83526041600452602483fd5b50346104635780600319360112610463576020600d54604051908152f35b50346104635760403660031901126104635761150c612cb9565b6001600160a01b0316815260086020526040812080546024359190821015610461576115389250612d4d565b50805460018201549161158260028201549160ff600461155a60038401612e1f565b920154169260405195869586526020860152604085015260a0606085015260a0840190612cf9565b9061158c81612ebf565b60808301520390f35b5034610463578060031936011261046357546040516001600160a01b039091168152602090f35b5034610463576080366003190112610463576115d6612cb9565b506115df612ccf565b604435906064356001600160401b03811161178a57611602903690600401612c8c565b50506002546001600160a01b031633036103d6576040516310fdfea760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602082600481845afa80156104565783928691611752575b509160209161168a93604051809581948293632474521560e21b84526004840161309b565b03915afa908115610413578491611733575b50156103d6576001600160801b03821161117a576001600160a01b0316808352600560209081526040909320805491935f516020613fcc5f395f51905f529390929091906001600160801b03906116f8908285169083166130b4565b82546001600160801b0319169116179055600f546117179082906130cd565b600f55604051908152a2604051632229f29760e21b8152602090f35b61174c915060203d60201161040c576103fe8183612dfc565b5f61169c565b9250506020823d602011611782575b8161176e60209383612dfc565b8101031261044a5790518291906020611665565b3d9150611761565b8380fd5b5034610463576060366003190112610463576117a8612cb9565b6117b0612ccf565b6040516310fdfea760e01b815260443591907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa9081156119f0578691611a28575b5060206118279160405180938192632474521560e21b835233906004840161309b565b0381855afa9081156119f0578691611a09575b50156119fb57604051635168010760e11b8152602081600481855afa9081156119f05786916119bc575b50602090611889926040518080958194632474521560e21b835233906004840161309b565b03915afa90811561045657859161199d575b501561198f576001600160a01b03831615801561197e575b8015611976575b6119675733808552600560205260408086206001810180546001600160a01b03199081166001600160a01b03898116919091179092556002830180549091169186169190911790558054600160801b600160e81b031916608086901b600160801b600160e01b031617600160e01b1790555190937fff8a1775e676e9fe3cc41088a092f762a9c36c13098d2a9c6a02d1814e0ecbd793919283926119619290919084613a18565b0390a280f35b63c52a9bd360e01b8452600484fd5b5081156118ba565b506001600160a01b038116156118b3565b6282b42960e81b8452600484fd5b6119b6915060203d60201161040c576103fe8183612dfc565b5f61189b565b90506020813d6020116119e8575b816119d760209383612dfc565b8101031261044a5751611889611864565b3d91506119ca565b6040513d88823e3d90fd5b6282b42960e81b8552600485fd5b611a22915060203d60201161040c576103fe8183612dfc565b5f61183a565b90506020813d602011611a53575b81611a4360209383612dfc565b8101031261044a57516020611804565b3d9150611a36565b5034610463576080366003190112610463576004356003811015611add57602435906001600160401b03821161046157611a9c611ada923690600401612c8c565b90611ad1337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146130da565b604435926135d1565b80f35b5080fd5b50346104635780600319360112610463576020601054604051908152f35b503461046357602036600319011261046357600435611b1c613c50565b6107d081116106d95760407fb404cac19fb1cbeff98d325795b08886e3cd8fe8cb1a2f193aac66f13fb239c391600d549080600d5582519182526020820152a180f35b50346104635780600319360112610463576002546040516001600160a01b039091168152602090f35b5034610463578060031936011261046357611ba1613c50565b80546001600160a01b03198116825581906001600160a01b03165f516020613fec5f395f51905f528280a380f35b50346104635780600319360112610463576003546040516001600160a01b039091168152602090f35b5034610463578060031936011261046357604051633fabe5a360e21b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169060a081600481855afa9183908385938695611d6e575b50611c6b5763b41b6cb160e01b8552600485fd5b6402540be40083128015611d5f575b611d5057611c8a60115442612f53565b8410611d50579060206004926040519384809263313ce56760e01b82525afa918215610456578592611d1f575b5060405190611cc582612db2565b83825284602083015260018060501b031690816040820152606060ff841691015282600a5583600b55600c549160ff60501b9060501b169160018060581b0319161717600c555f516020613f4c5f395f51905f528380a380f35b611d4291925060203d602011611d49575b611d3a8183612dfc565b81019061359d565b905f611cb7565b503d611d30565b63b41b6cb160e01b8552600485fd5b506509184e72a0008313611c7a565b9193509350611d95915060a03d60a011611da2575b611d8d8183612dfc565b810190612f88565b509491939190505f611c57565b503d611d83565b5034610463576020366003190112610463576020906040906001600160a01b03611dd1612cb9565b168152600883522054604051908152f35b5034610463576040366003190112610463576040611dfe612cb9565b91611e07612ccf565b9260018060a01b031681526006602052209060018060a01b03165f526020526040805f205460ff82519165ffffffffffff8116835260301c1615156020820152f35b50346104635780600319360112610463576004546040516001600160a01b039091168152602090f35b50346104635780600319360112610463576020600f54604051908152f35b5034610463578060031936011261046357602060405160488152f35b503461046357606036600319011261046357611ec6612cb9565b6024356001600160401b03811161046157611ee5903690600401612d1d565b906044356001600160401b038111610f2657611f05903690600401612d1d565b90927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361201e5781810361200f5791936001600160a01b031691855b818110611f57578680f35b80611f6d611f686001938689613580565b613590565b858952600660205260408920611f8c611f8784878c613580565b613136565b848060a01b03165f5260205260405f209081549060ff60301b90151560301b169060ff60301b1916179055611fc5611f8782858a613580565b857f272958aacfbf07577da4ede62cc7d612dfb0881c6489c961988ef59378d7709f6020611ff7611f68868a8d613580565b936040519415158552868060a01b031693a301611f4c565b63c52a9bd360e01b8652600486fd5b6282b42960e81b8652600486fd5b50346104635780600319360112610463576020600954604051908152f35b503461046357602036600319011261046357612064612cb9565b61206c613c50565b600380546001600160a01b0319166001600160a01b039290921691909117905580f35b503461046357806003193601126104635750610c856040516120b2604082612dfc565b601481527329bab832b92830bcb6b0b9ba32b916999719171960611b6020820152604051918291602083526020830190612cf9565b5034610463578060031936011261046357602060405161012c8152f35b503461046357606036600319011261046357600435906001600160401b038211610463576101206003198336030112610463576121a261218a83612172337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146130da565b61217a613c76565b6044359060243590600401613199565b60018055604051928392604084526040840190612cf9565b9060208301520390f35b503461046357806003193601126104635760206040516509184e72a0008152f35b503461046357806003193601126104635760206040516402540be4008152f35b503461046357604036600319011261046357612207612cb9565b60243590612213613c76565b6040516310fdfea760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602082600481845afa8015610456578392869161235c575b509160209161228793604051809581948293632474521560e21b84526004840161309b565b03915afa90811561041357849161233d575b50156103d6576002546122ba908390309033906001600160a01b0316613cd0565b6001600160801b03821161117a576001600160a01b03168083526005602090815260408420805492935f516020613fcc5f395f51905f52939091906001600160801b039061230d908285169083166130b4565b82546001600160801b0319169116179055600f5461232c9082906130cd565b600f55604051908152a26001805580f35b612356915060203d60201161040c576103fe8183612dfc565b5f612299565b9250506020823d60201161238c575b8161237860209383612dfc565b8101031261044a5790518291906020612262565b3d915061236b565b5034610463576020366003190112610463576004356123b1613c76565b338252600560205260408220546001600160801b031681116124615733825260056020526040822080546001600160801b03906123f39084831690831661306a565b82546001600160801b0319169116179055600f54612412908290612f53565b600f5560025461242e90829033906001600160a01b0316613c96565b6040519081527f4eea589c35918e3c4d8e0371a062a1d544e41d78fb522381678923b9cd6e6dfa60203392a26001805580f35b3382526005602052604082205463cf47918160e01b83526001600160801b0316600452602452604490fd5b503461046357604036600319011261046357806124a7612cb9565b6124af613c50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b15610bd85760405163040b850f60e31b81526001600160a01b03909116600482015260248035908201529082908290604490829084905af18015610a8f57610a7e5750f35b503461046357602036600319011261046357610140906040906001600160a01b0361254a612cb9565b16815260056020522080549060018101549060018060a01b0360028201541665ffffffffffff600460038401549301549360ff6040519660018060801b038116885260018060601b038160801c166020890152818160e01c161515604089015260e81c161515606087015260018060a01b038116608087015263ffffffff8160a01c1660a087015260c01c1660c085015260e0840152610100830152610120820152f35b503461046357606036600319011261046357612608612cb9565b6024356003811015610461576044356001600160401b03811161178a57612633903690600401612c8c565b600e549193916001600160a01b031633036119fb578461265284612ebf565b6001841490811561296c57506001600160a01b038316865260056020526040862054600a6001600160801b039182160416905b612690368488613034565b60208151910120936040936126ce8551986126ab878b612dfc565b600d8a5260208a01926c088aca8408498a640a6d8c2e6d609b1b84523691613034565b508789859360018060a01b0316998a958683526005602052888320906126f38c612ebf565b8b61294c575060ff600a5b16946127098c612ebf565b60028c14612936575b60ff825460e81c1661291f575b600182018663ffffffff825460a01c16115f1461290c5780610db98863ffffffff61274e945460a01c16613aac565b886127f3575b5050509560809795936127be86945f516020613fac5f395f51905f5294848b819a5f51602061400c5f395f51905f529f9d526008602052209085519261279984612de1565b4284528560208501528684015260608301526127b48b612ebf565b8a8c830152613ac6565b81519081526127cc88612ebf565b876020820152a28151936127df81612ebf565b84526020840152820152426060820152a280f35b919650915060018060801b0382541690610bb88202828104610bb814831517156128f857945f516020613fac5f395f51905f52948a8f8f98965f51602061400c5f395f51905f529f9d9b9660809f9d9b968c612710869b048091116128a7575b50508f6127be979850600180612876921b03916080600180911b038a169061306a565b168f600180911b0319825416179055612891866010546130cd565b60105595505094509496989a8296989a50612754565b6127be98506128ef9192965060206010919a87519485915180918484015e81016f2028436170706564206174203330252960801b838201520301600f19810184520182612dfc565b9387965f612853565b634e487b7160e01b8e52601160045260248efd5b805463ffffffff60a01b1916905561274e565b875f516020613f8c5f395f51905f528580a261271f565b815460ff60e81b1916600160e81b178255612712565b6129558c612ebf565b156129635760ff60146126fe565b60ff60326126fe565b9061297685612ebf565b60028503612685576001600160a01b0384168752600560205260408720546001600160801b03169150612685565b50346104635780600319360112610463576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5034610463576060366003190112610463576024356004356044356001600160401b03811161178a57612a20903690600401612c8c565b600e546001600160a01b031691503382141580612bdc575b6119fb57600b54841115611d5057611c1f194201428111612bc8578410611d5057612bc1575b506402540be40081128015612bb2575b612b6457604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8085928692612b89575b50612b1a575b505060086060604051612ad381612db2565b83815260208101859052604081018690520152600a819055600b829055600c80546001600160581b031916600160531b1790555f516020613f4c5f395f51905f528380a380f35b612b27611c209142612f53565b10612b33575b80612ac1565b60149080831315612b735780612b54612b4f612b599386612fbd565b612fd5565b612feb565b13612b64575f612b2d565b63b41b6cb160e01b8352600483fd5b80612b54612b4f85612b8494612fbd565b612b59565b909250612ba5915060a03d60a011611da257611d8d8183612dfc565b509392505091905f612abb565b506509184e72a0008113612a6e565b1515612a5e565b634e487b7160e01b86526011600452602486fd5b5084546001600160a01b0316331415612a38565b50602036600319011261044a5760043563ffffffff811680910361044a57612c16613c50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b1561044a575f90602460405180948193621cb65b60e51b8352600483015234905af18015612c8157612c73575080f35b612c7f91505f90612dfc565b005b6040513d5f823e3d90fd5b9181601f8401121561044a578235916001600160401b03831161044a576020838186019501011161044a57565b600435906001600160a01b038216820361044a57565b602435906001600160a01b038216820361044a57565b35906001600160a01b038216820361044a57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f8401121561044a578235916001600160401b03831161044a576020808501948460051b01011161044a57565b8054821015612d66575f52600560205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b90600182811c92168015612da8575b6020831014612d9457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612d89565b608081019081106001600160401b03821117612dcd57604052565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b03821117612dcd57604052565b601f909101601f19168101906001600160401b03821190821017612dcd57604052565b9060405191825f825492612e3284612d7a565b8084529360018116908115612e9d5750600114612e59575b50612e5792500383612dfc565b565b90505f9291925260205f20905f915b818310612e81575050906020612e57928201015f612e4a565b6020919350806001915483858901015201910190918492612e68565b905060209250612e5794915060ff191682840152151560051b8201015f612e4a565b60031115612ec957565b634e487b7160e01b5f52602160045260245ffd5b90815181526020820151602082015260408201516040820152608080612f12606085015160a0606086015260a0850190612cf9565b93015191612f1f83612ebf565b015290565b604090600319011261044a576004356001600160a01b038116810361044a5790602435801515810361044a5790565b91908203918211612f6057565b634e487b7160e01b5f52601160045260245ffd5b51906001600160501b038216820361044a57565b908160a091031261044a57612f9c81612f74565b91602082015191604081015191612fba608060608401519301612f74565b90565b81810392915f138015828513169184121617612f6057565b90606482029180830560641490151715612f6057565b811561300557600160ff1b81145f19831416612f60570590565b634e487b7160e01b5f52601260045260245ffd5b6001600160401b038111612dcd57601f01601f191660200190565b92919261304082613019565b9161304e6040519384612dfc565b82948184528183011161044a578281602093845f960137010152565b6001600160801b039182169082160391908211612f6057565b9081602091031261044a5751801515810361044a5790565b9081526001600160a01b03909116602082015260400190565b6001600160801b039182169082160191908211612f6057565b91908201809211612f6057565b156130e157565b60405162461bcd60e51b815260206004820152602760248201527f426173655061796d61737465723a2063616c6c6572206973206e6f7420456e746044820152661c9e541bda5b9d60ca1b6064820152608490fd5b356001600160a01b038116810361044a5790565b903590601e198136030182121561044a57018035906001600160401b03821161044a5760200191813603831361044a57565b81810292918115918404141715612f6057565b8115613005570490565b9092916131a582613cf8565b6001600160a01b03165f8181526005602052604081208054919692939160e081901c60ff16156135185760e81c60ff1661356b576001600160a01b036131ea86613136565b165f52600760205260ff60405f2054161561356b57835f52600660205260405f2061321486613136565b6001600160a01b03165f908152602091909152604090819020815192918301906001600160401b03821184831017612dcd5760ff916040525465ffffffffffff8116845260301c16151580602084015261351857600181019165ffffffffffff835460c01c1690816134af575b50505f199260e087016068613296828a61314a565b90501015613489575b50815493608085901c6001600160601b031611613447576040516060916132c582612db2565b600a54808352600b546020840152600c546001600160501b038116604085015260501c60ff16939092018390528a82131561347a57906133049161317c565b90604d811161343357906133216133279260095490600a0a61317c565b90613daf565b600d5490816127100191826127101161346657612af801809211613433579061334f91613d2f565b926001600160801b0316838110613447576001600160801b0390613376908583169061306a565b82546001600160801b03191691161781556003810180546133989085906130cd565b90556133a6836010546130cd565b6010556004810180545f198114613433576001019055546133f590670de0b6b3a7640000906133e19060801c6001600160601b03168561317c565b92546001600160a01b031696920491613136565b90604051956020870152604086015260018060a01b03166060850152608084015260a083015260c082015260c0815261342f60e082612dfc565b9190565b634e487b7160e01b8a52601160045260248afd5b50505050505050906040519061345e602083612dfc565b815290600190565b634e487b7160e01b8b52601160045260248bfd5b63b41b6cb160e01b8b5260048bfd5b9093506134989198508661314a565b60689891981161044a5760485f980135925f61329f565b5165ffffffffffff16801515919082613560575b82613537575b505061351857845f52600660205260405f206134e487613136565b6001600160a01b03165f90815260209190915260408120805465ffffffffffff19164265ffffffffffff1617905580613281565b505050505050905060405161352e602082612dfc565b5f815290600190565b01905065ffffffffffff8111612f605765ffffffffffff1665ffffffffffff4216105f806134c9565b4281141592506134c3565b5050505050905060405161352e602082612dfc565b9190811015612d665760051b0190565b35801515810361044a5790565b9081602091031261044a575160ff8116810361044a5790565b6001600160a01b039091168152602081019190915260400190565b929160025f946135e081612ebf565b14613a12578015613a12578160c0918101031261044a5761360081612ce5565b9261360d60408301612ce5565b9061361f60a060608501359401612ce5565b600b546001600160a01b03938416969184169593909116925f916136439042612f53565b6011541061399a575b829083926138bd575b83821315613878575b8382131561386957906136709161317c565b90604d8111610818579061332161368d9260095490600a0a61317c565b600d546127100190816127101161081857612710916136ab9161317c565b0492808410156137e557836136bf91612f53565b6001600160801b0381116137d7575b61371d906010548082116137cf575b5085835260056020526040832080546001600160801b0390613704908483169083166130b4565b82546001600160801b0319169116179055601054612f53565b60105583815260056020526040812054670de0b6b3a76400009061374d9060801c6001600160601b03168561317c565b0491803b15611add5781604051809263fa74542d60e01b8252818381613777898d600484016135b6565b03925af18015610a8f576137ba575b50507fcde7e91a718e2439d8ff2a679ad52713e82a37b72622fb530c8c41039fdd5bf09160409182519182526020820152a3565b6137c5828092612dfc565b6104635780613786565b90505f6136dd565b506001600160801b036136ce565b93815260056020526040812054909493919250670de0b6b3a7640000916138189160801c6001600160601b03169061317c565b0491813b1561178a57918391613845938360405180968195829463fa74542d60e01b8452600484016135b6565b03925af18015610a8f57613857575050565b613862828092612dfc565b6104635750565b63b41b6cb160e01b8452600484fd5b915050606060405161388981612db2565b600a54808252600b546020830152600c546001600160501b038116604084015260501c60ff1692909101829052909161365e565b604051633fabe5a360e21b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169060a081600481855afa869181613974575b50613913575b5050613655565b8581131561390c5760405163313ce56760e01b81529294509250602090829060049082905afa908115610413579060ff918591613955575b5016915f8061390c565b61396e915060203d602011611d4957611d3a8183612dfc565b5f61394b565b61398e91925060a03d60a011611da257611d8d8183612dfc565b5050509050905f613906565b90303b1561044a57604051630ce74fc560e31b81525f8160048183305af190816139fd575b506139f757506001907f190405c3325ce607eef93c6240d9728b865e09aa174052e80e380f33d165c4f46020604051428152a161364c565b9061364c565b613a0a9194505f90612dfc565b5f925f6139bf565b50505050565b6001600160a01b03918216815291166020820152604081019190915260600190565b90604051613a4781612de1565b608060ff60048395805485526001810154602086015260028101546040860152613a7360038201612e1f565b606086015201541691613a8583612ebf565b0152565b805463ffffffff60a01b191660a09290921b63ffffffff60a01b16919091179055565b9063ffffffff8091169116039063ffffffff8211612f6057565b8054600160401b811015612dcd57613ae391600182018155612d4d565b613c3d578151815560208201516001820155604082015160028201556060820151805160038301916001600160401b038211612dcd57613b238354612d7a565b601f8111613bf8575b50602090601f8311600114613b8f57918060049492608096945f92613b84575b50508160011b915f199060031b1c19161790555b01910151613b6d81612ebf565b613b7681612ebf565b60ff80198354169116179055565b015190505f80613b4c565b90601f19831691845f52815f20925f5b818110613be05750926001928592608098966004989610613bc8575b505050811b019055613b60565b01515f1960f88460031b161c191690555f8080613bbb565b92936020600181928786015181550195019301613b9f565b835f5260205f20601f840160051c81019160208510613c33575b601f0160051c01905b818110613c285750613b2c565b5f8155600101613c1b565b9091508190613c12565b634e487b7160e01b5f525f60045260245ffd5b5f546001600160a01b03163303613c6357565b63118cdaa760e01b5f523360045260245ffd5b600260015414613c87576002600155565b633ee5aeb560e01b5f5260045ffd5b613ccb612e579392613cbd60405194859263a9059cbb60e01b6020850152602484016135b6565b03601f198101845283612dfc565b613e5a565b90613ccb90613cbd612e57956040519586936323b872dd60e01b602086015260248501613a18565b60e081016048613d08828461314a565b905010613d2957613d189161314a565b60481161044a576034013560601c90565b50505f90565b9190915f838202915f1985820991838084109303928084039314613da257826127101115613d9357507fbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e919394612710910990828211900360fc1b910360041c170290565b63227bc15360e01b8152600490fd5b5050506127109192500490565b90670de0b6b3a76400008202905f19670de0b6b3a7640000840992828085109403938085039414613e4e5783821115613e3f57670de0b6b3a7640000829109815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b63227bc15360e01b5f5260045ffd5b5090612fba925061318f565b5f80613ea29260018060a01b03169360208151910182865af13d15613ee5573d90613e8482613019565b91613e926040519384612dfc565b82523d5f602084013e5b83613eed565b8051908115159182613eca575b5050613eb85750565b635274afe760e01b5f5260045260245ffd5b613edd9250602080918301019101613083565b155f80613eaf565b606090613e9c565b90613f115750805115613f0257805190602001fd5b630a12f52160e11b5f5260045ffd5b81511580613f42575b613f22575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15613f1a56fedb6fb3cf4cc5fb760bcd63b958a53b2396776dff32c063188e864296541e76bdfc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c821c5437eb8dd091f69800961953f2bb0bc16ae1ff2d3e52caa96796db65f8271daa7503227727e36abb7f0ecf24f626347ccc20233c48c554d49d7d2077a1a304006653c045d0a3144153a51ac6909baae43b8d5b67184cb74e988b72858727fe48be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a49f25e6b37dc7492af788d36761dc1b25f8fb6dcc448fb5637dc828725f0d88a26469706673582212201084ed7bfaee9d920045a6bd45667f8b452bf76b5d19070152a6e2e8127a80f164736f6c634300081c0033"
1781
- }