lynx-client 0.0.1-beta.1

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