@drift-labs/sdk 0.1.18-orders.1 → 0.1.18
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 +2 -1
- package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts +4 -7
- package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts.map +1 -0
- package/lib/accounts/defaultClearingHouseAccountSubscriber.js +1 -26
- package/lib/accounts/defaultUserAccountSubscriber.d.ts +2 -3
- package/lib/accounts/defaultUserAccountSubscriber.d.ts.map +1 -0
- package/lib/accounts/defaultUserAccountSubscriber.js +4 -13
- package/lib/accounts/types.d.ts +6 -32
- package/lib/accounts/types.d.ts.map +1 -0
- package/lib/accounts/webSocketAccountSubscriber.d.ts +1 -0
- package/lib/accounts/webSocketAccountSubscriber.d.ts.map +1 -0
- package/lib/addresses.d.ts +1 -4
- package/lib/addresses.d.ts.map +1 -0
- package/lib/addresses.js +1 -28
- package/lib/admin.d.ts +6 -10
- package/lib/admin.d.ts.map +1 -0
- package/lib/admin.js +44 -50
- package/lib/assert/assert.d.ts +1 -0
- package/lib/assert/assert.d.ts.map +1 -0
- package/lib/clearingHouse.d.ts +3 -22
- package/lib/clearingHouse.d.ts.map +1 -0
- package/lib/clearingHouse.js +7 -238
- package/lib/clearingHouseUser.d.ts +17 -10
- package/lib/clearingHouseUser.d.ts.map +1 -0
- package/lib/clearingHouseUser.js +84 -98
- package/lib/config.d.ts +1 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +1 -1
- package/lib/constants/markets.d.ts +1 -0
- package/lib/constants/markets.d.ts.map +1 -0
- package/lib/constants/markets.js +16 -0
- package/lib/constants/numericConstants.d.ts +1 -0
- package/lib/constants/numericConstants.d.ts.map +1 -0
- package/lib/examples/makeTradeExample.d.ts +1 -0
- package/lib/examples/makeTradeExample.d.ts.map +1 -0
- package/lib/idl/clearing_house.json +233 -911
- package/lib/index.d.ts +1 -4
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +0 -4
- package/lib/math/amm.d.ts +1 -1
- package/lib/math/amm.d.ts.map +1 -0
- package/lib/math/amm.js +8 -31
- package/lib/math/conversion.d.ts +1 -0
- package/lib/math/conversion.d.ts.map +1 -0
- package/lib/math/funding.d.ts +1 -0
- package/lib/math/funding.d.ts.map +1 -0
- package/lib/math/funding.js +4 -1
- package/lib/math/insuranceFund.d.ts +1 -0
- package/lib/math/insuranceFund.d.ts.map +1 -0
- package/lib/math/market.d.ts +2 -2
- package/lib/math/market.d.ts.map +1 -0
- package/lib/math/market.js +1 -11
- package/lib/math/position.d.ts +2 -4
- package/lib/math/position.d.ts.map +1 -0
- package/lib/math/position.js +4 -18
- package/lib/math/trade.d.ts +1 -0
- package/lib/math/trade.d.ts.map +1 -0
- package/lib/math/utils.d.ts +1 -0
- package/lib/math/utils.d.ts.map +1 -0
- package/lib/mockUSDCFaucet.d.ts +1 -0
- package/lib/mockUSDCFaucet.d.ts.map +1 -0
- package/lib/pythClient.d.ts +1 -0
- package/lib/pythClient.d.ts.map +1 -0
- package/lib/tx/defaultTxSender.d.ts +1 -0
- package/lib/tx/defaultTxSender.d.ts.map +1 -0
- package/lib/tx/types.d.ts +1 -0
- package/lib/tx/types.d.ts.map +1 -0
- package/lib/tx/utils.d.ts +1 -0
- package/lib/tx/utils.d.ts.map +1 -0
- package/lib/types.d.ts +8 -140
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -36
- package/lib/util/computeUnits.d.ts +1 -0
- package/lib/util/computeUnits.d.ts.map +1 -0
- package/lib/util/tps.d.ts +1 -0
- package/lib/util/tps.d.ts.map +1 -0
- package/lib/wallet.d.ts +1 -0
- package/lib/wallet.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/accounts/defaultClearingHouseAccountSubscriber.ts +5 -52
- package/src/accounts/defaultUserAccountSubscriber.ts +6 -31
- package/src/accounts/types.ts +5 -42
- package/src/addresses.ts +0 -35
- package/src/admin.ts +52 -86
- package/src/clearingHouse.ts +7 -340
- package/src/clearingHouseUser.ts +102 -154
- package/src/config.ts +1 -1
- package/src/constants/markets.ts +16 -0
- package/src/idl/clearing_house.json +233 -911
- package/src/index.ts +0 -4
- package/src/math/amm.ts +14 -47
- package/src/math/funding.ts +5 -1
- package/src/math/market.ts +2 -28
- package/src/math/position.ts +3 -23
- package/src/types.ts +7 -124
- package/tsconfig.json +1 -0
- package/lib/accounts/defaultHistoryAccountSubscriber.d.ts +0 -28
- package/lib/accounts/defaultHistoryAccountSubscriber.js +0 -110
- package/lib/math/orders.d.ts +0 -3
- package/lib/math/orders.js +0 -30
- package/lib/orderParams.d.ts +0 -7
- package/lib/orderParams.js +0 -88
- package/lib/orders.d.ts +0 -5
- package/lib/orders.js +0 -136
- package/src/accounts/defaultHistoryAccountSubscriber.ts +0 -176
- package/src/math/orders.ts +0 -39
- package/src/orderParams.ts +0 -128
- package/src/orders.ts +0 -230
package/lib/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export * from './mockUSDCFaucet';
|
|
|
3
3
|
export * from './pythClient';
|
|
4
4
|
export * from './types';
|
|
5
5
|
export * from './constants/markets';
|
|
6
|
-
export * from './accounts/defaultHistoryAccountSubscriber';
|
|
7
6
|
export * from './accounts/defaultClearingHouseAccountSubscriber';
|
|
8
7
|
export * from './accounts/types';
|
|
9
8
|
export * from './addresses';
|
|
@@ -17,9 +16,6 @@ export * from './math/market';
|
|
|
17
16
|
export * from './math/position';
|
|
18
17
|
export * from './math/amm';
|
|
19
18
|
export * from './math/trade';
|
|
20
|
-
export * from './math/orders';
|
|
21
|
-
export * from './orders';
|
|
22
|
-
export * from './orderParams';
|
|
23
19
|
export * from './wallet';
|
|
24
20
|
export * from './types';
|
|
25
21
|
export * from './math/utils';
|
|
@@ -28,3 +24,4 @@ export * from './constants/numericConstants';
|
|
|
28
24
|
export * from './util/computeUnits';
|
|
29
25
|
export * from './util/tps';
|
|
30
26
|
export { BN };
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kDAAkD,CAAC;AACjE,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,EAAE,EAAE,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -17,7 +17,6 @@ __exportStar(require("./mockUSDCFaucet"), exports);
|
|
|
17
17
|
__exportStar(require("./pythClient"), exports);
|
|
18
18
|
__exportStar(require("./types"), exports);
|
|
19
19
|
__exportStar(require("./constants/markets"), exports);
|
|
20
|
-
__exportStar(require("./accounts/defaultHistoryAccountSubscriber"), exports);
|
|
21
20
|
__exportStar(require("./accounts/defaultClearingHouseAccountSubscriber"), exports);
|
|
22
21
|
__exportStar(require("./accounts/types"), exports);
|
|
23
22
|
__exportStar(require("./addresses"), exports);
|
|
@@ -31,9 +30,6 @@ __exportStar(require("./math/market"), exports);
|
|
|
31
30
|
__exportStar(require("./math/position"), exports);
|
|
32
31
|
__exportStar(require("./math/amm"), exports);
|
|
33
32
|
__exportStar(require("./math/trade"), exports);
|
|
34
|
-
__exportStar(require("./math/orders"), exports);
|
|
35
|
-
__exportStar(require("./orders"), exports);
|
|
36
|
-
__exportStar(require("./orderParams"), exports);
|
|
37
33
|
__exportStar(require("./wallet"), exports);
|
|
38
34
|
__exportStar(require("./types"), exports);
|
|
39
35
|
__exportStar(require("./math/utils"), exports);
|
package/lib/math/amm.d.ts
CHANGED
|
@@ -63,4 +63,4 @@ export declare function calculateRepegCost(market: Market, marketIndex: BN, newP
|
|
|
63
63
|
* @returns cost : Precision MARK_PRICE_PRECISION
|
|
64
64
|
*/
|
|
65
65
|
export declare function calculateTerminalPrice(market: Market): BN;
|
|
66
|
-
|
|
66
|
+
//# sourceMappingURL=amm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../../src/math/amm.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAQ3C,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIzE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,EAAE,GAChB,EAAE,CAUJ;AAED,oBAAY,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC5C,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,SAAS,EACzB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,GAC1B,CAAC,EAAE,EAAE,EAAE,CAAC,CA2BV;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,iBAAiB,EAAE,EAAE,EACrB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,EAAE,GACX,CAAC,EAAE,EAAE,EAAE,CAAC,CASV;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,cAAc,EAAE,SAAS,EACzB,iBAAiB,EAAE,iBAAiB,GAClC,aAAa,CAgBf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,SAAS,EAAE,EAAE,EACb,WAAW,EAAE,EAAE,GACb,EAAE,CA0BJ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACR,EAAE,CA2BJ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,MAuBpD"}
|
package/lib/math/amm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.calculateTerminalPrice = exports.calculateRepegCost = exports.calculateAdjustKCost = exports.getSwapDirection = exports.calculateSwapOutput = exports.calculateAmmReservesAfterSwap = exports.calculatePrice = void 0;
|
|
4
4
|
const anchor_1 = require("@project-serum/anchor");
|
|
5
5
|
const numericConstants_1 = require("../constants/numericConstants");
|
|
6
6
|
const position_1 = require("./position");
|
|
@@ -79,10 +79,12 @@ exports.calculateSwapOutput = calculateSwapOutput;
|
|
|
79
79
|
* @param positionDirection
|
|
80
80
|
*/
|
|
81
81
|
function getSwapDirection(inputAssetType, positionDirection) {
|
|
82
|
-
if (
|
|
82
|
+
if (positionDirection === types_1.PositionDirection.LONG &&
|
|
83
|
+
inputAssetType === 'base') {
|
|
83
84
|
return types_1.SwapDirection.REMOVE;
|
|
84
85
|
}
|
|
85
|
-
if (
|
|
86
|
+
if (positionDirection === types_1.PositionDirection.SHORT &&
|
|
87
|
+
inputAssetType === 'quote') {
|
|
86
88
|
return types_1.SwapDirection.REMOVE;
|
|
87
89
|
}
|
|
88
90
|
return types_1.SwapDirection.ADD;
|
|
@@ -102,7 +104,6 @@ function calculateAdjustKCost(market, marketIndex, numerator, denomenator) {
|
|
|
102
104
|
lastCumulativeFundingRate: market.amm.cumulativeFundingRate,
|
|
103
105
|
marketIndex: new anchor_1.BN(marketIndex),
|
|
104
106
|
quoteAssetAmount: new anchor_1.BN(0),
|
|
105
|
-
openOrders: new anchor_1.BN(0),
|
|
106
107
|
};
|
|
107
108
|
const currentValue = position_1.calculateBaseAssetValue(market, netUserPosition);
|
|
108
109
|
const marketNewK = Object.assign({}, market);
|
|
@@ -133,7 +134,6 @@ function calculateRepegCost(market, marketIndex, newPeg) {
|
|
|
133
134
|
lastCumulativeFundingRate: market.amm.cumulativeFundingRate,
|
|
134
135
|
marketIndex: new anchor_1.BN(marketIndex),
|
|
135
136
|
quoteAssetAmount: new anchor_1.BN(0),
|
|
136
|
-
openOrders: new anchor_1.BN(0),
|
|
137
137
|
};
|
|
138
138
|
const currentValue = position_1.calculateBaseAssetValue(market, netUserPosition);
|
|
139
139
|
netUserPosition.quoteAssetAmount = currentValue;
|
|
@@ -154,6 +154,9 @@ exports.calculateRepegCost = calculateRepegCost;
|
|
|
154
154
|
* @returns cost : Precision MARK_PRICE_PRECISION
|
|
155
155
|
*/
|
|
156
156
|
function calculateTerminalPrice(market) {
|
|
157
|
+
if (!market.initialized) {
|
|
158
|
+
return new anchor_1.BN(0);
|
|
159
|
+
}
|
|
157
160
|
const directionToClose = market.baseAssetAmount.gt(numericConstants_1.ZERO)
|
|
158
161
|
? types_1.PositionDirection.SHORT
|
|
159
162
|
: types_1.PositionDirection.LONG;
|
|
@@ -166,29 +169,3 @@ function calculateTerminalPrice(market) {
|
|
|
166
169
|
return terminalPrice;
|
|
167
170
|
}
|
|
168
171
|
exports.calculateTerminalPrice = calculateTerminalPrice;
|
|
169
|
-
function calculateMaxBaseAssetAmountToTrade(amm, limit_price) {
|
|
170
|
-
const invariant = amm.sqrtK.mul(amm.sqrtK);
|
|
171
|
-
const newBaseAssetReserveSquared = invariant
|
|
172
|
-
.mul(numericConstants_1.MARK_PRICE_PRECISION)
|
|
173
|
-
.mul(amm.pegMultiplier)
|
|
174
|
-
.div(limit_price)
|
|
175
|
-
.div(numericConstants_1.PEG_PRECISION);
|
|
176
|
-
const newBaseAssetReserve = __1.squareRootBN(newBaseAssetReserveSquared);
|
|
177
|
-
if (newBaseAssetReserve.gt(amm.baseAssetReserve)) {
|
|
178
|
-
return [
|
|
179
|
-
newBaseAssetReserve.sub(amm.baseAssetReserve),
|
|
180
|
-
types_1.PositionDirection.SHORT,
|
|
181
|
-
];
|
|
182
|
-
}
|
|
183
|
-
else if (newBaseAssetReserve.lt(amm.baseAssetReserve)) {
|
|
184
|
-
return [
|
|
185
|
-
amm.baseAssetReserve.sub(newBaseAssetReserve),
|
|
186
|
-
types_1.PositionDirection.LONG,
|
|
187
|
-
];
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
console.log('tradeSize Too Small');
|
|
191
|
-
return [new anchor_1.BN(0), types_1.PositionDirection.LONG];
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
exports.calculateMaxBaseAssetAmountToTrade = calculateMaxBaseAssetAmountToTrade;
|
package/lib/math/conversion.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/math/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAMvB,eAAO,MAAM,eAAe,cAChB,EAAE,cACF,EAAE,WAOb,CAAC;AAEF,eAAO,MAAM,8BAA8B,oBAAqB,EAAE,WAKjE,CAAC"}
|
package/lib/math/funding.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../src/math/funding.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACrD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CA2K/B;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,EAAE,EAAc,EAChC,gBAAgB,EAAE,cAAc,GAAG,YAAY,GAAG,QAAQ,GACxD,OAAO,CAAC,EAAE,CAAC,CAgBb;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAenB;AAED;;;;;;GAMG;AACH,wBAAsB,yCAAyC,CAC9D,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAe3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAWvD"}
|
package/lib/math/funding.js
CHANGED
|
@@ -242,7 +242,10 @@ exports.calculateLongShortFundingRateAndLiveTwaps = calculateLongShortFundingRat
|
|
|
242
242
|
function calculateFundingPool(market) {
|
|
243
243
|
// todo
|
|
244
244
|
const totalFeeLB = market.amm.totalFee.div(new anchor_1.BN(2));
|
|
245
|
-
const feePool = anchor_1.BN.max(numericConstants_1.ZERO, market.amm.totalFeeMinusDistributions
|
|
245
|
+
const feePool = anchor_1.BN.max(numericConstants_1.ZERO, market.amm.totalFeeMinusDistributions
|
|
246
|
+
.sub(totalFeeLB)
|
|
247
|
+
.mul(new anchor_1.BN(2))
|
|
248
|
+
.div(new anchor_1.BN(3)));
|
|
246
249
|
return feePool;
|
|
247
250
|
}
|
|
248
251
|
exports.calculateFundingPool = calculateFundingPool;
|
|
@@ -12,3 +12,4 @@ import { Connection } from '@solana/web3.js';
|
|
|
12
12
|
* @returns Precision : QUOTE_ASSET_PRECISION
|
|
13
13
|
*/
|
|
14
14
|
export declare function calculateInsuranceFundSize(connection: Connection, state: StateAccount, marketsAccount: MarketsAccount): Promise<BN>;
|
|
15
|
+
//# sourceMappingURL=insuranceFund.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insuranceFund.d.ts","sourceRoot":"","sources":["../../src/math/insuranceFund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC/C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,EAAE,CAAC,CAUb"}
|
package/lib/math/market.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import { BN } from '@project-serum/anchor';
|
|
3
|
-
import { Market
|
|
3
|
+
import { Market } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Calculates market mark price
|
|
6
6
|
*
|
|
@@ -8,4 +8,4 @@ import { Market, PositionDirection } from '../types';
|
|
|
8
8
|
* @return markPrice : Precision MARK_PRICE_PRECISION
|
|
9
9
|
*/
|
|
10
10
|
export declare function calculateMarkPrice(market: Market): BN;
|
|
11
|
-
|
|
11
|
+
//# sourceMappingURL=market.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/math/market.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAMrD"}
|
package/lib/math/market.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.calculateMarkPrice = void 0;
|
|
4
4
|
const amm_1 = require("./amm");
|
|
5
5
|
/**
|
|
6
6
|
* Calculates market mark price
|
|
@@ -12,13 +12,3 @@ function calculateMarkPrice(market) {
|
|
|
12
12
|
return amm_1.calculatePrice(market.amm.baseAssetReserve, market.amm.quoteAssetReserve, market.amm.pegMultiplier);
|
|
13
13
|
}
|
|
14
14
|
exports.calculateMarkPrice = calculateMarkPrice;
|
|
15
|
-
function calculateNewMarketAfterTrade(baseAssetAmount, direction, market) {
|
|
16
|
-
const [newQuoteAssetReserve, newBaseAssetReserve] = amm_1.calculateAmmReservesAfterSwap(market.amm, 'base', baseAssetAmount.abs(), amm_1.getSwapDirection('base', direction));
|
|
17
|
-
const newAmm = Object.assign({}, market.amm);
|
|
18
|
-
const newMarket = Object.assign({}, market);
|
|
19
|
-
newMarket.amm = newAmm;
|
|
20
|
-
newMarket.amm.quoteAssetReserve = newQuoteAssetReserve;
|
|
21
|
-
newMarket.amm.baseAssetReserve = newBaseAssetReserve;
|
|
22
|
-
return newMarket;
|
|
23
|
-
}
|
|
24
|
-
exports.calculateNewMarketAfterTrade = calculateNewMarketAfterTrade;
|
package/lib/math/position.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BN from 'bn.js';
|
|
2
|
-
import { Market,
|
|
2
|
+
import { Market, UserPosition } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* calculateBaseAssetValue
|
|
5
5
|
* = market value of closing entire position
|
|
@@ -30,6 +30,4 @@ export declare function calculatePositionFundingPNL(market: Market, marketPositi
|
|
|
30
30
|
* @returns Precision: MARK_PRICE_PRECISION (10^10)
|
|
31
31
|
*/
|
|
32
32
|
export declare function calculateEntryPrice(userPosition: UserPosition): BN;
|
|
33
|
-
|
|
34
|
-
export declare function positionCurrentDirection(userPosition: UserPosition): PositionDirection;
|
|
35
|
-
export declare function isEmptyPosition(userPosition: UserPosition): boolean;
|
|
33
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/math/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAWvB,OAAO,EAAE,MAAM,EAAqB,YAAY,EAAE,MAAM,UAAU,CAAC;AAGnE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACxB,EAAE,CA6BJ;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,YAAY,EAC5B,WAAW,UAAQ,GACjB,EAAE,CAwBJ;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,YAAY,GAC1B,EAAE,CAoBJ;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUlE"}
|
package/lib/math/position.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.calculateEntryPrice = exports.calculatePositionFundingPNL = exports.calculatePositionPNL = exports.calculateBaseAssetValue = void 0;
|
|
7
7
|
const bn_js_1 = __importDefault(require("bn.js"));
|
|
8
8
|
const numericConstants_1 = require("../constants/numericConstants");
|
|
9
9
|
const types_1 = require("../types");
|
|
@@ -19,7 +19,9 @@ function calculateBaseAssetValue(market, userPosition) {
|
|
|
19
19
|
if (userPosition.baseAssetAmount.eq(numericConstants_1.ZERO)) {
|
|
20
20
|
return numericConstants_1.ZERO;
|
|
21
21
|
}
|
|
22
|
-
const directionToClose =
|
|
22
|
+
const directionToClose = userPosition.baseAssetAmount.gt(numericConstants_1.ZERO)
|
|
23
|
+
? types_1.PositionDirection.SHORT
|
|
24
|
+
: types_1.PositionDirection.LONG;
|
|
23
25
|
const [newQuoteAssetReserve, _] = amm_1.calculateAmmReservesAfterSwap(market.amm, 'base', userPosition.baseAssetAmount.abs(), amm_1.getSwapDirection('base', directionToClose));
|
|
24
26
|
switch (directionToClose) {
|
|
25
27
|
case types_1.PositionDirection.SHORT:
|
|
@@ -104,19 +106,3 @@ function calculateEntryPrice(userPosition) {
|
|
|
104
106
|
.abs();
|
|
105
107
|
}
|
|
106
108
|
exports.calculateEntryPrice = calculateEntryPrice;
|
|
107
|
-
function findDirectionToClose(userPosition) {
|
|
108
|
-
return userPosition.baseAssetAmount.gt(numericConstants_1.ZERO)
|
|
109
|
-
? types_1.PositionDirection.SHORT
|
|
110
|
-
: types_1.PositionDirection.LONG;
|
|
111
|
-
}
|
|
112
|
-
exports.findDirectionToClose = findDirectionToClose;
|
|
113
|
-
function positionCurrentDirection(userPosition) {
|
|
114
|
-
return userPosition.baseAssetAmount.gte(numericConstants_1.ZERO)
|
|
115
|
-
? types_1.PositionDirection.LONG
|
|
116
|
-
: types_1.PositionDirection.SHORT;
|
|
117
|
-
}
|
|
118
|
-
exports.positionCurrentDirection = positionCurrentDirection;
|
|
119
|
-
function isEmptyPosition(userPosition) {
|
|
120
|
-
return (userPosition.baseAssetAmount.eq(numericConstants_1.ZERO) && userPosition.openOrders.eq(numericConstants_1.ZERO));
|
|
121
|
-
}
|
|
122
|
-
exports.isEmptyPosition = isEmptyPosition;
|
package/lib/math/trade.d.ts
CHANGED
|
@@ -45,3 +45,4 @@ export declare function calculateTradeAcquiredAmounts(direction: PositionDirecti
|
|
|
45
45
|
* ]
|
|
46
46
|
*/
|
|
47
47
|
export declare function calculateTargetPriceTrade(market: Market, targetPrice: BN, pct?: BN, outputAssetType?: AssetType): [PositionDirection, BN, BN, BN];
|
|
48
|
+
//# sourceMappingURL=trade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../src/math/trade.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAS3C,OAAO,EAIN,SAAS,EACT,MAAM,OAAO,CAAC;AAKf,oBAAY,eAAe,GACxB,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,QAAQ,GACR,QAAQ,GACR,kBAAkB,GAClB,qBAAqB,GACrB,yBAAyB,GACzB,0BAA0B,GAC1B,KAAK,CAAC;AAET;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,SAAmB,GACjC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CA0ClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,SAAmB,GACjC,CAAC,EAAE,EAAE,EAAE,CAAC,CAiBV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,GAAG,GAAE,EAAW,EAChB,eAAe,GAAE,SAAmB,GAClC,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAgHjC"}
|
package/lib/math/utils.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/math/utils.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY,8CA0BxB,CAAC"}
|
package/lib/mockUSDCFaucet.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockUSDCFaucet.d.ts","sourceRoot":"","sources":["../src/mockUSDCFaucet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAO,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACN,WAAW,EAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,cAAc,EACd,UAAU,EACV,SAAS,EAIT,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAc;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;gBAGrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,cAAc;IAUT,uCAAuC,IAAI,OAAO,CAC9D;QAAC,SAAS;QAAE,MAAM;KAAC,CACnB;IAOD,4BAA4B,CAAC,EAAE,SAAS,CAAC;IAC5B,+BAA+B,IAAI,OAAO,CAAC,SAAS,CAAC;IAUrD,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA8C3C,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAM1B,UAAU,CACtB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,oBAAoB,CAAC;IAanB,qCAAqC,CACjD,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAWhC,iDAAiD,CAC7D,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,CAAC,SAAS,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IA8B1D,gCAAgC,CAAC,KAAK,EAAE;QACpD,UAAU,EAAE,SAAS,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAWrB,mBAAmB,CAAC,KAAK,EAAE;QACvC,UAAU,EAAE,SAAS,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBX,uBAAuB,CAAC,KAAK,EAAE;QAC3C,UAAU,EAAE,SAAS,CAAC;QACtB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;KAC7C,GAAG,OAAO,CAAC,OAAO,CAAC;CAuBpB"}
|
package/lib/pythClient.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythClient.d.ts","sourceRoot":"","sources":["../src/pythClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,qBAAa,UAAU;IACtB,OAAO,CAAC,UAAU,CAAa;gBAEZ,UAAU,EAAE,UAAU;IAI5B,YAAY,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAIxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultTxSender.d.ts","sourceRoot":"","sources":["../../src/tx/defaultTxSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACN,cAAc,EACd,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,qBAAa,eAAgB,YAAW,QAAQ;IAC/C,QAAQ,EAAE,QAAQ,CAAC;gBAEA,QAAQ,EAAE,QAAQ;IAIrC,IAAI,CACH,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAGhC"}
|
package/lib/tx/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tx/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,QAAQ;IACxB,IAAI,CACH,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjC"}
|
package/lib/tx/utils.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,WAAW,EAAE,sBAAsB,GAAG,WAAW,CAEzE"}
|
package/lib/types.d.ts
CHANGED
|
@@ -24,65 +24,6 @@ export declare class OracleSource {
|
|
|
24
24
|
switchboard: {};
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
export declare class OrderType {
|
|
28
|
-
static readonly LIMIT: {
|
|
29
|
-
limit: {};
|
|
30
|
-
};
|
|
31
|
-
static readonly STOP: {
|
|
32
|
-
stop: {};
|
|
33
|
-
};
|
|
34
|
-
static readonly STOP_LIMIT: {
|
|
35
|
-
stopLimit: {};
|
|
36
|
-
};
|
|
37
|
-
static readonly MARKET: {
|
|
38
|
-
market: {};
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export declare class OrderStatus {
|
|
42
|
-
static readonly INIT: {
|
|
43
|
-
init: {};
|
|
44
|
-
};
|
|
45
|
-
static readonly OPEN: {
|
|
46
|
-
open: {};
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
export declare class OrderDiscountTier {
|
|
50
|
-
static readonly NONE: {
|
|
51
|
-
none: {};
|
|
52
|
-
};
|
|
53
|
-
static readonly FIRST: {
|
|
54
|
-
first: {};
|
|
55
|
-
};
|
|
56
|
-
static readonly SECOND: {
|
|
57
|
-
second: {};
|
|
58
|
-
};
|
|
59
|
-
static readonly THIRD: {
|
|
60
|
-
third: {};
|
|
61
|
-
};
|
|
62
|
-
static readonly FOURTH: {
|
|
63
|
-
fourth: {};
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
export declare class OrderAction {
|
|
67
|
-
static readonly PLACE: {
|
|
68
|
-
place: {};
|
|
69
|
-
};
|
|
70
|
-
static readonly CANCEL: {
|
|
71
|
-
cancel: {};
|
|
72
|
-
};
|
|
73
|
-
static readonly FILL: {
|
|
74
|
-
fill: {};
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export declare class OrderTriggerCondition {
|
|
78
|
-
static readonly ABOVE: {
|
|
79
|
-
above: {};
|
|
80
|
-
};
|
|
81
|
-
static readonly BELOW: {
|
|
82
|
-
below: {};
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export declare function isVariant(object: unknown, type: string): boolean;
|
|
86
27
|
export declare enum TradeSide {
|
|
87
28
|
None = 0,
|
|
88
29
|
Buy = 1,
|
|
@@ -97,9 +38,9 @@ export declare type DepositHistoryAccount = {
|
|
|
97
38
|
head: BN;
|
|
98
39
|
depositRecords: DepositRecord[];
|
|
99
40
|
};
|
|
100
|
-
export declare type
|
|
41
|
+
export declare type ExtendedCurveHistoryAccount = {
|
|
101
42
|
head: BN;
|
|
102
|
-
curveRecords:
|
|
43
|
+
curveRecords: ExtendedCurveRecord[];
|
|
103
44
|
};
|
|
104
45
|
export declare type FundingRateHistoryAccount = {
|
|
105
46
|
head: BN;
|
|
@@ -113,11 +54,6 @@ export declare type LiquidationHistoryAccount = {
|
|
|
113
54
|
head: BN;
|
|
114
55
|
liquidationRecords: LiquidationRecord[];
|
|
115
56
|
};
|
|
116
|
-
export declare type OrderHistoryAccount = {
|
|
117
|
-
head: BN;
|
|
118
|
-
lastOrderId: BN;
|
|
119
|
-
orderRecords: OrderRecord[];
|
|
120
|
-
};
|
|
121
57
|
export declare type DepositRecord = {
|
|
122
58
|
ts: BN;
|
|
123
59
|
recordId: BN;
|
|
@@ -131,7 +67,7 @@ export declare type DepositRecord = {
|
|
|
131
67
|
cumulativeDepositsBefore: BN;
|
|
132
68
|
amount: BN;
|
|
133
69
|
};
|
|
134
|
-
export declare type
|
|
70
|
+
export declare type ExtendedCurveRecord = {
|
|
135
71
|
ts: BN;
|
|
136
72
|
recordId: BN;
|
|
137
73
|
marketIndex: BN;
|
|
@@ -147,6 +83,8 @@ export declare type CurveRecord = {
|
|
|
147
83
|
baseAssetAmountShort: BN;
|
|
148
84
|
baseAssetAmount: BN;
|
|
149
85
|
openInterest: BN;
|
|
86
|
+
oraclePrice: BN;
|
|
87
|
+
tradeId: BN;
|
|
150
88
|
};
|
|
151
89
|
export declare type TradeRecord = {
|
|
152
90
|
ts: BN;
|
|
@@ -209,20 +147,6 @@ export declare type LiquidationRecord = {
|
|
|
209
147
|
unrealizedPnl: BN;
|
|
210
148
|
marginRatio: BN;
|
|
211
149
|
};
|
|
212
|
-
export declare type OrderRecord = {
|
|
213
|
-
ts: BN;
|
|
214
|
-
recordId: BN;
|
|
215
|
-
order: Order;
|
|
216
|
-
user: PublicKey;
|
|
217
|
-
authority: PublicKey;
|
|
218
|
-
action: OrderAction;
|
|
219
|
-
filler: PublicKey;
|
|
220
|
-
baseAssetAmountFilled: BN;
|
|
221
|
-
quoteAssetAmountFilled: BN;
|
|
222
|
-
fee: BN;
|
|
223
|
-
fillerReward: BN;
|
|
224
|
-
tradeRecordId: BN;
|
|
225
|
-
};
|
|
226
150
|
export declare type StateAccount = {
|
|
227
151
|
admin: PublicKey;
|
|
228
152
|
fundingPaused: boolean;
|
|
@@ -260,12 +184,7 @@ export declare type StateAccount = {
|
|
|
260
184
|
discountMint: PublicKey;
|
|
261
185
|
oracleGuardRails: OracleGuardRails;
|
|
262
186
|
maxDeposit: BN;
|
|
263
|
-
|
|
264
|
-
};
|
|
265
|
-
export declare type OrderStateAccount = {
|
|
266
|
-
orderHistory: PublicKey;
|
|
267
|
-
orderFillerRewardStructure: OrderFillerRewardStructure;
|
|
268
|
-
minOrderQuoteAssetAmount: BN;
|
|
187
|
+
extendedCurveHistory: PublicKey;
|
|
269
188
|
};
|
|
270
189
|
export declare type MarketsAccount = {
|
|
271
190
|
accountIndex: BN;
|
|
@@ -301,15 +220,13 @@ export declare type AMM = {
|
|
|
301
220
|
totalFeeMinusDistributions: BN;
|
|
302
221
|
totalFeeWithdrawn: BN;
|
|
303
222
|
totalFee: BN;
|
|
304
|
-
|
|
305
|
-
minimumBaseAssetTradeSize: BN;
|
|
223
|
+
minimumTradeSize: BN;
|
|
306
224
|
};
|
|
307
225
|
export declare type UserPosition = {
|
|
308
226
|
baseAssetAmount: BN;
|
|
309
227
|
lastCumulativeFundingRate: BN;
|
|
310
228
|
marketIndex: BN;
|
|
311
229
|
quoteAssetAmount: BN;
|
|
312
|
-
openOrders: BN;
|
|
313
230
|
};
|
|
314
231
|
export declare type UserPositionsAccount = {
|
|
315
232
|
positions: UserPosition[];
|
|
@@ -321,51 +238,6 @@ export declare type UserAccount = {
|
|
|
321
238
|
cumulativeDeposits: BN;
|
|
322
239
|
positions: PublicKey;
|
|
323
240
|
totalFeePaid: BN;
|
|
324
|
-
totalTokenDiscount: BN;
|
|
325
|
-
totalReferralReward: BN;
|
|
326
|
-
totalRefereeDiscount: BN;
|
|
327
|
-
};
|
|
328
|
-
export declare type UserOrdersAccount = {
|
|
329
|
-
orders: Order[];
|
|
330
|
-
user: PublicKey;
|
|
331
|
-
};
|
|
332
|
-
export declare type Order = {
|
|
333
|
-
status: OrderStatus;
|
|
334
|
-
orderType: OrderType;
|
|
335
|
-
ts: BN;
|
|
336
|
-
orderId: BN;
|
|
337
|
-
marketIndex: BN;
|
|
338
|
-
price: BN;
|
|
339
|
-
baseAssetAmount: BN;
|
|
340
|
-
baseAssetAmountFilled: BN;
|
|
341
|
-
quoteAssetAmount: BN;
|
|
342
|
-
quoteAssetAmountFilled: BN;
|
|
343
|
-
fee: BN;
|
|
344
|
-
direction: PositionDirection;
|
|
345
|
-
reduceOnly: boolean;
|
|
346
|
-
triggerPrice: BN;
|
|
347
|
-
triggerCondition: OrderTriggerCondition;
|
|
348
|
-
discountTier: OrderDiscountTier;
|
|
349
|
-
referrer: PublicKey;
|
|
350
|
-
postOnly: boolean;
|
|
351
|
-
immediateOrCancel: boolean;
|
|
352
|
-
};
|
|
353
|
-
export declare type OrderParams = {
|
|
354
|
-
orderType: OrderType;
|
|
355
|
-
direction: PositionDirection;
|
|
356
|
-
quoteAssetAmount: BN;
|
|
357
|
-
baseAssetAmount: BN;
|
|
358
|
-
price: BN;
|
|
359
|
-
marketIndex: BN;
|
|
360
|
-
reduceOnly: boolean;
|
|
361
|
-
postOnly: boolean;
|
|
362
|
-
immediateOrCancel: boolean;
|
|
363
|
-
triggerPrice: BN;
|
|
364
|
-
triggerCondition: OrderTriggerCondition;
|
|
365
|
-
optionalAccounts: {
|
|
366
|
-
discountToken: boolean;
|
|
367
|
-
referrer: boolean;
|
|
368
|
-
};
|
|
369
241
|
};
|
|
370
242
|
export interface IWallet {
|
|
371
243
|
signTransaction(tx: Transaction): Promise<Transaction>;
|
|
@@ -416,8 +288,4 @@ export declare type OracleGuardRails = {
|
|
|
416
288
|
};
|
|
417
289
|
useForLiquidations: boolean;
|
|
418
290
|
};
|
|
419
|
-
|
|
420
|
-
rewardNumerator: BN;
|
|
421
|
-
rewardDenominator: BN;
|
|
422
|
-
timeBasedRewardLowerBound: BN;
|
|
423
|
-
};
|
|
291
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TradeSide = exports.
|
|
3
|
+
exports.TradeSide = exports.OracleSource = exports.PositionDirection = exports.SwapDirection = void 0;
|
|
4
4
|
// # Utility Types / Enums / Constants
|
|
5
5
|
class SwapDirection {
|
|
6
6
|
}
|
|
@@ -17,41 +17,6 @@ class OracleSource {
|
|
|
17
17
|
exports.OracleSource = OracleSource;
|
|
18
18
|
OracleSource.PYTH = { pyth: {} };
|
|
19
19
|
OracleSource.SWITCHBOARD = { switchboard: {} };
|
|
20
|
-
class OrderType {
|
|
21
|
-
}
|
|
22
|
-
exports.OrderType = OrderType;
|
|
23
|
-
OrderType.LIMIT = { limit: {} };
|
|
24
|
-
OrderType.STOP = { stop: {} };
|
|
25
|
-
OrderType.STOP_LIMIT = { stopLimit: {} };
|
|
26
|
-
OrderType.MARKET = { market: {} };
|
|
27
|
-
class OrderStatus {
|
|
28
|
-
}
|
|
29
|
-
exports.OrderStatus = OrderStatus;
|
|
30
|
-
OrderStatus.INIT = { init: {} };
|
|
31
|
-
OrderStatus.OPEN = { open: {} };
|
|
32
|
-
class OrderDiscountTier {
|
|
33
|
-
}
|
|
34
|
-
exports.OrderDiscountTier = OrderDiscountTier;
|
|
35
|
-
OrderDiscountTier.NONE = { none: {} };
|
|
36
|
-
OrderDiscountTier.FIRST = { first: {} };
|
|
37
|
-
OrderDiscountTier.SECOND = { second: {} };
|
|
38
|
-
OrderDiscountTier.THIRD = { third: {} };
|
|
39
|
-
OrderDiscountTier.FOURTH = { fourth: {} };
|
|
40
|
-
class OrderAction {
|
|
41
|
-
}
|
|
42
|
-
exports.OrderAction = OrderAction;
|
|
43
|
-
OrderAction.PLACE = { place: {} };
|
|
44
|
-
OrderAction.CANCEL = { cancel: {} };
|
|
45
|
-
OrderAction.FILL = { fill: {} };
|
|
46
|
-
class OrderTriggerCondition {
|
|
47
|
-
}
|
|
48
|
-
exports.OrderTriggerCondition = OrderTriggerCondition;
|
|
49
|
-
OrderTriggerCondition.ABOVE = { above: {} };
|
|
50
|
-
OrderTriggerCondition.BELOW = { below: {} };
|
|
51
|
-
function isVariant(object, type) {
|
|
52
|
-
return object.hasOwnProperty(type);
|
|
53
|
-
}
|
|
54
|
-
exports.isVariant = isVariant;
|
|
55
20
|
var TradeSide;
|
|
56
21
|
(function (TradeSide) {
|
|
57
22
|
TradeSide[TradeSide["None"] = 0] = "None";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeUnits.d.ts","sourceRoot":"","sources":["../../src/util/computeUnits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAElE,wBAAsB,0BAA0B,CAC/C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,QAAsB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB"}
|