@d8x/perpetuals-sdk 0.1.12 → 0.2.0
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/dist/cjs/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/cjs/accountTrade.js +441 -0
- package/dist/cjs/accountTrade.js.map +1 -0
- package/dist/{src → cjs}/brokerTool.js +31 -84
- package/dist/cjs/brokerTool.js.map +1 -0
- package/dist/cjs/config/defaultConfig.json +47 -0
- package/dist/cjs/config/mockSwap.json +4 -0
- package/dist/cjs/config/priceFeedConfig.json +104 -0
- package/dist/cjs/config/symbolList.json +13 -0
- package/dist/cjs/d8XMath.js.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/liquidatorTool.js +287 -0
- package/dist/cjs/liquidatorTool.js.map +1 -0
- package/dist/{src → cjs}/liquidityProviderTool.js +12 -65
- package/dist/cjs/liquidityProviderTool.js.map +1 -0
- package/dist/{src → cjs}/marketData.js +52 -134
- package/dist/cjs/marketData.js.map +1 -0
- package/dist/{src → cjs}/nodeSDKTypes.d.ts +5 -5
- package/dist/cjs/nodeSDKTypes.js +64 -0
- package/dist/cjs/nodeSDKTypes.js.map +1 -0
- package/dist/{src → cjs}/orderReferrerTool.d.ts +12 -5
- package/dist/{src → cjs}/orderReferrerTool.js +114 -112
- package/dist/cjs/orderReferrerTool.js.map +1 -0
- package/dist/{src → cjs}/perpetualDataHandler.d.ts +1 -1
- package/dist/{src → cjs}/perpetualDataHandler.js +47 -109
- package/dist/cjs/perpetualDataHandler.js.map +1 -0
- package/dist/{src → cjs}/perpetualEventHandler.d.ts +3 -3
- package/dist/{src → cjs}/perpetualEventHandler.js +12 -74
- package/dist/cjs/perpetualEventHandler.js.map +1 -0
- package/dist/cjs/priceFeeds.js +466 -0
- package/dist/cjs/priceFeeds.js.map +1 -0
- package/dist/{src → cjs}/traderDigests.js +7 -43
- package/dist/cjs/traderDigests.js.map +1 -0
- package/dist/{src → cjs}/traderInterface.js +13 -66
- package/dist/cjs/traderInterface.js.map +1 -0
- package/dist/{src → cjs}/triangulator.js +2 -17
- package/dist/cjs/triangulator.js.map +1 -0
- package/dist/{src → cjs}/utils.js +3 -29
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/{src → cjs}/version.js +1 -1
- package/dist/cjs/version.js.map +1 -0
- package/dist/{src → cjs}/writeAccessHandler.js +12 -65
- package/dist/cjs/writeAccessHandler.js.map +1 -0
- package/dist/esm/abi/ERC20.json +288 -0
- package/dist/esm/abi/MockTokenSwap.json +186 -0
- package/dist/{abi/testnet → esm/abi/central-park}/IPerpetualManager.json +404 -214
- package/dist/{abi/testnet → esm/abi/central-park}/LimitOrderBook.json +197 -15
- package/dist/esm/abi/central-park/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/testnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/accountTrade.d.ts +221 -0
- package/dist/{src → esm}/accountTrade.js +22 -93
- package/dist/esm/accountTrade.js.map +1 -0
- package/dist/esm/brokerTool.d.ts +318 -0
- package/dist/esm/brokerTool.js +572 -0
- package/dist/esm/brokerTool.js.map +1 -0
- package/dist/esm/config/defaultConfig.json +47 -0
- package/dist/esm/config/mockSwap.json +4 -0
- package/dist/esm/config/priceFeedConfig.json +104 -0
- package/dist/esm/config/symbolList.json +13 -0
- package/dist/esm/d8XMath.d.ts +122 -0
- package/dist/esm/d8XMath.js +247 -0
- package/dist/esm/d8XMath.js.map +1 -0
- package/{src/index.ts → dist/esm/index.d.ts} +1 -15
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/liquidatorTool.d.ts +158 -0
- package/dist/{src → esm}/liquidatorTool.js +10 -65
- package/dist/esm/liquidatorTool.js.map +1 -0
- package/dist/esm/liquidityProviderTool.d.ts +126 -0
- package/dist/esm/liquidityProviderTool.js +218 -0
- package/dist/esm/liquidityProviderTool.js.map +1 -0
- package/dist/esm/marketData.d.ts +309 -0
- package/dist/esm/marketData.js +1007 -0
- package/dist/esm/marketData.js.map +1 -0
- package/dist/esm/nodeSDKTypes.d.ts +266 -0
- package/dist/esm/nodeSDKTypes.js +60 -0
- package/dist/esm/nodeSDKTypes.js.map +1 -0
- package/dist/esm/orderReferrerTool.d.ts +196 -0
- package/dist/esm/orderReferrerTool.js +491 -0
- package/dist/esm/orderReferrerTool.js.map +1 -0
- package/dist/esm/perpetualDataHandler.d.ts +220 -0
- package/dist/esm/perpetualDataHandler.js +1060 -0
- package/dist/esm/perpetualDataHandler.js.map +1 -0
- package/dist/esm/perpetualEventHandler.d.ts +179 -0
- package/dist/esm/perpetualEventHandler.js +435 -0
- package/dist/esm/perpetualEventHandler.js.map +1 -0
- package/dist/esm/priceFeeds.d.ts +115 -0
- package/dist/{src → esm}/priceFeeds.js +16 -83
- package/dist/esm/priceFeeds.js.map +1 -0
- package/dist/esm/traderDigests.d.ts +21 -0
- package/dist/esm/traderDigests.js +80 -0
- package/dist/esm/traderDigests.js.map +1 -0
- package/dist/esm/traderInterface.d.ts +79 -0
- package/dist/esm/traderInterface.js +196 -0
- package/dist/esm/traderInterface.js.map +1 -0
- package/dist/esm/triangulator.d.ts +27 -0
- package/dist/esm/triangulator.js +110 -0
- package/dist/esm/triangulator.js.map +1 -0
- package/dist/esm/utils.d.ts +59 -0
- package/dist/esm/utils.js +138 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/writeAccessHandler.d.ts +50 -0
- package/dist/esm/writeAccessHandler.js +157 -0
- package/dist/esm/writeAccessHandler.js.map +1 -0
- package/package.json +16 -26
- package/dist/bundle.js +0 -36793
- package/dist/config/defaultConfig.json +0 -47
- package/dist/config/mockSwap.json +0 -4
- package/dist/config/priceFeedConfig.json +0 -104
- package/dist/config/symbolList.json +0 -13
- package/dist/src/index.js +0 -45
- package/dist/src/nodeSDKTypes.js +0 -115
- package/dist/src/version.d.ts +0 -1
- package/module.d.ts +0 -1
- package/src/accountTrade.ts +0 -392
- package/src/brokerTool.ts +0 -507
- package/src/d8XMath.ts +0 -319
- package/src/liquidatorTool.ts +0 -258
- package/src/liquidityProviderTool.ts +0 -186
- package/src/marketData.ts +0 -946
- package/src/nodeSDKTypes.ts +0 -293
- package/src/orderReferrerTool.ts +0 -389
- package/src/perpetualDataHandler.ts +0 -1061
- package/src/perpetualEventHandler.ts +0 -455
- package/src/priceFeeds.ts +0 -381
- package/src/traderDigests.ts +0 -91
- package/src/traderInterface.ts +0 -159
- package/src/triangulator.ts +0 -105
- package/src/utils.ts +0 -134
- package/src/version.ts +0 -1
- package/src/writeAccessHandler.ts +0 -127
- /package/dist/{abi → cjs/abi}/ERC20.json +0 -0
- /package/dist/{abi → cjs/abi}/MockTokenSwap.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/IPerpetualManager.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBook.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBookFactory.json +0 -0
- /package/dist/{abi → cjs/abi}/testnet/LimitOrderBookFactory.json +0 -0
- /package/dist/{src → cjs}/accountTrade.d.ts +0 -0
- /package/dist/{src → cjs}/brokerTool.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.js +0 -0
- /package/dist/{src → cjs}/index.d.ts +0 -0
- /package/dist/{src → cjs}/liquidatorTool.d.ts +0 -0
- /package/dist/{src → cjs}/liquidityProviderTool.d.ts +0 -0
- /package/dist/{src → cjs}/marketData.d.ts +0 -0
- /package/dist/{src → cjs}/priceFeeds.d.ts +0 -0
- /package/dist/{src → cjs}/traderDigests.d.ts +0 -0
- /package/dist/{src → cjs}/traderInterface.d.ts +0 -0
- /package/dist/{src → cjs}/triangulator.d.ts +0 -0
- /package/dist/{src → cjs}/utils.d.ts +0 -0
- /package/dist/{src → cjs}/writeAccessHandler.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { BigNumber, BigNumberish, BytesLike, ContractTransaction, ContractInterface } from "ethers";
|
|
2
|
+
export declare const ERC20_ABI: any;
|
|
3
|
+
export declare const MOCK_TOKEN_SWAP_ABI: any;
|
|
4
|
+
export declare const SYMBOL_LIST: Map<string, string>;
|
|
5
|
+
export declare const COLLATERAL_CURRENCY_QUOTE = 0;
|
|
6
|
+
export declare const COLLATERAL_CURRENCY_BASE = 1;
|
|
7
|
+
export declare const COLLATERAL_CURRENCY_QUANTO = 2;
|
|
8
|
+
export declare const PERP_STATE_STR: string[];
|
|
9
|
+
export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
10
|
+
export declare const ZERO_ORDER_ID = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
11
|
+
export declare const ONE_64x64: BigNumber;
|
|
12
|
+
export declare const MAX_64x64: BigNumber;
|
|
13
|
+
export declare const MAX_UINT_256: BigNumber;
|
|
14
|
+
export declare const DECIMALS: BigNumber;
|
|
15
|
+
export declare const ORDER_MAX_DURATION_SEC: number;
|
|
16
|
+
export declare const MASK_CLOSE_ONLY: BigNumber;
|
|
17
|
+
export declare const MASK_LIMIT_ORDER: BigNumber;
|
|
18
|
+
export declare const MASK_MARKET_ORDER: BigNumber;
|
|
19
|
+
export declare const MASK_STOP_ORDER: BigNumber;
|
|
20
|
+
export declare const MASK_KEEP_POS_LEVERAGE: BigNumber;
|
|
21
|
+
export declare const ORDER_TYPE_LIMIT = "LIMIT";
|
|
22
|
+
export declare const ORDER_TYPE_MARKET = "MARKET";
|
|
23
|
+
export declare const ORDER_TYPE_STOP_MARKET = "STOP_MARKET";
|
|
24
|
+
export declare const ORDER_TYPE_STOP_LIMIT = "STOP_LIMIT";
|
|
25
|
+
export declare const BUY_SIDE = "BUY";
|
|
26
|
+
export declare const SELL_SIDE = "SELL";
|
|
27
|
+
export declare const CLOSED_SIDE = "CLOSED";
|
|
28
|
+
export interface NodeSDKConfig {
|
|
29
|
+
name: string | undefined;
|
|
30
|
+
chainId: number;
|
|
31
|
+
version: number;
|
|
32
|
+
nodeURL: string;
|
|
33
|
+
proxyAddr: string;
|
|
34
|
+
proxyABILocation: string;
|
|
35
|
+
limitOrderBookABILocation: string;
|
|
36
|
+
limitOrderBookFactoryABILocation: string;
|
|
37
|
+
symbolListLocation: string;
|
|
38
|
+
priceFeedConfigNetwork: string;
|
|
39
|
+
gasLimit?: number | undefined;
|
|
40
|
+
proxyABI?: ContractInterface | undefined;
|
|
41
|
+
lobFactoryABI?: ContractInterface | undefined;
|
|
42
|
+
lobABI?: ContractInterface | undefined;
|
|
43
|
+
}
|
|
44
|
+
export interface MarginAccount {
|
|
45
|
+
symbol: string;
|
|
46
|
+
positionNotionalBaseCCY: number;
|
|
47
|
+
side: string;
|
|
48
|
+
entryPrice: number;
|
|
49
|
+
leverage: number;
|
|
50
|
+
markPrice: number;
|
|
51
|
+
unrealizedPnlQuoteCCY: number;
|
|
52
|
+
unrealizedFundingCollateralCCY: number;
|
|
53
|
+
collateralCC: number;
|
|
54
|
+
liquidationPrice: [number, number | undefined];
|
|
55
|
+
liquidationLvg: number;
|
|
56
|
+
collToQuoteConversion: number;
|
|
57
|
+
}
|
|
58
|
+
export declare enum CollaterlCCY {
|
|
59
|
+
QUOTE = 0,
|
|
60
|
+
BASE = 1,
|
|
61
|
+
QUANTO = 2
|
|
62
|
+
}
|
|
63
|
+
export interface PoolStaticInfo {
|
|
64
|
+
poolId: number;
|
|
65
|
+
poolMarginSymbol: string;
|
|
66
|
+
poolMarginTokenAddr: string;
|
|
67
|
+
shareTokenAddr: string;
|
|
68
|
+
oracleFactoryAddr: string;
|
|
69
|
+
}
|
|
70
|
+
export interface PerpetualStaticInfo {
|
|
71
|
+
id: number;
|
|
72
|
+
limitOrderBookAddr: string;
|
|
73
|
+
initialMarginRate: number;
|
|
74
|
+
maintenanceMarginRate: number;
|
|
75
|
+
collateralCurrencyType: CollaterlCCY;
|
|
76
|
+
S2Symbol: string;
|
|
77
|
+
S3Symbol: string;
|
|
78
|
+
lotSizeBC: number;
|
|
79
|
+
referralRebate: number;
|
|
80
|
+
priceIds: string[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @global
|
|
84
|
+
* @typedef {Object} ExchangeInfo
|
|
85
|
+
* @property {PoolState[]} pools Array of state objects for all pools in the exchange.
|
|
86
|
+
* @property {string} oracleFactoryAddr Address of the oracle factory used by the pools in the exchange.
|
|
87
|
+
*/
|
|
88
|
+
export interface ExchangeInfo {
|
|
89
|
+
pools: PoolState[];
|
|
90
|
+
oracleFactoryAddr: string;
|
|
91
|
+
proxyAddr: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @global
|
|
95
|
+
* @typedef {Object} PoolState
|
|
96
|
+
* @property {boolean} isRunning True if the pool is running.
|
|
97
|
+
* @property {string} marginTokenAddr Address of the token used by the pool.
|
|
98
|
+
* This is the token used for margin deposits, liquidity provision, and trading fees.
|
|
99
|
+
* @property {string} poolShareTokenAddr Address of the pool share token.
|
|
100
|
+
* This is the token issued to external liquidity providers.
|
|
101
|
+
* @property {number} defaultFundCashCC Amount of cash in the default fund of this pool, denominated in margin tokens.
|
|
102
|
+
* @property {number} pnlParticipantCashCC Amount of cash in the PnL participation pool, i.e. cash deposited by external liquidity providers.
|
|
103
|
+
* @property {number} totalAMMFundCashCC Amount of cash aggregated across all perpetual AMM funds in this pool.
|
|
104
|
+
* @property {number} totalTargetAMMFundSizeCC Target AMM funds aggregated across all perpetuals in this pool.
|
|
105
|
+
* @property {number} brokerCollateralLotSize Price of one lot for brokers who wish to participate in this pool. Denominated in margin tokens.
|
|
106
|
+
* @property {PerpetualState[]} perpetuals Array of all perpetuals in this pool.
|
|
107
|
+
*/
|
|
108
|
+
export interface PoolState {
|
|
109
|
+
isRunning: boolean;
|
|
110
|
+
poolSymbol: string;
|
|
111
|
+
marginTokenAddr: string;
|
|
112
|
+
poolShareTokenAddr: string;
|
|
113
|
+
defaultFundCashCC: number;
|
|
114
|
+
pnlParticipantCashCC: number;
|
|
115
|
+
totalAMMFundCashCC: number;
|
|
116
|
+
totalTargetAMMFundSizeCC: number;
|
|
117
|
+
brokerCollateralLotSize: number;
|
|
118
|
+
perpetuals: PerpetualState[];
|
|
119
|
+
}
|
|
120
|
+
export interface PerpetualState {
|
|
121
|
+
id: number;
|
|
122
|
+
state: string;
|
|
123
|
+
baseCurrency: string;
|
|
124
|
+
quoteCurrency: string;
|
|
125
|
+
indexPrice: number;
|
|
126
|
+
collToQuoteIndexPrice: number;
|
|
127
|
+
markPrice: number;
|
|
128
|
+
midPrice: number;
|
|
129
|
+
currentFundingRateBps: number;
|
|
130
|
+
openInterestBC: number;
|
|
131
|
+
isMarketClosed: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface OrderResponse {
|
|
134
|
+
tx: ContractTransaction;
|
|
135
|
+
orderId: string;
|
|
136
|
+
}
|
|
137
|
+
export interface OrderStruct {
|
|
138
|
+
orders: Order[];
|
|
139
|
+
orderIds: string[];
|
|
140
|
+
}
|
|
141
|
+
export interface Order {
|
|
142
|
+
symbol: string;
|
|
143
|
+
side: string;
|
|
144
|
+
type: string;
|
|
145
|
+
quantity: number;
|
|
146
|
+
reduceOnly?: boolean | undefined;
|
|
147
|
+
limitPrice?: number | undefined;
|
|
148
|
+
keepPositionLvg?: boolean | undefined;
|
|
149
|
+
brokerFeeTbps?: number | undefined;
|
|
150
|
+
brokerAddr?: string | undefined;
|
|
151
|
+
brokerSignature?: BytesLike | undefined;
|
|
152
|
+
stopPrice?: number | undefined;
|
|
153
|
+
leverage?: number | undefined;
|
|
154
|
+
deadline?: number | undefined;
|
|
155
|
+
timestamp: number;
|
|
156
|
+
submittedTimestamp?: number;
|
|
157
|
+
parentChildOrderIds?: [string, string];
|
|
158
|
+
}
|
|
159
|
+
export interface TradeEvent {
|
|
160
|
+
perpetualId: number;
|
|
161
|
+
positionId: string;
|
|
162
|
+
orderId: string;
|
|
163
|
+
newPositionSizeBC: number;
|
|
164
|
+
executionPrice: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* struct Order {
|
|
168
|
+
uint32 flags;
|
|
169
|
+
uint24 iPerpetualId;
|
|
170
|
+
uint16 brokerFeeTbps;
|
|
171
|
+
address traderAddr;
|
|
172
|
+
address brokerAddr;
|
|
173
|
+
address referrerAddr;
|
|
174
|
+
bytes brokerSignature;
|
|
175
|
+
int128 fAmount;
|
|
176
|
+
int128 fLimitPrice;
|
|
177
|
+
int128 fTriggerPrice;
|
|
178
|
+
int128 fLeverage; // 0 if deposit and trade separate
|
|
179
|
+
uint64 iDeadline;
|
|
180
|
+
uint64 createdTimestamp;
|
|
181
|
+
uint64 submittedTimestamp;
|
|
182
|
+
}
|
|
183
|
+
*/
|
|
184
|
+
export interface SmartContractOrder {
|
|
185
|
+
flags: BigNumberish;
|
|
186
|
+
iPerpetualId: BigNumberish;
|
|
187
|
+
brokerFeeTbps: BigNumberish;
|
|
188
|
+
traderAddr: string;
|
|
189
|
+
brokerAddr: string;
|
|
190
|
+
referrerAddr: string;
|
|
191
|
+
brokerSignature: BytesLike;
|
|
192
|
+
fAmount: BigNumberish;
|
|
193
|
+
fLimitPrice: BigNumberish;
|
|
194
|
+
fTriggerPrice: BigNumberish;
|
|
195
|
+
fLeverage: BigNumberish;
|
|
196
|
+
iDeadline: BigNumberish;
|
|
197
|
+
createdTimestamp: BigNumberish;
|
|
198
|
+
submittedTimestamp: BigNumberish;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* struct ClientOrder {
|
|
202
|
+
uint32 flags;
|
|
203
|
+
uint24 iPerpetualId;
|
|
204
|
+
uint16 brokerFeeTbps;
|
|
205
|
+
address traderAddr;
|
|
206
|
+
address brokerAddr;
|
|
207
|
+
address referrerAddr;
|
|
208
|
+
bytes brokerSignature;
|
|
209
|
+
int128 fAmount;
|
|
210
|
+
int128 fLimitPrice;
|
|
211
|
+
int128 fTriggerPrice;
|
|
212
|
+
int128 fLeverage; // 0 if deposit and trade separate
|
|
213
|
+
uint64 iDeadline;
|
|
214
|
+
uint64 createdTimestamp;
|
|
215
|
+
//uint64 submittedTimestamp <- will be set by LimitOrderBook
|
|
216
|
+
bytes32 parentChildDigest1;
|
|
217
|
+
bytes32 parentChildDigest2;
|
|
218
|
+
}
|
|
219
|
+
*/
|
|
220
|
+
export interface ClientOrder {
|
|
221
|
+
flags: BigNumberish;
|
|
222
|
+
iPerpetualId: BigNumberish;
|
|
223
|
+
brokerFeeTbps: BigNumberish;
|
|
224
|
+
traderAddr: string;
|
|
225
|
+
brokerAddr: string;
|
|
226
|
+
referrerAddr: string;
|
|
227
|
+
brokerSignature: BytesLike;
|
|
228
|
+
fAmount: BigNumberish;
|
|
229
|
+
fLimitPrice: BigNumberish;
|
|
230
|
+
fTriggerPrice: BigNumberish;
|
|
231
|
+
fLeverage: BigNumberish;
|
|
232
|
+
iDeadline: BigNumberish;
|
|
233
|
+
createdTimestamp: BigNumberish;
|
|
234
|
+
parentChildDigest1: string;
|
|
235
|
+
parentChildDigest2: string;
|
|
236
|
+
}
|
|
237
|
+
export interface PriceFeedConfig {
|
|
238
|
+
network: string;
|
|
239
|
+
ids: Array<{
|
|
240
|
+
symbol: string;
|
|
241
|
+
id: string;
|
|
242
|
+
type: string;
|
|
243
|
+
origin: string;
|
|
244
|
+
}>;
|
|
245
|
+
endpoints: Array<{
|
|
246
|
+
type: string;
|
|
247
|
+
endpoint: string;
|
|
248
|
+
}>;
|
|
249
|
+
}
|
|
250
|
+
export interface PriceFeedSubmission {
|
|
251
|
+
symbols: string[];
|
|
252
|
+
priceFeedVaas: string[];
|
|
253
|
+
prices: number[];
|
|
254
|
+
isMarketClosed: boolean[];
|
|
255
|
+
timestamps: number[];
|
|
256
|
+
}
|
|
257
|
+
export interface PriceFeedFormat {
|
|
258
|
+
conf: BigNumber;
|
|
259
|
+
expo: number;
|
|
260
|
+
price: BigNumber;
|
|
261
|
+
publish_time: number;
|
|
262
|
+
}
|
|
263
|
+
export declare const DEFAULT_CONFIG_MAINNET_NAME = "mainnet";
|
|
264
|
+
export declare const DEFAULT_CONFIG_TESTNET_NAME = "central-park";
|
|
265
|
+
export declare function loadABIs(config: NodeSDKConfig): void;
|
|
266
|
+
export declare const DEFAULT_CONFIG: NodeSDKConfig[];
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var e_1, _a;
|
|
2
|
+
import { __values } from "tslib";
|
|
3
|
+
import { BigNumber, constants } from "ethers";
|
|
4
|
+
export var ERC20_ABI = require("./abi/ERC20.json");
|
|
5
|
+
export var MOCK_TOKEN_SWAP_ABI = require("./abi/MockTokenSwap.json");
|
|
6
|
+
export var SYMBOL_LIST = new Map(Object.entries(require("./config/symbolList.json")));
|
|
7
|
+
export var COLLATERAL_CURRENCY_QUOTE = 0;
|
|
8
|
+
export var COLLATERAL_CURRENCY_BASE = 1;
|
|
9
|
+
export var COLLATERAL_CURRENCY_QUANTO = 2;
|
|
10
|
+
export var PERP_STATE_STR = ["INVALID", "INITIALIZING", "NORMAL", "EMERGENCY", "CLEARED"];
|
|
11
|
+
export var ZERO_ADDRESS = constants.AddressZero;
|
|
12
|
+
export var ZERO_ORDER_ID = constants.HashZero;
|
|
13
|
+
export var ONE_64x64 = BigNumber.from("0x010000000000000000");
|
|
14
|
+
export var MAX_64x64 = BigNumber.from("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
|
|
15
|
+
export var MAX_UINT_256 = BigNumber.from(2).pow(256).sub(BigNumber.from(1));
|
|
16
|
+
export var DECIMALS = BigNumber.from(10).pow(BigNumber.from(18));
|
|
17
|
+
export var ORDER_MAX_DURATION_SEC = 60 * 60 * 24 * 30 * 4;
|
|
18
|
+
export var MASK_CLOSE_ONLY = BigNumber.from("0x80000000");
|
|
19
|
+
export var MASK_LIMIT_ORDER = BigNumber.from("0x04000000");
|
|
20
|
+
export var MASK_MARKET_ORDER = BigNumber.from("0x40000000");
|
|
21
|
+
export var MASK_STOP_ORDER = BigNumber.from("0x20000000");
|
|
22
|
+
export var MASK_KEEP_POS_LEVERAGE = BigNumber.from("0x08000000");
|
|
23
|
+
export var ORDER_TYPE_LIMIT = "LIMIT";
|
|
24
|
+
export var ORDER_TYPE_MARKET = "MARKET";
|
|
25
|
+
export var ORDER_TYPE_STOP_MARKET = "STOP_MARKET";
|
|
26
|
+
export var ORDER_TYPE_STOP_LIMIT = "STOP_LIMIT";
|
|
27
|
+
export var BUY_SIDE = "BUY";
|
|
28
|
+
export var SELL_SIDE = "SELL";
|
|
29
|
+
export var CLOSED_SIDE = "CLOSED";
|
|
30
|
+
export var CollaterlCCY;
|
|
31
|
+
(function (CollaterlCCY) {
|
|
32
|
+
CollaterlCCY[CollaterlCCY["QUOTE"] = 0] = "QUOTE";
|
|
33
|
+
CollaterlCCY[CollaterlCCY["BASE"] = 1] = "BASE";
|
|
34
|
+
CollaterlCCY[CollaterlCCY["QUANTO"] = 2] = "QUANTO";
|
|
35
|
+
})(CollaterlCCY || (CollaterlCCY = {}));
|
|
36
|
+
export var DEFAULT_CONFIG_MAINNET_NAME = "mainnet";
|
|
37
|
+
export var DEFAULT_CONFIG_TESTNET_NAME = "central-park";
|
|
38
|
+
export function loadABIs(config) {
|
|
39
|
+
if (config.proxyABILocation.length > 0) {
|
|
40
|
+
config.proxyABI = require("./abi/".concat(config.proxyABILocation));
|
|
41
|
+
config.lobFactoryABI = require("./abi/".concat(config.limitOrderBookFactoryABILocation));
|
|
42
|
+
config.lobABI = require("./abi/".concat(config.limitOrderBookABILocation));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var constConfig = require("./config/defaultConfig.json");
|
|
46
|
+
try {
|
|
47
|
+
for (var constConfig_1 = __values(constConfig), constConfig_1_1 = constConfig_1.next(); !constConfig_1_1.done; constConfig_1_1 = constConfig_1.next()) {
|
|
48
|
+
var config = constConfig_1_1.value;
|
|
49
|
+
loadABIs(config);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
53
|
+
finally {
|
|
54
|
+
try {
|
|
55
|
+
if (constConfig_1_1 && !constConfig_1_1.done && (_a = constConfig_1.return)) _a.call(constConfig_1);
|
|
56
|
+
}
|
|
57
|
+
finally { if (e_1) throw e_1.error; }
|
|
58
|
+
}
|
|
59
|
+
export var DEFAULT_CONFIG = constConfig;
|
|
60
|
+
//# sourceMappingURL=nodeSDKTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeSDKTypes.js","sourceRoot":"","sources":["../../src/nodeSDKTypes.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAA2B,SAAS,EAA0C,MAAM,QAAQ,CAAC;AAE/G,MAAM,CAAC,IAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACrD,MAAM,CAAC,IAAM,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;AACxG,MAAM,CAAC,IAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,IAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,IAAM,cAAc,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC5F,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC;AAClD,MAAM,CAAC,IAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AAEhD,MAAM,CAAC,IAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAChE,MAAM,CAAC,IAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AAC9E,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,IAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE5D,MAAM,CAAC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,CAAC,IAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9D,MAAM,CAAC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,CAAC,IAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEnE,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,IAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,IAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,IAAM,qBAAqB,GAAG,YAAY,CAAC;AAClD,MAAM,CAAC,IAAM,QAAQ,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,IAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,IAAM,WAAW,GAAG,QAAQ,CAAC;AAiCpC,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,+CAAI,CAAA;IACJ,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAgND,MAAM,CAAC,IAAM,2BAA2B,GAAG,SAAS,CAAC;AACrD,MAAM,CAAC,IAAM,2BAA2B,GAAG,cAAc,CAAC;AAE1D,MAAM,UAAU,QAAQ,CAAC,MAAqB;IAC5C,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,gBAAgB,CAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,gCAAgC,CAAE,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,yBAAyB,CAAE,CAAC,CAAC;KACtE;AACH,CAAC;AAED,IAAI,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAoB,CAAC;;IAC5E,KAAmB,IAAA,gBAAA,SAAA,WAAW,CAAA,wCAAA,iEAAE;QAA3B,IAAI,MAAM,wBAAA;QACb,QAAQ,CAAC,MAAM,CAAC,CAAC;KAClB;;;;;;;;;AAED,MAAM,CAAC,IAAM,cAAc,GAAoB,WAAW,CAAC"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { NodeSDKConfig, Order, PerpetualStaticInfo, PriceFeedSubmission, SmartContractOrder } from "./nodeSDKTypes";
|
|
3
|
+
import WriteAccessHandler from "./writeAccessHandler";
|
|
4
|
+
/**
|
|
5
|
+
* Functions to execute existing conditional orders from the limit order book. This class
|
|
6
|
+
* requires a private key and executes smart-contract interactions that require
|
|
7
|
+
* gas-payments.
|
|
8
|
+
* @extends WriteAccessHandler
|
|
9
|
+
*/
|
|
10
|
+
export default class OrderReferrerTool extends WriteAccessHandler {
|
|
11
|
+
static TRADE_DELAY: number;
|
|
12
|
+
/**
|
|
13
|
+
* Constructor.
|
|
14
|
+
* @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.readSDKConfig.
|
|
15
|
+
* @example
|
|
16
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
17
|
+
* async function main() {
|
|
18
|
+
* console.log(OrderReferrerTool);
|
|
19
|
+
* // load configuration for testnet
|
|
20
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
21
|
+
* // OrderReferrerTool (authentication required, PK is an environment variable with a private key)
|
|
22
|
+
* const pk: string = <string>process.env.PK;
|
|
23
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
24
|
+
* // Create a proxy instance to access the blockchain
|
|
25
|
+
* await orderTool.createProxyInstance();
|
|
26
|
+
* }
|
|
27
|
+
* main();
|
|
28
|
+
*
|
|
29
|
+
* @param {string} privateKey Private key of the wallet that executes the conditional orders.
|
|
30
|
+
*/
|
|
31
|
+
constructor(config: NodeSDKConfig, privateKey: string);
|
|
32
|
+
/**
|
|
33
|
+
* Executes an order by symbol and ID. This action interacts with the blockchain and incurs gas costs.
|
|
34
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
35
|
+
* @param {string} orderId ID of the order to be executed.
|
|
36
|
+
* @param {string=} referrerAddr optional address of the wallet to be credited for executing the order, if different from the one submitting this transaction.
|
|
37
|
+
* @param {number=} nonce optional nonce
|
|
38
|
+
* @param {PriceFeedSubmission=} submission optional signed prices obtained via PriceFeeds::fetchLatestFeedPriceInfoForPerpetual
|
|
39
|
+
* @example
|
|
40
|
+
* import { OrderReferrerTool, PerpetualDataHandler, Order } from "@d8x/perpetuals-sdk";
|
|
41
|
+
* async function main() {
|
|
42
|
+
* console.log(OrderReferrerTool);
|
|
43
|
+
* // Setup (authentication required, PK is an environment variable with a private key)
|
|
44
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
45
|
+
* const pk: string = <string>process.env.PK;
|
|
46
|
+
* const symbol = "ETH-USD-MATIC";
|
|
47
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
48
|
+
* await orderTool.createProxyInstance();
|
|
49
|
+
* // get some open orders
|
|
50
|
+
* const maxOrdersToGet = 5;
|
|
51
|
+
* let [orders, ids]: [Order[], string[]] = await orderTool.pollLimitOrders(symbol, maxOrdersToGet);
|
|
52
|
+
* console.log(`Got ${ids.length} orders`);
|
|
53
|
+
* for (let k = 0; k < ids.length; k++) {
|
|
54
|
+
* // check whether order meets conditions
|
|
55
|
+
* let doExecute = await orderTool.isTradeable(orders[k]);
|
|
56
|
+
* if (doExecute) {
|
|
57
|
+
* // execute
|
|
58
|
+
* let tx = await orderTool.executeOrder(symbol, ids[k]);
|
|
59
|
+
* console.log(`Sent order id ${ids[k]} for execution, tx hash = ${tx.hash}`);
|
|
60
|
+
* }
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
* main();
|
|
64
|
+
* @returns Transaction object.
|
|
65
|
+
*/
|
|
66
|
+
executeOrder(symbol: string, orderId: string, referrerAddr?: string, nonce?: number, submission?: PriceFeedSubmission): Promise<ethers.ContractTransaction>;
|
|
67
|
+
executeOrders(symbol: string, orderIds: string[], referrerAddr?: string, nonce?: number, submission?: PriceFeedSubmission): Promise<ethers.ContractTransaction>;
|
|
68
|
+
/**
|
|
69
|
+
* All the orders in the order book for a given symbol that are currently open.
|
|
70
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
71
|
+
* @example
|
|
72
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
73
|
+
* async function main() {
|
|
74
|
+
* console.log(OrderReferrerTool);
|
|
75
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
76
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
77
|
+
* const pk: string = <string>process.env.PK;
|
|
78
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
79
|
+
* await orderTool.createProxyInstance();
|
|
80
|
+
* // get all open orders
|
|
81
|
+
* let openOrders = await orderTool.getAllOpenOrders("ETH-USD-MATIC");
|
|
82
|
+
* console.log(openOrders);
|
|
83
|
+
* }
|
|
84
|
+
* main();
|
|
85
|
+
*
|
|
86
|
+
* @returns Array with all open orders and their IDs.
|
|
87
|
+
*/
|
|
88
|
+
getAllOpenOrders(symbol: string): Promise<[Order[], string[]]>;
|
|
89
|
+
/**
|
|
90
|
+
* Total number of limit orders for this symbol, excluding those that have been cancelled/removed.
|
|
91
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
92
|
+
* @example
|
|
93
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
94
|
+
* async function main() {
|
|
95
|
+
* console.log(OrderReferrerTool);
|
|
96
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
97
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
98
|
+
* const pk: string = <string>process.env.PK;
|
|
99
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
100
|
+
* await orderTool.createProxyInstance();
|
|
101
|
+
* // get all open orders
|
|
102
|
+
* let numberOfOrders = await orderTool.numberOfOpenOrders("ETH-USD-MATIC");
|
|
103
|
+
* console.log(numberOfOrders);
|
|
104
|
+
* }
|
|
105
|
+
* main();
|
|
106
|
+
*
|
|
107
|
+
* @returns {number} Number of open orders.
|
|
108
|
+
*/
|
|
109
|
+
numberOfOpenOrders(symbol: string): Promise<number>;
|
|
110
|
+
/**
|
|
111
|
+
* Get order from the digest (=id)
|
|
112
|
+
* @param symbol symbol of order book, e.g. ETH-USD-MATIC
|
|
113
|
+
* @param digest digest of the order (=order ID)
|
|
114
|
+
* @example
|
|
115
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
116
|
+
* async function main() {
|
|
117
|
+
* console.log(OrderReferrerTool);
|
|
118
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
119
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
120
|
+
* const pk: string = <string>process.env.PK;
|
|
121
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
122
|
+
* await orderTool.createProxyInstance();
|
|
123
|
+
* // get order by ID
|
|
124
|
+
* let myorder = await orderTool.getOrderById("MATIC-USD-MATIC",
|
|
125
|
+
* "0x0091a1d878491479afd09448966c1403e9d8753122e25260d3b2b9688d946eae");
|
|
126
|
+
* console.log(myorder);
|
|
127
|
+
* }
|
|
128
|
+
* main();
|
|
129
|
+
*
|
|
130
|
+
* @returns order or undefined
|
|
131
|
+
*/
|
|
132
|
+
getOrderById(symbol: string, id: string): Promise<Order | undefined>;
|
|
133
|
+
/**
|
|
134
|
+
* Get a list of active conditional orders in the order book.
|
|
135
|
+
* This a read-only action and does not incur in gas costs.
|
|
136
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
137
|
+
* @param {number} numElements Maximum number of orders to poll.
|
|
138
|
+
* @param {string=} startAfter Optional order ID from where to start polling. Defaults to the first order.
|
|
139
|
+
* @example
|
|
140
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
141
|
+
* async function main() {
|
|
142
|
+
* console.log(OrderReferrerTool);
|
|
143
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
144
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
145
|
+
* const pk: string = <string>process.env.PK;
|
|
146
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
147
|
+
* await orderTool.createProxyInstance();
|
|
148
|
+
* // get all open orders
|
|
149
|
+
* let activeOrders = await orderTool.pollLimitOrders("ETH-USD-MATIC", 2);
|
|
150
|
+
* console.log(activeOrders);
|
|
151
|
+
* }
|
|
152
|
+
* main();
|
|
153
|
+
*
|
|
154
|
+
* @returns Array of orders and corresponding order IDs
|
|
155
|
+
*/
|
|
156
|
+
pollLimitOrders(symbol: string, numElements: number, startAfter?: string): Promise<[Order[], string[]]>;
|
|
157
|
+
/**
|
|
158
|
+
* Check if a conditional order can be executed
|
|
159
|
+
* @param order order structure
|
|
160
|
+
* @param indexPrices pair of index prices S2 and S3. S3 set to zero if not required. If undefined
|
|
161
|
+
* the function will fetch the latest prices from the REST API
|
|
162
|
+
* @example
|
|
163
|
+
* import { OrderReferrerTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
164
|
+
* async function main() {
|
|
165
|
+
* console.log(OrderReferrerTool);
|
|
166
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
167
|
+
* const config = PerpetualDataHandler.readSDKConfig("testnet");
|
|
168
|
+
* const pk: string = <string>process.env.PK;
|
|
169
|
+
* let orderTool = new OrderReferrerTool(config, pk);
|
|
170
|
+
* await orderTool.createProxyInstance();
|
|
171
|
+
* // check if tradeable
|
|
172
|
+
* let openOrders = await orderTool.getAllOpenOrders("MATIC-USD-MATIC");
|
|
173
|
+
* let check = await orderTool.isTradeable(openOrders[0][0]);
|
|
174
|
+
* console.log(check);
|
|
175
|
+
* }
|
|
176
|
+
* main();
|
|
177
|
+
* @returns true if order can be executed for the current state of the perpetuals
|
|
178
|
+
*/
|
|
179
|
+
isTradeable(order: Order, blockTimestamp?: number, indexPrices?: [number, number]): Promise<boolean>;
|
|
180
|
+
/**
|
|
181
|
+
* Check for a batch of orders on the same perpetual whether they can be traded
|
|
182
|
+
* @param orders orders belonging to 1 perpetual
|
|
183
|
+
* @param indexPrice S2,S3-index prices for the given perpetual. Will fetch prices from REST API
|
|
184
|
+
* if not defined.
|
|
185
|
+
* @returns array of tradeable boolean
|
|
186
|
+
*/
|
|
187
|
+
isTradeableBatch(orders: Order[], blockTimestamp?: number, indexPrices?: [number, number, boolean, boolean]): Promise<boolean[]>;
|
|
188
|
+
protected _isTradeable(order: Order, tradePrice: number, markPrice: number, blockTimestamp: number, symbolToPerpInfoMap: Map<string, PerpetualStaticInfo>): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Wrapper of static method to use after mappings have been loaded into memory.
|
|
191
|
+
* @param scOrder Perpetual order as received in the proxy events.
|
|
192
|
+
* @returns A user-friendly order struct.
|
|
193
|
+
*/
|
|
194
|
+
smartContractOrderToOrder(scOrder: SmartContractOrder): Order;
|
|
195
|
+
getTransactionCount(blockTag?: ethers.providers.BlockTag): Promise<number>;
|
|
196
|
+
}
|