@gainsnetwork/sdk 0.0.40 → 0.0.41-rc2

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 (119) hide show
  1. package/README.md +11 -11
  2. package/lib/constants.d.ts +174 -174
  3. package/lib/constants.js +186 -186
  4. package/lib/contracts/addresses.d.ts +2 -2
  5. package/lib/contracts/addresses.js +15 -15
  6. package/lib/contracts/addresses.json +35 -35
  7. package/lib/contracts/index.d.ts +6 -6
  8. package/lib/contracts/index.js +35 -35
  9. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -1911
  10. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -2
  11. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1341 -0
  12. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  13. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +979 -0
  14. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +2 -0
  15. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +1058 -1058
  16. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +2 -2
  17. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -533
  18. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -2
  19. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -613
  20. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -2
  21. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -911
  22. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -2
  23. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -660
  24. package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -2
  25. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +806 -0
  26. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +2 -0
  27. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +821 -821
  28. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +2 -2
  29. package/lib/contracts/types/generated/GTokenOpenPnlFeed.d.ts +557 -557
  30. package/lib/contracts/types/generated/GTokenOpenPnlFeed.js +2 -2
  31. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +1838 -1838
  32. package/lib/contracts/types/generated/GTokenV6_3_2.js +2 -2
  33. package/lib/contracts/types/generated/common.d.ts +22 -22
  34. package/lib/contracts/types/generated/common.js +2 -2
  35. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -83
  36. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -2691
  37. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +88 -0
  38. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +1654 -0
  39. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +113 -113
  40. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +1742 -1742
  41. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +128 -0
  42. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +2206 -0
  43. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -100
  44. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -1116
  45. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -100
  46. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -1003
  47. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -98
  48. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -1485
  49. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -117
  50. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -1265
  51. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +82 -0
  52. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +1273 -0
  53. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +82 -82
  54. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +1326 -1326
  55. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.d.ts +59 -59
  56. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.js +765 -765
  57. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +110 -110
  58. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +2682 -2682
  59. package/lib/contracts/types/generated/factories/index.d.ts +9 -9
  60. package/lib/contracts/types/generated/factories/index.js +24 -24
  61. package/lib/contracts/types/generated/index.d.ts +19 -19
  62. package/lib/contracts/types/generated/index.js +45 -45
  63. package/lib/contracts/types/index.d.ts +23 -23
  64. package/lib/contracts/types/index.js +2 -2
  65. package/lib/contracts/utils/borrowingFees.d.ts +8 -8
  66. package/lib/contracts/utils/borrowingFees.js +28 -28
  67. package/lib/contracts/utils/index.d.ts +4 -4
  68. package/lib/contracts/utils/index.js +20 -20
  69. package/lib/contracts/utils/openLimitOrders.d.ts +8 -8
  70. package/lib/contracts/utils/openLimitOrders.js +88 -88
  71. package/lib/contracts/utils/openTrades.d.ts +9 -9
  72. package/lib/contracts/utils/openTrades.js +172 -172
  73. package/lib/contracts/utils/pairs.d.ts +7 -7
  74. package/lib/contracts/utils/pairs.js +115 -115
  75. package/lib/index.d.ts +7 -7
  76. package/lib/index.js +24 -24
  77. package/lib/markets/commodities.d.ts +1 -1
  78. package/lib/markets/commodities.js +31 -31
  79. package/lib/markets/crypto.d.ts +1 -1
  80. package/lib/markets/crypto.js +6 -6
  81. package/lib/markets/forex.d.ts +2 -2
  82. package/lib/markets/forex.js +38 -38
  83. package/lib/markets/index.d.ts +5 -5
  84. package/lib/markets/index.js +21 -21
  85. package/lib/markets/indices.d.ts +1 -1
  86. package/lib/markets/indices.js +6 -6
  87. package/lib/markets/stocks.d.ts +3 -3
  88. package/lib/markets/stocks.js +54 -54
  89. package/lib/trade/fees/borrowing/converter.d.ts +13 -13
  90. package/lib/trade/fees/borrowing/converter.js +41 -41
  91. package/lib/trade/fees/borrowing/index.d.ts +55 -55
  92. package/lib/trade/fees/borrowing/index.js +171 -171
  93. package/lib/trade/fees/borrowing/types.d.ts +36 -36
  94. package/lib/trade/fees/borrowing/types.js +2 -2
  95. package/lib/trade/fees/index.d.ts +16 -16
  96. package/lib/trade/fees/index.js +60 -60
  97. package/lib/trade/index.d.ts +8 -7
  98. package/lib/trade/index.js +24 -23
  99. package/lib/trade/liquidation.d.ts +7 -7
  100. package/lib/trade/liquidation.js +18 -18
  101. package/lib/trade/oiWindows.d.ts +3 -0
  102. package/lib/trade/oiWindows.js +19 -0
  103. package/lib/trade/openLimitOrder.d.ts +2 -2
  104. package/lib/trade/openLimitOrder.js +24 -24
  105. package/lib/trade/pnl.d.ts +9 -9
  106. package/lib/trade/pnl.js +44 -44
  107. package/lib/trade/spread.d.ts +3 -3
  108. package/lib/trade/spread.js +32 -30
  109. package/lib/trade/types.d.ts +185 -176
  110. package/lib/trade/types.js +14 -14
  111. package/lib/utils/index.d.ts +1 -1
  112. package/lib/utils/index.js +17 -17
  113. package/lib/utils/packing.d.ts +2 -2
  114. package/lib/utils/packing.js +39 -39
  115. package/lib/vault/index.d.ts +7 -7
  116. package/lib/vault/index.js +11 -11
  117. package/package.json +104 -104
  118. package/lib/trade/fees.d.ts +0 -15
  119. package/lib/trade/fees.js +0 -45
@@ -0,0 +1,1341 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export declare namespace PriceImpactUtils {
6
+ type PairOiStruct = {
7
+ long: PromiseOrValue<BigNumberish>;
8
+ short: PromiseOrValue<BigNumberish>;
9
+ };
10
+ type PairOiStructOutput = [BigNumber, BigNumber] & {
11
+ long: BigNumber;
12
+ short: BigNumber;
13
+ };
14
+ type OiWindowUpdateStruct = {
15
+ windowsDuration: PromiseOrValue<BigNumberish>;
16
+ pairIndex: PromiseOrValue<BigNumberish>;
17
+ windowId: PromiseOrValue<BigNumberish>;
18
+ long: PromiseOrValue<boolean>;
19
+ openInterest: PromiseOrValue<BigNumberish>;
20
+ };
21
+ type OiWindowUpdateStructOutput = [
22
+ number,
23
+ BigNumber,
24
+ BigNumber,
25
+ boolean,
26
+ BigNumber
27
+ ] & {
28
+ windowsDuration: number;
29
+ pairIndex: BigNumber;
30
+ windowId: BigNumber;
31
+ long: boolean;
32
+ openInterest: BigNumber;
33
+ };
34
+ type OiWindowsSettingsStruct = {
35
+ startTs: PromiseOrValue<BigNumberish>;
36
+ windowsDuration: PromiseOrValue<BigNumberish>;
37
+ windowsCount: PromiseOrValue<BigNumberish>;
38
+ };
39
+ type OiWindowsSettingsStructOutput = [number, number, number] & {
40
+ startTs: number;
41
+ windowsDuration: number;
42
+ windowsCount: number;
43
+ };
44
+ }
45
+ export declare namespace IGNSBorrowingFees {
46
+ type PairGroupStruct = {
47
+ groupIndex: PromiseOrValue<BigNumberish>;
48
+ block: PromiseOrValue<BigNumberish>;
49
+ initialAccFeeLong: PromiseOrValue<BigNumberish>;
50
+ initialAccFeeShort: PromiseOrValue<BigNumberish>;
51
+ prevGroupAccFeeLong: PromiseOrValue<BigNumberish>;
52
+ prevGroupAccFeeShort: PromiseOrValue<BigNumberish>;
53
+ pairAccFeeLong: PromiseOrValue<BigNumberish>;
54
+ pairAccFeeShort: PromiseOrValue<BigNumberish>;
55
+ _placeholder: PromiseOrValue<BigNumberish>;
56
+ };
57
+ type PairGroupStructOutput = [
58
+ number,
59
+ number,
60
+ BigNumber,
61
+ BigNumber,
62
+ BigNumber,
63
+ BigNumber,
64
+ BigNumber,
65
+ BigNumber,
66
+ BigNumber
67
+ ] & {
68
+ groupIndex: number;
69
+ block: number;
70
+ initialAccFeeLong: BigNumber;
71
+ initialAccFeeShort: BigNumber;
72
+ prevGroupAccFeeLong: BigNumber;
73
+ prevGroupAccFeeShort: BigNumber;
74
+ pairAccFeeLong: BigNumber;
75
+ pairAccFeeShort: BigNumber;
76
+ _placeholder: BigNumber;
77
+ };
78
+ type PairStruct = {
79
+ groups: IGNSBorrowingFees.PairGroupStruct[];
80
+ feePerBlock: PromiseOrValue<BigNumberish>;
81
+ accFeeLong: PromiseOrValue<BigNumberish>;
82
+ accFeeShort: PromiseOrValue<BigNumberish>;
83
+ accLastUpdatedBlock: PromiseOrValue<BigNumberish>;
84
+ feeExponent: PromiseOrValue<BigNumberish>;
85
+ lastAccBlockWeightedMarketCap: PromiseOrValue<BigNumberish>;
86
+ };
87
+ type PairStructOutput = [
88
+ IGNSBorrowingFees.PairGroupStructOutput[],
89
+ number,
90
+ BigNumber,
91
+ BigNumber,
92
+ number,
93
+ number,
94
+ BigNumber
95
+ ] & {
96
+ groups: IGNSBorrowingFees.PairGroupStructOutput[];
97
+ feePerBlock: number;
98
+ accFeeLong: BigNumber;
99
+ accFeeShort: BigNumber;
100
+ accLastUpdatedBlock: number;
101
+ feeExponent: number;
102
+ lastAccBlockWeightedMarketCap: BigNumber;
103
+ };
104
+ type PairOiStruct = {
105
+ long: PromiseOrValue<BigNumberish>;
106
+ short: PromiseOrValue<BigNumberish>;
107
+ max: PromiseOrValue<BigNumberish>;
108
+ _placeholder: PromiseOrValue<BigNumberish>;
109
+ };
110
+ type PairOiStructOutput = [BigNumber, BigNumber, BigNumber, number] & {
111
+ long: BigNumber;
112
+ short: BigNumber;
113
+ max: BigNumber;
114
+ _placeholder: number;
115
+ };
116
+ type GroupStruct = {
117
+ oiLong: PromiseOrValue<BigNumberish>;
118
+ oiShort: PromiseOrValue<BigNumberish>;
119
+ feePerBlock: PromiseOrValue<BigNumberish>;
120
+ accFeeLong: PromiseOrValue<BigNumberish>;
121
+ accFeeShort: PromiseOrValue<BigNumberish>;
122
+ accLastUpdatedBlock: PromiseOrValue<BigNumberish>;
123
+ maxOi: PromiseOrValue<BigNumberish>;
124
+ lastAccBlockWeightedMarketCap: PromiseOrValue<BigNumberish>;
125
+ };
126
+ type GroupStructOutput = [
127
+ BigNumber,
128
+ BigNumber,
129
+ number,
130
+ BigNumber,
131
+ BigNumber,
132
+ number,
133
+ BigNumber,
134
+ BigNumber
135
+ ] & {
136
+ oiLong: BigNumber;
137
+ oiShort: BigNumber;
138
+ feePerBlock: number;
139
+ accFeeLong: BigNumber;
140
+ accFeeShort: BigNumber;
141
+ accLastUpdatedBlock: number;
142
+ maxOi: BigNumber;
143
+ lastAccBlockWeightedMarketCap: BigNumber;
144
+ };
145
+ type InitialAccFeesStruct = {
146
+ accPairFee: PromiseOrValue<BigNumberish>;
147
+ accGroupFee: PromiseOrValue<BigNumberish>;
148
+ block: PromiseOrValue<BigNumberish>;
149
+ _placeholder: PromiseOrValue<BigNumberish>;
150
+ };
151
+ type InitialAccFeesStructOutput = [
152
+ BigNumber,
153
+ BigNumber,
154
+ number,
155
+ BigNumber
156
+ ] & {
157
+ accPairFee: BigNumber;
158
+ accGroupFee: BigNumber;
159
+ block: number;
160
+ _placeholder: BigNumber;
161
+ };
162
+ type PendingAccFeesInputStruct = {
163
+ accFeeLong: PromiseOrValue<BigNumberish>;
164
+ accFeeShort: PromiseOrValue<BigNumberish>;
165
+ oiLong: PromiseOrValue<BigNumberish>;
166
+ oiShort: PromiseOrValue<BigNumberish>;
167
+ feePerBlock: PromiseOrValue<BigNumberish>;
168
+ currentBlock: PromiseOrValue<BigNumberish>;
169
+ accLastUpdatedBlock: PromiseOrValue<BigNumberish>;
170
+ maxOi: PromiseOrValue<BigNumberish>;
171
+ feeExponent: PromiseOrValue<BigNumberish>;
172
+ };
173
+ type PendingAccFeesInputStructOutput = [
174
+ BigNumber,
175
+ BigNumber,
176
+ BigNumber,
177
+ BigNumber,
178
+ number,
179
+ BigNumber,
180
+ BigNumber,
181
+ BigNumber,
182
+ number
183
+ ] & {
184
+ accFeeLong: BigNumber;
185
+ accFeeShort: BigNumber;
186
+ oiLong: BigNumber;
187
+ oiShort: BigNumber;
188
+ feePerBlock: number;
189
+ currentBlock: BigNumber;
190
+ accLastUpdatedBlock: BigNumber;
191
+ maxOi: BigNumber;
192
+ feeExponent: number;
193
+ };
194
+ type BorrowingFeeInputStruct = {
195
+ trader: PromiseOrValue<string>;
196
+ pairIndex: PromiseOrValue<BigNumberish>;
197
+ index: PromiseOrValue<BigNumberish>;
198
+ long: PromiseOrValue<boolean>;
199
+ collateral: PromiseOrValue<BigNumberish>;
200
+ leverage: PromiseOrValue<BigNumberish>;
201
+ };
202
+ type BorrowingFeeInputStructOutput = [
203
+ string,
204
+ BigNumber,
205
+ BigNumber,
206
+ boolean,
207
+ BigNumber,
208
+ BigNumber
209
+ ] & {
210
+ trader: string;
211
+ pairIndex: BigNumber;
212
+ index: BigNumber;
213
+ long: boolean;
214
+ collateral: BigNumber;
215
+ leverage: BigNumber;
216
+ };
217
+ type LiqPriceInputStruct = {
218
+ trader: PromiseOrValue<string>;
219
+ pairIndex: PromiseOrValue<BigNumberish>;
220
+ index: PromiseOrValue<BigNumberish>;
221
+ openPrice: PromiseOrValue<BigNumberish>;
222
+ long: PromiseOrValue<boolean>;
223
+ collateral: PromiseOrValue<BigNumberish>;
224
+ leverage: PromiseOrValue<BigNumberish>;
225
+ };
226
+ type LiqPriceInputStructOutput = [
227
+ string,
228
+ BigNumber,
229
+ BigNumber,
230
+ BigNumber,
231
+ boolean,
232
+ BigNumber,
233
+ BigNumber
234
+ ] & {
235
+ trader: string;
236
+ pairIndex: BigNumber;
237
+ index: BigNumber;
238
+ openPrice: BigNumber;
239
+ long: boolean;
240
+ collateral: BigNumber;
241
+ leverage: BigNumber;
242
+ };
243
+ type GroupParamsStruct = {
244
+ feePerBlock: PromiseOrValue<BigNumberish>;
245
+ maxOi: PromiseOrValue<BigNumberish>;
246
+ feeExponent: PromiseOrValue<BigNumberish>;
247
+ };
248
+ type GroupParamsStructOutput = [number, BigNumber, number] & {
249
+ feePerBlock: number;
250
+ maxOi: BigNumber;
251
+ feeExponent: number;
252
+ };
253
+ type PairParamsStruct = {
254
+ groupIndex: PromiseOrValue<BigNumberish>;
255
+ feePerBlock: PromiseOrValue<BigNumberish>;
256
+ feeExponent: PromiseOrValue<BigNumberish>;
257
+ maxOi: PromiseOrValue<BigNumberish>;
258
+ };
259
+ type PairParamsStructOutput = [number, number, number, BigNumber] & {
260
+ groupIndex: number;
261
+ feePerBlock: number;
262
+ feeExponent: number;
263
+ maxOi: BigNumber;
264
+ };
265
+ }
266
+ export declare namespace IGNSPairInfos {
267
+ type TradeInitialAccFeesStruct = {
268
+ rollover: PromiseOrValue<BigNumberish>;
269
+ funding: PromiseOrValue<BigNumberish>;
270
+ openedAfterUpdate: PromiseOrValue<boolean>;
271
+ };
272
+ type TradeInitialAccFeesStructOutput = [
273
+ BigNumber,
274
+ BigNumber,
275
+ boolean
276
+ ] & {
277
+ rollover: BigNumber;
278
+ funding: BigNumber;
279
+ openedAfterUpdate: boolean;
280
+ };
281
+ }
282
+ export interface GNSBorrowingFeesInterface extends utils.Interface {
283
+ functions: {
284
+ "addPriceImpactOpenInterest(uint256,uint256,bool)": FunctionFragment;
285
+ "getAllPairs()": FunctionFragment;
286
+ "getGroup(uint16)": FunctionFragment;
287
+ "getGroupPendingAccFee(uint16,uint256,bool)": FunctionFragment;
288
+ "getGroupPendingAccFees(uint16,uint256)": FunctionFragment;
289
+ "getGroups(uint16[])": FunctionFragment;
290
+ "getOiWindow(uint48,uint256,uint256)": FunctionFragment;
291
+ "getOiWindows(uint48,uint256,uint256[])": FunctionFragment;
292
+ "getOiWindowsSettings()": FunctionFragment;
293
+ "getPair(uint256)": FunctionFragment;
294
+ "getPairGroupAccFeesDeltas(uint256,(uint16,uint48,uint64,uint64,uint64,uint64,uint64,uint64,uint64)[],(uint64,uint64,uint48,uint80),uint256,bool,uint256)": FunctionFragment;
295
+ "getPairGroupIndex(uint256)": FunctionFragment;
296
+ "getPairMaxOi(uint256)": FunctionFragment;
297
+ "getPairOpenInterestDai(uint256)": FunctionFragment;
298
+ "getPairPendingAccFee(uint256,uint256,bool)": FunctionFragment;
299
+ "getPairPendingAccFees(uint256,uint256)": FunctionFragment;
300
+ "getPendingAccFees((uint64,uint64,uint256,uint256,uint32,uint256,uint256,uint72,uint48))": FunctionFragment;
301
+ "getPriceImpactOi(uint256,bool)": FunctionFragment;
302
+ "getTradeBorrowingFee((address,uint256,uint256,bool,uint256,uint256))": FunctionFragment;
303
+ "getTradeInitialAccFees(address,uint256,uint256)": FunctionFragment;
304
+ "getTradeLiquidationPrice((address,uint256,uint256,uint256,bool,uint256,uint256))": FunctionFragment;
305
+ "getTradePriceImpact(uint256,uint256,bool,uint256)": FunctionFragment;
306
+ "groupFeeExponents(uint256)": FunctionFragment;
307
+ "groups(uint16)": FunctionFragment;
308
+ "handleTradeAction(address,uint256,uint256,uint256,bool,bool)": FunctionFragment;
309
+ "initialAccFees(address,uint256,uint256)": FunctionFragment;
310
+ "initialize(address,address)": FunctionFragment;
311
+ "initializeV2(uint48)": FunctionFragment;
312
+ "pairInfos()": FunctionFragment;
313
+ "pairOis(uint256)": FunctionFragment;
314
+ "pairs(uint256)": FunctionFragment;
315
+ "removePriceImpactOpenInterest(uint256,uint256,bool,uint48)": FunctionFragment;
316
+ "setGroupParams(uint16,(uint32,uint72,uint48))": FunctionFragment;
317
+ "setGroupParamsArray(uint16[],(uint32,uint72,uint48)[])": FunctionFragment;
318
+ "setPairParams(uint256,(uint16,uint32,uint48,uint72))": FunctionFragment;
319
+ "setPairParamsArray(uint256[],(uint16,uint32,uint48,uint72)[])": FunctionFragment;
320
+ "setPriceImpactWindowsCount(uint48)": FunctionFragment;
321
+ "setPriceImpactWindowsDuration(uint48)": FunctionFragment;
322
+ "storageT()": FunctionFragment;
323
+ "withinMaxGroupOi(uint256,bool,uint256)": FunctionFragment;
324
+ };
325
+ getFunction(nameOrSignatureOrTopic: "addPriceImpactOpenInterest" | "getAllPairs" | "getGroup" | "getGroupPendingAccFee" | "getGroupPendingAccFees" | "getGroups" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPair" | "getPairGroupAccFeesDeltas" | "getPairGroupIndex" | "getPairMaxOi" | "getPairOpenInterestDai" | "getPairPendingAccFee" | "getPairPendingAccFees" | "getPendingAccFees" | "getPriceImpactOi" | "getTradeBorrowingFee" | "getTradeInitialAccFees" | "getTradeLiquidationPrice" | "getTradePriceImpact" | "groupFeeExponents" | "groups" | "handleTradeAction" | "initialAccFees" | "initialize" | "initializeV2" | "pairInfos" | "pairOis" | "pairs" | "removePriceImpactOpenInterest" | "setGroupParams" | "setGroupParamsArray" | "setPairParams" | "setPairParamsArray" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "storageT" | "withinMaxGroupOi"): FunctionFragment;
326
+ encodeFunctionData(functionFragment: "addPriceImpactOpenInterest", values: [
327
+ PromiseOrValue<BigNumberish>,
328
+ PromiseOrValue<BigNumberish>,
329
+ PromiseOrValue<boolean>
330
+ ]): string;
331
+ encodeFunctionData(functionFragment: "getAllPairs", values?: undefined): string;
332
+ encodeFunctionData(functionFragment: "getGroup", values: [PromiseOrValue<BigNumberish>]): string;
333
+ encodeFunctionData(functionFragment: "getGroupPendingAccFee", values: [
334
+ PromiseOrValue<BigNumberish>,
335
+ PromiseOrValue<BigNumberish>,
336
+ PromiseOrValue<boolean>
337
+ ]): string;
338
+ encodeFunctionData(functionFragment: "getGroupPendingAccFees", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
339
+ encodeFunctionData(functionFragment: "getGroups", values: [PromiseOrValue<BigNumberish>[]]): string;
340
+ encodeFunctionData(functionFragment: "getOiWindow", values: [
341
+ PromiseOrValue<BigNumberish>,
342
+ PromiseOrValue<BigNumberish>,
343
+ PromiseOrValue<BigNumberish>
344
+ ]): string;
345
+ encodeFunctionData(functionFragment: "getOiWindows", values: [
346
+ PromiseOrValue<BigNumberish>,
347
+ PromiseOrValue<BigNumberish>,
348
+ PromiseOrValue<BigNumberish>[]
349
+ ]): string;
350
+ encodeFunctionData(functionFragment: "getOiWindowsSettings", values?: undefined): string;
351
+ encodeFunctionData(functionFragment: "getPair", values: [PromiseOrValue<BigNumberish>]): string;
352
+ encodeFunctionData(functionFragment: "getPairGroupAccFeesDeltas", values: [
353
+ PromiseOrValue<BigNumberish>,
354
+ IGNSBorrowingFees.PairGroupStruct[],
355
+ IGNSBorrowingFees.InitialAccFeesStruct,
356
+ PromiseOrValue<BigNumberish>,
357
+ PromiseOrValue<boolean>,
358
+ PromiseOrValue<BigNumberish>
359
+ ]): string;
360
+ encodeFunctionData(functionFragment: "getPairGroupIndex", values: [PromiseOrValue<BigNumberish>]): string;
361
+ encodeFunctionData(functionFragment: "getPairMaxOi", values: [PromiseOrValue<BigNumberish>]): string;
362
+ encodeFunctionData(functionFragment: "getPairOpenInterestDai", values: [PromiseOrValue<BigNumberish>]): string;
363
+ encodeFunctionData(functionFragment: "getPairPendingAccFee", values: [
364
+ PromiseOrValue<BigNumberish>,
365
+ PromiseOrValue<BigNumberish>,
366
+ PromiseOrValue<boolean>
367
+ ]): string;
368
+ encodeFunctionData(functionFragment: "getPairPendingAccFees", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
369
+ encodeFunctionData(functionFragment: "getPendingAccFees", values: [IGNSBorrowingFees.PendingAccFeesInputStruct]): string;
370
+ encodeFunctionData(functionFragment: "getPriceImpactOi", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>]): string;
371
+ encodeFunctionData(functionFragment: "getTradeBorrowingFee", values: [IGNSBorrowingFees.BorrowingFeeInputStruct]): string;
372
+ encodeFunctionData(functionFragment: "getTradeInitialAccFees", values: [
373
+ PromiseOrValue<string>,
374
+ PromiseOrValue<BigNumberish>,
375
+ PromiseOrValue<BigNumberish>
376
+ ]): string;
377
+ encodeFunctionData(functionFragment: "getTradeLiquidationPrice", values: [IGNSBorrowingFees.LiqPriceInputStruct]): string;
378
+ encodeFunctionData(functionFragment: "getTradePriceImpact", values: [
379
+ PromiseOrValue<BigNumberish>,
380
+ PromiseOrValue<BigNumberish>,
381
+ PromiseOrValue<boolean>,
382
+ PromiseOrValue<BigNumberish>
383
+ ]): string;
384
+ encodeFunctionData(functionFragment: "groupFeeExponents", values: [PromiseOrValue<BigNumberish>]): string;
385
+ encodeFunctionData(functionFragment: "groups", values: [PromiseOrValue<BigNumberish>]): string;
386
+ encodeFunctionData(functionFragment: "handleTradeAction", values: [
387
+ PromiseOrValue<string>,
388
+ PromiseOrValue<BigNumberish>,
389
+ PromiseOrValue<BigNumberish>,
390
+ PromiseOrValue<BigNumberish>,
391
+ PromiseOrValue<boolean>,
392
+ PromiseOrValue<boolean>
393
+ ]): string;
394
+ encodeFunctionData(functionFragment: "initialAccFees", values: [
395
+ PromiseOrValue<string>,
396
+ PromiseOrValue<BigNumberish>,
397
+ PromiseOrValue<BigNumberish>
398
+ ]): string;
399
+ encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
400
+ encodeFunctionData(functionFragment: "initializeV2", values: [PromiseOrValue<BigNumberish>]): string;
401
+ encodeFunctionData(functionFragment: "pairInfos", values?: undefined): string;
402
+ encodeFunctionData(functionFragment: "pairOis", values: [PromiseOrValue<BigNumberish>]): string;
403
+ encodeFunctionData(functionFragment: "pairs", values: [PromiseOrValue<BigNumberish>]): string;
404
+ encodeFunctionData(functionFragment: "removePriceImpactOpenInterest", values: [
405
+ PromiseOrValue<BigNumberish>,
406
+ PromiseOrValue<BigNumberish>,
407
+ PromiseOrValue<boolean>,
408
+ PromiseOrValue<BigNumberish>
409
+ ]): string;
410
+ encodeFunctionData(functionFragment: "setGroupParams", values: [PromiseOrValue<BigNumberish>, IGNSBorrowingFees.GroupParamsStruct]): string;
411
+ encodeFunctionData(functionFragment: "setGroupParamsArray", values: [
412
+ PromiseOrValue<BigNumberish>[],
413
+ IGNSBorrowingFees.GroupParamsStruct[]
414
+ ]): string;
415
+ encodeFunctionData(functionFragment: "setPairParams", values: [PromiseOrValue<BigNumberish>, IGNSBorrowingFees.PairParamsStruct]): string;
416
+ encodeFunctionData(functionFragment: "setPairParamsArray", values: [
417
+ PromiseOrValue<BigNumberish>[],
418
+ IGNSBorrowingFees.PairParamsStruct[]
419
+ ]): string;
420
+ encodeFunctionData(functionFragment: "setPriceImpactWindowsCount", values: [PromiseOrValue<BigNumberish>]): string;
421
+ encodeFunctionData(functionFragment: "setPriceImpactWindowsDuration", values: [PromiseOrValue<BigNumberish>]): string;
422
+ encodeFunctionData(functionFragment: "storageT", values?: undefined): string;
423
+ encodeFunctionData(functionFragment: "withinMaxGroupOi", values: [
424
+ PromiseOrValue<BigNumberish>,
425
+ PromiseOrValue<boolean>,
426
+ PromiseOrValue<BigNumberish>
427
+ ]): string;
428
+ decodeFunctionResult(functionFragment: "addPriceImpactOpenInterest", data: BytesLike): Result;
429
+ decodeFunctionResult(functionFragment: "getAllPairs", data: BytesLike): Result;
430
+ decodeFunctionResult(functionFragment: "getGroup", data: BytesLike): Result;
431
+ decodeFunctionResult(functionFragment: "getGroupPendingAccFee", data: BytesLike): Result;
432
+ decodeFunctionResult(functionFragment: "getGroupPendingAccFees", data: BytesLike): Result;
433
+ decodeFunctionResult(functionFragment: "getGroups", data: BytesLike): Result;
434
+ decodeFunctionResult(functionFragment: "getOiWindow", data: BytesLike): Result;
435
+ decodeFunctionResult(functionFragment: "getOiWindows", data: BytesLike): Result;
436
+ decodeFunctionResult(functionFragment: "getOiWindowsSettings", data: BytesLike): Result;
437
+ decodeFunctionResult(functionFragment: "getPair", data: BytesLike): Result;
438
+ decodeFunctionResult(functionFragment: "getPairGroupAccFeesDeltas", data: BytesLike): Result;
439
+ decodeFunctionResult(functionFragment: "getPairGroupIndex", data: BytesLike): Result;
440
+ decodeFunctionResult(functionFragment: "getPairMaxOi", data: BytesLike): Result;
441
+ decodeFunctionResult(functionFragment: "getPairOpenInterestDai", data: BytesLike): Result;
442
+ decodeFunctionResult(functionFragment: "getPairPendingAccFee", data: BytesLike): Result;
443
+ decodeFunctionResult(functionFragment: "getPairPendingAccFees", data: BytesLike): Result;
444
+ decodeFunctionResult(functionFragment: "getPendingAccFees", data: BytesLike): Result;
445
+ decodeFunctionResult(functionFragment: "getPriceImpactOi", data: BytesLike): Result;
446
+ decodeFunctionResult(functionFragment: "getTradeBorrowingFee", data: BytesLike): Result;
447
+ decodeFunctionResult(functionFragment: "getTradeInitialAccFees", data: BytesLike): Result;
448
+ decodeFunctionResult(functionFragment: "getTradeLiquidationPrice", data: BytesLike): Result;
449
+ decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
450
+ decodeFunctionResult(functionFragment: "groupFeeExponents", data: BytesLike): Result;
451
+ decodeFunctionResult(functionFragment: "groups", data: BytesLike): Result;
452
+ decodeFunctionResult(functionFragment: "handleTradeAction", data: BytesLike): Result;
453
+ decodeFunctionResult(functionFragment: "initialAccFees", data: BytesLike): Result;
454
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
455
+ decodeFunctionResult(functionFragment: "initializeV2", data: BytesLike): Result;
456
+ decodeFunctionResult(functionFragment: "pairInfos", data: BytesLike): Result;
457
+ decodeFunctionResult(functionFragment: "pairOis", data: BytesLike): Result;
458
+ decodeFunctionResult(functionFragment: "pairs", data: BytesLike): Result;
459
+ decodeFunctionResult(functionFragment: "removePriceImpactOpenInterest", data: BytesLike): Result;
460
+ decodeFunctionResult(functionFragment: "setGroupParams", data: BytesLike): Result;
461
+ decodeFunctionResult(functionFragment: "setGroupParamsArray", data: BytesLike): Result;
462
+ decodeFunctionResult(functionFragment: "setPairParams", data: BytesLike): Result;
463
+ decodeFunctionResult(functionFragment: "setPairParamsArray", data: BytesLike): Result;
464
+ decodeFunctionResult(functionFragment: "setPriceImpactWindowsCount", data: BytesLike): Result;
465
+ decodeFunctionResult(functionFragment: "setPriceImpactWindowsDuration", data: BytesLike): Result;
466
+ decodeFunctionResult(functionFragment: "storageT", data: BytesLike): Result;
467
+ decodeFunctionResult(functionFragment: "withinMaxGroupOi", data: BytesLike): Result;
468
+ events: {
469
+ "GroupAccFeesUpdated(uint16,uint256,uint64,uint64)": EventFragment;
470
+ "GroupOiUpdated(uint16,bool,bool,uint112,uint112,uint112)": EventFragment;
471
+ "GroupUpdated(uint16,uint32,uint72,uint48)": EventFragment;
472
+ "Initialized(uint8)": EventFragment;
473
+ "OiWindowsSettingsInitialized(uint48)": EventFragment;
474
+ "PairAccFeesUpdated(uint256,uint256,uint64,uint64)": EventFragment;
475
+ "PairGroupUpdated(uint256,uint16,uint16)": EventFragment;
476
+ "PairParamsUpdated(uint256,uint16,uint32,uint48,uint72)": EventFragment;
477
+ "PriceImpactOiTransferredPair(uint256,tuple)": EventFragment;
478
+ "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)": EventFragment;
479
+ "PriceImpactOpenInterestAdded(tuple)": EventFragment;
480
+ "PriceImpactOpenInterestRemoved(tuple,bool)": EventFragment;
481
+ "PriceImpactWindowsCountUpdated(uint48)": EventFragment;
482
+ "PriceImpactWindowsDurationUpdated(uint48)": EventFragment;
483
+ "TradeActionHandled(address,uint256,uint256,bool,bool,uint256)": EventFragment;
484
+ "TradeInitialAccFeesStored(address,uint256,uint256,uint64,uint64)": EventFragment;
485
+ };
486
+ getEvent(nameOrSignatureOrTopic: "GroupAccFeesUpdated"): EventFragment;
487
+ getEvent(nameOrSignatureOrTopic: "GroupOiUpdated"): EventFragment;
488
+ getEvent(nameOrSignatureOrTopic: "GroupUpdated"): EventFragment;
489
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
490
+ getEvent(nameOrSignatureOrTopic: "OiWindowsSettingsInitialized"): EventFragment;
491
+ getEvent(nameOrSignatureOrTopic: "PairAccFeesUpdated"): EventFragment;
492
+ getEvent(nameOrSignatureOrTopic: "PairGroupUpdated"): EventFragment;
493
+ getEvent(nameOrSignatureOrTopic: "PairParamsUpdated"): EventFragment;
494
+ getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPair"): EventFragment;
495
+ getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPairs"): EventFragment;
496
+ getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestAdded"): EventFragment;
497
+ getEvent(nameOrSignatureOrTopic: "PriceImpactOpenInterestRemoved"): EventFragment;
498
+ getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsCountUpdated"): EventFragment;
499
+ getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsDurationUpdated"): EventFragment;
500
+ getEvent(nameOrSignatureOrTopic: "TradeActionHandled"): EventFragment;
501
+ getEvent(nameOrSignatureOrTopic: "TradeInitialAccFeesStored"): EventFragment;
502
+ }
503
+ export interface GroupAccFeesUpdatedEventObject {
504
+ groupIndex: number;
505
+ currentBlock: BigNumber;
506
+ accFeeLong: BigNumber;
507
+ accFeeShort: BigNumber;
508
+ }
509
+ export type GroupAccFeesUpdatedEvent = TypedEvent<[
510
+ number,
511
+ BigNumber,
512
+ BigNumber,
513
+ BigNumber
514
+ ], GroupAccFeesUpdatedEventObject>;
515
+ export type GroupAccFeesUpdatedEventFilter = TypedEventFilter<GroupAccFeesUpdatedEvent>;
516
+ export interface GroupOiUpdatedEventObject {
517
+ groupIndex: number;
518
+ long: boolean;
519
+ increase: boolean;
520
+ amount: BigNumber;
521
+ oiLong: BigNumber;
522
+ oiShort: BigNumber;
523
+ }
524
+ export type GroupOiUpdatedEvent = TypedEvent<[
525
+ number,
526
+ boolean,
527
+ boolean,
528
+ BigNumber,
529
+ BigNumber,
530
+ BigNumber
531
+ ], GroupOiUpdatedEventObject>;
532
+ export type GroupOiUpdatedEventFilter = TypedEventFilter<GroupOiUpdatedEvent>;
533
+ export interface GroupUpdatedEventObject {
534
+ groupIndex: number;
535
+ feePerBlock: number;
536
+ maxOi: BigNumber;
537
+ feeExponent: number;
538
+ }
539
+ export type GroupUpdatedEvent = TypedEvent<[
540
+ number,
541
+ number,
542
+ BigNumber,
543
+ number
544
+ ], GroupUpdatedEventObject>;
545
+ export type GroupUpdatedEventFilter = TypedEventFilter<GroupUpdatedEvent>;
546
+ export interface InitializedEventObject {
547
+ version: number;
548
+ }
549
+ export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
550
+ export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
551
+ export interface OiWindowsSettingsInitializedEventObject {
552
+ windowsDuration: number;
553
+ }
554
+ export type OiWindowsSettingsInitializedEvent = TypedEvent<[
555
+ number
556
+ ], OiWindowsSettingsInitializedEventObject>;
557
+ export type OiWindowsSettingsInitializedEventFilter = TypedEventFilter<OiWindowsSettingsInitializedEvent>;
558
+ export interface PairAccFeesUpdatedEventObject {
559
+ pairIndex: BigNumber;
560
+ currentBlock: BigNumber;
561
+ accFeeLong: BigNumber;
562
+ accFeeShort: BigNumber;
563
+ }
564
+ export type PairAccFeesUpdatedEvent = TypedEvent<[
565
+ BigNumber,
566
+ BigNumber,
567
+ BigNumber,
568
+ BigNumber
569
+ ], PairAccFeesUpdatedEventObject>;
570
+ export type PairAccFeesUpdatedEventFilter = TypedEventFilter<PairAccFeesUpdatedEvent>;
571
+ export interface PairGroupUpdatedEventObject {
572
+ pairIndex: BigNumber;
573
+ prevGroupIndex: number;
574
+ newGroupIndex: number;
575
+ }
576
+ export type PairGroupUpdatedEvent = TypedEvent<[
577
+ BigNumber,
578
+ number,
579
+ number
580
+ ], PairGroupUpdatedEventObject>;
581
+ export type PairGroupUpdatedEventFilter = TypedEventFilter<PairGroupUpdatedEvent>;
582
+ export interface PairParamsUpdatedEventObject {
583
+ pairIndex: BigNumber;
584
+ groupIndex: number;
585
+ feePerBlock: number;
586
+ feeExponent: number;
587
+ maxOi: BigNumber;
588
+ }
589
+ export type PairParamsUpdatedEvent = TypedEvent<[
590
+ BigNumber,
591
+ number,
592
+ number,
593
+ number,
594
+ BigNumber
595
+ ], PairParamsUpdatedEventObject>;
596
+ export type PairParamsUpdatedEventFilter = TypedEventFilter<PairParamsUpdatedEvent>;
597
+ export interface PriceImpactOiTransferredPairEventObject {
598
+ pairIndex: BigNumber;
599
+ totalPairOi: PriceImpactUtils.PairOiStructOutput;
600
+ }
601
+ export type PriceImpactOiTransferredPairEvent = TypedEvent<[
602
+ BigNumber,
603
+ PriceImpactUtils.PairOiStructOutput
604
+ ], PriceImpactOiTransferredPairEventObject>;
605
+ export type PriceImpactOiTransferredPairEventFilter = TypedEventFilter<PriceImpactOiTransferredPairEvent>;
606
+ export interface PriceImpactOiTransferredPairsEventObject {
607
+ pairsCount: BigNumber;
608
+ prevCurrentWindowId: BigNumber;
609
+ prevEarliestWindowId: BigNumber;
610
+ newCurrentWindowId: BigNumber;
611
+ }
612
+ export type PriceImpactOiTransferredPairsEvent = TypedEvent<[
613
+ BigNumber,
614
+ BigNumber,
615
+ BigNumber,
616
+ BigNumber
617
+ ], PriceImpactOiTransferredPairsEventObject>;
618
+ export type PriceImpactOiTransferredPairsEventFilter = TypedEventFilter<PriceImpactOiTransferredPairsEvent>;
619
+ export interface PriceImpactOpenInterestAddedEventObject {
620
+ oiWindowUpdate: PriceImpactUtils.OiWindowUpdateStructOutput;
621
+ }
622
+ export type PriceImpactOpenInterestAddedEvent = TypedEvent<[
623
+ PriceImpactUtils.OiWindowUpdateStructOutput
624
+ ], PriceImpactOpenInterestAddedEventObject>;
625
+ export type PriceImpactOpenInterestAddedEventFilter = TypedEventFilter<PriceImpactOpenInterestAddedEvent>;
626
+ export interface PriceImpactOpenInterestRemovedEventObject {
627
+ oiWindowUpdate: PriceImpactUtils.OiWindowUpdateStructOutput;
628
+ notOutdated: boolean;
629
+ }
630
+ export type PriceImpactOpenInterestRemovedEvent = TypedEvent<[
631
+ PriceImpactUtils.OiWindowUpdateStructOutput,
632
+ boolean
633
+ ], PriceImpactOpenInterestRemovedEventObject>;
634
+ export type PriceImpactOpenInterestRemovedEventFilter = TypedEventFilter<PriceImpactOpenInterestRemovedEvent>;
635
+ export interface PriceImpactWindowsCountUpdatedEventObject {
636
+ windowsCount: number;
637
+ }
638
+ export type PriceImpactWindowsCountUpdatedEvent = TypedEvent<[
639
+ number
640
+ ], PriceImpactWindowsCountUpdatedEventObject>;
641
+ export type PriceImpactWindowsCountUpdatedEventFilter = TypedEventFilter<PriceImpactWindowsCountUpdatedEvent>;
642
+ export interface PriceImpactWindowsDurationUpdatedEventObject {
643
+ windowsDuration: number;
644
+ }
645
+ export type PriceImpactWindowsDurationUpdatedEvent = TypedEvent<[
646
+ number
647
+ ], PriceImpactWindowsDurationUpdatedEventObject>;
648
+ export type PriceImpactWindowsDurationUpdatedEventFilter = TypedEventFilter<PriceImpactWindowsDurationUpdatedEvent>;
649
+ export interface TradeActionHandledEventObject {
650
+ trader: string;
651
+ pairIndex: BigNumber;
652
+ index: BigNumber;
653
+ open: boolean;
654
+ long: boolean;
655
+ positionSizeDai: BigNumber;
656
+ }
657
+ export type TradeActionHandledEvent = TypedEvent<[
658
+ string,
659
+ BigNumber,
660
+ BigNumber,
661
+ boolean,
662
+ boolean,
663
+ BigNumber
664
+ ], TradeActionHandledEventObject>;
665
+ export type TradeActionHandledEventFilter = TypedEventFilter<TradeActionHandledEvent>;
666
+ export interface TradeInitialAccFeesStoredEventObject {
667
+ trader: string;
668
+ pairIndex: BigNumber;
669
+ index: BigNumber;
670
+ initialPairAccFee: BigNumber;
671
+ initialGroupAccFee: BigNumber;
672
+ }
673
+ export type TradeInitialAccFeesStoredEvent = TypedEvent<[
674
+ string,
675
+ BigNumber,
676
+ BigNumber,
677
+ BigNumber,
678
+ BigNumber
679
+ ], TradeInitialAccFeesStoredEventObject>;
680
+ export type TradeInitialAccFeesStoredEventFilter = TypedEventFilter<TradeInitialAccFeesStoredEvent>;
681
+ export interface GNSBorrowingFees extends BaseContract {
682
+ connect(signerOrProvider: Signer | Provider | string): this;
683
+ attach(addressOrName: string): this;
684
+ deployed(): Promise<this>;
685
+ interface: GNSBorrowingFeesInterface;
686
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
687
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
688
+ listeners(eventName?: string): Array<Listener>;
689
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
690
+ removeAllListeners(eventName?: string): this;
691
+ off: OnEvent<this>;
692
+ on: OnEvent<this>;
693
+ once: OnEvent<this>;
694
+ removeListener: OnEvent<this>;
695
+ functions: {
696
+ addPriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
697
+ from?: PromiseOrValue<string>;
698
+ }): Promise<ContractTransaction>;
699
+ getAllPairs(overrides?: CallOverrides): Promise<[
700
+ IGNSBorrowingFees.PairStructOutput[],
701
+ IGNSBorrowingFees.PairOiStructOutput[]
702
+ ]>;
703
+ getGroup(groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput, number]>;
704
+ getGroupPendingAccFee(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
705
+ accFee: BigNumber;
706
+ }>;
707
+ getGroupPendingAccFees(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
708
+ BigNumber,
709
+ BigNumber,
710
+ BigNumber
711
+ ] & {
712
+ accFeeLong: BigNumber;
713
+ accFeeShort: BigNumber;
714
+ groupAccFeeDelta: BigNumber;
715
+ }>;
716
+ getGroups(indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput[], number[]]>;
717
+ getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[PriceImpactUtils.PairOiStructOutput]>;
718
+ getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[PriceImpactUtils.PairOiStructOutput[]]>;
719
+ getOiWindowsSettings(overrides?: CallOverrides): Promise<[PriceImpactUtils.OiWindowsSettingsStructOutput]>;
720
+ getPair(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
721
+ IGNSBorrowingFees.PairStructOutput,
722
+ IGNSBorrowingFees.PairOiStructOutput
723
+ ]>;
724
+ getPairGroupAccFeesDeltas(i: PromiseOrValue<BigNumberish>, pairGroups: IGNSBorrowingFees.PairGroupStruct[], initialFees: IGNSBorrowingFees.InitialAccFeesStruct, pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
725
+ BigNumber,
726
+ BigNumber,
727
+ boolean
728
+ ] & {
729
+ deltaGroup: BigNumber;
730
+ deltaPair: BigNumber;
731
+ beforeTradeOpen: boolean;
732
+ }>;
733
+ getPairGroupIndex(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number] & {
734
+ groupIndex: number;
735
+ }>;
736
+ getPairMaxOi(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
737
+ getPairOpenInterestDai(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
738
+ getPairPendingAccFee(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
739
+ accFee: BigNumber;
740
+ }>;
741
+ getPairPendingAccFees(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
742
+ BigNumber,
743
+ BigNumber,
744
+ BigNumber
745
+ ] & {
746
+ accFeeLong: BigNumber;
747
+ accFeeShort: BigNumber;
748
+ pairAccFeeDelta: BigNumber;
749
+ }>;
750
+ getPendingAccFees(input: IGNSBorrowingFees.PendingAccFeesInputStruct, overrides?: CallOverrides): Promise<[
751
+ BigNumber,
752
+ BigNumber,
753
+ BigNumber
754
+ ] & {
755
+ newAccFeeLong: BigNumber;
756
+ newAccFeeShort: BigNumber;
757
+ delta: BigNumber;
758
+ }>;
759
+ getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
760
+ activeOi: BigNumber;
761
+ }>;
762
+ getTradeBorrowingFee(input: IGNSBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<[BigNumber] & {
763
+ fee: BigNumber;
764
+ }>;
765
+ getTradeInitialAccFees(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
766
+ IGNSBorrowingFees.InitialAccFeesStructOutput,
767
+ IGNSPairInfos.TradeInitialAccFeesStructOutput
768
+ ] & {
769
+ borrowingFees: IGNSBorrowingFees.InitialAccFeesStructOutput;
770
+ otherFees: IGNSPairInfos.TradeInitialAccFeesStructOutput;
771
+ }>;
772
+ getTradeLiquidationPrice(input: IGNSBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<[BigNumber]>;
773
+ getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterest: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
774
+ BigNumber,
775
+ BigNumber
776
+ ] & {
777
+ priceImpactP: BigNumber;
778
+ priceAfterImpact: BigNumber;
779
+ }>;
780
+ groupFeeExponents(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number]>;
781
+ groups(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
782
+ BigNumber,
783
+ BigNumber,
784
+ number,
785
+ BigNumber,
786
+ BigNumber,
787
+ number,
788
+ BigNumber,
789
+ BigNumber
790
+ ] & {
791
+ oiLong: BigNumber;
792
+ oiShort: BigNumber;
793
+ feePerBlock: number;
794
+ accFeeLong: BigNumber;
795
+ accFeeShort: BigNumber;
796
+ accLastUpdatedBlock: number;
797
+ maxOi: BigNumber;
798
+ lastAccBlockWeightedMarketCap: BigNumber;
799
+ }>;
800
+ handleTradeAction(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, positionSizeDai: PromiseOrValue<BigNumberish>, open: PromiseOrValue<boolean>, long: PromiseOrValue<boolean>, overrides?: Overrides & {
801
+ from?: PromiseOrValue<string>;
802
+ }): Promise<ContractTransaction>;
803
+ initialAccFees(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
804
+ BigNumber,
805
+ BigNumber,
806
+ number,
807
+ BigNumber
808
+ ] & {
809
+ accPairFee: BigNumber;
810
+ accGroupFee: BigNumber;
811
+ block: number;
812
+ _placeholder: BigNumber;
813
+ }>;
814
+ initialize(_storageT: PromiseOrValue<string>, _pairInfos: PromiseOrValue<string>, overrides?: Overrides & {
815
+ from?: PromiseOrValue<string>;
816
+ }): Promise<ContractTransaction>;
817
+ initializeV2(_windowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
818
+ from?: PromiseOrValue<string>;
819
+ }): Promise<ContractTransaction>;
820
+ pairInfos(overrides?: CallOverrides): Promise<[string]>;
821
+ pairOis(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
822
+ BigNumber,
823
+ BigNumber,
824
+ BigNumber,
825
+ number
826
+ ] & {
827
+ long: BigNumber;
828
+ short: BigNumber;
829
+ max: BigNumber;
830
+ _placeholder: number;
831
+ }>;
832
+ pairs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
833
+ number,
834
+ BigNumber,
835
+ BigNumber,
836
+ number,
837
+ number,
838
+ BigNumber
839
+ ] & {
840
+ feePerBlock: number;
841
+ accFeeLong: BigNumber;
842
+ accFeeShort: BigNumber;
843
+ accLastUpdatedBlock: number;
844
+ feeExponent: number;
845
+ lastAccBlockWeightedMarketCap: BigNumber;
846
+ }>;
847
+ removePriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
848
+ from?: PromiseOrValue<string>;
849
+ }): Promise<ContractTransaction>;
850
+ setGroupParams(groupIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.GroupParamsStruct, overrides?: Overrides & {
851
+ from?: PromiseOrValue<string>;
852
+ }): Promise<ContractTransaction>;
853
+ setGroupParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.GroupParamsStruct[], overrides?: Overrides & {
854
+ from?: PromiseOrValue<string>;
855
+ }): Promise<ContractTransaction>;
856
+ setPairParams(pairIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.PairParamsStruct, overrides?: Overrides & {
857
+ from?: PromiseOrValue<string>;
858
+ }): Promise<ContractTransaction>;
859
+ setPairParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.PairParamsStruct[], overrides?: Overrides & {
860
+ from?: PromiseOrValue<string>;
861
+ }): Promise<ContractTransaction>;
862
+ setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
863
+ from?: PromiseOrValue<string>;
864
+ }): Promise<ContractTransaction>;
865
+ setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
866
+ from?: PromiseOrValue<string>;
867
+ }): Promise<ContractTransaction>;
868
+ storageT(overrides?: CallOverrides): Promise<[string]>;
869
+ withinMaxGroupOi(pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, positionSizeDai: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
870
+ };
871
+ addPriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
872
+ from?: PromiseOrValue<string>;
873
+ }): Promise<ContractTransaction>;
874
+ getAllPairs(overrides?: CallOverrides): Promise<[
875
+ IGNSBorrowingFees.PairStructOutput[],
876
+ IGNSBorrowingFees.PairOiStructOutput[]
877
+ ]>;
878
+ getGroup(groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput, number]>;
879
+ getGroupPendingAccFee(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
880
+ getGroupPendingAccFees(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
881
+ BigNumber,
882
+ BigNumber,
883
+ BigNumber
884
+ ] & {
885
+ accFeeLong: BigNumber;
886
+ accFeeShort: BigNumber;
887
+ groupAccFeeDelta: BigNumber;
888
+ }>;
889
+ getGroups(indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput[], number[]]>;
890
+ getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PriceImpactUtils.PairOiStructOutput>;
891
+ getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PriceImpactUtils.PairOiStructOutput[]>;
892
+ getOiWindowsSettings(overrides?: CallOverrides): Promise<PriceImpactUtils.OiWindowsSettingsStructOutput>;
893
+ getPair(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
894
+ IGNSBorrowingFees.PairStructOutput,
895
+ IGNSBorrowingFees.PairOiStructOutput
896
+ ]>;
897
+ getPairGroupAccFeesDeltas(i: PromiseOrValue<BigNumberish>, pairGroups: IGNSBorrowingFees.PairGroupStruct[], initialFees: IGNSBorrowingFees.InitialAccFeesStruct, pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
898
+ BigNumber,
899
+ BigNumber,
900
+ boolean
901
+ ] & {
902
+ deltaGroup: BigNumber;
903
+ deltaPair: BigNumber;
904
+ beforeTradeOpen: boolean;
905
+ }>;
906
+ getPairGroupIndex(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
907
+ getPairMaxOi(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
908
+ getPairOpenInterestDai(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
909
+ getPairPendingAccFee(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
910
+ getPairPendingAccFees(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
911
+ BigNumber,
912
+ BigNumber,
913
+ BigNumber
914
+ ] & {
915
+ accFeeLong: BigNumber;
916
+ accFeeShort: BigNumber;
917
+ pairAccFeeDelta: BigNumber;
918
+ }>;
919
+ getPendingAccFees(input: IGNSBorrowingFees.PendingAccFeesInputStruct, overrides?: CallOverrides): Promise<[
920
+ BigNumber,
921
+ BigNumber,
922
+ BigNumber
923
+ ] & {
924
+ newAccFeeLong: BigNumber;
925
+ newAccFeeShort: BigNumber;
926
+ delta: BigNumber;
927
+ }>;
928
+ getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
929
+ getTradeBorrowingFee(input: IGNSBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
930
+ getTradeInitialAccFees(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
931
+ IGNSBorrowingFees.InitialAccFeesStructOutput,
932
+ IGNSPairInfos.TradeInitialAccFeesStructOutput
933
+ ] & {
934
+ borrowingFees: IGNSBorrowingFees.InitialAccFeesStructOutput;
935
+ otherFees: IGNSPairInfos.TradeInitialAccFeesStructOutput;
936
+ }>;
937
+ getTradeLiquidationPrice(input: IGNSBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
938
+ getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterest: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
939
+ BigNumber,
940
+ BigNumber
941
+ ] & {
942
+ priceImpactP: BigNumber;
943
+ priceAfterImpact: BigNumber;
944
+ }>;
945
+ groupFeeExponents(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
946
+ groups(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
947
+ BigNumber,
948
+ BigNumber,
949
+ number,
950
+ BigNumber,
951
+ BigNumber,
952
+ number,
953
+ BigNumber,
954
+ BigNumber
955
+ ] & {
956
+ oiLong: BigNumber;
957
+ oiShort: BigNumber;
958
+ feePerBlock: number;
959
+ accFeeLong: BigNumber;
960
+ accFeeShort: BigNumber;
961
+ accLastUpdatedBlock: number;
962
+ maxOi: BigNumber;
963
+ lastAccBlockWeightedMarketCap: BigNumber;
964
+ }>;
965
+ handleTradeAction(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, positionSizeDai: PromiseOrValue<BigNumberish>, open: PromiseOrValue<boolean>, long: PromiseOrValue<boolean>, overrides?: Overrides & {
966
+ from?: PromiseOrValue<string>;
967
+ }): Promise<ContractTransaction>;
968
+ initialAccFees(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
969
+ BigNumber,
970
+ BigNumber,
971
+ number,
972
+ BigNumber
973
+ ] & {
974
+ accPairFee: BigNumber;
975
+ accGroupFee: BigNumber;
976
+ block: number;
977
+ _placeholder: BigNumber;
978
+ }>;
979
+ initialize(_storageT: PromiseOrValue<string>, _pairInfos: PromiseOrValue<string>, overrides?: Overrides & {
980
+ from?: PromiseOrValue<string>;
981
+ }): Promise<ContractTransaction>;
982
+ initializeV2(_windowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
983
+ from?: PromiseOrValue<string>;
984
+ }): Promise<ContractTransaction>;
985
+ pairInfos(overrides?: CallOverrides): Promise<string>;
986
+ pairOis(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
987
+ BigNumber,
988
+ BigNumber,
989
+ BigNumber,
990
+ number
991
+ ] & {
992
+ long: BigNumber;
993
+ short: BigNumber;
994
+ max: BigNumber;
995
+ _placeholder: number;
996
+ }>;
997
+ pairs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
998
+ number,
999
+ BigNumber,
1000
+ BigNumber,
1001
+ number,
1002
+ number,
1003
+ BigNumber
1004
+ ] & {
1005
+ feePerBlock: number;
1006
+ accFeeLong: BigNumber;
1007
+ accFeeShort: BigNumber;
1008
+ accLastUpdatedBlock: number;
1009
+ feeExponent: number;
1010
+ lastAccBlockWeightedMarketCap: BigNumber;
1011
+ }>;
1012
+ removePriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1013
+ from?: PromiseOrValue<string>;
1014
+ }): Promise<ContractTransaction>;
1015
+ setGroupParams(groupIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.GroupParamsStruct, overrides?: Overrides & {
1016
+ from?: PromiseOrValue<string>;
1017
+ }): Promise<ContractTransaction>;
1018
+ setGroupParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.GroupParamsStruct[], overrides?: Overrides & {
1019
+ from?: PromiseOrValue<string>;
1020
+ }): Promise<ContractTransaction>;
1021
+ setPairParams(pairIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.PairParamsStruct, overrides?: Overrides & {
1022
+ from?: PromiseOrValue<string>;
1023
+ }): Promise<ContractTransaction>;
1024
+ setPairParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.PairParamsStruct[], overrides?: Overrides & {
1025
+ from?: PromiseOrValue<string>;
1026
+ }): Promise<ContractTransaction>;
1027
+ setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1028
+ from?: PromiseOrValue<string>;
1029
+ }): Promise<ContractTransaction>;
1030
+ setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1031
+ from?: PromiseOrValue<string>;
1032
+ }): Promise<ContractTransaction>;
1033
+ storageT(overrides?: CallOverrides): Promise<string>;
1034
+ withinMaxGroupOi(pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, positionSizeDai: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
1035
+ callStatic: {
1036
+ addPriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
1037
+ getAllPairs(overrides?: CallOverrides): Promise<[
1038
+ IGNSBorrowingFees.PairStructOutput[],
1039
+ IGNSBorrowingFees.PairOiStructOutput[]
1040
+ ]>;
1041
+ getGroup(groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput, number]>;
1042
+ getGroupPendingAccFee(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1043
+ getGroupPendingAccFees(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1044
+ BigNumber,
1045
+ BigNumber,
1046
+ BigNumber
1047
+ ] & {
1048
+ accFeeLong: BigNumber;
1049
+ accFeeShort: BigNumber;
1050
+ groupAccFeeDelta: BigNumber;
1051
+ }>;
1052
+ getGroups(indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IGNSBorrowingFees.GroupStructOutput[], number[]]>;
1053
+ getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PriceImpactUtils.PairOiStructOutput>;
1054
+ getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PriceImpactUtils.PairOiStructOutput[]>;
1055
+ getOiWindowsSettings(overrides?: CallOverrides): Promise<PriceImpactUtils.OiWindowsSettingsStructOutput>;
1056
+ getPair(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1057
+ IGNSBorrowingFees.PairStructOutput,
1058
+ IGNSBorrowingFees.PairOiStructOutput
1059
+ ]>;
1060
+ getPairGroupAccFeesDeltas(i: PromiseOrValue<BigNumberish>, pairGroups: IGNSBorrowingFees.PairGroupStruct[], initialFees: IGNSBorrowingFees.InitialAccFeesStruct, pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1061
+ BigNumber,
1062
+ BigNumber,
1063
+ boolean
1064
+ ] & {
1065
+ deltaGroup: BigNumber;
1066
+ deltaPair: BigNumber;
1067
+ beforeTradeOpen: boolean;
1068
+ }>;
1069
+ getPairGroupIndex(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
1070
+ getPairMaxOi(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1071
+ getPairOpenInterestDai(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
1072
+ getPairPendingAccFee(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1073
+ getPairPendingAccFees(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1074
+ BigNumber,
1075
+ BigNumber,
1076
+ BigNumber
1077
+ ] & {
1078
+ accFeeLong: BigNumber;
1079
+ accFeeShort: BigNumber;
1080
+ pairAccFeeDelta: BigNumber;
1081
+ }>;
1082
+ getPendingAccFees(input: IGNSBorrowingFees.PendingAccFeesInputStruct, overrides?: CallOverrides): Promise<[
1083
+ BigNumber,
1084
+ BigNumber,
1085
+ BigNumber
1086
+ ] & {
1087
+ newAccFeeLong: BigNumber;
1088
+ newAccFeeShort: BigNumber;
1089
+ delta: BigNumber;
1090
+ }>;
1091
+ getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1092
+ getTradeBorrowingFee(input: IGNSBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
1093
+ getTradeInitialAccFees(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1094
+ IGNSBorrowingFees.InitialAccFeesStructOutput,
1095
+ IGNSPairInfos.TradeInitialAccFeesStructOutput
1096
+ ] & {
1097
+ borrowingFees: IGNSBorrowingFees.InitialAccFeesStructOutput;
1098
+ otherFees: IGNSPairInfos.TradeInitialAccFeesStructOutput;
1099
+ }>;
1100
+ getTradeLiquidationPrice(input: IGNSBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
1101
+ getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterest: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1102
+ BigNumber,
1103
+ BigNumber
1104
+ ] & {
1105
+ priceImpactP: BigNumber;
1106
+ priceAfterImpact: BigNumber;
1107
+ }>;
1108
+ groupFeeExponents(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
1109
+ groups(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1110
+ BigNumber,
1111
+ BigNumber,
1112
+ number,
1113
+ BigNumber,
1114
+ BigNumber,
1115
+ number,
1116
+ BigNumber,
1117
+ BigNumber
1118
+ ] & {
1119
+ oiLong: BigNumber;
1120
+ oiShort: BigNumber;
1121
+ feePerBlock: number;
1122
+ accFeeLong: BigNumber;
1123
+ accFeeShort: BigNumber;
1124
+ accLastUpdatedBlock: number;
1125
+ maxOi: BigNumber;
1126
+ lastAccBlockWeightedMarketCap: BigNumber;
1127
+ }>;
1128
+ handleTradeAction(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, positionSizeDai: PromiseOrValue<BigNumberish>, open: PromiseOrValue<boolean>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
1129
+ initialAccFees(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1130
+ BigNumber,
1131
+ BigNumber,
1132
+ number,
1133
+ BigNumber
1134
+ ] & {
1135
+ accPairFee: BigNumber;
1136
+ accGroupFee: BigNumber;
1137
+ block: number;
1138
+ _placeholder: BigNumber;
1139
+ }>;
1140
+ initialize(_storageT: PromiseOrValue<string>, _pairInfos: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
1141
+ initializeV2(_windowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
1142
+ pairInfos(overrides?: CallOverrides): Promise<string>;
1143
+ pairOis(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1144
+ BigNumber,
1145
+ BigNumber,
1146
+ BigNumber,
1147
+ number
1148
+ ] & {
1149
+ long: BigNumber;
1150
+ short: BigNumber;
1151
+ max: BigNumber;
1152
+ _placeholder: number;
1153
+ }>;
1154
+ pairs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
1155
+ number,
1156
+ BigNumber,
1157
+ BigNumber,
1158
+ number,
1159
+ number,
1160
+ BigNumber
1161
+ ] & {
1162
+ feePerBlock: number;
1163
+ accFeeLong: BigNumber;
1164
+ accFeeShort: BigNumber;
1165
+ accLastUpdatedBlock: number;
1166
+ feeExponent: number;
1167
+ lastAccBlockWeightedMarketCap: BigNumber;
1168
+ }>;
1169
+ removePriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
1170
+ setGroupParams(groupIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.GroupParamsStruct, overrides?: CallOverrides): Promise<void>;
1171
+ setGroupParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.GroupParamsStruct[], overrides?: CallOverrides): Promise<void>;
1172
+ setPairParams(pairIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.PairParamsStruct, overrides?: CallOverrides): Promise<void>;
1173
+ setPairParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.PairParamsStruct[], overrides?: CallOverrides): Promise<void>;
1174
+ setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
1175
+ setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
1176
+ storageT(overrides?: CallOverrides): Promise<string>;
1177
+ withinMaxGroupOi(pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, positionSizeDai: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
1178
+ };
1179
+ filters: {
1180
+ "GroupAccFeesUpdated(uint16,uint256,uint64,uint64)"(groupIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): GroupAccFeesUpdatedEventFilter;
1181
+ GroupAccFeesUpdated(groupIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): GroupAccFeesUpdatedEventFilter;
1182
+ "GroupOiUpdated(uint16,bool,bool,uint112,uint112,uint112)"(groupIndex?: PromiseOrValue<BigNumberish> | null, long?: PromiseOrValue<boolean> | null, increase?: PromiseOrValue<boolean> | null, amount?: null, oiLong?: null, oiShort?: null): GroupOiUpdatedEventFilter;
1183
+ GroupOiUpdated(groupIndex?: PromiseOrValue<BigNumberish> | null, long?: PromiseOrValue<boolean> | null, increase?: PromiseOrValue<boolean> | null, amount?: null, oiLong?: null, oiShort?: null): GroupOiUpdatedEventFilter;
1184
+ "GroupUpdated(uint16,uint32,uint72,uint48)"(groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, maxOi?: null, feeExponent?: null): GroupUpdatedEventFilter;
1185
+ GroupUpdated(groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, maxOi?: null, feeExponent?: null): GroupUpdatedEventFilter;
1186
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
1187
+ Initialized(version?: null): InitializedEventFilter;
1188
+ "OiWindowsSettingsInitialized(uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
1189
+ OiWindowsSettingsInitialized(windowsDuration?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
1190
+ "PairAccFeesUpdated(uint256,uint256,uint64,uint64)"(pairIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): PairAccFeesUpdatedEventFilter;
1191
+ PairAccFeesUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, currentBlock?: null, accFeeLong?: null, accFeeShort?: null): PairAccFeesUpdatedEventFilter;
1192
+ "PairGroupUpdated(uint256,uint16,uint16)"(pairIndex?: PromiseOrValue<BigNumberish> | null, prevGroupIndex?: PromiseOrValue<BigNumberish> | null, newGroupIndex?: PromiseOrValue<BigNumberish> | null): PairGroupUpdatedEventFilter;
1193
+ PairGroupUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, prevGroupIndex?: PromiseOrValue<BigNumberish> | null, newGroupIndex?: PromiseOrValue<BigNumberish> | null): PairGroupUpdatedEventFilter;
1194
+ "PairParamsUpdated(uint256,uint16,uint32,uint48,uint72)"(pairIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, feeExponent?: null, maxOi?: null): PairParamsUpdatedEventFilter;
1195
+ PairParamsUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, groupIndex?: PromiseOrValue<BigNumberish> | null, feePerBlock?: null, feeExponent?: null, maxOi?: null): PairParamsUpdatedEventFilter;
1196
+ "PriceImpactOiTransferredPair(uint256,tuple)"(pairIndex?: PromiseOrValue<BigNumberish> | null, totalPairOi?: null): PriceImpactOiTransferredPairEventFilter;
1197
+ PriceImpactOiTransferredPair(pairIndex?: PromiseOrValue<BigNumberish> | null, totalPairOi?: null): PriceImpactOiTransferredPairEventFilter;
1198
+ "PriceImpactOiTransferredPairs(uint256,uint256,uint256,uint256)"(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
1199
+ PriceImpactOiTransferredPairs(pairsCount?: null, prevCurrentWindowId?: null, prevEarliestWindowId?: null, newCurrentWindowId?: null): PriceImpactOiTransferredPairsEventFilter;
1200
+ "PriceImpactOpenInterestAdded(tuple)"(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
1201
+ PriceImpactOpenInterestAdded(oiWindowUpdate?: null): PriceImpactOpenInterestAddedEventFilter;
1202
+ "PriceImpactOpenInterestRemoved(tuple,bool)"(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
1203
+ PriceImpactOpenInterestRemoved(oiWindowUpdate?: null, notOutdated?: null): PriceImpactOpenInterestRemovedEventFilter;
1204
+ "PriceImpactWindowsCountUpdated(uint48)"(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
1205
+ PriceImpactWindowsCountUpdated(windowsCount?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsCountUpdatedEventFilter;
1206
+ "PriceImpactWindowsDurationUpdated(uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
1207
+ PriceImpactWindowsDurationUpdated(windowsDuration?: PromiseOrValue<BigNumberish> | null): PriceImpactWindowsDurationUpdatedEventFilter;
1208
+ "TradeActionHandled(address,uint256,uint256,bool,bool,uint256)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, open?: null, long?: null, positionSizeDai?: null): TradeActionHandledEventFilter;
1209
+ TradeActionHandled(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, open?: null, long?: null, positionSizeDai?: null): TradeActionHandledEventFilter;
1210
+ "TradeInitialAccFeesStored(address,uint256,uint256,uint64,uint64)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, initialPairAccFee?: null, initialGroupAccFee?: null): TradeInitialAccFeesStoredEventFilter;
1211
+ TradeInitialAccFeesStored(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, initialPairAccFee?: null, initialGroupAccFee?: null): TradeInitialAccFeesStoredEventFilter;
1212
+ };
1213
+ estimateGas: {
1214
+ addPriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
1215
+ from?: PromiseOrValue<string>;
1216
+ }): Promise<BigNumber>;
1217
+ getAllPairs(overrides?: CallOverrides): Promise<BigNumber>;
1218
+ getGroup(groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1219
+ getGroupPendingAccFee(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1220
+ getGroupPendingAccFees(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1221
+ getGroups(indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
1222
+ getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1223
+ getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
1224
+ getOiWindowsSettings(overrides?: CallOverrides): Promise<BigNumber>;
1225
+ getPair(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1226
+ getPairGroupAccFeesDeltas(i: PromiseOrValue<BigNumberish>, pairGroups: IGNSBorrowingFees.PairGroupStruct[], initialFees: IGNSBorrowingFees.InitialAccFeesStruct, pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1227
+ getPairGroupIndex(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1228
+ getPairMaxOi(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1229
+ getPairOpenInterestDai(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1230
+ getPairPendingAccFee(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1231
+ getPairPendingAccFees(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1232
+ getPendingAccFees(input: IGNSBorrowingFees.PendingAccFeesInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
1233
+ getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
1234
+ getTradeBorrowingFee(input: IGNSBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
1235
+ getTradeInitialAccFees(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1236
+ getTradeLiquidationPrice(input: IGNSBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<BigNumber>;
1237
+ getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterest: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1238
+ groupFeeExponents(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1239
+ groups(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1240
+ handleTradeAction(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, positionSizeDai: PromiseOrValue<BigNumberish>, open: PromiseOrValue<boolean>, long: PromiseOrValue<boolean>, overrides?: Overrides & {
1241
+ from?: PromiseOrValue<string>;
1242
+ }): Promise<BigNumber>;
1243
+ initialAccFees(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1244
+ initialize(_storageT: PromiseOrValue<string>, _pairInfos: PromiseOrValue<string>, overrides?: Overrides & {
1245
+ from?: PromiseOrValue<string>;
1246
+ }): Promise<BigNumber>;
1247
+ initializeV2(_windowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1248
+ from?: PromiseOrValue<string>;
1249
+ }): Promise<BigNumber>;
1250
+ pairInfos(overrides?: CallOverrides): Promise<BigNumber>;
1251
+ pairOis(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1252
+ pairs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1253
+ removePriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1254
+ from?: PromiseOrValue<string>;
1255
+ }): Promise<BigNumber>;
1256
+ setGroupParams(groupIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.GroupParamsStruct, overrides?: Overrides & {
1257
+ from?: PromiseOrValue<string>;
1258
+ }): Promise<BigNumber>;
1259
+ setGroupParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.GroupParamsStruct[], overrides?: Overrides & {
1260
+ from?: PromiseOrValue<string>;
1261
+ }): Promise<BigNumber>;
1262
+ setPairParams(pairIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.PairParamsStruct, overrides?: Overrides & {
1263
+ from?: PromiseOrValue<string>;
1264
+ }): Promise<BigNumber>;
1265
+ setPairParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.PairParamsStruct[], overrides?: Overrides & {
1266
+ from?: PromiseOrValue<string>;
1267
+ }): Promise<BigNumber>;
1268
+ setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1269
+ from?: PromiseOrValue<string>;
1270
+ }): Promise<BigNumber>;
1271
+ setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1272
+ from?: PromiseOrValue<string>;
1273
+ }): Promise<BigNumber>;
1274
+ storageT(overrides?: CallOverrides): Promise<BigNumber>;
1275
+ withinMaxGroupOi(pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, positionSizeDai: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
1276
+ };
1277
+ populateTransaction: {
1278
+ addPriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: Overrides & {
1279
+ from?: PromiseOrValue<string>;
1280
+ }): Promise<PopulatedTransaction>;
1281
+ getAllPairs(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1282
+ getGroup(groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1283
+ getGroupPendingAccFee(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1284
+ getGroupPendingAccFees(groupIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1285
+ getGroups(indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
1286
+ getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1287
+ getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
1288
+ getOiWindowsSettings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1289
+ getPair(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1290
+ getPairGroupAccFeesDeltas(i: PromiseOrValue<BigNumberish>, pairGroups: IGNSBorrowingFees.PairGroupStruct[], initialFees: IGNSBorrowingFees.InitialAccFeesStruct, pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1291
+ getPairGroupIndex(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1292
+ getPairMaxOi(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1293
+ getPairOpenInterestDai(pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1294
+ getPairPendingAccFee(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1295
+ getPairPendingAccFees(pairIndex: PromiseOrValue<BigNumberish>, currentBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1296
+ getPendingAccFees(input: IGNSBorrowingFees.PendingAccFeesInputStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1297
+ getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1298
+ getTradeBorrowingFee(input: IGNSBorrowingFees.BorrowingFeeInputStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1299
+ getTradeInitialAccFees(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1300
+ getTradeLiquidationPrice(input: IGNSBorrowingFees.LiqPriceInputStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1301
+ getTradePriceImpact(_openPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterest: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1302
+ groupFeeExponents(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1303
+ groups(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1304
+ handleTradeAction(trader: PromiseOrValue<string>, pairIndex: PromiseOrValue<BigNumberish>, index: PromiseOrValue<BigNumberish>, positionSizeDai: PromiseOrValue<BigNumberish>, open: PromiseOrValue<boolean>, long: PromiseOrValue<boolean>, overrides?: Overrides & {
1305
+ from?: PromiseOrValue<string>;
1306
+ }): Promise<PopulatedTransaction>;
1307
+ initialAccFees(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1308
+ initialize(_storageT: PromiseOrValue<string>, _pairInfos: PromiseOrValue<string>, overrides?: Overrides & {
1309
+ from?: PromiseOrValue<string>;
1310
+ }): Promise<PopulatedTransaction>;
1311
+ initializeV2(_windowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1312
+ from?: PromiseOrValue<string>;
1313
+ }): Promise<PopulatedTransaction>;
1314
+ pairInfos(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1315
+ pairOis(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1316
+ pairs(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1317
+ removePriceImpactOpenInterest(_openInterest: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _addTs: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1318
+ from?: PromiseOrValue<string>;
1319
+ }): Promise<PopulatedTransaction>;
1320
+ setGroupParams(groupIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.GroupParamsStruct, overrides?: Overrides & {
1321
+ from?: PromiseOrValue<string>;
1322
+ }): Promise<PopulatedTransaction>;
1323
+ setGroupParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.GroupParamsStruct[], overrides?: Overrides & {
1324
+ from?: PromiseOrValue<string>;
1325
+ }): Promise<PopulatedTransaction>;
1326
+ setPairParams(pairIndex: PromiseOrValue<BigNumberish>, value: IGNSBorrowingFees.PairParamsStruct, overrides?: Overrides & {
1327
+ from?: PromiseOrValue<string>;
1328
+ }): Promise<PopulatedTransaction>;
1329
+ setPairParamsArray(indices: PromiseOrValue<BigNumberish>[], values: IGNSBorrowingFees.PairParamsStruct[], overrides?: Overrides & {
1330
+ from?: PromiseOrValue<string>;
1331
+ }): Promise<PopulatedTransaction>;
1332
+ setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1333
+ from?: PromiseOrValue<string>;
1334
+ }): Promise<PopulatedTransaction>;
1335
+ setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
1336
+ from?: PromiseOrValue<string>;
1337
+ }): Promise<PopulatedTransaction>;
1338
+ storageT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1339
+ withinMaxGroupOi(pairIndex: PromiseOrValue<BigNumberish>, long: PromiseOrValue<boolean>, positionSizeDai: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1340
+ };
1341
+ }