@gainsnetwork/sdk 1.4.7-rc1 → 1.4.7-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/constants.d.ts +4 -0
  2. package/lib/constants.js +10 -4
  3. package/lib/contracts/utils/pairs.js +4 -0
  4. package/lib/trade/types.d.ts +5 -1
  5. package/lib/trade/types.js +4 -0
  6. package/package.json +1 -1
  7. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +0 -1911
  8. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +0 -2
  9. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +0 -1067
  10. package/lib/contracts/types/generated/GNSBorrowingFees.js +0 -2
  11. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +0 -533
  12. package/lib/contracts/types/generated/GNSNftRewardsV6.js +0 -2
  13. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +0 -613
  14. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +0 -2
  15. package/lib/contracts/types/generated/GNSTrading.d.ts +0 -758
  16. package/lib/contracts/types/generated/GNSTrading.js +0 -2
  17. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +0 -875
  18. package/lib/contracts/types/generated/GNSTradingCallbacks.js +0 -2
  19. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +0 -1387
  20. package/lib/contracts/types/generated/GNSTradingStorage.js +0 -2
  21. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +0 -83
  22. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +0 -2691
  23. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +0 -124
  24. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +0 -1784
  25. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +0 -100
  26. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +0 -1116
  27. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +0 -100
  28. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +0 -1003
  29. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +0 -113
  30. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +0 -1428
  31. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +0 -96
  32. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +0 -2241
  33. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +0 -95
  34. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +0 -1071
@@ -1,1071 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GNSTrading__factory = void 0;
4
- /* Autogenerated file. Do not edit manually. */
5
- /* tslint:disable */
6
- /* eslint-disable */
7
- const ethers_1 = require("ethers");
8
- const _abi = [
9
- {
10
- anonymous: false,
11
- inputs: [
12
- {
13
- indexed: false,
14
- internalType: "address",
15
- name: "user",
16
- type: "address",
17
- },
18
- {
19
- indexed: false,
20
- internalType: "bool",
21
- name: "bypass",
22
- type: "bool",
23
- },
24
- ],
25
- name: "BypassTriggerLinkUpdated",
26
- type: "event",
27
- },
28
- {
29
- anonymous: false,
30
- inputs: [
31
- {
32
- indexed: true,
33
- internalType: "uint256",
34
- name: "orderId",
35
- type: "uint256",
36
- },
37
- {
38
- components: [
39
- {
40
- components: [
41
- {
42
- internalType: "address",
43
- name: "trader",
44
- type: "address",
45
- },
46
- {
47
- internalType: "uint256",
48
- name: "pairIndex",
49
- type: "uint256",
50
- },
51
- {
52
- internalType: "uint256",
53
- name: "index",
54
- type: "uint256",
55
- },
56
- {
57
- internalType: "uint256",
58
- name: "initialPosToken",
59
- type: "uint256",
60
- },
61
- {
62
- internalType: "uint256",
63
- name: "positionSizeDai",
64
- type: "uint256",
65
- },
66
- {
67
- internalType: "uint256",
68
- name: "openPrice",
69
- type: "uint256",
70
- },
71
- {
72
- internalType: "bool",
73
- name: "buy",
74
- type: "bool",
75
- },
76
- {
77
- internalType: "uint256",
78
- name: "leverage",
79
- type: "uint256",
80
- },
81
- {
82
- internalType: "uint256",
83
- name: "tp",
84
- type: "uint256",
85
- },
86
- {
87
- internalType: "uint256",
88
- name: "sl",
89
- type: "uint256",
90
- },
91
- ],
92
- internalType: "struct IGNSTradingStorage.Trade",
93
- name: "trade",
94
- type: "tuple",
95
- },
96
- {
97
- internalType: "uint256",
98
- name: "block",
99
- type: "uint256",
100
- },
101
- {
102
- internalType: "uint256",
103
- name: "wantedPrice",
104
- type: "uint256",
105
- },
106
- {
107
- internalType: "uint256",
108
- name: "slippageP",
109
- type: "uint256",
110
- },
111
- {
112
- internalType: "uint256",
113
- name: "spreadReductionP",
114
- type: "uint256",
115
- },
116
- {
117
- internalType: "uint256",
118
- name: "tokenId",
119
- type: "uint256",
120
- },
121
- ],
122
- indexed: false,
123
- internalType: "struct IGNSTradingStorage.PendingMarketOrder",
124
- name: "order",
125
- type: "tuple",
126
- },
127
- ],
128
- name: "ChainlinkCallbackTimeout",
129
- type: "event",
130
- },
131
- {
132
- anonymous: false,
133
- inputs: [
134
- {
135
- indexed: true,
136
- internalType: "address",
137
- name: "trader",
138
- type: "address",
139
- },
140
- {
141
- indexed: true,
142
- internalType: "uint256",
143
- name: "pairIndex",
144
- type: "uint256",
145
- },
146
- {
147
- indexed: false,
148
- internalType: "uint256",
149
- name: "index",
150
- type: "uint256",
151
- },
152
- ],
153
- name: "CouldNotCloseTrade",
154
- type: "event",
155
- },
156
- {
157
- anonymous: false,
158
- inputs: [
159
- {
160
- indexed: false,
161
- internalType: "bool",
162
- name: "done",
163
- type: "bool",
164
- },
165
- ],
166
- name: "Done",
167
- type: "event",
168
- },
169
- {
170
- anonymous: false,
171
- inputs: [
172
- {
173
- indexed: false,
174
- internalType: "uint8",
175
- name: "version",
176
- type: "uint8",
177
- },
178
- ],
179
- name: "Initialized",
180
- type: "event",
181
- },
182
- {
183
- anonymous: false,
184
- inputs: [
185
- {
186
- indexed: true,
187
- internalType: "uint256",
188
- name: "orderId",
189
- type: "uint256",
190
- },
191
- {
192
- indexed: true,
193
- internalType: "address",
194
- name: "trader",
195
- type: "address",
196
- },
197
- {
198
- indexed: true,
199
- internalType: "uint256",
200
- name: "pairIndex",
201
- type: "uint256",
202
- },
203
- {
204
- indexed: false,
205
- internalType: "bool",
206
- name: "open",
207
- type: "bool",
208
- },
209
- ],
210
- name: "MarketOrderInitiated",
211
- type: "event",
212
- },
213
- {
214
- anonymous: false,
215
- inputs: [
216
- {
217
- indexed: false,
218
- internalType: "uint256",
219
- name: "orderId",
220
- type: "uint256",
221
- },
222
- {
223
- indexed: true,
224
- internalType: "address",
225
- name: "trader",
226
- type: "address",
227
- },
228
- {
229
- indexed: true,
230
- internalType: "uint256",
231
- name: "pairIndex",
232
- type: "uint256",
233
- },
234
- {
235
- indexed: false,
236
- internalType: "bool",
237
- name: "byPassesLinkCost",
238
- type: "bool",
239
- },
240
- ],
241
- name: "NftOrderInitiated",
242
- type: "event",
243
- },
244
- {
245
- anonymous: false,
246
- inputs: [
247
- {
248
- indexed: false,
249
- internalType: "string",
250
- name: "name",
251
- type: "string",
252
- },
253
- {
254
- indexed: false,
255
- internalType: "uint256",
256
- name: "value",
257
- type: "uint256",
258
- },
259
- ],
260
- name: "NumberUpdated",
261
- type: "event",
262
- },
263
- {
264
- anonymous: false,
265
- inputs: [
266
- {
267
- indexed: true,
268
- internalType: "address",
269
- name: "trader",
270
- type: "address",
271
- },
272
- {
273
- indexed: true,
274
- internalType: "uint256",
275
- name: "pairIndex",
276
- type: "uint256",
277
- },
278
- {
279
- indexed: false,
280
- internalType: "uint256",
281
- name: "index",
282
- type: "uint256",
283
- },
284
- ],
285
- name: "OpenLimitCanceled",
286
- type: "event",
287
- },
288
- {
289
- anonymous: false,
290
- inputs: [
291
- {
292
- indexed: true,
293
- internalType: "address",
294
- name: "trader",
295
- type: "address",
296
- },
297
- {
298
- indexed: true,
299
- internalType: "uint256",
300
- name: "pairIndex",
301
- type: "uint256",
302
- },
303
- {
304
- indexed: false,
305
- internalType: "uint256",
306
- name: "index",
307
- type: "uint256",
308
- },
309
- ],
310
- name: "OpenLimitPlaced",
311
- type: "event",
312
- },
313
- {
314
- anonymous: false,
315
- inputs: [
316
- {
317
- indexed: true,
318
- internalType: "address",
319
- name: "trader",
320
- type: "address",
321
- },
322
- {
323
- indexed: true,
324
- internalType: "uint256",
325
- name: "pairIndex",
326
- type: "uint256",
327
- },
328
- {
329
- indexed: false,
330
- internalType: "uint256",
331
- name: "index",
332
- type: "uint256",
333
- },
334
- {
335
- indexed: false,
336
- internalType: "uint256",
337
- name: "newPrice",
338
- type: "uint256",
339
- },
340
- {
341
- indexed: false,
342
- internalType: "uint256",
343
- name: "newTp",
344
- type: "uint256",
345
- },
346
- {
347
- indexed: false,
348
- internalType: "uint256",
349
- name: "newSl",
350
- type: "uint256",
351
- },
352
- {
353
- indexed: false,
354
- internalType: "uint256",
355
- name: "maxSlippageP",
356
- type: "uint256",
357
- },
358
- ],
359
- name: "OpenLimitUpdated",
360
- type: "event",
361
- },
362
- {
363
- anonymous: false,
364
- inputs: [
365
- {
366
- indexed: false,
367
- internalType: "bool",
368
- name: "paused",
369
- type: "bool",
370
- },
371
- ],
372
- name: "Paused",
373
- type: "event",
374
- },
375
- {
376
- anonymous: false,
377
- inputs: [
378
- {
379
- indexed: true,
380
- internalType: "address",
381
- name: "trader",
382
- type: "address",
383
- },
384
- {
385
- indexed: true,
386
- internalType: "uint256",
387
- name: "pairIndex",
388
- type: "uint256",
389
- },
390
- {
391
- indexed: false,
392
- internalType: "uint256",
393
- name: "index",
394
- type: "uint256",
395
- },
396
- {
397
- indexed: false,
398
- internalType: "uint256",
399
- name: "newSl",
400
- type: "uint256",
401
- },
402
- ],
403
- name: "SlUpdated",
404
- type: "event",
405
- },
406
- {
407
- anonymous: false,
408
- inputs: [
409
- {
410
- indexed: true,
411
- internalType: "address",
412
- name: "trader",
413
- type: "address",
414
- },
415
- {
416
- indexed: true,
417
- internalType: "uint256",
418
- name: "pairIndex",
419
- type: "uint256",
420
- },
421
- {
422
- indexed: false,
423
- internalType: "uint256",
424
- name: "index",
425
- type: "uint256",
426
- },
427
- {
428
- indexed: false,
429
- internalType: "uint256",
430
- name: "newTp",
431
- type: "uint256",
432
- },
433
- ],
434
- name: "TpUpdated",
435
- type: "event",
436
- },
437
- {
438
- inputs: [],
439
- name: "_msgSender",
440
- outputs: [
441
- {
442
- internalType: "address",
443
- name: "",
444
- type: "address",
445
- },
446
- ],
447
- stateMutability: "view",
448
- type: "function",
449
- },
450
- {
451
- inputs: [],
452
- name: "borrowingFees",
453
- outputs: [
454
- {
455
- internalType: "contract IGNSBorrowingFees",
456
- name: "",
457
- type: "address",
458
- },
459
- ],
460
- stateMutability: "view",
461
- type: "function",
462
- },
463
- {
464
- inputs: [
465
- {
466
- internalType: "address",
467
- name: "",
468
- type: "address",
469
- },
470
- ],
471
- name: "bypassTriggerLink",
472
- outputs: [
473
- {
474
- internalType: "bool",
475
- name: "",
476
- type: "bool",
477
- },
478
- ],
479
- stateMutability: "view",
480
- type: "function",
481
- },
482
- {
483
- inputs: [
484
- {
485
- internalType: "uint256",
486
- name: "pairIndex",
487
- type: "uint256",
488
- },
489
- {
490
- internalType: "uint256",
491
- name: "index",
492
- type: "uint256",
493
- },
494
- ],
495
- name: "cancelOpenLimitOrder",
496
- outputs: [],
497
- stateMutability: "nonpayable",
498
- type: "function",
499
- },
500
- {
501
- inputs: [
502
- {
503
- internalType: "uint256",
504
- name: "pairIndex",
505
- type: "uint256",
506
- },
507
- {
508
- internalType: "uint256",
509
- name: "index",
510
- type: "uint256",
511
- },
512
- ],
513
- name: "closeTradeMarket",
514
- outputs: [],
515
- stateMutability: "nonpayable",
516
- type: "function",
517
- },
518
- {
519
- inputs: [
520
- {
521
- internalType: "uint256",
522
- name: "_order",
523
- type: "uint256",
524
- },
525
- ],
526
- name: "closeTradeMarketTimeout",
527
- outputs: [],
528
- stateMutability: "nonpayable",
529
- type: "function",
530
- },
531
- {
532
- inputs: [],
533
- name: "collateralConfig",
534
- outputs: [
535
- {
536
- internalType: "uint128",
537
- name: "precision",
538
- type: "uint128",
539
- },
540
- {
541
- internalType: "uint128",
542
- name: "precisionDelta",
543
- type: "uint128",
544
- },
545
- ],
546
- stateMutability: "view",
547
- type: "function",
548
- },
549
- {
550
- inputs: [
551
- {
552
- internalType: "address",
553
- name: "trader",
554
- type: "address",
555
- },
556
- {
557
- internalType: "bytes",
558
- name: "call_data",
559
- type: "bytes",
560
- },
561
- ],
562
- name: "delegatedAction",
563
- outputs: [
564
- {
565
- internalType: "bytes",
566
- name: "",
567
- type: "bytes",
568
- },
569
- ],
570
- stateMutability: "nonpayable",
571
- type: "function",
572
- },
573
- {
574
- inputs: [
575
- {
576
- internalType: "address",
577
- name: "",
578
- type: "address",
579
- },
580
- ],
581
- name: "delegations",
582
- outputs: [
583
- {
584
- internalType: "address",
585
- name: "",
586
- type: "address",
587
- },
588
- ],
589
- stateMutability: "view",
590
- type: "function",
591
- },
592
- {
593
- inputs: [],
594
- name: "done",
595
- outputs: [],
596
- stateMutability: "nonpayable",
597
- type: "function",
598
- },
599
- {
600
- inputs: [
601
- {
602
- internalType: "uint256",
603
- name: "packed",
604
- type: "uint256",
605
- },
606
- ],
607
- name: "executeNftOrder",
608
- outputs: [],
609
- stateMutability: "nonpayable",
610
- type: "function",
611
- },
612
- {
613
- inputs: [
614
- {
615
- internalType: "contract IGNSTradingStorage",
616
- name: "_storageT",
617
- type: "address",
618
- },
619
- {
620
- internalType: "contract IGNSOracleRewards",
621
- name: "_oracleRewards",
622
- type: "address",
623
- },
624
- {
625
- internalType: "contract IGNSBorrowingFees",
626
- name: "_borrowingFees",
627
- type: "address",
628
- },
629
- {
630
- internalType: "uint256",
631
- name: "_maxPosDai",
632
- type: "uint256",
633
- },
634
- {
635
- internalType: "uint256",
636
- name: "_marketOrdersTimeout",
637
- type: "uint256",
638
- },
639
- ],
640
- name: "initialize",
641
- outputs: [],
642
- stateMutability: "nonpayable",
643
- type: "function",
644
- },
645
- {
646
- inputs: [
647
- {
648
- internalType: "contract IGNSMultiCollatDiamond",
649
- name: "_multiCollatDiamond",
650
- type: "address",
651
- },
652
- ],
653
- name: "initializeV2",
654
- outputs: [],
655
- stateMutability: "nonpayable",
656
- type: "function",
657
- },
658
- {
659
- inputs: [],
660
- name: "isDone",
661
- outputs: [
662
- {
663
- internalType: "bool",
664
- name: "",
665
- type: "bool",
666
- },
667
- ],
668
- stateMutability: "view",
669
- type: "function",
670
- },
671
- {
672
- inputs: [],
673
- name: "isPaused",
674
- outputs: [
675
- {
676
- internalType: "bool",
677
- name: "",
678
- type: "bool",
679
- },
680
- ],
681
- stateMutability: "view",
682
- type: "function",
683
- },
684
- {
685
- inputs: [],
686
- name: "marketOrdersTimeout",
687
- outputs: [
688
- {
689
- internalType: "uint256",
690
- name: "",
691
- type: "uint256",
692
- },
693
- ],
694
- stateMutability: "view",
695
- type: "function",
696
- },
697
- {
698
- inputs: [],
699
- name: "maxPosDai",
700
- outputs: [
701
- {
702
- internalType: "uint256",
703
- name: "",
704
- type: "uint256",
705
- },
706
- ],
707
- stateMutability: "view",
708
- type: "function",
709
- },
710
- {
711
- inputs: [],
712
- name: "multiCollatDiamond",
713
- outputs: [
714
- {
715
- internalType: "contract IGNSMultiCollatDiamond",
716
- name: "",
717
- type: "address",
718
- },
719
- ],
720
- stateMutability: "view",
721
- type: "function",
722
- },
723
- {
724
- inputs: [
725
- {
726
- components: [
727
- {
728
- internalType: "address",
729
- name: "trader",
730
- type: "address",
731
- },
732
- {
733
- internalType: "uint256",
734
- name: "pairIndex",
735
- type: "uint256",
736
- },
737
- {
738
- internalType: "uint256",
739
- name: "index",
740
- type: "uint256",
741
- },
742
- {
743
- internalType: "uint256",
744
- name: "initialPosToken",
745
- type: "uint256",
746
- },
747
- {
748
- internalType: "uint256",
749
- name: "positionSizeDai",
750
- type: "uint256",
751
- },
752
- {
753
- internalType: "uint256",
754
- name: "openPrice",
755
- type: "uint256",
756
- },
757
- {
758
- internalType: "bool",
759
- name: "buy",
760
- type: "bool",
761
- },
762
- {
763
- internalType: "uint256",
764
- name: "leverage",
765
- type: "uint256",
766
- },
767
- {
768
- internalType: "uint256",
769
- name: "tp",
770
- type: "uint256",
771
- },
772
- {
773
- internalType: "uint256",
774
- name: "sl",
775
- type: "uint256",
776
- },
777
- ],
778
- internalType: "struct IGNSTradingStorage.Trade",
779
- name: "t",
780
- type: "tuple",
781
- },
782
- {
783
- internalType: "enum IGNSOracleRewards.OpenLimitOrderType",
784
- name: "orderType",
785
- type: "uint8",
786
- },
787
- {
788
- internalType: "uint256",
789
- name: "slippageP",
790
- type: "uint256",
791
- },
792
- {
793
- internalType: "address",
794
- name: "referrer",
795
- type: "address",
796
- },
797
- ],
798
- name: "openTrade",
799
- outputs: [],
800
- stateMutability: "nonpayable",
801
- type: "function",
802
- },
803
- {
804
- inputs: [
805
- {
806
- internalType: "uint256",
807
- name: "_order",
808
- type: "uint256",
809
- },
810
- ],
811
- name: "openTradeMarketTimeout",
812
- outputs: [],
813
- stateMutability: "nonpayable",
814
- type: "function",
815
- },
816
- {
817
- inputs: [],
818
- name: "oracleRewards",
819
- outputs: [
820
- {
821
- internalType: "contract IGNSOracleRewards",
822
- name: "",
823
- type: "address",
824
- },
825
- ],
826
- stateMutability: "view",
827
- type: "function",
828
- },
829
- {
830
- inputs: [],
831
- name: "pairInfos",
832
- outputs: [
833
- {
834
- internalType: "address",
835
- name: "",
836
- type: "address",
837
- },
838
- ],
839
- stateMutability: "view",
840
- type: "function",
841
- },
842
- {
843
- inputs: [],
844
- name: "pause",
845
- outputs: [],
846
- stateMutability: "nonpayable",
847
- type: "function",
848
- },
849
- {
850
- inputs: [],
851
- name: "referrals",
852
- outputs: [
853
- {
854
- internalType: "address",
855
- name: "",
856
- type: "address",
857
- },
858
- ],
859
- stateMutability: "view",
860
- type: "function",
861
- },
862
- {
863
- inputs: [],
864
- name: "removeDelegate",
865
- outputs: [],
866
- stateMutability: "nonpayable",
867
- type: "function",
868
- },
869
- {
870
- inputs: [
871
- {
872
- internalType: "address",
873
- name: "user",
874
- type: "address",
875
- },
876
- {
877
- internalType: "bool",
878
- name: "bypass",
879
- type: "bool",
880
- },
881
- ],
882
- name: "setBypassTriggerLink",
883
- outputs: [],
884
- stateMutability: "nonpayable",
885
- type: "function",
886
- },
887
- {
888
- inputs: [
889
- {
890
- internalType: "address",
891
- name: "delegate",
892
- type: "address",
893
- },
894
- ],
895
- name: "setDelegate",
896
- outputs: [],
897
- stateMutability: "nonpayable",
898
- type: "function",
899
- },
900
- {
901
- inputs: [
902
- {
903
- internalType: "uint256",
904
- name: "value",
905
- type: "uint256",
906
- },
907
- ],
908
- name: "setMarketOrdersTimeout",
909
- outputs: [],
910
- stateMutability: "nonpayable",
911
- type: "function",
912
- },
913
- {
914
- inputs: [
915
- {
916
- internalType: "uint256",
917
- name: "value",
918
- type: "uint256",
919
- },
920
- ],
921
- name: "setMaxPosDai",
922
- outputs: [],
923
- stateMutability: "nonpayable",
924
- type: "function",
925
- },
926
- {
927
- inputs: [],
928
- name: "storageT",
929
- outputs: [
930
- {
931
- internalType: "contract IGNSTradingStorage",
932
- name: "",
933
- type: "address",
934
- },
935
- ],
936
- stateMutability: "view",
937
- type: "function",
938
- },
939
- {
940
- inputs: [
941
- {
942
- internalType: "uint256",
943
- name: "pairIndex",
944
- type: "uint256",
945
- },
946
- {
947
- internalType: "uint256",
948
- name: "index",
949
- type: "uint256",
950
- },
951
- {
952
- internalType: "uint256",
953
- name: "price",
954
- type: "uint256",
955
- },
956
- {
957
- internalType: "uint256",
958
- name: "tp",
959
- type: "uint256",
960
- },
961
- {
962
- internalType: "uint256",
963
- name: "sl",
964
- type: "uint256",
965
- },
966
- {
967
- internalType: "uint256",
968
- name: "maxSlippageP",
969
- type: "uint256",
970
- },
971
- ],
972
- name: "updateOpenLimitOrder",
973
- outputs: [],
974
- stateMutability: "nonpayable",
975
- type: "function",
976
- },
977
- {
978
- inputs: [
979
- {
980
- internalType: "uint256",
981
- name: "pairIndex",
982
- type: "uint256",
983
- },
984
- {
985
- internalType: "uint256",
986
- name: "index",
987
- type: "uint256",
988
- },
989
- {
990
- internalType: "uint256",
991
- name: "newSl",
992
- type: "uint256",
993
- },
994
- ],
995
- name: "updateSl",
996
- outputs: [],
997
- stateMutability: "nonpayable",
998
- type: "function",
999
- },
1000
- {
1001
- inputs: [
1002
- {
1003
- internalType: "uint256",
1004
- name: "pairIndex",
1005
- type: "uint256",
1006
- },
1007
- {
1008
- internalType: "uint256",
1009
- name: "index",
1010
- type: "uint256",
1011
- },
1012
- {
1013
- internalType: "uint256",
1014
- name: "newTp",
1015
- type: "uint256",
1016
- },
1017
- ],
1018
- name: "updateTp",
1019
- outputs: [],
1020
- stateMutability: "nonpayable",
1021
- type: "function",
1022
- },
1023
- ];
1024
- const _bytecode = "0x608060405234801561001057600080fd5b5061589780620000216000396000f3fe608060405234801561001057600080fd5b50600436106101cb5760003560e01c80638f0622271161010a578063b81bfa05116100ad578063c641558e1161007c578063c641558e14610452578063ca5eb5e114610465578063d3dc753914610478578063d8defd151461048b578063fb4b71bb1461049e57600080fd5b8063b81bfa05146103f0578063b9b6573a14610403578063be73fb9914610416578063bffe34861461042957600080fd5b80638f0622271461035d578063934d1cf41461036f578063990382cf146103825780639a10cc3214610395578063a2a3c0cb146103b5578063a6b63eb8146103c8578063ae8421e1146103db578063b187bd26146103e357600080fd5b806336fb8b151161017257806336fb8b15146102a0578063410c0b7c146102c25780634278bafe146102cb578063531cc965146102de5780635c0ab4de146102f15780636c53cc1c1461032f5780638456cb5914610342578063876d3abd1461034a57600080fd5b8063119df25f146101d05780631346b0ff146101f557806316fff07414610208578063272300c91461021b578063279a165c1461022e57806329b6eca9146102455780632c7c8f4e1461025a578063358129601461028d575b600080fd5b6101d86104b1565b6040516001600160a01b0390911681526020015b60405180910390f35b6005546101d8906001600160a01b031681565b6003546101d8906001600160a01b031681565b6004546101d8906001600160a01b031681565b61023760085481565b6040519081526020016101ec565b6102586102533660046147c6565b6104d9565b005b61027d6102683660046147c6565b600b6020526000908152604090205460ff1681565b60405190151581526020016101ec565b600d546101d8906001600160a01b031681565b61025833600090815260016020526040902080546001600160a01b0319169055565b61023760095481565b6102586102d9366004614813565b61066a565b6007546101d8906001600160a01b031681565b600c5461030f906001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101ec565b61025861033d36600461484c565b61076d565b610258611288565b61025861035836600461484c565b61137d565b600a5461027d90610100900460ff1681565b61025861037d36600461484c565b6115da565b61025861039036600461484c565b611700565b6103a86103a3366004614865565b6119e0565b6040516101ec919061493a565b6102586103c336600461494d565b611b1b565b6102586103d636600461496f565b61205b565b6102586121d1565b600a5461027d9060ff1681565b6102586103fe36600461484c565b6122d0565b61025861041136600461494d565b6123f9565b6102586104243660046149ca565b612669565b6101d86104373660046147c6565b6001602052600090815260409020546001600160a01b031681565b6102586104603660046149f6565b6129a9565b6102586104733660046147c6565b612e18565b6006546101d8906001600160a01b031681565b6102586104993660046149ca565b612e84565b6102586104ac366004614aac565b61311d565b6002546000906001600160a01b03166104c957503390565b506002546001600160a01b031690565b600054600290610100900460ff161580156104fb575060005460ff8083169116105b6105205760405162461bcd60e51b815260040161051790614b80565b60405180910390fd5b6000805461ffff191660ff8316176101001790556001600160a01b03821661055a5760405162461bcd60e51b815260040161051790614bce565b600580546001600160a01b03199081169091556006805490911690556003546040805163f4b9fa7560e01b815290516105ea926001600160a01b03169163f4b9fa759160048083019260209291908290030181865afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e59190614bff565b614291565b80516020918201516001600160801b03908116600160801b02911617600c55600d80546001600160a01b0385166001600160a01b03199091161790556000805461ff001916905560405160ff831681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891015b60405180910390a15050565b600360009054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e19190614bff565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b815260040161051790614c1c565b6001600160a01b0382166000818152600b6020908152604091829020805460ff19168515159081179091558251938452908301527f3c0f648064e21cceb91d918a80bed80a58c69474a28d50fe3d9975b72be97c44910161065e565b32331461077957600080fd5b600a54610100900460ff16156107a15760405162461bcd60e51b815260040161051790614c3e565b60405163cefbb3bd60e01b81526004810182905260009081908190819073__$0a787ca790b72760fa5f2fae68e461a66f$__9063cefbb3bd9060240160c060405180830381865af41580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e9190614c5c565b50509350935093509350600084600381111561083c5761083c614cb0565b90506000600382600381111561085457610854614cb0565b1490506000600c60000160109054906101000a90046001600160801b031690506108d560405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000815260200160008152602001600081525090565b821561097157600354604051636e6f99cd60e11b81526001600160a01b039091169063dcdf339a9061090f908a908a908a90600401614cc6565b602060405180830381865afa15801561092c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109509190614cf2565b61096c5760405162461bcd60e51b815260040161051790614d0f565b610ce0565b6003546040516351d407ff60e11b81526001600160a01b039091169063a3a80ffe906109a5908a908a908a90600401614cc6565b61014060405180830381865afa1580156109c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e79190614dc4565b905060008160e0015111610a0d5760405162461bcd60e51b815260040161051790614de1565b6002846003811115610a2157610a21614cb0565b03610c2c576101208101511561096c576007546040805160e08101825283516001600160a01b039081168252602080860180519184019190915285840180518486015260a080880151606086015260c0880151151560808601526003548851935192519651638c8ff1d560e01b815260009886169763706faf3a9796938701956402540be400956001600160801b038e16959490941693638c8ff1d593610acb9390600401614cc6565b60c060405180830381865afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c9190614e03565b602001518860600151610b1f9190614e99565b610b299190614eb6565b610b339190614eb6565b815260e086810151602092830152604080519185901b6001600160e01b031916825283516001600160a01b031660048301529183015160248201529082015160448201526060820151606482015260808201511515608482015260a082015160a482015260c0919091015160c482015260e401602060405180830381865afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be79190614ed8565b90508160c001518015610bff57508161012001518111155b80610c1c57508160c00151158015610c1c57508161012001518110155b15610c2657600194505b50610ce0565b6001846003811115610c4057610c40614cb0565b141580610c5257506000816101200151115b610c865760405162461bcd60e51b81526020600482015260056024820152641393d7d4d360da1b6044820152606401610517565b6000846003811115610c9a57610c9a614cb0565b141580610cac57506000816101000151115b610ce05760405162461bcd60e51b815260206004820152600560248201526404e4f5f54560dc1b6044820152606401610517565b6000610cee8888888861434e565b90506000610cfa6104b1565b6001600160a01b0381166000908152600b602052604081205491925060ff909116908615610f7657600354604051632e21e28b60e21b81526000916001600160a01b03169063b8878a2c90610d57908f908f908f90600401614cc6565b6101a060405180830381865afa158015610d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d999190614ef1565b905060008160c001518260600151610db19190614e99565b90506000600360009054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2c9190614bff565b6001600160a01b031663766599fd836040518263ffffffff1660e01b8152600401610e5991815260200190565b602060405180830381865afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190614ed8565b600d54602085015160a0860151604051633f54af9960e11b81526000600482018190526024820193909352901515604482015260648101849052929350916001600160a01b0390911690637ea95f32906084016040805180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d9190614fa4565b509050645d21dba0008460c0015182610f469190614e99565b1115610f645760405162461bcd60e51b815260040161051790614fc8565b85610f6d578294505b5050505061104a565b8161104a576402540be400866001600160801b03168660e00151600360009054906101000a90046001600160a01b03166001600160a01b0316638c8ff1d58f8f8f6040518463ffffffff1660e01b8152600401610fd593929190614cc6565b60c060405180830381865afa158015610ff2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110169190614e03565b6020015188606001516110299190614e99565b6110339190614e99565b61103d9190614eb6565b6110479190614eb6565b90505b80156110b757600354604051633348540360e11b81526001600160a01b0390911690636690a806906110849086908e908690600401614cc6565b600060405180830381600087803b15801561109e57600080fd5b505af11580156110b2573d6000803e3d6000fd5b505050505b60006110d6888d8d8d8c6110cc5760006110cf565b60015b8e886144de565b905061110e6040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a082015290565b6001600160a01b038086168252600060208301528d166040820152606081018c9052608081018b905260a081018a600381111561114d5761114d614cb0565b9081600381111561116057611160614cb0565b90525060035460405163205fe86960e21b81526001600160a01b039091169063817fa1a4906111959084908690600401615007565b600060405180830381600087803b1580156111af57600080fd5b505af11580156111c3573d6000803e3d6000fd5b50506004805460405163e72353d560e01b81526001600160a01b03909116935063e72353d592506111f6918a9101615067565b600060405180830381600087803b15801561121057600080fd5b505af1158015611224573d6000803e3d6000fd5b505050508b8d6001600160a01b03167f50a583b02839381dff332433f1a37825291992d796b87483d7c51649ef504d43848760405161126f9291909182521515602082015260400190565b60405180910390a3505050505050505050505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ff9190614bff565b6001600160a01b0316336001600160a01b03161461132f5760405162461bcd60e51b815260040161051790614c1c565b600a805460ff8082161560ff1990921682179092556040519116151581527f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2906020015b60405180910390a1565b32331461138957600080fd5b600a54610100900460ff16156113b15760405162461bcd60e51b815260040161051790614c3e565b60006113bb6104b1565b60035460405163b66e6b0560e01b8152600481018590529192506000916001600160a01b039091169063b66e6b05906024016101e060405180830381865afa15801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142f91906150a8565b80516020820151919250901580159061145957506009548260200151611455919061512b565b4310155b6114755760405162461bcd60e51b81526004016105179061513e565b826001600160a01b031681600001516001600160a01b0316146114aa5760405162461bcd60e51b815260040161051790615164565b60008160e00151116114ce5760405162461bcd60e51b81526004016105179061518c565b600354604051630195728b60e71b815260048101869052600160248201526001600160a01b039091169063cab9458090604401600060405180830381600087803b15801561151b57600080fd5b505af115801561152f573d6000803e3d6000fd5b5050600354608084015160405163373873db60e11b81526001600160a01b039092169350636e70e7b6925061156a91849188916004016151bd565b600060405180830381600087803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b50505050837f3adaa586cdbe84dd24e45bd7dada6da933d7c2d1c7b4e4cd02fce033356decb1836040516115cc919061528f565b60405180910390a250505050565b600360009054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190614bff565b6001600160a01b0316336001600160a01b0316146116815760405162461bcd60e51b815260040161051790614c1c565b600081116116a15760405162461bcd60e51b81526004016105179061529e565b600881905560408051818152600991810191909152686d6178506f7344616960b81b6060820152602081018290527f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab906080015b60405180910390a150565b32331461170c57600080fd5b600a54610100900460ff16156117345760405162461bcd60e51b815260040161051790614c3e565b600061173e6104b1565b60035460405163b66e6b0560e01b8152600481018590529192506000916001600160a01b039091169063b66e6b05906024016101e060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b291906150a8565b8051602082015191925090158015906117dc575060095482602001516117d8919061512b565b4310155b6117f85760405162461bcd60e51b81526004016105179061513e565b826001600160a01b031681600001516001600160a01b03161461182d5760405162461bcd60e51b815260040161051790615164565b60e08101511561184f5760405162461bcd60e51b81526004016105179061518c565b600354604051630195728b60e71b815260048101869052600060248201526001600160a01b039091169063cab9458090604401600060405180830381600087803b15801561189c57600080fd5b505af11580156118b0573d6000803e3d6000fd5b505050602082015160408084015190516024810192909252604482015260009150309060640160408051601f198184030181529181526020820180516001600160e01b031663a2a3c0cb60e01b1790525161190b91906152bf565b600060405180830381855af49150503d8060008114611946576040519150601f19603f3d011682016040523d82523d6000602084013e61194b565b606091505b50509050806119a1578160200151846001600160a01b03167f60e497734ddabcd7293fd91739aaf65cf525eb539c97be528125a235a89288d8846040015160405161199891815260200190565b60405180910390a35b847f3adaa586cdbe84dd24e45bd7dada6da933d7c2d1c7b4e4cd02fce033356decb1846040516119d1919061528f565b60405180910390a25050505050565b6001600160a01b03838116600090815260016020526040902054606091163314611a445760405162461bcd60e51b81526020600482015260156024820152741111531151d0551157d393d517d054141493d59151605a1b6044820152606401610517565b600280546001600160a01b0319166001600160a01b03861617905560405160009081903090611a7690879087906152db565b600060405180830381855af49150503d8060008114611ab1576040519150601f19603f3d011682016040523d82523d6000602084013e611ab6565b606091505b509150915081611b0257604481511015611acf57600080fd5b60048101905080806020019051810190611ae991906152eb565b60405162461bcd60e51b8152600401610517919061493a565b600280546001600160a01b031916905595945050505050565b323314611b2757600080fd5b600a54610100900460ff1615611b4f5760405162461bcd60e51b815260040161051790614c3e565b6000611b596104b1565b6003546040516351d407ff60e11b81529192506000916001600160a01b039091169063a3a80ffe90611b9390859088908890600401614cc6565b61014060405180830381865afa158015611bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd59190614dc4565b600354604051638c8ff1d560e01b81529192506000916001600160a01b0390911690638c8ff1d590611c0f90869089908990600401614cc6565b60c060405180830381865afa158015611c2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c509190614e03565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316638049fde76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc99190614ed8565b60035460405163f7b3c6fd60e01b81526001600160a01b0386811660048301529091169063f7b3c6fd90602401602060405180830381865afa158015611d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d379190614ed8565b10611d545760405162461bcd60e51b815260040161051790615398565b8060a0015115611d9d5760405162461bcd60e51b81526020600482015260146024820152731053149150511657d091525391d7d0d313d4d15160621b6044820152606401610517565b60008260e0015111611dc15760405162461bcd60e51b815260040161051790614de1565b60035460408051633078fff560e01b815290516000926001600160a01b031691633078fff59160048083019260209291908290030181865afa158015611e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2f9190614bff565b6001600160a01b0316636938c05d8760016402540be400600c60000160109054906101000a90046001600160801b03166001600160801b03168860e0015188602001518a60600151611e819190614e99565b611e8b9190614e99565b611e959190614eb6565b611e9f9190614eb6565b611ea7614728565b6040518563ffffffff1660e01b8152600401611ec694939291906153c4565b6020604051808303816000875af1158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f099190614ed8565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663c76faf786040518060c00160405280604051806101400160405280896001600160a01b031681526020018b81526020018a81526020016000815260200160008152602001600081526020016000151581526020016000815260200160008152602001600081525081526020016000815260200160008152602001600081526020016000815260200160008152508360006040518463ffffffff1660e01b8152600401611fd9939291906153ef565b600060405180830381600087803b158015611ff357600080fd5b505af1158015612007573d6000803e3d6000fd5b5050505085846001600160a01b0316827f3e544118c04e3bb18b669475695cd270ba0e41fb13177483f01c14222de62a86600060405161204b911515815260200190565b60405180910390a4505050505050565b600054610100900460ff161580801561207b5750600054600160ff909116105b806120955750303b158015612095575060005460ff166001145b6120b15760405162461bcd60e51b815260040161051790614b80565b6000805460ff1916600117905580156120d4576000805461ff0019166101001790555b6001600160a01b038616158015906120f457506001600160a01b03851615155b801561210857506001600160a01b03841615155b80156121145750600083115b80156121205750600082115b61213c5760405162461bcd60e51b815260040161051790614bce565b600380546001600160a01b038089166001600160a01b0319928316179092556004805488841690831617905560078054928716929091169190911790556008839055600982905580156121c9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b600360009054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa158015612224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122489190614bff565b6001600160a01b0316336001600160a01b0316146122785760405162461bcd60e51b815260040161051790614c1c565b600a805460ff610100808304821615810261ff001990931692909217928390556040517fc3a6f986261de9467c2838c6df8ef74f9107855159205600c0bc7a14cdfd3888936113739390049091161515815260200190565b600360009054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123479190614bff565b6001600160a01b0316336001600160a01b0316146123775760405162461bcd60e51b815260040161051790614c1c565b600081116123975760405162461bcd60e51b81526004016105179061529e565b600981905560408051818152601391810191909152721b585c9ad95d13dc99195c9cd51a5b595bdd5d606a1b6060820152602081018290527f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab906080016116f5565b32331461240557600080fd5b600a54610100900460ff161561242d5760405162461bcd60e51b815260040161051790614c3e565b60006124376104b1565b600354604051636e6f99cd60e11b81529192506001600160a01b03169063dcdf339a9061246c90849087908790600401614cc6565b602060405180830381865afa158015612489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ad9190614cf2565b6124c95760405162461bcd60e51b815260040161051790614d0f565b600354604051632e21e28b60e21b81526000916001600160a01b03169063b8878a2c906124fe90859088908890600401614cc6565b6101a060405180830381865afa15801561251c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125409190614ef1565b905061254f828585600361434e565b5060035460405163b4b0f56760e01b81526001600160a01b039091169063b4b0f5679061258490859088908890600401614cc6565b600060405180830381600087803b15801561259e57600080fd5b505af11580156125b2573d6000803e3d6000fd5b5050600354606084015160405163373873db60e11b81526001600160a01b039092169350636e70e7b692506125ed91849187916004016151bd565b600060405180830381600087803b15801561260757600080fd5b505af115801561261b573d6000803e3d6000fd5b5050505083826001600160a01b03167ff1b38881d7f4b2b12141c5f39c5124545d6112532eb6afbe9630cdbde3ee53e98560405161265b91815260200190565b60405180910390a350505050565b32331461267557600080fd5b600a54610100900460ff161561269d5760405162461bcd60e51b815260040161051790614c3e565b60006126a76104b1565b90506126b6818585600161434e565b506003546040516351d407ff60e11b81526000916001600160a01b03169063a3a80ffe906126ec90859089908990600401614cc6565b61014060405180830381865afa15801561270a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272e9190614dc4565b905060008160e00151116127545760405162461bcd60e51b815260040161051790614de1565b60008160e001516064604b8460a0015161276e9190614e99565b6127789190614eb6565b6127829190614eb6565b90508315806127c157508160c001516127ad57808260a001516127a5919061512b565b8411156127c1565b808260a001516127bd9190615416565b8410155b6127fa5760405162461bcd60e51b815260206004820152600a602482015269534c5f544f4f5f42494760b01b6044820152606401610517565b60035460405163a354418160e01b81526001600160a01b039091169063a3544181906128309086908a908a908a90600401615429565b600060405180830381600087803b15801561284a57600080fd5b505af115801561285e573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b031662b127836040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d89190614bff565b6001600160a01b031673__$f600c6c046224cd62da9c8e7a0d00fc8b2$__63d834f7269091858989600061290a614728565b6040518763ffffffff1660e01b815260040161292b96959493929190615463565b60006040518083038186803b15801561294357600080fd5b505af4158015612957573d6000803e3d6000fd5b505060408051888152602081018890528993506001600160a01b03871692507f1fc4a6c7ffe506697979b8ed54dc4135cd1ecd26a2745f70b760a2492222b316910160405180910390a3505050505050565b3233146129b557600080fd5b600a54610100900460ff16156129dd5760405162461bcd60e51b815260040161051790614c3e565b600084116129fd5760405162461bcd60e51b8152600401610517906154a7565b6000612a076104b1565b600354604051636e6f99cd60e11b81529192506001600160a01b03169063dcdf339a90612a3c9084908b908b90600401614cc6565b602060405180830381865afa158015612a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7d9190614cf2565b612a995760405162461bcd60e51b815260040161051790614d0f565b600354604051632e21e28b60e21b81526000916001600160a01b03169063b8878a2c90612ace9085908c908c90600401614cc6565b6101a060405180830381865afa158015612aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b109190614ef1565b9050841580612b2f57508060a00151612b2b57858510612b2f565b8585115b612b4b5760405162461bcd60e51b8152600401610517906154cb565b831580612b6857508060a00151612b6457858411612b68565b8584105b612b845760405162461bcd60e51b8152600401610517906154ed565b600019612b918488614e99565b10612bae5760405162461bcd60e51b81526004016105179061550f565b612bbb828989600361434e565b506101208101869052610140810186905260e081018590526101008101849052600354604051635bb3b04560e11b81526001600160a01b039091169063b767608a90612c0b908490600401615531565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b031662b127836040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cb59190614bff565b905073__$f600c6c046224cd62da9c8e7a0d00fc8b2$__631fc1892b6001600160a01b038316858c8c6001612ce8614728565b6040518763ffffffff1660e01b8152600401612d0996959493929190615463565b60006040518083038186803b158015612d2157600080fd5b505af4158015612d35573d6000803e3d6000fd5b505060405163a8994e7f60e01b815273__$f600c6c046224cd62da9c8e7a0d00fc8b2$__925063a8994e7f9150612d81906001600160a01b0385169087908e908e908b906004016155d1565b60006040518083038186803b158015612d9957600080fd5b505af4158015612dad573d6000803e3d6000fd5b5050604080518b8152602081018b905290810189905260608101889052608081018790528b92506001600160a01b03861691507f710a8db87f04e82a9de40076812593a965f4aa48693196d2144c07ff9710e8909060a00160405180910390a3505050505050505050565b323314612e555760405162461bcd60e51b815260206004820152600b60248201526a1393d7d0d3d395149050d560aa1b6044820152606401610517565b33600090815260016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b323314612e9057600080fd5b600a54610100900460ff1615612eb85760405162461bcd60e51b815260040161051790614c3e565b6000612ec26104b1565b9050612ed1818585600061434e565b506003546040516351d407ff60e11b81526000916001600160a01b03169063a3a80ffe90612f0790859089908990600401614cc6565b61014060405180830381865afa158015612f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f499190614dc4565b905060008160e0015111612f6f5760405162461bcd60e51b815260040161051790614de1565b600354604051637fdb96f360e01b81526001600160a01b0390911690637fdb96f390612fa5908590899089908990600401615429565b600060405180830381600087803b158015612fbf57600080fd5b505af1158015612fd3573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b031662b127836040518163ffffffff1660e01b8152600401602060405180830381865afa158015613029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304d9190614bff565b6001600160a01b031673__$f600c6c046224cd62da9c8e7a0d00fc8b2$__6334736f089091848888600061307f614728565b6040518763ffffffff1660e01b81526004016130a096959493929190615463565b60006040518083038186803b1580156130b857600080fd5b505af41580156130cc573d6000803e3d6000fd5b505060408051878152602081018790528893506001600160a01b03861692507f7e06a81c7a47891ccc7455b5ccb2ed850e32bb655ccda67eb3ebaaeed83242a4910160405180910390a35050505050565b32331461312957600080fd5b600a54610100900460ff16156131515760405162461bcd60e51b815260040161051790614c3e565b600a5460ff161561318d5760405162461bcd60e51b815260206004820152600660248201526514105554d15160d21b6044820152606401610517565b600019828560a001516131a09190614e99565b106131bd5760405162461bcd60e51b81526004016105179061550f565b60008460a00151116131e15760405162461bcd60e51b8152600401610517906154a7565b60035460408051633078fff560e01b815290516000926001600160a01b031691633078fff59160048083019260209291908290030181865afa15801561322b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061324f9190614bff565b9050600061325b6104b1565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663f65d9dbe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d49190614ed8565b6003546020880151604051634bf3ccad60e11b81526001600160a01b03909216916397e7995a9161330a91869190600401615602565b602060405180830381865afa158015613327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061334b9190614ed8565b6003546020890151604051639c8912f160e01b81526001600160a01b0390921691639c8912f19161338191879190600401615602565b602060405180830381865afa15801561339e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133c29190614ed8565b60035460208a01516040516307218dad60e21b81526001600160a01b0390921691631c8636b4916133f891889190600401615602565b602060405180830381865afa158015613415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134399190614ed8565b613443919061512b565b61344d919061512b565b106134905760405162461bcd60e51b815260206004820152601360248201527226a0ac2faa2920a222a9afa822a92fa820a4a960691b6044820152606401610517565b600360009054906101000a90046001600160a01b03166001600160a01b0316638049fde76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135079190614ed8565b60035460405163f7b3c6fd60e01b81526001600160a01b0384811660048301529091169063f7b3c6fd90602401602060405180830381865afa158015613551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135759190614ed8565b106135925760405162461bcd60e51b815260040161051790615398565b600854866080015111156135d85760405162461bcd60e51b815260206004820152600d60248201526c41424f56455f4d41585f504f5360981b6044820152606401610517565b60008660e0015187608001516135ee9190614e99565b60405163766599fd60e01b8152600481018290529091506000906001600160a01b0385169063766599fd90602401602060405180830381865afa158015613639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365d9190614ed8565b60075460208a0151604051630a6c9b3b60e01b815260048101919091529192506001600160a01b031690630a6c9b3b90602401602060405180830381865afa1580156136ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d19190614ed8565b60035460208a015160c08b015185926001600160a01b0316916328daca21916136fb5760016136fe565b60005b6040516001600160e01b031960e085901b168152600481019290925260ff166024820152604401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137669190614ed8565b613770919061512b565b11156137b25760405162461bcd60e51b815260206004820152601160248201527041424f56455f504149525f4d41585f4f4960781b6044820152606401610517565b600754602089015160c08a015160405163d627450560e01b8152600481019290925215156024820152604481018490526001600160a01b039091169063d627450590606401602060405180830381865afa158015613814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138389190614cf2565b6138795760405162461bcd60e51b815260206004820152601260248201527141424f56455f47524f55505f4d41585f4f4960701b6044820152606401610517565b600d546020890151604051634f59293760e01b81526001600160a01b0390921691634f592937916138b09160040190815260200190565b602060405180830381865afa1580156138cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f19190614ed8565b8110156139305760405162461bcd60e51b815260206004820152600d60248201526c42454c4f575f4d494e5f504f5360981b6044820152606401610517565b60008860e001511180156139bf5750600d54602089015160405163059a992d60e41b81526001600160a01b03909216916359a992d0916139769160040190815260200190565b602060405180830381865afa158015613993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b79190614ed8565b8860e0015110155b8015613a465750600d546020890151604051630a06da4f60e21b81526001600160a01b039092169163281b693c916139fd9160040190815260200190565b602060405180830381865afa158015613a1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a3e9190614ed8565b8860e0015111155b613a875760405162461bcd60e51b815260206004820152601260248201527113115591549051d157d25390d3d4949150d560721b6044820152606401610517565b6101008801511580613abb57508760c00151613aae578760a0015188610100015110613abb565b8760a00151886101000151115b613ad75760405162461bcd60e51b8152600401610517906154cb565b6101208801511580613b0b57508760c00151613afe578760a0015188610120015111613b0b565b8760a00151886101200151105b613b275760405162461bcd60e51b8152600401610517906154ed565b600d54602089015160c08a0151604051633f54af9960e11b8152600060048201819052602482019390935290151560448201526064810184905290916001600160a01b031690637ea95f32906084016040805180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614fa4565b509050645d21dba0008960e0015182613bcf9190614e99565b1115613bed5760405162461bcd60e51b815260040161051790614fc8565b60035460808a015160405163373873db60e11b81526001600160a01b0390921691636e70e7b691613c2491889185916004016151bd565b600060405180830381600087803b158015613c3e57600080fd5b505af1158015613c52573d6000803e3d6000fd5b5060009250613c5f915050565b886002811115613c7157613c71614cb0565b146140345760035460208a015160405163226a27ad60e11b81526000926001600160a01b0316916344d44f5a91613cac918991600401615602565b602060405180830381865afa158015613cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ced9190614ed8565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663d3b5fe70604051806101a00160405280886001600160a01b031681526020018d6020015181526020018481526020018d608001518152602001600081526020018d60c00151151581526020018d60e0015181526020018d610100015181526020018d610120015181526020018d60a0015181526020018d60a00151815260200143815260200160008152506040518263ffffffff1660e01b8152600401613db69190615531565b600060405180830381600087803b158015613dd057600080fd5b505af1158015613de4573d6000803e3d6000fd5b50505050600460009054906101000a90046001600160a01b03166001600160a01b031663ec570610868c60200151848d6040518563ffffffff1660e01b8152600401613e33949392919061561b565b600060405180830381600087803b158015613e4d57600080fd5b505af1158015613e61573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b031662b127836040518163ffffffff1660e01b8152600401602060405180830381865afa158015613eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613edd9190614bff565b9050806001600160a01b031673__$f600c6c046224cd62da9c8e7a0d00fc8b2$__631fc1892b9091888e60200151866001613f16614728565b6040518763ffffffff1660e01b8152600401613f3796959493929190615463565b60006040518083038186803b158015613f4f57600080fd5b505af4158015613f63573d6000803e3d6000fd5b50505050806001600160a01b031673__$f600c6c046224cd62da9c8e7a0d00fc8b2$__63a8994e7f9091888e60200151868e6040518663ffffffff1660e01b8152600401613fb59594939291906155d1565b60006040518083038186803b158015613fcd57600080fd5b505af4158015613fe1573d6000803e3d6000fd5b505050508a60200151866001600160a01b03167fdfabd6f206f17b7f2e1f9e0d33c40d30d1e8d7b6a4f520a03fdc1c18110593438460405161402591815260200190565b60405180910390a3505061421f565b6000856001600160a01b0316636938c05d8b60200151600087614055614728565b6040518563ffffffff1660e01b815260040161407494939291906153c4565b6020604051808303816000875af1158015614093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b79190614ed8565b9050600360009054906101000a90046001600160a01b03166001600160a01b031663c76faf786040518060c001604052806040518061014001604052808a6001600160a01b031681526020018f60200151815260200160008152602001600081526020018f608001518152602001600081526020018f60c00151151581526020018f60e0015181526020018f610100015181526020018f61012001518152508152602001600081526020018d60a0015181526020018b81526020016000815260200160008152508360016040518463ffffffff1660e01b815260040161419f939291906153ef565b600060405180830381600087803b1580156141b957600080fd5b505af11580156141cd573d6000803e3d6000fd5b505050508960200151856001600160a01b0316827f3e544118c04e3bb18b669475695cd270ba0e41fb13177483f01c14222de62a866001604051614215911515815260200190565b60405180910390a4505b600d546040516326e2ada160e21b81526001600160a01b038681166004830152888116602483015290911690639b8ab68490604401600060405180830381600087803b15801561426e57600080fd5b505af1158015614282573d6000803e3d6000fd5b50505050505050505050505050565b60408051808201909152600080825260208201526000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156142e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143099190615658565b60ff16905061431981600a61575f565b6001600160801b0316825261432f816012615416565b61433a90600a61575f565b6001600160801b0316602083015250919050565b6143766040805160808101825260008082526020820181905291810182905290606082015290565b6040518060800160405280866001600160a01b031681526020018581526020018481526020018360038111156143ae576143ae614cb0565b90526004805460405163108c3d4960e11b81529293506001600160a01b0316916321187a92916143e091859101615067565b602060405180830381865afa1580156143fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144219190614cf2565b1580614498575060048054604051633f1b72bf60e21b81526001600160a01b039091169163fc6dcafc9161445791859101615067565b602060405180830381865afa158015614474573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144989190614cf2565b6144d65760405162461bcd60e51b815260206004820152600f60248201526e2822a72224a723afaa2924a3a3a2a960891b6044820152606401610517565b949350505050565b600080600360009054906101000a90046001600160a01b03166001600160a01b031662b127836040518163ffffffff1660e01b8152600401602060405180830381865afa158015614533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145579190614bff565b6001600160a01b031663e4151846898989896040518563ffffffff1660e01b8152600401614588949392919061576b565b608060405180830381865afa1580156145a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145c991906157b3565b9050600360009054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561461e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146429190614bff565b6001600160a01b0316636938c05d888b61465d576003614660565b60025b868d6146b357600189600381111561467a5761467a614cb0565b146146a957600089600381111561469357614693614cb0565b146146a25785606001516146b9565b85516146b9565b85602001516146b9565b85604001515b6040518563ffffffff1660e01b81526004016146d89493929190615830565b6020604051808303816000875af11580156146f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061471b9190614ed8565b9998505050505050505050565b600061a4b146148061473c575062066eee46145b156147a95760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147a49190614ed8565b905090565b504390565b6001600160a01b03811681146147c357600080fd5b50565b6000602082840312156147d857600080fd5b81356147e3816147ae565b9392505050565b80356147f5816147ae565b919050565b80151581146147c357600080fd5b80356147f5816147fa565b6000806040838503121561482657600080fd5b8235614831816147ae565b91506020830135614841816147fa565b809150509250929050565b60006020828403121561485e57600080fd5b5035919050565b60008060006040848603121561487a57600080fd5b8335614885816147ae565b9250602084013567ffffffffffffffff808211156148a257600080fd5b818601915086601f8301126148b657600080fd5b8135818111156148c557600080fd5b8760208285010111156148d757600080fd5b6020830194508093505050509250925092565b60005b838110156149055781810151838201526020016148ed565b50506000910152565b600081518084526149268160208601602086016148ea565b601f01601f19169290920160200192915050565b6020815260006147e3602083018461490e565b6000806040838503121561496057600080fd5b50508035926020909101359150565b600080600080600060a0868803121561498757600080fd5b8535614992816147ae565b945060208601356149a2816147ae565b935060408601356149b2816147ae565b94979396509394606081013594506080013592915050565b6000806000606084860312156149df57600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c08789031215614a0f57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715614a7357614a73614a39565b60405290565b6040516101a0810167ffffffffffffffff81118282101715614a7357614a73614a39565b8035600381106147f557600080fd5b6000806000808486036101a0811215614ac457600080fd5b61014080821215614ad457600080fd5b614adc614a4f565b9150614ae7876147ea565b82526020870135602083015260408701356040830152606087013560608301526080870135608083015260a087013560a0830152614b2760c08801614808565b60c083015260e087013560e0830152610100808801358184015250610120808801358184015250819550614b5c818801614a9d565b945050506101608501359150614b7561018086016147ea565b905092959194509250565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600c908201526b57524f4e475f504152414d5360a01b604082015260600190565b80516147f5816147ae565b600060208284031215614c1157600080fd5b81516147e3816147ae565b602080825260089082015267474f565f4f4e4c5960c01b604082015260600190565b602080825260049082015263444f4e4560e01b604082015260600190565b60008060008060008060c08789031215614c7557600080fd5b865195506020870151614c87816147ae565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b80516147f5816147fa565b600060208284031215614d0457600080fd5b81516147e3816147fa565b6020808252600890820152671393d7d31253525560c21b604082015260600190565b60006101408284031215614d4457600080fd5b614d4c614a4f565b9050614d5782614bf4565b81526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a0820152614d9760c08301614ce7565b60c082015260e082015160e082015261010080830151818301525061012080830151818301525092915050565b60006101408284031215614dd757600080fd5b6147e38383614d31565b6020808252600890820152674e4f5f545241444560c01b604082015260600190565b600060c08284031215614e1557600080fd5b60405160c0810181811067ffffffffffffffff82111715614e3857614e38614a39565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a0830151614e77816147fa565b60a08201529392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417614eb057614eb0614e83565b92915050565b600082614ed357634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215614eea57600080fd5b5051919050565b60006101a08284031215614f0457600080fd5b614f0c614a79565b614f1583614bf4565b815260208301516020820152604083015160408201526060830151606082015260808301516080820152614f4b60a08401614ce7565b60a082015260c0838101519082015260e080840151908201526101008084015190820152610120808401519082015261014080840151908201526101608084015190820152610180928301519281019290925250919050565b60008060408385031215614fb757600080fd5b505080516020909101519092909150565b6020808252601590820152740a0a492868abe929aa08286a8bea89e9ebe90928e9605b1b604082015260600190565b600481106147c3576147c3614cb0565b82516001600160a01b0390811682526020808501519083015260408085015190911690820152606080840151908201526080808401519082015260a083015160e082019061505481614ff7565b60a083015260c090910191909152919050565b81516001600160a01b0316815260208083015190820152604080830151908201526060820151608082019061509b81614ff7565b8060608401525092915050565b60006101e082840312156150bb57600080fd5b60405160c0810181811067ffffffffffffffff821117156150de576150de614a39565b6040526150eb8484614d31565b81526101408301516020820152610160830151604082015261018083015160608201526101a083015160808201526101c09092015160a083015250919050565b80820180821115614eb057614eb0614e83565b6020808252600c908201526b15d0525517d512535153d55560a21b604082015260600190565b6020808252600e908201526d2727aa2faca7aaa92fa7a92222a960911b604082015260600190565b60208082526017908201527657524f4e475f4d41524b45545f4f524445525f5459504560481b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b805180516001600160a01b031683526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015161523560c085018215159052565b5060e081810151908401526101008082015190840152610120908101519083015260208101516101408301526040810151610160830152606081015161018083015260808101516101a083015260a001516101c090910152565b6101e08101614eb082846151e1565b602080825260079082015266056414c55455f360cc1b604082015260600190565b600082516152d18184602087016148ea565b9190910192915050565b8183823760009101908152919050565b6000602082840312156152fd57600080fd5b815167ffffffffffffffff8082111561531557600080fd5b818401915084601f83011261532957600080fd5b81518181111561533b5761533b614a39565b604051601f8201601f19908116603f0116810190838211818310171561536357615363614a39565b8160405282815287602084870101111561537c57600080fd5b61538d8360208301602088016148ea565b979650505050505050565b6020808252601290820152714d41585f50454e44494e475f4f524445525360701b604082015260600190565b848152608081016153d485614ff7565b84602083015283604083015282606083015295945050505050565b61022081016153fe82866151e1565b836101e0830152821515610200830152949350505050565b81810381811115614eb057614eb0614e83565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b6002811061545f5761545f614cb0565b9052565b6001600160a01b03878116825286166020820152604081018590526060810184905260c08101615496608083018561544f565b8260a0830152979650505050505050565b6020808252600a908201526950524943455f5a45524f60b01b604082015260600190565b602080825260089082015267057524f4e475f54560c41b604082015260600190565b60208082526008908201526715d493d391d7d4d360c21b604082015260600190565b6020808252600890820152674f564552464c4f5760c01b604082015260600190565b81516001600160a01b031681526101a081016020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015161557e60a084018215159052565b5060c0838101519083015260e08084015190830152610100808401519083015261012080840151908301526101408084015190830152610160808401519083015261018092830151929091019190915290565b6001600160a01b03958616815293909416602084015260408301919091526060820152608081019190915260a00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03851681526020810184905260408101839052608081016003831061564957615649614cb0565b82606083015295945050505050565b60006020828403121561566a57600080fd5b815160ff811681146147e357600080fd5b600181815b808511156156b657816000190482111561569c5761569c614e83565b808516156156a957918102915b93841c9390800290615680565b509250929050565b6000826156cd57506001614eb0565b816156da57506000614eb0565b81600181146156f057600281146156fa57615716565b6001915050614eb0565b60ff84111561570b5761570b614e83565b50506001821b614eb0565b5060208310610133831016604e8410600b8410161715615739575081810a614eb0565b615743838361567b565b806000190482111561575757615757614e83565b029392505050565b60006147e383836156be565b6001600160a01b0385168152602081018490526040810183905260808101615796606083018461544f565b95945050505050565b805163ffffffff811681146147f557600080fd5b6000608082840312156157c557600080fd5b6040516080810181811067ffffffffffffffff821117156157e8576157e8614a39565b6040526157f48361579f565b81526158026020840161579f565b60208201526158136040840161579f565b60408201526158246060840161579f565b60608201529392505050565b8481526080810161584085614ff7565b84602083015283604083015263ffffffff831660608301529594505050505056fea264697066735822122063d184c5a4f597ace02f3dbaa63ad4f33aa3533374a66750c64bf2d9cddc617264736f6c63430008110033";
1025
- const isSuperArgs = (xs) => {
1026
- return (typeof xs[0] === "string" ||
1027
- Array.isArray(xs[0]) ||
1028
- "_isInterface" in xs[0]);
1029
- };
1030
- class GNSTrading__factory extends ethers_1.ContractFactory {
1031
- constructor(...args) {
1032
- if (isSuperArgs(args)) {
1033
- super(...args);
1034
- }
1035
- else {
1036
- const [linkLibraryAddresses, signer] = args;
1037
- super(_abi, GNSTrading__factory.linkBytecode(linkLibraryAddresses), signer);
1038
- }
1039
- }
1040
- static linkBytecode(linkLibraryAddresses) {
1041
- let linkedBytecode = _bytecode;
1042
- linkedBytecode = linkedBytecode.replace(new RegExp("__\\$0a787ca790b72760fa5f2fae68e461a66f\\$__", "g"), linkLibraryAddresses["contracts/libraries/PackingUtils.sol:PackingUtils"]
1043
- .replace(/^0x/, "")
1044
- .toLowerCase());
1045
- linkedBytecode = linkedBytecode.replace(new RegExp("__\\$f600c6c046224cd62da9c8e7a0d00fc8b2\\$__", "g"), linkLibraryAddresses["contracts/libraries/TradeUtils.sol:TradeUtils"]
1046
- .replace(/^0x/, "")
1047
- .toLowerCase());
1048
- return linkedBytecode;
1049
- }
1050
- deploy(overrides) {
1051
- return super.deploy(overrides || {});
1052
- }
1053
- getDeployTransaction(overrides) {
1054
- return super.getDeployTransaction(overrides || {});
1055
- }
1056
- attach(address) {
1057
- return super.attach(address);
1058
- }
1059
- connect(signer) {
1060
- return super.connect(signer);
1061
- }
1062
- static createInterface() {
1063
- return new ethers_1.utils.Interface(_abi);
1064
- }
1065
- static connect(address, signerOrProvider) {
1066
- return new ethers_1.Contract(address, _abi, signerOrProvider);
1067
- }
1068
- }
1069
- exports.GNSTrading__factory = GNSTrading__factory;
1070
- GNSTrading__factory.bytecode = _bytecode;
1071
- GNSTrading__factory.abi = _abi;