@gainsnetwork/sdk 1.6.8-rc1 → 1.6.9

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 (40) hide show
  1. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  2. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  3. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -0
  4. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  5. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -0
  6. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -0
  7. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -0
  8. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -0
  9. package/lib/contracts/types/generated/GNSTrading.d.ts +758 -0
  10. package/lib/contracts/types/generated/GNSTrading.js +2 -0
  11. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -0
  12. package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -0
  13. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -0
  14. package/lib/contracts/types/generated/GNSTradingStorage.js +2 -0
  15. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +1838 -0
  16. package/lib/contracts/types/generated/GTokenV6_3_2.js +2 -0
  17. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  18. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  19. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -0
  20. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -0
  21. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -0
  22. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -0
  23. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -0
  24. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -0
  25. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -0
  26. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -0
  27. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -0
  28. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -0
  29. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -0
  30. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -0
  31. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +110 -0
  32. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +2682 -0
  33. package/lib/markets/schedules/builders.js +13 -11
  34. package/lib/markets/schedules/checkers.js +1 -1
  35. package/lib/markets/schedules/holidays.d.ts +3 -1
  36. package/lib/markets/schedules/holidays.js +58 -39
  37. package/lib/markets/schedules/index.d.ts +1 -0
  38. package/lib/markets/schedules/index.js +4 -1
  39. package/lib/markets/schedules/types.d.ts +1 -0
  40. package/package.json +1 -1
@@ -0,0 +1,2241 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GNSTradingStorage__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
+ inputs: [],
11
+ stateMutability: "nonpayable",
12
+ type: "constructor",
13
+ },
14
+ {
15
+ anonymous: false,
16
+ inputs: [
17
+ {
18
+ indexed: false,
19
+ internalType: "string",
20
+ name: "name",
21
+ type: "string",
22
+ },
23
+ {
24
+ indexed: false,
25
+ internalType: "address",
26
+ name: "a",
27
+ type: "address",
28
+ },
29
+ ],
30
+ name: "AddressUpdated",
31
+ type: "event",
32
+ },
33
+ {
34
+ anonymous: false,
35
+ inputs: [
36
+ {
37
+ indexed: true,
38
+ internalType: "address",
39
+ name: "asset",
40
+ type: "address",
41
+ },
42
+ {
43
+ indexed: true,
44
+ internalType: "address",
45
+ name: "delegatee",
46
+ type: "address",
47
+ },
48
+ {
49
+ indexed: false,
50
+ internalType: "bool",
51
+ name: "success",
52
+ type: "bool",
53
+ },
54
+ ],
55
+ name: "Delegated",
56
+ type: "event",
57
+ },
58
+ {
59
+ anonymous: false,
60
+ inputs: [
61
+ {
62
+ indexed: false,
63
+ internalType: "uint8",
64
+ name: "version",
65
+ type: "uint8",
66
+ },
67
+ ],
68
+ name: "Initialized",
69
+ type: "event",
70
+ },
71
+ {
72
+ anonymous: false,
73
+ inputs: [
74
+ {
75
+ indexed: false,
76
+ internalType: "string",
77
+ name: "name",
78
+ type: "string",
79
+ },
80
+ {
81
+ indexed: false,
82
+ internalType: "uint256",
83
+ name: "value",
84
+ type: "uint256",
85
+ },
86
+ ],
87
+ name: "NumberUpdated",
88
+ type: "event",
89
+ },
90
+ {
91
+ anonymous: false,
92
+ inputs: [
93
+ {
94
+ indexed: false,
95
+ internalType: "string",
96
+ name: "name",
97
+ type: "string",
98
+ },
99
+ {
100
+ indexed: false,
101
+ internalType: "uint256",
102
+ name: "pairIndex",
103
+ type: "uint256",
104
+ },
105
+ {
106
+ indexed: false,
107
+ internalType: "uint256",
108
+ name: "value",
109
+ type: "uint256",
110
+ },
111
+ ],
112
+ name: "NumberUpdatedPair",
113
+ type: "event",
114
+ },
115
+ {
116
+ anonymous: false,
117
+ inputs: [
118
+ {
119
+ indexed: false,
120
+ internalType: "address",
121
+ name: "a",
122
+ type: "address",
123
+ },
124
+ ],
125
+ name: "TradingContractAdded",
126
+ type: "event",
127
+ },
128
+ {
129
+ anonymous: false,
130
+ inputs: [
131
+ {
132
+ indexed: false,
133
+ internalType: "address",
134
+ name: "a",
135
+ type: "address",
136
+ },
137
+ ],
138
+ name: "TradingContractRemoved",
139
+ type: "event",
140
+ },
141
+ {
142
+ inputs: [],
143
+ name: "MINTER_ROLE",
144
+ outputs: [
145
+ {
146
+ internalType: "bytes32",
147
+ name: "",
148
+ type: "bytes32",
149
+ },
150
+ ],
151
+ stateMutability: "view",
152
+ type: "function",
153
+ },
154
+ {
155
+ inputs: [],
156
+ name: "PRECISION",
157
+ outputs: [
158
+ {
159
+ internalType: "uint256",
160
+ name: "",
161
+ type: "uint256",
162
+ },
163
+ ],
164
+ stateMutability: "view",
165
+ type: "function",
166
+ },
167
+ {
168
+ inputs: [
169
+ {
170
+ internalType: "address",
171
+ name: "_trading",
172
+ type: "address",
173
+ },
174
+ ],
175
+ name: "addTradingContract",
176
+ outputs: [],
177
+ stateMutability: "nonpayable",
178
+ type: "function",
179
+ },
180
+ {
181
+ inputs: [],
182
+ name: "callbacks",
183
+ outputs: [
184
+ {
185
+ internalType: "address",
186
+ name: "",
187
+ type: "address",
188
+ },
189
+ ],
190
+ stateMutability: "view",
191
+ type: "function",
192
+ },
193
+ {
194
+ inputs: [],
195
+ name: "dai",
196
+ outputs: [
197
+ {
198
+ internalType: "contract IERC20",
199
+ name: "",
200
+ type: "address",
201
+ },
202
+ ],
203
+ stateMutability: "view",
204
+ type: "function",
205
+ },
206
+ {
207
+ inputs: [],
208
+ name: "dev",
209
+ outputs: [
210
+ {
211
+ internalType: "address",
212
+ name: "",
213
+ type: "address",
214
+ },
215
+ ],
216
+ stateMutability: "view",
217
+ type: "function",
218
+ },
219
+ {
220
+ inputs: [],
221
+ name: "devFeesDai",
222
+ outputs: [
223
+ {
224
+ internalType: "uint256",
225
+ name: "",
226
+ type: "uint256",
227
+ },
228
+ ],
229
+ stateMutability: "view",
230
+ type: "function",
231
+ },
232
+ {
233
+ inputs: [],
234
+ name: "devFeesToken",
235
+ outputs: [
236
+ {
237
+ internalType: "uint256",
238
+ name: "",
239
+ type: "uint256",
240
+ },
241
+ ],
242
+ stateMutability: "view",
243
+ type: "function",
244
+ },
245
+ {
246
+ inputs: [
247
+ {
248
+ internalType: "address",
249
+ name: "trader",
250
+ type: "address",
251
+ },
252
+ {
253
+ internalType: "uint256",
254
+ name: "pairIndex",
255
+ type: "uint256",
256
+ },
257
+ ],
258
+ name: "firstEmptyOpenLimitIndex",
259
+ outputs: [
260
+ {
261
+ internalType: "uint256",
262
+ name: "index",
263
+ type: "uint256",
264
+ },
265
+ ],
266
+ stateMutability: "view",
267
+ type: "function",
268
+ },
269
+ {
270
+ inputs: [
271
+ {
272
+ internalType: "address",
273
+ name: "trader",
274
+ type: "address",
275
+ },
276
+ {
277
+ internalType: "uint256",
278
+ name: "pairIndex",
279
+ type: "uint256",
280
+ },
281
+ ],
282
+ name: "firstEmptyTradeIndex",
283
+ outputs: [
284
+ {
285
+ internalType: "uint256",
286
+ name: "index",
287
+ type: "uint256",
288
+ },
289
+ ],
290
+ stateMutability: "view",
291
+ type: "function",
292
+ },
293
+ {
294
+ inputs: [
295
+ {
296
+ internalType: "address",
297
+ name: "_trader",
298
+ type: "address",
299
+ },
300
+ {
301
+ internalType: "uint256",
302
+ name: "_pairIndex",
303
+ type: "uint256",
304
+ },
305
+ {
306
+ internalType: "uint256",
307
+ name: "_index",
308
+ type: "uint256",
309
+ },
310
+ ],
311
+ name: "getOpenLimitOrder",
312
+ outputs: [
313
+ {
314
+ components: [
315
+ {
316
+ internalType: "address",
317
+ name: "trader",
318
+ type: "address",
319
+ },
320
+ {
321
+ internalType: "uint256",
322
+ name: "pairIndex",
323
+ type: "uint256",
324
+ },
325
+ {
326
+ internalType: "uint256",
327
+ name: "index",
328
+ type: "uint256",
329
+ },
330
+ {
331
+ internalType: "uint256",
332
+ name: "positionSize",
333
+ type: "uint256",
334
+ },
335
+ {
336
+ internalType: "uint256",
337
+ name: "spreadReductionP",
338
+ type: "uint256",
339
+ },
340
+ {
341
+ internalType: "bool",
342
+ name: "buy",
343
+ type: "bool",
344
+ },
345
+ {
346
+ internalType: "uint256",
347
+ name: "leverage",
348
+ type: "uint256",
349
+ },
350
+ {
351
+ internalType: "uint256",
352
+ name: "tp",
353
+ type: "uint256",
354
+ },
355
+ {
356
+ internalType: "uint256",
357
+ name: "sl",
358
+ type: "uint256",
359
+ },
360
+ {
361
+ internalType: "uint256",
362
+ name: "minPrice",
363
+ type: "uint256",
364
+ },
365
+ {
366
+ internalType: "uint256",
367
+ name: "maxPrice",
368
+ type: "uint256",
369
+ },
370
+ {
371
+ internalType: "uint256",
372
+ name: "block",
373
+ type: "uint256",
374
+ },
375
+ {
376
+ internalType: "uint256",
377
+ name: "tokenId",
378
+ type: "uint256",
379
+ },
380
+ ],
381
+ internalType: "struct GNSTradingStorage.OpenLimitOrder",
382
+ name: "",
383
+ type: "tuple",
384
+ },
385
+ ],
386
+ stateMutability: "view",
387
+ type: "function",
388
+ },
389
+ {
390
+ inputs: [],
391
+ name: "getOpenLimitOrders",
392
+ outputs: [
393
+ {
394
+ components: [
395
+ {
396
+ internalType: "address",
397
+ name: "trader",
398
+ type: "address",
399
+ },
400
+ {
401
+ internalType: "uint256",
402
+ name: "pairIndex",
403
+ type: "uint256",
404
+ },
405
+ {
406
+ internalType: "uint256",
407
+ name: "index",
408
+ type: "uint256",
409
+ },
410
+ {
411
+ internalType: "uint256",
412
+ name: "positionSize",
413
+ type: "uint256",
414
+ },
415
+ {
416
+ internalType: "uint256",
417
+ name: "spreadReductionP",
418
+ type: "uint256",
419
+ },
420
+ {
421
+ internalType: "bool",
422
+ name: "buy",
423
+ type: "bool",
424
+ },
425
+ {
426
+ internalType: "uint256",
427
+ name: "leverage",
428
+ type: "uint256",
429
+ },
430
+ {
431
+ internalType: "uint256",
432
+ name: "tp",
433
+ type: "uint256",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "sl",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint256",
442
+ name: "minPrice",
443
+ type: "uint256",
444
+ },
445
+ {
446
+ internalType: "uint256",
447
+ name: "maxPrice",
448
+ type: "uint256",
449
+ },
450
+ {
451
+ internalType: "uint256",
452
+ name: "block",
453
+ type: "uint256",
454
+ },
455
+ {
456
+ internalType: "uint256",
457
+ name: "tokenId",
458
+ type: "uint256",
459
+ },
460
+ ],
461
+ internalType: "struct GNSTradingStorage.OpenLimitOrder[]",
462
+ name: "",
463
+ type: "tuple[]",
464
+ },
465
+ ],
466
+ stateMutability: "view",
467
+ type: "function",
468
+ },
469
+ {
470
+ inputs: [
471
+ {
472
+ internalType: "address",
473
+ name: "_trader",
474
+ type: "address",
475
+ },
476
+ ],
477
+ name: "getPendingOrderIds",
478
+ outputs: [
479
+ {
480
+ internalType: "uint256[]",
481
+ name: "",
482
+ type: "uint256[]",
483
+ },
484
+ ],
485
+ stateMutability: "view",
486
+ type: "function",
487
+ },
488
+ {
489
+ inputs: [],
490
+ name: "gov",
491
+ outputs: [
492
+ {
493
+ internalType: "address",
494
+ name: "",
495
+ type: "address",
496
+ },
497
+ ],
498
+ stateMutability: "view",
499
+ type: "function",
500
+ },
501
+ {
502
+ inputs: [],
503
+ name: "govFeesDai",
504
+ outputs: [
505
+ {
506
+ internalType: "uint256",
507
+ name: "",
508
+ type: "uint256",
509
+ },
510
+ ],
511
+ stateMutability: "view",
512
+ type: "function",
513
+ },
514
+ {
515
+ inputs: [],
516
+ name: "govFeesToken",
517
+ outputs: [
518
+ {
519
+ internalType: "uint256",
520
+ name: "",
521
+ type: "uint256",
522
+ },
523
+ ],
524
+ stateMutability: "view",
525
+ type: "function",
526
+ },
527
+ {
528
+ inputs: [
529
+ {
530
+ internalType: "address",
531
+ name: "trader",
532
+ type: "address",
533
+ },
534
+ {
535
+ internalType: "uint256",
536
+ name: "pairIndex",
537
+ type: "uint256",
538
+ },
539
+ {
540
+ internalType: "uint256",
541
+ name: "index",
542
+ type: "uint256",
543
+ },
544
+ ],
545
+ name: "hasOpenLimitOrder",
546
+ outputs: [
547
+ {
548
+ internalType: "bool",
549
+ name: "",
550
+ type: "bool",
551
+ },
552
+ ],
553
+ stateMutability: "view",
554
+ type: "function",
555
+ },
556
+ {
557
+ inputs: [
558
+ {
559
+ internalType: "contract IERC20",
560
+ name: "_dai",
561
+ type: "address",
562
+ },
563
+ {
564
+ internalType: "contract IERC20",
565
+ name: "_linkErc677",
566
+ type: "address",
567
+ },
568
+ {
569
+ internalType: "contract IERC20",
570
+ name: "_token",
571
+ type: "address",
572
+ },
573
+ {
574
+ internalType: "address",
575
+ name: "_gov",
576
+ type: "address",
577
+ },
578
+ ],
579
+ name: "initialize",
580
+ outputs: [],
581
+ stateMutability: "nonpayable",
582
+ type: "function",
583
+ },
584
+ {
585
+ inputs: [
586
+ {
587
+ internalType: "address",
588
+ name: "",
589
+ type: "address",
590
+ },
591
+ ],
592
+ name: "isTradingContract",
593
+ outputs: [
594
+ {
595
+ internalType: "bool",
596
+ name: "",
597
+ type: "bool",
598
+ },
599
+ ],
600
+ stateMutability: "view",
601
+ type: "function",
602
+ },
603
+ {
604
+ inputs: [],
605
+ name: "linkErc677",
606
+ outputs: [
607
+ {
608
+ internalType: "contract IERC20",
609
+ name: "",
610
+ type: "address",
611
+ },
612
+ ],
613
+ stateMutability: "view",
614
+ type: "function",
615
+ },
616
+ {
617
+ inputs: [],
618
+ name: "maxPendingMarketOrders",
619
+ outputs: [
620
+ {
621
+ internalType: "uint256",
622
+ name: "",
623
+ type: "uint256",
624
+ },
625
+ ],
626
+ stateMutability: "view",
627
+ type: "function",
628
+ },
629
+ {
630
+ inputs: [],
631
+ name: "maxTradesPerPair",
632
+ outputs: [
633
+ {
634
+ internalType: "uint256",
635
+ name: "",
636
+ type: "uint256",
637
+ },
638
+ ],
639
+ stateMutability: "view",
640
+ type: "function",
641
+ },
642
+ {
643
+ inputs: [
644
+ {
645
+ internalType: "uint256",
646
+ name: "",
647
+ type: "uint256",
648
+ },
649
+ ],
650
+ name: "nftLastSuccess",
651
+ outputs: [
652
+ {
653
+ internalType: "uint256",
654
+ name: "",
655
+ type: "uint256",
656
+ },
657
+ ],
658
+ stateMutability: "view",
659
+ type: "function",
660
+ },
661
+ {
662
+ inputs: [],
663
+ name: "nftRewards",
664
+ outputs: [
665
+ {
666
+ internalType: "uint256",
667
+ name: "",
668
+ type: "uint256",
669
+ },
670
+ ],
671
+ stateMutability: "view",
672
+ type: "function",
673
+ },
674
+ {
675
+ inputs: [],
676
+ name: "nftSuccessTimelock",
677
+ outputs: [
678
+ {
679
+ internalType: "uint256",
680
+ name: "",
681
+ type: "uint256",
682
+ },
683
+ ],
684
+ stateMutability: "view",
685
+ type: "function",
686
+ },
687
+ {
688
+ inputs: [
689
+ {
690
+ internalType: "uint256",
691
+ name: "",
692
+ type: "uint256",
693
+ },
694
+ ],
695
+ name: "nfts",
696
+ outputs: [
697
+ {
698
+ internalType: "address",
699
+ name: "",
700
+ type: "address",
701
+ },
702
+ ],
703
+ stateMutability: "view",
704
+ type: "function",
705
+ },
706
+ {
707
+ inputs: [
708
+ {
709
+ internalType: "uint256",
710
+ name: "",
711
+ type: "uint256",
712
+ },
713
+ {
714
+ internalType: "uint256",
715
+ name: "",
716
+ type: "uint256",
717
+ },
718
+ ],
719
+ name: "openInterestDai",
720
+ outputs: [
721
+ {
722
+ internalType: "uint256",
723
+ name: "",
724
+ type: "uint256",
725
+ },
726
+ ],
727
+ stateMutability: "view",
728
+ type: "function",
729
+ },
730
+ {
731
+ inputs: [
732
+ {
733
+ internalType: "address",
734
+ name: "",
735
+ type: "address",
736
+ },
737
+ {
738
+ internalType: "uint256",
739
+ name: "",
740
+ type: "uint256",
741
+ },
742
+ {
743
+ internalType: "uint256",
744
+ name: "",
745
+ type: "uint256",
746
+ },
747
+ ],
748
+ name: "openLimitOrderIds",
749
+ outputs: [
750
+ {
751
+ internalType: "uint256",
752
+ name: "",
753
+ type: "uint256",
754
+ },
755
+ ],
756
+ stateMutability: "view",
757
+ type: "function",
758
+ },
759
+ {
760
+ inputs: [
761
+ {
762
+ internalType: "uint256",
763
+ name: "",
764
+ type: "uint256",
765
+ },
766
+ ],
767
+ name: "openLimitOrders",
768
+ outputs: [
769
+ {
770
+ internalType: "address",
771
+ name: "trader",
772
+ type: "address",
773
+ },
774
+ {
775
+ internalType: "uint256",
776
+ name: "pairIndex",
777
+ type: "uint256",
778
+ },
779
+ {
780
+ internalType: "uint256",
781
+ name: "index",
782
+ type: "uint256",
783
+ },
784
+ {
785
+ internalType: "uint256",
786
+ name: "positionSize",
787
+ type: "uint256",
788
+ },
789
+ {
790
+ internalType: "uint256",
791
+ name: "spreadReductionP",
792
+ type: "uint256",
793
+ },
794
+ {
795
+ internalType: "bool",
796
+ name: "buy",
797
+ type: "bool",
798
+ },
799
+ {
800
+ internalType: "uint256",
801
+ name: "leverage",
802
+ type: "uint256",
803
+ },
804
+ {
805
+ internalType: "uint256",
806
+ name: "tp",
807
+ type: "uint256",
808
+ },
809
+ {
810
+ internalType: "uint256",
811
+ name: "sl",
812
+ type: "uint256",
813
+ },
814
+ {
815
+ internalType: "uint256",
816
+ name: "minPrice",
817
+ type: "uint256",
818
+ },
819
+ {
820
+ internalType: "uint256",
821
+ name: "maxPrice",
822
+ type: "uint256",
823
+ },
824
+ {
825
+ internalType: "uint256",
826
+ name: "block",
827
+ type: "uint256",
828
+ },
829
+ {
830
+ internalType: "uint256",
831
+ name: "tokenId",
832
+ type: "uint256",
833
+ },
834
+ ],
835
+ stateMutability: "view",
836
+ type: "function",
837
+ },
838
+ {
839
+ inputs: [
840
+ {
841
+ internalType: "address",
842
+ name: "",
843
+ type: "address",
844
+ },
845
+ {
846
+ internalType: "uint256",
847
+ name: "",
848
+ type: "uint256",
849
+ },
850
+ ],
851
+ name: "openLimitOrdersCount",
852
+ outputs: [
853
+ {
854
+ internalType: "uint256",
855
+ name: "",
856
+ type: "uint256",
857
+ },
858
+ ],
859
+ stateMutability: "view",
860
+ type: "function",
861
+ },
862
+ {
863
+ inputs: [
864
+ {
865
+ internalType: "address",
866
+ name: "",
867
+ type: "address",
868
+ },
869
+ {
870
+ internalType: "uint256",
871
+ name: "",
872
+ type: "uint256",
873
+ },
874
+ {
875
+ internalType: "uint256",
876
+ name: "",
877
+ type: "uint256",
878
+ },
879
+ ],
880
+ name: "openTrades",
881
+ outputs: [
882
+ {
883
+ internalType: "address",
884
+ name: "trader",
885
+ type: "address",
886
+ },
887
+ {
888
+ internalType: "uint256",
889
+ name: "pairIndex",
890
+ type: "uint256",
891
+ },
892
+ {
893
+ internalType: "uint256",
894
+ name: "index",
895
+ type: "uint256",
896
+ },
897
+ {
898
+ internalType: "uint256",
899
+ name: "initialPosToken",
900
+ type: "uint256",
901
+ },
902
+ {
903
+ internalType: "uint256",
904
+ name: "positionSizeDai",
905
+ type: "uint256",
906
+ },
907
+ {
908
+ internalType: "uint256",
909
+ name: "openPrice",
910
+ type: "uint256",
911
+ },
912
+ {
913
+ internalType: "bool",
914
+ name: "buy",
915
+ type: "bool",
916
+ },
917
+ {
918
+ internalType: "uint256",
919
+ name: "leverage",
920
+ type: "uint256",
921
+ },
922
+ {
923
+ internalType: "uint256",
924
+ name: "tp",
925
+ type: "uint256",
926
+ },
927
+ {
928
+ internalType: "uint256",
929
+ name: "sl",
930
+ type: "uint256",
931
+ },
932
+ ],
933
+ stateMutability: "view",
934
+ type: "function",
935
+ },
936
+ {
937
+ inputs: [
938
+ {
939
+ internalType: "address",
940
+ name: "",
941
+ type: "address",
942
+ },
943
+ {
944
+ internalType: "uint256",
945
+ name: "",
946
+ type: "uint256",
947
+ },
948
+ ],
949
+ name: "openTradesCount",
950
+ outputs: [
951
+ {
952
+ internalType: "uint256",
953
+ name: "",
954
+ type: "uint256",
955
+ },
956
+ ],
957
+ stateMutability: "view",
958
+ type: "function",
959
+ },
960
+ {
961
+ inputs: [
962
+ {
963
+ internalType: "address",
964
+ name: "",
965
+ type: "address",
966
+ },
967
+ {
968
+ internalType: "uint256",
969
+ name: "",
970
+ type: "uint256",
971
+ },
972
+ {
973
+ internalType: "uint256",
974
+ name: "",
975
+ type: "uint256",
976
+ },
977
+ ],
978
+ name: "openTradesInfo",
979
+ outputs: [
980
+ {
981
+ internalType: "uint256",
982
+ name: "tokenId",
983
+ type: "uint256",
984
+ },
985
+ {
986
+ internalType: "uint256",
987
+ name: "tokenPriceDai",
988
+ type: "uint256",
989
+ },
990
+ {
991
+ internalType: "uint256",
992
+ name: "openInterestDai",
993
+ type: "uint256",
994
+ },
995
+ {
996
+ internalType: "uint256",
997
+ name: "tpLastUpdated",
998
+ type: "uint256",
999
+ },
1000
+ {
1001
+ internalType: "uint256",
1002
+ name: "slLastUpdated",
1003
+ type: "uint256",
1004
+ },
1005
+ {
1006
+ internalType: "bool",
1007
+ name: "beingMarketClosed",
1008
+ type: "bool",
1009
+ },
1010
+ ],
1011
+ stateMutability: "view",
1012
+ type: "function",
1013
+ },
1014
+ {
1015
+ inputs: [
1016
+ {
1017
+ internalType: "uint256",
1018
+ name: "",
1019
+ type: "uint256",
1020
+ },
1021
+ {
1022
+ internalType: "uint256",
1023
+ name: "",
1024
+ type: "uint256",
1025
+ },
1026
+ ],
1027
+ name: "pairTraders",
1028
+ outputs: [
1029
+ {
1030
+ internalType: "address",
1031
+ name: "",
1032
+ type: "address",
1033
+ },
1034
+ ],
1035
+ stateMutability: "view",
1036
+ type: "function",
1037
+ },
1038
+ {
1039
+ inputs: [
1040
+ {
1041
+ internalType: "uint256",
1042
+ name: "_pairIndex",
1043
+ type: "uint256",
1044
+ },
1045
+ ],
1046
+ name: "pairTradersArray",
1047
+ outputs: [
1048
+ {
1049
+ internalType: "address[]",
1050
+ name: "",
1051
+ type: "address[]",
1052
+ },
1053
+ ],
1054
+ stateMutability: "view",
1055
+ type: "function",
1056
+ },
1057
+ {
1058
+ inputs: [
1059
+ {
1060
+ internalType: "address",
1061
+ name: "",
1062
+ type: "address",
1063
+ },
1064
+ {
1065
+ internalType: "uint256",
1066
+ name: "",
1067
+ type: "uint256",
1068
+ },
1069
+ ],
1070
+ name: "pairTradersId",
1071
+ outputs: [
1072
+ {
1073
+ internalType: "uint256",
1074
+ name: "",
1075
+ type: "uint256",
1076
+ },
1077
+ ],
1078
+ stateMutability: "view",
1079
+ type: "function",
1080
+ },
1081
+ {
1082
+ inputs: [
1083
+ {
1084
+ internalType: "address",
1085
+ name: "",
1086
+ type: "address",
1087
+ },
1088
+ {
1089
+ internalType: "uint256",
1090
+ name: "",
1091
+ type: "uint256",
1092
+ },
1093
+ ],
1094
+ name: "pendingMarketCloseCount",
1095
+ outputs: [
1096
+ {
1097
+ internalType: "uint256",
1098
+ name: "",
1099
+ type: "uint256",
1100
+ },
1101
+ ],
1102
+ stateMutability: "view",
1103
+ type: "function",
1104
+ },
1105
+ {
1106
+ inputs: [
1107
+ {
1108
+ internalType: "address",
1109
+ name: "",
1110
+ type: "address",
1111
+ },
1112
+ {
1113
+ internalType: "uint256",
1114
+ name: "",
1115
+ type: "uint256",
1116
+ },
1117
+ ],
1118
+ name: "pendingMarketOpenCount",
1119
+ outputs: [
1120
+ {
1121
+ internalType: "uint256",
1122
+ name: "",
1123
+ type: "uint256",
1124
+ },
1125
+ ],
1126
+ stateMutability: "view",
1127
+ type: "function",
1128
+ },
1129
+ {
1130
+ inputs: [
1131
+ {
1132
+ internalType: "address",
1133
+ name: "",
1134
+ type: "address",
1135
+ },
1136
+ {
1137
+ internalType: "uint256",
1138
+ name: "",
1139
+ type: "uint256",
1140
+ },
1141
+ ],
1142
+ name: "pendingOrderIds",
1143
+ outputs: [
1144
+ {
1145
+ internalType: "uint256",
1146
+ name: "",
1147
+ type: "uint256",
1148
+ },
1149
+ ],
1150
+ stateMutability: "view",
1151
+ type: "function",
1152
+ },
1153
+ {
1154
+ inputs: [
1155
+ {
1156
+ internalType: "address",
1157
+ name: "_trader",
1158
+ type: "address",
1159
+ },
1160
+ ],
1161
+ name: "pendingOrderIdsCount",
1162
+ outputs: [
1163
+ {
1164
+ internalType: "uint256",
1165
+ name: "",
1166
+ type: "uint256",
1167
+ },
1168
+ ],
1169
+ stateMutability: "view",
1170
+ type: "function",
1171
+ },
1172
+ {
1173
+ inputs: [],
1174
+ name: "pool",
1175
+ outputs: [
1176
+ {
1177
+ internalType: "address",
1178
+ name: "",
1179
+ type: "address",
1180
+ },
1181
+ ],
1182
+ stateMutability: "view",
1183
+ type: "function",
1184
+ },
1185
+ {
1186
+ inputs: [],
1187
+ name: "priceAggregator",
1188
+ outputs: [
1189
+ {
1190
+ internalType: "contract IGNSPriceAggregator",
1191
+ name: "",
1192
+ type: "address",
1193
+ },
1194
+ ],
1195
+ stateMutability: "view",
1196
+ type: "function",
1197
+ },
1198
+ {
1199
+ inputs: [
1200
+ {
1201
+ internalType: "address",
1202
+ name: "_trading",
1203
+ type: "address",
1204
+ },
1205
+ ],
1206
+ name: "removeTradingContract",
1207
+ outputs: [],
1208
+ stateMutability: "nonpayable",
1209
+ type: "function",
1210
+ },
1211
+ {
1212
+ inputs: [
1213
+ {
1214
+ internalType: "uint256",
1215
+ name: "",
1216
+ type: "uint256",
1217
+ },
1218
+ ],
1219
+ name: "reqID_pendingMarketOrder",
1220
+ outputs: [
1221
+ {
1222
+ components: [
1223
+ {
1224
+ internalType: "address",
1225
+ name: "trader",
1226
+ type: "address",
1227
+ },
1228
+ {
1229
+ internalType: "uint256",
1230
+ name: "pairIndex",
1231
+ type: "uint256",
1232
+ },
1233
+ {
1234
+ internalType: "uint256",
1235
+ name: "index",
1236
+ type: "uint256",
1237
+ },
1238
+ {
1239
+ internalType: "uint256",
1240
+ name: "initialPosToken",
1241
+ type: "uint256",
1242
+ },
1243
+ {
1244
+ internalType: "uint256",
1245
+ name: "positionSizeDai",
1246
+ type: "uint256",
1247
+ },
1248
+ {
1249
+ internalType: "uint256",
1250
+ name: "openPrice",
1251
+ type: "uint256",
1252
+ },
1253
+ {
1254
+ internalType: "bool",
1255
+ name: "buy",
1256
+ type: "bool",
1257
+ },
1258
+ {
1259
+ internalType: "uint256",
1260
+ name: "leverage",
1261
+ type: "uint256",
1262
+ },
1263
+ {
1264
+ internalType: "uint256",
1265
+ name: "tp",
1266
+ type: "uint256",
1267
+ },
1268
+ {
1269
+ internalType: "uint256",
1270
+ name: "sl",
1271
+ type: "uint256",
1272
+ },
1273
+ ],
1274
+ internalType: "struct GNSTradingStorage.Trade",
1275
+ name: "trade",
1276
+ type: "tuple",
1277
+ },
1278
+ {
1279
+ internalType: "uint256",
1280
+ name: "block",
1281
+ type: "uint256",
1282
+ },
1283
+ {
1284
+ internalType: "uint256",
1285
+ name: "wantedPrice",
1286
+ type: "uint256",
1287
+ },
1288
+ {
1289
+ internalType: "uint256",
1290
+ name: "slippageP",
1291
+ type: "uint256",
1292
+ },
1293
+ {
1294
+ internalType: "uint256",
1295
+ name: "spreadReductionP",
1296
+ type: "uint256",
1297
+ },
1298
+ {
1299
+ internalType: "uint256",
1300
+ name: "tokenId",
1301
+ type: "uint256",
1302
+ },
1303
+ ],
1304
+ stateMutability: "view",
1305
+ type: "function",
1306
+ },
1307
+ {
1308
+ inputs: [
1309
+ {
1310
+ internalType: "uint256",
1311
+ name: "",
1312
+ type: "uint256",
1313
+ },
1314
+ ],
1315
+ name: "reqID_pendingNftOrder",
1316
+ outputs: [
1317
+ {
1318
+ internalType: "address",
1319
+ name: "nftHolder",
1320
+ type: "address",
1321
+ },
1322
+ {
1323
+ internalType: "uint256",
1324
+ name: "nftId",
1325
+ type: "uint256",
1326
+ },
1327
+ {
1328
+ internalType: "address",
1329
+ name: "trader",
1330
+ type: "address",
1331
+ },
1332
+ {
1333
+ internalType: "uint256",
1334
+ name: "pairIndex",
1335
+ type: "uint256",
1336
+ },
1337
+ {
1338
+ internalType: "uint256",
1339
+ name: "index",
1340
+ type: "uint256",
1341
+ },
1342
+ {
1343
+ internalType: "enum GNSTradingStorage.LimitOrder",
1344
+ name: "orderType",
1345
+ type: "uint8",
1346
+ },
1347
+ ],
1348
+ stateMutability: "view",
1349
+ type: "function",
1350
+ },
1351
+ {
1352
+ inputs: [
1353
+ {
1354
+ internalType: "address",
1355
+ name: "_callbacks",
1356
+ type: "address",
1357
+ },
1358
+ ],
1359
+ name: "setCallbacks",
1360
+ outputs: [],
1361
+ stateMutability: "nonpayable",
1362
+ type: "function",
1363
+ },
1364
+ {
1365
+ inputs: [
1366
+ {
1367
+ internalType: "address",
1368
+ name: "_delegatee",
1369
+ type: "address",
1370
+ },
1371
+ ],
1372
+ name: "setDelegatee",
1373
+ outputs: [],
1374
+ stateMutability: "nonpayable",
1375
+ type: "function",
1376
+ },
1377
+ {
1378
+ inputs: [
1379
+ {
1380
+ internalType: "address",
1381
+ name: "_gov",
1382
+ type: "address",
1383
+ },
1384
+ ],
1385
+ name: "setGov",
1386
+ outputs: [],
1387
+ stateMutability: "nonpayable",
1388
+ type: "function",
1389
+ },
1390
+ {
1391
+ inputs: [
1392
+ {
1393
+ internalType: "uint256",
1394
+ name: "_maxPendingMarketOrders",
1395
+ type: "uint256",
1396
+ },
1397
+ ],
1398
+ name: "setMaxPendingMarketOrders",
1399
+ outputs: [],
1400
+ stateMutability: "nonpayable",
1401
+ type: "function",
1402
+ },
1403
+ {
1404
+ inputs: [
1405
+ {
1406
+ internalType: "uint256",
1407
+ name: "_maxTradesPerPair",
1408
+ type: "uint256",
1409
+ },
1410
+ ],
1411
+ name: "setMaxTradesPerPair",
1412
+ outputs: [],
1413
+ stateMutability: "nonpayable",
1414
+ type: "function",
1415
+ },
1416
+ {
1417
+ inputs: [
1418
+ {
1419
+ internalType: "address",
1420
+ name: "_aggregator",
1421
+ type: "address",
1422
+ },
1423
+ ],
1424
+ name: "setPriceAggregator",
1425
+ outputs: [],
1426
+ stateMutability: "nonpayable",
1427
+ type: "function",
1428
+ },
1429
+ {
1430
+ inputs: [
1431
+ {
1432
+ internalType: "address",
1433
+ name: "_vault",
1434
+ type: "address",
1435
+ },
1436
+ ],
1437
+ name: "setVault",
1438
+ outputs: [],
1439
+ stateMutability: "nonpayable",
1440
+ type: "function",
1441
+ },
1442
+ {
1443
+ inputs: [
1444
+ {
1445
+ internalType: "uint256",
1446
+ name: "",
1447
+ type: "uint256",
1448
+ },
1449
+ ],
1450
+ name: "spreadReductionsP",
1451
+ outputs: [
1452
+ {
1453
+ internalType: "uint256",
1454
+ name: "",
1455
+ type: "uint256",
1456
+ },
1457
+ ],
1458
+ stateMutability: "view",
1459
+ type: "function",
1460
+ },
1461
+ {
1462
+ inputs: [
1463
+ {
1464
+ components: [
1465
+ {
1466
+ internalType: "address",
1467
+ name: "trader",
1468
+ type: "address",
1469
+ },
1470
+ {
1471
+ internalType: "uint256",
1472
+ name: "pairIndex",
1473
+ type: "uint256",
1474
+ },
1475
+ {
1476
+ internalType: "uint256",
1477
+ name: "index",
1478
+ type: "uint256",
1479
+ },
1480
+ {
1481
+ internalType: "uint256",
1482
+ name: "positionSize",
1483
+ type: "uint256",
1484
+ },
1485
+ {
1486
+ internalType: "uint256",
1487
+ name: "spreadReductionP",
1488
+ type: "uint256",
1489
+ },
1490
+ {
1491
+ internalType: "bool",
1492
+ name: "buy",
1493
+ type: "bool",
1494
+ },
1495
+ {
1496
+ internalType: "uint256",
1497
+ name: "leverage",
1498
+ type: "uint256",
1499
+ },
1500
+ {
1501
+ internalType: "uint256",
1502
+ name: "tp",
1503
+ type: "uint256",
1504
+ },
1505
+ {
1506
+ internalType: "uint256",
1507
+ name: "sl",
1508
+ type: "uint256",
1509
+ },
1510
+ {
1511
+ internalType: "uint256",
1512
+ name: "minPrice",
1513
+ type: "uint256",
1514
+ },
1515
+ {
1516
+ internalType: "uint256",
1517
+ name: "maxPrice",
1518
+ type: "uint256",
1519
+ },
1520
+ {
1521
+ internalType: "uint256",
1522
+ name: "block",
1523
+ type: "uint256",
1524
+ },
1525
+ {
1526
+ internalType: "uint256",
1527
+ name: "tokenId",
1528
+ type: "uint256",
1529
+ },
1530
+ ],
1531
+ internalType: "struct GNSTradingStorage.OpenLimitOrder",
1532
+ name: "o",
1533
+ type: "tuple",
1534
+ },
1535
+ ],
1536
+ name: "storeOpenLimitOrder",
1537
+ outputs: [],
1538
+ stateMutability: "nonpayable",
1539
+ type: "function",
1540
+ },
1541
+ {
1542
+ inputs: [
1543
+ {
1544
+ components: [
1545
+ {
1546
+ components: [
1547
+ {
1548
+ internalType: "address",
1549
+ name: "trader",
1550
+ type: "address",
1551
+ },
1552
+ {
1553
+ internalType: "uint256",
1554
+ name: "pairIndex",
1555
+ type: "uint256",
1556
+ },
1557
+ {
1558
+ internalType: "uint256",
1559
+ name: "index",
1560
+ type: "uint256",
1561
+ },
1562
+ {
1563
+ internalType: "uint256",
1564
+ name: "initialPosToken",
1565
+ type: "uint256",
1566
+ },
1567
+ {
1568
+ internalType: "uint256",
1569
+ name: "positionSizeDai",
1570
+ type: "uint256",
1571
+ },
1572
+ {
1573
+ internalType: "uint256",
1574
+ name: "openPrice",
1575
+ type: "uint256",
1576
+ },
1577
+ {
1578
+ internalType: "bool",
1579
+ name: "buy",
1580
+ type: "bool",
1581
+ },
1582
+ {
1583
+ internalType: "uint256",
1584
+ name: "leverage",
1585
+ type: "uint256",
1586
+ },
1587
+ {
1588
+ internalType: "uint256",
1589
+ name: "tp",
1590
+ type: "uint256",
1591
+ },
1592
+ {
1593
+ internalType: "uint256",
1594
+ name: "sl",
1595
+ type: "uint256",
1596
+ },
1597
+ ],
1598
+ internalType: "struct GNSTradingStorage.Trade",
1599
+ name: "trade",
1600
+ type: "tuple",
1601
+ },
1602
+ {
1603
+ internalType: "uint256",
1604
+ name: "block",
1605
+ type: "uint256",
1606
+ },
1607
+ {
1608
+ internalType: "uint256",
1609
+ name: "wantedPrice",
1610
+ type: "uint256",
1611
+ },
1612
+ {
1613
+ internalType: "uint256",
1614
+ name: "slippageP",
1615
+ type: "uint256",
1616
+ },
1617
+ {
1618
+ internalType: "uint256",
1619
+ name: "spreadReductionP",
1620
+ type: "uint256",
1621
+ },
1622
+ {
1623
+ internalType: "uint256",
1624
+ name: "tokenId",
1625
+ type: "uint256",
1626
+ },
1627
+ ],
1628
+ internalType: "struct GNSTradingStorage.PendingMarketOrder",
1629
+ name: "_order",
1630
+ type: "tuple",
1631
+ },
1632
+ {
1633
+ internalType: "uint256",
1634
+ name: "_id",
1635
+ type: "uint256",
1636
+ },
1637
+ {
1638
+ internalType: "bool",
1639
+ name: "_open",
1640
+ type: "bool",
1641
+ },
1642
+ ],
1643
+ name: "storePendingMarketOrder",
1644
+ outputs: [],
1645
+ stateMutability: "nonpayable",
1646
+ type: "function",
1647
+ },
1648
+ {
1649
+ inputs: [
1650
+ {
1651
+ components: [
1652
+ {
1653
+ internalType: "address",
1654
+ name: "nftHolder",
1655
+ type: "address",
1656
+ },
1657
+ {
1658
+ internalType: "uint256",
1659
+ name: "nftId",
1660
+ type: "uint256",
1661
+ },
1662
+ {
1663
+ internalType: "address",
1664
+ name: "trader",
1665
+ type: "address",
1666
+ },
1667
+ {
1668
+ internalType: "uint256",
1669
+ name: "pairIndex",
1670
+ type: "uint256",
1671
+ },
1672
+ {
1673
+ internalType: "uint256",
1674
+ name: "index",
1675
+ type: "uint256",
1676
+ },
1677
+ {
1678
+ internalType: "enum GNSTradingStorage.LimitOrder",
1679
+ name: "orderType",
1680
+ type: "uint8",
1681
+ },
1682
+ ],
1683
+ internalType: "struct GNSTradingStorage.PendingNftOrder",
1684
+ name: "_nftOrder",
1685
+ type: "tuple",
1686
+ },
1687
+ {
1688
+ internalType: "uint256",
1689
+ name: "_orderId",
1690
+ type: "uint256",
1691
+ },
1692
+ ],
1693
+ name: "storePendingNftOrder",
1694
+ outputs: [],
1695
+ stateMutability: "nonpayable",
1696
+ type: "function",
1697
+ },
1698
+ {
1699
+ inputs: [
1700
+ {
1701
+ components: [
1702
+ {
1703
+ internalType: "address",
1704
+ name: "trader",
1705
+ type: "address",
1706
+ },
1707
+ {
1708
+ internalType: "uint256",
1709
+ name: "pairIndex",
1710
+ type: "uint256",
1711
+ },
1712
+ {
1713
+ internalType: "uint256",
1714
+ name: "index",
1715
+ type: "uint256",
1716
+ },
1717
+ {
1718
+ internalType: "uint256",
1719
+ name: "initialPosToken",
1720
+ type: "uint256",
1721
+ },
1722
+ {
1723
+ internalType: "uint256",
1724
+ name: "positionSizeDai",
1725
+ type: "uint256",
1726
+ },
1727
+ {
1728
+ internalType: "uint256",
1729
+ name: "openPrice",
1730
+ type: "uint256",
1731
+ },
1732
+ {
1733
+ internalType: "bool",
1734
+ name: "buy",
1735
+ type: "bool",
1736
+ },
1737
+ {
1738
+ internalType: "uint256",
1739
+ name: "leverage",
1740
+ type: "uint256",
1741
+ },
1742
+ {
1743
+ internalType: "uint256",
1744
+ name: "tp",
1745
+ type: "uint256",
1746
+ },
1747
+ {
1748
+ internalType: "uint256",
1749
+ name: "sl",
1750
+ type: "uint256",
1751
+ },
1752
+ ],
1753
+ internalType: "struct GNSTradingStorage.Trade",
1754
+ name: "_trade",
1755
+ type: "tuple",
1756
+ },
1757
+ {
1758
+ components: [
1759
+ {
1760
+ internalType: "uint256",
1761
+ name: "tokenId",
1762
+ type: "uint256",
1763
+ },
1764
+ {
1765
+ internalType: "uint256",
1766
+ name: "tokenPriceDai",
1767
+ type: "uint256",
1768
+ },
1769
+ {
1770
+ internalType: "uint256",
1771
+ name: "openInterestDai",
1772
+ type: "uint256",
1773
+ },
1774
+ {
1775
+ internalType: "uint256",
1776
+ name: "tpLastUpdated",
1777
+ type: "uint256",
1778
+ },
1779
+ {
1780
+ internalType: "uint256",
1781
+ name: "slLastUpdated",
1782
+ type: "uint256",
1783
+ },
1784
+ {
1785
+ internalType: "bool",
1786
+ name: "beingMarketClosed",
1787
+ type: "bool",
1788
+ },
1789
+ ],
1790
+ internalType: "struct GNSTradingStorage.TradeInfo",
1791
+ name: "_tradeInfo",
1792
+ type: "tuple",
1793
+ },
1794
+ ],
1795
+ name: "storeTrade",
1796
+ outputs: [],
1797
+ stateMutability: "nonpayable",
1798
+ type: "function",
1799
+ },
1800
+ {
1801
+ inputs: [
1802
+ {
1803
+ internalType: "uint256",
1804
+ name: "",
1805
+ type: "uint256",
1806
+ },
1807
+ ],
1808
+ name: "supportedTokens",
1809
+ outputs: [
1810
+ {
1811
+ internalType: "address",
1812
+ name: "",
1813
+ type: "address",
1814
+ },
1815
+ ],
1816
+ stateMutability: "view",
1817
+ type: "function",
1818
+ },
1819
+ {
1820
+ inputs: [],
1821
+ name: "token",
1822
+ outputs: [
1823
+ {
1824
+ internalType: "contract IERC20",
1825
+ name: "",
1826
+ type: "address",
1827
+ },
1828
+ ],
1829
+ stateMutability: "view",
1830
+ type: "function",
1831
+ },
1832
+ {
1833
+ inputs: [],
1834
+ name: "tokensBurned",
1835
+ outputs: [
1836
+ {
1837
+ internalType: "uint256",
1838
+ name: "",
1839
+ type: "uint256",
1840
+ },
1841
+ ],
1842
+ stateMutability: "view",
1843
+ type: "function",
1844
+ },
1845
+ {
1846
+ inputs: [],
1847
+ name: "tokensMinted",
1848
+ outputs: [
1849
+ {
1850
+ internalType: "uint256",
1851
+ name: "",
1852
+ type: "uint256",
1853
+ },
1854
+ ],
1855
+ stateMutability: "view",
1856
+ type: "function",
1857
+ },
1858
+ {
1859
+ inputs: [],
1860
+ name: "trading",
1861
+ outputs: [
1862
+ {
1863
+ internalType: "address",
1864
+ name: "",
1865
+ type: "address",
1866
+ },
1867
+ ],
1868
+ stateMutability: "view",
1869
+ type: "function",
1870
+ },
1871
+ {
1872
+ inputs: [
1873
+ {
1874
+ internalType: "address",
1875
+ name: "_from",
1876
+ type: "address",
1877
+ },
1878
+ {
1879
+ internalType: "address",
1880
+ name: "_to",
1881
+ type: "address",
1882
+ },
1883
+ {
1884
+ internalType: "uint256",
1885
+ name: "_amount",
1886
+ type: "uint256",
1887
+ },
1888
+ ],
1889
+ name: "transferDai",
1890
+ outputs: [],
1891
+ stateMutability: "nonpayable",
1892
+ type: "function",
1893
+ },
1894
+ {
1895
+ inputs: [
1896
+ {
1897
+ internalType: "address",
1898
+ name: "_from",
1899
+ type: "address",
1900
+ },
1901
+ {
1902
+ internalType: "uint256",
1903
+ name: "_pairIndex",
1904
+ type: "uint256",
1905
+ },
1906
+ {
1907
+ internalType: "uint256",
1908
+ name: "_leveragedPosDai",
1909
+ type: "uint256",
1910
+ },
1911
+ ],
1912
+ name: "transferLinkToAggregator",
1913
+ outputs: [],
1914
+ stateMutability: "nonpayable",
1915
+ type: "function",
1916
+ },
1917
+ {
1918
+ inputs: [
1919
+ {
1920
+ internalType: "address",
1921
+ name: "_trader",
1922
+ type: "address",
1923
+ },
1924
+ {
1925
+ internalType: "uint256",
1926
+ name: "_pairIndex",
1927
+ type: "uint256",
1928
+ },
1929
+ {
1930
+ internalType: "uint256",
1931
+ name: "_index",
1932
+ type: "uint256",
1933
+ },
1934
+ ],
1935
+ name: "unregisterOpenLimitOrder",
1936
+ outputs: [],
1937
+ stateMutability: "nonpayable",
1938
+ type: "function",
1939
+ },
1940
+ {
1941
+ inputs: [
1942
+ {
1943
+ internalType: "uint256",
1944
+ name: "_id",
1945
+ type: "uint256",
1946
+ },
1947
+ {
1948
+ internalType: "bool",
1949
+ name: "_open",
1950
+ type: "bool",
1951
+ },
1952
+ ],
1953
+ name: "unregisterPendingMarketOrder",
1954
+ outputs: [],
1955
+ stateMutability: "nonpayable",
1956
+ type: "function",
1957
+ },
1958
+ {
1959
+ inputs: [
1960
+ {
1961
+ internalType: "uint256",
1962
+ name: "_order",
1963
+ type: "uint256",
1964
+ },
1965
+ ],
1966
+ name: "unregisterPendingNftOrder",
1967
+ outputs: [],
1968
+ stateMutability: "nonpayable",
1969
+ type: "function",
1970
+ },
1971
+ {
1972
+ inputs: [
1973
+ {
1974
+ internalType: "address",
1975
+ name: "trader",
1976
+ type: "address",
1977
+ },
1978
+ {
1979
+ internalType: "uint256",
1980
+ name: "pairIndex",
1981
+ type: "uint256",
1982
+ },
1983
+ {
1984
+ internalType: "uint256",
1985
+ name: "index",
1986
+ type: "uint256",
1987
+ },
1988
+ ],
1989
+ name: "unregisterTrade",
1990
+ outputs: [],
1991
+ stateMutability: "nonpayable",
1992
+ type: "function",
1993
+ },
1994
+ {
1995
+ inputs: [
1996
+ {
1997
+ components: [
1998
+ {
1999
+ internalType: "address",
2000
+ name: "trader",
2001
+ type: "address",
2002
+ },
2003
+ {
2004
+ internalType: "uint256",
2005
+ name: "pairIndex",
2006
+ type: "uint256",
2007
+ },
2008
+ {
2009
+ internalType: "uint256",
2010
+ name: "index",
2011
+ type: "uint256",
2012
+ },
2013
+ {
2014
+ internalType: "uint256",
2015
+ name: "positionSize",
2016
+ type: "uint256",
2017
+ },
2018
+ {
2019
+ internalType: "uint256",
2020
+ name: "spreadReductionP",
2021
+ type: "uint256",
2022
+ },
2023
+ {
2024
+ internalType: "bool",
2025
+ name: "buy",
2026
+ type: "bool",
2027
+ },
2028
+ {
2029
+ internalType: "uint256",
2030
+ name: "leverage",
2031
+ type: "uint256",
2032
+ },
2033
+ {
2034
+ internalType: "uint256",
2035
+ name: "tp",
2036
+ type: "uint256",
2037
+ },
2038
+ {
2039
+ internalType: "uint256",
2040
+ name: "sl",
2041
+ type: "uint256",
2042
+ },
2043
+ {
2044
+ internalType: "uint256",
2045
+ name: "minPrice",
2046
+ type: "uint256",
2047
+ },
2048
+ {
2049
+ internalType: "uint256",
2050
+ name: "maxPrice",
2051
+ type: "uint256",
2052
+ },
2053
+ {
2054
+ internalType: "uint256",
2055
+ name: "block",
2056
+ type: "uint256",
2057
+ },
2058
+ {
2059
+ internalType: "uint256",
2060
+ name: "tokenId",
2061
+ type: "uint256",
2062
+ },
2063
+ ],
2064
+ internalType: "struct GNSTradingStorage.OpenLimitOrder",
2065
+ name: "_o",
2066
+ type: "tuple",
2067
+ },
2068
+ ],
2069
+ name: "updateOpenLimitOrder",
2070
+ outputs: [],
2071
+ stateMutability: "nonpayable",
2072
+ type: "function",
2073
+ },
2074
+ {
2075
+ inputs: [
2076
+ {
2077
+ internalType: "address",
2078
+ name: "_trader",
2079
+ type: "address",
2080
+ },
2081
+ {
2082
+ internalType: "uint256",
2083
+ name: "_pairIndex",
2084
+ type: "uint256",
2085
+ },
2086
+ {
2087
+ internalType: "uint256",
2088
+ name: "_index",
2089
+ type: "uint256",
2090
+ },
2091
+ {
2092
+ internalType: "uint256",
2093
+ name: "_newSl",
2094
+ type: "uint256",
2095
+ },
2096
+ ],
2097
+ name: "updateSl",
2098
+ outputs: [],
2099
+ stateMutability: "nonpayable",
2100
+ type: "function",
2101
+ },
2102
+ {
2103
+ inputs: [
2104
+ {
2105
+ internalType: "address",
2106
+ name: "_trader",
2107
+ type: "address",
2108
+ },
2109
+ {
2110
+ internalType: "uint256",
2111
+ name: "_pairIndex",
2112
+ type: "uint256",
2113
+ },
2114
+ {
2115
+ internalType: "uint256",
2116
+ name: "_index",
2117
+ type: "uint256",
2118
+ },
2119
+ {
2120
+ internalType: "uint256",
2121
+ name: "_newTp",
2122
+ type: "uint256",
2123
+ },
2124
+ ],
2125
+ name: "updateTp",
2126
+ outputs: [],
2127
+ stateMutability: "nonpayable",
2128
+ type: "function",
2129
+ },
2130
+ {
2131
+ inputs: [
2132
+ {
2133
+ components: [
2134
+ {
2135
+ internalType: "address",
2136
+ name: "trader",
2137
+ type: "address",
2138
+ },
2139
+ {
2140
+ internalType: "uint256",
2141
+ name: "pairIndex",
2142
+ type: "uint256",
2143
+ },
2144
+ {
2145
+ internalType: "uint256",
2146
+ name: "index",
2147
+ type: "uint256",
2148
+ },
2149
+ {
2150
+ internalType: "uint256",
2151
+ name: "initialPosToken",
2152
+ type: "uint256",
2153
+ },
2154
+ {
2155
+ internalType: "uint256",
2156
+ name: "positionSizeDai",
2157
+ type: "uint256",
2158
+ },
2159
+ {
2160
+ internalType: "uint256",
2161
+ name: "openPrice",
2162
+ type: "uint256",
2163
+ },
2164
+ {
2165
+ internalType: "bool",
2166
+ name: "buy",
2167
+ type: "bool",
2168
+ },
2169
+ {
2170
+ internalType: "uint256",
2171
+ name: "leverage",
2172
+ type: "uint256",
2173
+ },
2174
+ {
2175
+ internalType: "uint256",
2176
+ name: "tp",
2177
+ type: "uint256",
2178
+ },
2179
+ {
2180
+ internalType: "uint256",
2181
+ name: "sl",
2182
+ type: "uint256",
2183
+ },
2184
+ ],
2185
+ internalType: "struct GNSTradingStorage.Trade",
2186
+ name: "_t",
2187
+ type: "tuple",
2188
+ },
2189
+ ],
2190
+ name: "updateTrade",
2191
+ outputs: [],
2192
+ stateMutability: "nonpayable",
2193
+ type: "function",
2194
+ },
2195
+ {
2196
+ inputs: [],
2197
+ name: "vault",
2198
+ outputs: [
2199
+ {
2200
+ internalType: "address",
2201
+ name: "",
2202
+ type: "address",
2203
+ },
2204
+ ],
2205
+ stateMutability: "view",
2206
+ type: "function",
2207
+ },
2208
+ ];
2209
+ const _bytecode = "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61455780620000f36000396000f3fe608060405234801561001057600080fd5b50600436106104325760003560e01c8063aa3b7d7711610236578063e3cbe3a71161013b578063f65d9dbe116100c3578063fbfa77cf11610087578063fbfa77cf14610cc7578063fc0c546a14610cda578063fdb5941314610ced578063fe0fc8d614610cf6578063fece4eac14610d0957600080fd5b8063f65d9dbe14610c66578063f7b3c6fd14610c6f578063f823e2ae14610c98578063f8c8765e14610cab578063f8d24b4814610cbe57600080fd5b8063ec44acf21161010a578063ec44acf214610bed578063ecf56a1f14610c00578063eda00d5414610c13578063ee92a4ff14610c44578063f4b9fa7514610c4d57600080fd5b8063e3cbe3a714610bb5578063e7873b5814610bc8578063e842a64b14610bd1578063ea5c3c3314610be457600080fd5b8063c6255626116101be578063d3b5fe701161018d578063d3b5fe7014610b54578063d4bda90814610b67578063d539139314610b7a578063dc2123ff14610b8f578063dcdf339a14610ba257600080fd5b8063c625562614610b08578063c76faf7814610b1b578063cab9458014610b2e578063cfad57a214610b4157600080fd5b8063b767608a11610205578063b767608a14610a84578063b7682d5414610a97578063b8878a2c14610ac2578063bcc9f1d314610ae2578063c311ab3114610af557600080fd5b8063aa3b7d7714610973578063aaf5eb6814610993578063b4b0f5671461099f578063b66e6b05146109b257600080fd5b80635fbfe8cc1161033c5780638a0bd702116102c457806397e7995a1161029357806397e7995a146107d257806399794d35146107fd5780639c8912f114610861578063a35441811461088c578063a3a80ffe1461089f57600080fd5b80638a0bd702146107135780638c8ff1d51461072857806390d112b9146107ac57806391cca3db146107bf57600080fd5b80636de9f32b1161030b5780636de9f32b146106c85780636e70e7b6146106d15780637fdb96f3146106e45780638049fde7146106f7578063817fa1a41461070057600080fd5b80635fbfe8cc1461064f5780636690a8061461066f5780636817031b146106825780636d81d9811461069557600080fd5b80633078fff5116103bf57806344d44f5a1161038e57806344d44f5a146105ed5780635070e837146106005780635ad9f993146106135780635b621e321461061c5780635c76ac9e1461062f57600080fd5b80633078fff51461051d57806332149592146105305780633dae10a0146105af5780634415b369146105c257600080fd5b80631c8636b4116104065780631c8636b4146104a4578063201d8bdb146104cf578063265aa621146104e457806328daca21146104f7578063292c16171461050a57600080fd5b8062b127831461043757806312d43a511461046757806316f0115b1461047a57806318407fe01461048d575b600080fd5b60055461044a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60155461044a906001600160a01b031681565b60035461044a906001600160a01b031681565b610496601a5481565b60405190815260200161045e565b6104966104b2366004613b3f565b602160209081526000928352604080842090915290825290205481565b6104e26104dd366004613b6b565b610d1c565b005b61044a6104f2366004613b6b565b610e0c565b610496610505366004613b84565b610e2c565b610496610518366004613b3f565b610e51565b60025461044a906001600160a01b031681565b61054361053e366004613b6b565b610eb3565b604080516001600160a01b03909e168e5260208e019c909c529a8c019990995260608b019790975260808a019590955292151560a089015260c088019190915260e08701526101008601526101208501526101408401526101608301526101808201526101a00161045e565b6104966105bd366004613b6b565b610f3a565b6104966105d0366004613b3f565b602b60209081526000928352604080842090915290825290205481565b6104966105fb366004613b3f565b610f51565b6104e261060e366004613ba6565b610f86565b610496601d5481565b6104e261062a366004613ba6565b61101d565b61064261063d366004613ba6565b611098565b60405161045e9190613bc3565b61066261065d366004613b6b565b611104565b60405161045e9190613c07565b6104e261067d366004613c48565b61116f565b6104e2610690366004613ba6565b6112a8565b6106b86106a3366004613ba6565b602e6020526000908152604090205460ff1681565b604051901515815260200161045e565b610496601c5481565b6104e26106df366004613c7d565b61132e565b6104e26106f2366004613cbe565b61141d565b610496600e5481565b6104e261070e366004613d94565b61152e565b61071b61166e565b60405161045e9190613eb9565b61077d610736366004613c48565b602080805260009384526040808520825292845282842090528252902080546001820154600283015460038401546004850154600590950154939492939192909160ff1686565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c00161045e565b6104e26107ba366004613c48565b61175d565b60165461044a906001600160a01b031681565b6104966107e0366004613b3f565b602360209081526000928352604080842090915290825290205481565b61084f61080b366004613b6b565b6026602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b0394851695939490921692909160ff1686565b60405161045e96959493929190613f12565b61049661086f366004613b3f565b602860209081526000928352604080842090915290825290205481565b6104e261089a366004613cbe565b611acb565b61091d6108ad366004613c48565b601f60209081526000938452604080852082529284528284209052825290208054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b03909816989697959694959394929360ff9092169290918a565b604080516001600160a01b03909b168b5260208b0199909952978901969096526060880194909452608087019290925260a0860152151560c085015260e08401526101008301526101208201526101400161045e565b610496610981366004613b6b565b602d6020526000908152604090205481565b6104966402540be40081565b6104e26109ad366004613c48565b611bdb565b610a726109c0366004613b6b565b60256020908152600091825260409182902082516101408101845281546001600160a01b031681526001820154928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a0820152600682015460ff16151560c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154600b830154600c840154600d850154600e90950154939492939192909186565b60405161045e96959493929190613f6e565b6104e2610a92366004614014565b611f5c565b610496610aa5366004613b3f565b602960209081526000928352604080842090915290825290205481565b610ad5610ad0366004613c48565b612100565b60405161045e919061402d565b610496610af0366004613b3f565b612284565b6104e2610b033660046140ee565b6122b5565b61044a610b16366004613b6b565b612579565b6104e2610b2936600461417e565b6125a3565b6104e2610b3c366004614210565b6127f9565b6104e2610b4f366004613ba6565b612b6d565b6104e2610b62366004614240565b612bf1565b6104e2610b753660046142f3565b612f7c565b61049660008051602061450283398151915281565b6104e2610b9d366004613b6b565b61308e565b6106b8610bb0366004613c48565b613111565b61044a610bc3366004613b84565b6131b0565b610496601b5481565b6104e2610bdf366004613ba6565b6131e8565b61049660185481565b60045461044a906001600160a01b031681565b6104e2610c0e366004613b6b565b613262565b610496610c21366004613c48565b602260209081526000938452604080852082529284528284209052825290205481565b61049660175481565b60005461044a906201000090046001600160a01b031681565b610496600d5481565b610496610c7d366004613ba6565b6001600160a01b031660009081526027602052604090205490565b6104e2610ca6366004613ba6565b6132eb565b6104e2610cb9366004614310565b613423565b610496600f5481565b600c5461044a906001600160a01b031681565b60065461044a906001600160a01b031681565b61049660195481565b6104e2610d04366004613ba6565b613619565b60015461044a906001600160a01b031681565b336000908152602e602052604090205460ff168015610db75750600654604051632474521560e21b81526001600160a01b03909116906391d1485490610d769060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db79190614383565b610dc057600080fd5b600090815260266020526040812080546001600160a01b03199081168255600182018390556002820180549091169055600381018290556004810191909155600501805460ff19169055565b60078160058110610e1c57600080fd5b01546001600160a01b0316905081565b602c6020528160005260406000208160038110610e4857600080fd5b01549150829050565b6000805b600d54811015610eac576001600160a01b0384166000908152601f6020908152604080832086845282528083208484529091528120600701549003610e9c57809150610eac565b610ea5816143b6565b9050610e55565b5092915050565b60248181548110610ec357600080fd5b60009182526020909120600d9091020180546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01546001600160a01b03909b169c50989a97999698959760ff90951696939592949193909291908d565b60108160058110610f4a57600080fd5b0154905081565b6000805b600d54811015610eac57610f6a848483613111565b610f7657809150610eac565b610f7f816143b6565b9050610f55565b6015546001600160a01b03163314610f9d57600080fd5b6001600160a01b038116610fb057600080fd5b600280546001600160a01b0319166001600160a01b03831690811790915560408051818152600f918101919091526e383934b1b2a0b3b3b932b3b0ba37b960891b606082015260208101919091526000805160206144e2833981519152906080015b60405180910390a150565b6015546001600160a01b0316331461103457600080fd5b6001600160a01b03811661104757600080fd5b6001600160a01b0381166000818152602e6020908152604091829020805460ff1916905590519182527ff9cf924d7d98e6e0a27ec523cd7214b0bbdfaba197018b33b41a702f5238190e9101611012565b6001600160a01b0381166000908152602760209081526040918290208054835181840281018401909452808452606093928301828280156110f857602002820191906000526020600020905b8154815260200190600101908083116110e4575b50505050509050919050565b6000818152602a60209081526040918290208054835181840281018401909452808452606093928301828280156110f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116111465750505050509050919050565b336000908152602e602052604090205460ff16801561120a5750600654604051632474521560e21b81526001600160a01b03909116906391d14854906111c99060008051602061450283398151915290339060040161436c565b602060405180830381865afa1580156111e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120a9190614383565b61121357600080fd5b60025460405163b9e0336f60e01b815260048101849052602481018390526112a39185916001600160a01b0390911690819063b9e0336f90604401602060405180830381865afa15801561126b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128f91906143cf565b6001546001600160a01b03169291906136a3565b505050565b6015546001600160a01b031633146112bf57600080fd5b6001600160a01b0381166112d257600080fd5b600c80546001600160a01b0319166001600160a01b03831690811790915560408051818152600591810191909152641d985d5b1d60da1b606082015260208101919091526000805160206144e283398151915290608001611012565b336000908152602e602052604090205460ff1680156113c95750600654604051632474521560e21b81526001600160a01b03909116906391d14854906113889060008051602061450283398151915290339060040161436c565b602060405180830381865afa1580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c99190614383565b6113d257600080fd5b306001600160a01b038416036113ff576000546112a3906201000090046001600160a01b0316838361370e565b6000546112a3906201000090046001600160a01b03168484846136a3565b336000908152602e602052604090205460ff1680156114b85750600654604051632474521560e21b81526001600160a01b03909116906391d14854906114779060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015611494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b89190614383565b6114c157600080fd5b6001600160a01b0384166000818152601f6020908152604080832087845282528083208684528252808320938352818052808320878452825280832086845290915281206007830154909103611518575050611528565b6008909101829055436003909101555b50505050565b336000908152602e602052604090205460ff1680156115c95750600654604051632474521560e21b81526001600160a01b03909116906391d14854906115889060008051602061450283398151915290339060040161436c565b602060405180830381865afa1580156115a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c99190614383565b6115d257600080fd5b600081815260266020908152604091829020845181546001600160a01b03199081166001600160a01b03928316178355928601516001808401919091559386015160028301805490941691161790915560608401516003808301919091556080850151600483015560a085015160058301805487959293919260ff1990911691849081111561166357611663613efc565b021790555050505050565b60606024805480602002602001604051908101604052809291908181526020016000905b82821015611754576000848152602090819020604080516101a081018252600d860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e084015260088101546101008401526009810154610120840152600a810154610140840152600b810154610160840152600c01546101808301529083529092019101611692565b50505050905090565b336000908152602e602052604090205460ff1680156117f85750600654604051632474521560e21b81526001600160a01b03909116906391d14854906117b79060008051602061450283398151915290339060040161436c565b602060405180830381865afa1580156117d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f89190614383565b61180157600080fd5b6001600160a01b0383166000818152601f6020908152604080832086845282528083208584528252808320938352818052808320868452825280832085845290915281206007830154909103611858575050505050565b6002810154600683015461187391869160009060ff1661373e565b6001600160a01b03851660009081526021602090815260408083208784529091529020546001036119e0576001600160a01b0385166000908152602b60209081526040808320878452825280832054602a909252909120805481906118da906001906143e8565b815481106118ea576118ea6143fb565b9060005260206000200160009054906101000a90046001600160a01b031681838154811061191a5761191a6143fb565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081602b600083858154811061195f5761195f6143fb565b60009182526020808320909101546001600160a01b03908116845283820194909452604092830182208b8352815282822094909455918a168252602b83528082208983529092529081205580548190806119bb576119bb614411565b600082815260209020810160001990810180546001600160a01b031916905501905550505b6001600160a01b0385166000818152601f602090815260408083208884528252808320878452825280832080546001600160a01b03191681556001808201859055600280830186905560038084018790556004808501889055600580860189905560068601805460ff19908116909155600787018a9055600887018a905560099096018990558989528780528689208e8a5288528689208d8a52885286892089815594850189905592840188905590830187905582018690550180549091169055928252602181528282208783529052908120805491611abf83614427565b91905055505050505050565b336000908152602e602052604090205460ff168015611b665750600654604051632474521560e21b81526001600160a01b03909116906391d1485490611b259060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015611b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b669190614383565b611b6f57600080fd5b6001600160a01b0384166000818152601f6020908152604080832087845282528083208684528252808320938352818052808320878452825280832086845290915281206007830154909103611bc6575050611528565b60099091018290554360049091015550505050565b336000908152602e602052604090205460ff168015611c765750600654604051632474521560e21b81526001600160a01b03909116906391d1485490611c359060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015611c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c769190614383565b611c7f57600080fd5b611c8a838383613111565b156112a3576001600160a01b0383166000908152602260209081526040808320858452825280832084845290915290205460248054611ccb906001906143e8565b81548110611cdb57611cdb6143fb565b90600052602060002090600d020160248281548110611cfc57611cfc6143fb565b6000918252602082208354600d9092020180546001600160a01b0319166001600160a01b0390921691909117815560018084015490820155600280840154908201556003808401549082015560048084015490820155600580840154908201805460ff909216151560ff1990921691909117905560068084015490820155600780840154908201556008808401549082015560098084015490820155600a8084015490820155600b8084015490820155600c92830154920191909155602480548392602292909184908110611dd357611dd36143fb565b60009182526020808320600d909202909101546001600160a01b0316835282019290925260400181206024805491929185908110611e1357611e136143fb565b90600052602060002090600d0201600101548152602001908152602001600020600060248481548110611e4857611e486143fb565b600091825260208083206002600d90930201919091015483528281019390935260409182018120939093556001600160a01b03871683526022825280832086845282528083208584529091528120556024805480611ea857611ea8614411565b60008281526020808220600d6000199094019384020180546001600160a01b03191681556001810183905560028101839055600381018390556004810183905560058101805460ff1916905560068101839055600781018390556008810183905560098101839055600a8101839055600b8101839055600c01829055919092556001600160a01b03861682526023815260408083208684529091528120805491611f5183614427565b919050555050505050565b336000908152602e602052604090205460ff168015611ff75750600654604051632474521560e21b81526001600160a01b03909116906391d1485490611fb69060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015611fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff79190614383565b61200057600080fd5b61201f6120106020830183613ba6565b82602001358360400135613111565b156120fd57600060246022826120386020860186613ba6565b6001600160a01b031681526020808201929092526040908101600090812086840135825283528181208683013582529092529020548154811061207d5761207d6143fb565b90600052602060002090600d02019050816060013581600301819055508160a00160208101906120ad919061443e565b60058201805460ff191691151591909117905560c0820135600682015560e0820135600782015561010082013560088201556101208201356009820155610140820135600a82015543600b909101555b50565b612176604051806101a0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b612181848484613111565b61218a57600080fd5b6001600160a01b038416600090815260226020908152604080832086845282528083208584529091529020546024805490919081106121cb576121cb6143fb565b6000918252602091829020604080516101a081018252600d90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c9091015461018082015290505b9392505050565b602760205281600052604060002081815481106122a057600080fd5b90600052602060002001600091509150505481565b336000908152602e602052604090205460ff1680156123505750600654604051632474521560e21b81526001600160a01b03909116906391d148549061230f9060008051602061450283398151915290339060040161436c565b602060405180830381865afa15801561232c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123509190614383565b61235957600080fd5b61236b82600001518360200151610e51565b604083810191825283516001600160a01b039081166000908152601f602090815283822081880180518452908252848320865184528252848320885181546001600160a01b031916951694851781558151600182015595516002870155606088015160038701556080880151600487015560a0880151600587015560c088015160068701805460ff191691151591909117905560e08801516007870155610100880151600887015561012088015160099096019590955591815260218252828120935181529290528120805491612441836143b6565b909155505081516001600160a01b031660009081526021602090815260408083208286015184529091529020546001036124e157602082810180516000908152602a80845260408083205487516001600160a01b039081168552602b87528285208651865287528285209190915593518352908452812085518154600181018355918352939091200180546001600160a01b031916929091169190911790555b600060a0820181815283516001600160a01b03168252602080805260408084208287018051865290835281852082880151865283529381902085518155918501516001808401919091559085015160028301819055606086015160038401556080860151600484015592516005909201805460ff191692151592909217909155915160c0850151612575939192919061373e565b5050565b601e818154811061258957600080fd5b6000918252602090912001546001600160a01b0316905081565b336000908152602e602052604090205460ff16801561263e5750600654604051632474521560e21b81526001600160a01b03909116906391d14854906125fd9060008051602061450283398151915290339060040161436c565b602060405180830381865afa15801561261a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263e9190614383565b61264757600080fd5b8251516001600160a01b0390811660009081526027602090815260408083208054600180820183559185528385200187905586845260258352928190208751805182546001600160a01b031916961695909517815591840151928201929092558282015160028201556060808401516003830155608080850151600484015560a080860151600585015560c086015160068501805460ff191691151591909117905560e08601516007850155610100860151600885015561012090950151600984015592870151600b830155860151600c82015590850151600d82015590840151600e82015543600a909101558015612779578251516001600160a01b0316600090815260286020908152604080832086518301518452909152812080549161276f836143b6565b9190505550505050565b8251516001600160a01b031660009081526029602090815260408083208651830151845290915281208054916127ae836143b6565b90915550508251516001600160a01b0316600090815260208080526040808320865183015184528252808320865182015184529091529020600501805460ff19166001179055505050565b336000908152602e602052604090205460ff1680156128945750600654604051632474521560e21b81526001600160a01b03909116906391d14854906128539060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015612870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128949190614383565b61289d57600080fd5b600082815260256020908152604080832081516102008101835281546001600160a01b031660c08201818152600184015460e08401526002840154610100840152600384015461012084015260048401546101408401526005840154610160840152600684015460ff16151561018084015260078401546101a084015260088401546101c084015260098401546101e08401528252600a83015482860152600b83015482850152600c8301546060830152600d8301546080830152600e9092015460a08201529084526027909252822090915b8154811015612b66578482828154811061298c5761298c6143fb565b906000526020600020015403612b565783156129e1578251516001600160a01b031660009081526028602090815260408083208651830151845290915281208054916129d783614427565b9190505550612a5a565b8251516001600160a01b03166000908152602960209081526040808320865183015184529091528120805491612a1683614427565b90915550508251516001600160a01b0316600090815260208080526040808320865183015184528252808320865182015184529091529020600501805460ff191690555b81548290612a6a906001906143e8565b81548110612a7a57612a7a6143fb565b9060005260206000200154828281548110612a9757612a976143fb565b906000526020600020018190555081805480612ab557612ab5614411565b600082815260208082208301600019908101839055909201909255868252602590526040812080546001600160a01b0319168155600181018290556002810182905560038101829055600481018290556005810182905560068101805460ff19169055600781018290556008810182905560098101829055600a8101829055600b8101829055600c8101829055600d8101829055600e015550612575915050565b612b5f816143b6565b9050612970565b5050505050565b6015546001600160a01b03163314612b8457600080fd5b6001600160a01b038116612b9757600080fd5b601580546001600160a01b0319166001600160a01b038316908117909155604080518181526003918101919091526233b7bb60e91b606082015260208101919091526000805160206144e283398151915290608001611012565b336000908152602e602052604090205460ff168015612c8c5750600654604051632474521560e21b81526001600160a01b03909116906391d1485490612c4b9060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015612c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8c9190614383565b612c9557600080fd5b612ca781600001518260200151610f51565b604082019081524361016083019081526024805460018082018355600083905285517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec4600d90930292830180546001600160a01b0319166001600160a01b0390921691909117905560208601517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec583015593517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec682015560608501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec782015560808501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec882015560a08501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec98201805460ff191691151591909117905560c08501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22eca82015560e08501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ecb8201556101008501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ecc8201556101208501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ecd8201556101408501517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ece82015591517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ecf8301556101808401517f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ed09092019190915554612f1691906143e8565b81516001600160a01b03908116600090815260226020908152604080832082870180518552908352818420828801518552835281842095909555855190931682526023815282822093518252929092528120805491612f74836143b6565b919050555050565b336000908152602e602052604090205460ff1680156130175750600654604051632474521560e21b81526001600160a01b03909116906391d1485490612fd69060008051602061450283398151915290339060040161436c565b602060405180830381865afa158015612ff3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130179190614383565b61302057600080fd5b80516001600160a01b03166000908152601f60209081526040808320828501518452825280832081850151845290915281206007810154909103613062575050565b606082015160038201556080820151600482015560a0820151600582015560e082015160079091015550565b6015546001600160a01b031633146130a557600080fd5b600081116130b257600080fd5b600d819055604080518181526010918101919091526f36b0bc2a3930b232b9a832b92830b4b960811b6060820152602081018290527f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab90608001611012565b60245460009081036131255750600061227d565b6001600160a01b03841660009081526022602090815260408083208684528252808320858452909152812054602480549091908110613166576131666143fb565b60009182526020909120600d9091020180549091506001600160a01b0386811691161480156131985750838160010154145b80156131a75750828160020154145b95945050505050565b602a60205281600052604060002081815481106131cc57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6015546001600160a01b031633146131ff57600080fd5b6001600160a01b0381166132465760405162461bcd60e51b81526020600482015260096024820152680414444524553535f360bc1b60448201526064015b60405180910390fd5b6000546120fd906201000090046001600160a01b0316826137c9565b6015546001600160a01b0316331461327957600080fd5b6000811161328657600080fd5b600e81905560408051818152601691810191909152756d617850656e64696e674d61726b65744f726465727360501b6060820152602081018290527f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab90608001611012565b6015546001600160a01b0316331461330257600080fd5b600654604051632474521560e21b81526001600160a01b03909116906391d14854906133429060008051602061450283398151915290859060040161436c565b602060405180830381865afa15801561335f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133839190614383565b6133bc5760405162461bcd60e51b815260206004820152600a6024820152692727aa2fa6a4a72a22a960b11b604482015260640161323d565b6001600160a01b0381166133cf57600080fd5b6001600160a01b0381166000818152602e6020908152604091829020805460ff1916600117905590519182527fb692fa98cbec9bd705572b4c7e0927e3f7698e9fe526dcef6f40f3d4d4980ca39101611012565b600054610100900460ff16158080156134435750600054600160ff909116105b8061345d5750303b15801561345d575060005460ff166001145b6134c05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161323d565b6000805460ff1916600117905580156134e3576000805461ff0019166101001790555b6001600160a01b0385161580159061350357506001600160a01b03841615155b801561351757506001600160a01b03831615155b801561352b57506001600160a01b03821615155b6135665760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f504152414d5360a01b604482015260640161323d565b6000805462010000600160b01b031916620100006001600160a01b038881169190910291909117909155600180546001600160a01b031990811687841617909155600680548216868416179055601580549091169184169190911790556003600d556005600e558015612b66576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6015546001600160a01b0316331461363057600080fd5b6001600160a01b03811661364357600080fd5b600580546001600160a01b0319166001600160a01b038316908117909155604080518181526009918101919091526863616c6c6261636b7360b81b606082015260208101919091526000805160206144e283398151915290608001611012565b6040516001600160a01b03808516602483015283166044820152606481018290526115289085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526138b5565b6040516001600160a01b0383166024820152604481018290526112a390849063a9059cbb60e01b906064016136d7565b60008161374c57600161374f565b60005b6000868152602c6020526040902060ff9190911691508361378e578481836003811061377d5761377d6143fb565b015461378991906143e8565b6137ad565b848183600381106137a1576137a16143fb565b01546137ad919061445b565b8183600381106137bf576137bf6143fb565b0155505050505050565b6040516001600160a01b0382811660248301526000919084169060440160408051601f198184030181529181526020820180516001600160e01b03166317066a5760e21b1790525161381b9190614492565b6000604051808303816000865af19150503d8060008114613858576040519150601f19603f3d011682016040523d82523d6000602084013e61385d565b606091505b50509050816001600160a01b0316836001600160a01b03167fb1247c60c1f535e393496ecb92a45670b346b057bf9e382c99cb0dca11ee8abc836040516138a8911515815260200190565b60405180910390a3505050565b600061390a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661398a9092919063ffffffff16565b905080516000148061392b57508080602001905181019061392b9190614383565b6112a35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161323d565b606061399984846000856139a1565b949350505050565b606082471015613a025760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161323d565b600080866001600160a01b03168587604051613a1e9190614492565b60006040518083038185875af1925050503d8060008114613a5b576040519150601f19603f3d011682016040523d82523d6000602084013e613a60565b606091505b5091509150613a7187838387613a7c565b979650505050505050565b60608315613aeb578251600003613ae4576001600160a01b0385163b613ae45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161323d565b5081613999565b6139998383815115613b005781518083602001fd5b8060405162461bcd60e51b815260040161323d91906144ae565b6001600160a01b03811681146120fd57600080fd5b8035613b3a81613b1a565b919050565b60008060408385031215613b5257600080fd5b8235613b5d81613b1a565b946020939093013593505050565b600060208284031215613b7d57600080fd5b5035919050565b60008060408385031215613b9757600080fd5b50508035926020909101359150565b600060208284031215613bb857600080fd5b813561227d81613b1a565b6020808252825182820181905260009190848201906040850190845b81811015613bfb57835183529284019291840191600101613bdf565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613bfb5783516001600160a01b031683529284019291840191600101613c23565b600080600060608486031215613c5d57600080fd5b8335613c6881613b1a565b95602085013595506040909401359392505050565b600080600060608486031215613c9257600080fd5b8335613c9d81613b1a565b92506020840135613cad81613b1a565b929592945050506040919091013590565b60008060008060808587031215613cd457600080fd5b8435613cdf81613b1a565b966020860135965060408601359560600135945092505050565b60405160c0810167ffffffffffffffff81118282101715613d2a57634e487b7160e01b600052604160045260246000fd5b60405290565b604051610140810167ffffffffffffffff81118282101715613d2a57634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715613d2a57634e487b7160e01b600052604160045260246000fd5b60008082840360e0811215613da857600080fd5b60c0811215613db657600080fd5b50613dbf613cf9565b8335613dca81613b1a565b8152602084810135908201526040840135613de481613b1a565b80604083015250606084013560608201526080840135608082015260a084013560048110613e1157600080fd5b60a08201529460c0939093013593505050565b80516001600160a01b031682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a0810151613e6c60a084018215159052565b5060c0818101519083015260e08082015190830152610100808201519083015261012080820151908301526101408082015190830152610160808201519083015261018090810151910152565b6020808252825182820181905260009190848201906040850190845b81811015613bfb57613ee8838551613e24565b928401926101a09290920191600101613ed5565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b0387811682526020820187905285166040820152606081018490526080810183905260c0810160048310613f5d57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b86516001600160a01b031681526101e081016020880151602083015260408801516040830152606088015160608301526080880151608083015260a088015160a083015260c0880151613fc560c084018215159052565b5060e08881015190830152610100808901519083015261012097880151978201979097526101408101959095526101608501939093526101808401919091526101a08301526101c09091015290565b60006101a0828403121561402757600080fd5b50919050565b6101a0810161403c8284613e24565b92915050565b80151581146120fd57600080fd5b8035613b3a81614042565b6000610140828403121561406e57600080fd5b614076613d30565b905061408182613b2f565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a08201526140c160c08301614050565b60c082015260e082013560e082015261010080830135818301525061012080830135818301525092915050565b60008082840361020081121561410357600080fd5b61410d858561405b565b925060c061013f198201121561412257600080fd5b5061412b613cf9565b6101408401358152610160840135602082015261018084013560408201526101a084013560608201526101c084013560808201526101e084013561416e81614042565b60a0820152919491935090915050565b600080600083850361022081121561419557600080fd5b6101e0808212156141a557600080fd5b6141ad613cf9565b91506141b9878761405b565b82526101408601356020830152610160860135604083015261018086013560608301526101a086013560808301526101c086013560a083015290935084013591506142076102008501614050565b90509250925092565b6000806040838503121561422357600080fd5b82359150602083013561423581614042565b809150509250929050565b60006101a0828403121561425357600080fd5b61425b613d62565b61426483613b2f565b81526020830135602082015260408301356040820152606083013560608201526080830135608082015261429a60a08401614050565b60a082015260c0838101359082015260e080840135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013590820152610180928301359281019290925250919050565b6000610140828403121561430657600080fd5b61227d838361405b565b6000806000806080858703121561432657600080fd5b843561433181613b1a565b9350602085013561434181613b1a565b9250604085013561435181613b1a565b9150606085013561436181613b1a565b939692955090935050565b9182526001600160a01b0316602082015260400190565b60006020828403121561439557600080fd5b815161227d81614042565b634e487b7160e01b600052601160045260246000fd5b6000600182016143c8576143c86143a0565b5060010190565b6000602082840312156143e157600080fd5b5051919050565b8181038181111561403c5761403c6143a0565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600081614436576144366143a0565b506000190190565b60006020828403121561445057600080fd5b813561227d81614042565b8082018082111561403c5761403c6143a0565b60005b83811015614489578181015183820152602001614471565b50506000910152565b600082516144a481846020870161446e565b9190910192915050565b60208152600082518060208401526144cd81604085016020870161446e565b601f01601f1916919091016040019291505056fe943e9d45a11aaae5d87503e3bc248665d9807856e5cf2bdb4a988bee444227819f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220741350b63869771d0f69678aaa333a2a5d02e58083bb19c1b9ed8b4d32e9836e64736f6c63430008110033";
2210
+ const isSuperArgs = (xs) => xs.length > 1;
2211
+ class GNSTradingStorage__factory extends ethers_1.ContractFactory {
2212
+ constructor(...args) {
2213
+ if (isSuperArgs(args)) {
2214
+ super(...args);
2215
+ }
2216
+ else {
2217
+ super(_abi, _bytecode, args[0]);
2218
+ }
2219
+ }
2220
+ deploy(overrides) {
2221
+ return super.deploy(overrides || {});
2222
+ }
2223
+ getDeployTransaction(overrides) {
2224
+ return super.getDeployTransaction(overrides || {});
2225
+ }
2226
+ attach(address) {
2227
+ return super.attach(address);
2228
+ }
2229
+ connect(signer) {
2230
+ return super.connect(signer);
2231
+ }
2232
+ static createInterface() {
2233
+ return new ethers_1.utils.Interface(_abi);
2234
+ }
2235
+ static connect(address, signerOrProvider) {
2236
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
2237
+ }
2238
+ }
2239
+ exports.GNSTradingStorage__factory = GNSTradingStorage__factory;
2240
+ GNSTradingStorage__factory.bytecode = _bytecode;
2241
+ GNSTradingStorage__factory.abi = _abi;