lynx-client 0.0.5 → 0.0.7

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 (141) hide show
  1. package/dist/cjs/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.js +53 -0
  2. package/dist/cjs/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.js +2 -0
  3. package/dist/cjs/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.js +5 -0
  4. package/dist/cjs/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.js +2 -0
  5. package/dist/cjs/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.js +210 -0
  6. package/dist/cjs/lib/contractsIntegration/LexPoolV1Service/index.js +5 -0
  7. package/dist/cjs/lib/contractsIntegration/PNLRService/IPNLRService.js +2 -0
  8. package/dist/cjs/lib/contractsIntegration/PNLRService/PNLRService.js +124 -0
  9. package/dist/cjs/lib/contractsIntegration/PNLRService/index.js +5 -0
  10. package/dist/cjs/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.js +2 -0
  11. package/dist/cjs/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.js +254 -0
  12. package/dist/cjs/lib/contractsIntegration/PoolAccountantV1Service/index.js +5 -0
  13. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +9 -9
  14. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +9 -9
  15. package/dist/cjs/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +22 -0
  16. package/dist/cjs/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.js +2 -0
  17. package/dist/cjs/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.js +2 -0
  18. package/dist/cjs/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.js +2 -0
  19. package/dist/cjs/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.js +2 -0
  20. package/dist/cjs/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.js +232 -0
  21. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +585 -0
  22. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +3762 -0
  23. package/dist/cjs/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.js +116 -0
  24. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.d.ts +10 -0
  25. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.d.ts.map +1 -0
  26. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.js +53 -0
  27. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.d.ts +21 -0
  28. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.d.ts.map +1 -0
  29. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.js +2 -0
  30. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.d.ts +3 -0
  31. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.d.ts.map +1 -0
  32. package/dist/esm/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.js +5 -0
  33. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts +124 -0
  34. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts.map +1 -0
  35. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.js +2 -0
  36. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts +24 -0
  37. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts.map +1 -0
  38. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.js +210 -0
  39. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/index.d.ts +3 -0
  40. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/index.d.ts.map +1 -0
  41. package/dist/esm/lib/contractsIntegration/LexPoolV1Service/index.js +5 -0
  42. package/dist/esm/lib/contractsIntegration/PNLRService/IPNLRService.d.ts +49 -0
  43. package/dist/esm/lib/contractsIntegration/PNLRService/IPNLRService.d.ts.map +1 -0
  44. package/dist/esm/lib/contractsIntegration/PNLRService/IPNLRService.js +2 -0
  45. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.d.ts +14 -0
  46. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.d.ts.map +1 -0
  47. package/dist/esm/lib/contractsIntegration/PNLRService/PNLRService.js +124 -0
  48. package/dist/esm/lib/contractsIntegration/PNLRService/index.d.ts +3 -0
  49. package/dist/esm/lib/contractsIntegration/PNLRService/index.d.ts.map +1 -0
  50. package/dist/esm/lib/contractsIntegration/PNLRService/index.js +5 -0
  51. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts +160 -0
  52. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts.map +1 -0
  53. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.js +2 -0
  54. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.d.ts +31 -0
  55. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.d.ts.map +1 -0
  56. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.js +254 -0
  57. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/index.d.ts +3 -0
  58. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/index.d.ts.map +1 -0
  59. package/dist/esm/lib/contractsIntegration/PoolAccountantV1Service/index.js +5 -0
  60. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +2 -11
  61. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  62. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +9 -9
  63. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  64. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +9 -9
  65. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +7 -0
  66. package/dist/esm/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  67. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +7 -0
  68. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  69. package/dist/esm/lib/contractsIntegration/TradingFloorService/TradingFloorService.js +22 -0
  70. package/dist/esm/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.d.ts +143 -0
  71. package/dist/esm/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.d.ts.map +1 -0
  72. package/dist/esm/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.js +2 -0
  73. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.d.ts +266 -0
  74. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.d.ts.map +1 -0
  75. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.js +2 -0
  76. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.d.ts +2085 -0
  77. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.d.ts.map +1 -0
  78. package/dist/esm/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.js +2 -0
  79. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts +72 -0
  80. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts.map +1 -0
  81. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.js +2 -0
  82. package/dist/esm/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.d.ts +173 -0
  83. package/dist/esm/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.d.ts.map +1 -0
  84. package/dist/esm/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.js +232 -0
  85. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +439 -0
  86. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts.map +1 -0
  87. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +585 -0
  88. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +2899 -0
  89. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts.map +1 -0
  90. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +3762 -0
  91. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts +81 -0
  92. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts.map +1 -0
  93. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.js +116 -0
  94. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.d.ts +10 -0
  95. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/AcceptableImplementationClaimableAdminService.d.ts.map +1 -0
  96. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.d.ts +21 -0
  97. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/IAcceptableImplementationClaimableAdminService.d.ts.map +1 -0
  98. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.d.ts +3 -0
  99. package/dist/types/lib/contractsIntegration/AcceptableImplementationClaimableAdminService/index.d.ts.map +1 -0
  100. package/dist/types/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts +124 -0
  101. package/dist/types/lib/contractsIntegration/LexPoolV1Service/ILexPoolV1Service.d.ts.map +1 -0
  102. package/dist/types/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts +24 -0
  103. package/dist/types/lib/contractsIntegration/LexPoolV1Service/LexPoolV1Service.d.ts.map +1 -0
  104. package/dist/types/lib/contractsIntegration/LexPoolV1Service/index.d.ts +3 -0
  105. package/dist/types/lib/contractsIntegration/LexPoolV1Service/index.d.ts.map +1 -0
  106. package/dist/types/lib/contractsIntegration/PNLRService/IPNLRService.d.ts +49 -0
  107. package/dist/types/lib/contractsIntegration/PNLRService/IPNLRService.d.ts.map +1 -0
  108. package/dist/types/lib/contractsIntegration/PNLRService/PNLRService.d.ts +14 -0
  109. package/dist/types/lib/contractsIntegration/PNLRService/PNLRService.d.ts.map +1 -0
  110. package/dist/types/lib/contractsIntegration/PNLRService/index.d.ts +3 -0
  111. package/dist/types/lib/contractsIntegration/PNLRService/index.d.ts.map +1 -0
  112. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts +160 -0
  113. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/IPoolAccountantV1Service.d.ts.map +1 -0
  114. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.d.ts +31 -0
  115. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/PoolAccountantV1Service.d.ts.map +1 -0
  116. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/index.d.ts +3 -0
  117. package/dist/types/lib/contractsIntegration/PoolAccountantV1Service/index.d.ts.map +1 -0
  118. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +2 -11
  119. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  120. package/dist/types/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  121. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts +7 -0
  122. package/dist/types/lib/contractsIntegration/TradingFloorService/ITradingFloorService.d.ts.map +1 -1
  123. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts +7 -0
  124. package/dist/types/lib/contractsIntegration/TradingFloorService/TradingFloorService.d.ts.map +1 -1
  125. package/dist/types/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.d.ts +143 -0
  126. package/dist/types/lib/typechain/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin.d.ts.map +1 -0
  127. package/dist/types/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.d.ts +266 -0
  128. package/dist/types/lib/typechain/contracts/Lynx/Lex/PNLR/PNLR.d.ts.map +1 -0
  129. package/dist/types/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.d.ts +2085 -0
  130. package/dist/types/lib/typechain/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1.d.ts.map +1 -0
  131. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts +72 -0
  132. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts.map +1 -0
  133. package/dist/types/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.d.ts +173 -0
  134. package/dist/types/lib/typechain/factories/contracts/AdministrationContracts/AcceptableImplementationClaimableAdmin__factory.d.ts.map +1 -0
  135. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +439 -0
  136. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts.map +1 -0
  137. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +2899 -0
  138. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts.map +1 -0
  139. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts +81 -0
  140. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts.map +1 -0
  141. package/package.json +1 -1
@@ -0,0 +1,3762 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PoolAccountantV1__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: "enum LexErrors.CapType",
13
+ name: "",
14
+ type: "uint8",
15
+ },
16
+ {
17
+ internalType: "uint256",
18
+ name: "value",
19
+ type: "uint256",
20
+ },
21
+ ],
22
+ name: "CapError",
23
+ type: "error",
24
+ },
25
+ {
26
+ anonymous: false,
27
+ inputs: [
28
+ {
29
+ indexed: true,
30
+ internalType: "uint256",
31
+ name: "pairId",
32
+ type: "uint256",
33
+ },
34
+ {
35
+ indexed: false,
36
+ internalType: "int256",
37
+ name: "valueLong",
38
+ type: "int256",
39
+ },
40
+ {
41
+ indexed: false,
42
+ internalType: "int256",
43
+ name: "valueShort",
44
+ type: "int256",
45
+ },
46
+ ],
47
+ name: "AccrueFunding",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: false,
55
+ internalType: "uint256",
56
+ name: "cash",
57
+ type: "uint256",
58
+ },
59
+ {
60
+ indexed: false,
61
+ internalType: "uint256",
62
+ name: "totalInterestNew",
63
+ type: "uint256",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "uint256",
68
+ name: "borrowIndexNew",
69
+ type: "uint256",
70
+ },
71
+ {
72
+ indexed: false,
73
+ internalType: "uint256",
74
+ name: "interestShareNew",
75
+ type: "uint256",
76
+ },
77
+ ],
78
+ name: "AccrueInterest",
79
+ type: "event",
80
+ },
81
+ {
82
+ anonymous: false,
83
+ inputs: [
84
+ {
85
+ indexed: true,
86
+ internalType: "enum PoolAccountantV1AdminEnums.PoolAccountantAddressesEnum",
87
+ name: "enumCode",
88
+ type: "uint8",
89
+ },
90
+ {
91
+ indexed: false,
92
+ internalType: "address",
93
+ name: "a",
94
+ type: "address",
95
+ },
96
+ ],
97
+ name: "AddressUpdated",
98
+ type: "event",
99
+ },
100
+ {
101
+ anonymous: false,
102
+ inputs: [
103
+ {
104
+ indexed: true,
105
+ internalType: "uint256",
106
+ name: "pairId",
107
+ type: "uint256",
108
+ },
109
+ {
110
+ indexed: false,
111
+ internalType: "uint256",
112
+ name: "borrowAmount",
113
+ type: "uint256",
114
+ },
115
+ {
116
+ indexed: false,
117
+ internalType: "uint256",
118
+ name: "newTotalBorrows",
119
+ type: "uint256",
120
+ },
121
+ ],
122
+ name: "Borrow",
123
+ type: "event",
124
+ },
125
+ {
126
+ anonymous: false,
127
+ inputs: [
128
+ {
129
+ indexed: true,
130
+ internalType: "uint256",
131
+ name: "id",
132
+ type: "uint256",
133
+ },
134
+ {
135
+ indexed: true,
136
+ internalType: "string",
137
+ name: "name",
138
+ type: "string",
139
+ },
140
+ {
141
+ components: [
142
+ {
143
+ internalType: "uint16",
144
+ name: "id",
145
+ type: "uint16",
146
+ },
147
+ {
148
+ internalType: "uint32",
149
+ name: "openFeeF",
150
+ type: "uint32",
151
+ },
152
+ {
153
+ internalType: "uint32",
154
+ name: "closeFeeF",
155
+ type: "uint32",
156
+ },
157
+ {
158
+ internalType: "uint32",
159
+ name: "performanceFeeF",
160
+ type: "uint32",
161
+ },
162
+ ],
163
+ indexed: false,
164
+ internalType: "struct PoolAccountantStructs.Fee",
165
+ name: "fee",
166
+ type: "tuple",
167
+ },
168
+ ],
169
+ name: "FeeAdded",
170
+ type: "event",
171
+ },
172
+ {
173
+ anonymous: false,
174
+ inputs: [
175
+ {
176
+ indexed: true,
177
+ internalType: "uint256",
178
+ name: "id",
179
+ type: "uint256",
180
+ },
181
+ {
182
+ components: [
183
+ {
184
+ internalType: "uint16",
185
+ name: "id",
186
+ type: "uint16",
187
+ },
188
+ {
189
+ internalType: "uint32",
190
+ name: "openFeeF",
191
+ type: "uint32",
192
+ },
193
+ {
194
+ internalType: "uint32",
195
+ name: "closeFeeF",
196
+ type: "uint32",
197
+ },
198
+ {
199
+ internalType: "uint32",
200
+ name: "performanceFeeF",
201
+ type: "uint32",
202
+ },
203
+ ],
204
+ indexed: false,
205
+ internalType: "struct PoolAccountantStructs.Fee",
206
+ name: "fee",
207
+ type: "tuple",
208
+ },
209
+ ],
210
+ name: "FeeUpdated",
211
+ type: "event",
212
+ },
213
+ {
214
+ anonymous: false,
215
+ inputs: [
216
+ {
217
+ indexed: true,
218
+ internalType: "bytes32",
219
+ name: "positionId",
220
+ type: "bytes32",
221
+ },
222
+ {
223
+ indexed: true,
224
+ internalType: "address",
225
+ name: "trader",
226
+ type: "address",
227
+ },
228
+ {
229
+ indexed: true,
230
+ internalType: "uint16",
231
+ name: "pairId",
232
+ type: "uint16",
233
+ },
234
+ {
235
+ components: [
236
+ {
237
+ internalType: "uint256",
238
+ name: "collateral",
239
+ type: "uint256",
240
+ },
241
+ {
242
+ internalType: "uint32",
243
+ name: "leverage",
244
+ type: "uint32",
245
+ },
246
+ {
247
+ internalType: "bool",
248
+ name: "long",
249
+ type: "bool",
250
+ },
251
+ {
252
+ internalType: "uint64",
253
+ name: "openPrice",
254
+ type: "uint64",
255
+ },
256
+ {
257
+ internalType: "uint64",
258
+ name: "tp",
259
+ type: "uint64",
260
+ },
261
+ ],
262
+ indexed: false,
263
+ internalType: "struct PoolAccountantStructs.PositionRegistrationParams",
264
+ name: "positionRegistrationParams",
265
+ type: "tuple",
266
+ },
267
+ {
268
+ indexed: false,
269
+ internalType: "int256",
270
+ name: "profitPrecision",
271
+ type: "int256",
272
+ },
273
+ {
274
+ indexed: false,
275
+ internalType: "uint256",
276
+ name: "interest",
277
+ type: "uint256",
278
+ },
279
+ {
280
+ indexed: false,
281
+ internalType: "int256",
282
+ name: "funding",
283
+ type: "int256",
284
+ },
285
+ {
286
+ indexed: false,
287
+ internalType: "uint256",
288
+ name: "closingFee",
289
+ type: "uint256",
290
+ },
291
+ {
292
+ indexed: false,
293
+ internalType: "uint256",
294
+ name: "tradeValue",
295
+ type: "uint256",
296
+ },
297
+ ],
298
+ name: "FeesCharged",
299
+ type: "event",
300
+ },
301
+ {
302
+ anonymous: false,
303
+ inputs: [
304
+ {
305
+ indexed: true,
306
+ internalType: "uint256",
307
+ name: "id",
308
+ type: "uint256",
309
+ },
310
+ {
311
+ indexed: true,
312
+ internalType: "string",
313
+ name: "groupName",
314
+ type: "string",
315
+ },
316
+ {
317
+ components: [
318
+ {
319
+ internalType: "uint16",
320
+ name: "id",
321
+ type: "uint16",
322
+ },
323
+ {
324
+ internalType: "uint32",
325
+ name: "minLeverage",
326
+ type: "uint32",
327
+ },
328
+ {
329
+ internalType: "uint32",
330
+ name: "maxLeverage",
331
+ type: "uint32",
332
+ },
333
+ {
334
+ internalType: "uint32",
335
+ name: "maxBorrowF",
336
+ type: "uint32",
337
+ },
338
+ {
339
+ internalType: "uint256",
340
+ name: "maxPositionSize",
341
+ type: "uint256",
342
+ },
343
+ {
344
+ internalType: "uint256",
345
+ name: "minOpenFee",
346
+ type: "uint256",
347
+ },
348
+ ],
349
+ indexed: false,
350
+ internalType: "struct PoolAccountantStructs.Group",
351
+ name: "group",
352
+ type: "tuple",
353
+ },
354
+ ],
355
+ name: "GroupAdded",
356
+ type: "event",
357
+ },
358
+ {
359
+ anonymous: false,
360
+ inputs: [
361
+ {
362
+ indexed: true,
363
+ internalType: "uint256",
364
+ name: "id",
365
+ type: "uint256",
366
+ },
367
+ {
368
+ components: [
369
+ {
370
+ internalType: "uint16",
371
+ name: "id",
372
+ type: "uint16",
373
+ },
374
+ {
375
+ internalType: "uint32",
376
+ name: "minLeverage",
377
+ type: "uint32",
378
+ },
379
+ {
380
+ internalType: "uint32",
381
+ name: "maxLeverage",
382
+ type: "uint32",
383
+ },
384
+ {
385
+ internalType: "uint32",
386
+ name: "maxBorrowF",
387
+ type: "uint32",
388
+ },
389
+ {
390
+ internalType: "uint256",
391
+ name: "maxPositionSize",
392
+ type: "uint256",
393
+ },
394
+ {
395
+ internalType: "uint256",
396
+ name: "minOpenFee",
397
+ type: "uint256",
398
+ },
399
+ ],
400
+ indexed: false,
401
+ internalType: "struct PoolAccountantStructs.Group",
402
+ name: "group",
403
+ type: "tuple",
404
+ },
405
+ ],
406
+ name: "GroupUpdated",
407
+ type: "event",
408
+ },
409
+ {
410
+ anonymous: false,
411
+ inputs: [
412
+ {
413
+ indexed: false,
414
+ internalType: "uint256",
415
+ name: "pairIndex",
416
+ type: "uint256",
417
+ },
418
+ {
419
+ indexed: false,
420
+ internalType: "uint256",
421
+ name: "maxOpenInterest",
422
+ type: "uint256",
423
+ },
424
+ ],
425
+ name: "MaxOpenInterestUpdated",
426
+ type: "event",
427
+ },
428
+ {
429
+ anonymous: false,
430
+ inputs: [
431
+ {
432
+ indexed: true,
433
+ internalType: "enum PoolAccountantV1AdminEnums.PoolAccountantV1NumbersEnum",
434
+ name: "enumCode",
435
+ type: "uint8",
436
+ },
437
+ {
438
+ indexed: false,
439
+ internalType: "uint256",
440
+ name: "value",
441
+ type: "uint256",
442
+ },
443
+ ],
444
+ name: "NumberUpdated",
445
+ type: "event",
446
+ },
447
+ {
448
+ anonymous: false,
449
+ inputs: [
450
+ {
451
+ indexed: true,
452
+ internalType: "uint256",
453
+ name: "id",
454
+ type: "uint256",
455
+ },
456
+ {
457
+ indexed: true,
458
+ internalType: "string",
459
+ name: "from",
460
+ type: "string",
461
+ },
462
+ {
463
+ indexed: true,
464
+ internalType: "string",
465
+ name: "to",
466
+ type: "string",
467
+ },
468
+ {
469
+ components: [
470
+ {
471
+ internalType: "uint16",
472
+ name: "id",
473
+ type: "uint16",
474
+ },
475
+ {
476
+ internalType: "uint16",
477
+ name: "groupId",
478
+ type: "uint16",
479
+ },
480
+ {
481
+ internalType: "uint16",
482
+ name: "feeId",
483
+ type: "uint16",
484
+ },
485
+ {
486
+ internalType: "uint32",
487
+ name: "minLeverage",
488
+ type: "uint32",
489
+ },
490
+ {
491
+ internalType: "uint32",
492
+ name: "maxLeverage",
493
+ type: "uint32",
494
+ },
495
+ {
496
+ internalType: "uint32",
497
+ name: "maxBorrowF",
498
+ type: "uint32",
499
+ },
500
+ {
501
+ internalType: "uint256",
502
+ name: "maxPositionSize",
503
+ type: "uint256",
504
+ },
505
+ {
506
+ internalType: "uint256",
507
+ name: "maxGain",
508
+ type: "uint256",
509
+ },
510
+ {
511
+ internalType: "uint256",
512
+ name: "maxOpenInterest",
513
+ type: "uint256",
514
+ },
515
+ {
516
+ internalType: "uint256",
517
+ name: "maxSkew",
518
+ type: "uint256",
519
+ },
520
+ {
521
+ internalType: "uint256",
522
+ name: "minOpenFee",
523
+ type: "uint256",
524
+ },
525
+ {
526
+ internalType: "uint256",
527
+ name: "minPerformanceFee",
528
+ type: "uint256",
529
+ },
530
+ ],
531
+ indexed: false,
532
+ internalType: "struct PoolAccountantStructs.Pair",
533
+ name: "pair",
534
+ type: "tuple",
535
+ },
536
+ ],
537
+ name: "PairAdded",
538
+ type: "event",
539
+ },
540
+ {
541
+ anonymous: false,
542
+ inputs: [
543
+ {
544
+ indexed: true,
545
+ internalType: "uint256",
546
+ name: "id",
547
+ type: "uint256",
548
+ },
549
+ {
550
+ components: [
551
+ {
552
+ internalType: "uint16",
553
+ name: "id",
554
+ type: "uint16",
555
+ },
556
+ {
557
+ internalType: "uint16",
558
+ name: "groupId",
559
+ type: "uint16",
560
+ },
561
+ {
562
+ internalType: "uint16",
563
+ name: "feeId",
564
+ type: "uint16",
565
+ },
566
+ {
567
+ internalType: "uint32",
568
+ name: "minLeverage",
569
+ type: "uint32",
570
+ },
571
+ {
572
+ internalType: "uint32",
573
+ name: "maxLeverage",
574
+ type: "uint32",
575
+ },
576
+ {
577
+ internalType: "uint32",
578
+ name: "maxBorrowF",
579
+ type: "uint32",
580
+ },
581
+ {
582
+ internalType: "uint256",
583
+ name: "maxPositionSize",
584
+ type: "uint256",
585
+ },
586
+ {
587
+ internalType: "uint256",
588
+ name: "maxGain",
589
+ type: "uint256",
590
+ },
591
+ {
592
+ internalType: "uint256",
593
+ name: "maxOpenInterest",
594
+ type: "uint256",
595
+ },
596
+ {
597
+ internalType: "uint256",
598
+ name: "maxSkew",
599
+ type: "uint256",
600
+ },
601
+ {
602
+ internalType: "uint256",
603
+ name: "minOpenFee",
604
+ type: "uint256",
605
+ },
606
+ {
607
+ internalType: "uint256",
608
+ name: "minPerformanceFee",
609
+ type: "uint256",
610
+ },
611
+ ],
612
+ indexed: false,
613
+ internalType: "struct PoolAccountantStructs.Pair",
614
+ name: "pair",
615
+ type: "tuple",
616
+ },
617
+ ],
618
+ name: "PairUpdated",
619
+ type: "event",
620
+ },
621
+ {
622
+ anonymous: false,
623
+ inputs: [
624
+ {
625
+ indexed: true,
626
+ internalType: "bytes32",
627
+ name: "positionId",
628
+ type: "bytes32",
629
+ },
630
+ {
631
+ indexed: false,
632
+ internalType: "uint256",
633
+ name: "performanceFee",
634
+ type: "uint256",
635
+ },
636
+ ],
637
+ name: "PerformanceFeeCharging",
638
+ type: "event",
639
+ },
640
+ {
641
+ anonymous: false,
642
+ inputs: [
643
+ {
644
+ indexed: true,
645
+ internalType: "uint16",
646
+ name: "pairId",
647
+ type: "uint16",
648
+ },
649
+ {
650
+ indexed: false,
651
+ internalType: "uint256",
652
+ name: "protocolFundingShare",
653
+ type: "uint256",
654
+ },
655
+ ],
656
+ name: "ProtocolFundingShareAccrued",
657
+ type: "event",
658
+ },
659
+ {
660
+ anonymous: false,
661
+ inputs: [
662
+ {
663
+ indexed: true,
664
+ internalType: "uint256",
665
+ name: "pairId",
666
+ type: "uint256",
667
+ },
668
+ {
669
+ indexed: false,
670
+ internalType: "uint256",
671
+ name: "repayAmount",
672
+ type: "uint256",
673
+ },
674
+ {
675
+ indexed: false,
676
+ internalType: "uint256",
677
+ name: "newTotalBorrows",
678
+ type: "uint256",
679
+ },
680
+ ],
681
+ name: "Repay",
682
+ type: "event",
683
+ },
684
+ {
685
+ anonymous: false,
686
+ inputs: [
687
+ {
688
+ indexed: true,
689
+ internalType: "bytes32",
690
+ name: "positionId",
691
+ type: "bytes32",
692
+ },
693
+ {
694
+ indexed: false,
695
+ internalType: "uint256",
696
+ name: "borrowIndex",
697
+ type: "uint256",
698
+ },
699
+ {
700
+ indexed: false,
701
+ internalType: "int256",
702
+ name: "funding",
703
+ type: "int256",
704
+ },
705
+ ],
706
+ name: "TradeInitialAccFeesStored",
707
+ type: "event",
708
+ },
709
+ {
710
+ anonymous: false,
711
+ inputs: [
712
+ {
713
+ indexed: true,
714
+ internalType: "uint256",
715
+ name: "pairId",
716
+ type: "uint256",
717
+ },
718
+ ],
719
+ name: "TradersPairGainsReset",
720
+ type: "event",
721
+ },
722
+ {
723
+ inputs: [],
724
+ name: "ACCURACY_IMPROVEMENT_SCALE",
725
+ outputs: [
726
+ {
727
+ internalType: "uint256",
728
+ name: "",
729
+ type: "uint256",
730
+ },
731
+ ],
732
+ stateMutability: "view",
733
+ type: "function",
734
+ },
735
+ {
736
+ inputs: [],
737
+ name: "FRACTION_SCALE",
738
+ outputs: [
739
+ {
740
+ internalType: "uint256",
741
+ name: "",
742
+ type: "uint256",
743
+ },
744
+ ],
745
+ stateMutability: "view",
746
+ type: "function",
747
+ },
748
+ {
749
+ inputs: [],
750
+ name: "LEVERAGE_SCALE",
751
+ outputs: [
752
+ {
753
+ internalType: "uint256",
754
+ name: "",
755
+ type: "uint256",
756
+ },
757
+ ],
758
+ stateMutability: "view",
759
+ type: "function",
760
+ },
761
+ {
762
+ inputs: [],
763
+ name: "PRECISION",
764
+ outputs: [
765
+ {
766
+ internalType: "uint256",
767
+ name: "",
768
+ type: "uint256",
769
+ },
770
+ ],
771
+ stateMutability: "view",
772
+ type: "function",
773
+ },
774
+ {
775
+ inputs: [
776
+ {
777
+ internalType: "contract PoolAccountantProxy",
778
+ name: "proxy",
779
+ type: "address",
780
+ },
781
+ ],
782
+ name: "_become",
783
+ outputs: [],
784
+ stateMutability: "nonpayable",
785
+ type: "function",
786
+ },
787
+ {
788
+ inputs: [],
789
+ name: "accrualBlockTimestamp",
790
+ outputs: [
791
+ {
792
+ internalType: "uint256",
793
+ name: "",
794
+ type: "uint256",
795
+ },
796
+ ],
797
+ stateMutability: "view",
798
+ type: "function",
799
+ },
800
+ {
801
+ inputs: [
802
+ {
803
+ internalType: "uint16",
804
+ name: "pairId",
805
+ type: "uint16",
806
+ },
807
+ ],
808
+ name: "accrueFunding",
809
+ outputs: [
810
+ {
811
+ internalType: "int256",
812
+ name: "valueLong",
813
+ type: "int256",
814
+ },
815
+ {
816
+ internalType: "int256",
817
+ name: "valueShort",
818
+ type: "int256",
819
+ },
820
+ {
821
+ internalType: "uint256",
822
+ name: "protocolFundingShare",
823
+ type: "uint256",
824
+ },
825
+ ],
826
+ stateMutability: "nonpayable",
827
+ type: "function",
828
+ },
829
+ {
830
+ inputs: [],
831
+ name: "accrueInterest",
832
+ outputs: [
833
+ {
834
+ internalType: "uint256",
835
+ name: "totalInterestNew",
836
+ type: "uint256",
837
+ },
838
+ {
839
+ internalType: "uint256",
840
+ name: "interestShareNew",
841
+ type: "uint256",
842
+ },
843
+ {
844
+ internalType: "uint256",
845
+ name: "borrowIndexNew",
846
+ type: "uint256",
847
+ },
848
+ ],
849
+ stateMutability: "nonpayable",
850
+ type: "function",
851
+ },
852
+ {
853
+ inputs: [
854
+ {
855
+ internalType: "uint256",
856
+ name: "availableCash",
857
+ type: "uint256",
858
+ },
859
+ ],
860
+ name: "accrueInterest",
861
+ outputs: [
862
+ {
863
+ internalType: "uint256",
864
+ name: "totalInterestNew",
865
+ type: "uint256",
866
+ },
867
+ {
868
+ internalType: "uint256",
869
+ name: "interestShareNew",
870
+ type: "uint256",
871
+ },
872
+ {
873
+ internalType: "uint256",
874
+ name: "borrowIndexNew",
875
+ type: "uint256",
876
+ },
877
+ ],
878
+ stateMutability: "nonpayable",
879
+ type: "function",
880
+ },
881
+ {
882
+ inputs: [
883
+ {
884
+ components: [
885
+ {
886
+ internalType: "uint16",
887
+ name: "id",
888
+ type: "uint16",
889
+ },
890
+ {
891
+ internalType: "uint32",
892
+ name: "openFeeF",
893
+ type: "uint32",
894
+ },
895
+ {
896
+ internalType: "uint32",
897
+ name: "closeFeeF",
898
+ type: "uint32",
899
+ },
900
+ {
901
+ internalType: "uint32",
902
+ name: "performanceFeeF",
903
+ type: "uint32",
904
+ },
905
+ ],
906
+ internalType: "struct PoolAccountantStructs.Fee",
907
+ name: "_fee",
908
+ type: "tuple",
909
+ },
910
+ ],
911
+ name: "addFee",
912
+ outputs: [],
913
+ stateMutability: "nonpayable",
914
+ type: "function",
915
+ },
916
+ {
917
+ inputs: [
918
+ {
919
+ components: [
920
+ {
921
+ internalType: "uint16",
922
+ name: "id",
923
+ type: "uint16",
924
+ },
925
+ {
926
+ internalType: "uint32",
927
+ name: "minLeverage",
928
+ type: "uint32",
929
+ },
930
+ {
931
+ internalType: "uint32",
932
+ name: "maxLeverage",
933
+ type: "uint32",
934
+ },
935
+ {
936
+ internalType: "uint32",
937
+ name: "maxBorrowF",
938
+ type: "uint32",
939
+ },
940
+ {
941
+ internalType: "uint256",
942
+ name: "maxPositionSize",
943
+ type: "uint256",
944
+ },
945
+ {
946
+ internalType: "uint256",
947
+ name: "minOpenFee",
948
+ type: "uint256",
949
+ },
950
+ ],
951
+ internalType: "struct PoolAccountantStructs.Group",
952
+ name: "_group",
953
+ type: "tuple",
954
+ },
955
+ ],
956
+ name: "addGroup",
957
+ outputs: [],
958
+ stateMutability: "nonpayable",
959
+ type: "function",
960
+ },
961
+ {
962
+ inputs: [
963
+ {
964
+ components: [
965
+ {
966
+ internalType: "uint16",
967
+ name: "id",
968
+ type: "uint16",
969
+ },
970
+ {
971
+ internalType: "uint16",
972
+ name: "groupId",
973
+ type: "uint16",
974
+ },
975
+ {
976
+ internalType: "uint16",
977
+ name: "feeId",
978
+ type: "uint16",
979
+ },
980
+ {
981
+ internalType: "uint32",
982
+ name: "minLeverage",
983
+ type: "uint32",
984
+ },
985
+ {
986
+ internalType: "uint32",
987
+ name: "maxLeverage",
988
+ type: "uint32",
989
+ },
990
+ {
991
+ internalType: "uint32",
992
+ name: "maxBorrowF",
993
+ type: "uint32",
994
+ },
995
+ {
996
+ internalType: "uint256",
997
+ name: "maxPositionSize",
998
+ type: "uint256",
999
+ },
1000
+ {
1001
+ internalType: "uint256",
1002
+ name: "maxGain",
1003
+ type: "uint256",
1004
+ },
1005
+ {
1006
+ internalType: "uint256",
1007
+ name: "maxOpenInterest",
1008
+ type: "uint256",
1009
+ },
1010
+ {
1011
+ internalType: "uint256",
1012
+ name: "maxSkew",
1013
+ type: "uint256",
1014
+ },
1015
+ {
1016
+ internalType: "uint256",
1017
+ name: "minOpenFee",
1018
+ type: "uint256",
1019
+ },
1020
+ {
1021
+ internalType: "uint256",
1022
+ name: "minPerformanceFee",
1023
+ type: "uint256",
1024
+ },
1025
+ ],
1026
+ internalType: "struct PoolAccountantStructs.Pair",
1027
+ name: "_pair",
1028
+ type: "tuple",
1029
+ },
1030
+ ],
1031
+ name: "addPair",
1032
+ outputs: [],
1033
+ stateMutability: "nonpayable",
1034
+ type: "function",
1035
+ },
1036
+ {
1037
+ inputs: [
1038
+ {
1039
+ components: [
1040
+ {
1041
+ internalType: "uint16",
1042
+ name: "id",
1043
+ type: "uint16",
1044
+ },
1045
+ {
1046
+ internalType: "uint16",
1047
+ name: "groupId",
1048
+ type: "uint16",
1049
+ },
1050
+ {
1051
+ internalType: "uint16",
1052
+ name: "feeId",
1053
+ type: "uint16",
1054
+ },
1055
+ {
1056
+ internalType: "uint32",
1057
+ name: "minLeverage",
1058
+ type: "uint32",
1059
+ },
1060
+ {
1061
+ internalType: "uint32",
1062
+ name: "maxLeverage",
1063
+ type: "uint32",
1064
+ },
1065
+ {
1066
+ internalType: "uint32",
1067
+ name: "maxBorrowF",
1068
+ type: "uint32",
1069
+ },
1070
+ {
1071
+ internalType: "uint256",
1072
+ name: "maxPositionSize",
1073
+ type: "uint256",
1074
+ },
1075
+ {
1076
+ internalType: "uint256",
1077
+ name: "maxGain",
1078
+ type: "uint256",
1079
+ },
1080
+ {
1081
+ internalType: "uint256",
1082
+ name: "maxOpenInterest",
1083
+ type: "uint256",
1084
+ },
1085
+ {
1086
+ internalType: "uint256",
1087
+ name: "maxSkew",
1088
+ type: "uint256",
1089
+ },
1090
+ {
1091
+ internalType: "uint256",
1092
+ name: "minOpenFee",
1093
+ type: "uint256",
1094
+ },
1095
+ {
1096
+ internalType: "uint256",
1097
+ name: "minPerformanceFee",
1098
+ type: "uint256",
1099
+ },
1100
+ ],
1101
+ internalType: "struct PoolAccountantStructs.Pair[]",
1102
+ name: "_pairs",
1103
+ type: "tuple[]",
1104
+ },
1105
+ ],
1106
+ name: "addPairs",
1107
+ outputs: [],
1108
+ stateMutability: "nonpayable",
1109
+ type: "function",
1110
+ },
1111
+ {
1112
+ inputs: [
1113
+ {
1114
+ internalType: "uint256",
1115
+ name: "closePrice",
1116
+ type: "uint256",
1117
+ },
1118
+ {
1119
+ internalType: "uint256",
1120
+ name: "tp",
1121
+ type: "uint256",
1122
+ },
1123
+ {
1124
+ internalType: "bool",
1125
+ name: "long",
1126
+ type: "bool",
1127
+ },
1128
+ ],
1129
+ name: "adjustClosePrice",
1130
+ outputs: [
1131
+ {
1132
+ internalType: "uint256",
1133
+ name: "",
1134
+ type: "uint256",
1135
+ },
1136
+ ],
1137
+ stateMutability: "pure",
1138
+ type: "function",
1139
+ },
1140
+ {
1141
+ inputs: [],
1142
+ name: "admin",
1143
+ outputs: [
1144
+ {
1145
+ internalType: "address",
1146
+ name: "",
1147
+ type: "address",
1148
+ },
1149
+ ],
1150
+ stateMutability: "view",
1151
+ type: "function",
1152
+ },
1153
+ {
1154
+ inputs: [],
1155
+ name: "borrowIndex",
1156
+ outputs: [
1157
+ {
1158
+ internalType: "uint256",
1159
+ name: "",
1160
+ type: "uint256",
1161
+ },
1162
+ ],
1163
+ stateMutability: "view",
1164
+ type: "function",
1165
+ },
1166
+ {
1167
+ inputs: [],
1168
+ name: "borrowRateMax",
1169
+ outputs: [
1170
+ {
1171
+ internalType: "uint256",
1172
+ name: "",
1173
+ type: "uint256",
1174
+ },
1175
+ ],
1176
+ stateMutability: "view",
1177
+ type: "function",
1178
+ },
1179
+ {
1180
+ inputs: [],
1181
+ name: "borrowsAndInterestShare",
1182
+ outputs: [
1183
+ {
1184
+ internalType: "uint256",
1185
+ name: "borrows",
1186
+ type: "uint256",
1187
+ },
1188
+ {
1189
+ internalType: "uint256",
1190
+ name: "totalInterestShare",
1191
+ type: "uint256",
1192
+ },
1193
+ ],
1194
+ stateMutability: "view",
1195
+ type: "function",
1196
+ },
1197
+ {
1198
+ inputs: [
1199
+ {
1200
+ internalType: "uint256",
1201
+ name: "openInterestLong",
1202
+ type: "uint256",
1203
+ },
1204
+ {
1205
+ internalType: "uint256",
1206
+ name: "openInterestShort",
1207
+ type: "uint256",
1208
+ },
1209
+ {
1210
+ internalType: "bool",
1211
+ name: "additionIsLong",
1212
+ type: "bool",
1213
+ },
1214
+ {
1215
+ internalType: "uint256",
1216
+ name: "additionOpenInterest",
1217
+ type: "uint256",
1218
+ },
1219
+ ],
1220
+ name: "calcAbsoluteSkew",
1221
+ outputs: [
1222
+ {
1223
+ internalType: "uint256",
1224
+ name: "",
1225
+ type: "uint256",
1226
+ },
1227
+ ],
1228
+ stateMutability: "pure",
1229
+ type: "function",
1230
+ },
1231
+ {
1232
+ inputs: [
1233
+ {
1234
+ internalType: "uint16",
1235
+ name: "pairId",
1236
+ type: "uint16",
1237
+ },
1238
+ ],
1239
+ name: "calcAccrueFundingValues",
1240
+ outputs: [
1241
+ {
1242
+ internalType: "bool",
1243
+ name: "freshened",
1244
+ type: "bool",
1245
+ },
1246
+ {
1247
+ internalType: "int256",
1248
+ name: "valueLong",
1249
+ type: "int256",
1250
+ },
1251
+ {
1252
+ internalType: "int256",
1253
+ name: "valueShort",
1254
+ type: "int256",
1255
+ },
1256
+ {
1257
+ internalType: "uint256",
1258
+ name: "protocolFundingShare",
1259
+ type: "uint256",
1260
+ },
1261
+ ],
1262
+ stateMutability: "view",
1263
+ type: "function",
1264
+ },
1265
+ {
1266
+ inputs: [
1267
+ {
1268
+ internalType: "uint256",
1269
+ name: "availableCash",
1270
+ type: "uint256",
1271
+ },
1272
+ ],
1273
+ name: "calcAccrueInterestValues",
1274
+ outputs: [
1275
+ {
1276
+ internalType: "bool",
1277
+ name: "freshened",
1278
+ type: "bool",
1279
+ },
1280
+ {
1281
+ internalType: "uint256",
1282
+ name: "totalInterestNew",
1283
+ type: "uint256",
1284
+ },
1285
+ {
1286
+ internalType: "uint256",
1287
+ name: "borrowIndexNew",
1288
+ type: "uint256",
1289
+ },
1290
+ {
1291
+ internalType: "uint256",
1292
+ name: "interestShareNew",
1293
+ type: "uint256",
1294
+ },
1295
+ ],
1296
+ stateMutability: "view",
1297
+ type: "function",
1298
+ },
1299
+ {
1300
+ inputs: [],
1301
+ name: "calcAccrueInterestValues",
1302
+ outputs: [
1303
+ {
1304
+ internalType: "bool",
1305
+ name: "freshened",
1306
+ type: "bool",
1307
+ },
1308
+ {
1309
+ internalType: "uint256",
1310
+ name: "totalInterestNew",
1311
+ type: "uint256",
1312
+ },
1313
+ {
1314
+ internalType: "uint256",
1315
+ name: "borrowIndexNew",
1316
+ type: "uint256",
1317
+ },
1318
+ {
1319
+ internalType: "uint256",
1320
+ name: "interestShareNew",
1321
+ type: "uint256",
1322
+ },
1323
+ ],
1324
+ stateMutability: "view",
1325
+ type: "function",
1326
+ },
1327
+ {
1328
+ inputs: [
1329
+ {
1330
+ internalType: "uint256",
1331
+ name: "collateral",
1332
+ type: "uint256",
1333
+ },
1334
+ {
1335
+ internalType: "uint256",
1336
+ name: "leverage",
1337
+ type: "uint256",
1338
+ },
1339
+ {
1340
+ internalType: "bool",
1341
+ name: "long",
1342
+ type: "bool",
1343
+ },
1344
+ {
1345
+ internalType: "uint256",
1346
+ name: "openPrice",
1347
+ type: "uint256",
1348
+ },
1349
+ {
1350
+ internalType: "uint256",
1351
+ name: "tp",
1352
+ type: "uint256",
1353
+ },
1354
+ ],
1355
+ name: "calcBorrowAmount",
1356
+ outputs: [
1357
+ {
1358
+ internalType: "uint256",
1359
+ name: "",
1360
+ type: "uint256",
1361
+ },
1362
+ ],
1363
+ stateMutability: "pure",
1364
+ type: "function",
1365
+ },
1366
+ {
1367
+ inputs: [
1368
+ {
1369
+ internalType: "uint16",
1370
+ name: "pairId",
1371
+ type: "uint16",
1372
+ },
1373
+ {
1374
+ internalType: "uint256",
1375
+ name: "collateral",
1376
+ type: "uint256",
1377
+ },
1378
+ {
1379
+ internalType: "uint32",
1380
+ name: "leverage",
1381
+ type: "uint32",
1382
+ },
1383
+ ],
1384
+ name: "calcClosingFee",
1385
+ outputs: [
1386
+ {
1387
+ internalType: "uint256",
1388
+ name: "",
1389
+ type: "uint256",
1390
+ },
1391
+ ],
1392
+ stateMutability: "view",
1393
+ type: "function",
1394
+ },
1395
+ {
1396
+ inputs: [
1397
+ {
1398
+ internalType: "uint16",
1399
+ name: "pairId",
1400
+ type: "uint16",
1401
+ },
1402
+ {
1403
+ internalType: "uint256",
1404
+ name: "collateral",
1405
+ type: "uint256",
1406
+ },
1407
+ {
1408
+ internalType: "int256",
1409
+ name: "profitPrecision",
1410
+ type: "int256",
1411
+ },
1412
+ ],
1413
+ name: "calcPerformanceFee",
1414
+ outputs: [
1415
+ {
1416
+ internalType: "uint256",
1417
+ name: "",
1418
+ type: "uint256",
1419
+ },
1420
+ ],
1421
+ stateMutability: "view",
1422
+ type: "function",
1423
+ },
1424
+ {
1425
+ inputs: [
1426
+ {
1427
+ internalType: "bytes32",
1428
+ name: "positionId",
1429
+ type: "bytes32",
1430
+ },
1431
+ {
1432
+ internalType: "uint16",
1433
+ name: "pairId",
1434
+ type: "uint16",
1435
+ },
1436
+ {
1437
+ internalType: "bool",
1438
+ name: "long",
1439
+ type: "bool",
1440
+ },
1441
+ {
1442
+ internalType: "uint256",
1443
+ name: "collateral",
1444
+ type: "uint256",
1445
+ },
1446
+ {
1447
+ internalType: "uint32",
1448
+ name: "leverage",
1449
+ type: "uint32",
1450
+ },
1451
+ {
1452
+ internalType: "uint256",
1453
+ name: "openPrice",
1454
+ type: "uint256",
1455
+ },
1456
+ {
1457
+ internalType: "uint256",
1458
+ name: "tp",
1459
+ type: "uint256",
1460
+ },
1461
+ ],
1462
+ name: "calcTradeDynamicFees",
1463
+ outputs: [
1464
+ {
1465
+ internalType: "uint256",
1466
+ name: "interest",
1467
+ type: "uint256",
1468
+ },
1469
+ {
1470
+ internalType: "int256",
1471
+ name: "funding",
1472
+ type: "int256",
1473
+ },
1474
+ ],
1475
+ stateMutability: "nonpayable",
1476
+ type: "function",
1477
+ },
1478
+ {
1479
+ inputs: [
1480
+ {
1481
+ internalType: "uint16",
1482
+ name: "",
1483
+ type: "uint16",
1484
+ },
1485
+ ],
1486
+ name: "fees",
1487
+ outputs: [
1488
+ {
1489
+ internalType: "uint16",
1490
+ name: "id",
1491
+ type: "uint16",
1492
+ },
1493
+ {
1494
+ internalType: "uint32",
1495
+ name: "openFeeF",
1496
+ type: "uint32",
1497
+ },
1498
+ {
1499
+ internalType: "uint32",
1500
+ name: "closeFeeF",
1501
+ type: "uint32",
1502
+ },
1503
+ {
1504
+ internalType: "uint32",
1505
+ name: "performanceFeeF",
1506
+ type: "uint32",
1507
+ },
1508
+ ],
1509
+ stateMutability: "view",
1510
+ type: "function",
1511
+ },
1512
+ {
1513
+ inputs: [],
1514
+ name: "feesCount",
1515
+ outputs: [
1516
+ {
1517
+ internalType: "uint256",
1518
+ name: "",
1519
+ type: "uint256",
1520
+ },
1521
+ ],
1522
+ stateMutability: "view",
1523
+ type: "function",
1524
+ },
1525
+ {
1526
+ inputs: [],
1527
+ name: "frm",
1528
+ outputs: [
1529
+ {
1530
+ internalType: "contract IFundingRateModel",
1531
+ name: "",
1532
+ type: "address",
1533
+ },
1534
+ ],
1535
+ stateMutability: "view",
1536
+ type: "function",
1537
+ },
1538
+ {
1539
+ inputs: [
1540
+ {
1541
+ internalType: "uint256",
1542
+ name: "_oiLong",
1543
+ type: "uint256",
1544
+ },
1545
+ {
1546
+ internalType: "uint256",
1547
+ name: "_oiShort",
1548
+ type: "uint256",
1549
+ },
1550
+ {
1551
+ internalType: "uint256",
1552
+ name: "fundingRate",
1553
+ type: "uint256",
1554
+ },
1555
+ {
1556
+ internalType: "uint256",
1557
+ name: "timeDiff",
1558
+ type: "uint256",
1559
+ },
1560
+ ],
1561
+ name: "fundingIndicesCalculation",
1562
+ outputs: [
1563
+ {
1564
+ internalType: "int256",
1565
+ name: "indexLongChange",
1566
+ type: "int256",
1567
+ },
1568
+ {
1569
+ internalType: "int256",
1570
+ name: "indexShortChange",
1571
+ type: "int256",
1572
+ },
1573
+ {
1574
+ internalType: "uint256",
1575
+ name: "protocolFundingShare",
1576
+ type: "uint256",
1577
+ },
1578
+ ],
1579
+ stateMutability: "view",
1580
+ type: "function",
1581
+ },
1582
+ {
1583
+ inputs: [],
1584
+ name: "fundingRateMax",
1585
+ outputs: [
1586
+ {
1587
+ internalType: "uint256",
1588
+ name: "",
1589
+ type: "uint256",
1590
+ },
1591
+ ],
1592
+ stateMutability: "view",
1593
+ type: "function",
1594
+ },
1595
+ {
1596
+ inputs: [],
1597
+ name: "fundingShare",
1598
+ outputs: [
1599
+ {
1600
+ internalType: "uint256",
1601
+ name: "",
1602
+ type: "uint256",
1603
+ },
1604
+ ],
1605
+ stateMutability: "view",
1606
+ type: "function",
1607
+ },
1608
+ {
1609
+ inputs: [],
1610
+ name: "fundingShareFactor",
1611
+ outputs: [
1612
+ {
1613
+ internalType: "uint256",
1614
+ name: "",
1615
+ type: "uint256",
1616
+ },
1617
+ ],
1618
+ stateMutability: "view",
1619
+ type: "function",
1620
+ },
1621
+ {
1622
+ inputs: [
1623
+ {
1624
+ internalType: "address",
1625
+ name: "settlementAsset",
1626
+ type: "address",
1627
+ },
1628
+ {
1629
+ internalType: "address",
1630
+ name: "trader",
1631
+ type: "address",
1632
+ },
1633
+ {
1634
+ internalType: "uint16",
1635
+ name: "pairId",
1636
+ type: "uint16",
1637
+ },
1638
+ {
1639
+ internalType: "uint32",
1640
+ name: "index",
1641
+ type: "uint32",
1642
+ },
1643
+ ],
1644
+ name: "generatePositionHashId",
1645
+ outputs: [
1646
+ {
1647
+ internalType: "bytes32",
1648
+ name: "hashId",
1649
+ type: "bytes32",
1650
+ },
1651
+ ],
1652
+ stateMutability: "pure",
1653
+ type: "function",
1654
+ },
1655
+ {
1656
+ inputs: [
1657
+ {
1658
+ internalType: "uint256",
1659
+ name: "pairIndex",
1660
+ type: "uint256",
1661
+ },
1662
+ ],
1663
+ name: "getAccFundingLong",
1664
+ outputs: [
1665
+ {
1666
+ internalType: "int256",
1667
+ name: "",
1668
+ type: "int256",
1669
+ },
1670
+ ],
1671
+ stateMutability: "view",
1672
+ type: "function",
1673
+ },
1674
+ {
1675
+ inputs: [
1676
+ {
1677
+ internalType: "uint256",
1678
+ name: "pairIndex",
1679
+ type: "uint256",
1680
+ },
1681
+ ],
1682
+ name: "getAccFundingShort",
1683
+ outputs: [
1684
+ {
1685
+ internalType: "int256",
1686
+ name: "",
1687
+ type: "int256",
1688
+ },
1689
+ ],
1690
+ stateMutability: "view",
1691
+ type: "function",
1692
+ },
1693
+ {
1694
+ inputs: [
1695
+ {
1696
+ internalType: "uint256",
1697
+ name: "pairIndex",
1698
+ type: "uint256",
1699
+ },
1700
+ ],
1701
+ name: "getAccFundingUpdateBlock",
1702
+ outputs: [
1703
+ {
1704
+ internalType: "uint256",
1705
+ name: "",
1706
+ type: "uint256",
1707
+ },
1708
+ ],
1709
+ stateMutability: "view",
1710
+ type: "function",
1711
+ },
1712
+ {
1713
+ inputs: [],
1714
+ name: "getAllSupportedFeeIds",
1715
+ outputs: [
1716
+ {
1717
+ internalType: "uint16[]",
1718
+ name: "",
1719
+ type: "uint16[]",
1720
+ },
1721
+ ],
1722
+ stateMutability: "view",
1723
+ type: "function",
1724
+ },
1725
+ {
1726
+ inputs: [],
1727
+ name: "getAllSupportedGroupsIds",
1728
+ outputs: [
1729
+ {
1730
+ internalType: "uint16[]",
1731
+ name: "",
1732
+ type: "uint16[]",
1733
+ },
1734
+ ],
1735
+ stateMutability: "view",
1736
+ type: "function",
1737
+ },
1738
+ {
1739
+ inputs: [],
1740
+ name: "getAllSupportedPairIds",
1741
+ outputs: [
1742
+ {
1743
+ internalType: "uint16[]",
1744
+ name: "",
1745
+ type: "uint16[]",
1746
+ },
1747
+ ],
1748
+ stateMutability: "view",
1749
+ type: "function",
1750
+ },
1751
+ {
1752
+ inputs: [
1753
+ {
1754
+ internalType: "bytes32",
1755
+ name: "positionId",
1756
+ type: "bytes32",
1757
+ },
1758
+ {
1759
+ internalType: "uint16",
1760
+ name: "pairId",
1761
+ type: "uint16",
1762
+ },
1763
+ {
1764
+ components: [
1765
+ {
1766
+ internalType: "uint256",
1767
+ name: "collateral",
1768
+ type: "uint256",
1769
+ },
1770
+ {
1771
+ internalType: "uint32",
1772
+ name: "leverage",
1773
+ type: "uint32",
1774
+ },
1775
+ {
1776
+ internalType: "bool",
1777
+ name: "long",
1778
+ type: "bool",
1779
+ },
1780
+ {
1781
+ internalType: "uint64",
1782
+ name: "openPrice",
1783
+ type: "uint64",
1784
+ },
1785
+ {
1786
+ internalType: "uint64",
1787
+ name: "tp",
1788
+ type: "uint64",
1789
+ },
1790
+ ],
1791
+ internalType: "struct PoolAccountantStructs.PositionRegistrationParams",
1792
+ name: "positionRegistrationParams",
1793
+ type: "tuple",
1794
+ },
1795
+ {
1796
+ internalType: "uint256",
1797
+ name: "closePrice",
1798
+ type: "uint256",
1799
+ },
1800
+ {
1801
+ internalType: "bool",
1802
+ name: "isLiquidation",
1803
+ type: "bool",
1804
+ },
1805
+ ],
1806
+ name: "getTradeClosingValues",
1807
+ outputs: [
1808
+ {
1809
+ internalType: "uint256",
1810
+ name: "tradeValue",
1811
+ type: "uint256",
1812
+ },
1813
+ {
1814
+ internalType: "uint256",
1815
+ name: "safeClosingFee",
1816
+ type: "uint256",
1817
+ },
1818
+ {
1819
+ internalType: "int256",
1820
+ name: "profitPrecision",
1821
+ type: "int256",
1822
+ },
1823
+ {
1824
+ internalType: "uint256",
1825
+ name: "interest",
1826
+ type: "uint256",
1827
+ },
1828
+ {
1829
+ internalType: "int256",
1830
+ name: "funding",
1831
+ type: "int256",
1832
+ },
1833
+ ],
1834
+ stateMutability: "nonpayable",
1835
+ type: "function",
1836
+ },
1837
+ {
1838
+ inputs: [
1839
+ {
1840
+ internalType: "bytes32",
1841
+ name: "positionId",
1842
+ type: "bytes32",
1843
+ },
1844
+ {
1845
+ internalType: "uint16",
1846
+ name: "pairId",
1847
+ type: "uint16",
1848
+ },
1849
+ {
1850
+ internalType: "bool",
1851
+ name: "long",
1852
+ type: "bool",
1853
+ },
1854
+ {
1855
+ internalType: "uint256",
1856
+ name: "collateral",
1857
+ type: "uint256",
1858
+ },
1859
+ {
1860
+ internalType: "uint32",
1861
+ name: "leverage",
1862
+ type: "uint32",
1863
+ },
1864
+ ],
1865
+ name: "getTradeFunding",
1866
+ outputs: [
1867
+ {
1868
+ internalType: "int256",
1869
+ name: "",
1870
+ type: "int256",
1871
+ },
1872
+ ],
1873
+ stateMutability: "nonpayable",
1874
+ type: "function",
1875
+ },
1876
+ {
1877
+ inputs: [
1878
+ {
1879
+ internalType: "int256",
1880
+ name: "accFundingPerOi",
1881
+ type: "int256",
1882
+ },
1883
+ {
1884
+ internalType: "int256",
1885
+ name: "endAccFundingPerOi",
1886
+ type: "int256",
1887
+ },
1888
+ {
1889
+ internalType: "uint256",
1890
+ name: "collateral",
1891
+ type: "uint256",
1892
+ },
1893
+ {
1894
+ internalType: "uint256",
1895
+ name: "leverage",
1896
+ type: "uint256",
1897
+ },
1898
+ ],
1899
+ name: "getTradeFundingPure",
1900
+ outputs: [
1901
+ {
1902
+ internalType: "int256",
1903
+ name: "",
1904
+ type: "int256",
1905
+ },
1906
+ ],
1907
+ stateMutability: "pure",
1908
+ type: "function",
1909
+ },
1910
+ {
1911
+ inputs: [
1912
+ {
1913
+ internalType: "bytes32",
1914
+ name: "positionId",
1915
+ type: "bytes32",
1916
+ },
1917
+ ],
1918
+ name: "getTradeInitialAccBorrowIndex",
1919
+ outputs: [
1920
+ {
1921
+ internalType: "uint256",
1922
+ name: "",
1923
+ type: "uint256",
1924
+ },
1925
+ ],
1926
+ stateMutability: "view",
1927
+ type: "function",
1928
+ },
1929
+ {
1930
+ inputs: [
1931
+ {
1932
+ internalType: "bytes32",
1933
+ name: "positionId",
1934
+ type: "bytes32",
1935
+ },
1936
+ ],
1937
+ name: "getTradeInitialAccFundingPerOi",
1938
+ outputs: [
1939
+ {
1940
+ internalType: "int256",
1941
+ name: "",
1942
+ type: "int256",
1943
+ },
1944
+ ],
1945
+ stateMutability: "view",
1946
+ type: "function",
1947
+ },
1948
+ {
1949
+ inputs: [
1950
+ {
1951
+ internalType: "bytes32",
1952
+ name: "positionId",
1953
+ type: "bytes32",
1954
+ },
1955
+ {
1956
+ internalType: "uint256",
1957
+ name: "borrowAmount",
1958
+ type: "uint256",
1959
+ },
1960
+ ],
1961
+ name: "getTradeInterest",
1962
+ outputs: [
1963
+ {
1964
+ internalType: "uint256",
1965
+ name: "",
1966
+ type: "uint256",
1967
+ },
1968
+ ],
1969
+ stateMutability: "nonpayable",
1970
+ type: "function",
1971
+ },
1972
+ {
1973
+ inputs: [
1974
+ {
1975
+ internalType: "uint256",
1976
+ name: "tradeBorrowIndex",
1977
+ type: "uint256",
1978
+ },
1979
+ {
1980
+ internalType: "uint256",
1981
+ name: "currentBorrowIndex",
1982
+ type: "uint256",
1983
+ },
1984
+ {
1985
+ internalType: "uint256",
1986
+ name: "borrowAmount",
1987
+ type: "uint256",
1988
+ },
1989
+ {
1990
+ internalType: "uint256",
1991
+ name: "alreadyAccumulated",
1992
+ type: "uint256",
1993
+ },
1994
+ ],
1995
+ name: "getTradeInterestPure",
1996
+ outputs: [
1997
+ {
1998
+ internalType: "uint256",
1999
+ name: "",
2000
+ type: "uint256",
2001
+ },
2002
+ ],
2003
+ stateMutability: "pure",
2004
+ type: "function",
2005
+ },
2006
+ {
2007
+ inputs: [
2008
+ {
2009
+ internalType: "bytes32",
2010
+ name: "positionId",
2011
+ type: "bytes32",
2012
+ },
2013
+ {
2014
+ internalType: "uint16",
2015
+ name: "pairId",
2016
+ type: "uint16",
2017
+ },
2018
+ {
2019
+ internalType: "uint256",
2020
+ name: "openPrice",
2021
+ type: "uint256",
2022
+ },
2023
+ {
2024
+ internalType: "uint256",
2025
+ name: "tp",
2026
+ type: "uint256",
2027
+ },
2028
+ {
2029
+ internalType: "bool",
2030
+ name: "long",
2031
+ type: "bool",
2032
+ },
2033
+ {
2034
+ internalType: "uint256",
2035
+ name: "collateral",
2036
+ type: "uint256",
2037
+ },
2038
+ {
2039
+ internalType: "uint32",
2040
+ name: "leverage",
2041
+ type: "uint32",
2042
+ },
2043
+ ],
2044
+ name: "getTradeLiquidationPrice",
2045
+ outputs: [
2046
+ {
2047
+ internalType: "uint256",
2048
+ name: "",
2049
+ type: "uint256",
2050
+ },
2051
+ ],
2052
+ stateMutability: "nonpayable",
2053
+ type: "function",
2054
+ },
2055
+ {
2056
+ inputs: [
2057
+ {
2058
+ internalType: "uint256",
2059
+ name: "openPrice",
2060
+ type: "uint256",
2061
+ },
2062
+ {
2063
+ internalType: "bool",
2064
+ name: "long",
2065
+ type: "bool",
2066
+ },
2067
+ {
2068
+ internalType: "uint256",
2069
+ name: "collateral",
2070
+ type: "uint256",
2071
+ },
2072
+ {
2073
+ internalType: "uint256",
2074
+ name: "leverage",
2075
+ type: "uint256",
2076
+ },
2077
+ {
2078
+ internalType: "uint256",
2079
+ name: "interest",
2080
+ type: "uint256",
2081
+ },
2082
+ {
2083
+ internalType: "int256",
2084
+ name: "funding",
2085
+ type: "int256",
2086
+ },
2087
+ {
2088
+ internalType: "uint256",
2089
+ name: "closingFee",
2090
+ type: "uint256",
2091
+ },
2092
+ ],
2093
+ name: "getTradeLiquidationPriceView",
2094
+ outputs: [
2095
+ {
2096
+ internalType: "uint256",
2097
+ name: "",
2098
+ type: "uint256",
2099
+ },
2100
+ ],
2101
+ stateMutability: "view",
2102
+ type: "function",
2103
+ },
2104
+ {
2105
+ inputs: [
2106
+ {
2107
+ internalType: "uint256",
2108
+ name: "collateral",
2109
+ type: "uint256",
2110
+ },
2111
+ {
2112
+ internalType: "int256",
2113
+ name: "profitPrecision",
2114
+ type: "int256",
2115
+ },
2116
+ {
2117
+ internalType: "uint256",
2118
+ name: "interest",
2119
+ type: "uint256",
2120
+ },
2121
+ {
2122
+ internalType: "int256",
2123
+ name: "funding",
2124
+ type: "int256",
2125
+ },
2126
+ {
2127
+ internalType: "uint256",
2128
+ name: "closingFee",
2129
+ type: "uint256",
2130
+ },
2131
+ {
2132
+ internalType: "bool",
2133
+ name: "liquidation",
2134
+ type: "bool",
2135
+ },
2136
+ ],
2137
+ name: "getTradeValueView",
2138
+ outputs: [
2139
+ {
2140
+ internalType: "uint256",
2141
+ name: "",
2142
+ type: "uint256",
2143
+ },
2144
+ ],
2145
+ stateMutability: "view",
2146
+ type: "function",
2147
+ },
2148
+ {
2149
+ inputs: [
2150
+ {
2151
+ internalType: "uint256",
2152
+ name: "",
2153
+ type: "uint256",
2154
+ },
2155
+ ],
2156
+ name: "groupBorrows",
2157
+ outputs: [
2158
+ {
2159
+ internalType: "uint256",
2160
+ name: "",
2161
+ type: "uint256",
2162
+ },
2163
+ ],
2164
+ stateMutability: "view",
2165
+ type: "function",
2166
+ },
2167
+ {
2168
+ inputs: [
2169
+ {
2170
+ internalType: "uint16",
2171
+ name: "groupId",
2172
+ type: "uint16",
2173
+ },
2174
+ ],
2175
+ name: "groupMaxBorrow",
2176
+ outputs: [
2177
+ {
2178
+ internalType: "uint256",
2179
+ name: "",
2180
+ type: "uint256",
2181
+ },
2182
+ ],
2183
+ stateMutability: "view",
2184
+ type: "function",
2185
+ },
2186
+ {
2187
+ inputs: [
2188
+ {
2189
+ internalType: "uint16",
2190
+ name: "",
2191
+ type: "uint16",
2192
+ },
2193
+ ],
2194
+ name: "groups",
2195
+ outputs: [
2196
+ {
2197
+ internalType: "uint16",
2198
+ name: "id",
2199
+ type: "uint16",
2200
+ },
2201
+ {
2202
+ internalType: "uint32",
2203
+ name: "minLeverage",
2204
+ type: "uint32",
2205
+ },
2206
+ {
2207
+ internalType: "uint32",
2208
+ name: "maxLeverage",
2209
+ type: "uint32",
2210
+ },
2211
+ {
2212
+ internalType: "uint32",
2213
+ name: "maxBorrowF",
2214
+ type: "uint32",
2215
+ },
2216
+ {
2217
+ internalType: "uint256",
2218
+ name: "maxPositionSize",
2219
+ type: "uint256",
2220
+ },
2221
+ {
2222
+ internalType: "uint256",
2223
+ name: "minOpenFee",
2224
+ type: "uint256",
2225
+ },
2226
+ ],
2227
+ stateMutability: "view",
2228
+ type: "function",
2229
+ },
2230
+ {
2231
+ inputs: [],
2232
+ name: "groupsCount",
2233
+ outputs: [
2234
+ {
2235
+ internalType: "uint256",
2236
+ name: "",
2237
+ type: "uint256",
2238
+ },
2239
+ ],
2240
+ stateMutability: "view",
2241
+ type: "function",
2242
+ },
2243
+ {
2244
+ inputs: [],
2245
+ name: "implementation",
2246
+ outputs: [
2247
+ {
2248
+ internalType: "address",
2249
+ name: "",
2250
+ type: "address",
2251
+ },
2252
+ ],
2253
+ stateMutability: "view",
2254
+ type: "function",
2255
+ },
2256
+ {
2257
+ inputs: [
2258
+ {
2259
+ internalType: "contract ILexPoolV1",
2260
+ name: "_lexPool",
2261
+ type: "address",
2262
+ },
2263
+ {
2264
+ internalType: "contract ITradingFloorV1",
2265
+ name: "_tradingFloor",
2266
+ type: "address",
2267
+ },
2268
+ ],
2269
+ name: "initialize",
2270
+ outputs: [],
2271
+ stateMutability: "nonpayable",
2272
+ type: "function",
2273
+ },
2274
+ {
2275
+ inputs: [
2276
+ {
2277
+ internalType: "contract ITradingFloorV1",
2278
+ name: "_tradingFloor",
2279
+ type: "address",
2280
+ },
2281
+ {
2282
+ internalType: "contract IERC20",
2283
+ name: "_underlying",
2284
+ type: "address",
2285
+ },
2286
+ ],
2287
+ name: "initializeLexCommon",
2288
+ outputs: [],
2289
+ stateMutability: "nonpayable",
2290
+ type: "function",
2291
+ },
2292
+ {
2293
+ inputs: [],
2294
+ name: "interestShare",
2295
+ outputs: [
2296
+ {
2297
+ internalType: "uint256",
2298
+ name: "",
2299
+ type: "uint256",
2300
+ },
2301
+ ],
2302
+ stateMutability: "view",
2303
+ type: "function",
2304
+ },
2305
+ {
2306
+ inputs: [],
2307
+ name: "interestShareFactor",
2308
+ outputs: [
2309
+ {
2310
+ internalType: "uint256",
2311
+ name: "",
2312
+ type: "uint256",
2313
+ },
2314
+ ],
2315
+ stateMutability: "view",
2316
+ type: "function",
2317
+ },
2318
+ {
2319
+ inputs: [],
2320
+ name: "irm",
2321
+ outputs: [
2322
+ {
2323
+ internalType: "contract IInterestRateModel",
2324
+ name: "",
2325
+ type: "address",
2326
+ },
2327
+ ],
2328
+ stateMutability: "view",
2329
+ type: "function",
2330
+ },
2331
+ {
2332
+ inputs: [],
2333
+ name: "lexPartF",
2334
+ outputs: [
2335
+ {
2336
+ internalType: "uint256",
2337
+ name: "",
2338
+ type: "uint256",
2339
+ },
2340
+ ],
2341
+ stateMutability: "view",
2342
+ type: "function",
2343
+ },
2344
+ {
2345
+ inputs: [],
2346
+ name: "lexPool",
2347
+ outputs: [
2348
+ {
2349
+ internalType: "contract ILexPoolV1",
2350
+ name: "",
2351
+ type: "address",
2352
+ },
2353
+ ],
2354
+ stateMutability: "view",
2355
+ type: "function",
2356
+ },
2357
+ {
2358
+ inputs: [],
2359
+ name: "liquidationFeeF",
2360
+ outputs: [
2361
+ {
2362
+ internalType: "uint256",
2363
+ name: "",
2364
+ type: "uint256",
2365
+ },
2366
+ ],
2367
+ stateMutability: "view",
2368
+ type: "function",
2369
+ },
2370
+ {
2371
+ inputs: [],
2372
+ name: "liquidationThresholdF",
2373
+ outputs: [
2374
+ {
2375
+ internalType: "uint256",
2376
+ name: "",
2377
+ type: "uint256",
2378
+ },
2379
+ ],
2380
+ stateMutability: "view",
2381
+ type: "function",
2382
+ },
2383
+ {
2384
+ inputs: [],
2385
+ name: "maxGainF",
2386
+ outputs: [
2387
+ {
2388
+ internalType: "uint256",
2389
+ name: "",
2390
+ type: "uint256",
2391
+ },
2392
+ ],
2393
+ stateMutability: "view",
2394
+ type: "function",
2395
+ },
2396
+ {
2397
+ inputs: [],
2398
+ name: "maxTotalBorrows",
2399
+ outputs: [
2400
+ {
2401
+ internalType: "uint256",
2402
+ name: "",
2403
+ type: "uint256",
2404
+ },
2405
+ ],
2406
+ stateMutability: "view",
2407
+ type: "function",
2408
+ },
2409
+ {
2410
+ inputs: [],
2411
+ name: "maxVirtualUtilization",
2412
+ outputs: [
2413
+ {
2414
+ internalType: "uint256",
2415
+ name: "",
2416
+ type: "uint256",
2417
+ },
2418
+ ],
2419
+ stateMutability: "view",
2420
+ type: "function",
2421
+ },
2422
+ {
2423
+ inputs: [],
2424
+ name: "minOpenFee",
2425
+ outputs: [
2426
+ {
2427
+ internalType: "uint256",
2428
+ name: "",
2429
+ type: "uint256",
2430
+ },
2431
+ ],
2432
+ stateMutability: "view",
2433
+ type: "function",
2434
+ },
2435
+ {
2436
+ inputs: [
2437
+ {
2438
+ internalType: "uint256",
2439
+ name: "",
2440
+ type: "uint256",
2441
+ },
2442
+ ],
2443
+ name: "openInterestInPair",
2444
+ outputs: [
2445
+ {
2446
+ internalType: "uint256",
2447
+ name: "long",
2448
+ type: "uint256",
2449
+ },
2450
+ {
2451
+ internalType: "uint256",
2452
+ name: "short",
2453
+ type: "uint256",
2454
+ },
2455
+ ],
2456
+ stateMutability: "view",
2457
+ type: "function",
2458
+ },
2459
+ {
2460
+ inputs: [
2461
+ {
2462
+ internalType: "uint256",
2463
+ name: "",
2464
+ type: "uint256",
2465
+ },
2466
+ ],
2467
+ name: "pairBorrows",
2468
+ outputs: [
2469
+ {
2470
+ internalType: "uint256",
2471
+ name: "",
2472
+ type: "uint256",
2473
+ },
2474
+ ],
2475
+ stateMutability: "view",
2476
+ type: "function",
2477
+ },
2478
+ {
2479
+ inputs: [
2480
+ {
2481
+ internalType: "uint16",
2482
+ name: "_pairId",
2483
+ type: "uint16",
2484
+ },
2485
+ ],
2486
+ name: "pairCloseFeeF",
2487
+ outputs: [
2488
+ {
2489
+ internalType: "uint32",
2490
+ name: "",
2491
+ type: "uint32",
2492
+ },
2493
+ ],
2494
+ stateMutability: "view",
2495
+ type: "function",
2496
+ },
2497
+ {
2498
+ inputs: [
2499
+ {
2500
+ internalType: "uint256",
2501
+ name: "",
2502
+ type: "uint256",
2503
+ },
2504
+ ],
2505
+ name: "pairFunding",
2506
+ outputs: [
2507
+ {
2508
+ internalType: "int256",
2509
+ name: "accPerOiLong",
2510
+ type: "int256",
2511
+ },
2512
+ {
2513
+ internalType: "int256",
2514
+ name: "accPerOiShort",
2515
+ type: "int256",
2516
+ },
2517
+ {
2518
+ internalType: "uint256",
2519
+ name: "lastUpdateTimestamp",
2520
+ type: "uint256",
2521
+ },
2522
+ ],
2523
+ stateMutability: "view",
2524
+ type: "function",
2525
+ },
2526
+ {
2527
+ inputs: [
2528
+ {
2529
+ internalType: "uint16",
2530
+ name: "pairId",
2531
+ type: "uint16",
2532
+ },
2533
+ ],
2534
+ name: "pairMaxBorrow",
2535
+ outputs: [
2536
+ {
2537
+ internalType: "uint256",
2538
+ name: "",
2539
+ type: "uint256",
2540
+ },
2541
+ ],
2542
+ stateMutability: "view",
2543
+ type: "function",
2544
+ },
2545
+ {
2546
+ inputs: [
2547
+ {
2548
+ internalType: "uint16",
2549
+ name: "_pairId",
2550
+ type: "uint16",
2551
+ },
2552
+ ],
2553
+ name: "pairMinOpenFee",
2554
+ outputs: [
2555
+ {
2556
+ internalType: "uint256",
2557
+ name: "",
2558
+ type: "uint256",
2559
+ },
2560
+ ],
2561
+ stateMutability: "view",
2562
+ type: "function",
2563
+ },
2564
+ {
2565
+ inputs: [
2566
+ {
2567
+ internalType: "uint16",
2568
+ name: "_pairId",
2569
+ type: "uint16",
2570
+ },
2571
+ ],
2572
+ name: "pairOpenFeeF",
2573
+ outputs: [
2574
+ {
2575
+ internalType: "uint32",
2576
+ name: "",
2577
+ type: "uint32",
2578
+ },
2579
+ ],
2580
+ stateMutability: "view",
2581
+ type: "function",
2582
+ },
2583
+ {
2584
+ inputs: [
2585
+ {
2586
+ internalType: "uint16",
2587
+ name: "_pairId",
2588
+ type: "uint16",
2589
+ },
2590
+ ],
2591
+ name: "pairPerformanceFeeF",
2592
+ outputs: [
2593
+ {
2594
+ internalType: "uint32",
2595
+ name: "",
2596
+ type: "uint32",
2597
+ },
2598
+ ],
2599
+ stateMutability: "view",
2600
+ type: "function",
2601
+ },
2602
+ {
2603
+ inputs: [
2604
+ {
2605
+ internalType: "uint256",
2606
+ name: "pairIndex",
2607
+ type: "uint256",
2608
+ },
2609
+ ],
2610
+ name: "pairTotalOpenInterest",
2611
+ outputs: [
2612
+ {
2613
+ internalType: "int256",
2614
+ name: "",
2615
+ type: "int256",
2616
+ },
2617
+ ],
2618
+ stateMutability: "view",
2619
+ type: "function",
2620
+ },
2621
+ {
2622
+ inputs: [
2623
+ {
2624
+ internalType: "uint256",
2625
+ name: "",
2626
+ type: "uint256",
2627
+ },
2628
+ ],
2629
+ name: "pairTotalRatioOiToP",
2630
+ outputs: [
2631
+ {
2632
+ internalType: "int256",
2633
+ name: "",
2634
+ type: "int256",
2635
+ },
2636
+ ],
2637
+ stateMutability: "view",
2638
+ type: "function",
2639
+ },
2640
+ {
2641
+ inputs: [
2642
+ {
2643
+ internalType: "uint16",
2644
+ name: "",
2645
+ type: "uint16",
2646
+ },
2647
+ ],
2648
+ name: "pairs",
2649
+ outputs: [
2650
+ {
2651
+ internalType: "uint16",
2652
+ name: "id",
2653
+ type: "uint16",
2654
+ },
2655
+ {
2656
+ internalType: "uint16",
2657
+ name: "groupId",
2658
+ type: "uint16",
2659
+ },
2660
+ {
2661
+ internalType: "uint16",
2662
+ name: "feeId",
2663
+ type: "uint16",
2664
+ },
2665
+ {
2666
+ internalType: "uint32",
2667
+ name: "minLeverage",
2668
+ type: "uint32",
2669
+ },
2670
+ {
2671
+ internalType: "uint32",
2672
+ name: "maxLeverage",
2673
+ type: "uint32",
2674
+ },
2675
+ {
2676
+ internalType: "uint32",
2677
+ name: "maxBorrowF",
2678
+ type: "uint32",
2679
+ },
2680
+ {
2681
+ internalType: "uint256",
2682
+ name: "maxPositionSize",
2683
+ type: "uint256",
2684
+ },
2685
+ {
2686
+ internalType: "uint256",
2687
+ name: "maxGain",
2688
+ type: "uint256",
2689
+ },
2690
+ {
2691
+ internalType: "uint256",
2692
+ name: "maxOpenInterest",
2693
+ type: "uint256",
2694
+ },
2695
+ {
2696
+ internalType: "uint256",
2697
+ name: "maxSkew",
2698
+ type: "uint256",
2699
+ },
2700
+ {
2701
+ internalType: "uint256",
2702
+ name: "minOpenFee",
2703
+ type: "uint256",
2704
+ },
2705
+ {
2706
+ internalType: "uint256",
2707
+ name: "minPerformanceFee",
2708
+ type: "uint256",
2709
+ },
2710
+ ],
2711
+ stateMutability: "view",
2712
+ type: "function",
2713
+ },
2714
+ {
2715
+ inputs: [],
2716
+ name: "pairsCount",
2717
+ outputs: [
2718
+ {
2719
+ internalType: "uint256",
2720
+ name: "",
2721
+ type: "uint256",
2722
+ },
2723
+ ],
2724
+ stateMutability: "view",
2725
+ type: "function",
2726
+ },
2727
+ {
2728
+ inputs: [],
2729
+ name: "pendingAdmin",
2730
+ outputs: [
2731
+ {
2732
+ internalType: "address",
2733
+ name: "",
2734
+ type: "address",
2735
+ },
2736
+ ],
2737
+ stateMutability: "view",
2738
+ type: "function",
2739
+ },
2740
+ {
2741
+ inputs: [],
2742
+ name: "pendingImplementation",
2743
+ outputs: [
2744
+ {
2745
+ internalType: "address",
2746
+ name: "",
2747
+ type: "address",
2748
+ },
2749
+ ],
2750
+ stateMutability: "view",
2751
+ type: "function",
2752
+ },
2753
+ {
2754
+ inputs: [
2755
+ {
2756
+ internalType: "uint256",
2757
+ name: "pairId",
2758
+ type: "uint256",
2759
+ },
2760
+ {
2761
+ internalType: "uint256",
2762
+ name: "price",
2763
+ type: "uint256",
2764
+ },
2765
+ ],
2766
+ name: "pricePnL",
2767
+ outputs: [
2768
+ {
2769
+ internalType: "int256",
2770
+ name: "",
2771
+ type: "int256",
2772
+ },
2773
+ ],
2774
+ stateMutability: "view",
2775
+ type: "function",
2776
+ },
2777
+ {
2778
+ inputs: [],
2779
+ name: "readAndZeroReserves",
2780
+ outputs: [
2781
+ {
2782
+ internalType: "uint256",
2783
+ name: "accumulatedInterestShare",
2784
+ type: "uint256",
2785
+ },
2786
+ {
2787
+ internalType: "uint256",
2788
+ name: "accFundingShare",
2789
+ type: "uint256",
2790
+ },
2791
+ ],
2792
+ stateMutability: "nonpayable",
2793
+ type: "function",
2794
+ },
2795
+ {
2796
+ inputs: [],
2797
+ name: "realizedFundingSurplusDeficit",
2798
+ outputs: [
2799
+ {
2800
+ internalType: "int256",
2801
+ name: "",
2802
+ type: "int256",
2803
+ },
2804
+ ],
2805
+ stateMutability: "view",
2806
+ type: "function",
2807
+ },
2808
+ {
2809
+ inputs: [
2810
+ {
2811
+ internalType: "bytes32",
2812
+ name: "positionId",
2813
+ type: "bytes32",
2814
+ },
2815
+ {
2816
+ internalType: "address",
2817
+ name: "trader",
2818
+ type: "address",
2819
+ },
2820
+ {
2821
+ internalType: "uint16",
2822
+ name: "pairId",
2823
+ type: "uint16",
2824
+ },
2825
+ {
2826
+ components: [
2827
+ {
2828
+ internalType: "uint256",
2829
+ name: "collateral",
2830
+ type: "uint256",
2831
+ },
2832
+ {
2833
+ internalType: "uint32",
2834
+ name: "leverage",
2835
+ type: "uint32",
2836
+ },
2837
+ {
2838
+ internalType: "bool",
2839
+ name: "long",
2840
+ type: "bool",
2841
+ },
2842
+ {
2843
+ internalType: "uint64",
2844
+ name: "openPrice",
2845
+ type: "uint64",
2846
+ },
2847
+ {
2848
+ internalType: "uint64",
2849
+ name: "tp",
2850
+ type: "uint64",
2851
+ },
2852
+ ],
2853
+ internalType: "struct PoolAccountantStructs.PositionRegistrationParams",
2854
+ name: "positionRegistrationParams",
2855
+ type: "tuple",
2856
+ },
2857
+ {
2858
+ internalType: "uint256",
2859
+ name: "closePrice",
2860
+ type: "uint256",
2861
+ },
2862
+ {
2863
+ internalType: "enum TradingEnumsV1.PositionCloseType",
2864
+ name: "positionCloseType",
2865
+ type: "uint8",
2866
+ },
2867
+ ],
2868
+ name: "registerCloseTrade",
2869
+ outputs: [
2870
+ {
2871
+ internalType: "uint256",
2872
+ name: "closingFee",
2873
+ type: "uint256",
2874
+ },
2875
+ {
2876
+ internalType: "uint256",
2877
+ name: "tradeValue",
2878
+ type: "uint256",
2879
+ },
2880
+ {
2881
+ internalType: "int256",
2882
+ name: "profitPrecision",
2883
+ type: "int256",
2884
+ },
2885
+ {
2886
+ internalType: "uint256",
2887
+ name: "finalClosingPrice",
2888
+ type: "uint256",
2889
+ },
2890
+ ],
2891
+ stateMutability: "nonpayable",
2892
+ type: "function",
2893
+ },
2894
+ {
2895
+ inputs: [
2896
+ {
2897
+ internalType: "bytes32",
2898
+ name: "positionId",
2899
+ type: "bytes32",
2900
+ },
2901
+ {
2902
+ internalType: "address",
2903
+ name: "trader",
2904
+ type: "address",
2905
+ },
2906
+ {
2907
+ internalType: "uint16",
2908
+ name: "pairId",
2909
+ type: "uint16",
2910
+ },
2911
+ {
2912
+ internalType: "uint256",
2913
+ name: "collateral",
2914
+ type: "uint256",
2915
+ },
2916
+ {
2917
+ internalType: "uint32",
2918
+ name: "leverage",
2919
+ type: "uint32",
2920
+ },
2921
+ {
2922
+ internalType: "bool",
2923
+ name: "long",
2924
+ type: "bool",
2925
+ },
2926
+ {
2927
+ internalType: "uint256",
2928
+ name: "tp",
2929
+ type: "uint256",
2930
+ },
2931
+ {
2932
+ internalType: "uint256",
2933
+ name: "openPrice",
2934
+ type: "uint256",
2935
+ },
2936
+ ],
2937
+ name: "registerOpenTrade",
2938
+ outputs: [
2939
+ {
2940
+ internalType: "uint256",
2941
+ name: "openFee",
2942
+ type: "uint256",
2943
+ },
2944
+ {
2945
+ internalType: "uint256",
2946
+ name: "lexPartFee",
2947
+ type: "uint256",
2948
+ },
2949
+ ],
2950
+ stateMutability: "nonpayable",
2951
+ type: "function",
2952
+ },
2953
+ {
2954
+ inputs: [
2955
+ {
2956
+ internalType: "bytes32",
2957
+ name: "positionId",
2958
+ type: "bytes32",
2959
+ },
2960
+ {
2961
+ internalType: "address",
2962
+ name: "",
2963
+ type: "address",
2964
+ },
2965
+ {
2966
+ internalType: "uint16",
2967
+ name: "pairId",
2968
+ type: "uint16",
2969
+ },
2970
+ {
2971
+ internalType: "uint256",
2972
+ name: "collateral",
2973
+ type: "uint256",
2974
+ },
2975
+ {
2976
+ internalType: "uint32",
2977
+ name: "leverage",
2978
+ type: "uint32",
2979
+ },
2980
+ {
2981
+ internalType: "bool",
2982
+ name: "long",
2983
+ type: "bool",
2984
+ },
2985
+ {
2986
+ internalType: "uint256",
2987
+ name: "openPrice",
2988
+ type: "uint256",
2989
+ },
2990
+ {
2991
+ internalType: "uint256",
2992
+ name: "oldTriggerPrice",
2993
+ type: "uint256",
2994
+ },
2995
+ {
2996
+ internalType: "uint256",
2997
+ name: "triggerPrice",
2998
+ type: "uint256",
2999
+ },
3000
+ ],
3001
+ name: "registerUpdateTp",
3002
+ outputs: [],
3003
+ stateMutability: "nonpayable",
3004
+ type: "function",
3005
+ },
3006
+ {
3007
+ inputs: [],
3008
+ name: "registry",
3009
+ outputs: [
3010
+ {
3011
+ internalType: "address",
3012
+ name: "",
3013
+ type: "address",
3014
+ },
3015
+ ],
3016
+ stateMutability: "view",
3017
+ type: "function",
3018
+ },
3019
+ {
3020
+ inputs: [
3021
+ {
3022
+ internalType: "uint256",
3023
+ name: "pairId",
3024
+ type: "uint256",
3025
+ },
3026
+ ],
3027
+ name: "resetTradersPairGains",
3028
+ outputs: [],
3029
+ stateMutability: "nonpayable",
3030
+ type: "function",
3031
+ },
3032
+ {
3033
+ inputs: [
3034
+ {
3035
+ internalType: "uint256",
3036
+ name: "rate",
3037
+ type: "uint256",
3038
+ },
3039
+ ],
3040
+ name: "setBorrowRateMax",
3041
+ outputs: [],
3042
+ stateMutability: "nonpayable",
3043
+ type: "function",
3044
+ },
3045
+ {
3046
+ inputs: [
3047
+ {
3048
+ internalType: "contract IFundingRateModel",
3049
+ name: "_frm",
3050
+ type: "address",
3051
+ },
3052
+ ],
3053
+ name: "setFrm",
3054
+ outputs: [],
3055
+ stateMutability: "nonpayable",
3056
+ type: "function",
3057
+ },
3058
+ {
3059
+ inputs: [
3060
+ {
3061
+ internalType: "uint256",
3062
+ name: "maxValue",
3063
+ type: "uint256",
3064
+ },
3065
+ ],
3066
+ name: "setFundingRateMax",
3067
+ outputs: [],
3068
+ stateMutability: "nonpayable",
3069
+ type: "function",
3070
+ },
3071
+ {
3072
+ inputs: [
3073
+ {
3074
+ internalType: "uint256",
3075
+ name: "factor",
3076
+ type: "uint256",
3077
+ },
3078
+ ],
3079
+ name: "setFundingShareFactor",
3080
+ outputs: [],
3081
+ stateMutability: "nonpayable",
3082
+ type: "function",
3083
+ },
3084
+ {
3085
+ inputs: [
3086
+ {
3087
+ internalType: "uint256",
3088
+ name: "factor",
3089
+ type: "uint256",
3090
+ },
3091
+ ],
3092
+ name: "setInterestShareFactor",
3093
+ outputs: [],
3094
+ stateMutability: "nonpayable",
3095
+ type: "function",
3096
+ },
3097
+ {
3098
+ inputs: [
3099
+ {
3100
+ internalType: "contract IInterestRateModel",
3101
+ name: "_irm",
3102
+ type: "address",
3103
+ },
3104
+ ],
3105
+ name: "setIrm",
3106
+ outputs: [],
3107
+ stateMutability: "nonpayable",
3108
+ type: "function",
3109
+ },
3110
+ {
3111
+ inputs: [
3112
+ {
3113
+ internalType: "contract IInterestRateModel",
3114
+ name: "_irm",
3115
+ type: "address",
3116
+ },
3117
+ ],
3118
+ name: "setIrmHard",
3119
+ outputs: [],
3120
+ stateMutability: "nonpayable",
3121
+ type: "function",
3122
+ },
3123
+ {
3124
+ inputs: [
3125
+ {
3126
+ internalType: "uint256",
3127
+ name: "partF",
3128
+ type: "uint256",
3129
+ },
3130
+ ],
3131
+ name: "setLexPartF",
3132
+ outputs: [],
3133
+ stateMutability: "nonpayable",
3134
+ type: "function",
3135
+ },
3136
+ {
3137
+ inputs: [
3138
+ {
3139
+ internalType: "uint256",
3140
+ name: "fee",
3141
+ type: "uint256",
3142
+ },
3143
+ ],
3144
+ name: "setLiquidationFeeF",
3145
+ outputs: [],
3146
+ stateMutability: "nonpayable",
3147
+ type: "function",
3148
+ },
3149
+ {
3150
+ inputs: [
3151
+ {
3152
+ internalType: "uint256",
3153
+ name: "threshold",
3154
+ type: "uint256",
3155
+ },
3156
+ ],
3157
+ name: "setLiquidationThresholdF",
3158
+ outputs: [],
3159
+ stateMutability: "nonpayable",
3160
+ type: "function",
3161
+ },
3162
+ {
3163
+ inputs: [
3164
+ {
3165
+ internalType: "uint256",
3166
+ name: "_maxGainF",
3167
+ type: "uint256",
3168
+ },
3169
+ ],
3170
+ name: "setMaxGainF",
3171
+ outputs: [],
3172
+ stateMutability: "nonpayable",
3173
+ type: "function",
3174
+ },
3175
+ {
3176
+ inputs: [
3177
+ {
3178
+ internalType: "uint256",
3179
+ name: "maxBorrows",
3180
+ type: "uint256",
3181
+ },
3182
+ ],
3183
+ name: "setMaxTotalBorrows",
3184
+ outputs: [],
3185
+ stateMutability: "nonpayable",
3186
+ type: "function",
3187
+ },
3188
+ {
3189
+ inputs: [
3190
+ {
3191
+ internalType: "uint256",
3192
+ name: "_maxVirtualUtilization",
3193
+ type: "uint256",
3194
+ },
3195
+ ],
3196
+ name: "setMaxVirtualUtilization",
3197
+ outputs: [],
3198
+ stateMutability: "nonpayable",
3199
+ type: "function",
3200
+ },
3201
+ {
3202
+ inputs: [
3203
+ {
3204
+ internalType: "uint256",
3205
+ name: "min",
3206
+ type: "uint256",
3207
+ },
3208
+ ],
3209
+ name: "setMinOpenFee",
3210
+ outputs: [],
3211
+ stateMutability: "nonpayable",
3212
+ type: "function",
3213
+ },
3214
+ {
3215
+ inputs: [
3216
+ {
3217
+ internalType: "address",
3218
+ name: "_tradeIncentivizer",
3219
+ type: "address",
3220
+ },
3221
+ ],
3222
+ name: "setTradeIncentivizer",
3223
+ outputs: [],
3224
+ stateMutability: "nonpayable",
3225
+ type: "function",
3226
+ },
3227
+ {
3228
+ inputs: [
3229
+ {
3230
+ internalType: "uint256",
3231
+ name: "",
3232
+ type: "uint256",
3233
+ },
3234
+ ],
3235
+ name: "supportedFeeIds",
3236
+ outputs: [
3237
+ {
3238
+ internalType: "uint16",
3239
+ name: "",
3240
+ type: "uint16",
3241
+ },
3242
+ ],
3243
+ stateMutability: "view",
3244
+ type: "function",
3245
+ },
3246
+ {
3247
+ inputs: [
3248
+ {
3249
+ internalType: "uint256",
3250
+ name: "",
3251
+ type: "uint256",
3252
+ },
3253
+ ],
3254
+ name: "supportedGroupIds",
3255
+ outputs: [
3256
+ {
3257
+ internalType: "uint16",
3258
+ name: "",
3259
+ type: "uint16",
3260
+ },
3261
+ ],
3262
+ stateMutability: "view",
3263
+ type: "function",
3264
+ },
3265
+ {
3266
+ inputs: [
3267
+ {
3268
+ internalType: "uint256",
3269
+ name: "",
3270
+ type: "uint256",
3271
+ },
3272
+ ],
3273
+ name: "supportedPairIds",
3274
+ outputs: [
3275
+ {
3276
+ internalType: "uint16",
3277
+ name: "",
3278
+ type: "uint16",
3279
+ },
3280
+ ],
3281
+ stateMutability: "view",
3282
+ type: "function",
3283
+ },
3284
+ {
3285
+ inputs: [],
3286
+ name: "totalBorrows",
3287
+ outputs: [
3288
+ {
3289
+ internalType: "uint256",
3290
+ name: "",
3291
+ type: "uint256",
3292
+ },
3293
+ ],
3294
+ stateMutability: "view",
3295
+ type: "function",
3296
+ },
3297
+ {
3298
+ inputs: [],
3299
+ name: "totalInterest",
3300
+ outputs: [
3301
+ {
3302
+ internalType: "uint256",
3303
+ name: "",
3304
+ type: "uint256",
3305
+ },
3306
+ ],
3307
+ stateMutability: "view",
3308
+ type: "function",
3309
+ },
3310
+ {
3311
+ inputs: [],
3312
+ name: "totalReservesView",
3313
+ outputs: [
3314
+ {
3315
+ internalType: "uint256",
3316
+ name: "",
3317
+ type: "uint256",
3318
+ },
3319
+ ],
3320
+ stateMutability: "view",
3321
+ type: "function",
3322
+ },
3323
+ {
3324
+ inputs: [
3325
+ {
3326
+ internalType: "bytes32",
3327
+ name: "",
3328
+ type: "bytes32",
3329
+ },
3330
+ ],
3331
+ name: "tradeAccInterest",
3332
+ outputs: [
3333
+ {
3334
+ internalType: "uint256",
3335
+ name: "",
3336
+ type: "uint256",
3337
+ },
3338
+ ],
3339
+ stateMutability: "view",
3340
+ type: "function",
3341
+ },
3342
+ {
3343
+ inputs: [],
3344
+ name: "tradeIncentivizer",
3345
+ outputs: [
3346
+ {
3347
+ internalType: "address",
3348
+ name: "",
3349
+ type: "address",
3350
+ },
3351
+ ],
3352
+ stateMutability: "view",
3353
+ type: "function",
3354
+ },
3355
+ {
3356
+ inputs: [
3357
+ {
3358
+ internalType: "bytes32",
3359
+ name: "",
3360
+ type: "bytes32",
3361
+ },
3362
+ ],
3363
+ name: "tradeInitialAccFees",
3364
+ outputs: [
3365
+ {
3366
+ internalType: "uint256",
3367
+ name: "borrowIndex",
3368
+ type: "uint256",
3369
+ },
3370
+ {
3371
+ internalType: "int256",
3372
+ name: "funding",
3373
+ type: "int256",
3374
+ },
3375
+ ],
3376
+ stateMutability: "view",
3377
+ type: "function",
3378
+ },
3379
+ {
3380
+ inputs: [
3381
+ {
3382
+ internalType: "uint256",
3383
+ name: "",
3384
+ type: "uint256",
3385
+ },
3386
+ ],
3387
+ name: "tradersPairGains",
3388
+ outputs: [
3389
+ {
3390
+ internalType: "int256",
3391
+ name: "",
3392
+ type: "int256",
3393
+ },
3394
+ ],
3395
+ stateMutability: "view",
3396
+ type: "function",
3397
+ },
3398
+ {
3399
+ inputs: [],
3400
+ name: "tradingFloor",
3401
+ outputs: [
3402
+ {
3403
+ internalType: "contract ITradingFloorV1",
3404
+ name: "",
3405
+ type: "address",
3406
+ },
3407
+ ],
3408
+ stateMutability: "view",
3409
+ type: "function",
3410
+ },
3411
+ {
3412
+ inputs: [],
3413
+ name: "underlying",
3414
+ outputs: [
3415
+ {
3416
+ internalType: "contract IERC20",
3417
+ name: "",
3418
+ type: "address",
3419
+ },
3420
+ ],
3421
+ stateMutability: "view",
3422
+ type: "function",
3423
+ },
3424
+ {
3425
+ inputs: [],
3426
+ name: "unrealizedFunding",
3427
+ outputs: [
3428
+ {
3429
+ internalType: "int256",
3430
+ name: "",
3431
+ type: "int256",
3432
+ },
3433
+ ],
3434
+ stateMutability: "view",
3435
+ type: "function",
3436
+ },
3437
+ {
3438
+ inputs: [
3439
+ {
3440
+ components: [
3441
+ {
3442
+ internalType: "uint16",
3443
+ name: "id",
3444
+ type: "uint16",
3445
+ },
3446
+ {
3447
+ internalType: "uint32",
3448
+ name: "openFeeF",
3449
+ type: "uint32",
3450
+ },
3451
+ {
3452
+ internalType: "uint32",
3453
+ name: "closeFeeF",
3454
+ type: "uint32",
3455
+ },
3456
+ {
3457
+ internalType: "uint32",
3458
+ name: "performanceFeeF",
3459
+ type: "uint32",
3460
+ },
3461
+ ],
3462
+ internalType: "struct PoolAccountantStructs.Fee",
3463
+ name: "_fee",
3464
+ type: "tuple",
3465
+ },
3466
+ ],
3467
+ name: "updateFee",
3468
+ outputs: [],
3469
+ stateMutability: "nonpayable",
3470
+ type: "function",
3471
+ },
3472
+ {
3473
+ inputs: [
3474
+ {
3475
+ components: [
3476
+ {
3477
+ internalType: "uint16",
3478
+ name: "id",
3479
+ type: "uint16",
3480
+ },
3481
+ {
3482
+ internalType: "uint32",
3483
+ name: "minLeverage",
3484
+ type: "uint32",
3485
+ },
3486
+ {
3487
+ internalType: "uint32",
3488
+ name: "maxLeverage",
3489
+ type: "uint32",
3490
+ },
3491
+ {
3492
+ internalType: "uint32",
3493
+ name: "maxBorrowF",
3494
+ type: "uint32",
3495
+ },
3496
+ {
3497
+ internalType: "uint256",
3498
+ name: "maxPositionSize",
3499
+ type: "uint256",
3500
+ },
3501
+ {
3502
+ internalType: "uint256",
3503
+ name: "minOpenFee",
3504
+ type: "uint256",
3505
+ },
3506
+ ],
3507
+ internalType: "struct PoolAccountantStructs.Group",
3508
+ name: "_group",
3509
+ type: "tuple",
3510
+ },
3511
+ ],
3512
+ name: "updateGroup",
3513
+ outputs: [],
3514
+ stateMutability: "nonpayable",
3515
+ type: "function",
3516
+ },
3517
+ {
3518
+ inputs: [
3519
+ {
3520
+ components: [
3521
+ {
3522
+ internalType: "uint16",
3523
+ name: "id",
3524
+ type: "uint16",
3525
+ },
3526
+ {
3527
+ internalType: "uint16",
3528
+ name: "groupId",
3529
+ type: "uint16",
3530
+ },
3531
+ {
3532
+ internalType: "uint16",
3533
+ name: "feeId",
3534
+ type: "uint16",
3535
+ },
3536
+ {
3537
+ internalType: "uint32",
3538
+ name: "minLeverage",
3539
+ type: "uint32",
3540
+ },
3541
+ {
3542
+ internalType: "uint32",
3543
+ name: "maxLeverage",
3544
+ type: "uint32",
3545
+ },
3546
+ {
3547
+ internalType: "uint32",
3548
+ name: "maxBorrowF",
3549
+ type: "uint32",
3550
+ },
3551
+ {
3552
+ internalType: "uint256",
3553
+ name: "maxPositionSize",
3554
+ type: "uint256",
3555
+ },
3556
+ {
3557
+ internalType: "uint256",
3558
+ name: "maxGain",
3559
+ type: "uint256",
3560
+ },
3561
+ {
3562
+ internalType: "uint256",
3563
+ name: "maxOpenInterest",
3564
+ type: "uint256",
3565
+ },
3566
+ {
3567
+ internalType: "uint256",
3568
+ name: "maxSkew",
3569
+ type: "uint256",
3570
+ },
3571
+ {
3572
+ internalType: "uint256",
3573
+ name: "minOpenFee",
3574
+ type: "uint256",
3575
+ },
3576
+ {
3577
+ internalType: "uint256",
3578
+ name: "minPerformanceFee",
3579
+ type: "uint256",
3580
+ },
3581
+ ],
3582
+ internalType: "struct PoolAccountantStructs.Pair",
3583
+ name: "_pair",
3584
+ type: "tuple",
3585
+ },
3586
+ ],
3587
+ name: "updatePair",
3588
+ outputs: [],
3589
+ stateMutability: "nonpayable",
3590
+ type: "function",
3591
+ },
3592
+ {
3593
+ inputs: [
3594
+ {
3595
+ internalType: "uint16",
3596
+ name: "pairIndex",
3597
+ type: "uint16",
3598
+ },
3599
+ {
3600
+ internalType: "uint256",
3601
+ name: "collateral",
3602
+ type: "uint256",
3603
+ },
3604
+ {
3605
+ internalType: "uint32",
3606
+ name: "leverage",
3607
+ type: "uint32",
3608
+ },
3609
+ ],
3610
+ name: "verifyLeveragedPosition",
3611
+ outputs: [
3612
+ {
3613
+ internalType: "uint256",
3614
+ name: "leveragedPosition",
3615
+ type: "uint256",
3616
+ },
3617
+ ],
3618
+ stateMutability: "view",
3619
+ type: "function",
3620
+ },
3621
+ {
3622
+ inputs: [
3623
+ {
3624
+ internalType: "uint256",
3625
+ name: "openPrice",
3626
+ type: "uint256",
3627
+ },
3628
+ {
3629
+ internalType: "uint256",
3630
+ name: "targetPrice",
3631
+ type: "uint256",
3632
+ },
3633
+ {
3634
+ internalType: "uint256",
3635
+ name: "leverage",
3636
+ type: "uint256",
3637
+ },
3638
+ {
3639
+ internalType: "bool",
3640
+ name: "long",
3641
+ type: "bool",
3642
+ },
3643
+ ],
3644
+ name: "verifyMaxPercentProfit",
3645
+ outputs: [],
3646
+ stateMutability: "view",
3647
+ type: "function",
3648
+ },
3649
+ {
3650
+ inputs: [
3651
+ {
3652
+ internalType: "uint16",
3653
+ name: "pairIndex",
3654
+ type: "uint16",
3655
+ },
3656
+ {
3657
+ internalType: "uint256",
3658
+ name: "leveragedPosition",
3659
+ type: "uint256",
3660
+ },
3661
+ ],
3662
+ name: "verifyOpenFee",
3663
+ outputs: [
3664
+ {
3665
+ internalType: "uint256",
3666
+ name: "openFee",
3667
+ type: "uint256",
3668
+ },
3669
+ {
3670
+ internalType: "uint256",
3671
+ name: "lexPartFee",
3672
+ type: "uint256",
3673
+ },
3674
+ ],
3675
+ stateMutability: "view",
3676
+ type: "function",
3677
+ },
3678
+ {
3679
+ inputs: [
3680
+ {
3681
+ internalType: "uint16",
3682
+ name: "pairIndex",
3683
+ type: "uint16",
3684
+ },
3685
+ {
3686
+ internalType: "uint256",
3687
+ name: "collateral",
3688
+ type: "uint256",
3689
+ },
3690
+ ],
3691
+ name: "verifyPerformanceFee",
3692
+ outputs: [],
3693
+ stateMutability: "view",
3694
+ type: "function",
3695
+ },
3696
+ {
3697
+ inputs: [
3698
+ {
3699
+ internalType: "uint16",
3700
+ name: "pairId",
3701
+ type: "uint16",
3702
+ },
3703
+ ],
3704
+ name: "verifyTradersPairGains",
3705
+ outputs: [],
3706
+ stateMutability: "view",
3707
+ type: "function",
3708
+ },
3709
+ {
3710
+ inputs: [
3711
+ {
3712
+ internalType: "uint256",
3713
+ name: "_totalBorrows",
3714
+ type: "uint256",
3715
+ },
3716
+ {
3717
+ internalType: "uint256",
3718
+ name: "_totalReserves",
3719
+ type: "uint256",
3720
+ },
3721
+ {
3722
+ internalType: "int256",
3723
+ name: "_unrealizedFunding",
3724
+ type: "int256",
3725
+ },
3726
+ ],
3727
+ name: "verifyUtilizationForTraders",
3728
+ outputs: [],
3729
+ stateMutability: "view",
3730
+ type: "function",
3731
+ },
3732
+ ];
3733
+ const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615f2c80620000336000396000f3fe608060405234801561001057600080fd5b50600436106107855760003560e01c806379518cca116103df578063bc7a36d61161020a578063d9cf36ba11610125578063ec857a46116100b8578063f851a44011610087578063f851a440146113f8578063fb56c48f1461140b578063ff295f331461141e578063ff4850351461143157600080fd5b8063ec857a46146113ac578063ee466846146113bf578063f1fccdc1146113d2578063f345eb27146113e557600080fd5b8063e72f75b3116100f4578063e72f75b314611353578063e8de573314611366578063e9b65faa14611386578063eb980acc1461139957600080fd5b8063d9cf36ba14611312578063db180bf11461131a578063e0dc17501461132d578063e5fac2d71461134057600080fd5b8063cfa992011161019d578063d370f1d41161016c578063d370f1d4146112c1578063d46cca36146112cc578063d62f8de1146112ec578063d84f4d3f146112ff57600080fd5b8063cfa992011461127c578063d037a11c14611285578063d0a6663e146112a5578063d2417429146112ae57600080fd5b8063c2b10883116101d9578063c2b108831461114c578063c317767814611243578063caa46c7914611256578063cee75ad11461126957600080fd5b8063bc7a36d614611115578063c19783141461111e578063c1d22d7d14611131578063c2665ac71461114457600080fd5b8063a6afed95116102fa578063b5373e3b1161028d578063b7750b811161025c578063b7750b811461106e578063b81b2b7114611081578063bc22e4bc1461108a578063bc6d40a11461110257600080fd5b8063b5373e3b14611034578063b6020b4114611047578063b70e351d1461105a578063b71f3cfe1461106357600080fd5b8063ab3d9a95116102c9578063ab3d9a9514610fd3578063ab5ba5ad1461101a578063ad1f2b5614611023578063aef393221461102b57600080fd5b8063a6afed9514610f93578063a92e850014610f9b578063aa5af0fd14610fbb578063aaf5eb6814610fc457600080fd5b806388c8f178116103725780639788f64f116103415780639788f64f14610edd578063981cdb3e14610ef0578063a40d726814610f03578063a499589214610f8057600080fd5b806388c8f17814610e95578063892e1ec714610e9e5780638bda2dc914610ea757806392cc04af14610eba57600080fd5b80637f3f8ffb116103ae5780637f3f8ffb14610e665780637f7c413814610e6f57806380193b2614610e82578063885e275014610e8c57600080fd5b806379518cca14610e145780637abb996e14610e375780637b10399914610e405780637dd29a6614610e5357600080fd5b80633cb57be7116105bf5780635c60da1b116104da578063659ef4411161046d5780636f307dc31161043c5780636f307dc314610d94578063733b278214610da757806377e798cf14610dce57806378d3168814610de157600080fd5b8063659ef44114610d4257806366e06fb914610d5557806367a7bf7314610d68578063684e038914610d8b57600080fd5b8063619d39be116104a9578063619d39be14610cd55780636491452414610cde578063657d6edf14610d19578063658de48a14610d3957600080fd5b80635c60da1b14610c945780635c9c2e8114610ca75780635dc70c7714610cba57806360a28c5b14610cc257600080fd5b8063485cc9551161055257806352913f6c1161052157806352913f6c14610c13578063541f771314610c265780635568268f14610c395780635929fa0414610c4c57600080fd5b8063485cc95514610b7d5780634a04770d14610b905780634fd5e29414610ba357806352713f6714610c0057600080fd5b8063419be3b61161058e578063419be3b614610b44578063430d84dd14610b645780634742a7e014610b6c57806347bd371814610b7457600080fd5b80633cb57be714610af85780633cdc20f814610b0b5780633e271e5b14610b1e57806340691c9514610b3157600080fd5b80631d504dc6116106af57806328e8fe7d116106425780632d21ef26116106115780632d21ef2614610a295780632ee371a414610a3c578063396f7b2314610a4f5780633979324d14610a6257600080fd5b806328e8fe7d146109a857806329dc10d6146109bb5780632a394628146109e15780632c05d4a9146109f457600080fd5b8063226a78561161067e578063226a785614610948578063267822471461095b578063276ef1301461096e578063284050221461098157600080fd5b80631d504dc6146109065780631dcf50ef1461091957806320bd079c1461092257806321833bb61461093557600080fd5b80630fc2b8f511610727578063167ba8bf116106f6578063167ba8bf146108ce5780631ab1a916146108e15780631cb92ed3146108f45780631d0de3ca146108fd57600080fd5b80630fc2b8f5146108765780631075dde61461088b57806312a45f65146108a857806315b09fc1146108bb57600080fd5b80630d3b0b76116107635780630d3b0b761461081c5780630d8adf22146108475780630e5ad9f11461085a5780630ea503fb1461086357600080fd5b806301bab09c1461078a5780630819b4bf1461079f5780630b392228146107d2575b600080fd5b61079d610798366004614e90565b611444565b005b6107bf6107ad366004614e90565b600e6020526000908152604090205481565b6040519081526020015b60405180910390f35b6108016107e0366004614e90565b60106020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016107c9565b60065461082f906001600160a01b031681565b6040516001600160a01b0390911681526020016107c9565b61079d610855366004614ebe565b6114b6565b6107bf601e5481565b610801610871366004614edb565b611537565b61087e611659565b6040516107c99190614f0d565b6108936116d9565b604080519283526020830191909152016107c9565b61079d6108b6366004614f55565b611747565b61079d6108c9366004614e90565b6117d1565b6107bf6108dc366004614fa3565b611844565b61079d6108ef366004614fea565b611891565b6107bf60085481565b6107bf600b5481565b61079d610914366004614ebe565b6119ee565b6107bf60145481565b6107bf610930366004615002565b611a8b565b6107bf610943366004615059565b611b3a565b6107bf610956366004614e90565b611b99565b60015461082f906001600160a01b031681565b6107bf61097c3660046150b3565b611bd5565b61089361098f366004614e90565b6013602052600090815260409020805460019091015482565b60155461082f906001600160a01b031681565b6109ce6109c9366004614e90565b611e2e565b60405161ffff90911681526020016107c9565b61079d6109ef366004614e90565b611e66565b610a07610a02366004614e90565b611e9c565b60408051941515855260208501939093529183015260608201526080016107c9565b610801610a373660046150f5565b612016565b6107bf610a4a366004615112565b61210c565b60035461082f906001600160a01b031681565b610ab9610a703660046150f5565b60256020526000908152604090208054600182015460029092015461ffff82169263ffffffff620100008404811693600160301b8104821693600160501b909104909116919086565b6040805161ffff909716875263ffffffff95861660208801529385169386019390935292166060840152608083019190915260a082015260c0016107c9565b6107bf610b063660046150f5565b61215d565b61079d610b1936600461516f565b6121a6565b6107bf610b2c3660046151fa565b612278565b6107bf610b3f3660046150f5565b6122cf565b6107bf610b52366004614e90565b602a6020526000908152604090205481565b61087e61230e565b610a07612369565b6107bf60165481565b61079d610b8b366004614f55565b612388565b6109ce610b9e366004614e90565b612396565b610beb610bb13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160301b900463ffffffff1690565b60405163ffffffff90911681526020016107c9565b610893610c0e366004615237565b6123a6565b6107bf610c21366004614edb565b61249f565b61079d610c34366004614ebe565b6124eb565b61079d610c473660046152b8565b612570565b610beb610c5a3660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160501b900463ffffffff1690565b60025461082f906001600160a01b031681565b61079d610cb5366004614e90565b61261c565b601a546107bf565b61079d610cd0366004614fea565b612681565b6107bf600a5481565b610cf1610cec3660046152f6565b612882565b604080519586526020860194909452928401919091526060830152608082015260a0016107c9565b6107bf610d27366004614e90565b601b6020526000908152604090205481565b6107bf60235481565b6107bf610d50366004615059565b6129f7565b61079d610d63366004614ebe565b612a2e565b6107bf610d76366004614e90565b60009081526010602052604090206002015490565b6107bf601a5481565b60055461082f906001600160a01b031681565b610893610db5366004614e90565b6011602052600090815260409020805460019091015482565b6107bf610ddc366004615352565b612a7a565b610df4610def366004615387565b612b58565b6040805194855260208501939093529183015260608201526080016107c9565b6107bf610e22366004614e90565b60009081526010602052604090206001015490565b6107bf60205481565b60045461082f906001600160a01b031681565b610893610e613660046153fd565b612d7b565b6107bf602d5481565b6107bf610e7d36600461546c565b612dbd565b6107bf620186a081565b6107bf60225481565b6107bf601f5481565b6107bf600c5481565b60075461082f906001600160a01b031681565b6107bf610ec8366004614e90565b60009081526011602052604090206001015490565b61079d610eeb366004614e90565b612e08565b61079d610efe366004614e90565b612e3e565b6107bf610f113660046154dc565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6109ce610f8e366004614e90565b612e7f565b610801612e8f565b6107bf610fa9366004614e90565b60009081526011602052604090205490565b6107bf60175481565b6107bf670de0b6b3a764000081565b610beb610fe13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205462010000900463ffffffff1690565b6107bf601d5481565b6107bf606481565b6107bf600d5481565b6107bf6110423660046150f5565b612eaf565b610893611055366004615538565b613013565b6107bf602c5481565b6107bf633b9aca0081565b61079d61107c366004615564565b61309a565b6107bf60215481565b6110d16110983660046150f5565b60266020526000908152604090205461ffff81169063ffffffff620100008204811691600160301b8104821691600160501b9091041684565b6040805161ffff909516855263ffffffff9384166020860152918316918401919091521660608201526080016107c9565b61079d611110366004614e90565b6133c2565b6107bf60195481565b61079d61112c366004615577565b6133f8565b610a0761113f3660046150f5565b6136a0565b61087e61383d565b6111d261115a3660046150f5565b602460205260009081526040902080546001820154600283015460038401546004850154600586015460069096015461ffff80871697620100008804821697600160201b81049092169663ffffffff600160301b8404811697600160501b8504821697600160701b909504909116959194909392908c565b6040805161ffff9d8e1681529b8d1660208d01529b9099169a8a019a909a5263ffffffff96871660608a015294861660808901529490921660a087015260c086015260e0850152610100840191909152610120830152610140820192909252610160810191909152610180016107c9565b61079d611251366004614e90565b613898565b61079d611264366004615589565b6138ce565b6107bf6112773660046150b3565b613931565b6107bf60185481565b6107bf611293366004614e90565b601c6020526000908152604090205481565b6107bf600f5481565b61079d6112bc366004614e90565b6139a3565b601654601a54610893565b6107bf6112da366004614e90565b60126020526000908152604090205481565b61079d6112fa366004615564565b613a3b565b6107bf61130d3660046155ff565b613a6e565b6107bf613afc565b61079d611328366004615538565b613b0f565b61080161133b366004614e90565b613b4a565b61079d61134e366004614e90565b613ba9565b61079d611361366004614e90565b613bdf565b6107bf611374366004614e90565b60009081526010602052604090205490565b61079d6113943660046150f5565b613c15565b61079d6113a7366004614e90565b613c71565b6107bf6113ba366004614edb565b613cea565b61079d6113cd366004614ebe565b613d1e565b61079d6113e0366004615650565b613d75565b61079d6113f3366004615577565b613ddb565b60005461082f906001600160a01b031681565b602b5461082f906001600160a01b031681565b6107bf61142c36600461568f565b613fd4565b60095461082f906001600160a01b031681565b6000546001600160a01b031633146114775760405162461bcd60e51b815260040161146e906156c4565b60405180910390fd5b601f81905560095b6040518281527fcb48ce14f4edda961e8a606e8fd9c6562f93440fb820dca0908689c65412abd1906020015b60405180910390a250565b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040161146e906156c4565b600780546001600160a01b0319166001600160a01b03831617905560035b6040516001600160a01b03831681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b60008060008587036115515750600091508190508061164f565b8587116000808261156357888a611566565b89895b90925090506000611577888a615714565b905060006115858483615714565b9050600080611598633b9aca0085615714565b91508415611605576000670de0b6b3a7640000602d54856115b99190615714565b6115c39190615741565b90506115d7670de0b6b3a764000082615741565b985085633b9aca006115e98387615755565b6115f39190615714565b6115fd9190615741565b91505061161a565b611617670de0b6b3a764000084615741565b97505b8661162d5761162881615768565b61162f565b815b99508661163c5781611645565b61164581615768565b9850505050505050505b9450945094915050565b606060278054806020026020016040519081016040528092919081815260200182805480156116cf57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116116965790505b5050505050905090565b602b5460009081906001600160a01b031633146117205760405162461bcd60e51b815260206004820152600560248201526408541bdbdb60da1b604482015260640161146e565b5050601a54602c5461173961173482615768565b614009565b6000601a819055602c559091565b6006546001600160a01b031615801561176957506005546001600160a01b0316155b6117a35760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b600680546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b6000546001600160a01b031633146117fb5760405162461bcd60e51b815260040161146e906156c4565b620186a08111156118385760405162461bcd60e51b8152602060048201526007602482015266214c697146656560c81b604482015260640161146e565b600c819055600561147f565b60008061185384848789614023565b905060008113611867576000915050611888565b670de0b6b3a764000061187a8883615714565b6118849190615741565b9150505b95945050505050565b6000546001600160a01b031633146118bb5760405162461bcd60e51b815260040161146e906156c4565b6118c860208201826150f5565b61ffff8082166000818152602660205260409020549091161461191e5760405162461bcd60e51b815260206004820152600e60248201526d11915157d393d517d31254d5115160921b604482015260640161146e565b81600061192e60208301836150f5565b61ffff161161196e5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b826026600061198060208401846150f5565b61ffff168152602081019190915260400160002061199e82826157c1565b506119ae905060208401846150f5565b61ffff167fd054fb446fbe8a5875314c566b5202257a9052adfca913ead073d6a5dbecd301846040516119e1919061584a565b60405180910390a2505050565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5291906158b0565b15611a885760405162461bcd60e51b815260040161146e9060208082526004908201526319985a5b60e21b604082015260600190565b50565b60008085606488858789620186a0600b548e611aa79190615714565b611ab19190615741565b611abb91906158c9565b611ac591906158c9565b611acf91906158c9565b611ad9908d6158f0565b611ae39190615920565b611aed91906158f0565b611af79190615920565b9050600088611b0f57611b0a828b61594e565b611b19565b611b19828b6158c9565b905060008113611b2a576000611b2c565b805b9a9950505050505050505050565b600080611b45612e8f565b60008781526011602090815260408083208151808301835281548152600190910154818401528a845260129092529091205481519295509093509150611b8d90848784613cea565b93505050505b92915050565b6000818152601360209081526040808320815180830190925280548083526001909101549282018390529091611bce916158c9565b9392505050565b6000611be7838363ffffffff1661407b565b61ffff80861660009081526024602090815260409182902082516101808101845281548086168252620100008104861693820193909352600160201b83049094169284019290925263ffffffff600160301b820481166060850152600160501b8204811660808501819052600160701b909204811660a0850152600183015460c0850152600283015460e085015260038301546101008501526004830154610120850152600583015461014085015260069092015461016084015292935090919084161115611cce57600483604051632eb752bf60e21b815260040161146e929190615998565b806060015163ffffffff168363ffffffff161015611d0457600583604051632eb752bf60e21b815260040161146e929190615998565b8060c00151821115611d2e57600282604051632eb752bf60e21b815260040161146e9291906159b9565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b84048516928101839052600160501b90930484166060840152600181015460808401526002015460a0830152909185161115611dc557600484604051632eb752bf60e21b815260040161146e929190615998565b806020015163ffffffff168463ffffffff161015611dfb57600584604051632eb752bf60e21b815260040161146e929190615998565b8060800151831115611e2557600383604051632eb752bf60e21b815260040161146e9291906159b9565b50509392505050565b60298181548110611e3e57600080fd5b9060005260206000209060109182820401919006600202915054906101000a900461ffff1681565b6000546001600160a01b03163314611e905760405162461bcd60e51b815260040161146e906156c4565b6014819055600161147f565b6018546000908190819081904290818103611ecb576000601954601754601a549550955095509550505061200f565b601654601a546017546015546000906001600160a01b0316639fa83b5a611ef28d87614089565b6040518263ffffffff1660e01b8152600401611f1091815260200190565b602060405180830381865afa158015611f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5191906158b0565b9050601e54811115611f7b57600d81604051632eb752bf60e21b815260040161146e9291906159b9565b6000611f878688615755565b90506000611f958284615714565b90506000670de0b6b3a7640000611fac8884615714565b611fb69190615741565b9050670de0b6b3a764000081601d54611fcf9190615714565b611fd99190615741565b611fe390876159d4565b9950611fef82866159d4565b9a5080601954611fff91906159d4565b9b5060019c505050505050505050505b9193509193565b600080600080612025856136a0565b9196509450925090508015612104576040805160608101825285815260208082018681524283850190815261ffff8a1660009081526010909352938220925183555160018301559151600290910155602c80548492906120869084906159d4565b909155505060405182815261ffff8616907f9c61e7f8484b2101ad51c696eb172f4c7b1aafe7c8872405da752db2ad6dceba9060200160405180910390a2604080518581526020810185905261ffff8716917ffa891c319a832a3711ea90f45f728b757a30eb5a8056c2d136fab2e642ee755d910160405180910390a25b509193909250565b600080600061211a87612016565b5060008a815260116020526040902060010154919350915061215081886121415783612143565b845b888863ffffffff1661249f565b9998505050505050505050565b6000806121686140bf565b61ffff8416600090815260246020526040902054909150620186a09061219c908390600160701b900463ffffffff16615714565b611bce9190615741565b6006546001600160a01b031633146121d05760405162461bcd60e51b815260040161146e906159e7565b6121e283828763ffffffff1687613d75565b60006121f7878763ffffffff16878787611844565b9050600061220e888863ffffffff16888887611844565b9050818111156122465760008061222e8b6122298686615755565b614149565b9150915061223f8282610c47613afc565b5050612261565b81811015612261576122618961225c8385615755565b6142bc565b61226b8b83614391565b5050505050505050505050565b60008061228585876158c9565b905060008461229c5761229784615768565b61229e565b835b90506122aa818361594e565b9150600082136122c2576122bd82615768565b6122c4565b815b979650505050505050565b6000806122da6140bf565b61ffff8416600090815260256020526040902054909150620186a09061219c908390600160501b900463ffffffff16615714565b606060298054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b60008060008061237a610a026140bf565b935093509350935090919293565b61239282826143c1565b5050565b60278181548110611e3e57600080fd5b60065460009081906001600160a01b031633146123d55760405162461bcd60e51b815260040161146e906159e7565b6123de88613c15565b60006123eb898989611bd5565b90506123ff84868963ffffffff1689613d75565b6124098982613013565b9093509150600061241a848a615755565b90506124268a82613b0f565b6000612438828a63ffffffff1661407b565b90506124488b8260018b8a614491565b6000806124628d612229868e63ffffffff168e8d8f611844565b915091506124738282610c47613afc565b61247e8f8e8c614649565b61248d8f8f8f8f8f8f8d6146e3565b50505050509850989650505050505050565b6000633b9aca006124b9670de0b6b3a76400006064615714565b6124c39190615714565b6124cd8385615714565b6124d787876158c9565b6124e191906158f0565b6118889190615920565b6000546001600160a01b031633146125155760405162461bcd60e51b815260040161146e906156c4565b601580546001600160a01b0319166001600160a01b03831617905560015b6015546040516001600160a01b0390911681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b602b54604051639bb7d70760e01b81526004810185905260248101849052604481018390526000916001600160a01b031690639bb7d70790606401602060405180830381865afa1580156125c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ec91906158b0565b905060205481111561261657600681604051632eb752bf60e21b815260040161146e9291906159b9565b50505050565b6000546001600160a01b031633146126465760405162461bcd60e51b815260040161146e906156c4565b6000818152602a60205260408082208290555182917f8e6e6257c9bb8dcb60b0b1cdf2e4713603036394ab66bc6004c209f6e1d34fb591a250565b6000546001600160a01b031633146126ab5760405162461bcd60e51b815260040161146e906156c4565b8060006126bb60208301836150f5565b61ffff16116126fb5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b600061270a60208401846150f5565b90508061ffff1660000361274d5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff8082166000818152602660205260409020549091160361279f5760405162461bcd60e51b815260206004820152600a6024820152694645455f45584953545360b01b604482015260640161146e565b61ffff8116600090815260266020526040902083906127be82826157c1565b50602990506127d060208501856150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff818102199093169390921691909102919091179055602380549161281a83615a13565b9091555050604080516020810182526000815290516128399190615a2c565b60405180910390208161ffff167f9a0c6b146a79daf7bc3f7287373a4d73bfbe47be4a5ad5eb50650ecea3778ec385604051612875919061584a565b60405180910390a3505050565b6000806000806000612892612e8f565b50505061289e89612016565b5061290991508b90508a6128b860608c0160408d01615a5b565b8b356128ca60408e0160208f01615a76565b8d60600160208101906128dd9190615aab565b67ffffffffffffffff168e60800160208101906128fa9190615aab565b67ffffffffffffffff16612d7b565b909250905060006129268a8a3561127760408d0160208e01615a76565b905061297161293b60808b0160608c01615aab565b67ffffffffffffffff168961295660608d0160408e01615a5b565b61296660408e0160208f01615a76565b63ffffffff16614023565b935060006129818b8b3587612a7a565b90508b7f05fd5872a25a89572f63c014f039fe89a3538f159f2286b50d1813cbfa56f464826040516129b591815260200190565b60405180910390a26129c781836159d4565b91506129d88a35868686868d613a6e565b96506129e68a35848461478d565b955050509550955095509550959050565b600080612a0384611b99565b6000858152600e602052604081205491925090612a219083906147c1565b905061188882828661480c565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161146e906156c4565b600980546001600160a01b0319166001600160a01b03831617905560026114fe565b61ffff8316600090815260246020526040812060060154600080670de0b6b3a7640000612aa786886158f0565b612ab19190615920565b90508060001215612b205761ffff808816600090815260246020908152604080832054600160201b90049093168252602690522054612b05908290600160501b900463ffffffff165b63ffffffff16614858565b9150828210612b145781612b16565b825b9350505050611bce565b6000612b2b82615768565b905083811115612b42576000945050505050611bce565b612b4c8185615755565b98975050505050505050565b6006546000908190819081906001600160a01b03163314612b8b5760405162461bcd60e51b815260040161146e906159e7565b60006003866004811115612ba157612ba16156e8565b14905080612bdc57612bd787612bbd60a08b0160808c01615aab565b67ffffffffffffffff1661142c60608c0160408d01615a5b565b612c3d565b612c3d8b8a612bf160808c0160608d01615aab565b67ffffffffffffffff16612c0b60a08d0160808e01615aab565b67ffffffffffffffff16612c2560608e0160408f01615a5b565b8d600001358e6020016020810190610e7d9190615a76565b91506000612c618935612c5660408c0160208d01615a76565b63ffffffff1661407b565b9050612c9c8a826000612c7a60608e0160408f01615a5b565b8d6060016020810190612c8d9190615aab565b67ffffffffffffffff16614491565b612d0d8a61225c8b35612cb560408e0160208f01615a76565b63ffffffff168d6040016020810190612cce9190615a5b565b8e6060016020810190612ce19190615aab565b67ffffffffffffffff168f6080016020810190612cfe9190615aab565b67ffffffffffffffff16611844565b612d1b8c8c8c8c8787614868565b9097509095509350612d3361ffff8b168a35866148fa565b612d6c8c8c8c8c600001358d6020016020810190612d519190615a76565b8e6040016020810190612d649190615a5b565b8c8b8d614949565b50509650965096509692505050565b6000806000612d93878763ffffffff168a8888611844565b9050612d9f8a82611b3a565b9250612dae8a8a8a8a8a61210c565b91505097509795505050505050565b6000806000612dd18a8a8888888d8d612d7b565b915091506000612de28a8787613931565b9050612df98988888863ffffffff16878787611a8b565b9b9a5050505050505050505050565b6000546001600160a01b03163314612e325760405162461bcd60e51b815260040161146e906156c4565b600a819055600661147f565b6000546001600160a01b03163314612e685760405162461bcd60e51b815260040161146e906156c4565b612e70612e8f565b505050601d819055600761147f565b60288181548110611e3e57600080fd5b6000806000612ea4612e9f6140bf565b614a00565b925092509250909192565b61ffff808216600090815260246020908152604080832081516101808101835281548087168252620100008104871694820194909452600160201b84049095169185019190915263ffffffff600160301b830481166060860152600160501b830481166080860152600160701b90920490911660a0840152600181015460c0840152600281015460e084015260038101546101008401526004810154610120840152600581015461014084018190526006909101546101608401529091906000191115612f8157610140015192915050565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b8404851692810192909252600160501b9092049092166060830152600181015460808301526002015460a0820181905260001911156130085760a001519392505050565b505060145492915050565b60008061305883612afa8661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff620100009091041690565b915061306384612eaf565b82101561308857600182604051632eb752bf60e21b815260040161146e9291906159b9565b61309182614a82565b90509250929050565b806130ca6130ae60408301602084016150f5565b61ffff9081166000818152602560205260409020549091161490565b6131045760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b61313361311760608301604084016150f5565b61ffff9081166000818152602660205260409020549091161490565b61316b5760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b600261317960646001615714565b6131839190615741565b6131936080830160608401615a76565b63ffffffff16101580156131c857506131af60646103e8615714565b6131bf60a0830160808401615a76565b63ffffffff1611155b80156131fe57506131df60a0820160808301615a76565b63ffffffff166131f56080830160608401615a76565b63ffffffff1611155b61321a5760405162461bcd60e51b815260040161146e90615ac6565b61322d670de0b6b3a76400006001615714565b61323d60c0830160a08401615a76565b63ffffffff1611156132615760405162461bcd60e51b815260040161146e90615aef565b80610100013581610120013511156132ac5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b6132b960208301836150f5565b61ffff808216600081815260246020526040902054909116146133105760405162461bcd60e51b815260206004820152600f60248201526e1410525497d393d517d31254d51151608a1b604482015260640161146e565b6000546001600160a01b0316331461333a5760405162461bcd60e51b815260040161146e906156c4565b61334a610a3760208501856150f5565b5084915060249050600061336160208401846150f5565b61ffff168152602081019190915260400160002061337f8282615b19565b5061338f905060208401846150f5565b61ffff167f3b94052e7459a8a9ca44173c1f584a671f9a0109b819e79b2d2870bab3696608846040516119e19190615c49565b6000546001600160a01b031633146133ec5760405162461bcd60e51b815260040161146e906156c4565b6008819055600361147f565b6000546001600160a01b031633146134225760405162461bcd60e51b815260040161146e906156c4565b80600261343160646001615714565b61343b9190615741565b61344b6040830160208401615a76565b63ffffffff1610158015613480575061346760646103e8615714565b6134776060830160408401615a76565b63ffffffff1611155b80156134b657506134976060820160408301615a76565b63ffffffff166134ad6040830160208401615a76565b63ffffffff1611155b6134d25760405162461bcd60e51b815260040161146e90615ac6565b6134e5670de0b6b3a76400006001615714565b6134f56080830160608401615a76565b63ffffffff1611156135195760405162461bcd60e51b815260040161146e90615aef565b600061352860208401846150f5565b90508061ffff1660000361356b5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff808216600081815260256020526040902054909116036135bf5760405162461bcd60e51b815260206004820152600c60248201526b47524f55505f45584953545360a01b604482015260640161146e565b61ffff8116600090815260256020526040902083906135de8282615d19565b50506028805460018101825560009182527fe16da923a2d88192e5070f37b4571d58682c0d66212ec634d495f33de3f77ab560108204018054600f9092166002026101000a61ffff8181021990931692851602919091179055602280549161364583615a13565b9091555050604080516020810182526000815290516136649190615a2c565b60405180910390208161ffff167f3f6eb4c4b17f2ae016a0202b4b42b0384a37431c3d328433bfa4cb4eea42fcf0856040516128759190615dbb565b61ffff8116600090815260106020908152604080832081516060810183528154808252600183015494820185905260029092015492810183905290929184919082906136ec9042615755565b90508060000361370557506000945084915061200f9050565b61ffff871660008181526013602090815260408083208151808301835281548152600190910154818401908152858552602493849052828520600301546009548351925194516303d05eb560e21b8152600481019890985294870191909152604486019290925260648501829052939092916001600160a01b031690630f417ad490608401602060405180830381865afa1580156137a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137cb91906158b0565b9050600a548111156137f557600e81604051632eb752bf60e21b815260040161146e9291906159b9565b60008061380c856000015186602001518589611537565b9950909250905061381d828b61594e565b9950613829818a61594e565b985060019a50505050505050509193509193565b606060288054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b6000546001600160a01b031633146138c25760405162461bcd60e51b815260040161146e906156c4565b602d819055600b61147f565b6000546001600160a01b031633146138f85760405162461bcd60e51b815260040161146e906156c4565b60005b8181101561392c5761392483838381811061391857613918615e32565b90506101800201614aa0565b6001016138fb565b505050565b600080613944848463ffffffff1661407b565b905060006139878661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff600160301b9091041690565b63ffffffff1690506139998282614858565b9695505050505050565b6000546001600160a01b031633146139cd5760405162461bcd60e51b815260040161146e906156c4565b6139e0670de0b6b3a76400006001615714565b811115613a2f5760405162461bcd60e51b815260206004820152601d60248201527f496c6c6567616c206d61785669727475616c5574696c697a6174696f6e000000604482015260640161146e565b6020819055600a61147f565b6000546001600160a01b03163314613a655760405162461bcd60e51b815260040161146e906156c4565b611a8881614aa0565b600080838587670de0b6b3a7640000613a878b8d6158f0565b613a919190615920565b613a9b908c61594e565b613aa591906158c9565b613aaf91906158c9565b613ab991906158c9565b90508215613aed57620186a0600c54620186a0613ad69190615755565b613ae090836158f0565b613aea9190615920565b90505b600081136122c4576000612b4c565b6000600f54613b0a90615768565b905090565b61ffff8216600090815260246020526040902060060154811161239257601181604051632eb752bf60e21b815260040161146e9291906159b9565b602b54600090819081906001600160a01b03163314613b935760405162461bcd60e51b815260206004820152600560248201526404282eae8d60db1b604482015260640161146e565b613b9c84614a00565b9250925092509193909250565b6000546001600160a01b03163314613bd35760405162461bcd60e51b815260040161146e906156c4565b600d819055600261147f565b6000546001600160a01b03163314613c095760405162461bcd60e51b815260040161146e906156c4565b601e819055600861147f565b61ffff81166000908152602a60205260408120549081138015613c4e575061ffff82166000908152602460205260409020600201548112155b1561239257600c81604051632eb752bf60e21b815260040161146e9291906159b9565b6000546001600160a01b03163314613c9b5760405162461bcd60e51b815260040161146e906156c4565b620186a0811115613cde5760405162461bcd60e51b815260206004820152600d60248201526c08531a5c551a1c995cda1bdb19609a1b604482015260640161146e565b600b819055600461147f565b600081670de0b6b3a7640000613d008787615755565b613d0a9086615714565b613d149190615741565b61188891906159d4565b6000546001600160a01b03163314613d485760405162461bcd60e51b815260040161146e906156c4565b613d50612e8f565b5050601580546001600160a01b0319166001600160a01b038416179055506001612533565b6000613d8385858486614023565b90506000620186a0670de0b6b3a7640000600854613da19190615714565b613dab9190615741565b905080821315613dd357600f82604051632eb752bf60e21b815260040161146e9291906159b9565b505050505050565b6000546001600160a01b03163314613e055760405162461bcd60e51b815260040161146e906156c4565b613e1260208201826150f5565b61ffff80821660008181526025602052604090205490911614613e6a5760405162461bcd60e51b815260206004820152601060248201526f11d493d55417d393d517d31254d5115160821b604482015260640161146e565b816002613e7960646001615714565b613e839190615741565b613e936040830160208401615a76565b63ffffffff1610158015613ec85750613eaf60646103e8615714565b613ebf6060830160408401615a76565b63ffffffff1611155b8015613efe5750613edf6060820160408301615a76565b63ffffffff16613ef56040830160208401615a76565b63ffffffff1611155b613f1a5760405162461bcd60e51b815260040161146e90615ac6565b613f2d670de0b6b3a76400006001615714565b613f3d6080830160608401615a76565b63ffffffff161115613f615760405162461bcd60e51b815260040161146e90615aef565b8260256000613f7360208401846150f5565b61ffff1681526020810191909152604001600020613f918282615d19565b50613fa1905060208401846150f5565b61ffff167fff0d1e662db49cdbfee5d28277af14118c69157bf9ab9586bed8ab85744f6946846040516119e19190615dbb565b60008115613ff257828411613fe95783613feb565b825b9050611bce565b828410613fff5783614001565b825b949350505050565b80600f600082825461401b919061594e565b909155505050565b60008484828561403c5761403782846158c9565b614046565b61404683836158c9565b905082606461405d87670de0b6b3a7640000615714565b6140679190615741565b61407190836158f0565b612b4c9190615920565b6000606461219c8385615714565b60008160000361409b57506000611b93565b826000036140ac5750600019611b93565b8261219c670de0b6b3a764000084615714565b602b546000906001600160a01b0316633ce9a2946140dc601a5490565b6140e4613afc565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa158015614125573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0a91906158b0565b600080614154612e8f565b5061ffff86166000908152601b602052604081205491935090915061417985836159d4565b90506141848661215d565b8111156141a957600981604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff808716600090815260246020908152604080832054620100009004909316808352601c90915291812054906141e188836159d4565b90506141ec836122cf565b81111561421157600a81604051632eb752bf60e21b815260040161146e9291906159b9565b60165461421e89826159d4565b9750601f5488111561424857601088604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff8a81166000818152601b602090815260408083208a90559388168252601c81529083902085905560168b905582518c81529081018b905290917fd67bffb11f634e8d9df020d50462c82383a8dab0e8025486778c08f303353432910160405180910390a25050505050509250929050565b6142c4612e8f565b50505080601660008282546142d99190615755565b909155505061ffff8083166000908152602460209081526040808320546201000090049093168252601c90529081208054839290614318908490615755565b909155505061ffff82166000908152601b602052604081208054839290614340908490615755565b909155505060165460405161ffff8416917ff432bcbc2a9a863f95613e1a4dfc59eddf24aff45bdbd7ee5cfbab1a65989ee19161438591858252602082015260400190565b60405180910390a25050565b61439b8282611b3a565b600092835260126020908152604080852092909255601754601190915292209190915550565b61442781836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190615e48565b602b546001600160a01b03161561446e5760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b50602b80546001600160a01b0319166001600160a01b0392909216919091179055565b61449a85612016565b50505061ffff808616600081815260246020908152604080832081516101808101835281548088168252620100008104881682860152600160201b81049097168184015263ffffffff600160301b880481166060830152600160501b880481166080830152600160701b90970490961660a0870152600181015460c0870152600281015460e08701526003810154610100870152600481015461012087015260058101546101408701526006015461016086015292825260139052908120908461456857816001015461456b565b81545b90506000866145835761457e8883615755565b61458d565b61458d88836159d4565b90508615614605578361010001518111156145c057600781604051632eb752bf60e21b815260040161146e9291906159b9565b60006145d684600001548560010154898c612278565b905084610120015181111561460357600881604051632eb752bf60e21b815260040161146e9291906159b9565b505b85156146135780835561461b565b600183018190555b6000861515881515146146365761463189615768565b614638565b885b905061226b8a61ffff168288614e02565b6000614653612e8f565b9250505060008061466385612016565b50600088815260116020908152604080832060129092528220919091558581559193509150846146935781614695565b825b60018201819055815460408051918252602082019290925288917f1133386bae8df8e8dd37965de72a97d5b1a713dc5c6ab638fafc5923dd4bf5f8910160405180910390a250505050505050565b6007546001600160a01b0316806146fa5750614784565b604051635a565eb760e01b8152600481018990526001600160a01b03888116602483015261ffff881660448301526064820187905263ffffffff8616608483015284151560a483015260c48201849052821690635a565eb79060e401600060405180830381600087803b15801561477057600080fd5b505af1925050508015614781575060015b50505b50505050505050565b6000808484136147a6576147a184866158c9565b6147a9565b60005b90508083106147b85780611888565b50909392505050565b6000816000036147d357506000611b93565b816147ea633b9aca00670de0b6b3a7640000615714565b6147f8633b9aca00866158f0565b61480291906158f0565b611bce9190615920565b60008260000361481e57506000611bce565b633b9aca0080848061483083876158f0565b61483a91906158c9565b61484484896158f0565b61484e91906158f0565b6124e19190615920565b6000620186a061219c8385615714565b600080600080600061487d8b8a8a8a8a612882565b93985091965094509250905061489282614e61565b61489b81614009565b8861ffff168a6001600160a01b03168c7fccc12f5cdb562d6d60967fe36fdbd2be4096a405a5ecd201aa274d3b4e74706a8b8787878b8d6040516148e496959493929190615e65565b60405180910390a4505096509650969350505050565b6000670de0b6b3a764000061490f83856158f0565b6149199190615920565b905080602a6000868152602001908152602001600020600082825461493e919061594e565b909155505050505050565b6007546001600160a01b0316806149605750614781565b6040516371e3933560e11b8152600481018b90526001600160a01b038a8116602483015261ffff8a1660448301526064820189905263ffffffff8816608483015286151560a483015260c4820186905260e48201859052610104820184905282169063e3c7266a9061012401600060405180830381600087803b1580156149e657600080fd5b505af192505050801561226b575050505050505050505050565b600080600080614a0f85611e9c565b9196509094509250905080156121045760198490556017829055601a839055426018556040805186815260208101869052908101839052606081018490527f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049060800160405180910390a1509193909250565b6000620186a0600d5483614a969190615714565b611b939190615741565b80614ab46130ae60408301602084016150f5565b614aee5760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b614b0161311760608301604084016150f5565b614b395760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b6002614b4760646001615714565b614b519190615741565b614b616080830160608401615a76565b63ffffffff1610158015614b965750614b7d60646103e8615714565b614b8d60a0830160808401615a76565b63ffffffff1611155b8015614bcc5750614bad60a0820160808301615a76565b63ffffffff16614bc36080830160608401615a76565b63ffffffff1611155b614be85760405162461bcd60e51b815260040161146e90615ac6565b614bfb670de0b6b3a76400006001615714565b614c0b60c0830160a08401615a76565b63ffffffff161115614c2f5760405162461bcd60e51b815260040161146e90615aef565b8061010001358161012001351115614c7a5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b614ca6614c8a60208401846150f5565b61ffff9081166000818152602460205260409020549091161490565b15614ce15760405162461bcd60e51b815260206004820152600b60248201526a504149525f45584953545360a81b604482015260640161146e565b8160246000614cf360208401846150f5565b61ffff1681526020810191909152604001600020614d118282615b19565b5060279050614d2360208401846150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff8181021990931693909216919091029190911790556021805491614d6d83615a13565b909155505060408051602081018252600081529051614d8c9190615a2c565b604080519182900382206020830182526000835290519091614dad91615a2c565b604051908190039020614dc360208501856150f5565b61ffff167f0b35303a11f2a3d61e7d59253a0ce2e4e782a381ad1a12f9c9706abe7fff54b185604051614df69190615c49565b60405180910390a45050565b6000838152600e602052604081205482614e28633b9aca00670de0b6b3a7640000615714565b614e3290866158f0565b614e3c9190615920565b614e46908261594e565b6000958652600e602052604090952085905550929392505050565b60195480821115614e755760006019555050565b8160196000828254614e879190615755565b90915550505050565b600060208284031215614ea257600080fd5b5035919050565b6001600160a01b0381168114611a8857600080fd5b600060208284031215614ed057600080fd5b8135611bce81614ea9565b60008060008060808587031215614ef157600080fd5b5050823594602084013594506040840135936060013592509050565b6020808252825182820181905260009190848201906040850190845b81811015614f4957835161ffff1683529284019291840191600101614f29565b50909695505050505050565b60008060408385031215614f6857600080fd5b8235614f7381614ea9565b91506020830135614f8381614ea9565b809150509250929050565b80358015158114614f9e57600080fd5b919050565b600080600080600060a08688031215614fbb57600080fd5b8535945060208601359350614fd260408701614f8e565b94979396509394606081013594506080013592915050565b600060808284031215614ffc57600080fd5b50919050565b600080600080600080600060e0888a03121561501d57600080fd5b8735965061502d60208901614f8e565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b6000806040838503121561506c57600080fd5b50508035926020909101359150565b61ffff81168114611a8857600080fd5b8035614f9e8161507b565b63ffffffff81168114611a8857600080fd5b8035614f9e81615096565b6000806000606084860312156150c857600080fd5b83356150d38161507b565b92506020840135915060408401356150ea81615096565b809150509250925092565b60006020828403121561510757600080fd5b8135611bce8161507b565b600080600080600060a0868803121561512a57600080fd5b85359450602086013561513c8161507b565b935061514a60408701614f8e565b925060608601359150608086013561516181615096565b809150509295509295909350565b60008060008060008060008060006101208a8c03121561518e57600080fd5b8935985060208a01356151a081614ea9565b975060408a01356151b08161507b565b965060608a0135955060808a01356151c781615096565b94506151d560a08b01614f8e565b935060c08a0135925060e08a013591506101008a013590509295985092959850929598565b6000806000806080858703121561521057600080fd5b843593506020850135925061522760408601614f8e565b9396929550929360600135925050565b600080600080600080600080610100898b03121561525457600080fd5b88359750602089013561526681614ea9565b965060408901356152768161507b565b955060608901359450608089013561528d81615096565b935061529b60a08a01614f8e565b925060c0890135915060e089013590509295985092959890939650565b6000806000606084860312156152cd57600080fd5b505081359360208301359350604090920135919050565b600060a08284031215614ffc57600080fd5b6000806000806000610120868803121561530f57600080fd5b8535945060208601356153218161507b565b935061533087604088016152e4565b925060e086013591506153466101008701614f8e565b90509295509295909350565b60008060006060848603121561536757600080fd5b83356153728161507b565b95602085013595506040909401359392505050565b60008060008060008061014087890312156153a157600080fd5b8635955060208701356153b381614ea9565b945060408701356153c38161507b565b93506153d288606089016152e4565b92506101008701359150610120870135600581106153ef57600080fd5b809150509295509295509295565b600080600080600080600060e0888a03121561541857600080fd5b87359650602088013561542a8161507b565b955061543860408901614f8e565b945060608801359350608088013561544f81615096565b9699959850939692959460a0840135945060c09093013592915050565b600080600080600080600060e0888a03121561548757600080fd5b8735965060208801356154998161507b565b955060408801359450606088013593506154b560808901614f8e565b925060a0880135915060c08801356154cc81615096565b8091505092959891949750929550565b600080600080608085870312156154f257600080fd5b84356154fd81614ea9565b9350602085013561550d81614ea9565b9250604085013561551d8161507b565b9150606085013561552d81615096565b939692955090935050565b6000806040838503121561554b57600080fd5b82356155568161507b565b946020939093013593505050565b60006101808284031215614ffc57600080fd5b600060c08284031215614ffc57600080fd5b6000806020838503121561559c57600080fd5b823567ffffffffffffffff808211156155b457600080fd5b818501915085601f8301126155c857600080fd5b8135818111156155d757600080fd5b866020610180830285010111156155ed57600080fd5b60209290920196919550909350505050565b60008060008060008060c0878903121561561857600080fd5b863595506020870135945060408701359350606087013592506080870135915061564460a08801614f8e565b90509295509295509295565b6000806000806080858703121561566657600080fd5b84359350602085013592506040850135915061568460608601614f8e565b905092959194509250565b6000806000606084860312156156a457600080fd5b83359250602084013591506156bb60408501614f8e565b90509250925092565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611b9357611b936156fe565b634e487b7160e01b600052601260045260246000fd5b6000826157505761575061572b565b500490565b81810381811115611b9357611b936156fe565b6000600160ff1b820161577d5761577d6156fe565b5060000390565b60008135611b938161507b565b60008135611b9381615096565b805463ffffffff60501b191660509290921b63ffffffff60501b16919091179055565b81356157cc8161507b565b815461ffff191661ffff82161782555060208201356157ea81615096565b815465ffffffff00001916601082901b65ffffffff00001617825550604082013561581481615096565b815463ffffffff60301b1916603082901b63ffffffff60301b1617825550606082013561584081615096565b61392c818361579e565b6080810182356158598161507b565b61ffff168252602083013561586d81615096565b63ffffffff908116602084015260408401359061588982615096565b90811660408401526060840135906158a082615096565b8082166060850152505092915050565b6000602082840312156158c257600080fd5b5051919050565b81810360008312801583831316838312821617156158e9576158e96156fe565b5092915050565b80820260008212600160ff1b8414161561590c5761590c6156fe565b8181058314821517611b9357611b936156fe565b60008261592f5761592f61572b565b600160ff1b821460001984141615615949576159496156fe565b500590565b808201828112600083128015821682158216171561596e5761596e6156fe565b505092915050565b6012811061599457634e487b7160e01b600052602160045260246000fd5b9052565b604081016159a68285615976565b63ffffffff831660208301529392505050565b604081016159c78285615976565b8260208301529392505050565b80820180821115611b9357611b936156fe565b60208082526012908201527154524144494e475f464c4f4f525f4f4e4c5960701b604082015260600190565b600060018201615a2557615a256156fe565b5060010190565b6000825160005b81811015615a4d5760208186018101518583015201615a33565b506000920191825250919050565b600060208284031215615a6d57600080fd5b611bce82614f8e565b600060208284031215615a8857600080fd5b8135611bce81615096565b803567ffffffffffffffff81168114614f9e57600080fd5b600060208284031215615abd57600080fd5b611bce82615a93565b6020808252600f908201526e57524f4e475f4c455645524147455360881b604082015260600190565b60208082526010908201526f2bb937b7339036b0bc2137b93937bba360811b604082015260600190565b615b38615b2583615784565b825461ffff191661ffff91909116178255565b615b61615b4760208401615784565b825463ffff0000191660109190911b63ffff000016178255565b615b8e615b7060408401615784565b825465ffff00000000191660209190911b65ffff0000000016178255565b615bbd615b9d60608401615791565b825463ffffffff60301b191660309190911b63ffffffff60301b16178255565b615bd2615bcc60808401615791565b8261579e565b615c05615be160a08401615791565b82805463ffffffff60701b191660709290921b63ffffffff60701b16919091179055565b60c0820135600182015560e0820135600282015561010082013560038201556101208201356004820155610140820135600582015561016082013560068201555050565b6101808101615c6382615c5b8561508b565b61ffff169052565b615c6f6020840161508b565b61ffff166020830152615c846040840161508b565b61ffff166040830152615c99606084016150a8565b63ffffffff166060830152615cb0608084016150a8565b63ffffffff166080830152615cc760a084016150a8565b63ffffffff1660a083015260c0838101359083015260e0808401359083015261010080840135908301526101208084013590830152610140808401359083015261016092830135929091019190915290565b8135615d248161507b565b815461ffff191661ffff8216178255506020820135615d4281615096565b815465ffffffff00001916601082901b65ffffffff000016178255506040820135615d6c81615096565b815463ffffffff60301b1916603082901b63ffffffff60301b16178255506060820135615d9881615096565b615da2818361579e565b506080820135600182015560a082013560028201555050565b60c081018235615dca8161507b565b61ffff1682526020830135615dde81615096565b63ffffffff9081166020840152604084013590615dfa82615096565b9081166040840152606084013590615e1182615096565b1660608301526080838101359083015260a092830135929091019190915290565b634e487b7160e01b600052603260045260246000fd5b600060208284031215615e5a57600080fd5b8151611bce81614ea9565b8635815261014081016020880135615e7c81615096565b63ffffffff166020830152615e9360408901614f8e565b15156040830152615ea660608901615a93565b67ffffffffffffffff808216606085015280615ec460808c01615a93565b166080850152505060a082019690965260c081019490945260e08401929092526101008301526101209091015291905056fea26469706673582212201421aec69ac6f83dc1a8fd1a6f5489ee98d9b866df90264417f7d4bb49b1082f64736f6c63430008180033";
3734
+ const isSuperArgs = (xs) => xs.length > 1;
3735
+ class PoolAccountantV1__factory extends ethers_1.ContractFactory {
3736
+ constructor(...args) {
3737
+ if (isSuperArgs(args)) {
3738
+ super(...args);
3739
+ }
3740
+ else {
3741
+ super(_abi, _bytecode, args[0]);
3742
+ }
3743
+ }
3744
+ getDeployTransaction(overrides) {
3745
+ return super.getDeployTransaction(overrides || {});
3746
+ }
3747
+ deploy(overrides) {
3748
+ return super.deploy(overrides || {});
3749
+ }
3750
+ connect(runner) {
3751
+ return super.connect(runner);
3752
+ }
3753
+ static createInterface() {
3754
+ return new ethers_1.Interface(_abi);
3755
+ }
3756
+ static connect(address, runner) {
3757
+ return new ethers_1.Contract(address, _abi, runner);
3758
+ }
3759
+ }
3760
+ exports.PoolAccountantV1__factory = PoolAccountantV1__factory;
3761
+ PoolAccountantV1__factory.bytecode = _bytecode;
3762
+ PoolAccountantV1__factory.abi = _abi;