lynx-client 0.0.2 → 0.0.3

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 (142) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/index.js +1 -0
  3. package/dist/cjs/lib/addresses/lensAddresses.js +16 -16
  4. package/dist/cjs/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.js +0 -13
  5. package/dist/cjs/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.js +6 -26
  6. package/dist/cjs/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.js +0 -1
  7. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +3 -7
  8. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +11 -47
  9. package/dist/cjs/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +28 -9
  10. package/dist/cjs/lib/contractsIntegration/TradingFloorService/index.js +5 -0
  11. package/dist/cjs/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.js +2 -0
  12. package/dist/cjs/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.js +2 -0
  13. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1854 -0
  14. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  16. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +78 -6
  17. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +297 -80
  18. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  19. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.js +10 -109
  20. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  21. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +51 -594
  22. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  23. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.js +334 -0
  24. package/dist/esm/index.d.ts +1 -0
  25. package/dist/esm/index.d.ts.map +1 -1
  26. package/dist/esm/index.js +1 -0
  27. package/dist/esm/lib/addresses/lensAddresses.d.ts +16 -16
  28. package/dist/esm/lib/addresses/lensAddresses.js +16 -16
  29. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.d.ts +3 -16
  30. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.d.ts.map +1 -1
  31. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.js +0 -13
  32. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.d.ts +5 -5
  33. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.d.ts.map +1 -1
  34. package/dist/esm/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.js +6 -26
  35. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.d.ts +0 -1
  36. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.d.ts.map +1 -1
  37. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.js +0 -1
  38. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +10 -21
  39. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  40. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +3 -7
  41. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts +1 -4
  42. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  43. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +11 -47
  44. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +10 -4
  45. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  46. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +10 -4
  47. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  48. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +28 -9
  49. package/dist/esm/lib/contractsIntegration/TradingFloorService/index.d.ts +3 -0
  50. package/dist/esm/lib/contractsIntegration/TradingFloorService/index.d.ts.map +1 -0
  51. package/dist/esm/lib/contractsIntegration/TradingFloorService/index.js +5 -0
  52. package/dist/esm/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.d.ts +1084 -0
  53. package/dist/esm/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.d.ts.map +1 -0
  54. package/dist/esm/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.js +2 -0
  55. package/dist/esm/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts +42 -6
  56. package/dist/esm/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts.map +1 -1
  57. package/dist/esm/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts +150 -59
  58. package/dist/esm/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts.map +1 -1
  59. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/IntentsVerifierLens.d.ts +10 -65
  60. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/IntentsVerifierLens.d.ts.map +1 -1
  61. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts +34 -112
  62. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts.map +1 -1
  63. package/dist/esm/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.d.ts +158 -0
  64. package/dist/esm/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.d.ts.map +1 -0
  65. package/dist/esm/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.js +2 -0
  66. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1425 -0
  67. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts.map +1 -0
  68. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1854 -0
  69. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  70. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  71. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  72. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  73. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +60 -5
  74. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts.map +1 -1
  75. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +78 -6
  76. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +226 -64
  77. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  78. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +297 -80
  79. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  80. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +1 -1
  81. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.d.ts +10 -85
  82. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.d.ts.map +1 -1
  83. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.js +10 -109
  84. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  85. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  86. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +13 -442
  87. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts.map +1 -1
  88. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +51 -594
  89. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  90. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  91. package/dist/esm/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts +251 -0
  92. package/dist/esm/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts.map +1 -0
  93. package/dist/esm/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.js +334 -0
  94. package/dist/types/index.d.ts +1 -0
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/types/lib/addresses/lensAddresses.d.ts +16 -16
  97. package/dist/types/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.d.ts +3 -16
  98. package/dist/types/lib/contractsIntegration/IntentsVerifierLensService/IIntentsVerifierLensService.d.ts.map +1 -1
  99. package/dist/types/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.d.ts +5 -5
  100. package/dist/types/lib/contractsIntegration/IntentsVerifierLensService/IntentsVerifierLensService.d.ts.map +1 -1
  101. package/dist/types/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.d.ts +0 -1
  102. package/dist/types/lib/contractsIntegration/TradersPortalService/TradersPortalUtils.d.ts.map +1 -1
  103. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +10 -21
  104. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  105. package/dist/types/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts +1 -4
  106. package/dist/types/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  107. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +10 -4
  108. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  109. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +10 -4
  110. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  111. package/dist/types/lib/contractsIntegration/TradingFloorService/index.d.ts +3 -0
  112. package/dist/types/lib/contractsIntegration/TradingFloorService/index.d.ts.map +1 -0
  113. package/dist/types/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.d.ts +1084 -0
  114. package/dist/types/lib/typechain/contracts/Lynx/Lex/LexPool/LexPoolV1.d.ts.map +1 -0
  115. package/dist/types/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts +42 -6
  116. package/dist/types/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts.map +1 -1
  117. package/dist/types/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts +150 -59
  118. package/dist/types/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts.map +1 -1
  119. package/dist/types/lib/typechain/contracts/Peripheral/Lens/IntentsVerifierLens.d.ts +10 -65
  120. package/dist/types/lib/typechain/contracts/Peripheral/Lens/IntentsVerifierLens.d.ts.map +1 -1
  121. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts +34 -112
  122. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts.map +1 -1
  123. package/dist/types/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.d.ts +158 -0
  124. package/dist/types/lib/typechain/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor.d.ts.map +1 -0
  125. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1425 -0
  126. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts.map +1 -0
  127. package/dist/types/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  128. package/dist/types/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  129. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +60 -5
  130. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts.map +1 -1
  131. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +226 -64
  132. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  133. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +1 -1
  134. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.d.ts +10 -85
  135. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/IntentsVerifierLens__factory.d.ts.map +1 -1
  136. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  137. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +13 -442
  138. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts.map +1 -1
  139. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  140. package/dist/types/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts +251 -0
  141. package/dist/types/lib/typechain/factories/contracts/Peripheral/TokensDistribution/SinglePhaseSingleTokenDistributor/SinglePhaseSingleTokenDistributor__factory.d.ts.map +1 -0
  142. package/package.json +1 -1
@@ -51,17 +51,7 @@ const _abi = [
51
51
  },
52
52
  {
53
53
  internalType: "uint256",
54
- name: "settlementAssetsStartIndex",
55
- type: "uint256",
56
- },
57
- {
58
- internalType: "uint256",
59
- name: "pairIdsStartIndex",
60
- type: "uint256",
61
- },
62
- {
63
- internalType: "uint256",
64
- name: "pairTraderStartIndex",
54
+ name: "traderStartIndex",
65
55
  type: "uint256",
66
56
  },
67
57
  {
@@ -182,376 +172,54 @@ const _abi = [
182
172
  type: "uint64",
183
173
  },
184
174
  {
185
- internalType: "uint64",
186
- name: "pendingUpdateOrderFieldAValue",
187
- type: "uint64",
188
- },
189
- {
190
- internalType: "uint64",
191
- name: "pendingUpdateOrderFieldBValue",
192
- type: "uint64",
193
- },
194
- {
195
- internalType: "int256",
196
- name: "funding",
197
- type: "int256",
198
- },
199
- {
200
- internalType: "uint256",
201
- name: "borrowInterest",
202
- type: "uint256",
203
- },
204
- {
205
- internalType: "uint64",
206
- name: "liquidationPrice",
207
- type: "uint64",
208
- },
209
- ],
210
- internalType: "struct TradingFloorLensStructs.CompletePositionDataFromLens[]",
211
- name: "positions",
212
- type: "tuple[]",
213
- },
214
- {
215
- internalType: "uint256",
216
- name: "positionsCount",
217
- type: "uint256",
218
- },
219
- {
220
- internalType: "uint256",
221
- name: "settlementAssetsLastIndex",
222
- type: "uint256",
223
- },
224
- {
225
- internalType: "uint256",
226
- name: "pairIdsLastIndex",
227
- type: "uint256",
228
- },
229
- {
230
- internalType: "uint256",
231
- name: "pairTraderLastIndex",
232
- type: "uint256",
233
- },
234
- {
235
- internalType: "bool",
236
- name: "done",
237
- type: "bool",
238
- },
239
- ],
240
- internalType: "struct TradingFloorLensStructs.GetAllPositionsDataForAllTradersResult",
241
- name: "result",
242
- type: "tuple",
243
- },
244
- ],
245
- stateMutability: "nonpayable",
246
- type: "function",
247
- },
248
- {
249
- inputs: [
250
- {
251
- internalType: "address",
252
- name: "tradingFloor",
253
- type: "address",
254
- },
255
- {
256
- internalType: "address",
257
- name: "settlementAsset",
258
- type: "address",
259
- },
260
- {
261
- internalType: "uint256",
262
- name: "arraySize",
263
- type: "uint256",
264
- },
265
- ],
266
- name: "getAllPositionsDataForAllTradersInDimension",
267
- outputs: [
268
- {
269
- components: [
270
- {
271
- internalType: "bytes32",
272
- name: "id",
273
- type: "bytes32",
274
- },
275
- {
276
- internalType: "address",
277
- name: "settlementAsset",
278
- type: "address",
279
- },
280
- {
281
- internalType: "address",
282
- name: "trader",
283
- type: "address",
284
- },
285
- {
286
- internalType: "uint16",
287
- name: "pairId",
288
- type: "uint16",
289
- },
290
- {
291
- internalType: "uint32",
292
- name: "positionIndex",
293
- type: "uint32",
294
- },
295
- {
296
- internalType: "uint256",
297
- name: "collateral",
298
- type: "uint256",
299
- },
300
- {
301
- internalType: "enum TradingEnumsV1.PositionPhase",
302
- name: "phase",
303
- type: "uint8",
304
- },
305
- {
306
- internalType: "uint64",
307
- name: "inPhaseSince",
308
- type: "uint64",
309
- },
310
- {
311
- internalType: "uint32",
312
- name: "leverage",
313
- type: "uint32",
314
- },
315
- {
316
- internalType: "bool",
317
- name: "long",
318
- type: "bool",
319
- },
320
- {
321
- internalType: "uint64",
322
- name: "openPrice",
323
- type: "uint64",
324
- },
325
- {
326
- internalType: "uint32",
327
- name: "spreadReductionF",
328
- type: "uint32",
329
- },
330
- {
331
- internalType: "uint64",
332
- name: "minPrice",
333
- type: "uint64",
334
- },
335
- {
336
- internalType: "uint64",
337
- name: "maxPrice",
338
- type: "uint64",
339
- },
340
- {
341
- internalType: "uint64",
342
- name: "tpLastUpdated",
343
- type: "uint64",
344
- },
345
- {
346
- internalType: "uint64",
347
- name: "slLastUpdated",
348
- type: "uint64",
349
- },
350
- {
351
- internalType: "uint64",
352
- name: "tp",
353
- type: "uint64",
354
- },
355
- {
356
- internalType: "uint64",
357
- name: "sl",
358
- type: "uint64",
359
- },
360
- {
361
- internalType: "enum OrderBookStructsV1.UpdatePositionFieldOrderType",
362
- name: "pendingUpdateOrderType",
363
- type: "uint8",
364
- },
365
- {
366
- internalType: "uint64",
367
- name: "pendingUpdateOrderTimestamp",
368
- type: "uint64",
369
- },
370
- {
371
- internalType: "uint64",
372
- name: "pendingUpdateOrderFieldAValue",
373
- type: "uint64",
374
- },
375
- {
376
- internalType: "uint64",
377
- name: "pendingUpdateOrderFieldBValue",
378
- type: "uint64",
379
- },
380
- {
381
- internalType: "int256",
382
- name: "funding",
383
- type: "int256",
384
- },
385
- {
386
- internalType: "uint256",
387
- name: "borrowInterest",
388
- type: "uint256",
389
- },
390
- {
391
- internalType: "uint64",
392
- name: "liquidationPrice",
393
- type: "uint64",
394
- },
395
- ],
396
- internalType: "struct TradingFloorLensStructs.CompletePositionDataFromLens[]",
397
- name: "completePositions",
398
- type: "tuple[]",
399
- },
400
- ],
401
- stateMutability: "nonpayable",
402
- type: "function",
403
- },
404
- {
405
- inputs: [
406
- {
407
- internalType: "address",
408
- name: "tradingFloor",
409
- type: "address",
410
- },
411
- {
412
- internalType: "address",
413
- name: "settlementAsset",
414
- type: "address",
415
- },
416
- {
417
- internalType: "address",
418
- name: "trader",
419
- type: "address",
420
- },
421
- ],
422
- name: "getAllPositionsDataForTraderInDimension",
423
- outputs: [
424
- {
425
- components: [
426
- {
427
- internalType: "bytes32",
428
- name: "id",
429
- type: "bytes32",
430
- },
431
- {
432
- internalType: "address",
433
- name: "settlementAsset",
434
- type: "address",
435
- },
436
- {
437
- internalType: "address",
438
- name: "trader",
439
- type: "address",
440
- },
441
- {
442
- internalType: "uint16",
443
- name: "pairId",
444
- type: "uint16",
445
- },
446
- {
447
- internalType: "uint32",
448
- name: "positionIndex",
449
- type: "uint32",
450
- },
451
- {
452
- internalType: "uint256",
453
- name: "collateral",
454
- type: "uint256",
455
- },
456
- {
457
- internalType: "enum TradingEnumsV1.PositionPhase",
458
- name: "phase",
459
- type: "uint8",
460
- },
461
- {
462
- internalType: "uint64",
463
- name: "inPhaseSince",
464
- type: "uint64",
465
- },
466
- {
467
- internalType: "uint32",
468
- name: "leverage",
469
- type: "uint32",
470
- },
471
- {
472
- internalType: "bool",
473
- name: "long",
474
- type: "bool",
475
- },
476
- {
477
- internalType: "uint64",
478
- name: "openPrice",
479
- type: "uint64",
480
- },
481
- {
482
- internalType: "uint32",
483
- name: "spreadReductionF",
484
- type: "uint32",
485
- },
486
- {
487
- internalType: "uint64",
488
- name: "minPrice",
489
- type: "uint64",
490
- },
491
- {
492
- internalType: "uint64",
493
- name: "maxPrice",
494
- type: "uint64",
495
- },
496
- {
497
- internalType: "uint64",
498
- name: "tpLastUpdated",
499
- type: "uint64",
500
- },
501
- {
502
- internalType: "uint64",
503
- name: "slLastUpdated",
504
- type: "uint64",
505
- },
506
- {
507
- internalType: "uint64",
508
- name: "tp",
509
- type: "uint64",
510
- },
511
- {
512
- internalType: "uint64",
513
- name: "sl",
514
- type: "uint64",
515
- },
516
- {
517
- internalType: "enum OrderBookStructsV1.UpdatePositionFieldOrderType",
518
- name: "pendingUpdateOrderType",
519
- type: "uint8",
520
- },
521
- {
522
- internalType: "uint64",
523
- name: "pendingUpdateOrderTimestamp",
524
- type: "uint64",
525
- },
526
- {
527
- internalType: "uint64",
528
- name: "pendingUpdateOrderFieldAValue",
529
- type: "uint64",
530
- },
531
- {
532
- internalType: "uint64",
533
- name: "pendingUpdateOrderFieldBValue",
534
- type: "uint64",
175
+ internalType: "uint64",
176
+ name: "pendingUpdateOrderFieldAValue",
177
+ type: "uint64",
178
+ },
179
+ {
180
+ internalType: "uint64",
181
+ name: "pendingUpdateOrderFieldBValue",
182
+ type: "uint64",
183
+ },
184
+ {
185
+ internalType: "int256",
186
+ name: "funding",
187
+ type: "int256",
188
+ },
189
+ {
190
+ internalType: "uint256",
191
+ name: "borrowInterest",
192
+ type: "uint256",
193
+ },
194
+ {
195
+ internalType: "uint64",
196
+ name: "liquidationPrice",
197
+ type: "uint64",
198
+ },
199
+ ],
200
+ internalType: "struct TradingFloorLensStructs.CompletePositionDataFromLens[]",
201
+ name: "positions",
202
+ type: "tuple[]",
535
203
  },
536
204
  {
537
- internalType: "int256",
538
- name: "funding",
539
- type: "int256",
205
+ internalType: "uint256",
206
+ name: "positionsCount",
207
+ type: "uint256",
540
208
  },
541
209
  {
542
210
  internalType: "uint256",
543
- name: "borrowInterest",
211
+ name: "traderLastIndex",
544
212
  type: "uint256",
545
213
  },
546
214
  {
547
- internalType: "uint64",
548
- name: "liquidationPrice",
549
- type: "uint64",
215
+ internalType: "bool",
216
+ name: "done",
217
+ type: "bool",
550
218
  },
551
219
  ],
552
- internalType: "struct TradingFloorLensStructs.CompletePositionDataFromLens[]",
553
- name: "completePositions",
554
- type: "tuple[]",
220
+ internalType: "struct TradingFloorLensStructs.GetAllPositionsDataForAllTradersResult",
221
+ name: "result",
222
+ type: "tuple",
555
223
  },
556
224
  ],
557
225
  stateMutability: "nonpayable",
@@ -568,17 +236,7 @@ const _abi = [
568
236
  },
569
237
  {
570
238
  internalType: "uint256",
571
- name: "settlementAssetsStartIndex",
572
- type: "uint256",
573
- },
574
- {
575
- internalType: "uint256",
576
- name: "pairIdsStartIndex",
577
- type: "uint256",
578
- },
579
- {
580
- internalType: "uint256",
581
- name: "pairTraderStartIndex",
239
+ name: "traderStartIndex",
582
240
  type: "uint256",
583
241
  },
584
242
  {
@@ -596,11 +254,6 @@ const _abi = [
596
254
  name: "params",
597
255
  type: "tuple",
598
256
  },
599
- {
600
- internalType: "enum TradingEnumsV1.PositionPhase[]",
601
- name: "phasesFilterIn",
602
- type: "uint8[]",
603
- },
604
257
  ],
605
258
  name: "getAllPositionsLiquidationInfo",
606
259
  outputs: [
@@ -645,17 +298,7 @@ const _abi = [
645
298
  },
646
299
  {
647
300
  internalType: "uint256",
648
- name: "settlementAssetsLastIndex",
649
- type: "uint256",
650
- },
651
- {
652
- internalType: "uint256",
653
- name: "pairIdsLastIndex",
654
- type: "uint256",
655
- },
656
- {
657
- internalType: "uint256",
658
- name: "pairTraderLastIndex",
301
+ name: "traderLastIndex",
659
302
  type: "uint256",
660
303
  },
661
304
  {
@@ -688,17 +331,7 @@ const _abi = [
688
331
  },
689
332
  {
690
333
  internalType: "uint256",
691
- name: "settlementAssetsStartIndex",
692
- type: "uint256",
693
- },
694
- {
695
- internalType: "uint256",
696
- name: "pairIdsStartIndex",
697
- type: "uint256",
698
- },
699
- {
700
- internalType: "uint256",
701
- name: "pairTraderStartIndex",
334
+ name: "traderStartIndex",
702
335
  type: "uint256",
703
336
  },
704
337
  {
@@ -716,6 +349,11 @@ const _abi = [
716
349
  name: "params",
717
350
  type: "tuple",
718
351
  },
352
+ {
353
+ internalType: "enum TradingEnumsV1.PositionPhase[]",
354
+ name: "phasesFilterIn",
355
+ type: "uint8[]",
356
+ },
719
357
  ],
720
358
  name: "getAllPositionsLiquidationInfo",
721
359
  outputs: [
@@ -760,17 +398,7 @@ const _abi = [
760
398
  },
761
399
  {
762
400
  internalType: "uint256",
763
- name: "settlementAssetsLastIndex",
764
- type: "uint256",
765
- },
766
- {
767
- internalType: "uint256",
768
- name: "pairIdsLastIndex",
769
- type: "uint256",
770
- },
771
- {
772
- internalType: "uint256",
773
- name: "pairTraderLastIndex",
401
+ name: "traderLastIndex",
774
402
  type: "uint256",
775
403
  },
776
404
  {
@@ -950,184 +578,13 @@ const _abi = [
950
578
  name: "tradingFloor",
951
579
  type: "address",
952
580
  },
953
- {
954
- internalType: "address",
955
- name: "settlementAsset",
956
- type: "address",
957
- },
958
- {
959
- internalType: "address",
960
- name: "trader",
961
- type: "address",
962
- },
963
- {
964
- internalType: "uint16[]",
965
- name: "pairIds",
966
- type: "uint16[]",
967
- },
968
- ],
969
- name: "getPositionDataInPairsForTrader",
970
- outputs: [
971
- {
972
- components: [
973
- {
974
- internalType: "bytes32",
975
- name: "id",
976
- type: "bytes32",
977
- },
978
- {
979
- internalType: "address",
980
- name: "settlementAsset",
981
- type: "address",
982
- },
983
- {
984
- internalType: "address",
985
- name: "trader",
986
- type: "address",
987
- },
988
- {
989
- internalType: "uint16",
990
- name: "pairId",
991
- type: "uint16",
992
- },
993
- {
994
- internalType: "uint32",
995
- name: "positionIndex",
996
- type: "uint32",
997
- },
998
- {
999
- internalType: "uint256",
1000
- name: "collateral",
1001
- type: "uint256",
1002
- },
1003
- {
1004
- internalType: "enum TradingEnumsV1.PositionPhase",
1005
- name: "phase",
1006
- type: "uint8",
1007
- },
1008
- {
1009
- internalType: "uint64",
1010
- name: "inPhaseSince",
1011
- type: "uint64",
1012
- },
1013
- {
1014
- internalType: "uint32",
1015
- name: "leverage",
1016
- type: "uint32",
1017
- },
1018
- {
1019
- internalType: "bool",
1020
- name: "long",
1021
- type: "bool",
1022
- },
1023
- {
1024
- internalType: "uint64",
1025
- name: "openPrice",
1026
- type: "uint64",
1027
- },
1028
- {
1029
- internalType: "uint32",
1030
- name: "spreadReductionF",
1031
- type: "uint32",
1032
- },
1033
- {
1034
- internalType: "uint64",
1035
- name: "minPrice",
1036
- type: "uint64",
1037
- },
1038
- {
1039
- internalType: "uint64",
1040
- name: "maxPrice",
1041
- type: "uint64",
1042
- },
1043
- {
1044
- internalType: "uint64",
1045
- name: "tpLastUpdated",
1046
- type: "uint64",
1047
- },
1048
- {
1049
- internalType: "uint64",
1050
- name: "slLastUpdated",
1051
- type: "uint64",
1052
- },
1053
- {
1054
- internalType: "uint64",
1055
- name: "tp",
1056
- type: "uint64",
1057
- },
1058
- {
1059
- internalType: "uint64",
1060
- name: "sl",
1061
- type: "uint64",
1062
- },
1063
- {
1064
- internalType: "enum OrderBookStructsV1.UpdatePositionFieldOrderType",
1065
- name: "pendingUpdateOrderType",
1066
- type: "uint8",
1067
- },
1068
- {
1069
- internalType: "uint64",
1070
- name: "pendingUpdateOrderTimestamp",
1071
- type: "uint64",
1072
- },
1073
- {
1074
- internalType: "uint64",
1075
- name: "pendingUpdateOrderFieldAValue",
1076
- type: "uint64",
1077
- },
1078
- {
1079
- internalType: "uint64",
1080
- name: "pendingUpdateOrderFieldBValue",
1081
- type: "uint64",
1082
- },
1083
- {
1084
- internalType: "int256",
1085
- name: "funding",
1086
- type: "int256",
1087
- },
1088
- {
1089
- internalType: "uint256",
1090
- name: "borrowInterest",
1091
- type: "uint256",
1092
- },
1093
- {
1094
- internalType: "uint64",
1095
- name: "liquidationPrice",
1096
- type: "uint64",
1097
- },
1098
- ],
1099
- internalType: "struct TradingFloorLensStructs.CompletePositionDataFromLens[]",
1100
- name: "completePositions",
1101
- type: "tuple[]",
1102
- },
1103
- ],
1104
- stateMutability: "nonpayable",
1105
- type: "function",
1106
- },
1107
- {
1108
- inputs: [
1109
- {
1110
- internalType: "address",
1111
- name: "tradingFloor",
1112
- type: "address",
1113
- },
1114
- {
1115
- internalType: "address",
1116
- name: "settlementAsset",
1117
- type: "address",
1118
- },
1119
581
  {
1120
582
  internalType: "address",
1121
583
  name: "trader",
1122
584
  type: "address",
1123
585
  },
1124
- {
1125
- internalType: "uint16",
1126
- name: "pairId",
1127
- type: "uint16",
1128
- },
1129
586
  ],
1130
- name: "getPositionsDataInPairForTrader",
587
+ name: "getPositionsDataForTrader",
1131
588
  outputs: [
1132
589
  {
1133
590
  components: [
@@ -1284,7 +741,7 @@ const _abi = [
1284
741
  },
1285
742
  {
1286
743
  internalType: "uint16",
1287
- name: "maxTradesPerPair",
744
+ name: "maxTradesPerTrader",
1288
745
  type: "uint16",
1289
746
  },
1290
747
  {
@@ -1307,7 +764,7 @@ const _abi = [
1307
764
  type: "function",
1308
765
  },
1309
766
  ];
1310
- const _bytecode = "0x608060405234801561001057600080fd5b506132ad806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a40d726811610066578063a40d726814610132578063ab2e4f8914610153578063b79a9a1b14610173578063e9403cd814610186578063f14d1fb8146101e457600080fd5b806342b9fe59146100a35780637ae5361d146100cc5780637f06ad6c146100df57806386317c00146100ff5780639a59cb4914610112575b600080fd5b6100b66100b136600461239d565b6101f7565b6040516100c391906125da565b60405180910390f35b6100b66100da366004612629565b61020e565b6100f26100ed36600461266a565b6104cc565b6040516100c39190612682565b6100b661010d36600461271a565b610a01565b610125610120366004612765565b610c25565b6040516100c39190612791565b6101456101403660046127b2565b610c40565b6040519081526020016100c3565b610166610161366004612860565b610caf565b6040516100c391906128b3565b6100b6610181366004612989565b611646565b610199610194366004612a04565b61172a565b6040805182516001600160a01b0316815260208084015161ffff9081169183019190915283830151169181019190915260609182015163ffffffff16918101919091526080016100c3565b6101666101f2366004612a21565b611757565b606061020585858585611816565b95945050505050565b6040516303b90a8760e01b81526001600160a01b0383811660048301526060916000918616906303b90a8790602401602060405180830381865afa15801561025a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027e9190612a3d565b90506000816001600160a01b0316630fc2b8f56040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102e89190810190612b3f565b9050836001600160401b0381111561030257610302612a5a565b60405190808252806020026020018201604052801561033b57816020015b6103286122a9565b8152602001906001900390816103205790505b5092506000805b82518110156104c057600083828151811061035f5761035f612bd2565b60209081029190910101516040516318c3390960e11b81526001600160a01b038a8116600483015261ffff831660248301529192506000918b1690633186721290604401600060405180830381865afa1580156103c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103e89190810190612be8565b905060005b81518110156104b557600082828151811061040a5761040a612bd2565b60200260200101519050600061043b8d8d848b8a8151811061042e5761042e612bd2565b6020026020010151611816565b905060005b81518110156104aa57878c0361045f57505050505050505050506104c5565b81818151811061047157610471612bd2565b60200260200101518b898061048590612c8c565b9a508151811061049757610497612bd2565b6020908102919091010152600101610440565b5050506001016103ed565b505050600101610342565b505050505b9392505050565b6105076040518060c0016040528060608152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60006105166020840184612a04565b6001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190612a3d565b6001600160a01b031663166b97546105926020860186612a04565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa1580156105d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105fe9190810190612be8565b905082608001356001600160401b0381111561061c5761061c612a5a565b60405190808252806020026020018201604052801561065557816020015b6106426122a9565b81526020019060019003908161063a5790505b508252600060208084019190915283013560408084019190915283013560608084019190915283013560808301525b8051826040015110156109f45760006106a06020850185612a04565b6001600160a01b03166303b90a87838560400151815181106106c4576106c4612bd2565b60200260200101516040518263ffffffff1660e01b81526004016106f791906001600160a01b0391909116815260200190565b602060405180830381865afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190612a3d565b90506000816001600160a01b0316630fc2b8f56040518163ffffffff1660e01b8152600401600060405180830381865afa15801561077a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a29190810190612b3f565b90505b8051846060015110156109d3576000818560600151815181106107ca576107ca612bd2565b6020026020010151905060008660000160208101906107e99190612a04565b6001600160a01b031663318672128688604001518151811061080d5761080d612bd2565b6020026020010151846040518363ffffffff1660e01b815260040161084b9291906001600160a01b0392909216825261ffff16602082015260400190565b600060405180830381865afa158015610868573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108909190810190612be8565b90505b8051866080015110156109b25786608001358660200151106108b9575050505050919050565b600061090d6108cb60208a018a612a04565b878960400151815181106108e1576108e1612bd2565b6020026020010151848a60800151815181106108ff576108ff612bd2565b602002602001015186611816565b90508760800135815188602001516109259190612ca5565b111561093657505050505050919050565b60005b81518110156109985781818151811061095457610954612bd2565b6020026020010151886000015189602001805180919061097390612c8c565b90528151811061098557610985612bd2565b6020908102919091010152600101610939565b5050608086018051906109aa82612c8c565b905250610893565b505060006080850152606084018051906109cb82612c8c565b9052506107a5565b505060006060830152604082018051906109ec82612c8c565b905250610684565b50600160a0820152919050565b6040516303b90a8760e01b81526001600160a01b0383811660048301526060916000918616906303b90a8790602401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190612a3d565b90506001600160a01b038116610abe5760405162461bcd60e51b815260206004820152600d60248201526c1393d7d050d0d3d55395105395609a1b60448201526064015b60405180910390fd5b6000816001600160a01b0316630fc2b8f56040518163ffffffff1660e01b8152600401600060405180830381865afa158015610afe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b269190810190612b3f565b90506000815111610b675760405162461bcd60e51b815260206004820152600b60248201526a4e4f5f504149525f49445360a81b6044820152606401610ab5565b6040805160468082526108e0820190925290816020015b610b866122a9565b815260200190600190039081610b7e5790505092506000805b82518110156104c0576000610bc289898987868151811061042e5761042e612bd2565b905060005b8151811015610c1b57818181518110610be257610be2612bd2565b6020026020010151878580610bf690612c8c565b965081518110610c0857610c08612bd2565b6020908102919091010152600101610bc7565b5050600101610b9f565b610c2d6122a9565b610c3783836119f1565b90505b92915050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b610cf56040518060e001604052806060815260200160008152602001600081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b6000610d046020860186612a04565b6001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d659190612a3d565b6001600160a01b031663166b9754610d806020880188612a04565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dec9190810190612be8565b90506000610dfd6020870187612a04565b6001600160a01b031663f65d9dbe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190612cb8565b90508560a001356001600160401b03811115610e7c57610e7c612a5a565b604051908082528060200260200182016040528015610ed557816020015b6040805160a081018252600080825260208083018290529282018190526060820181905260808201528252600019909201910181610e9a5790505b5083526000602080850191909152860135604080850191909152860135606080850191909152860135608080850191909152610f179060a08801908801612cd1565b61ffff1660a08401525b815183604001511015611636576000610f3d6020880188612a04565b6001600160a01b03166303b90a8784866040015181518110610f6157610f61612bd2565b60200260200101516040518263ffffffff1660e01b8152600401610f9491906001600160a01b0391909116815260200190565b602060405180830381865afa158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd59190612a3d565b90506000816001600160a01b0316630fc2b8f56040518163ffffffff1660e01b8152600401600060405180830381865afa158015611017573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103f9190810190612b3f565b90505b8051856060015110156116155760008186606001518151811061106757611067612bd2565b6020026020010151905060008960000160208101906110869190612a04565b6001600160a01b03166331867212878960400151815181106110aa576110aa612bd2565b6020026020010151846040518363ffffffff1660e01b81526004016110e89291906001600160a01b0392909216825261ffff16602082015260400190565b600060405180830381865afa158015611105573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261112d9190810190612be8565b90505b8051876080015110156115f4575b848760a0015161ffff16116115d5578960a00135876020015110611167575050505050506104c5565b60006111b78789604001518151811061118257611182612bd2565b6020026020010151838a60800151815181106111a0576111a0612bd2565b6020026020010151858b60a0015161ffff16610c40565b905060006111c860208d018d612a04565b6001600160a01b0316638f7a8fb5836040518263ffffffff1660e01b81526004016111f591815260200190565b60e060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112369190612d22565b9050600081602001516005811115611250576112506123f9565b0361125c5750506115b9565b60008a810361126d575060016112ee565b60005b60ff81168c11156112ec578c8c8260ff1681811061129057611290612bd2565b90506020020160208101906112a59190612db3565b60058111156112b6576112b66123f9565b836020015160058111156112cc576112cc6123f9565b036112da57600191506112ec565b806112e481612dd0565b915050611270565b505b806112fb575050506115b9565b600061130a60208f018f612a04565b6001600160a01b03166366307a4f856040518263ffffffff1660e01b815260040161133791815260200190565b608060405180830381865afa158015611354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113789190612e4f565b905060006001600160a01b03168a8c604001518151811061139b5761139b612bd2565b60200260200101516001600160a01b0316141580156113c7575060008360a001516001600160401b0316115b156115b4576040805160a08101825260006020808301828152938301829052606083018290526080830191909152868252850151909190600581111561140f5761140f6123f9565b90816005811115611422576114226123f9565b81525050886001600160a01b0316637f7c413886898760a00151866040015189608001518a600001518b606001516040518863ffffffff1660e01b81526004016114729796959493929190612e6b565b6020604051808303816000875af1158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b59190612cb8565b81608001906001600160401b031690816001600160401b0316815250506000808a6001600160a01b0316637dd29a66888b89608001518a600001518b606001518c60a001518b604001516040518863ffffffff1660e01b81526004016115219796959493929190612eb1565b60408051808303816000875af115801561153f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115639190612ef7565b915091508183606001818152505080836040018181525050828e600001518f602001805180919061159390612c8c565b9052815181106115a5576115a5612bd2565b60200260200101819052505050505b505050505b60a087018051906115c982612f1b565b61ffff1690525061113e565b600160a0880152608087018051906115ec82612c8c565b905250611130565b5050600060808601526060850180519061160d82612c8c565b905250611042565b5050600060608401526040830180519061162e82612c8c565b905250610f21565b5050600160c08201529392505050565b60408051601e8082526103e08201909252606091816020015b6116676122a9565b81526020019060019003908161165f5790505090506000805b8381101561171f5760006116bc8989898989878181106116a2576116a2612bd2565b90506020020160208101906116b79190612cd1565b611816565b905060005b8151811015611715578181815181106116dc576116dc612bd2565b60200260200101518585806116f090612c8c565b96508151811061170257611702612bd2565b60209081029190910101526001016116c1565b5050600101611680565b505095945050505050565b604080516080810182526000808252602082018190529181018290526060810191909152610c3a826120f8565b61179d6040518060e001604052806060815260200160008152602001600081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b6040805160008152602081019182905263ab2e4f8960e01b909152309063ab2e4f89906117cf90859060248101612f3c565b6000604051808303816000875af11580156117ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c3a919081019061308d565b604051634600c9b760e11b81526001600160a01b038481166004830152838116602483015261ffff83166044830152606091600091871690638c01936e906064016040805180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118979190613143565b6000015163ffffffff16905060008190506000876001600160a01b031663f65d9dbe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190c9190612cb8565b9050816001600160401b0381111561192657611926612a5a565b60405190808252806020026020018201604052801561195f57816020015b61194c6122a9565b8152602001906001900390816119445790505b509350600060015b828161ffff16116119e4578060006119868c8c8c8c61ffff871661227c565b905060008160c0015160058111156119a0576119a06123f9565b146119cf578088856119b181612c8c565b9650815181106119c3576119c3612bd2565b60200260200101819052505b505080806119dc90612f1b565b915050611967565b5050505050949350505050565b6119f96122a9565b604051638f7a8fb560e01b8152600481018390526000906001600160a01b03851690638f7a8fb59060240160e060405180830381865afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a659190612d22565b9050600081602001516005811115611a7f57611a7f6123f9565b03611a8a5750610c3a565b60405163042e37c560e01b8152600481018490526000906001600160a01b0386169063042e37c590602401608060405180830381865afa158015611ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af691906131a1565b60405163ddf474f160e01b8152600481018690529091506000906001600160a01b0387169063ddf474f190602401608060405180830381865afa158015611b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b659190612e4f565b6040516366307a4f60e01b8152600481018790529091506000906001600160a01b038816906366307a4f90602401608060405180830381865afa158015611bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd49190612e4f565b86865283516001600160a01b039081166020808901919091526060808701519092166040808a01919091528187015161ffff16928901929092529085015163ffffffff166080880152855160a088015285015190915060c08601906005811115611c4057611c406123f9565b90816005811115611c5357611c536123f9565b9052506040808501516001600160401b0390811660e088015260608087015163ffffffff9081166101008a0152608088015115156101208a015260a088015183166101408a015260c0880151166101608901528451821661018089015260208086015183166101a08a0152928401518216610200890152835182166101c0890152830151811661022088015290820151166101e086015282516001600160a01b031615801590611d11575060008561014001516001600160401b0316115b15611ee85782516040516303b90a8760e01b81526001600160a01b0391821660048201526000918916906303b90a8790602401602060405180830381865afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d859190612a3d565b9050806001600160a01b0316637f7c41388888606001518961014001518a61020001518b61012001518c60a001518d61010001516040518863ffffffff1660e01b8152600401611ddb9796959493929190612e6b565b6020604051808303816000875af1158015611dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1e9190612cb8565b8661030001906001600160401b031690816001600160401b031681525050600080826001600160a01b0316637dd29a668a8a606001518b61012001518c60a001518d61010001518e61014001518f61020001516040518863ffffffff1660e01b8152600401611e939796959493929190612eb1565b60408051808303816000875af1158015611eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed59190612ef7565b6102e08a01919091526102c08901525050505b6000876001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4c9190612a3d565b6001600160a01b0316637bbb19dc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fad9190612a3d565b90506000816001600160a01b031663776af5ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120139190612a3d565b6001600160a01b031663e10b8c32896040518263ffffffff1660e01b815260040161204091815260200190565b60a060405180830381865afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190613208565b60408101516001600160401b0316610260890152602081015190915061024088019060038111156120b4576120b46123f9565b908160038111156120c7576120c76123f9565b90525060608101516001600160401b03908116610280890152608090910151166102a0870152505050505092915050565b604080516080810182526000602080830182905282840182905260608301919091526001600160a01b0384168083528351637b2ecedf60e11b8152935192938593919263f65d9dbe926004808401938290030181865afa158015612160573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121849190612cb8565b61ffff166020808401919091526040805163f51f3fd360e01b815290516001600160a01b0384169263f51f3fd392600480820193918290030181865afa1580156121d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f69190612cb8565b826040019061ffff16908161ffff1681525050806001600160a01b031663825714096040518163ffffffff1660e01b8152600401602060405180830381865afa158015612247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226b9190612cb8565b63ffffffff16606083015250919050565b6122846122a9565b600061229286868686610c40565b905061229e87826119f1565b979650505050505050565b6040805161032081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e0810182905261030081019190915290565b6001600160a01b038116811461238a57600080fd5b50565b61ffff8116811461238a57600080fd5b600080600080608085870312156123b357600080fd5b84356123be81612375565b935060208501356123ce81612375565b925060408501356123de81612375565b915060608501356123ee8161238d565b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b6006811061241f5761241f6123f9565b9052565b6004811061241f5761241f6123f9565b80518252602081015161245160208401826001600160a01b03169052565b50604081015161246c60408401826001600160a01b03169052565b506060810151612482606084018261ffff169052565b50608081015161249a608084018263ffffffff169052565b5060a081015160a083015260c08101516124b760c084018261240f565b5060e08101516124d260e08401826001600160401b03169052565b506101008181015163ffffffff9081169184019190915261012080830151151590840152610140808301516001600160401b03908116918501919091526101608084015190921691840191909152610180808301518216908401526101a0808301518216908401526101c0808301518216908401526101e0808301518216908401526102008083015182169084015261022080830151909116908301526102408082015161258282850182612423565b5050610260818101516001600160401b0390811691840191909152610280808301518216908401526102a0808301518216908401526102c080830151908401526102e080830151908401526103009182015116910152565b6020808252825182820181905260009190848201906040850190845b8181101561261d57612609838551612433565b9284019261032092909201916001016125f6565b50909695505050505050565b60008060006060848603121561263e57600080fd5b833561264981612375565b9250602084013561265981612375565b929592945050506040919091013590565b600060a0828403121561267c57600080fd5b50919050565b6020808252825160c083830152805160e084018190526000929182019083906101008601905b808310156126d2576126bb828551612433565b6103208201915084840193506001830192506126a8565b50602087015160408701526040870151606087015260608701516080870152608087015160a087015260a0870151935061271060c087018515159052565b9695505050505050565b60008060006060848603121561272f57600080fd5b833561273a81612375565b9250602084013561274a81612375565b9150604084013561275a81612375565b809150509250925092565b6000806040838503121561277857600080fd5b823561278381612375565b946020939093013593505050565b6103208101610c3a8284612433565b63ffffffff8116811461238a57600080fd5b600080600080608085870312156127c857600080fd5b84356127d381612375565b935060208501356127e381612375565b925060408501356127f38161238d565b915060608501356123ee816127a0565b600060c0828403121561267c57600080fd5b60008083601f84011261282757600080fd5b5081356001600160401b0381111561283e57600080fd5b6020830191508360208260051b850101111561285957600080fd5b9250929050565b600080600060e0848603121561287557600080fd5b61287f8585612803565b925060c08401356001600160401b0381111561289a57600080fd5b6128a686828701612815565b9497909650939450505050565b6020808252825160e083830152805161010084018190526000929182019083906101208601905b8083101561293657835180518352858101516128f88785018261240f565b5060408181015190840152606080820151908401526080908101516001600160401b031690830152928401926001929092019160a0909101906128da565b508387015160408701526040870151606087015260608701516080870152608087015160a087015260a0870151935061297560c087018561ffff169052565b60c087015180151560e08801529350612710565b6000806000806000608086880312156129a157600080fd5b85356129ac81612375565b945060208601356129bc81612375565b935060408601356129cc81612375565b925060608601356001600160401b038111156129e757600080fd5b6129f388828901612815565b969995985093965092949392505050565b600060208284031215612a1657600080fd5b81356104c581612375565b600060c08284031215612a3357600080fd5b610c378383612803565b600060208284031215612a4f57600080fd5b81516104c581612375565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715612a9257612a92612a5a565b60405290565b604051608081016001600160401b0381118282101715612a9257612a92612a5a565b60405160a081016001600160401b0381118282101715612a9257612a92612a5a565b604051601f8201601f191681016001600160401b0381118282101715612b0457612b04612a5a565b604052919050565b60006001600160401b03821115612b2557612b25612a5a565b5060051b60200190565b8051612b3a8161238d565b919050565b60006020808385031215612b5257600080fd5b82516001600160401b03811115612b6857600080fd5b8301601f81018513612b7957600080fd5b8051612b8c612b8782612b0c565b612adc565b81815260059190911b82018301908381019087831115612bab57600080fd5b928401925b8284101561229e578351612bc38161238d565b82529284019290840190612bb0565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215612bfb57600080fd5b82516001600160401b03811115612c1157600080fd5b8301601f81018513612c2257600080fd5b8051612c30612b8782612b0c565b81815260059190911b82018301908381019087831115612c4f57600080fd5b928401925b8284101561229e578351612c6781612375565b82529284019290840190612c54565b634e487b7160e01b600052601160045260246000fd5b600060018201612c9e57612c9e612c76565b5060010190565b80820180821115610c3a57610c3a612c76565b600060208284031215612cca57600080fd5b5051919050565b600060208284031215612ce357600080fd5b81356104c58161238d565b6006811061238a57600080fd5b80516001600160401b0381168114612b3a57600080fd5b80518015158114612b3a57600080fd5b600060e08284031215612d3457600080fd5b612d3c612a70565b825181526020830151612d4e81612cee565b6020820152612d5f60408401612cfb565b60408201526060830151612d72816127a0565b6060820152612d8360808401612d12565b6080820152612d9460a08401612cfb565b60a082015260c0830151612da7816127a0565b60c08201529392505050565b600060208284031215612dc557600080fd5b81356104c581612cee565b600060ff821660ff8103612de657612de6612c76565b60010192915050565b600060808284031215612e0157600080fd5b612e09612a98565b9050612e1482612cfb565b8152612e2260208301612cfb565b6020820152612e3360408301612cfb565b6040820152612e4460608301612cfb565b606082015292915050565b600060808284031215612e6157600080fd5b610c378383612def565b96875261ffff9590951660208701526001600160401b039384166040870152919092166060850152901515608084015260a083015263ffffffff1660c082015260e00190565b96875261ffff9590951660208701529215156040860152606085019190915263ffffffff1660808401526001600160401b0390811660a08401521660c082015260e00190565b60008060408385031215612f0a57600080fd5b505080516020909101519092909150565b600061ffff808316818103612f3257612f32612c76565b6001019392505050565b600060e082018435612f4d81612375565b6001600160a01b031683526020858101358185015260408087013590850152606080870135908501526080860135612f848161238d565b61ffff16608085015260a0868101359085015260e060c0850152845191829052602085019161010085019060005b81811015612fd557612fc583865161240f565b9383019391830191600101612fb2565b5090979650505050505050565b600082601f830112612ff357600080fd5b81516020613003612b8783612b0c565b82815260a0928302850182019282820191908785111561302257600080fd5b8387015b85811015612fd55781818a03121561303e5760008081fd5b613046612aba565b815181528582015161305781612cee565b818701526040828101519082015260608083015190820152608061307c818401612cfb565b908201528452928401928101613026565b60006020828403121561309f57600080fd5b81516001600160401b03808211156130b657600080fd5b9083019060e082860312156130ca57600080fd5b6130d2612a70565b8251828111156130e157600080fd5b6130ed87828601612fe2565b8252506020830151602082015260408301516040820152606083015160608201526080830151608082015261312460a08401612b2f565b60a082015261313560c08401612d12565b60c082015295945050505050565b60006040828403121561315557600080fd5b604051604081018181106001600160401b038211171561317757613177612a5a565b6040528251613185816127a0565b81526020830151613195816127a0565b60208201529392505050565b6000608082840312156131b357600080fd5b6131bb612a98565b82516131c681612375565b815260208301516131d68161238d565b602082015260408301516131e9816127a0565b604082015260608301516131fc81612375565b60608201529392505050565b600060a0828403121561321a57600080fd5b613222612aba565b8251815260208301516004811061323857600080fd5b602082015261324960408401612cfb565b604082015261325a60608401612cfb565b606082015261326b60808401612cfb565b6080820152939250505056fea2646970667358221220bc0a9031461ed3f2399babf805d4d3c106ea52696d3bc6d12e45822c7fb60c5b64736f6c63430008180033";
767
+ const _bytecode = "0x608060405234801561001057600080fd5b50612499806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639a59cb491161005b5780639a59cb49146100eb578063a40d72681461010b578063a6510cf114610196578063e9403cd8146101a957600080fd5b806305870ea8146100825780636ff52a73146100ab578063796da7e2146100cb575b600080fd5b61009561009036600461182d565b610207565b6040516100a29190611873565b60405180910390f35b6100be6100b9366004611952565b6102be565b6040516100a29190611b89565b6100de6100d9366004611b9c565b6102d1565b6040516100a29190611bae565b6100fe6100f9366004611bf6565b610543565b6040516100a29190611c22565b610188610119366004611c53565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6040519081526020016100a2565b6100956101a4366004611caf565b610555565b6101bc6101b7366004611d35565b610d39565b6040805182516001600160a01b0316815260208084015161ffff9081169183019190915283830151169181019190915260609182015163ffffffff16918101919091526080016100a2565b61023f6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b6040805160008152602081019182905263a6510cf160e01b909152309063a6510cf19061027190859060248101611d68565b6000604051808303816000875af1158015610290573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102b89190810190611eda565b92915050565b60606102ca8383610d66565b9392505050565b6102fe60405180608001604052806060815260200160008152602001600081526020016000151581525090565b81604001356001600160401b0381111561031a5761031a611d52565b60405190808252806020026020018201604052801561035357816020015b610340611749565b8152602001906001900390816103385790505b508152600060208083018290528301803560408401526103739084611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190612026565b90505b80826040015110156105365782604001358260200151106103f85750919050565b60006104076020850185611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b815260040161043891815260200190565b602060405180830381865afa158015610455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610479919061203f565b9050600061049361048d6020870187611d35565b83610d66565b90508460400135815185602001516104ab9190612072565b11156104b957505050919050565b60005b815181101561051b578181815181106104d7576104d7612085565b602002602001015185600001518660200180518091906104f69061209b565b90528151811061050857610508612085565b60209081029190910101526001016104bc565b5050506040820180519061052e8261209b565b9052506103d7565b5060016060820152919050565b61054b611749565b6102ca8383610ebe565b61058d6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b83606001356001600160401b038111156105a9576105a9611d52565b60405190808252806020026020018201604052801561060257816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282526000199092019101816105c75790505b508152600060208083019190915284013560408083019190915261062c90606086019086016120b4565b61ffff16606082015260006106446020860186611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190612026565b90505b8082604001511015610d2a5760006106c36020870187611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b81526004016106f491815260200190565b602060405180830381865afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610735919061203f565b905060006107466020880188611d35565b604051633b17a49760e01b81526001600160a01b0384811660048301529190911690633b17a49790602401600060405180830381865afa15801561078e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b691908101906120d1565b90505b8051846060015161ffff161015610d095786606001358460200151106107e1575050506102ca565b600081856060015161ffff16815181106107fd576107fd612085565b60200260200101519050600088600001602081019061081c9190611d35565b6001600160a01b0316638f7a8fb5836040518263ffffffff1660e01b815260040161084991815260200190565b60e060405180830381865afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612156565b90506000816020015160058111156108a4576108a4611849565b036108b0575050610ced565b60008781036108c157506001610942565b60005b60ff81168911156109405789898260ff168181106108e4576108e4612085565b90506020020160208101906108f99190612204565b600581111561090a5761090a611849565b8360200151600581111561092057610920611849565b0361092e5760019150610940565b8061093881612221565b9150506108c4565b505b8061094f57505050610ced565b600061095e60208c018c611d35565b6001600160a01b031663042e37c5856040518263ffffffff1660e01b815260040161098b91815260200190565b608060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc9190612240565b905060006109dd60208d018d611d35565b82516040516303b90a8760e01b81526001600160a01b0391821660048201529116906303b90a8790602401602060405180830381865afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a49919061203f565b90506000610a5a60208e018e611d35565b6001600160a01b03166366307a4f876040518263ffffffff1660e01b8152600401610a8791815260200190565b608060405180830381865afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612307565b83519091506001600160a01b031615801590610af1575060008560a001516001600160401b0316115b15610ce6576040805160a081018252600060208083018281529383018290526060830182905260808301919091528882528701519091906005811115610b3957610b39611849565b90816005811115610b4c57610b4c611849565b81525050826001600160a01b0316637f7c41388886602001518960a0015186604001518b608001518c600001518d606001516040518863ffffffff1660e01b8152600401610ba09796959493929190612323565b6020604051808303816000875af1158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190612026565b81608001906001600160401b031690816001600160401b031681525050600080846001600160a01b0316637dd29a668a88602001518b608001518c600001518d606001518e60a001518b604001516040518863ffffffff1660e01b8152600401610c539796959493929190612369565b60408051808303816000875af1158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9591906123af565b915091508183606001818152505080836040018181525050828d600001518e6020018051809190610cc59061209b565b905281518110610cd757610cd7612085565b60200260200101819052505050505b5050505050505b60608401805190610cfd826123d3565b61ffff169052506107b9565b50506000606083015260408201805190610d228261209b565b9052506106a8565b50600160808201529392505050565b6040805160808101825260008082526020820181905291810182905260608101919091526102b8826115c5565b604051633b17a49760e01b81526001600160a01b038281166004830152606091600091851690633b17a49790602401600060405180830381865afa158015610db2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dda91908101906120d1565b905080516001600160401b03811115610df557610df5611d52565b604051908082528060200260200182016040528015610e2e57816020015b610e1b611749565b815260200190600190039081610e135790505b5091506000805b8251811015610eb5576000610e6387858481518110610e5657610e56612085565b6020026020010151610ebe565b905060008160c001516005811115610e7d57610e7d611849565b14610eac57808584610e8e8161209b565b955081518110610ea057610ea0612085565b60200260200101819052505b50600101610e35565b50505092915050565b610ec6611749565b604051638f7a8fb560e01b8152600481018390526000906001600160a01b03851690638f7a8fb59060240160e060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190612156565b9050600081602001516005811115610f4c57610f4c611849565b03610f5757506102b8565b60405163042e37c560e01b8152600481018490526000906001600160a01b0386169063042e37c590602401608060405180830381865afa158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc39190612240565b60405163ddf474f160e01b8152600481018690529091506000906001600160a01b0387169063ddf474f190602401608060405180830381865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190612307565b6040516366307a4f60e01b8152600481018790529091506000906001600160a01b038816906366307a4f90602401608060405180830381865afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190612307565b86865283516001600160a01b039081166020808901919091526060808701519092166040808a01919091528187015161ffff16928901929092529085015163ffffffff166080880152855160a088015285015190915060c0860190600581111561110d5761110d611849565b9081600581111561112057611120611849565b9052506040808501516001600160401b0390811660e088015260608087015163ffffffff9081166101008a0152608088015115156101208a015260a088015183166101408a015260c0880151166101608901528451821661018089015260208086015183166101a08a0152928401518216610200890152835182166101c0890152830151811661022088015290820151166101e086015282516001600160a01b0316158015906111de575060008561014001516001600160401b0316115b156113b55782516040516303b90a8760e01b81526001600160a01b0391821660048201526000918916906303b90a8790602401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611252919061203f565b9050806001600160a01b0316637f7c41388888606001518961014001518a61020001518b61012001518c60a001518d61010001516040518863ffffffff1660e01b81526004016112a89796959493929190612323565b6020604051808303816000875af11580156112c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112eb9190612026565b8661030001906001600160401b031690816001600160401b031681525050600080826001600160a01b0316637dd29a668a8a606001518b61012001518c60a001518d61010001518e61014001518f61020001516040518863ffffffff1660e01b81526004016113609796959493929190612369565b60408051808303816000875af115801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906123af565b6102e08a01919091526102c08901525050505b6000876001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611419919061203f565b6001600160a01b0316637bbb19dc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a919061203f565b90506000816001600160a01b031663776af5ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e0919061203f565b6001600160a01b031663e10b8c32896040518263ffffffff1660e01b815260040161150d91815260200190565b60a060405180830381865afa15801561152a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154e91906123f4565b60408101516001600160401b03166102608901526020810151909150610240880190600381111561158157611581611849565b9081600381111561159457611594611849565b90525060608101516001600160401b03908116610280890152608090910151166102a0870152505050505092915050565b604080516080810182526000602080830182905282840182905260608301919091526001600160a01b038416808352835163ece938cf60e01b8152935192938593919263ece938cf926004808401938290030181865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190612026565b61ffff166020808401919091526040805163f51f3fd360e01b815290516001600160a01b0384169263f51f3fd392600480820193918290030181865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190612026565b826040019061ffff16908161ffff1681525050806001600160a01b031663825714096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117389190612026565b63ffffffff16606083015250919050565b6040805161032081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e0810182905261030081019190915290565b60006080828403121561182757600080fd5b50919050565b60006080828403121561183f57600080fd5b6102ca8383611815565b634e487b7160e01b600052602160045260246000fd5b6006811061186f5761186f611849565b9052565b6020808252825160a0838301819052815160c0850181905260009392830191849160e08701905b808410156118f457845180518352868101516118b88885018261185f565b5060408181015190840152606080820151908401526080908101516001600160401b03169083015293850193600193909301929082019061189a565b50848801516040880152604088015160608801526060880151945061191f608088018661ffff169052565b608088015180151560a089015294505b979650505050505050565b6001600160a01b038116811461194f57600080fd5b50565b6000806040838503121561196557600080fd5b82356119708161193a565b915060208301356119808161193a565b809150509250929050565b6004811061186f5761186f611849565b8051825260208101516119b960208401826001600160a01b03169052565b5060408101516119d460408401826001600160a01b03169052565b5060608101516119ea606084018261ffff169052565b506080810151611a02608084018263ffffffff169052565b5060a081015160a083015260c0810151611a1f60c084018261185f565b5060e0810151611a3a60e08401826001600160401b03169052565b506101008181015163ffffffff9081169184019190915261012080830151151590840152610140808301516001600160401b03908116918501919091526101608084015190921691840191909152610180808301518216908401526101a0808301518216908401526101c0808301518216908401526101e08083015182169084015261020080830151821690840152610220808301519091169083015261024080820151611aea8285018261198b565b5050610260818101516001600160401b0390811691840191909152610280808301518216908401526102a0808301518216908401526102c080830151908401526102e080830151908401526103009182015116910152565b60008151808452602080850194506020840160005b83811015611b7e57611b6a87835161199b565b610320969096019590820190600101611b57565b509495945050505050565b6020815260006102ca6020830184611b42565b60006060828403121561182757600080fd5b602081526000825160806020840152611bca60a0840182611b42565b905060208401516040840152604084015160608401526060840151151560808401528091505092915050565b60008060408385031215611c0957600080fd5b8235611c148161193a565b946020939093013593505050565b61032081016102b8828461199b565b61ffff8116811461194f57600080fd5b63ffffffff8116811461194f57600080fd5b60008060008060808587031215611c6957600080fd5b8435611c748161193a565b93506020850135611c848161193a565b92506040850135611c9481611c31565b91506060850135611ca481611c41565b939692955090935050565b600080600060a08486031215611cc457600080fd5b611cce8585611815565b925060808401356001600160401b0380821115611cea57600080fd5b818601915086601f830112611cfe57600080fd5b813581811115611d0d57600080fd5b8760208260051b8501011115611d2257600080fd5b6020830194508093505050509250925092565b600060208284031215611d4757600080fd5b81356102ca8161193a565b634e487b7160e01b600052604160045260246000fd5b600060a082018435611d798161193a565b6001600160a01b03168352602085810135818501526040860135611d9c81611c31565b61ffff1660408501526060868101359085015260a06080850152845191829052602085019160c085019060005b81811015611dec57611ddc83865161185f565b9383019391830191600101611dc9565b5090979650505050505050565b60405160a081016001600160401b0381118282101715611e1b57611e1b611d52565b60405290565b604051608081016001600160401b0381118282101715611e1b57611e1b611d52565b604051601f8201601f191681016001600160401b0381118282101715611e6b57611e6b611d52565b604052919050565b60006001600160401b03821115611e8c57611e8c611d52565b5060051b60200190565b6006811061194f57600080fd5b80516001600160401b0381168114611eba57600080fd5b919050565b8051611eba81611c31565b80518015158114611eba57600080fd5b60006020808385031215611eed57600080fd5b82516001600160401b0380821115611f0457600080fd5b818501915060a0808388031215611f1a57600080fd5b611f22611df9565b835183811115611f3157600080fd5b84019250601f83018813611f4457600080fd5b8251611f57611f5282611e73565b611e43565b81815260a09091028401860190868101908a831115611f7557600080fd5b948701945b82861015611fe35784868c031215611f925760008081fd5b611f9a611df9565b8651815288870151611fab81611e96565b818a015260408781015190820152606080880151908201526080611fd0818901611ea3565b9082015282529484019490870190611f7a565b8352505083850151858201526040808501519082015261200560608501611ebf565b606082015261201660808501611eca565b6080820152979650505050505050565b60006020828403121561203857600080fd5b5051919050565b60006020828403121561205157600080fd5b81516102ca8161193a565b634e487b7160e01b600052601160045260246000fd5b808201808211156102b8576102b861205c565b634e487b7160e01b600052603260045260246000fd5b6000600182016120ad576120ad61205c565b5060010190565b6000602082840312156120c657600080fd5b81356102ca81611c31565b600060208083850312156120e457600080fd5b82516001600160401b038111156120fa57600080fd5b8301601f8101851361210b57600080fd5b8051612119611f5282611e73565b81815260059190911b8201830190838101908783111561213857600080fd5b928401925b8284101561192f5783518252928401929084019061213d565b600060e0828403121561216857600080fd5b60405160e081018181106001600160401b038211171561218a5761218a611d52565b60405282518152602083015161219f81611e96565b60208201526121b060408401611ea3565b604082015260608301516121c381611c41565b60608201526121d460808401611eca565b60808201526121e560a08401611ea3565b60a082015260c08301516121f881611c41565b60c08201529392505050565b60006020828403121561221657600080fd5b81356102ca81611e96565b600060ff821660ff81036122375761223761205c565b60010192915050565b60006080828403121561225257600080fd5b61225a611e21565b82516122658161193a565b8152602083015161227581611c31565b6020820152604083015161228881611c41565b6040820152606083015161229b8161193a565b60608201529392505050565b6000608082840312156122b957600080fd5b6122c1611e21565b90506122cc82611ea3565b81526122da60208301611ea3565b60208201526122eb60408301611ea3565b60408201526122fc60608301611ea3565b606082015292915050565b60006080828403121561231957600080fd5b6102ca83836122a7565b96875261ffff9590951660208701526001600160401b039384166040870152919092166060850152901515608084015260a083015263ffffffff1660c082015260e00190565b96875261ffff9590951660208701529215156040860152606085019190915263ffffffff1660808401526001600160401b0390811660a08401521660c082015260e00190565b600080604083850312156123c257600080fd5b505080516020909101519092909150565b600061ffff8083168181036123ea576123ea61205c565b6001019392505050565b600060a0828403121561240657600080fd5b61240e611df9565b8251815260208301516004811061242457600080fd5b602082015261243560408401611ea3565b604082015261244660608401611ea3565b606082015261245760808401611ea3565b6080820152939250505056fea264697066735822122044f8d0d22996fe7a5b370f3bfca3698639be01a17f5bb313279f2f11f2d8ba0664736f6c63430008180033";
1311
768
  const isSuperArgs = (xs) => xs.length > 1;
1312
769
  class TradingFloorLens__factory extends ethers_1.ContractFactory {
1313
770
  constructor(...args) {