@gainsnetwork/sdk 1.0.2-rc1 → 1.0.2-rc3

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 (79) hide show
  1. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +20 -7
  2. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +16 -7
  3. package/lib/contracts/types/generated/factories/GToken__factory.d.ts +0 -7
  4. package/lib/contracts/types/generated/factories/GToken__factory.js +0 -4
  5. package/lib/markets/oi/converter.js +9 -0
  6. package/lib/markets/oi/types.d.ts +16 -0
  7. package/lib/trade/fees/borrowingV2/fetcher.d.ts +1 -0
  8. package/lib/trade/types.d.ts +1 -0
  9. package/package.json +1 -1
  10. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +0 -1911
  11. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +0 -2
  12. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +0 -1067
  13. package/lib/contracts/types/generated/GNSBorrowingFees.js +0 -2
  14. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +0 -979
  15. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +0 -2
  16. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +0 -1058
  17. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +0 -2
  18. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +0 -533
  19. package/lib/contracts/types/generated/GNSNftRewardsV6.js +0 -2
  20. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +0 -613
  21. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +0 -2
  22. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +0 -911
  23. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +0 -2
  24. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +0 -660
  25. package/lib/contracts/types/generated/GNSPairsStorageV6.js +0 -2
  26. package/lib/contracts/types/generated/GNSTrading.d.ts +0 -758
  27. package/lib/contracts/types/generated/GNSTrading.js +0 -2
  28. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +0 -875
  29. package/lib/contracts/types/generated/GNSTradingCallbacks.js +0 -2
  30. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +0 -806
  31. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +0 -2
  32. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +0 -821
  33. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +0 -2
  34. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +0 -1387
  35. package/lib/contracts/types/generated/GNSTradingStorage.js +0 -2
  36. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +0 -1838
  37. package/lib/contracts/types/generated/GTokenV6_3_2.js +0 -2
  38. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +0 -83
  39. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +0 -2691
  40. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +0 -88
  41. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +0 -1654
  42. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +0 -113
  43. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +0 -1742
  44. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +0 -124
  45. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +0 -1784
  46. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +0 -100
  47. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +0 -1116
  48. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +0 -100
  49. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +0 -1003
  50. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +0 -98
  51. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +0 -1485
  52. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +0 -117
  53. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +0 -1265
  54. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +0 -82
  55. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +0 -1273
  56. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +0 -82
  57. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +0 -1326
  58. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +0 -113
  59. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +0 -1428
  60. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +0 -96
  61. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +0 -2241
  62. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +0 -95
  63. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +0 -1071
  64. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +0 -110
  65. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +0 -2682
  66. package/lib/markets/oi/fetcher.d.ts +0 -58
  67. package/lib/markets/oi/fetcher.js +0 -181
  68. package/lib/markets/oi/validation.d.ts +0 -80
  69. package/lib/markets/oi/validation.js +0 -172
  70. package/lib/trade/effectiveLeverage/builder.d.ts +0 -23
  71. package/lib/trade/effectiveLeverage/builder.js +0 -30
  72. package/lib/trade/fees/holdingFees/index.d.ts +0 -46
  73. package/lib/trade/fees/holdingFees/index.js +0 -105
  74. package/lib/trade/fees/holdingFees/types.d.ts +0 -23
  75. package/lib/trade/fees/holdingFees/types.js +0 -5
  76. package/lib/trade/fees/trading/holdingFees.d.ts +0 -28
  77. package/lib/trade/fees/trading/holdingFees.js +0 -66
  78. package/lib/trade/fees/trading/holdingFeesStructured.d.ts +0 -28
  79. package/lib/trade/fees/trading/holdingFeesStructured.js +0 -66
@@ -1,1326 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GNSTradingCallbacksV6_4__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
- name: "Forbidden",
12
- type: "error",
13
- },
14
- {
15
- inputs: [],
16
- name: "WrongParams",
17
- type: "error",
18
- },
19
- {
20
- anonymous: false,
21
- inputs: [
22
- {
23
- indexed: true,
24
- internalType: "address",
25
- name: "trader",
26
- type: "address",
27
- },
28
- {
29
- indexed: false,
30
- internalType: "uint256",
31
- name: "tradeValueDai",
32
- type: "uint256",
33
- },
34
- {
35
- indexed: false,
36
- internalType: "uint256",
37
- name: "feeValueDai",
38
- type: "uint256",
39
- },
40
- ],
41
- name: "BorrowingFeeCharged",
42
- type: "event",
43
- },
44
- {
45
- anonymous: false,
46
- inputs: [
47
- {
48
- indexed: false,
49
- internalType: "uint256",
50
- name: "newValue",
51
- type: "uint256",
52
- },
53
- ],
54
- name: "CanExecuteTimeoutUpdated",
55
- type: "event",
56
- },
57
- {
58
- anonymous: false,
59
- inputs: [
60
- {
61
- indexed: false,
62
- internalType: "uint256",
63
- name: "daiVaultFeeP",
64
- type: "uint256",
65
- },
66
- {
67
- indexed: false,
68
- internalType: "uint256",
69
- name: "lpFeeP",
70
- type: "uint256",
71
- },
72
- {
73
- indexed: false,
74
- internalType: "uint256",
75
- name: "sssFeeP",
76
- type: "uint256",
77
- },
78
- ],
79
- name: "ClosingFeeSharesPUpdated",
80
- type: "event",
81
- },
82
- {
83
- anonymous: false,
84
- inputs: [
85
- {
86
- indexed: true,
87
- internalType: "address",
88
- name: "trader",
89
- type: "address",
90
- },
91
- {
92
- indexed: false,
93
- internalType: "uint256",
94
- name: "valueDai",
95
- type: "uint256",
96
- },
97
- ],
98
- name: "DaiVaultFeeCharged",
99
- type: "event",
100
- },
101
- {
102
- anonymous: false,
103
- inputs: [
104
- {
105
- indexed: true,
106
- internalType: "address",
107
- name: "trader",
108
- type: "address",
109
- },
110
- {
111
- indexed: false,
112
- internalType: "uint256",
113
- name: "valueDai",
114
- type: "uint256",
115
- },
116
- ],
117
- name: "DevGovFeeCharged",
118
- type: "event",
119
- },
120
- {
121
- anonymous: false,
122
- inputs: [
123
- {
124
- indexed: false,
125
- internalType: "bool",
126
- name: "done",
127
- type: "bool",
128
- },
129
- ],
130
- name: "Done",
131
- type: "event",
132
- },
133
- {
134
- anonymous: false,
135
- inputs: [
136
- {
137
- indexed: false,
138
- internalType: "uint8",
139
- name: "version",
140
- type: "uint8",
141
- },
142
- ],
143
- name: "Initialized",
144
- type: "event",
145
- },
146
- {
147
- anonymous: false,
148
- inputs: [
149
- {
150
- indexed: true,
151
- internalType: "uint256",
152
- name: "orderId",
153
- type: "uint256",
154
- },
155
- {
156
- indexed: false,
157
- internalType: "uint256",
158
- name: "limitIndex",
159
- type: "uint256",
160
- },
161
- {
162
- components: [
163
- {
164
- internalType: "address",
165
- name: "trader",
166
- type: "address",
167
- },
168
- {
169
- internalType: "uint256",
170
- name: "pairIndex",
171
- type: "uint256",
172
- },
173
- {
174
- internalType: "uint256",
175
- name: "index",
176
- type: "uint256",
177
- },
178
- {
179
- internalType: "uint256",
180
- name: "initialPosToken",
181
- type: "uint256",
182
- },
183
- {
184
- internalType: "uint256",
185
- name: "positionSizeDai",
186
- type: "uint256",
187
- },
188
- {
189
- internalType: "uint256",
190
- name: "openPrice",
191
- type: "uint256",
192
- },
193
- {
194
- internalType: "bool",
195
- name: "buy",
196
- type: "bool",
197
- },
198
- {
199
- internalType: "uint256",
200
- name: "leverage",
201
- type: "uint256",
202
- },
203
- {
204
- internalType: "uint256",
205
- name: "tp",
206
- type: "uint256",
207
- },
208
- {
209
- internalType: "uint256",
210
- name: "sl",
211
- type: "uint256",
212
- },
213
- ],
214
- indexed: false,
215
- internalType: "struct StorageInterfaceV5.Trade",
216
- name: "t",
217
- type: "tuple",
218
- },
219
- {
220
- indexed: true,
221
- internalType: "address",
222
- name: "nftHolder",
223
- type: "address",
224
- },
225
- {
226
- indexed: false,
227
- internalType: "enum StorageInterfaceV5.LimitOrder",
228
- name: "orderType",
229
- type: "uint8",
230
- },
231
- {
232
- indexed: false,
233
- internalType: "uint256",
234
- name: "price",
235
- type: "uint256",
236
- },
237
- {
238
- indexed: false,
239
- internalType: "uint256",
240
- name: "priceImpactP",
241
- type: "uint256",
242
- },
243
- {
244
- indexed: false,
245
- internalType: "uint256",
246
- name: "positionSizeDai",
247
- type: "uint256",
248
- },
249
- {
250
- indexed: false,
251
- internalType: "int256",
252
- name: "percentProfit",
253
- type: "int256",
254
- },
255
- {
256
- indexed: false,
257
- internalType: "uint256",
258
- name: "daiSentToTrader",
259
- type: "uint256",
260
- },
261
- {
262
- indexed: false,
263
- internalType: "bool",
264
- name: "exactExecution",
265
- type: "bool",
266
- },
267
- ],
268
- name: "LimitExecuted",
269
- type: "event",
270
- },
271
- {
272
- anonymous: false,
273
- inputs: [
274
- {
275
- indexed: true,
276
- internalType: "uint256",
277
- name: "orderId",
278
- type: "uint256",
279
- },
280
- {
281
- indexed: true,
282
- internalType: "address",
283
- name: "trader",
284
- type: "address",
285
- },
286
- {
287
- indexed: true,
288
- internalType: "uint256",
289
- name: "pairIndex",
290
- type: "uint256",
291
- },
292
- {
293
- indexed: false,
294
- internalType: "uint256",
295
- name: "index",
296
- type: "uint256",
297
- },
298
- {
299
- indexed: false,
300
- internalType: "enum GNSTradingCallbacksV6_4.CancelReason",
301
- name: "cancelReason",
302
- type: "uint8",
303
- },
304
- ],
305
- name: "MarketCloseCanceled",
306
- type: "event",
307
- },
308
- {
309
- anonymous: false,
310
- inputs: [
311
- {
312
- indexed: true,
313
- internalType: "uint256",
314
- name: "orderId",
315
- type: "uint256",
316
- },
317
- {
318
- components: [
319
- {
320
- internalType: "address",
321
- name: "trader",
322
- type: "address",
323
- },
324
- {
325
- internalType: "uint256",
326
- name: "pairIndex",
327
- type: "uint256",
328
- },
329
- {
330
- internalType: "uint256",
331
- name: "index",
332
- type: "uint256",
333
- },
334
- {
335
- internalType: "uint256",
336
- name: "initialPosToken",
337
- type: "uint256",
338
- },
339
- {
340
- internalType: "uint256",
341
- name: "positionSizeDai",
342
- type: "uint256",
343
- },
344
- {
345
- internalType: "uint256",
346
- name: "openPrice",
347
- type: "uint256",
348
- },
349
- {
350
- internalType: "bool",
351
- name: "buy",
352
- type: "bool",
353
- },
354
- {
355
- internalType: "uint256",
356
- name: "leverage",
357
- type: "uint256",
358
- },
359
- {
360
- internalType: "uint256",
361
- name: "tp",
362
- type: "uint256",
363
- },
364
- {
365
- internalType: "uint256",
366
- name: "sl",
367
- type: "uint256",
368
- },
369
- ],
370
- indexed: false,
371
- internalType: "struct StorageInterfaceV5.Trade",
372
- name: "t",
373
- type: "tuple",
374
- },
375
- {
376
- indexed: false,
377
- internalType: "bool",
378
- name: "open",
379
- type: "bool",
380
- },
381
- {
382
- indexed: false,
383
- internalType: "uint256",
384
- name: "price",
385
- type: "uint256",
386
- },
387
- {
388
- indexed: false,
389
- internalType: "uint256",
390
- name: "priceImpactP",
391
- type: "uint256",
392
- },
393
- {
394
- indexed: false,
395
- internalType: "uint256",
396
- name: "positionSizeDai",
397
- type: "uint256",
398
- },
399
- {
400
- indexed: false,
401
- internalType: "int256",
402
- name: "percentProfit",
403
- type: "int256",
404
- },
405
- {
406
- indexed: false,
407
- internalType: "uint256",
408
- name: "daiSentToTrader",
409
- type: "uint256",
410
- },
411
- ],
412
- name: "MarketExecuted",
413
- type: "event",
414
- },
415
- {
416
- anonymous: false,
417
- inputs: [
418
- {
419
- indexed: true,
420
- internalType: "uint256",
421
- name: "orderId",
422
- type: "uint256",
423
- },
424
- {
425
- indexed: true,
426
- internalType: "address",
427
- name: "trader",
428
- type: "address",
429
- },
430
- {
431
- indexed: true,
432
- internalType: "uint256",
433
- name: "pairIndex",
434
- type: "uint256",
435
- },
436
- {
437
- indexed: false,
438
- internalType: "enum GNSTradingCallbacksV6_4.CancelReason",
439
- name: "cancelReason",
440
- type: "uint8",
441
- },
442
- ],
443
- name: "MarketOpenCanceled",
444
- type: "event",
445
- },
446
- {
447
- anonymous: false,
448
- inputs: [
449
- {
450
- indexed: true,
451
- internalType: "address",
452
- name: "trader",
453
- type: "address",
454
- },
455
- {
456
- indexed: false,
457
- internalType: "uint256",
458
- name: "valueDai",
459
- type: "uint256",
460
- },
461
- ],
462
- name: "NftBotFeeCharged",
463
- type: "event",
464
- },
465
- {
466
- anonymous: false,
467
- inputs: [
468
- {
469
- indexed: true,
470
- internalType: "uint256",
471
- name: "orderId",
472
- type: "uint256",
473
- },
474
- {
475
- indexed: true,
476
- internalType: "address",
477
- name: "nftHolder",
478
- type: "address",
479
- },
480
- {
481
- indexed: false,
482
- internalType: "enum StorageInterfaceV5.LimitOrder",
483
- name: "orderType",
484
- type: "uint8",
485
- },
486
- {
487
- indexed: false,
488
- internalType: "enum GNSTradingCallbacksV6_4.CancelReason",
489
- name: "cancelReason",
490
- type: "uint8",
491
- },
492
- ],
493
- name: "NftOrderCanceled",
494
- type: "event",
495
- },
496
- {
497
- anonymous: false,
498
- inputs: [
499
- {
500
- indexed: true,
501
- internalType: "uint256",
502
- name: "pairIndex",
503
- type: "uint256",
504
- },
505
- {
506
- indexed: false,
507
- internalType: "uint256",
508
- name: "maxLeverage",
509
- type: "uint256",
510
- },
511
- ],
512
- name: "PairMaxLeverageUpdated",
513
- type: "event",
514
- },
515
- {
516
- anonymous: false,
517
- inputs: [
518
- {
519
- indexed: false,
520
- internalType: "bool",
521
- name: "paused",
522
- type: "bool",
523
- },
524
- ],
525
- name: "Pause",
526
- type: "event",
527
- },
528
- {
529
- anonymous: false,
530
- inputs: [
531
- {
532
- indexed: true,
533
- internalType: "address",
534
- name: "trader",
535
- type: "address",
536
- },
537
- {
538
- indexed: false,
539
- internalType: "uint256",
540
- name: "valueDai",
541
- type: "uint256",
542
- },
543
- ],
544
- name: "ReferralFeeCharged",
545
- type: "event",
546
- },
547
- {
548
- anonymous: false,
549
- inputs: [
550
- {
551
- indexed: true,
552
- internalType: "address",
553
- name: "trader",
554
- type: "address",
555
- },
556
- {
557
- indexed: false,
558
- internalType: "uint256",
559
- name: "valueDai",
560
- type: "uint256",
561
- },
562
- ],
563
- name: "SssFeeCharged",
564
- type: "event",
565
- },
566
- {
567
- inputs: [],
568
- name: "borrowingFees",
569
- outputs: [
570
- {
571
- internalType: "contract GNSBorrowingFeesInterfaceV6_4",
572
- name: "",
573
- type: "address",
574
- },
575
- ],
576
- stateMutability: "view",
577
- type: "function",
578
- },
579
- {
580
- inputs: [],
581
- name: "canExecuteTimeout",
582
- outputs: [
583
- {
584
- internalType: "uint256",
585
- name: "",
586
- type: "uint256",
587
- },
588
- ],
589
- stateMutability: "view",
590
- type: "function",
591
- },
592
- {
593
- inputs: [
594
- {
595
- components: [
596
- {
597
- internalType: "uint256",
598
- name: "orderId",
599
- type: "uint256",
600
- },
601
- {
602
- internalType: "uint256",
603
- name: "price",
604
- type: "uint256",
605
- },
606
- {
607
- internalType: "uint256",
608
- name: "spreadP",
609
- type: "uint256",
610
- },
611
- {
612
- internalType: "uint64",
613
- name: "open",
614
- type: "uint64",
615
- },
616
- {
617
- internalType: "uint64",
618
- name: "high",
619
- type: "uint64",
620
- },
621
- {
622
- internalType: "uint64",
623
- name: "low",
624
- type: "uint64",
625
- },
626
- ],
627
- internalType: "struct GNSTradingCallbacksV6_4.AggregatorAnswer",
628
- name: "a",
629
- type: "tuple",
630
- },
631
- ],
632
- name: "closeTradeMarketCallback",
633
- outputs: [],
634
- stateMutability: "nonpayable",
635
- type: "function",
636
- },
637
- {
638
- inputs: [],
639
- name: "daiVaultFeeP",
640
- outputs: [
641
- {
642
- internalType: "uint256",
643
- name: "",
644
- type: "uint256",
645
- },
646
- ],
647
- stateMutability: "view",
648
- type: "function",
649
- },
650
- {
651
- inputs: [],
652
- name: "done",
653
- outputs: [],
654
- stateMutability: "nonpayable",
655
- type: "function",
656
- },
657
- {
658
- inputs: [
659
- {
660
- components: [
661
- {
662
- internalType: "uint256",
663
- name: "orderId",
664
- type: "uint256",
665
- },
666
- {
667
- internalType: "uint256",
668
- name: "price",
669
- type: "uint256",
670
- },
671
- {
672
- internalType: "uint256",
673
- name: "spreadP",
674
- type: "uint256",
675
- },
676
- {
677
- internalType: "uint64",
678
- name: "open",
679
- type: "uint64",
680
- },
681
- {
682
- internalType: "uint64",
683
- name: "high",
684
- type: "uint64",
685
- },
686
- {
687
- internalType: "uint64",
688
- name: "low",
689
- type: "uint64",
690
- },
691
- ],
692
- internalType: "struct GNSTradingCallbacksV6_4.AggregatorAnswer",
693
- name: "a",
694
- type: "tuple",
695
- },
696
- ],
697
- name: "executeNftCloseOrderCallback",
698
- outputs: [],
699
- stateMutability: "nonpayable",
700
- type: "function",
701
- },
702
- {
703
- inputs: [
704
- {
705
- components: [
706
- {
707
- internalType: "uint256",
708
- name: "orderId",
709
- type: "uint256",
710
- },
711
- {
712
- internalType: "uint256",
713
- name: "price",
714
- type: "uint256",
715
- },
716
- {
717
- internalType: "uint256",
718
- name: "spreadP",
719
- type: "uint256",
720
- },
721
- {
722
- internalType: "uint64",
723
- name: "open",
724
- type: "uint64",
725
- },
726
- {
727
- internalType: "uint64",
728
- name: "high",
729
- type: "uint64",
730
- },
731
- {
732
- internalType: "uint64",
733
- name: "low",
734
- type: "uint64",
735
- },
736
- ],
737
- internalType: "struct GNSTradingCallbacksV6_4.AggregatorAnswer",
738
- name: "a",
739
- type: "tuple",
740
- },
741
- ],
742
- name: "executeNftOpenOrderCallback",
743
- outputs: [],
744
- stateMutability: "nonpayable",
745
- type: "function",
746
- },
747
- {
748
- inputs: [],
749
- name: "getAllPairsMaxLeverage",
750
- outputs: [
751
- {
752
- internalType: "uint256[]",
753
- name: "",
754
- type: "uint256[]",
755
- },
756
- ],
757
- stateMutability: "view",
758
- type: "function",
759
- },
760
- {
761
- inputs: [
762
- {
763
- internalType: "contract StorageInterfaceV5",
764
- name: "_storageT",
765
- type: "address",
766
- },
767
- {
768
- internalType: "contract NftRewardsInterfaceV6_3_1",
769
- name: "_nftRewards",
770
- type: "address",
771
- },
772
- {
773
- internalType: "contract GNSPairInfosInterfaceV6",
774
- name: "_pairInfos",
775
- type: "address",
776
- },
777
- {
778
- internalType: "contract GNSReferralsInterfaceV6_2",
779
- name: "_referrals",
780
- type: "address",
781
- },
782
- {
783
- internalType: "contract GNSStakingInterfaceV6_2",
784
- name: "_staking",
785
- type: "address",
786
- },
787
- {
788
- internalType: "address",
789
- name: "vaultToApprove",
790
- type: "address",
791
- },
792
- {
793
- internalType: "uint256",
794
- name: "_daiVaultFeeP",
795
- type: "uint256",
796
- },
797
- {
798
- internalType: "uint256",
799
- name: "_lpFeeP",
800
- type: "uint256",
801
- },
802
- {
803
- internalType: "uint256",
804
- name: "_sssFeeP",
805
- type: "uint256",
806
- },
807
- {
808
- internalType: "uint256",
809
- name: "_canExecuteTimeout",
810
- type: "uint256",
811
- },
812
- ],
813
- name: "initialize",
814
- outputs: [],
815
- stateMutability: "nonpayable",
816
- type: "function",
817
- },
818
- {
819
- inputs: [
820
- {
821
- internalType: "contract GNSBorrowingFeesInterfaceV6_4",
822
- name: "_borrowingFees",
823
- type: "address",
824
- },
825
- ],
826
- name: "initializeV2",
827
- outputs: [],
828
- stateMutability: "nonpayable",
829
- type: "function",
830
- },
831
- {
832
- inputs: [],
833
- name: "isDone",
834
- outputs: [
835
- {
836
- internalType: "bool",
837
- name: "",
838
- type: "bool",
839
- },
840
- ],
841
- stateMutability: "view",
842
- type: "function",
843
- },
844
- {
845
- inputs: [],
846
- name: "isPaused",
847
- outputs: [
848
- {
849
- internalType: "bool",
850
- name: "",
851
- type: "bool",
852
- },
853
- ],
854
- stateMutability: "view",
855
- type: "function",
856
- },
857
- {
858
- inputs: [],
859
- name: "lpFeeP",
860
- outputs: [
861
- {
862
- internalType: "uint256",
863
- name: "",
864
- type: "uint256",
865
- },
866
- ],
867
- stateMutability: "view",
868
- type: "function",
869
- },
870
- {
871
- inputs: [],
872
- name: "nftRewards",
873
- outputs: [
874
- {
875
- internalType: "contract NftRewardsInterfaceV6_3_1",
876
- name: "",
877
- type: "address",
878
- },
879
- ],
880
- stateMutability: "view",
881
- type: "function",
882
- },
883
- {
884
- inputs: [
885
- {
886
- components: [
887
- {
888
- internalType: "uint256",
889
- name: "orderId",
890
- type: "uint256",
891
- },
892
- {
893
- internalType: "uint256",
894
- name: "price",
895
- type: "uint256",
896
- },
897
- {
898
- internalType: "uint256",
899
- name: "spreadP",
900
- type: "uint256",
901
- },
902
- {
903
- internalType: "uint64",
904
- name: "open",
905
- type: "uint64",
906
- },
907
- {
908
- internalType: "uint64",
909
- name: "high",
910
- type: "uint64",
911
- },
912
- {
913
- internalType: "uint64",
914
- name: "low",
915
- type: "uint64",
916
- },
917
- ],
918
- internalType: "struct GNSTradingCallbacksV6_4.AggregatorAnswer",
919
- name: "a",
920
- type: "tuple",
921
- },
922
- ],
923
- name: "openTradeMarketCallback",
924
- outputs: [],
925
- stateMutability: "nonpayable",
926
- type: "function",
927
- },
928
- {
929
- inputs: [],
930
- name: "pairInfos",
931
- outputs: [
932
- {
933
- internalType: "contract GNSPairInfosInterfaceV6",
934
- name: "",
935
- type: "address",
936
- },
937
- ],
938
- stateMutability: "view",
939
- type: "function",
940
- },
941
- {
942
- inputs: [
943
- {
944
- internalType: "uint256",
945
- name: "",
946
- type: "uint256",
947
- },
948
- ],
949
- name: "pairMaxLeverage",
950
- outputs: [
951
- {
952
- internalType: "uint256",
953
- name: "",
954
- type: "uint256",
955
- },
956
- ],
957
- stateMutability: "view",
958
- type: "function",
959
- },
960
- {
961
- inputs: [],
962
- name: "pause",
963
- outputs: [],
964
- stateMutability: "nonpayable",
965
- type: "function",
966
- },
967
- {
968
- inputs: [],
969
- name: "referrals",
970
- outputs: [
971
- {
972
- internalType: "contract GNSReferralsInterfaceV6_2",
973
- name: "",
974
- type: "address",
975
- },
976
- ],
977
- stateMutability: "view",
978
- type: "function",
979
- },
980
- {
981
- inputs: [
982
- {
983
- internalType: "uint256",
984
- name: "_canExecuteTimeout",
985
- type: "uint256",
986
- },
987
- ],
988
- name: "setCanExecuteTimeout",
989
- outputs: [],
990
- stateMutability: "nonpayable",
991
- type: "function",
992
- },
993
- {
994
- inputs: [
995
- {
996
- internalType: "uint256",
997
- name: "_daiVaultFeeP",
998
- type: "uint256",
999
- },
1000
- {
1001
- internalType: "uint256",
1002
- name: "_lpFeeP",
1003
- type: "uint256",
1004
- },
1005
- {
1006
- internalType: "uint256",
1007
- name: "_sssFeeP",
1008
- type: "uint256",
1009
- },
1010
- ],
1011
- name: "setClosingFeeSharesP",
1012
- outputs: [],
1013
- stateMutability: "nonpayable",
1014
- type: "function",
1015
- },
1016
- {
1017
- inputs: [
1018
- {
1019
- internalType: "uint256",
1020
- name: "pairIndex",
1021
- type: "uint256",
1022
- },
1023
- {
1024
- internalType: "uint256",
1025
- name: "maxLeverage",
1026
- type: "uint256",
1027
- },
1028
- ],
1029
- name: "setPairMaxLeverage",
1030
- outputs: [],
1031
- stateMutability: "nonpayable",
1032
- type: "function",
1033
- },
1034
- {
1035
- inputs: [
1036
- {
1037
- internalType: "uint256[]",
1038
- name: "indices",
1039
- type: "uint256[]",
1040
- },
1041
- {
1042
- internalType: "uint256[]",
1043
- name: "values",
1044
- type: "uint256[]",
1045
- },
1046
- ],
1047
- name: "setPairMaxLeverageArray",
1048
- outputs: [],
1049
- stateMutability: "nonpayable",
1050
- type: "function",
1051
- },
1052
- {
1053
- inputs: [
1054
- {
1055
- components: [
1056
- {
1057
- internalType: "address",
1058
- name: "trader",
1059
- type: "address",
1060
- },
1061
- {
1062
- internalType: "uint256",
1063
- name: "pairIndex",
1064
- type: "uint256",
1065
- },
1066
- {
1067
- internalType: "uint256",
1068
- name: "index",
1069
- type: "uint256",
1070
- },
1071
- {
1072
- internalType: "enum GNSTradingCallbacksV6_4.TradeType",
1073
- name: "tradeType",
1074
- type: "uint8",
1075
- },
1076
- ],
1077
- internalType: "struct GNSTradingCallbacksV6_4.SimplifiedTradeId",
1078
- name: "_id",
1079
- type: "tuple",
1080
- },
1081
- {
1082
- components: [
1083
- {
1084
- internalType: "uint40",
1085
- name: "maxSlippageP",
1086
- type: "uint40",
1087
- },
1088
- {
1089
- internalType: "uint216",
1090
- name: "_placeholder",
1091
- type: "uint216",
1092
- },
1093
- ],
1094
- internalType: "struct GNSTradingCallbacksV6_4.TradeData",
1095
- name: "_tradeData",
1096
- type: "tuple",
1097
- },
1098
- ],
1099
- name: "setTradeData",
1100
- outputs: [],
1101
- stateMutability: "nonpayable",
1102
- type: "function",
1103
- },
1104
- {
1105
- inputs: [
1106
- {
1107
- components: [
1108
- {
1109
- internalType: "address",
1110
- name: "trader",
1111
- type: "address",
1112
- },
1113
- {
1114
- internalType: "uint256",
1115
- name: "pairIndex",
1116
- type: "uint256",
1117
- },
1118
- {
1119
- internalType: "uint256",
1120
- name: "index",
1121
- type: "uint256",
1122
- },
1123
- {
1124
- internalType: "enum GNSTradingCallbacksV6_4.TradeType",
1125
- name: "tradeType",
1126
- type: "uint8",
1127
- },
1128
- ],
1129
- internalType: "struct GNSTradingCallbacksV6_4.SimplifiedTradeId",
1130
- name: "_id",
1131
- type: "tuple",
1132
- },
1133
- {
1134
- components: [
1135
- {
1136
- internalType: "uint32",
1137
- name: "tp",
1138
- type: "uint32",
1139
- },
1140
- {
1141
- internalType: "uint32",
1142
- name: "sl",
1143
- type: "uint32",
1144
- },
1145
- {
1146
- internalType: "uint32",
1147
- name: "limit",
1148
- type: "uint32",
1149
- },
1150
- {
1151
- internalType: "uint32",
1152
- name: "created",
1153
- type: "uint32",
1154
- },
1155
- ],
1156
- internalType: "struct GNSTradingCallbacksV6_4.LastUpdated",
1157
- name: "_lastUpdated",
1158
- type: "tuple",
1159
- },
1160
- ],
1161
- name: "setTradeLastUpdated",
1162
- outputs: [],
1163
- stateMutability: "nonpayable",
1164
- type: "function",
1165
- },
1166
- {
1167
- inputs: [],
1168
- name: "sssFeeP",
1169
- outputs: [
1170
- {
1171
- internalType: "uint256",
1172
- name: "",
1173
- type: "uint256",
1174
- },
1175
- ],
1176
- stateMutability: "view",
1177
- type: "function",
1178
- },
1179
- {
1180
- inputs: [],
1181
- name: "staking",
1182
- outputs: [
1183
- {
1184
- internalType: "contract GNSStakingInterfaceV6_2",
1185
- name: "",
1186
- type: "address",
1187
- },
1188
- ],
1189
- stateMutability: "view",
1190
- type: "function",
1191
- },
1192
- {
1193
- inputs: [],
1194
- name: "storageT",
1195
- outputs: [
1196
- {
1197
- internalType: "contract StorageInterfaceV5",
1198
- name: "",
1199
- type: "address",
1200
- },
1201
- ],
1202
- stateMutability: "view",
1203
- type: "function",
1204
- },
1205
- {
1206
- inputs: [
1207
- {
1208
- internalType: "address",
1209
- name: "",
1210
- type: "address",
1211
- },
1212
- {
1213
- internalType: "uint256",
1214
- name: "",
1215
- type: "uint256",
1216
- },
1217
- {
1218
- internalType: "uint256",
1219
- name: "",
1220
- type: "uint256",
1221
- },
1222
- {
1223
- internalType: "enum GNSTradingCallbacksV6_4.TradeType",
1224
- name: "",
1225
- type: "uint8",
1226
- },
1227
- ],
1228
- name: "tradeData",
1229
- outputs: [
1230
- {
1231
- internalType: "uint40",
1232
- name: "maxSlippageP",
1233
- type: "uint40",
1234
- },
1235
- {
1236
- internalType: "uint216",
1237
- name: "_placeholder",
1238
- type: "uint216",
1239
- },
1240
- ],
1241
- stateMutability: "view",
1242
- type: "function",
1243
- },
1244
- {
1245
- inputs: [
1246
- {
1247
- internalType: "address",
1248
- name: "",
1249
- type: "address",
1250
- },
1251
- {
1252
- internalType: "uint256",
1253
- name: "",
1254
- type: "uint256",
1255
- },
1256
- {
1257
- internalType: "uint256",
1258
- name: "",
1259
- type: "uint256",
1260
- },
1261
- {
1262
- internalType: "enum GNSTradingCallbacksV6_4.TradeType",
1263
- name: "",
1264
- type: "uint8",
1265
- },
1266
- ],
1267
- name: "tradeLastUpdated",
1268
- outputs: [
1269
- {
1270
- internalType: "uint32",
1271
- name: "tp",
1272
- type: "uint32",
1273
- },
1274
- {
1275
- internalType: "uint32",
1276
- name: "sl",
1277
- type: "uint32",
1278
- },
1279
- {
1280
- internalType: "uint32",
1281
- name: "limit",
1282
- type: "uint32",
1283
- },
1284
- {
1285
- internalType: "uint32",
1286
- name: "created",
1287
- type: "uint32",
1288
- },
1289
- ],
1290
- stateMutability: "view",
1291
- type: "function",
1292
- },
1293
- ];
1294
- const _bytecode = "0x608060405234801561001057600080fd5b50615aa680620000216000396000f3fe608060405234801561001057600080fd5b50600436106101995760003560e01c80637e09ae8a116100e4578063a38ea9a811610092578063a38ea9a814610454578063ae8421e11461045d578063b187bd2614610465578063b3f2f4d614610472578063b9340a2214610485578063c68078b914610498578063c68365df146104ab578063d3dc7539146104b457600080fd5b80637e09ae8a1461034e578063803a4392146103615780638456cb59146103745780638f0622271461037c578063930dde0f1461039e5780639b267453146103b15780639bd24d83146103c457600080fd5b80633986de6a1161014c5780633986de6a1461026557806346f93a631461027857806348829122146102f05780634cf088d914610303578063531cc965146103165780635ad9f99314610329578063676c51641461033c5780637bb6c11c1461034557600080fd5b8062e0fa891461019e5780631346b0ff146101b357806316fff074146101e357806321c86196146101fc578063281b693c1461020f57806329b6eca91461023d57806337edb13814610250575b600080fd5b6101b16101ac366004614d85565b6104c7565b005b6002546101c6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6000546101c6906201000090046001600160a01b031681565b6101b161020a366004614eb6565b610545565b61022f61021d366004614f60565b600c6020526000908152604090205481565b6040519081526020016101da565b6101b161024b366004614f8e565b610600565b6102586106e2565b6040516101da9190614fab565b6101b1610273366004614fef565b6107df565b6102cb6102863660046150ad565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205464ffffffffff811690600160281b90046001600160d81b031682565b6040805164ffffffffff90931683526001600160d81b039091166020830152016101da565b6101b16102fe3660046150f5565b610b2d565b6004546101c6906001600160a01b031681565b600b546101c6906001600160a01b031681565b6001546101c6906001600160a01b031681565b61022f60095481565b61022f60075481565b6101b161035c36600461512b565b610b43565b6101b161036f3660046151f5565b610c4c565b6101b161181a565b60085461038e90610100900460ff1681565b60405190151581526020016101da565b6101b16103ac3660046151f5565b611870565b6101b16103bf3660046151f5565b611bac565b6104246103d23660046150ad565b600a60209081526000948552604080862082529385528385208152918452828420909152825290205463ffffffff808216916401000000008104821691600160401b8204811691600160601b90041684565b6040805163ffffffff958616815293851660208501529184169183019190915290911660608201526080016101da565b61022f60055481565b6101b16122cc565b60085461038e9060ff1681565b6101b1610480366004614f60565b61232c565b6101b16104933660046151f5565b612391565b6101b16104a6366004615261565b612b53565b61022f60065481565b6003546101c6906001600160a01b031681565b6104cf612be5565b828181146104f057604051635863f78960e01b815260040160405180910390fd5b60005b8181101561053d576105358686838181106105105761051061528d565b905060200201358585848181106105295761052961528d565b90506020020135612c8f565b6001016104f3565b505050505050565b61054d612ce0565b80600d600061055f6020860186614f8e565b6001600160a01b031681526020808201929092526040908101600090812086840135825283528181208683013582529092528120906105a460808601606087016152a3565b60018111156105b5576105b56152be565b60018111156105c6576105c66152be565b8152602080820192909252604001600020825192909101516001600160d81b0316600160281b0264ffffffffff9092169190911790555050565b600054600290610100900460ff16158015610622575060005460ff8083169116105b6106475760405162461bcd60e51b815260040161063e906152d4565b60405180910390fd5b6000805461ffff191660ff8316176101001790556001600160a01b03821661068257604051635863f78960e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b606060006106ee612d33565b6001600160a01b031663b81b2b716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190615322565b90506000816001600160401b0381111561076b5761076b614e08565b604051908082528060200260200182016040528015610794578160200160208202803683370190505b50905060005b828110156107d8576000818152600c602052604090205482518390839081106107c5576107c561528d565b602090810291909101015260010161079a565b5092915050565b600054610100900460ff16158080156107ff5750600054600160ff909116105b806108195750303b158015610819575060005460ff166001145b6108355760405162461bcd60e51b815260040161063e906152d4565b6000805460ff191660011790558015610858576000805461ff0019166101001790555b6001600160a01b038b16158061087557506001600160a01b038a16155b8061088757506001600160a01b038916155b8061089957506001600160a01b038816155b806108ab57506001600160a01b038716155b806108bd57506001600160a01b038616155b806108dd5750826108ce8587615351565b6108d89190615351565b606414155b806108e85750600582115b1561090657604051635863f78960e01b815260040160405180910390fd5b600080546001600160a01b03808e166201000090810262010000600160b01b031990931692909217808455600180548f84166001600160a01b031991821617909155600280548f8516908316179055600380548e8516908316179055600480548d8516921691909117815560058a90556006899055600788905560098790556040805163f4b9fa7560e01b81529051949092049092169263f4b9fa75928281019260209291908290030181865afa1580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190615364565b6004805460405163095ea7b360e01b81529293506001600160a01b038085169363095ea7b393610a2193909216916000199101615381565b6020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6491906153aa565b5060405163095ea7b360e01b81526001600160a01b0382169063095ea7b390610a95908a9060001990600401615381565b6020604051808303816000875af1158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad891906153aa565b50508015610b20576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050505050565b610b35612be5565b610b3f8282612c8f565b5050565b610b4b612ce0565b80600a6000610b5d6020860186614f8e565b6001600160a01b03168152602080820192909252604090810160009081208684013582528352818120868301358252909252812090610ba260808601606087016152a3565b6001811115610bb357610bb36152be565b6001811115610bc457610bc46152be565b8152602080820192909252604090810160002083518154938501519285015160609095015163ffffffff908116600160601b0263ffffffff60601b19968216600160401b029690961667ffffffffffffffff60401b199482166401000000000267ffffffffffffffff1990961691909216179390931791909116919091179190911790555050565b610c54612e11565b610c5c612e64565b6060810151608082015160a08301516000805485516040516399794d3560e01b815260048101919091526001600160401b03958616959485169490931692620100009091046001600160a01b0316906399794d359060240160c060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf591906153d0565b90506000604051806080016040528083604001516001600160a01b0316815260200183606001518152602001836080015181526020018360a001516003811115610d4157610d416152be565b81525090506000610d5f836040015184606001518560800151612e8d565b905060008060029054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd99190615364565b905060008715610dfb5760e083015115610df4576000610dfe565b6009610dfe565b60025b9050600081600b811115610e1457610e146152be565b036116e0576000610e32846000015185602001518660400151612f1a565b90506000836001600160a01b03166335b03c176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e989190615364565b9050610ea2614c44565b6402540be4008660e0015184602001518860600151610ec1919061543c565b610ecb919061543c565b610ed59190615469565b6020820181905260e0870151610eea91615469565b815260028860a001516003811115610f0457610f046152be565b0361101e57600b546040805160e0808201835289516001600160a01b0390811683526020808c0151908401528a8401518385015260a0808c0151606085015260c0808d015115156080860152875191850191909152918b0151918301919091529151633837d79d60e11b8152919092169163706faf3a91610fd7919060040181516001600160a01b0316815260208083015190820152604080830151908201526060808301519082015260808083015115159082015260a0828101519082015260c0918201519181019190915260e00190565b602060405180830381865afa158015610ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110189190615322565b60a08201525b60008860a001516003811115611036576110366152be565b1461106d5760018860a001516003811115611053576110536152be565b14611062578060a00151611074565b856101200151611074565b8561010001515b608082018190521580159061108d575080608001518911155b801561109d575080608001518a10155b15801561014083015261118e5760028860a0015160038111156110c2576110c26152be565b1461116a576402540be4006064836001600160a01b0316639c8dd2fa89602001516040518263ffffffff1660e01b815260040161110191815260200190565b602060405180830381865afa15801561111e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111429190615322565b8360200151611151919061543c565b61115b9190615469565b6111659190615469565b611184565b805160649061117a90600561543c565b6111849190615469565b60e0820152611354565b608081018b905260028860a0015160038111156111ad576111ad6152be565b1461130a5760008860a0015160038111156111ca576111ca6152be565b1480156111dc57506000866101000151115b801561120457508560c001516111fa578561010001518b1115611204565b8561010001518b10155b8061125c575060018860a001516003811115611222576112226152be565b14801561123457506000866101200151115b801561125c57508560c00151611252578561012001518b101561125c565b8561012001518b11155b61126757600061134e565b6402540be4006064836001600160a01b0316639c8dd2fa89602001516040518263ffffffff1660e01b81526004016112a191815260200190565b602060405180830381865afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190615322565b83602001516112f1919061543c565b6112fb9190615469565b6113059190615469565b61134e565b8560c00151611320578060a001518b1015611329565b8060a001518b11155b61133457600061134e565b805160649061134490600561543c565b61134e9190615469565b60e08201525b60e081015115611365576000611368565b600b5b9350600084600b81111561137e5761137e6152be565b036116dc5761139f8660a0015182608001518860c001518960e00151612fcf565b816060018181525050846001600160a01b0316633c88e8826040518163ffffffff1660e01b81526004016020604051808303816000875af11580156113e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140c9190615322565b81604001818152505061150b8660008360600151846000015187604001516002600381111561143d5761143d6152be565b8e60a001516003811115611453576114536152be565b146114fb576402540be4006064896001600160a01b031663836a341a8f602001516040518263ffffffff1660e01b815260040161149291815260200190565b602060405180830381865afa1580156114af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d39190615322565b89602001516114e2919061543c565b6114ec9190615469565b6114f69190615469565b611501565b8660e001515b8760e0015161304f565b60c0820152604081015160e082015161152a906402540be4009061543c565b6115349190615469565b61010082018190526001546040808401519051630891674d60e31b81526001600160a01b039092169263448b3a6892611572928c92916004016154c8565b600060405180830381600087803b15801561158c57600080fd5b505af11580156115a0573d6000803e3d6000fd5b505060005460208b01516101008501516040516339caebcf60e11b815260048101929092526024820152620100009091046001600160a01b03169250637395d79e9150604401600060405180830381600087803b15801561160057600080fd5b505af1158015611614573d6000803e3d6000fd5b5050505085600001516001600160a01b03167fcada75418f444febbe725c87360b063440c54e00e82d578010de1ed009d756c58260e0015160405161165b91815260200190565b60405180910390a287600001516001600160a01b03168c600001517f1ab0771256522e5114b583b488c490436d6f8fe02b1e1c9697443e8704c4e8408a60800151898c60a0015186608001516000886000015189606001518a60c001518b61014001516040516116d39998979695949392919061555b565b60405180910390a35b5050505b600081600b8111156116f4576116f46152be565b14611747578451895160a08701516040516001600160a01b03909316927fe9681b5336d843735c62e93114e5a0f45912a84ae83fa3f3ed80ca5ad933dfc39161173e9186906155c8565b60405180910390a35b60015460405163bf654d2b60e01b81526001600160a01b039091169063bf654d2b906117779087906004016155e3565b600060405180830381600087803b15801561179157600080fd5b505af11580156117a5573d6000803e3d6000fd5b50506000548b5160405163201d8bdb60e01b81526004810191909152620100009091046001600160a01b0316925063201d8bdb9150602401600060405180830381600087803b1580156117f757600080fd5b505af115801561180b573d6000803e3d6000fd5b50505050505050505050505050565b6118226134ec565b6008805460ff8082161560ff1990921682179092556040519116151581527f9422424b175dda897495a07b091ef74a3ef715cf6d866fc972954c1c7f459304906020015b60405180910390a1565b611878612e11565b611880612e64565b600061188f826000015161353f565b905080602001516000036118a1575050565b600081600001519050600080600061193d60405180610180016040528088602001518152602001876040015181526020018860200151815260200188604001518152602001876080015181526020018660c001511515815260200186602001518152602001866080015181526020018660e0015181526020018760600151815260200186610100015181526020018661012001518152506135c0565b60a0870182905291945092509050600081600b81111561195f5761195f6152be565b036119ed57600080611975866105dc60006138a5565b9150915087600001517f2739a12dffae5d66bd9e126a286078ed771840f2288f0afa5709ce38c33309978360018560a00151896402540be4008789606001516119be919061543c565b6119c89190615469565b6000806040516119de97969594939291906155f1565b60405180910390a25050611b35565b60008060029054906101000a90046001600160a01b03166001600160a01b031663cfbacc1486602001518760e001518860800151611a2b919061543c565b6001806040518563ffffffff1660e01b8152600401611a4d9493929190615636565b6020604051808303816000875af1158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a909190615322565b9050611aaf8560000151828760800151611aaa9190615655565b6143f9565b84600001516001600160a01b0316600080516020615a5183398151915282604051611adc91815260200190565b60405180910390a2846020015185600001516001600160a01b031688600001517f1dc3532663e5566091476fb5aba1e514ef733714c83d4feec5723de6f16c326985604051611b2b9190615668565b60405180910390a4505b6000548651604051630195728b60e71b8152600481019190915260016024820152620100009091046001600160a01b03169063cab94580906044015b600060405180830381600087803b158015611b8b57600080fd5b505af1158015611b9f573d6000803e3d6000fd5b5050505050505050505b50565b611bb4612e11565b611bbc612e64565b6060810151608082015160a08301516000805485516040516399794d3560e01b815260048101919091526001600160401b03958616959485169490931692620100009091046001600160a01b0316906399794d359060240160c060405180830381865afa158015611c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5591906153d0565b60008054604083810151606085015160808601519251636e6f99cd60e11b81529596509394620100009093046001600160a01b03169363dcdf339a93611c9e9390600401615676565b602060405180830381865afa158015611cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdf91906153aa565b15611ceb576000611cee565b60095b9050600081600b811115611d0457611d046152be565b0361216f5760008054604084810151606086015160808701519251632e21e28b60e21b8152620100009094046001600160a01b03169363b8878a2c93611d4e939291600401615676565b6101a060405180830381865afa158015611d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d909190615697565b600154604080860151606087015160808801519251636a6f32f560e11b81529495506000946001600160a01b039094169363d4de65ea93611dd5939291600401615676565b602060405180830381865afa158015611df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e16919061574a565b90506000806000611f35604051806101800160405280876101400151815260200187610140015181526020018c81526020018d604001518152602001876080015181526020018760a001511515815260200187602001518152602001876060015181526020018760c001518152602001600d600089600001516001600160a01b03166001600160a01b031681526020019081526020016000206000896020015181526020019081526020016000206000896040015181526020019081526020016000206000600180811115611eed57611eed6152be565b6001811115611efe57611efe6152be565b815260208082019290925260409081016000205464ffffffffff16835260e08a0151918301919091526101008901519101526135c0565b92509250925060008561014001518a10158015611f5757508561014001518911155b905080158015611fbd57506002856002811115611f7657611f766152be565b14611f9e578560a00151611f91578561014001518b10611fbd565b8561014001518b11611fbd565b8560a00151611fb4578561014001518b11611fbd565b8561014001518b105b611fc75781611fca565b600b5b9650600087600b811115611fe057611fe06152be565b036121685760008061206a6040518061014001604052808a600001516001600160a01b031681526020018a60200151815260200160008152602001600081526020018a6060015181526020018781526020018a60a00151151581526020018a60c0015181526020018a60e0015181526020018a61010001518152508b602001518c608001516138a5565b6000548a5160208c01516040808e0151905163b4b0f56760e01b8152959750939550620100009092046001600160a01b03169363b4b0f567936120b09391600401615676565b600060405180830381600087803b1580156120ca57600080fd5b505af11580156120de573d6000803e3d6000fd5b5050505089600001516001600160a01b03168e600001517f1ab0771256522e5114b583b488c490436d6f8fe02b1e1c9697443e8704c4e8408c608001518560038760a001518c6402540be400898b6060015161213a919061543c565b6121449190615469565b6000808d60405161215d9998979695949392919061555b565b60405180910390a350505b5050505050505b600081600b811115612183576121836152be565b146121d65781600001516001600160a01b031686600001517fe9681b5336d843735c62e93114e5a0f45912a84ae83fa3f3ed80ca5ad933dfc36003846040516121cd9291906155c8565b60405180910390a35b600160009054906101000a90046001600160a01b03166001600160a01b031663bf654d2b604051806080016040528085604001516001600160a01b0316815260200185606001518152602001856080015181526020018560a001516003811115612242576122426152be565b8152506040518263ffffffff1660e01b815260040161226191906155e3565b600060405180830381600087803b15801561227b57600080fd5b505af115801561228f573d6000803e3d6000fd5b5050600054885160405163201d8bdb60e01b81526004810191909152620100009091046001600160a01b0316925063201d8bdb9150602401611b71565b6122d46134ec565b6008805460ff610100808304821615810261ff001990931692909217928390556040517fc3a6f986261de9467c2838c6df8ef74f9107855159205600c0bc7a14cdfd3888936118669390049091161515815260200190565b6123346134ec565b600581111561235657604051635863f78960e01b815260040160405180910390fd5b60098190556040518181527fa57398db99aea3c2cd0d30f5b4e8f597539206c95b9c5b73e84962d8b565bbeb9060200160405180910390a150565b612399612e11565b6123a1612e64565b60006123b0826000015161353f565b905080602001516000036123c2575050565b8051805160208201516040909201516000926123de9291612e8d565b905060008160e00151600014612406576020840151156123ff576000612409565b6002612409565b60095b9050600981600b81111561241f5761241f6152be565b14612a6c57600061243d836000015184602001518560400151612f1a565b905060008060029054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b79190615364565b90506124c1614c44565b6402540be4008560e00151846020015187606001516124e0919061543c565b6124ea919061543c565b6124f49190615469565b816020018181525050816001600160a01b0316633c88e8826040518163ffffffff1660e01b81526004016020604051808303816000875af115801561253d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125619190615322565b6040820152600084600b81111561257a5761257a6152be565b036128335761259b8560a0015188602001518760c001518860e00151612fcf565b606082015260e085015160208201516125b49190615469565b8160000181815250506127d58560018360600151846000015187604001516402540be4006064896001600160a01b03166335b03c176040518163ffffffff1660e01b8152600401602060405180830381865afa158015612618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263c9190615364565b6001600160a01b031663836a341a8e602001516040518263ffffffff1660e01b815260040161266d91815260200190565b602060405180830381865afa15801561268a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ae9190615322565b89602001516126bd919061543c565b6126c79190615469565b6126d19190615469565b6402540be40060648a6001600160a01b03166335b03c176040518163ffffffff1660e01b8152600401602060405180830381865afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b9190615364565b6001600160a01b0316639c8dd2fa8f602001516040518263ffffffff1660e01b815260040161276c91815260200190565b602060405180830381865afa158015612789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ad9190615322565b8a602001516127bc919061543c565b6127c69190615469565b6127d09190615469565b61304f565b60c08201819052875160208901518351606085015160405193947f2739a12dffae5d66bd9e126a286078ed771840f2288f0afa5709ce38c333099794612826948c94600094919385939192916155f1565b60405180910390a2612a68565b6000856080015111612905576040810151600054602087810151908401516402540be40093926201000090046001600160a01b03169163cfbacc1491849061287c90879061543c565b6128869190615469565b600060016040518563ffffffff1660e01b81526004016128a99493929190615636565b6020604051808303816000875af11580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ec9190615322565b6128f6919061543c565b6129009190615469565b61298c565b600054602086810151908301516040516333eeb30560e21b8152620100009093046001600160a01b03169263cfbacc14926129499290916001908190600401615636565b6020604051808303816000875af1158015612968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298c9190615322565b60e082018190526020840151906129a9906402540be4009061543c565b6129b39190615469565b856060018181516129c49190615655565b905250600054604051631a97b52160e31b8152620100009091046001600160a01b03169063d4bda908906129fc90889060040161576b565b600060405180830381600087803b158015612a1657600080fd5b505af1158015612a2a573d6000803e3d6000fd5b5050505084600001516001600160a01b0316600080516020615a518339815191528260e00151604051612a5f91815260200190565b60405180910390a25b5050505b600081600b811115612a8057612a806152be565b14612adf578251602081015181518651604093840151935192936001600160a01b039092169290917f293df767d6749666902026d2f6a2cc4e5f15cdede46402226c42ef4fdf27a17c91612ad69190879061577a565b60405180910390a45b600080548551604051630195728b60e71b8152600481019190915260248101929092526201000090046001600160a01b03169063cab9458090604401600060405180830381600087803b158015612b3557600080fd5b505af1158015612b49573d6000803e3d6000fd5b5050505050505050565b612b5b6134ec565b80612b668385615351565b612b709190615351565b606414612b9057604051635863f78960e01b815260040160405180910390fd5b60058390556006829055600781905560408051848152602081018490529081018290527f0caa98ed9a1605da290817d1f67b1b83c63f9229abeca5123df5d90581c495589060600160405180910390a1505050565b600260009054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5c9190615364565b6001600160a01b0316336001600160a01b031614612c8d57604051631dd2188d60e31b815260040160405180910390fd5b565b6000828152600c6020526040908190208290555182907f95924bc10431f9a625a06fe5a27d55f4348510b2da42a18fe3bf2a6f2c4eab6790612cd49084815260200190565b60405180910390a25050565b600060029054906101000a90046001600160a01b03166001600160a01b031663ec44acf26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c38573d6000803e3d6000fd5b60008060029054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dab9190615364565b6001600160a01b03166335b03c176040518163ffffffff1660e01b8152600401602060405180830381865afa158015612de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0c9190615364565b905090565b600060029054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c38573d6000803e3d6000fd5b600854610100900460ff1615612c8d57604051631dd2188d60e31b815260040160405180910390fd5b612e95614ca0565b6000546040516351d407ff60e11b8152620100009091046001600160a01b03169063a3a80ffe90612ece90879087908790600401615676565b61014060405180830381865afa158015612eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f109190615821565b90505b9392505050565b612f556040518060c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b600054604051638c8ff1d560e01b8152620100009091046001600160a01b031690638c8ff1d590612f8e90879087908790600401615676565b60c060405180830381865afa158015612fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f10919061583e565b600080612fe36402540be400610384615890565b905085836402540be4008661300157612ffc888a6158c0565b61300b565b61300b89896158c0565b613016906064615890565b6130209190615890565b61302a9190615890565b61303491906158e0565b91508082136130435781613045565b805b9695505050505050565b600080600060029054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130c99190615364565b90506130e08987896130db8789615351565b614468565b50600b548a5160208c01516040808e015160c08f0151915163ce67edfb60e01b81529597506001600160a01b039094169463ce67edfb9461312c94939290918c9160009160040161590e565b600060405180830381600087803b15801561314657600080fd5b505af115801561315a573d6000803e3d6000fd5b50505050613166612d33565b6001600160a01b03166320f0fc5e8a602001518b60e00151886131899190615469565b8c60c0015160006040518563ffffffff1660e01b81526004016131af9493929190615636565b600060405180830381600087803b1580156131c957600080fd5b505af11580156131dd573d6000803e3d6000fd5b50506000548b5160208d01516040808f015190516390d112b960e01b8152620100009094046001600160a01b031695506390d112b9945061322093600401615676565b600060405180830381600087803b15801561323a57600080fd5b505af115801561324e573d6000803e3d6000fd5b5050505060808901511561347a57613264614c44565b606460055486613274919061543c565b61327e9190615469565b61010082018190526132919030906143f9565b61010081015160405163940a4e4560e01b815260048101919091526001600160a01b0383169063940a4e4590602401600060405180830381600087803b1580156132da57600080fd5b505af11580156132ee573d6000803e3d6000fd5b5050505089600001516001600160a01b03167f60c73da98faf96842eabd77a0c73964cd189dbaf2c9ae90923a3fed137f30e3e82610100015160405161333691815260200190565b60405180910390a28861336257606460075486613353919061543c565b61335d9190615469565b613386565b606460075486613372919061543c565b61337c9190615469565b6133869085615351565b61012082018190528a516133999161458b565b6000816101000151826101200151896133b29190615655565b6133bc9190615655565b905080841115613453576001600160a01b03831663e66a6e3b6133df8387615655565b8d5160405160e084901b6001600160e01b031916815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b15801561342857600080fd5b505af115801561343c573d6000803e3d6000fd5b5050505061344e8b60000151826143f9565b613473565b6134676134608583615655565b8c5161462c565b8a5161347390856143f9565b50506134e0565b885160405163e66a6e3b60e01b8152600481018490526001600160a01b0391821660248201529082169063e66a6e3b90604401600060405180830381600087803b1580156134c757600080fd5b505af11580156134db573d6000803e3d6000fd5b505050505b50979650505050505050565b600060029054906101000a90046001600160a01b03166001600160a01b03166312d43a516040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c38573d6000803e3d6000fd5b613547614cfe565b60005460405163b66e6b0560e01b815260048101849052620100009091046001600160a01b03169063b66e6b05906024016101e060405180830381865afa158015613596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ba9190615945565b92915050565b60025481516060830151608084015160a0850151600094859485946001600160a01b0390921693637ea95f32936135f89391906146e4565b8660c001518760a001518861010001518960e00151613617919061543c565b6040516001600160e01b031960e087901b168152600481019490945260248401929092521515604483015260648201526084016040805180830381865afa158015613666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368a91906159d5565b61012086015191945092506000906136b257606485602001516136ad9190615469565b6136e3565b6402540be400606486610120015187602001516136cf919061543c565b6136d99190615469565b6136e39190615469565b60085490915060ff1661389957604085015115613892578460a0015161371a578085602001516137139190615655565b831061372d565b80856020015161372a9190615351565b83115b61388b57600085610140015111801561376257508460a0015161375857846101400151831115613762565b8461014001518310155b61388457600085610160015111801561379757508460a0015161378d57846101600151831015613797565b8461016001518311155b61387d576137b88560c001518660a001518760e00151886101000151614754565b1561387657600260009054906101000a90046001600160a01b03166001600160a01b03166380f6cfc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138349190615322565b610100860151613844908661543c565b1161386f5761385c8560c001518661010001516148fd565b1561386857600061389c565b600861389c565b600761389c565b600661389c565b600561389c565b600461389c565b600361389c565b600261389c565b60015b93959294505050565b6138ad614ca0565b600080600060029054906101000a90046001600160a01b03166001600160a01b0316633078fff56040518163ffffffff1660e01b8152600401602060405180830381865afa158015613903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139279190615364565b90506000816001600160a01b03166335b03c176040518163ffffffff1660e01b8152600401602060405180830381865afa158015613969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061398d9190615364565b9050613997614c44565b8760e0015188608001516139ab919061543c565b816020018181525050826001600160a01b0316633c88e8826040518163ffffffff1660e01b81526004016020604051808303816000875af11580156139f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a189190615322565b60408281019190915260035489519151631862c18d60e31b81526001600160a01b0392831660048201526000929091169063c3160c6890602401602060405180830381865afa158015613a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a939190615364565b6001600160a01b031614613cd757600354885160405163201ad16d60e01b81526001600160a01b0391821660048201526402540be40092606492169063201ad16d90602401602060405180830381865afa158015613af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b199190615322565b613b296402540be400606461543c565b613b339190615655565b8360200151613b42919061543c565b613b4c9190615469565b613b569190615469565b81526003548851602080840151908b0151604051638251135b60e01b81526001600160a01b039485169463e78c6fd294939290881691638251135b91613ba29160040190815260200190565b602060405180830381865afa158015613bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be39190615322565b60408087015190516001600160e01b031960e087901b1681526001600160a01b0390941660048501526024840192909252604483015260648201526084016020604051808303816000875af1158015613c40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c649190615322565b60e082018190528851613c77919061462c565b8060e0015188608001818151613c8d9190615655565b905250875160e08201516040519081526001600160a01b03909116907f0f5273269f52308b9c40fafda3ca13cc42f715fcd795365e87f351f59e2493139060200160405180910390a25b60005460208901518251620100009092046001600160a01b03169163cfbacc149190613d07578360200151613d0a565b83515b6001806040518563ffffffff1660e01b8152600401613d2c9493929190615636565b6020604051808303816000875af1158015613d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d6f9190615322565b6101008201819052608089018051613d88908390615655565b90525087516101008201516040519081526001600160a01b0390911690600080516020615a518339815191529060200160405180910390a26402540be4006064836001600160a01b0316639c8dd2fa8b602001516040518263ffffffff1660e01b8152600401613dfa91815260200190565b602060405180830381865afa158015613e17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3b9190615322565b8360200151613e4a919061543c565b613e549190615469565b613e5e9190615469565b6101008201819052608089018051613e77908390615655565b9052506105dc87101561401657613e97816101000151896000015161462c565b80604001516402540be400826101000151613eb2919061543c565b613ebc9190615469565b6101208201908152600154604080516080810182528b516001600160a01b0390811682526020808e0151908301528183018b9052600360608301529351828601519251630891674d60e31b8152949093169363448b3a6893613f229390916004016154c8565b600060405180830381600087803b158015613f3c57600080fd5b505af1158015613f50573d6000803e3d6000fd5b50506000546101208401516040516339caebcf60e11b8152600481018c90526024810191909152620100009091046001600160a01b03169250637395d79e9150604401600060405180830381600087803b158015613fad57600080fd5b505af1158015613fc1573d6000803e3d6000fd5b5050505087600001516001600160a01b03167fcada75418f444febbe725c87360b063440c54e00e82d578010de1ed009d756c582610100015160405161400991815260200190565b60405180910390a2614029565b614029886000015182610100015161458b565b600054885160208a015160405163292c161760e01b8152620100009093046001600160a01b03169263292c161792614065929091600401615381565b602060405180830381865afa158015614082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140a69190615322565b6040808a019190915281015160808901516140c7906402540be4009061543c565b6140d19190615469565b8860600181815250506140f78860a001518960e001518a61010001518b60c0015161499c565b8861010001818152505061411e8860a001518960e001518a61012001518b60c00151614a2f565b610120890152600254885160208a01516040808c015160c08d01519151630735e1cd60e11b81526001600160a01b0394851660048201526024810193909352604483015215156064820152911690630e6bc39a90608401600060405180830381600087803b15801561418f57600080fd5b505af11580156141a3573d6000803e3d6000fd5b505050602089015160808a015160c08b01516040516310787e2f60e11b81526001600160a01b03871694506320f0fc5e936141e79390929091600190600401615636565b600060405180830381600087803b15801561420157600080fd5b505af1158015614215573d6000803e3d6000fd5b5050600b548a5160208c015160408d015160e08e015160808f01516001600160a01b03909516965063ce67edfb9550929391929091614254919061543c565b60018e60c001516040518763ffffffff1660e01b815260040161427c9695949392919061590e565b600060405180830381600087803b15801561429657600080fd5b505af11580156142aa573d6000803e3d6000fd5b50505050600060029054906101000a90046001600160a01b03166001600160a01b031663c311ab31896040518060c0016040528060008152602001856040015181526020018c60e001518d60800151614303919061543c565b81526020016000815260200160008152602001600015158152506040518363ffffffff1660e01b815260040161433a9291906159f9565b600060405180830381600087803b15801561435457600080fd5b505af1158015614368573d6000803e3d6000fd5b505089516001600160a01b03166000908152600a60209081526040808320828e015184528252808320818e0151845282528083208380529091528120925090506143b0614aa9565b825467ffffffffffffffff191663ffffffff9190911690811764010000000082021763ffffffff60601b1916600160601b91909102179091555060400151969795505050505050565b60005460405163373873db60e11b81526001600160a01b0362010000909204821660048201819052918416602482015260448101839052636e70e7b6906064015b600060405180830381600087803b15801561445457600080fd5b505af115801561053d573d6000803e3d6000fd5b6000806000614478878787614b2a565b600254895160208b01516040808d015160c08e015160e08f01519251636ceaca6760e01b81526001600160a01b0395861660048201526024810194909452604484019190915215156064830152608482018c905260a482015260c4810185905260e481018990529295509293509190911690636ceaca6790610104016020604051808303816000875af1158015614513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145379190615322565b875160408051838152602081018690529295506001600160a01b03909116917fe7d34775bf6fd7b34e703a903ef79ab16166ebdffce96a66f4d2f84b6263bb29910160405180910390a25094509492505050565b61459530826143f9565b6004805460405163b243fb0160e01b81529182018390526001600160a01b03169063b243fb0190602401600060405180830381600087803b1580156145d957600080fd5b505af11580156145ed573d6000803e3d6000fd5b50505050816001600160a01b03167fd1e388cc27c5125a80cf538c12b26dc5a784071d324a81a736e4d17f238588e482604051612cd491815260200190565b61463630836143f9565b600060029054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146ad9190615364565b60405163a481c14b60e01b8152600481018490526001600160a01b038381166024830152919091169063a481c14b9060440161443a565b6000806402540be4006064806146fa878961543c565b6147049190615469565b61470e9088615655565b614718908961543c565b6147229190615469565b61472c9190615469565b9050826147425761473d8187615655565b613045565b6130458187615351565b949350505050565b600080614761838561543c565b600b54604051632e53fe8760e21b8152600481018990529192506001600160a01b03169063b94ffa1c90602401602060405180830381865afa1580156147ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147cf9190615322565b6147dd906305f5e10061543c565b60005482906201000090046001600160a01b03166328daca218989614803576001614806565b60005b6040516001600160e01b031960e085901b168152600481019290925260ff166024820152604401602060405180830381865afa15801561484a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061486e9190615322565b6148789190615351565b111580156130455750600b5460405163d627450560e01b8152600481018890528615156024820152604481018390526001600160a01b039091169063d627450590606401602060405180830381865afa1580156148d9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304591906153aa565b6000828152600c6020526040812054801561491b578083111561474c565b614923612d33565b6001600160a01b031663281b693c856040518263ffffffff1660e01b815260040161495091815260200190565b602060405180830381865afa15801561496d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149919190615322565b831115949350505050565b60008215806149c557506149b76402540be400610384615890565b6149c386858588612fcf565b145b15614a265760006064856149db6103848961543c565b6149e59190615469565b6149ef9190615469565b905082614a145785811115614a05576000614a1e565b614a0f8187615655565b614a1e565b614a1e8187615351565b91505061474c565b50909392505050565b60008083118015614a655750614a4b6402540be400604b615890565b614a5790600019615890565b614a6386858588612fcf565b125b15614a26576000606485614a7a604b8961543c565b614a849190615469565b614a8e9190615469565b905082614a9f57614a0f8187615351565b614a1e8187615655565b600061a4b1461480614abd575062066eed46145b15614b255760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0c9190615322565b504390565b600b546040805160c0808201835286516001600160a01b03908116835260208089015190840190815288850151848601908152928901511515606085019081526080850189815260e08b015160a087019081529651632d28a81760e01b8152955184166004870152915160248601529251604485015291511515606484015290516084830152915160a482015260009283921690632d28a8179060c401602060405180830381865afa158015614be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c089190615322565b9050836402540be400614c1c83606461543c565b614c26919061543c565b614c309190615469565b614c3a90846158c0565b9150935093915050565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000815260200160008152602001600081525090565b6040518060c00160405280614d11614ca0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008083601f840112614d4c57600080fd5b5081356001600160401b03811115614d6357600080fd5b6020830191508360208260051b8501011115614d7e57600080fd5b9250929050565b60008060008060408587031215614d9b57600080fd5b84356001600160401b0380821115614db257600080fd5b614dbe88838901614d3a565b90965094506020870135915080821115614dd757600080fd5b50614de487828801614d3a565b95989497509550505050565b600060808284031215614e0257600080fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715614e4e57634e487b7160e01b600052604160045260246000fd5b60405290565b6040516101a081016001600160401b0381118282101715614e4e57634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b0381118282101715614e4e57634e487b7160e01b600052604160045260246000fd5b60008082840360c0811215614eca57600080fd5b614ed48585614df0565b92506040607f1982011215614ee857600080fd5b50604051604081018181106001600160401b0382111715614f1957634e487b7160e01b600052604160045260246000fd5b604052608084013564ffffffffff81168114614f3457600080fd5b815260a08401356001600160d81b0381168114614f5057600080fd5b6020820152919491935090915050565b600060208284031215614f7257600080fd5b5035919050565b6001600160a01b0381168114611ba957600080fd5b600060208284031215614fa057600080fd5b8135612f1381614f79565b6020808252825182820181905260009190848201906040850190845b81811015614fe357835183529284019291840191600101614fc7565b50909695505050505050565b6000806000806000806000806000806101408b8d03121561500f57600080fd5b8a3561501a81614f79565b995060208b013561502a81614f79565b985060408b013561503a81614f79565b975060608b013561504a81614f79565b965060808b013561505a81614f79565b955060a08b013561506a81614f79565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b8035600281106150a857600080fd5b919050565b600080600080608085870312156150c357600080fd5b84356150ce81614f79565b935060208501359250604085013591506150ea60608601615099565b905092959194509250565b6000806040838503121561510857600080fd5b50508035926020909101359150565b803563ffffffff811681146150a857600080fd5b60008082840361010081121561514057600080fd5b61514a8585614df0565b92506080607f198201121561515e57600080fd5b50604051608081018181106001600160401b038211171561518f57634e487b7160e01b600052604160045260246000fd5b60405261519e60808501615117565b81526151ac60a08501615117565b60208201526151bd60c08501615117565b60408201526151ce60e08501615117565b6060820152809150509250929050565b80356001600160401b03811681146150a857600080fd5b600060c0828403121561520757600080fd5b61520f614e1e565b823581526020830135602082015260408301356040820152615233606084016151de565b6060820152615244608084016151de565b608082015261525560a084016151de565b60a08201529392505050565b60008060006060848603121561527657600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156152b557600080fd5b612f1382615099565b634e487b7160e01b600052602160045260246000fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006020828403121561533457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156135ba576135ba61533b565b60006020828403121561537657600080fd5b8151612f1381614f79565b6001600160a01b03929092168252602082015260400190565b805180151581146150a857600080fd5b6000602082840312156153bc57600080fd5b612f138261539a565b80516150a881614f79565b600060c082840312156153e257600080fd5b6153ea614e1e565b82516153f581614f79565b815260208381015190820152604083015161540f81614f79565b80604083015250606083015160608201526080830151608082015260a08301516004811061525557600080fd5b80820281158282048414176135ba576135ba61533b565b634e487b7160e01b600052601260045260246000fd5b60008261547857615478615453565b500490565b6004811061548d5761548d6152be565b9052565b60018060a01b038151168252602081015160208301526040810151604083015260608101516154c3606084018261547d565b505050565b60c081016154d68286615491565b608082019390935260a00152919050565b80516001600160a01b031682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015161553960c084018215159052565b5060e08181015190830152610100808201519083015261012090810151910152565b8981526102408101615570602083018b6154e7565b61557e61016083018a61547d565b87610180830152866101a0830152856101c0830152846101e0830152836102008301528215156102208301529a9950505050505050505050565b600c811061548d5761548d6152be565b604081016155d6828561547d565b612f1360208301846155b8565b608081016135ba8284615491565b6102008101615600828a6154e7565b9615156101408201526101608101959095526101808501939093526101a08401919091526101c08301526101e090910152919050565b9384526020840192909252151560408301521515606082015260800190565b818103818111156135ba576135ba61533b565b602081016135ba82846155b8565b6001600160a01b039390931683526020830191909152604082015260600190565b60006101a082840312156156aa57600080fd5b6156b2614e54565b6156bb836153c5565b8152602083015160208201526040830151604082015260608301516060820152608083015160808201526156f160a0840161539a565b60a082015260c0838101519082015260e080840151908201526101008084015190820152610120808401519082015261014080840151908201526101608084015190820152610180928301519281019290925250919050565b60006020828403121561575c57600080fd5b815160038110612f1357600080fd5b61014081016135ba82846154e7565b82815260408101612f1360208301846155b8565b600061014082840312156157a157600080fd5b6157a9614e85565b90506157b4826153c5565b81526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a08201526157f460c0830161539a565b60c082015260e082015160e082015261010080830151818301525061012080830151818301525092915050565b6000610140828403121561583457600080fd5b612f13838361578e565b600060c0828403121561585057600080fd5b615858614e1e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015261525560a0840161539a565b80820260008212600160ff1b841416156158ac576158ac61533b565b81810583148215176135ba576135ba61533b565b81810360008312801583831316838312821617156107d8576107d861533b565b6000826158ef576158ef615453565b600160ff1b8214600019841416156159095761590961533b565b500590565b6001600160a01b0396909616865260208601949094526040850192909252606084015215156080830152151560a082015260c00190565b60006101e0828403121561595857600080fd5b60405160c081018181106001600160401b038211171561598857634e487b7160e01b600052604160045260246000fd5b604052615995848461578e565b81526101408301516020820152610160830151604082015261018083015160608201526101a083015160808201526101c09092015160a083015250919050565b600080604083850312156159e857600080fd5b505080516020909101519092909150565b6102008101615a0882856154e7565b82516101408301526020830151610160830152604083015161018083015260608301516101a083015260808301516101c083015260a083015115156101e0830152939250505056fe4628f3d38f72d5f9e077d3965e10cd3242ff1316aa2bf81f054c0dfb25408406a2646970667358221220e6c68b0a2e75f4dbf62c42ab20201ae4a9a674a8d26a00921ba2390d3893f7ba64736f6c63430008110033";
1295
- const isSuperArgs = (xs) => xs.length > 1;
1296
- class GNSTradingCallbacksV6_4__factory extends ethers_1.ContractFactory {
1297
- constructor(...args) {
1298
- if (isSuperArgs(args)) {
1299
- super(...args);
1300
- }
1301
- else {
1302
- super(_abi, _bytecode, args[0]);
1303
- }
1304
- }
1305
- deploy(overrides) {
1306
- return super.deploy(overrides || {});
1307
- }
1308
- getDeployTransaction(overrides) {
1309
- return super.getDeployTransaction(overrides || {});
1310
- }
1311
- attach(address) {
1312
- return super.attach(address);
1313
- }
1314
- connect(signer) {
1315
- return super.connect(signer);
1316
- }
1317
- static createInterface() {
1318
- return new ethers_1.utils.Interface(_abi);
1319
- }
1320
- static connect(address, signerOrProvider) {
1321
- return new ethers_1.Contract(address, _abi, signerOrProvider);
1322
- }
1323
- }
1324
- exports.GNSTradingCallbacksV6_4__factory = GNSTradingCallbacksV6_4__factory;
1325
- GNSTradingCallbacksV6_4__factory.bytecode = _bytecode;
1326
- GNSTradingCallbacksV6_4__factory.abi = _abi;