@gainsnetwork/sdk 1.5.0 → 1.5.1-rc1

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