@gainsnetwork/sdk 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/lib/constants.d.ts +229 -220
- package/lib/constants.js +246 -237
- package/lib/contracts/addresses.d.ts +3 -3
- package/lib/contracts/addresses.js +31 -31
- package/lib/contracts/addresses.json +89 -89
- package/lib/contracts/index.d.ts +8 -8
- package/lib/contracts/index.js +40 -40
- package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -1911
- package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -2
- package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -1067
- package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -2
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +1058 -0
- package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +2 -0
- package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +1740 -1740
- package/lib/contracts/types/generated/GNSMultiCollatDiamond.js +2 -2
- package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -533
- package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -2
- package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -613
- package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -2
- package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -0
- package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -0
- package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -0
- package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -0
- package/lib/contracts/types/generated/GNSTrading.d.ts +758 -758
- package/lib/contracts/types/generated/GNSTrading.js +2 -2
- package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -875
- package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -2
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +821 -0
- package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +2 -0
- package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -1387
- package/lib/contracts/types/generated/GNSTradingStorage.js +2 -2
- package/lib/contracts/types/generated/GToken.d.ts +1946 -1946
- package/lib/contracts/types/generated/GToken.js +2 -2
- package/lib/contracts/types/generated/GTokenOpenPnlFeed.d.ts +557 -557
- package/lib/contracts/types/generated/GTokenOpenPnlFeed.js +2 -2
- package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +1838 -0
- package/lib/contracts/types/generated/GTokenV6_3_2.js +2 -0
- package/lib/contracts/types/generated/common.d.ts +22 -22
- package/lib/contracts/types/generated/common.js +2 -2
- package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -83
- package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -2691
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +113 -0
- package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +1742 -0
- package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -124
- package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -1784
- package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.d.ts +144 -144
- package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +3094 -3094
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -100
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -1116
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -100
- package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -1003
- package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
- package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -0
- package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -0
- package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -0
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +82 -0
- package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +1326 -0
- package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -113
- package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -1428
- package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -96
- package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -2241
- package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -95
- package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -1071
- package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.d.ts +59 -59
- package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.js +765 -765
- package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +110 -0
- package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +2682 -0
- package/lib/contracts/types/generated/factories/GToken__factory.d.ts +121 -121
- package/lib/contracts/types/generated/factories/GToken__factory.js +2944 -2944
- package/lib/contracts/types/generated/factories/index.d.ts +10 -10
- package/lib/contracts/types/generated/factories/index.js +26 -26
- package/lib/contracts/types/generated/index.d.ts +21 -21
- package/lib/contracts/types/generated/index.js +47 -47
- package/lib/contracts/types/index.d.ts +27 -27
- package/lib/contracts/types/index.js +10 -10
- package/lib/contracts/utils/borrowingFees.d.ts +8 -8
- package/lib/contracts/utils/borrowingFees.js +28 -28
- package/lib/contracts/utils/index.d.ts +4 -4
- package/lib/contracts/utils/index.js +20 -20
- package/lib/contracts/utils/openLimitOrders.d.ts +8 -8
- package/lib/contracts/utils/openLimitOrders.js +88 -88
- package/lib/contracts/utils/openTrades.d.ts +9 -9
- package/lib/contracts/utils/openTrades.js +188 -188
- package/lib/contracts/utils/pairs.d.ts +6 -6
- package/lib/contracts/utils/pairs.js +94 -94
- package/lib/index.d.ts +7 -7
- package/lib/index.js +24 -24
- package/lib/markets/commodities.d.ts +1 -1
- package/lib/markets/commodities.js +31 -31
- package/lib/markets/crypto.d.ts +1 -1
- package/lib/markets/crypto.js +6 -6
- package/lib/markets/forex.d.ts +2 -2
- package/lib/markets/forex.js +38 -38
- package/lib/markets/index.d.ts +5 -5
- package/lib/markets/index.js +21 -21
- package/lib/markets/indices.d.ts +1 -1
- package/lib/markets/indices.js +6 -6
- package/lib/markets/stocks.d.ts +3 -3
- package/lib/markets/stocks.js +54 -54
- package/lib/trade/fees/borrowing/converter.d.ts +13 -13
- package/lib/trade/fees/borrowing/converter.js +41 -41
- package/lib/trade/fees/borrowing/index.d.ts +55 -55
- package/lib/trade/fees/borrowing/index.js +171 -171
- package/lib/trade/fees/borrowing/types.d.ts +36 -36
- package/lib/trade/fees/borrowing/types.js +2 -2
- package/lib/trade/fees/index.d.ts +3 -3
- package/lib/trade/fees/index.js +29 -29
- package/lib/trade/fees.d.ts +15 -0
- package/lib/trade/fees.js +45 -0
- package/lib/trade/index.d.ts +8 -8
- package/lib/trade/index.js +24 -24
- package/lib/trade/liquidation.d.ts +3 -3
- package/lib/trade/liquidation.js +16 -16
- package/lib/trade/oiWindows.d.ts +3 -3
- package/lib/trade/oiWindows.js +20 -20
- package/lib/trade/openLimitOrder.d.ts +2 -2
- package/lib/trade/openLimitOrder.js +23 -23
- package/lib/trade/pnl.d.ts +7 -7
- package/lib/trade/pnl.js +33 -33
- package/lib/trade/spread.d.ts +2 -2
- package/lib/trade/spread.js +22 -22
- package/lib/trade/types.d.ts +181 -181
- package/lib/trade/types.js +14 -14
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +17 -17
- package/lib/utils/packing.d.ts +2 -2
- package/lib/utils/packing.js +39 -39
- package/lib/vault/index.d.ts +8 -8
- package/lib/vault/index.js +10 -10
- package/package.json +104 -104
package/lib/trade/types.d.ts
CHANGED
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
import { GFarmTradingStorageV5 } from "@/contracts/types/generated";
|
|
2
|
-
import { IGNSTradingCallbacks } from "@/contracts/types/generated/GNSTradingCallbacks";
|
|
3
|
-
import { BigNumber } from "ethers";
|
|
4
|
-
import { BorrowingFee } from "./fees/borrowing";
|
|
5
|
-
export type PairIndexes = {
|
|
6
|
-
[key: string]: number;
|
|
7
|
-
};
|
|
8
|
-
export type TradeContainer = {
|
|
9
|
-
trade: Trade;
|
|
10
|
-
tradeInfo: TradeInfo;
|
|
11
|
-
initialAccFees: TradeInitialAccFees;
|
|
12
|
-
tradeData: TradeData;
|
|
13
|
-
receivedAt?: number;
|
|
14
|
-
};
|
|
15
|
-
export type Trade = {
|
|
16
|
-
buy: boolean;
|
|
17
|
-
index: number;
|
|
18
|
-
initialPosToken: number;
|
|
19
|
-
leverage: number;
|
|
20
|
-
openPrice: number;
|
|
21
|
-
pairIndex: number;
|
|
22
|
-
sl: number;
|
|
23
|
-
tp: number;
|
|
24
|
-
trader: string;
|
|
25
|
-
};
|
|
26
|
-
export type TradeInfo = {
|
|
27
|
-
openInterestDai: number;
|
|
28
|
-
slLastUpdated: number;
|
|
29
|
-
tokenPriceDai: number;
|
|
30
|
-
tpLastUpdated: number;
|
|
31
|
-
};
|
|
32
|
-
export type TradeInitialAccFees = {
|
|
33
|
-
borrowing: BorrowingFee.InitialAccFees;
|
|
34
|
-
};
|
|
35
|
-
export type TradeData = {
|
|
36
|
-
maxSlippageP: number;
|
|
37
|
-
lastOiUpdateTs: number;
|
|
38
|
-
collateralPriceUsd: number;
|
|
39
|
-
};
|
|
40
|
-
export type TradingGroup = {
|
|
41
|
-
maxLeverage: number;
|
|
42
|
-
minLeverage: number;
|
|
43
|
-
name: string;
|
|
44
|
-
};
|
|
45
|
-
export type LimitOrder = {
|
|
46
|
-
block: number;
|
|
47
|
-
buy: boolean;
|
|
48
|
-
index: number;
|
|
49
|
-
leverage: number;
|
|
50
|
-
maxPrice: number;
|
|
51
|
-
minPrice: number;
|
|
52
|
-
pairIndex: number;
|
|
53
|
-
positionSize: number;
|
|
54
|
-
sl: number;
|
|
55
|
-
spreadReductionP: number;
|
|
56
|
-
tp: number;
|
|
57
|
-
trader: string;
|
|
58
|
-
type: number;
|
|
59
|
-
maxSlippageP: number;
|
|
60
|
-
};
|
|
61
|
-
export type LimitOrderRaw = GFarmTradingStorageV5.OpenLimitOrderStructOutput & {
|
|
62
|
-
type: number;
|
|
63
|
-
maxSlippageP: BigNumber;
|
|
64
|
-
};
|
|
65
|
-
export type Fee = {
|
|
66
|
-
closeFeeP: number;
|
|
67
|
-
minLevPosUsd: number;
|
|
68
|
-
nftLimitOrderFeeP: number;
|
|
69
|
-
openFeeP: number;
|
|
70
|
-
};
|
|
71
|
-
export type OpenInterest = {
|
|
72
|
-
long: number;
|
|
73
|
-
max: number;
|
|
74
|
-
short: number;
|
|
75
|
-
};
|
|
76
|
-
export type PairDepth = {
|
|
77
|
-
onePercentDepthAboveUsd: number;
|
|
78
|
-
onePercentDepthBelowUsd: number;
|
|
79
|
-
};
|
|
80
|
-
export type PairParamsBorrowingFees = {
|
|
81
|
-
pairs: BorrowingFee.Pair[];
|
|
82
|
-
groups: BorrowingFee.Group[];
|
|
83
|
-
};
|
|
84
|
-
export type Pair = {
|
|
85
|
-
name: string;
|
|
86
|
-
from: string;
|
|
87
|
-
to: string;
|
|
88
|
-
feeIndex: number;
|
|
89
|
-
groupIndex: number;
|
|
90
|
-
pairIndex: number;
|
|
91
|
-
spreadP: number;
|
|
92
|
-
};
|
|
93
|
-
export type TradeHistoryRecord = {
|
|
94
|
-
action: string;
|
|
95
|
-
address: string;
|
|
96
|
-
buy: number;
|
|
97
|
-
collateralPriceUsd: number;
|
|
98
|
-
date: string;
|
|
99
|
-
leverage: number;
|
|
100
|
-
pair: string;
|
|
101
|
-
pnl_net: number;
|
|
102
|
-
price: number;
|
|
103
|
-
size: number;
|
|
104
|
-
tx: string;
|
|
105
|
-
};
|
|
106
|
-
export type MarketOrder = {
|
|
107
|
-
trader: string;
|
|
108
|
-
pairIndex: number;
|
|
109
|
-
index: number;
|
|
110
|
-
block: number;
|
|
111
|
-
open: boolean;
|
|
112
|
-
};
|
|
113
|
-
export type ChartBar = {
|
|
114
|
-
close: number;
|
|
115
|
-
high: number;
|
|
116
|
-
isBarClosed: boolean;
|
|
117
|
-
isLastBar: boolean;
|
|
118
|
-
low: number;
|
|
119
|
-
open: number;
|
|
120
|
-
time: number;
|
|
121
|
-
};
|
|
122
|
-
export type LeaderboardTrader = {
|
|
123
|
-
address: string;
|
|
124
|
-
tradesCount: number;
|
|
125
|
-
winrate: number;
|
|
126
|
-
pnl: number;
|
|
127
|
-
volume: number;
|
|
128
|
-
score: number;
|
|
129
|
-
totalPnlUsd: number;
|
|
130
|
-
};
|
|
131
|
-
export type OpenTradeParams = [
|
|
132
|
-
address: string,
|
|
133
|
-
pairIndex: number,
|
|
134
|
-
x1: number,
|
|
135
|
-
x2: number,
|
|
136
|
-
wei: number,
|
|
137
|
-
price: string,
|
|
138
|
-
buy: boolean,
|
|
139
|
-
leverage: number,
|
|
140
|
-
takeProfit: string,
|
|
141
|
-
stopLoss: string
|
|
142
|
-
];
|
|
143
|
-
export declare enum PositionType {
|
|
144
|
-
LONG = "LONG",
|
|
145
|
-
SHORT = "SHORT"
|
|
146
|
-
}
|
|
147
|
-
export type TradeContainerRaw = {
|
|
148
|
-
trade: GFarmTradingStorageV5.TradeStruct;
|
|
149
|
-
tradeInfo: GFarmTradingStorageV5.TradeInfoStruct;
|
|
150
|
-
tradeData: IGNSTradingCallbacks.TradeDataStruct;
|
|
151
|
-
initialAccFees: {
|
|
152
|
-
borrowing: {
|
|
153
|
-
accPairFee: number;
|
|
154
|
-
accGroupFee: number;
|
|
155
|
-
block: number;
|
|
156
|
-
};
|
|
157
|
-
};
|
|
158
|
-
};
|
|
159
|
-
export declare enum OpenLimitOrderType {
|
|
160
|
-
LEGACY = 0,
|
|
161
|
-
REVERSAL = 1,
|
|
162
|
-
MOMENTUM = 2
|
|
163
|
-
}
|
|
164
|
-
export type OiWindowsSettings = {
|
|
165
|
-
startTs: number;
|
|
166
|
-
windowsDuration: number;
|
|
167
|
-
windowsCount: number;
|
|
168
|
-
};
|
|
169
|
-
export type PairOi = {
|
|
170
|
-
oiLongUsd: number;
|
|
171
|
-
oiShortUsd: number;
|
|
172
|
-
};
|
|
173
|
-
export type OiWindow = PairOi;
|
|
174
|
-
export type OiWindows = {
|
|
175
|
-
[key: string]: OiWindow;
|
|
176
|
-
};
|
|
177
|
-
export type CollateralConfig = {
|
|
178
|
-
precision: number;
|
|
179
|
-
precisionDelta: number;
|
|
180
|
-
decimals?: number;
|
|
181
|
-
};
|
|
1
|
+
import { GFarmTradingStorageV5 } from "@/contracts/types/generated";
|
|
2
|
+
import { IGNSTradingCallbacks } from "@/contracts/types/generated/GNSTradingCallbacks";
|
|
3
|
+
import { BigNumber } from "ethers";
|
|
4
|
+
import { BorrowingFee } from "./fees/borrowing";
|
|
5
|
+
export type PairIndexes = {
|
|
6
|
+
[key: string]: number;
|
|
7
|
+
};
|
|
8
|
+
export type TradeContainer = {
|
|
9
|
+
trade: Trade;
|
|
10
|
+
tradeInfo: TradeInfo;
|
|
11
|
+
initialAccFees: TradeInitialAccFees;
|
|
12
|
+
tradeData: TradeData;
|
|
13
|
+
receivedAt?: number;
|
|
14
|
+
};
|
|
15
|
+
export type Trade = {
|
|
16
|
+
buy: boolean;
|
|
17
|
+
index: number;
|
|
18
|
+
initialPosToken: number;
|
|
19
|
+
leverage: number;
|
|
20
|
+
openPrice: number;
|
|
21
|
+
pairIndex: number;
|
|
22
|
+
sl: number;
|
|
23
|
+
tp: number;
|
|
24
|
+
trader: string;
|
|
25
|
+
};
|
|
26
|
+
export type TradeInfo = {
|
|
27
|
+
openInterestDai: number;
|
|
28
|
+
slLastUpdated: number;
|
|
29
|
+
tokenPriceDai: number;
|
|
30
|
+
tpLastUpdated: number;
|
|
31
|
+
};
|
|
32
|
+
export type TradeInitialAccFees = {
|
|
33
|
+
borrowing: BorrowingFee.InitialAccFees;
|
|
34
|
+
};
|
|
35
|
+
export type TradeData = {
|
|
36
|
+
maxSlippageP: number;
|
|
37
|
+
lastOiUpdateTs: number;
|
|
38
|
+
collateralPriceUsd: number;
|
|
39
|
+
};
|
|
40
|
+
export type TradingGroup = {
|
|
41
|
+
maxLeverage: number;
|
|
42
|
+
minLeverage: number;
|
|
43
|
+
name: string;
|
|
44
|
+
};
|
|
45
|
+
export type LimitOrder = {
|
|
46
|
+
block: number;
|
|
47
|
+
buy: boolean;
|
|
48
|
+
index: number;
|
|
49
|
+
leverage: number;
|
|
50
|
+
maxPrice: number;
|
|
51
|
+
minPrice: number;
|
|
52
|
+
pairIndex: number;
|
|
53
|
+
positionSize: number;
|
|
54
|
+
sl: number;
|
|
55
|
+
spreadReductionP: number;
|
|
56
|
+
tp: number;
|
|
57
|
+
trader: string;
|
|
58
|
+
type: number;
|
|
59
|
+
maxSlippageP: number;
|
|
60
|
+
};
|
|
61
|
+
export type LimitOrderRaw = GFarmTradingStorageV5.OpenLimitOrderStructOutput & {
|
|
62
|
+
type: number;
|
|
63
|
+
maxSlippageP: BigNumber;
|
|
64
|
+
};
|
|
65
|
+
export type Fee = {
|
|
66
|
+
closeFeeP: number;
|
|
67
|
+
minLevPosUsd: number;
|
|
68
|
+
nftLimitOrderFeeP: number;
|
|
69
|
+
openFeeP: number;
|
|
70
|
+
};
|
|
71
|
+
export type OpenInterest = {
|
|
72
|
+
long: number;
|
|
73
|
+
max: number;
|
|
74
|
+
short: number;
|
|
75
|
+
};
|
|
76
|
+
export type PairDepth = {
|
|
77
|
+
onePercentDepthAboveUsd: number;
|
|
78
|
+
onePercentDepthBelowUsd: number;
|
|
79
|
+
};
|
|
80
|
+
export type PairParamsBorrowingFees = {
|
|
81
|
+
pairs: BorrowingFee.Pair[];
|
|
82
|
+
groups: BorrowingFee.Group[];
|
|
83
|
+
};
|
|
84
|
+
export type Pair = {
|
|
85
|
+
name: string;
|
|
86
|
+
from: string;
|
|
87
|
+
to: string;
|
|
88
|
+
feeIndex: number;
|
|
89
|
+
groupIndex: number;
|
|
90
|
+
pairIndex: number;
|
|
91
|
+
spreadP: number;
|
|
92
|
+
};
|
|
93
|
+
export type TradeHistoryRecord = {
|
|
94
|
+
action: string;
|
|
95
|
+
address: string;
|
|
96
|
+
buy: number;
|
|
97
|
+
collateralPriceUsd: number;
|
|
98
|
+
date: string;
|
|
99
|
+
leverage: number;
|
|
100
|
+
pair: string;
|
|
101
|
+
pnl_net: number;
|
|
102
|
+
price: number;
|
|
103
|
+
size: number;
|
|
104
|
+
tx: string;
|
|
105
|
+
};
|
|
106
|
+
export type MarketOrder = {
|
|
107
|
+
trader: string;
|
|
108
|
+
pairIndex: number;
|
|
109
|
+
index: number;
|
|
110
|
+
block: number;
|
|
111
|
+
open: boolean;
|
|
112
|
+
};
|
|
113
|
+
export type ChartBar = {
|
|
114
|
+
close: number;
|
|
115
|
+
high: number;
|
|
116
|
+
isBarClosed: boolean;
|
|
117
|
+
isLastBar: boolean;
|
|
118
|
+
low: number;
|
|
119
|
+
open: number;
|
|
120
|
+
time: number;
|
|
121
|
+
};
|
|
122
|
+
export type LeaderboardTrader = {
|
|
123
|
+
address: string;
|
|
124
|
+
tradesCount: number;
|
|
125
|
+
winrate: number;
|
|
126
|
+
pnl: number;
|
|
127
|
+
volume: number;
|
|
128
|
+
score: number;
|
|
129
|
+
totalPnlUsd: number;
|
|
130
|
+
};
|
|
131
|
+
export type OpenTradeParams = [
|
|
132
|
+
address: string,
|
|
133
|
+
pairIndex: number,
|
|
134
|
+
x1: number,
|
|
135
|
+
x2: number,
|
|
136
|
+
wei: number,
|
|
137
|
+
price: string,
|
|
138
|
+
buy: boolean,
|
|
139
|
+
leverage: number,
|
|
140
|
+
takeProfit: string,
|
|
141
|
+
stopLoss: string
|
|
142
|
+
];
|
|
143
|
+
export declare enum PositionType {
|
|
144
|
+
LONG = "LONG",
|
|
145
|
+
SHORT = "SHORT"
|
|
146
|
+
}
|
|
147
|
+
export type TradeContainerRaw = {
|
|
148
|
+
trade: GFarmTradingStorageV5.TradeStruct;
|
|
149
|
+
tradeInfo: GFarmTradingStorageV5.TradeInfoStruct;
|
|
150
|
+
tradeData: IGNSTradingCallbacks.TradeDataStruct;
|
|
151
|
+
initialAccFees: {
|
|
152
|
+
borrowing: {
|
|
153
|
+
accPairFee: number;
|
|
154
|
+
accGroupFee: number;
|
|
155
|
+
block: number;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
export declare enum OpenLimitOrderType {
|
|
160
|
+
LEGACY = 0,
|
|
161
|
+
REVERSAL = 1,
|
|
162
|
+
MOMENTUM = 2
|
|
163
|
+
}
|
|
164
|
+
export type OiWindowsSettings = {
|
|
165
|
+
startTs: number;
|
|
166
|
+
windowsDuration: number;
|
|
167
|
+
windowsCount: number;
|
|
168
|
+
};
|
|
169
|
+
export type PairOi = {
|
|
170
|
+
oiLongUsd: number;
|
|
171
|
+
oiShortUsd: number;
|
|
172
|
+
};
|
|
173
|
+
export type OiWindow = PairOi;
|
|
174
|
+
export type OiWindows = {
|
|
175
|
+
[key: string]: OiWindow;
|
|
176
|
+
};
|
|
177
|
+
export type CollateralConfig = {
|
|
178
|
+
precision: number;
|
|
179
|
+
precisionDelta: number;
|
|
180
|
+
decimals?: number;
|
|
181
|
+
};
|
package/lib/trade/types.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OpenLimitOrderType = exports.PositionType = void 0;
|
|
4
|
-
var PositionType;
|
|
5
|
-
(function (PositionType) {
|
|
6
|
-
PositionType["LONG"] = "LONG";
|
|
7
|
-
PositionType["SHORT"] = "SHORT";
|
|
8
|
-
})(PositionType = exports.PositionType || (exports.PositionType = {}));
|
|
9
|
-
var OpenLimitOrderType;
|
|
10
|
-
(function (OpenLimitOrderType) {
|
|
11
|
-
OpenLimitOrderType[OpenLimitOrderType["LEGACY"] = 0] = "LEGACY";
|
|
12
|
-
OpenLimitOrderType[OpenLimitOrderType["REVERSAL"] = 1] = "REVERSAL";
|
|
13
|
-
OpenLimitOrderType[OpenLimitOrderType["MOMENTUM"] = 2] = "MOMENTUM";
|
|
14
|
-
})(OpenLimitOrderType = exports.OpenLimitOrderType || (exports.OpenLimitOrderType = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenLimitOrderType = exports.PositionType = void 0;
|
|
4
|
+
var PositionType;
|
|
5
|
+
(function (PositionType) {
|
|
6
|
+
PositionType["LONG"] = "LONG";
|
|
7
|
+
PositionType["SHORT"] = "SHORT";
|
|
8
|
+
})(PositionType = exports.PositionType || (exports.PositionType = {}));
|
|
9
|
+
var OpenLimitOrderType;
|
|
10
|
+
(function (OpenLimitOrderType) {
|
|
11
|
+
OpenLimitOrderType[OpenLimitOrderType["LEGACY"] = 0] = "LEGACY";
|
|
12
|
+
OpenLimitOrderType[OpenLimitOrderType["REVERSAL"] = 1] = "REVERSAL";
|
|
13
|
+
OpenLimitOrderType[OpenLimitOrderType["MOMENTUM"] = 2] = "MOMENTUM";
|
|
14
|
+
})(OpenLimitOrderType = exports.OpenLimitOrderType || (exports.OpenLimitOrderType = {}));
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./packing";
|
|
1
|
+
export * from "./packing";
|
package/lib/utils/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./packing"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./packing"), exports);
|
package/lib/utils/packing.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const pack: (values: bigint[], bitLengths: bigint[]) => bigint;
|
|
2
|
-
export declare const unpack: (packed: bigint, bitLengths: bigint[]) => bigint[];
|
|
1
|
+
export declare const pack: (values: bigint[], bitLengths: bigint[]) => bigint;
|
|
2
|
+
export declare const unpack: (packed: bigint, bitLengths: bigint[]) => bigint[];
|
package/lib/utils/packing.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unpack = exports.pack = void 0;
|
|
4
|
-
const pack = (values, bitLengths) => {
|
|
5
|
-
if (values.length !== bitLengths.length) {
|
|
6
|
-
throw new Error("Mismatch in the lengths of values and bitLengths arrays");
|
|
7
|
-
}
|
|
8
|
-
let packed = BigInt(0);
|
|
9
|
-
let currentShift = BigInt(0);
|
|
10
|
-
for (let i = 0; i < values.length; i++) {
|
|
11
|
-
if (currentShift + bitLengths[i] > BigInt(256)) {
|
|
12
|
-
throw new Error("Packed value exceeds 256 bits");
|
|
13
|
-
}
|
|
14
|
-
const maxValue = (BigInt(1) << bitLengths[i]) - BigInt(1);
|
|
15
|
-
if (values[i] > maxValue) {
|
|
16
|
-
throw new Error("Value too large for specified bit length");
|
|
17
|
-
}
|
|
18
|
-
const maskedValue = values[i] & maxValue;
|
|
19
|
-
packed |= maskedValue << currentShift;
|
|
20
|
-
currentShift += bitLengths[i];
|
|
21
|
-
}
|
|
22
|
-
return packed;
|
|
23
|
-
};
|
|
24
|
-
exports.pack = pack;
|
|
25
|
-
const unpack = (packed, bitLengths) => {
|
|
26
|
-
const values = [];
|
|
27
|
-
let currentShift = BigInt(0);
|
|
28
|
-
for (let i = 0; i < bitLengths.length; i++) {
|
|
29
|
-
if (currentShift + bitLengths[i] > BigInt(256)) {
|
|
30
|
-
throw new Error("Unpacked value exceeds 256 bits");
|
|
31
|
-
}
|
|
32
|
-
const maxValue = (BigInt(1) << bitLengths[i]) - BigInt(1);
|
|
33
|
-
const mask = maxValue << currentShift;
|
|
34
|
-
values[i] = (packed & mask) >> currentShift;
|
|
35
|
-
currentShift += bitLengths[i];
|
|
36
|
-
}
|
|
37
|
-
return values;
|
|
38
|
-
};
|
|
39
|
-
exports.unpack = unpack;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unpack = exports.pack = void 0;
|
|
4
|
+
const pack = (values, bitLengths) => {
|
|
5
|
+
if (values.length !== bitLengths.length) {
|
|
6
|
+
throw new Error("Mismatch in the lengths of values and bitLengths arrays");
|
|
7
|
+
}
|
|
8
|
+
let packed = BigInt(0);
|
|
9
|
+
let currentShift = BigInt(0);
|
|
10
|
+
for (let i = 0; i < values.length; i++) {
|
|
11
|
+
if (currentShift + bitLengths[i] > BigInt(256)) {
|
|
12
|
+
throw new Error("Packed value exceeds 256 bits");
|
|
13
|
+
}
|
|
14
|
+
const maxValue = (BigInt(1) << bitLengths[i]) - BigInt(1);
|
|
15
|
+
if (values[i] > maxValue) {
|
|
16
|
+
throw new Error("Value too large for specified bit length");
|
|
17
|
+
}
|
|
18
|
+
const maskedValue = values[i] & maxValue;
|
|
19
|
+
packed |= maskedValue << currentShift;
|
|
20
|
+
currentShift += bitLengths[i];
|
|
21
|
+
}
|
|
22
|
+
return packed;
|
|
23
|
+
};
|
|
24
|
+
exports.pack = pack;
|
|
25
|
+
const unpack = (packed, bitLengths) => {
|
|
26
|
+
const values = [];
|
|
27
|
+
let currentShift = BigInt(0);
|
|
28
|
+
for (let i = 0; i < bitLengths.length; i++) {
|
|
29
|
+
if (currentShift + bitLengths[i] > BigInt(256)) {
|
|
30
|
+
throw new Error("Unpacked value exceeds 256 bits");
|
|
31
|
+
}
|
|
32
|
+
const maxValue = (BigInt(1) << bitLengths[i]) - BigInt(1);
|
|
33
|
+
const mask = maxValue << currentShift;
|
|
34
|
+
values[i] = (packed & mask) >> currentShift;
|
|
35
|
+
currentShift += bitLengths[i];
|
|
36
|
+
}
|
|
37
|
+
return values;
|
|
38
|
+
};
|
|
39
|
+
exports.unpack = unpack;
|
package/lib/vault/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
type GetPendingAccBlockWeightedMarketCap = {
|
|
2
|
-
marketCap: number;
|
|
3
|
-
accBlockWeightedMarketCap: number;
|
|
4
|
-
accBlockWeightedMarketCapLastStored: number;
|
|
5
|
-
marketCapPrecision?: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const getPendingAccBlockWeightedMarketCap: (currentBlock: number, context: GetPendingAccBlockWeightedMarketCap) => number;
|
|
8
|
-
export {};
|
|
1
|
+
type GetPendingAccBlockWeightedMarketCap = {
|
|
2
|
+
marketCap: number;
|
|
3
|
+
accBlockWeightedMarketCap: number;
|
|
4
|
+
accBlockWeightedMarketCapLastStored: number;
|
|
5
|
+
marketCapPrecision?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const getPendingAccBlockWeightedMarketCap: (currentBlock: number, context: GetPendingAccBlockWeightedMarketCap) => number;
|
|
8
|
+
export {};
|
package/lib/vault/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPendingAccBlockWeightedMarketCap = void 0;
|
|
4
|
-
const getPendingAccBlockWeightedMarketCap = (currentBlock, context) => {
|
|
5
|
-
const { marketCap, accBlockWeightedMarketCap, accBlockWeightedMarketCapLastStored, marketCapPrecision, } = context;
|
|
6
|
-
return (accBlockWeightedMarketCap +
|
|
7
|
-
(currentBlock - accBlockWeightedMarketCapLastStored) /
|
|
8
|
-
Math.max(marketCap * (marketCapPrecision || 1e18), 1));
|
|
9
|
-
};
|
|
10
|
-
exports.getPendingAccBlockWeightedMarketCap = getPendingAccBlockWeightedMarketCap;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPendingAccBlockWeightedMarketCap = void 0;
|
|
4
|
+
const getPendingAccBlockWeightedMarketCap = (currentBlock, context) => {
|
|
5
|
+
const { marketCap, accBlockWeightedMarketCap, accBlockWeightedMarketCapLastStored, marketCapPrecision, } = context;
|
|
6
|
+
return (accBlockWeightedMarketCap +
|
|
7
|
+
(currentBlock - accBlockWeightedMarketCapLastStored) /
|
|
8
|
+
Math.max(marketCap * (marketCapPrecision || 1e18), 1));
|
|
9
|
+
};
|
|
10
|
+
exports.getPendingAccBlockWeightedMarketCap = getPendingAccBlockWeightedMarketCap;
|