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