@stargatefinance/stg-evm-sdk-v2 1.0.2 → 1.0.3

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.
@@ -0,0 +1,1392 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "OFTWrapper",
4
+ "sourceName": "src/peripheral/oft-wrapper/OFTWrapper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "_defaultBps",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_callerBpsCap",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "uint256",
28
+ "name": "bps",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "CallerBpsCapSet",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "bps",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "DefaultBpsSet",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": true,
53
+ "internalType": "address",
54
+ "name": "token",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "uint256",
60
+ "name": "bps",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "name": "OFTBpsSet",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": true,
72
+ "internalType": "address",
73
+ "name": "previousOwner",
74
+ "type": "address"
75
+ },
76
+ {
77
+ "indexed": true,
78
+ "internalType": "address",
79
+ "name": "newOwner",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "OwnershipTransferred",
84
+ "type": "event"
85
+ },
86
+ {
87
+ "anonymous": false,
88
+ "inputs": [
89
+ {
90
+ "indexed": true,
91
+ "internalType": "address",
92
+ "name": "oft",
93
+ "type": "address"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "address",
98
+ "name": "to",
99
+ "type": "address"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "uint256",
104
+ "name": "amount",
105
+ "type": "uint256"
106
+ }
107
+ ],
108
+ "name": "WrapperFeeWithdrawn",
109
+ "type": "event"
110
+ },
111
+ {
112
+ "anonymous": false,
113
+ "inputs": [
114
+ {
115
+ "indexed": true,
116
+ "internalType": "bytes2",
117
+ "name": "partnerId",
118
+ "type": "bytes2"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "address",
123
+ "name": "token",
124
+ "type": "address"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "uint256",
129
+ "name": "wrapperFee",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint256",
135
+ "name": "callerFee",
136
+ "type": "uint256"
137
+ }
138
+ ],
139
+ "name": "WrapperFees",
140
+ "type": "event"
141
+ },
142
+ {
143
+ "inputs": [],
144
+ "name": "BPS_DENOMINATOR",
145
+ "outputs": [
146
+ {
147
+ "internalType": "uint256",
148
+ "name": "",
149
+ "type": "uint256"
150
+ }
151
+ ],
152
+ "stateMutability": "view",
153
+ "type": "function"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "MAX_UINT",
158
+ "outputs": [
159
+ {
160
+ "internalType": "uint256",
161
+ "name": "",
162
+ "type": "uint256"
163
+ }
164
+ ],
165
+ "stateMutability": "view",
166
+ "type": "function"
167
+ },
168
+ {
169
+ "inputs": [],
170
+ "name": "callerBpsCap",
171
+ "outputs": [
172
+ {
173
+ "internalType": "uint256",
174
+ "name": "",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "stateMutability": "view",
179
+ "type": "function"
180
+ },
181
+ {
182
+ "inputs": [],
183
+ "name": "defaultBps",
184
+ "outputs": [
185
+ {
186
+ "internalType": "uint256",
187
+ "name": "",
188
+ "type": "uint256"
189
+ }
190
+ ],
191
+ "stateMutability": "view",
192
+ "type": "function"
193
+ },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "address",
198
+ "name": "_oft",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "internalType": "uint16",
203
+ "name": "_dstChainId",
204
+ "type": "uint16"
205
+ },
206
+ {
207
+ "internalType": "bytes",
208
+ "name": "_toAddress",
209
+ "type": "bytes"
210
+ },
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "_amount",
214
+ "type": "uint256"
215
+ },
216
+ {
217
+ "internalType": "bool",
218
+ "name": "_useZro",
219
+ "type": "bool"
220
+ },
221
+ {
222
+ "internalType": "bytes",
223
+ "name": "_adapterParams",
224
+ "type": "bytes"
225
+ },
226
+ {
227
+ "components": [
228
+ {
229
+ "internalType": "uint256",
230
+ "name": "callerBps",
231
+ "type": "uint256"
232
+ },
233
+ {
234
+ "internalType": "address",
235
+ "name": "caller",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "internalType": "bytes2",
240
+ "name": "partnerId",
241
+ "type": "bytes2"
242
+ }
243
+ ],
244
+ "internalType": "struct IOFTWrapper.FeeObj",
245
+ "name": "_feeObj",
246
+ "type": "tuple"
247
+ }
248
+ ],
249
+ "name": "estimateSendFee",
250
+ "outputs": [
251
+ {
252
+ "internalType": "uint256",
253
+ "name": "nativeFee",
254
+ "type": "uint256"
255
+ },
256
+ {
257
+ "internalType": "uint256",
258
+ "name": "zroFee",
259
+ "type": "uint256"
260
+ }
261
+ ],
262
+ "stateMutability": "view",
263
+ "type": "function"
264
+ },
265
+ {
266
+ "inputs": [
267
+ {
268
+ "internalType": "address",
269
+ "name": "_oft",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "components": [
274
+ {
275
+ "internalType": "uint32",
276
+ "name": "dstEid",
277
+ "type": "uint32"
278
+ },
279
+ {
280
+ "internalType": "bytes32",
281
+ "name": "to",
282
+ "type": "bytes32"
283
+ },
284
+ {
285
+ "internalType": "uint256",
286
+ "name": "amountLD",
287
+ "type": "uint256"
288
+ },
289
+ {
290
+ "internalType": "uint256",
291
+ "name": "minAmountLD",
292
+ "type": "uint256"
293
+ },
294
+ {
295
+ "internalType": "bytes",
296
+ "name": "extraOptions",
297
+ "type": "bytes"
298
+ },
299
+ {
300
+ "internalType": "bytes",
301
+ "name": "composeMsg",
302
+ "type": "bytes"
303
+ },
304
+ {
305
+ "internalType": "bytes",
306
+ "name": "oftCmd",
307
+ "type": "bytes"
308
+ }
309
+ ],
310
+ "internalType": "struct SendParam",
311
+ "name": "_sendParam",
312
+ "type": "tuple"
313
+ },
314
+ {
315
+ "internalType": "bool",
316
+ "name": "_payInLzToken",
317
+ "type": "bool"
318
+ },
319
+ {
320
+ "components": [
321
+ {
322
+ "internalType": "uint256",
323
+ "name": "callerBps",
324
+ "type": "uint256"
325
+ },
326
+ {
327
+ "internalType": "address",
328
+ "name": "caller",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "internalType": "bytes2",
333
+ "name": "partnerId",
334
+ "type": "bytes2"
335
+ }
336
+ ],
337
+ "internalType": "struct IOFTWrapper.FeeObj",
338
+ "name": "_feeObj",
339
+ "type": "tuple"
340
+ }
341
+ ],
342
+ "name": "estimateSendFeeEpv2",
343
+ "outputs": [
344
+ {
345
+ "components": [
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "nativeFee",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "internalType": "uint256",
353
+ "name": "lzTokenFee",
354
+ "type": "uint256"
355
+ }
356
+ ],
357
+ "internalType": "struct MessagingFee",
358
+ "name": "",
359
+ "type": "tuple"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "address",
369
+ "name": "_oft",
370
+ "type": "address"
371
+ },
372
+ {
373
+ "internalType": "uint16",
374
+ "name": "_dstChainId",
375
+ "type": "uint16"
376
+ },
377
+ {
378
+ "internalType": "bytes32",
379
+ "name": "_toAddress",
380
+ "type": "bytes32"
381
+ },
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "_amount",
385
+ "type": "uint256"
386
+ },
387
+ {
388
+ "internalType": "bool",
389
+ "name": "_useZro",
390
+ "type": "bool"
391
+ },
392
+ {
393
+ "internalType": "bytes",
394
+ "name": "_adapterParams",
395
+ "type": "bytes"
396
+ },
397
+ {
398
+ "components": [
399
+ {
400
+ "internalType": "uint256",
401
+ "name": "callerBps",
402
+ "type": "uint256"
403
+ },
404
+ {
405
+ "internalType": "address",
406
+ "name": "caller",
407
+ "type": "address"
408
+ },
409
+ {
410
+ "internalType": "bytes2",
411
+ "name": "partnerId",
412
+ "type": "bytes2"
413
+ }
414
+ ],
415
+ "internalType": "struct IOFTWrapper.FeeObj",
416
+ "name": "_feeObj",
417
+ "type": "tuple"
418
+ }
419
+ ],
420
+ "name": "estimateSendFeeV2",
421
+ "outputs": [
422
+ {
423
+ "internalType": "uint256",
424
+ "name": "nativeFee",
425
+ "type": "uint256"
426
+ },
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "zroFee",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "stateMutability": "view",
434
+ "type": "function"
435
+ },
436
+ {
437
+ "inputs": [
438
+ {
439
+ "internalType": "address",
440
+ "name": "_token",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "internalType": "uint256",
445
+ "name": "_amount",
446
+ "type": "uint256"
447
+ },
448
+ {
449
+ "internalType": "uint256",
450
+ "name": "_callerBps",
451
+ "type": "uint256"
452
+ }
453
+ ],
454
+ "name": "getAmountAndFees",
455
+ "outputs": [
456
+ {
457
+ "internalType": "uint256",
458
+ "name": "amount",
459
+ "type": "uint256"
460
+ },
461
+ {
462
+ "internalType": "uint256",
463
+ "name": "wrapperFee",
464
+ "type": "uint256"
465
+ },
466
+ {
467
+ "internalType": "uint256",
468
+ "name": "callerFee",
469
+ "type": "uint256"
470
+ }
471
+ ],
472
+ "stateMutability": "view",
473
+ "type": "function"
474
+ },
475
+ {
476
+ "inputs": [
477
+ {
478
+ "internalType": "address",
479
+ "name": "",
480
+ "type": "address"
481
+ }
482
+ ],
483
+ "name": "oftBps",
484
+ "outputs": [
485
+ {
486
+ "internalType": "uint256",
487
+ "name": "",
488
+ "type": "uint256"
489
+ }
490
+ ],
491
+ "stateMutability": "view",
492
+ "type": "function"
493
+ },
494
+ {
495
+ "inputs": [],
496
+ "name": "owner",
497
+ "outputs": [
498
+ {
499
+ "internalType": "address",
500
+ "name": "",
501
+ "type": "address"
502
+ }
503
+ ],
504
+ "stateMutability": "view",
505
+ "type": "function"
506
+ },
507
+ {
508
+ "inputs": [],
509
+ "name": "renounceOwnership",
510
+ "outputs": [],
511
+ "stateMutability": "nonpayable",
512
+ "type": "function"
513
+ },
514
+ {
515
+ "inputs": [
516
+ {
517
+ "internalType": "address",
518
+ "name": "_nativeOft",
519
+ "type": "address"
520
+ },
521
+ {
522
+ "internalType": "uint16",
523
+ "name": "_dstChainId",
524
+ "type": "uint16"
525
+ },
526
+ {
527
+ "internalType": "bytes",
528
+ "name": "_toAddress",
529
+ "type": "bytes"
530
+ },
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "_amount",
534
+ "type": "uint256"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "_minAmount",
539
+ "type": "uint256"
540
+ },
541
+ {
542
+ "internalType": "address payable",
543
+ "name": "_refundAddress",
544
+ "type": "address"
545
+ },
546
+ {
547
+ "internalType": "address",
548
+ "name": "_zroPaymentAddress",
549
+ "type": "address"
550
+ },
551
+ {
552
+ "internalType": "bytes",
553
+ "name": "_adapterParams",
554
+ "type": "bytes"
555
+ },
556
+ {
557
+ "components": [
558
+ {
559
+ "internalType": "uint256",
560
+ "name": "callerBps",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "internalType": "address",
565
+ "name": "caller",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "internalType": "bytes2",
570
+ "name": "partnerId",
571
+ "type": "bytes2"
572
+ }
573
+ ],
574
+ "internalType": "struct IOFTWrapper.FeeObj",
575
+ "name": "_feeObj",
576
+ "type": "tuple"
577
+ }
578
+ ],
579
+ "name": "sendNativeOFT",
580
+ "outputs": [],
581
+ "stateMutability": "payable",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [
586
+ {
587
+ "internalType": "address",
588
+ "name": "_nativeOft",
589
+ "type": "address"
590
+ },
591
+ {
592
+ "internalType": "uint16",
593
+ "name": "_dstChainId",
594
+ "type": "uint16"
595
+ },
596
+ {
597
+ "internalType": "bytes32",
598
+ "name": "_toAddress",
599
+ "type": "bytes32"
600
+ },
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "_amount",
604
+ "type": "uint256"
605
+ },
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "_minAmount",
609
+ "type": "uint256"
610
+ },
611
+ {
612
+ "components": [
613
+ {
614
+ "internalType": "address payable",
615
+ "name": "refundAddress",
616
+ "type": "address"
617
+ },
618
+ {
619
+ "internalType": "address",
620
+ "name": "zroPaymentAddress",
621
+ "type": "address"
622
+ },
623
+ {
624
+ "internalType": "bytes",
625
+ "name": "adapterParams",
626
+ "type": "bytes"
627
+ }
628
+ ],
629
+ "internalType": "struct ICommonOFT.LzCallParams",
630
+ "name": "_callParams",
631
+ "type": "tuple"
632
+ },
633
+ {
634
+ "components": [
635
+ {
636
+ "internalType": "uint256",
637
+ "name": "callerBps",
638
+ "type": "uint256"
639
+ },
640
+ {
641
+ "internalType": "address",
642
+ "name": "caller",
643
+ "type": "address"
644
+ },
645
+ {
646
+ "internalType": "bytes2",
647
+ "name": "partnerId",
648
+ "type": "bytes2"
649
+ }
650
+ ],
651
+ "internalType": "struct IOFTWrapper.FeeObj",
652
+ "name": "_feeObj",
653
+ "type": "tuple"
654
+ }
655
+ ],
656
+ "name": "sendNativeOFTFeeV2",
657
+ "outputs": [],
658
+ "stateMutability": "payable",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [
663
+ {
664
+ "internalType": "address",
665
+ "name": "_oft",
666
+ "type": "address"
667
+ },
668
+ {
669
+ "internalType": "uint16",
670
+ "name": "_dstChainId",
671
+ "type": "uint16"
672
+ },
673
+ {
674
+ "internalType": "bytes",
675
+ "name": "_toAddress",
676
+ "type": "bytes"
677
+ },
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "_amount",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "_minAmount",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "address payable",
690
+ "name": "_refundAddress",
691
+ "type": "address"
692
+ },
693
+ {
694
+ "internalType": "address",
695
+ "name": "_zroPaymentAddress",
696
+ "type": "address"
697
+ },
698
+ {
699
+ "internalType": "bytes",
700
+ "name": "_adapterParams",
701
+ "type": "bytes"
702
+ },
703
+ {
704
+ "components": [
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "callerBps",
708
+ "type": "uint256"
709
+ },
710
+ {
711
+ "internalType": "address",
712
+ "name": "caller",
713
+ "type": "address"
714
+ },
715
+ {
716
+ "internalType": "bytes2",
717
+ "name": "partnerId",
718
+ "type": "bytes2"
719
+ }
720
+ ],
721
+ "internalType": "struct IOFTWrapper.FeeObj",
722
+ "name": "_feeObj",
723
+ "type": "tuple"
724
+ }
725
+ ],
726
+ "name": "sendOFT",
727
+ "outputs": [],
728
+ "stateMutability": "payable",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "address",
735
+ "name": "_adapterOFT",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "components": [
740
+ {
741
+ "internalType": "uint32",
742
+ "name": "dstEid",
743
+ "type": "uint32"
744
+ },
745
+ {
746
+ "internalType": "bytes32",
747
+ "name": "to",
748
+ "type": "bytes32"
749
+ },
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "amountLD",
753
+ "type": "uint256"
754
+ },
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "minAmountLD",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "internalType": "bytes",
762
+ "name": "extraOptions",
763
+ "type": "bytes"
764
+ },
765
+ {
766
+ "internalType": "bytes",
767
+ "name": "composeMsg",
768
+ "type": "bytes"
769
+ },
770
+ {
771
+ "internalType": "bytes",
772
+ "name": "oftCmd",
773
+ "type": "bytes"
774
+ }
775
+ ],
776
+ "internalType": "struct SendParam",
777
+ "name": "_sendParam",
778
+ "type": "tuple"
779
+ },
780
+ {
781
+ "components": [
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "nativeFee",
785
+ "type": "uint256"
786
+ },
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "lzTokenFee",
790
+ "type": "uint256"
791
+ }
792
+ ],
793
+ "internalType": "struct MessagingFee",
794
+ "name": "_fee",
795
+ "type": "tuple"
796
+ },
797
+ {
798
+ "internalType": "address",
799
+ "name": "_refundAddress",
800
+ "type": "address"
801
+ },
802
+ {
803
+ "components": [
804
+ {
805
+ "internalType": "uint256",
806
+ "name": "callerBps",
807
+ "type": "uint256"
808
+ },
809
+ {
810
+ "internalType": "address",
811
+ "name": "caller",
812
+ "type": "address"
813
+ },
814
+ {
815
+ "internalType": "bytes2",
816
+ "name": "partnerId",
817
+ "type": "bytes2"
818
+ }
819
+ ],
820
+ "internalType": "struct IOFTWrapper.FeeObj",
821
+ "name": "_feeObj",
822
+ "type": "tuple"
823
+ }
824
+ ],
825
+ "name": "sendOFTAdapterEpv2",
826
+ "outputs": [],
827
+ "stateMutability": "payable",
828
+ "type": "function"
829
+ },
830
+ {
831
+ "inputs": [
832
+ {
833
+ "internalType": "address",
834
+ "name": "_oft",
835
+ "type": "address"
836
+ },
837
+ {
838
+ "components": [
839
+ {
840
+ "internalType": "uint32",
841
+ "name": "dstEid",
842
+ "type": "uint32"
843
+ },
844
+ {
845
+ "internalType": "bytes32",
846
+ "name": "to",
847
+ "type": "bytes32"
848
+ },
849
+ {
850
+ "internalType": "uint256",
851
+ "name": "amountLD",
852
+ "type": "uint256"
853
+ },
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "minAmountLD",
857
+ "type": "uint256"
858
+ },
859
+ {
860
+ "internalType": "bytes",
861
+ "name": "extraOptions",
862
+ "type": "bytes"
863
+ },
864
+ {
865
+ "internalType": "bytes",
866
+ "name": "composeMsg",
867
+ "type": "bytes"
868
+ },
869
+ {
870
+ "internalType": "bytes",
871
+ "name": "oftCmd",
872
+ "type": "bytes"
873
+ }
874
+ ],
875
+ "internalType": "struct SendParam",
876
+ "name": "_sendParam",
877
+ "type": "tuple"
878
+ },
879
+ {
880
+ "components": [
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "nativeFee",
884
+ "type": "uint256"
885
+ },
886
+ {
887
+ "internalType": "uint256",
888
+ "name": "lzTokenFee",
889
+ "type": "uint256"
890
+ }
891
+ ],
892
+ "internalType": "struct MessagingFee",
893
+ "name": "_fee",
894
+ "type": "tuple"
895
+ },
896
+ {
897
+ "internalType": "address",
898
+ "name": "_refundAddress",
899
+ "type": "address"
900
+ },
901
+ {
902
+ "components": [
903
+ {
904
+ "internalType": "uint256",
905
+ "name": "callerBps",
906
+ "type": "uint256"
907
+ },
908
+ {
909
+ "internalType": "address",
910
+ "name": "caller",
911
+ "type": "address"
912
+ },
913
+ {
914
+ "internalType": "bytes2",
915
+ "name": "partnerId",
916
+ "type": "bytes2"
917
+ }
918
+ ],
919
+ "internalType": "struct IOFTWrapper.FeeObj",
920
+ "name": "_feeObj",
921
+ "type": "tuple"
922
+ }
923
+ ],
924
+ "name": "sendOFTEpv2",
925
+ "outputs": [],
926
+ "stateMutability": "payable",
927
+ "type": "function"
928
+ },
929
+ {
930
+ "inputs": [
931
+ {
932
+ "internalType": "address",
933
+ "name": "_oft",
934
+ "type": "address"
935
+ },
936
+ {
937
+ "internalType": "uint16",
938
+ "name": "_dstChainId",
939
+ "type": "uint16"
940
+ },
941
+ {
942
+ "internalType": "bytes32",
943
+ "name": "_toAddress",
944
+ "type": "bytes32"
945
+ },
946
+ {
947
+ "internalType": "uint256",
948
+ "name": "_amount",
949
+ "type": "uint256"
950
+ },
951
+ {
952
+ "internalType": "uint256",
953
+ "name": "_minAmount",
954
+ "type": "uint256"
955
+ },
956
+ {
957
+ "components": [
958
+ {
959
+ "internalType": "address payable",
960
+ "name": "refundAddress",
961
+ "type": "address"
962
+ },
963
+ {
964
+ "internalType": "address",
965
+ "name": "zroPaymentAddress",
966
+ "type": "address"
967
+ },
968
+ {
969
+ "internalType": "bytes",
970
+ "name": "adapterParams",
971
+ "type": "bytes"
972
+ }
973
+ ],
974
+ "internalType": "struct ICommonOFT.LzCallParams",
975
+ "name": "_callParams",
976
+ "type": "tuple"
977
+ },
978
+ {
979
+ "components": [
980
+ {
981
+ "internalType": "uint256",
982
+ "name": "callerBps",
983
+ "type": "uint256"
984
+ },
985
+ {
986
+ "internalType": "address",
987
+ "name": "caller",
988
+ "type": "address"
989
+ },
990
+ {
991
+ "internalType": "bytes2",
992
+ "name": "partnerId",
993
+ "type": "bytes2"
994
+ }
995
+ ],
996
+ "internalType": "struct IOFTWrapper.FeeObj",
997
+ "name": "_feeObj",
998
+ "type": "tuple"
999
+ }
1000
+ ],
1001
+ "name": "sendOFTFeeV2",
1002
+ "outputs": [],
1003
+ "stateMutability": "payable",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [
1008
+ {
1009
+ "internalType": "address",
1010
+ "name": "_oft",
1011
+ "type": "address"
1012
+ },
1013
+ {
1014
+ "internalType": "uint16",
1015
+ "name": "_dstChainId",
1016
+ "type": "uint16"
1017
+ },
1018
+ {
1019
+ "internalType": "bytes32",
1020
+ "name": "_toAddress",
1021
+ "type": "bytes32"
1022
+ },
1023
+ {
1024
+ "internalType": "uint256",
1025
+ "name": "_amount",
1026
+ "type": "uint256"
1027
+ },
1028
+ {
1029
+ "internalType": "uint256",
1030
+ "name": "_minAmount",
1031
+ "type": "uint256"
1032
+ },
1033
+ {
1034
+ "components": [
1035
+ {
1036
+ "internalType": "address payable",
1037
+ "name": "refundAddress",
1038
+ "type": "address"
1039
+ },
1040
+ {
1041
+ "internalType": "address",
1042
+ "name": "zroPaymentAddress",
1043
+ "type": "address"
1044
+ },
1045
+ {
1046
+ "internalType": "bytes",
1047
+ "name": "adapterParams",
1048
+ "type": "bytes"
1049
+ }
1050
+ ],
1051
+ "internalType": "struct ICommonOFT.LzCallParams",
1052
+ "name": "_callParams",
1053
+ "type": "tuple"
1054
+ },
1055
+ {
1056
+ "components": [
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "callerBps",
1060
+ "type": "uint256"
1061
+ },
1062
+ {
1063
+ "internalType": "address",
1064
+ "name": "caller",
1065
+ "type": "address"
1066
+ },
1067
+ {
1068
+ "internalType": "bytes2",
1069
+ "name": "partnerId",
1070
+ "type": "bytes2"
1071
+ }
1072
+ ],
1073
+ "internalType": "struct IOFTWrapper.FeeObj",
1074
+ "name": "_feeObj",
1075
+ "type": "tuple"
1076
+ }
1077
+ ],
1078
+ "name": "sendOFTV2",
1079
+ "outputs": [],
1080
+ "stateMutability": "payable",
1081
+ "type": "function"
1082
+ },
1083
+ {
1084
+ "inputs": [
1085
+ {
1086
+ "internalType": "address",
1087
+ "name": "_proxyOft",
1088
+ "type": "address"
1089
+ },
1090
+ {
1091
+ "internalType": "uint16",
1092
+ "name": "_dstChainId",
1093
+ "type": "uint16"
1094
+ },
1095
+ {
1096
+ "internalType": "bytes",
1097
+ "name": "_toAddress",
1098
+ "type": "bytes"
1099
+ },
1100
+ {
1101
+ "internalType": "uint256",
1102
+ "name": "_amount",
1103
+ "type": "uint256"
1104
+ },
1105
+ {
1106
+ "internalType": "uint256",
1107
+ "name": "_minAmount",
1108
+ "type": "uint256"
1109
+ },
1110
+ {
1111
+ "internalType": "address payable",
1112
+ "name": "_refundAddress",
1113
+ "type": "address"
1114
+ },
1115
+ {
1116
+ "internalType": "address",
1117
+ "name": "_zroPaymentAddress",
1118
+ "type": "address"
1119
+ },
1120
+ {
1121
+ "internalType": "bytes",
1122
+ "name": "_adapterParams",
1123
+ "type": "bytes"
1124
+ },
1125
+ {
1126
+ "components": [
1127
+ {
1128
+ "internalType": "uint256",
1129
+ "name": "callerBps",
1130
+ "type": "uint256"
1131
+ },
1132
+ {
1133
+ "internalType": "address",
1134
+ "name": "caller",
1135
+ "type": "address"
1136
+ },
1137
+ {
1138
+ "internalType": "bytes2",
1139
+ "name": "partnerId",
1140
+ "type": "bytes2"
1141
+ }
1142
+ ],
1143
+ "internalType": "struct IOFTWrapper.FeeObj",
1144
+ "name": "_feeObj",
1145
+ "type": "tuple"
1146
+ }
1147
+ ],
1148
+ "name": "sendProxyOFT",
1149
+ "outputs": [],
1150
+ "stateMutability": "payable",
1151
+ "type": "function"
1152
+ },
1153
+ {
1154
+ "inputs": [
1155
+ {
1156
+ "internalType": "address",
1157
+ "name": "_proxyOft",
1158
+ "type": "address"
1159
+ },
1160
+ {
1161
+ "internalType": "uint16",
1162
+ "name": "_dstChainId",
1163
+ "type": "uint16"
1164
+ },
1165
+ {
1166
+ "internalType": "bytes32",
1167
+ "name": "_toAddress",
1168
+ "type": "bytes32"
1169
+ },
1170
+ {
1171
+ "internalType": "uint256",
1172
+ "name": "_amount",
1173
+ "type": "uint256"
1174
+ },
1175
+ {
1176
+ "internalType": "uint256",
1177
+ "name": "_minAmount",
1178
+ "type": "uint256"
1179
+ },
1180
+ {
1181
+ "components": [
1182
+ {
1183
+ "internalType": "address payable",
1184
+ "name": "refundAddress",
1185
+ "type": "address"
1186
+ },
1187
+ {
1188
+ "internalType": "address",
1189
+ "name": "zroPaymentAddress",
1190
+ "type": "address"
1191
+ },
1192
+ {
1193
+ "internalType": "bytes",
1194
+ "name": "adapterParams",
1195
+ "type": "bytes"
1196
+ }
1197
+ ],
1198
+ "internalType": "struct ICommonOFT.LzCallParams",
1199
+ "name": "_callParams",
1200
+ "type": "tuple"
1201
+ },
1202
+ {
1203
+ "components": [
1204
+ {
1205
+ "internalType": "uint256",
1206
+ "name": "callerBps",
1207
+ "type": "uint256"
1208
+ },
1209
+ {
1210
+ "internalType": "address",
1211
+ "name": "caller",
1212
+ "type": "address"
1213
+ },
1214
+ {
1215
+ "internalType": "bytes2",
1216
+ "name": "partnerId",
1217
+ "type": "bytes2"
1218
+ }
1219
+ ],
1220
+ "internalType": "struct IOFTWrapper.FeeObj",
1221
+ "name": "_feeObj",
1222
+ "type": "tuple"
1223
+ }
1224
+ ],
1225
+ "name": "sendProxyOFTFeeV2",
1226
+ "outputs": [],
1227
+ "stateMutability": "payable",
1228
+ "type": "function"
1229
+ },
1230
+ {
1231
+ "inputs": [
1232
+ {
1233
+ "internalType": "address",
1234
+ "name": "_proxyOft",
1235
+ "type": "address"
1236
+ },
1237
+ {
1238
+ "internalType": "uint16",
1239
+ "name": "_dstChainId",
1240
+ "type": "uint16"
1241
+ },
1242
+ {
1243
+ "internalType": "bytes32",
1244
+ "name": "_toAddress",
1245
+ "type": "bytes32"
1246
+ },
1247
+ {
1248
+ "internalType": "uint256",
1249
+ "name": "_amount",
1250
+ "type": "uint256"
1251
+ },
1252
+ {
1253
+ "internalType": "uint256",
1254
+ "name": "_minAmount",
1255
+ "type": "uint256"
1256
+ },
1257
+ {
1258
+ "components": [
1259
+ {
1260
+ "internalType": "address payable",
1261
+ "name": "refundAddress",
1262
+ "type": "address"
1263
+ },
1264
+ {
1265
+ "internalType": "address",
1266
+ "name": "zroPaymentAddress",
1267
+ "type": "address"
1268
+ },
1269
+ {
1270
+ "internalType": "bytes",
1271
+ "name": "adapterParams",
1272
+ "type": "bytes"
1273
+ }
1274
+ ],
1275
+ "internalType": "struct ICommonOFT.LzCallParams",
1276
+ "name": "_callParams",
1277
+ "type": "tuple"
1278
+ },
1279
+ {
1280
+ "components": [
1281
+ {
1282
+ "internalType": "uint256",
1283
+ "name": "callerBps",
1284
+ "type": "uint256"
1285
+ },
1286
+ {
1287
+ "internalType": "address",
1288
+ "name": "caller",
1289
+ "type": "address"
1290
+ },
1291
+ {
1292
+ "internalType": "bytes2",
1293
+ "name": "partnerId",
1294
+ "type": "bytes2"
1295
+ }
1296
+ ],
1297
+ "internalType": "struct IOFTWrapper.FeeObj",
1298
+ "name": "_feeObj",
1299
+ "type": "tuple"
1300
+ }
1301
+ ],
1302
+ "name": "sendProxyOFTV2",
1303
+ "outputs": [],
1304
+ "stateMutability": "payable",
1305
+ "type": "function"
1306
+ },
1307
+ {
1308
+ "inputs": [
1309
+ {
1310
+ "internalType": "uint256",
1311
+ "name": "_callerBpsCap",
1312
+ "type": "uint256"
1313
+ }
1314
+ ],
1315
+ "name": "setCallerBpsCap",
1316
+ "outputs": [],
1317
+ "stateMutability": "nonpayable",
1318
+ "type": "function"
1319
+ },
1320
+ {
1321
+ "inputs": [
1322
+ {
1323
+ "internalType": "uint256",
1324
+ "name": "_defaultBps",
1325
+ "type": "uint256"
1326
+ }
1327
+ ],
1328
+ "name": "setDefaultBps",
1329
+ "outputs": [],
1330
+ "stateMutability": "nonpayable",
1331
+ "type": "function"
1332
+ },
1333
+ {
1334
+ "inputs": [
1335
+ {
1336
+ "internalType": "address",
1337
+ "name": "_token",
1338
+ "type": "address"
1339
+ },
1340
+ {
1341
+ "internalType": "uint256",
1342
+ "name": "_bps",
1343
+ "type": "uint256"
1344
+ }
1345
+ ],
1346
+ "name": "setOFTBps",
1347
+ "outputs": [],
1348
+ "stateMutability": "nonpayable",
1349
+ "type": "function"
1350
+ },
1351
+ {
1352
+ "inputs": [
1353
+ {
1354
+ "internalType": "address",
1355
+ "name": "newOwner",
1356
+ "type": "address"
1357
+ }
1358
+ ],
1359
+ "name": "transferOwnership",
1360
+ "outputs": [],
1361
+ "stateMutability": "nonpayable",
1362
+ "type": "function"
1363
+ },
1364
+ {
1365
+ "inputs": [
1366
+ {
1367
+ "internalType": "address",
1368
+ "name": "_oft",
1369
+ "type": "address"
1370
+ },
1371
+ {
1372
+ "internalType": "address",
1373
+ "name": "_to",
1374
+ "type": "address"
1375
+ },
1376
+ {
1377
+ "internalType": "uint256",
1378
+ "name": "_amount",
1379
+ "type": "uint256"
1380
+ }
1381
+ ],
1382
+ "name": "withdrawFees",
1383
+ "outputs": [],
1384
+ "stateMutability": "nonpayable",
1385
+ "type": "function"
1386
+ }
1387
+ ],
1388
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162003123380380620031238339810160408190526200003491620000f8565b6200003f33620000a8565b600180556127108210620000995760405162461bcd60e51b815260206004820152601e60248201527f4f4654577261707065723a2064656661756c74427073203e3d20313030250000604482015260640160405180910390fd5b6002919091556004556200011d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156200010c57600080fd5b505080516020909101519092909150565b612ff6806200012d6000396000f3fe6080604052600436106101a15760003560e01c8063a8198c00116100e1578063e1a452181161008a578063e5b5019a11610064578063e5b5019a14610422578063e90d5fc914610438578063f2fde38b14610473578063fdb80c811461049357600080fd5b8063e1a45218146103cc578063e1bafc80146103e2578063e55dc4e61461040257600080fd5b8063ca3e534c116100bb578063ca3e534c14610390578063d1b308dc146103a3578063dda16a10146103b957600080fd5b8063a8198c0014610354578063ab03b5fd14610367578063c3c8032a1461037d57600080fd5b80637a7511821161014e5780638bcb586c116101285780638bcb586c146102c45780638d8c915c146102d75780638da5cb5b1461030c578063a46d74bc1461033457600080fd5b80637a7511821461026357806383e166381461029e57806385154849146102b157600080fd5b8063498eff641161017f578063498eff641461022857806362bf7c9e1461023b578063715018a61461024e57600080fd5b80630c3d2756146101a657806317696f64146101c857806336739d3d14610208575b600080fd5b3480156101b257600080fd5b506101c66101c136600461237d565b6104a6565b005b3480156101d457600080fd5b506101e86101e33660046123a9565b610569565b604080519384526020840192909252908201526060015b60405180910390f35b34801561021457600080fd5b506101c66102233660046123de565b61069a565b6101c661023636600461246a565b61073b565b6101c6610249366004612560565b6107e3565b34801561025a57600080fd5b506101c66109c7565b34801561026f57600080fd5b5061029061027e366004612610565b60036020526000908152604090205481565b6040519081526020016101ff565b6101c66102ac366004612560565b6109db565b6101c66102bf366004612634565b610cdb565b6101c66102d2366004612634565b610d79565b3480156102e357600080fd5b506102f76102f23660046126d2565b610f4a565b604080519283526020830191909152016101ff565b34801561031857600080fd5b506000546040516001600160a01b0390911681526020016101ff565b34801561034057600080fd5b506101c661034f3660046123de565b61106c565b6101c6610362366004612634565b6110fa565b34801561037357600080fd5b5061029060045481565b6101c661038b36600461246a565b611151565b6101c661039e366004612634565b611308565b3480156103af57600080fd5b5061029060025481565b6101c66103c7366004612634565b611434565b3480156103d857600080fd5b5061029061271081565b3480156103ee57600080fd5b506102f76103fd366004612771565b61151f565b34801561040e57600080fd5b506101c661041d366004612834565b611618565b34801561042e57600080fd5b5061029060001981565b34801561044457600080fd5b50610458610453366004612875565b61167f565b604080518251815260209283015192810192909252016101ff565b34801561047f57600080fd5b506101c661048e366004612610565b6118c1565b6101c66104a136600461246a565b611951565b6104ae611a83565b6127108110806104bf575060001981145b6105105760405162461bcd60e51b815260206004820181905260248201527f4f4654577261707065723a206f66744270735b5f6f66745d203e3d203130302560448201526064015b60405180910390fd5b6001600160a01b03821660008181526003602052604090819020839055517ff51611cfa84d1f2df6840c4651ba5b8f3f45d66811e43567dfe472a6b5a7ffb89061055d9084815260200190565b60405180910390a25050565b600080600061057784611add565b6001600160a01b038616600090815260036020526040812054600181016105a157600091506105b5565b80156105af578091506105b5565b60025491505b6127106105c28784612918565b1061060f5760405162461bcd60e51b815260206004820152601b60248201527f4f4654577261707065723a2046656520627073203e3d203130302500000000006044820152606401610507565b6000821161061e576000610635565b61271061062b8389612931565b6106359190612948565b93506000861161064657600061065d565b6127106106538789612931565b61065d9190612948565b9250600084118061066e5750600083115b610678578661068d565b826106838589612983565b61068d9190612983565b9450505093509350939050565b6106a2611a83565b6127108110806106b3575060001981145b6106ff5760405162461bcd60e51b815260206004820181905260248201527f4f4654577261707065723a2063616c6c6572427073436170203e3d20313030256044820152606401610507565b60048190556040518181527fb474bfee9176a4392a746f7432e2daa216a9db2234f881770e4096bddeefaeb2906020015b60405180910390a150565b610743611b54565b61074d8135611add565b600061075b8c898985611bad565b90508b6001600160a01b0316635190563634338e8e8e878d8d8d8d6040518b63ffffffff1660e01b815260040161079a999897969594939291906129c1565b6000604051808303818588803b1580156107b357600080fd5b505af11580156107c7573d6000803e3d6000fd5b5050505050506107d660018055565b5050505050505050505050565b6107eb611b54565b6107f58135611add565b600061080b868660400135876060013585611d19565b9050856001600160a01b031663c7c7f5b3346040518060e0016040528089600001602081019061083b9190612a29565b63ffffffff16815260200189602001358152602001858152602001896060013581526020018980608001906108709190612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016108b760a08b018b612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016108fe60c08b018b612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610971919089908990600401612b83565b60c06040518083038185885af115801561098f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b49190612c36565b5050506109c060018055565b5050505050565b6109cf611a83565b6109d96000611dd3565b565b6109e3611b54565b6109ed8135611add565b6000856001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190612cf1565b90506000610a69828760400135886060013586611d19565b9050610a7f6001600160a01b0383168883611e3b565b866001600160a01b031663c7c7f5b3346040518060e001604052808a6000016020810190610aad9190612a29565b63ffffffff1681526020018a6020013581526020018581526020018a6060013581526020018a8060800190610ae29190612a4f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610b2960a08c018c612a4f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610b7060c08c018c612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610be391908a908a90600401612b83565b60c06040518083038185885af1158015610c01573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c269190612c36565b50506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0388811660248301526000919084169063dd62ed3e90604401602060405180830381865afa158015610c91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb59190612d0e565b1115610cd057610cd06001600160a01b038316886000611e3b565b50506109c060018055565b610ce3611b54565b610ced8135611add565b6000610cfb88868685611bad565b9050876001600160a01b0316632cdf0b9534338a8a868a8a6040518863ffffffff1660e01b8152600401610d3496959493929190612dcd565b6000604051808303818588803b158015610d4d57600080fd5b505af1158015610d61573d6000803e3d6000fd5b505050505050610d7060018055565b50505050505050565b610d81611b54565b610d8b8135611add565b6000876001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612cf1565b90506000610dff82878786611d19565b9050610e156001600160a01b0383168a83611e3b565b6040517f2cdf0b950000000000000000000000000000000000000000000000000000000081526001600160a01b038a1690632cdf0b95903490610e669030908d908d9088908d908d90600401612dcd565b6000604051808303818588803b158015610e7f57600080fd5b505af1158015610e93573d6000803e3d6000fd5b50506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038d81166024830152600094508616925063dd62ed3e9150604401602060405180830381865afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190612d0e565b1115610f3f57610f3f6001600160a01b0383168a6000611e3b565b5050610d7060018055565b600080610f578335611add565b6000610fc68b6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190612cf1565b898635610569565b50506040517f365260b40000000000000000000000000000000000000000000000000000000081529091506001600160a01b038c169063365260b49061101a908d908d9086908d908d908d90600401612e17565b6040805180830381865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190612e49565b92509250509850989650505050505050565b611074611a83565b61271081106110c55760405162461bcd60e51b815260206004820152601e60248201527f4f4654577261707065723a2064656661756c74427073203e3d203130302500006044820152606401610507565b60028190556040518181527f935f0caa3a542ed0e18e9116cee6e58fc0e502596c9a47909aa4af65fd69b99190602001610730565b611102611b54565b61110c8135611add565b600061111a88868685611bad565b9050876001600160a01b031663695ef6bf34338a8a86896040518763ffffffff1660e01b8152600401610d34959493929190612e6d565b611159611b54565b6111638135611add565b60008b6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c79190612cf1565b905060006111d7828a8a86611d19565b90506111ed6001600160a01b0383168e83611e3b565b8c6001600160a01b0316635190563634308f8f8f878e8e8e8e6040518b63ffffffff1660e01b815260040161122a999897969594939291906129c1565b6000604051808303818588803b15801561124357600080fd5b505af1158015611257573d6000803e3d6000fd5b5050505050506000816001600160a01b031663dd62ed3e308f6040518363ffffffff1660e01b81526004016112a29291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e39190612d0e565b11156112fe576112fe6001600160a01b0382168d6000611e3b565b506107d660018055565b611310611b54565b61131a8135611add565b833410156113905760405162461bcd60e51b815260206004820152602160248201527f4f4654577261707065723a206e6f7420656e6f7567682076616c75652073656e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610507565b866001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b505050505060006113f288868685611fee565b90506001600160a01b038816632cdf0b9561140d8734612983565b308a8a868a8a6040518863ffffffff1660e01b8152600401610d3496959493929190612dcd565b61143c611b54565b6114468135611add565b6000876001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa9190612cf1565b905060006114ba82878786611d19565b90506114d06001600160a01b0383168a83611e3b565b6040517f695ef6bf0000000000000000000000000000000000000000000000000000000081526001600160a01b038a169063695ef6bf903490610e669030908d908d9088908c90600401612e6d565b60008061152c8335611add565b600061156f8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d6000803e3d6000fd5b50506040517f2a205e3d0000000000000000000000000000000000000000000000000000000081529091506001600160a01b038d1690632a205e3d906115c5908e908e908e9087908e908e908e90600401612ea5565b6040805180830381865afa1580156115e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116059190612e49565b9250925050995099975050505050505050565b611620611a83565b6116346001600160a01b03841683836120ad565b604080516001600160a01b038481168252602082018490528516917ff6514f9f283faac4cf3f3a6a702c116227ad0f2c727fb336e4c10b418bc6d613910160405180910390a2505050565b604080518082019091526000808252602082015261169d8235611add565b6000611710866001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117049190612cf1565b60408701358535610569565b50509050856001600160a01b0316633b6f743b6040518060e001604052808860000160208101906117419190612a29565b63ffffffff16815260200188602001358152602001848152602001886060013581526020018880608001906117769190612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016117bd60a08a018a612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200161180460c08a018a612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815261187591908890600401612ef2565b6040805180830381865afa158015611891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b59190612f16565b9150505b949350505050565b6118c9611a83565b6001600160a01b0381166119455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610507565b61194e81611dd3565b50565b611959611b54565b6119638135611add565b863410156119d95760405162461bcd60e51b815260206004820152602160248201527f4f4654577261707065723a206e6f7420656e6f7567682076616c75652073656e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8a6001600160a01b031663d0e30db0886040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a1457600080fd5b505af1158015611a28573d6000803e3d6000fd5b50505050506000611a3b8c898985611fee565b90506001600160a01b038c166351905636611a568a34612983565b308e8e8e878d8d8d8d6040518b63ffffffff1660e01b815260040161079a999897969594939291906129c1565b6000546001600160a01b031633146109d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610507565b60045481111561194e5760405162461bcd60e51b8152602060048201526024808201527f4f4654577261707065723a2063616c6c6572427073203e2063616c6c6572427060448201527f73436170000000000000000000000000000000000000000000000000000000006064820152608401610507565b600260015403611ba65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610507565b6002600155565b6000808080611bbe88888735610569565b925092509250858310158015611bd45750600083115b611c465760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8115611c6157611c616001600160a01b0389163330856120f6565b8015611c8d57611c8d33611c7b6040880160208901612610565b6001600160a01b038b169190846120f6565b611c9d6060860160408701612f32565b604080516001600160a01b038b168152602081018590529081018390527fffff00000000000000000000000000000000000000000000000000000000000091909116907f97bcdc1dd7ab82ef93280983f23d391afea463d0333fddd1a4617693b9ccfeea9060600160405180910390a250909695505050505050565b6000808080611d2a88888735610569565b925092509250858310158015611d405750600083115b611db25760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b611c613330611dc18587612918565b6001600160a01b038c169291906120f6565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b801580611ece57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecc9190612d0e565b155b611f405760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610507565b6040516001600160a01b038316602482015260448101829052611fe99084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261214d565b505050565b6000808080611fff88888735610569565b9250925092508583101580156120155750600083115b6120875760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8015611c8d57611c8d6120a06040870160208801612610565b6001600160a01b038a1690835b6040516001600160a01b038316602482015260448101829052611fe99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611f85565b6040516001600160a01b03808516602483015283166044820152606481018290526121479085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611f85565b50505050565b60006121a2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122359092919063ffffffff16565b90508051600014806121c35750808060200190518101906121c39190612f74565b611fe95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610507565b60606118b9848460008585600080866001600160a01b0316858760405161225c9190612f91565b60006040518083038185875af1925050503d8060008114612299576040519150601f19603f3d011682016040523d82523d6000602084013e61229e565b606091505b50915091506122af878383876122ba565b979650505050505050565b60608315612329578251600003612322576001600160a01b0385163b6123225760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610507565b50816118b9565b6118b9838381511561233e5781518083602001fd5b8060405162461bcd60e51b81526004016105079190612fad565b6001600160a01b038116811461194e57600080fd5b803561237881612358565b919050565b6000806040838503121561239057600080fd5b823561239b81612358565b946020939093013593505050565b6000806000606084860312156123be57600080fd5b83356123c981612358565b95602085013595506040909401359392505050565b6000602082840312156123f057600080fd5b5035919050565b803561ffff8116811461237857600080fd5b60008083601f84011261241b57600080fd5b50813567ffffffffffffffff81111561243357600080fd5b60208301915083602082850101111561244b57600080fd5b9250929050565b60006060828403121561246457600080fd5b50919050565b60008060008060008060008060008060006101608c8e03121561248c57600080fd5b6124968c35612358565b8b359a506124a660208d016123f7565b995067ffffffffffffffff8060408e013511156124c257600080fd5b6124d28e60408f01358f01612409565b909a50985060608d0135975060808d013596506124f260a08e0135612358565b60a08d0135955061250560c08e0161236d565b94508060e08e0135111561251857600080fd5b506125298d60e08e01358e01612409565b909350915061253c8d6101008e01612452565b90509295989b509295989b9093969950565b600060e0828403121561246457600080fd5b600080600080600085870361010081121561257a57600080fd5b863561258581612358565b9550602087013567ffffffffffffffff8111156125a157600080fd5b6125ad89828a0161254e565b95505060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820112156125e057600080fd5b5060408601925060808601356125f581612358565b91506126048760a08801612452565b90509295509295909350565b60006020828403121561262257600080fd5b813561262d81612358565b9392505050565b6000806000806000806000610120888a03121561265057600080fd5b873561265b81612358565b9650612669602089016123f7565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561269a57600080fd5b6126a68a828b01612452565b9250506126b68960c08a01612452565b905092959891949750929550565b801515811461194e57600080fd5b600080600080600080600080610120898b0312156126ef57600080fd5b88356126fa81612358565b975061270860208a016123f7565b965060408901359550606089013594506080890135612726816126c4565b935060a089013567ffffffffffffffff81111561274257600080fd5b61274e8b828c01612409565b909450925061276290508a60c08b01612452565b90509295985092959890939650565b60008060008060008060008060006101208a8c03121561279057600080fd5b893561279b81612358565b98506127a960208b016123f7565b975060408a013567ffffffffffffffff808211156127c657600080fd5b6127d28d838e01612409565b909950975060608c0135965060808c013591506127ee826126c4565b90945060a08b0135908082111561280457600080fd5b506128118c828d01612409565b909450925061282590508b60c08c01612452565b90509295985092959850929598565b60008060006060848603121561284957600080fd5b833561285481612358565b9250602084013561286481612358565b929592945050506040919091013590565b60008060008060c0858703121561288b57600080fd5b843561289681612358565b9350602085013567ffffffffffffffff8111156128b257600080fd5b6128be8782880161254e565b93505060408501356128cf816126c4565b91506128de8660608701612452565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561292b5761292b6128e9565b92915050565b808202811582820484141761292b5761292b6128e9565b60008261297e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8181038181111561292b5761292b6128e9565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808c16835261ffff8b16602084015260e060408401526129ef60e084018a8c612996565b886060850152818816608085015281871660a085015283810360c0850152612a18818688612996565b9d9c50505050505050505050505050565b600060208284031215612a3b57600080fd5b813563ffffffff8116811461262d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612a8457600080fd5b83018035915067ffffffffffffffff821115612a9f57600080fd5b60200191503681900382131561244b57600080fd5b60005b83811015612acf578181015183820152602001612ab7565b50506000910152565b60008151808452612af0816020860160208601612ab4565b601f01601f19169290920160200192915050565b63ffffffff81511682526020810151602083015260408101516040830152606081015160608301526000608082015160e06080850152612b4760e0850182612ad8565b905060a083015184820360a0860152612b608282612ad8565b91505060c083015184820360c0860152612b7a8282612ad8565b95945050505050565b608081526000612b966080830186612b04565b905083356020830152602084013560408301526001600160a01b0383166060830152949350505050565b600060408284031215612bd257600080fd5b6040516040810181811067ffffffffffffffff82111715612c1c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60008082840360c0811215612c4a57600080fd5b6080811215612c5857600080fd5b506040516060810167ffffffffffffffff8282108183111715612ca4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405285518352602086015191508082168214612cc157600080fd5b506020820152612cd48560408601612bc0565b60408201529150612ce88460808501612bc0565b90509250929050565b600060208284031215612d0357600080fd5b815161262d81612358565b600060208284031215612d2057600080fd5b5051919050565b60008135612d3481612358565b6001600160a01b039081168452602083013590612d5082612358565b1660208401526040820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112612d8c57600080fd5b820160208101903567ffffffffffffffff811115612da957600080fd5b803603821315612db857600080fd5b60606040860152612b7a606086018284612996565b6001600160a01b038716815261ffff8616602082015284604082015283606082015282608082015260c060a08201526000612e0b60c0830184612d27565b98975050505050505050565b61ffff87168152856020820152846040820152831515606082015260a060808201526000612e0b60a083018486612996565b60008060408385031215612e5c57600080fd5b505080516020909101519092909150565b6001600160a01b038616815261ffff8516602082015283604082015282606082015260a0608082015260006122af60a0830184612d27565b61ffff8816815260a060208201526000612ec360a08301888a612996565b86604084015285151560608401528281036080840152612ee4818587612996565b9a9950505050505050505050565b604081526000612f056040830185612b04565b905082151560208301529392505050565b600060408284031215612f2857600080fd5b61262d8383612bc0565b600060208284031215612f4457600080fd5b81357fffff0000000000000000000000000000000000000000000000000000000000008116811461262d57600080fd5b600060208284031215612f8657600080fd5b815161262d816126c4565b60008251612fa3818460208701612ab4565b9190910192915050565b60208152600061262d6020830184612ad856fea26469706673582212209e5e0155a17adc7a6e23d5abf9b463397b828628b320069d59cac990892d1b4264736f6c63430008160033",
1389
+ "deployedBytecode": "0x6080604052600436106101a15760003560e01c8063a8198c00116100e1578063e1a452181161008a578063e5b5019a11610064578063e5b5019a14610422578063e90d5fc914610438578063f2fde38b14610473578063fdb80c811461049357600080fd5b8063e1a45218146103cc578063e1bafc80146103e2578063e55dc4e61461040257600080fd5b8063ca3e534c116100bb578063ca3e534c14610390578063d1b308dc146103a3578063dda16a10146103b957600080fd5b8063a8198c0014610354578063ab03b5fd14610367578063c3c8032a1461037d57600080fd5b80637a7511821161014e5780638bcb586c116101285780638bcb586c146102c45780638d8c915c146102d75780638da5cb5b1461030c578063a46d74bc1461033457600080fd5b80637a7511821461026357806383e166381461029e57806385154849146102b157600080fd5b8063498eff641161017f578063498eff641461022857806362bf7c9e1461023b578063715018a61461024e57600080fd5b80630c3d2756146101a657806317696f64146101c857806336739d3d14610208575b600080fd5b3480156101b257600080fd5b506101c66101c136600461237d565b6104a6565b005b3480156101d457600080fd5b506101e86101e33660046123a9565b610569565b604080519384526020840192909252908201526060015b60405180910390f35b34801561021457600080fd5b506101c66102233660046123de565b61069a565b6101c661023636600461246a565b61073b565b6101c6610249366004612560565b6107e3565b34801561025a57600080fd5b506101c66109c7565b34801561026f57600080fd5b5061029061027e366004612610565b60036020526000908152604090205481565b6040519081526020016101ff565b6101c66102ac366004612560565b6109db565b6101c66102bf366004612634565b610cdb565b6101c66102d2366004612634565b610d79565b3480156102e357600080fd5b506102f76102f23660046126d2565b610f4a565b604080519283526020830191909152016101ff565b34801561031857600080fd5b506000546040516001600160a01b0390911681526020016101ff565b34801561034057600080fd5b506101c661034f3660046123de565b61106c565b6101c6610362366004612634565b6110fa565b34801561037357600080fd5b5061029060045481565b6101c661038b36600461246a565b611151565b6101c661039e366004612634565b611308565b3480156103af57600080fd5b5061029060025481565b6101c66103c7366004612634565b611434565b3480156103d857600080fd5b5061029061271081565b3480156103ee57600080fd5b506102f76103fd366004612771565b61151f565b34801561040e57600080fd5b506101c661041d366004612834565b611618565b34801561042e57600080fd5b5061029060001981565b34801561044457600080fd5b50610458610453366004612875565b61167f565b604080518251815260209283015192810192909252016101ff565b34801561047f57600080fd5b506101c661048e366004612610565b6118c1565b6101c66104a136600461246a565b611951565b6104ae611a83565b6127108110806104bf575060001981145b6105105760405162461bcd60e51b815260206004820181905260248201527f4f4654577261707065723a206f66744270735b5f6f66745d203e3d203130302560448201526064015b60405180910390fd5b6001600160a01b03821660008181526003602052604090819020839055517ff51611cfa84d1f2df6840c4651ba5b8f3f45d66811e43567dfe472a6b5a7ffb89061055d9084815260200190565b60405180910390a25050565b600080600061057784611add565b6001600160a01b038616600090815260036020526040812054600181016105a157600091506105b5565b80156105af578091506105b5565b60025491505b6127106105c28784612918565b1061060f5760405162461bcd60e51b815260206004820152601b60248201527f4f4654577261707065723a2046656520627073203e3d203130302500000000006044820152606401610507565b6000821161061e576000610635565b61271061062b8389612931565b6106359190612948565b93506000861161064657600061065d565b6127106106538789612931565b61065d9190612948565b9250600084118061066e5750600083115b610678578661068d565b826106838589612983565b61068d9190612983565b9450505093509350939050565b6106a2611a83565b6127108110806106b3575060001981145b6106ff5760405162461bcd60e51b815260206004820181905260248201527f4f4654577261707065723a2063616c6c6572427073436170203e3d20313030256044820152606401610507565b60048190556040518181527fb474bfee9176a4392a746f7432e2daa216a9db2234f881770e4096bddeefaeb2906020015b60405180910390a150565b610743611b54565b61074d8135611add565b600061075b8c898985611bad565b90508b6001600160a01b0316635190563634338e8e8e878d8d8d8d6040518b63ffffffff1660e01b815260040161079a999897969594939291906129c1565b6000604051808303818588803b1580156107b357600080fd5b505af11580156107c7573d6000803e3d6000fd5b5050505050506107d660018055565b5050505050505050505050565b6107eb611b54565b6107f58135611add565b600061080b868660400135876060013585611d19565b9050856001600160a01b031663c7c7f5b3346040518060e0016040528089600001602081019061083b9190612a29565b63ffffffff16815260200189602001358152602001858152602001896060013581526020018980608001906108709190612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016108b760a08b018b612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016108fe60c08b018b612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610971919089908990600401612b83565b60c06040518083038185885af115801561098f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b49190612c36565b5050506109c060018055565b5050505050565b6109cf611a83565b6109d96000611dd3565b565b6109e3611b54565b6109ed8135611add565b6000856001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190612cf1565b90506000610a69828760400135886060013586611d19565b9050610a7f6001600160a01b0383168883611e3b565b866001600160a01b031663c7c7f5b3346040518060e001604052808a6000016020810190610aad9190612a29565b63ffffffff1681526020018a6020013581526020018581526020018a6060013581526020018a8060800190610ae29190612a4f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610b2960a08c018c612a4f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610b7060c08c018c612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610be391908a908a90600401612b83565b60c06040518083038185885af1158015610c01573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c269190612c36565b50506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0388811660248301526000919084169063dd62ed3e90604401602060405180830381865afa158015610c91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb59190612d0e565b1115610cd057610cd06001600160a01b038316886000611e3b565b50506109c060018055565b610ce3611b54565b610ced8135611add565b6000610cfb88868685611bad565b9050876001600160a01b0316632cdf0b9534338a8a868a8a6040518863ffffffff1660e01b8152600401610d3496959493929190612dcd565b6000604051808303818588803b158015610d4d57600080fd5b505af1158015610d61573d6000803e3d6000fd5b505050505050610d7060018055565b50505050505050565b610d81611b54565b610d8b8135611add565b6000876001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612cf1565b90506000610dff82878786611d19565b9050610e156001600160a01b0383168a83611e3b565b6040517f2cdf0b950000000000000000000000000000000000000000000000000000000081526001600160a01b038a1690632cdf0b95903490610e669030908d908d9088908d908d90600401612dcd565b6000604051808303818588803b158015610e7f57600080fd5b505af1158015610e93573d6000803e3d6000fd5b50506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038d81166024830152600094508616925063dd62ed3e9150604401602060405180830381865afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190612d0e565b1115610f3f57610f3f6001600160a01b0383168a6000611e3b565b5050610d7060018055565b600080610f578335611add565b6000610fc68b6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190612cf1565b898635610569565b50506040517f365260b40000000000000000000000000000000000000000000000000000000081529091506001600160a01b038c169063365260b49061101a908d908d9086908d908d908d90600401612e17565b6040805180830381865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190612e49565b92509250509850989650505050505050565b611074611a83565b61271081106110c55760405162461bcd60e51b815260206004820152601e60248201527f4f4654577261707065723a2064656661756c74427073203e3d203130302500006044820152606401610507565b60028190556040518181527f935f0caa3a542ed0e18e9116cee6e58fc0e502596c9a47909aa4af65fd69b99190602001610730565b611102611b54565b61110c8135611add565b600061111a88868685611bad565b9050876001600160a01b031663695ef6bf34338a8a86896040518763ffffffff1660e01b8152600401610d34959493929190612e6d565b611159611b54565b6111638135611add565b60008b6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c79190612cf1565b905060006111d7828a8a86611d19565b90506111ed6001600160a01b0383168e83611e3b565b8c6001600160a01b0316635190563634308f8f8f878e8e8e8e6040518b63ffffffff1660e01b815260040161122a999897969594939291906129c1565b6000604051808303818588803b15801561124357600080fd5b505af1158015611257573d6000803e3d6000fd5b5050505050506000816001600160a01b031663dd62ed3e308f6040518363ffffffff1660e01b81526004016112a29291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e39190612d0e565b11156112fe576112fe6001600160a01b0382168d6000611e3b565b506107d660018055565b611310611b54565b61131a8135611add565b833410156113905760405162461bcd60e51b815260206004820152602160248201527f4f4654577261707065723a206e6f7420656e6f7567682076616c75652073656e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610507565b866001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b505050505060006113f288868685611fee565b90506001600160a01b038816632cdf0b9561140d8734612983565b308a8a868a8a6040518863ffffffff1660e01b8152600401610d3496959493929190612dcd565b61143c611b54565b6114468135611add565b6000876001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa9190612cf1565b905060006114ba82878786611d19565b90506114d06001600160a01b0383168a83611e3b565b6040517f695ef6bf0000000000000000000000000000000000000000000000000000000081526001600160a01b038a169063695ef6bf903490610e669030908d908d9088908c90600401612e6d565b60008061152c8335611add565b600061156f8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d6000803e3d6000fd5b50506040517f2a205e3d0000000000000000000000000000000000000000000000000000000081529091506001600160a01b038d1690632a205e3d906115c5908e908e908e9087908e908e908e90600401612ea5565b6040805180830381865afa1580156115e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116059190612e49565b9250925050995099975050505050505050565b611620611a83565b6116346001600160a01b03841683836120ad565b604080516001600160a01b038481168252602082018490528516917ff6514f9f283faac4cf3f3a6a702c116227ad0f2c727fb336e4c10b418bc6d613910160405180910390a2505050565b604080518082019091526000808252602082015261169d8235611add565b6000611710866001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117049190612cf1565b60408701358535610569565b50509050856001600160a01b0316633b6f743b6040518060e001604052808860000160208101906117419190612a29565b63ffffffff16815260200188602001358152602001848152602001886060013581526020018880608001906117769190612a4f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016117bd60a08a018a612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200161180460c08a018a612a4f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815261187591908890600401612ef2565b6040805180830381865afa158015611891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b59190612f16565b9150505b949350505050565b6118c9611a83565b6001600160a01b0381166119455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610507565b61194e81611dd3565b50565b611959611b54565b6119638135611add565b863410156119d95760405162461bcd60e51b815260206004820152602160248201527f4f4654577261707065723a206e6f7420656e6f7567682076616c75652073656e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8a6001600160a01b031663d0e30db0886040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a1457600080fd5b505af1158015611a28573d6000803e3d6000fd5b50505050506000611a3b8c898985611fee565b90506001600160a01b038c166351905636611a568a34612983565b308e8e8e878d8d8d8d6040518b63ffffffff1660e01b815260040161079a999897969594939291906129c1565b6000546001600160a01b031633146109d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610507565b60045481111561194e5760405162461bcd60e51b8152602060048201526024808201527f4f4654577261707065723a2063616c6c6572427073203e2063616c6c6572427060448201527f73436170000000000000000000000000000000000000000000000000000000006064820152608401610507565b600260015403611ba65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610507565b6002600155565b6000808080611bbe88888735610569565b925092509250858310158015611bd45750600083115b611c465760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8115611c6157611c616001600160a01b0389163330856120f6565b8015611c8d57611c8d33611c7b6040880160208901612610565b6001600160a01b038b169190846120f6565b611c9d6060860160408701612f32565b604080516001600160a01b038b168152602081018590529081018390527fffff00000000000000000000000000000000000000000000000000000000000091909116907f97bcdc1dd7ab82ef93280983f23d391afea463d0333fddd1a4617693b9ccfeea9060600160405180910390a250909695505050505050565b6000808080611d2a88888735610569565b925092509250858310158015611d405750600083115b611db25760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b611c613330611dc18587612918565b6001600160a01b038c169291906120f6565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b801580611ece57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecc9190612d0e565b155b611f405760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610507565b6040516001600160a01b038316602482015260448101829052611fe99084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261214d565b505050565b6000808080611fff88888735610569565b9250925092508583101580156120155750600083115b6120875760405162461bcd60e51b815260206004820152602360248201527f4f4654577261707065723a206e6f7420656e6f75676820616d6f756e74546f5360448201527f77617000000000000000000000000000000000000000000000000000000000006064820152608401610507565b8015611c8d57611c8d6120a06040870160208801612610565b6001600160a01b038a1690835b6040516001600160a01b038316602482015260448101829052611fe99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611f85565b6040516001600160a01b03808516602483015283166044820152606481018290526121479085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611f85565b50505050565b60006121a2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122359092919063ffffffff16565b90508051600014806121c35750808060200190518101906121c39190612f74565b611fe95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610507565b60606118b9848460008585600080866001600160a01b0316858760405161225c9190612f91565b60006040518083038185875af1925050503d8060008114612299576040519150601f19603f3d011682016040523d82523d6000602084013e61229e565b606091505b50915091506122af878383876122ba565b979650505050505050565b60608315612329578251600003612322576001600160a01b0385163b6123225760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610507565b50816118b9565b6118b9838381511561233e5781518083602001fd5b8060405162461bcd60e51b81526004016105079190612fad565b6001600160a01b038116811461194e57600080fd5b803561237881612358565b919050565b6000806040838503121561239057600080fd5b823561239b81612358565b946020939093013593505050565b6000806000606084860312156123be57600080fd5b83356123c981612358565b95602085013595506040909401359392505050565b6000602082840312156123f057600080fd5b5035919050565b803561ffff8116811461237857600080fd5b60008083601f84011261241b57600080fd5b50813567ffffffffffffffff81111561243357600080fd5b60208301915083602082850101111561244b57600080fd5b9250929050565b60006060828403121561246457600080fd5b50919050565b60008060008060008060008060008060006101608c8e03121561248c57600080fd5b6124968c35612358565b8b359a506124a660208d016123f7565b995067ffffffffffffffff8060408e013511156124c257600080fd5b6124d28e60408f01358f01612409565b909a50985060608d0135975060808d013596506124f260a08e0135612358565b60a08d0135955061250560c08e0161236d565b94508060e08e0135111561251857600080fd5b506125298d60e08e01358e01612409565b909350915061253c8d6101008e01612452565b90509295989b509295989b9093969950565b600060e0828403121561246457600080fd5b600080600080600085870361010081121561257a57600080fd5b863561258581612358565b9550602087013567ffffffffffffffff8111156125a157600080fd5b6125ad89828a0161254e565b95505060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820112156125e057600080fd5b5060408601925060808601356125f581612358565b91506126048760a08801612452565b90509295509295909350565b60006020828403121561262257600080fd5b813561262d81612358565b9392505050565b6000806000806000806000610120888a03121561265057600080fd5b873561265b81612358565b9650612669602089016123f7565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561269a57600080fd5b6126a68a828b01612452565b9250506126b68960c08a01612452565b905092959891949750929550565b801515811461194e57600080fd5b600080600080600080600080610120898b0312156126ef57600080fd5b88356126fa81612358565b975061270860208a016123f7565b965060408901359550606089013594506080890135612726816126c4565b935060a089013567ffffffffffffffff81111561274257600080fd5b61274e8b828c01612409565b909450925061276290508a60c08b01612452565b90509295985092959890939650565b60008060008060008060008060006101208a8c03121561279057600080fd5b893561279b81612358565b98506127a960208b016123f7565b975060408a013567ffffffffffffffff808211156127c657600080fd5b6127d28d838e01612409565b909950975060608c0135965060808c013591506127ee826126c4565b90945060a08b0135908082111561280457600080fd5b506128118c828d01612409565b909450925061282590508b60c08c01612452565b90509295985092959850929598565b60008060006060848603121561284957600080fd5b833561285481612358565b9250602084013561286481612358565b929592945050506040919091013590565b60008060008060c0858703121561288b57600080fd5b843561289681612358565b9350602085013567ffffffffffffffff8111156128b257600080fd5b6128be8782880161254e565b93505060408501356128cf816126c4565b91506128de8660608701612452565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561292b5761292b6128e9565b92915050565b808202811582820484141761292b5761292b6128e9565b60008261297e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8181038181111561292b5761292b6128e9565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808c16835261ffff8b16602084015260e060408401526129ef60e084018a8c612996565b886060850152818816608085015281871660a085015283810360c0850152612a18818688612996565b9d9c50505050505050505050505050565b600060208284031215612a3b57600080fd5b813563ffffffff8116811461262d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612a8457600080fd5b83018035915067ffffffffffffffff821115612a9f57600080fd5b60200191503681900382131561244b57600080fd5b60005b83811015612acf578181015183820152602001612ab7565b50506000910152565b60008151808452612af0816020860160208601612ab4565b601f01601f19169290920160200192915050565b63ffffffff81511682526020810151602083015260408101516040830152606081015160608301526000608082015160e06080850152612b4760e0850182612ad8565b905060a083015184820360a0860152612b608282612ad8565b91505060c083015184820360c0860152612b7a8282612ad8565b95945050505050565b608081526000612b966080830186612b04565b905083356020830152602084013560408301526001600160a01b0383166060830152949350505050565b600060408284031215612bd257600080fd5b6040516040810181811067ffffffffffffffff82111715612c1c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60008082840360c0811215612c4a57600080fd5b6080811215612c5857600080fd5b506040516060810167ffffffffffffffff8282108183111715612ca4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405285518352602086015191508082168214612cc157600080fd5b506020820152612cd48560408601612bc0565b60408201529150612ce88460808501612bc0565b90509250929050565b600060208284031215612d0357600080fd5b815161262d81612358565b600060208284031215612d2057600080fd5b5051919050565b60008135612d3481612358565b6001600160a01b039081168452602083013590612d5082612358565b1660208401526040820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112612d8c57600080fd5b820160208101903567ffffffffffffffff811115612da957600080fd5b803603821315612db857600080fd5b60606040860152612b7a606086018284612996565b6001600160a01b038716815261ffff8616602082015284604082015283606082015282608082015260c060a08201526000612e0b60c0830184612d27565b98975050505050505050565b61ffff87168152856020820152846040820152831515606082015260a060808201526000612e0b60a083018486612996565b60008060408385031215612e5c57600080fd5b505080516020909101519092909150565b6001600160a01b038616815261ffff8516602082015283604082015282606082015260a0608082015260006122af60a0830184612d27565b61ffff8816815260a060208201526000612ec360a08301888a612996565b86604084015285151560608401528281036080840152612ee4818587612996565b9a9950505050505050505050565b604081526000612f056040830185612b04565b905082151560208301529392505050565b600060408284031215612f2857600080fd5b61262d8383612bc0565b600060208284031215612f4457600080fd5b81357fffff0000000000000000000000000000000000000000000000000000000000008116811461262d57600080fd5b600060208284031215612f8657600080fd5b815161262d816126c4565b60008251612fa3818460208701612ab4565b9190910192915050565b60208152600061262d6020830184612ad856fea26469706673582212209e5e0155a17adc7a6e23d5abf9b463397b828628b320069d59cac990892d1b4264736f6c63430008160033",
1390
+ "linkReferences": {},
1391
+ "deployedLinkReferences": {}
1392
+ }