@drift-labs/sdk 0.1.29-master.0 → 0.1.30-master.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/lib/accounts/bulkAccountLoader.d.ts +1 -0
- package/lib/accounts/bulkAccountLoader.js +33 -13
- package/lib/clearingHouse.d.ts +4 -1
- package/lib/clearingHouse.js +49 -0
- package/lib/constants/markets.js +11 -0
- package/lib/idl/clearing_house.json +63 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/math/amm.d.ts +0 -20
- package/lib/math/amm.js +1 -151
- package/lib/math/repeg.d.ts +32 -0
- package/lib/math/repeg.js +178 -0
- package/lib/oracles/pythClient.js +1 -1
- package/lib/orderParams.d.ts +1 -1
- package/lib/orderParams.js +2 -2
- package/lib/tx/retryTxSender.d.ts +5 -2
- package/lib/tx/retryTxSender.js +14 -1
- package/package.json +1 -1
- package/src/accounts/bulkAccountLoader.ts +40 -15
- package/src/clearingHouse.ts +71 -0
- package/src/constants/markets.ts +11 -0
- package/src/idl/clearing_house.json +63 -2
- package/src/index.ts +1 -0
- package/src/math/amm.ts +1 -212
- package/src/math/repeg.ts +253 -0
- package/src/oracles/pythClient.ts +1 -1
- package/src/orderParams.ts +3 -2
- package/src/tx/retryTxSender.ts +19 -1
- package/src/accounts/bulkUserSubscription.js +0 -56
- package/src/accounts/bulkUserSubscription.js.map +0 -1
- package/src/accounts/pollingUserAccountSubscriber.js +0 -139
- package/src/accounts/pollingUserAccountSubscriber.js.map +0 -1
- package/src/accounts/types.js +0 -11
- package/src/accounts/types.js.map +0 -1
- package/src/accounts/webSocketUserAccountSubscriber.js +0 -78
- package/src/accounts/webSocketUserAccountSubscriber.js.map +0 -1
- package/src/addresses.js +0 -59
- package/src/addresses.js.map +0 -1
- package/src/admin.js +0 -443
- package/src/admin.js.map +0 -1
- package/src/clearingHouseUser.js +0 -581
- package/src/clearingHouseUser.js.map +0 -1
- package/src/config.js +0 -37
- package/src/config.js.map +0 -1
- package/src/factory/clearingHouse.js +0 -65
- package/src/factory/clearingHouse.js.map +0 -1
- package/src/factory/clearingHouseUser.js +0 -35
- package/src/factory/clearingHouseUser.js.map +0 -1
- package/src/factory/oracleClient.js +0 -17
- package/src/factory/oracleClient.js.map +0 -1
- package/src/index.js +0 -56
- package/src/index.js.map +0 -1
- package/src/math/amm.js +0 -285
- package/src/math/amm.js.map +0 -1
- package/src/mockUSDCFaucet.js +0 -143
- package/src/mockUSDCFaucet.js.map +0 -1
- package/src/oracles/pythClient.js +0 -39
- package/src/oracles/pythClient.js.map +0 -1
- package/src/orderParams.js +0 -109
- package/src/orderParams.js.map +0 -1
- package/src/orders.js +0 -172
- package/src/orders.js.map +0 -1
- package/src/tx/retryTxSender.js +0 -137
- package/src/tx/retryTxSender.js.map +0 -1
- package/src/types.js +0 -61
- package/src/types.js.map +0 -1
- package/src/wallet.js +0 -23
- package/src/wallet.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertPythPrice = exports.PythClient = void 0;
|
|
4
|
-
const client_1 = require("@pythnetwork/client");
|
|
5
|
-
const anchor_1 = require("@project-serum/anchor");
|
|
6
|
-
const numericConstants_1 = require("../constants/numericConstants");
|
|
7
|
-
class PythClient {
|
|
8
|
-
constructor(connection) {
|
|
9
|
-
this.connection = connection;
|
|
10
|
-
}
|
|
11
|
-
async getPriceData(pricePublicKey) {
|
|
12
|
-
const account = await this.connection.getAccountInfo(pricePublicKey);
|
|
13
|
-
return (0, client_1.parsePriceData)(account.data);
|
|
14
|
-
}
|
|
15
|
-
async getOraclePriceData(pricePublicKey) {
|
|
16
|
-
const accountInfo = await this.connection.getAccountInfo(pricePublicKey);
|
|
17
|
-
return this.getOraclePriceDataFromBuffer(accountInfo.data);
|
|
18
|
-
}
|
|
19
|
-
async getOraclePriceDataFromBuffer(buffer) {
|
|
20
|
-
const priceData = (0, client_1.parsePriceData)(buffer);
|
|
21
|
-
return {
|
|
22
|
-
price: convertPythPrice(priceData.price, priceData.exponent),
|
|
23
|
-
slot: new anchor_1.BN(priceData.lastSlot.toString()),
|
|
24
|
-
confidence: convertPythPrice(priceData.confidence, priceData.exponent),
|
|
25
|
-
twap: convertPythPrice(priceData.twap.value, priceData.exponent),
|
|
26
|
-
twapConfidence: convertPythPrice(priceData.twac.value, priceData.exponent),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.PythClient = PythClient;
|
|
31
|
-
function convertPythPrice(price, exponent) {
|
|
32
|
-
exponent = Math.abs(exponent);
|
|
33
|
-
const pythPrecision = numericConstants_1.TEN.pow(new anchor_1.BN(exponent).abs());
|
|
34
|
-
return new anchor_1.BN(price * Math.pow(10, exponent))
|
|
35
|
-
.mul(numericConstants_1.MARK_PRICE_PRECISION)
|
|
36
|
-
.div(pythPrecision);
|
|
37
|
-
}
|
|
38
|
-
exports.convertPythPrice = convertPythPrice;
|
|
39
|
-
//# sourceMappingURL=pythClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pythClient.js","sourceRoot":"","sources":["pythClient.ts"],"names":[],"mappings":";;;AAAA,gDAAgE;AAGhE,kDAA2C;AAC3C,oEAA0E;AAE1E,MAAa,UAAU;IAGtB,YAAmB,UAAsB;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,cAAyB;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACrE,OAAO,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,cAAyB;QAEzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,4BAA4B,CACxC,MAAc;QAEd,MAAM,SAAS,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;QACzC,OAAO;YACN,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC5D,IAAI,EAAE,IAAI,WAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3C,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC;YACtE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;YAChE,cAAc,EAAE,gBAAgB,CAC/B,SAAS,CAAC,IAAI,CAAC,KAAK,EACpB,SAAS,CAAC,QAAQ,CAClB;SACD,CAAC;IACH,CAAC;CACD;AAlCD,gCAkCC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,QAAgB;IAC/D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,sBAAG,CAAC,GAAG,CAAC,IAAI,WAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,OAAO,IAAI,WAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC3C,GAAG,CAAC,uCAAoB,CAAC;SACzB,GAAG,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAND,4CAMC"}
|
package/src/orderParams.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMarketOrderParams = exports.getTriggerLimitOrderParams = exports.getTriggerMarketOrderParams = exports.getLimitOrderParams = void 0;
|
|
4
|
-
const types_1 = require("./types");
|
|
5
|
-
const numericConstants_1 = require("./constants/numericConstants");
|
|
6
|
-
function getLimitOrderParams(marketIndex, direction, baseAssetAmount, price, reduceOnly, discountToken = false, referrer = false, userOrderId = 0, postOnly = false, oraclePriceOffset = numericConstants_1.ZERO) {
|
|
7
|
-
return {
|
|
8
|
-
orderType: types_1.OrderType.LIMIT,
|
|
9
|
-
userOrderId,
|
|
10
|
-
marketIndex,
|
|
11
|
-
direction,
|
|
12
|
-
quoteAssetAmount: numericConstants_1.ZERO,
|
|
13
|
-
baseAssetAmount,
|
|
14
|
-
price,
|
|
15
|
-
reduceOnly,
|
|
16
|
-
postOnly,
|
|
17
|
-
immediateOrCancel: false,
|
|
18
|
-
positionLimit: numericConstants_1.ZERO,
|
|
19
|
-
padding0: true,
|
|
20
|
-
padding1: numericConstants_1.ZERO,
|
|
21
|
-
optionalAccounts: {
|
|
22
|
-
discountToken,
|
|
23
|
-
referrer,
|
|
24
|
-
},
|
|
25
|
-
triggerCondition: types_1.OrderTriggerCondition.ABOVE,
|
|
26
|
-
triggerPrice: numericConstants_1.ZERO,
|
|
27
|
-
oraclePriceOffset,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
exports.getLimitOrderParams = getLimitOrderParams;
|
|
31
|
-
function getTriggerMarketOrderParams(marketIndex, direction, baseAssetAmount, triggerPrice, triggerCondition, reduceOnly, discountToken = false, referrer = false, userOrderId = 0) {
|
|
32
|
-
return {
|
|
33
|
-
orderType: types_1.OrderType.TRIGGER_MARKET,
|
|
34
|
-
userOrderId,
|
|
35
|
-
marketIndex,
|
|
36
|
-
direction,
|
|
37
|
-
quoteAssetAmount: numericConstants_1.ZERO,
|
|
38
|
-
baseAssetAmount,
|
|
39
|
-
price: numericConstants_1.ZERO,
|
|
40
|
-
reduceOnly,
|
|
41
|
-
postOnly: false,
|
|
42
|
-
immediateOrCancel: false,
|
|
43
|
-
positionLimit: numericConstants_1.ZERO,
|
|
44
|
-
padding0: true,
|
|
45
|
-
padding1: numericConstants_1.ZERO,
|
|
46
|
-
optionalAccounts: {
|
|
47
|
-
discountToken,
|
|
48
|
-
referrer,
|
|
49
|
-
},
|
|
50
|
-
triggerCondition,
|
|
51
|
-
triggerPrice,
|
|
52
|
-
oraclePriceOffset: numericConstants_1.ZERO,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
exports.getTriggerMarketOrderParams = getTriggerMarketOrderParams;
|
|
56
|
-
function getTriggerLimitOrderParams(marketIndex, direction, baseAssetAmount, price, triggerPrice, triggerCondition, reduceOnly, discountToken = false, referrer = false, userOrderId = 0) {
|
|
57
|
-
return {
|
|
58
|
-
orderType: types_1.OrderType.TRIGGER_LIMIT,
|
|
59
|
-
userOrderId,
|
|
60
|
-
marketIndex,
|
|
61
|
-
direction,
|
|
62
|
-
quoteAssetAmount: numericConstants_1.ZERO,
|
|
63
|
-
baseAssetAmount,
|
|
64
|
-
price,
|
|
65
|
-
reduceOnly,
|
|
66
|
-
postOnly: false,
|
|
67
|
-
immediateOrCancel: false,
|
|
68
|
-
positionLimit: numericConstants_1.ZERO,
|
|
69
|
-
padding0: true,
|
|
70
|
-
padding1: numericConstants_1.ZERO,
|
|
71
|
-
optionalAccounts: {
|
|
72
|
-
discountToken,
|
|
73
|
-
referrer,
|
|
74
|
-
},
|
|
75
|
-
triggerCondition,
|
|
76
|
-
triggerPrice,
|
|
77
|
-
oraclePriceOffset: numericConstants_1.ZERO,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
exports.getTriggerLimitOrderParams = getTriggerLimitOrderParams;
|
|
81
|
-
function getMarketOrderParams(marketIndex, direction, quoteAssetAmount, baseAssetAmount, reduceOnly, price = numericConstants_1.ZERO, discountToken = false, referrer = false) {
|
|
82
|
-
if (baseAssetAmount.eq(numericConstants_1.ZERO) && quoteAssetAmount.eq(numericConstants_1.ZERO)) {
|
|
83
|
-
throw Error('baseAssetAmount or quoteAssetAmount must be zero');
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
orderType: types_1.OrderType.MARKET,
|
|
87
|
-
userOrderId: 0,
|
|
88
|
-
marketIndex,
|
|
89
|
-
direction,
|
|
90
|
-
quoteAssetAmount,
|
|
91
|
-
baseAssetAmount,
|
|
92
|
-
price,
|
|
93
|
-
reduceOnly,
|
|
94
|
-
postOnly: false,
|
|
95
|
-
immediateOrCancel: false,
|
|
96
|
-
positionLimit: numericConstants_1.ZERO,
|
|
97
|
-
padding0: true,
|
|
98
|
-
padding1: numericConstants_1.ZERO,
|
|
99
|
-
optionalAccounts: {
|
|
100
|
-
discountToken,
|
|
101
|
-
referrer,
|
|
102
|
-
},
|
|
103
|
-
triggerCondition: types_1.OrderTriggerCondition.ABOVE,
|
|
104
|
-
triggerPrice: numericConstants_1.ZERO,
|
|
105
|
-
oraclePriceOffset: numericConstants_1.ZERO,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
exports.getMarketOrderParams = getMarketOrderParams;
|
|
109
|
-
//# sourceMappingURL=orderParams.js.map
|
package/src/orderParams.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orderParams.js","sourceRoot":"","sources":["orderParams.ts"],"names":[],"mappings":"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"}
|
package/src/orders.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateBaseAssetAmountUserCanExecute = exports.calculateAmountToTradeForTriggerLimit = exports.calculateAmountToTradeForLimit = exports.calculateBaseAssetAmountMarketCanExecute = exports.calculateNewStateAfterOrder = void 0;
|
|
4
|
-
const types_1 = require("./types");
|
|
5
|
-
const _1 = require(".");
|
|
6
|
-
const market_1 = require("./math/market");
|
|
7
|
-
const numericConstants_1 = require("./constants/numericConstants");
|
|
8
|
-
const amm_1 = require("./math/amm");
|
|
9
|
-
const position_1 = require("./math/position");
|
|
10
|
-
function calculateNewStateAfterOrder(userAccount, userPosition, market, order) {
|
|
11
|
-
if ((0, types_1.isVariant)(order.status, 'init')) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
const baseAssetAmountToTrade = calculateBaseAssetAmountMarketCanExecute(market, order);
|
|
15
|
-
if (baseAssetAmountToTrade.lt(market.amm.minimumBaseAssetTradeSize)) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
const userAccountAfter = Object.assign({}, userAccount);
|
|
19
|
-
const userPositionAfter = Object.assign({}, userPosition);
|
|
20
|
-
const currentPositionDirection = (0, position_1.positionCurrentDirection)(userPosition);
|
|
21
|
-
const increasePosition = userPosition.baseAssetAmount.eq(numericConstants_1.ZERO) ||
|
|
22
|
-
isSameDirection(order.direction, currentPositionDirection);
|
|
23
|
-
if (increasePosition) {
|
|
24
|
-
const marketAfter = (0, market_1.calculateNewMarketAfterTrade)(baseAssetAmountToTrade, order.direction, market);
|
|
25
|
-
const { quoteAssetAmountSwapped, baseAssetAmountSwapped } = calculateAmountSwapped(market, marketAfter);
|
|
26
|
-
userPositionAfter.baseAssetAmount = userPositionAfter.baseAssetAmount.add(baseAssetAmountSwapped);
|
|
27
|
-
userPositionAfter.quoteAssetAmount = userPositionAfter.quoteAssetAmount.add(quoteAssetAmountSwapped);
|
|
28
|
-
return [userAccountAfter, userPositionAfter, marketAfter];
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const reversePosition = baseAssetAmountToTrade.gt(userPosition.baseAssetAmount.abs());
|
|
32
|
-
if (reversePosition) {
|
|
33
|
-
const intermediateMarket = (0, market_1.calculateNewMarketAfterTrade)(userPosition.baseAssetAmount, (0, position_1.findDirectionToClose)(userPosition), market);
|
|
34
|
-
const { quoteAssetAmountSwapped: baseAssetValue } = calculateAmountSwapped(market, intermediateMarket);
|
|
35
|
-
let pnl;
|
|
36
|
-
if ((0, types_1.isVariant)(currentPositionDirection, 'long')) {
|
|
37
|
-
pnl = baseAssetValue.sub(userPosition.quoteAssetAmount);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
pnl = userPosition.quoteAssetAmount.sub(baseAssetValue);
|
|
41
|
-
}
|
|
42
|
-
userAccountAfter.collateral = userAccountAfter.collateral.add(pnl);
|
|
43
|
-
const baseAssetAmountLeft = baseAssetAmountToTrade.sub(userPosition.baseAssetAmount.abs());
|
|
44
|
-
const marketAfter = (0, market_1.calculateNewMarketAfterTrade)(baseAssetAmountLeft, order.direction, intermediateMarket);
|
|
45
|
-
const { quoteAssetAmountSwapped, baseAssetAmountSwapped } = calculateAmountSwapped(intermediateMarket, marketAfter);
|
|
46
|
-
userPositionAfter.quoteAssetAmount = quoteAssetAmountSwapped;
|
|
47
|
-
userPositionAfter.baseAssetAmount = baseAssetAmountSwapped;
|
|
48
|
-
return [userAccountAfter, userPositionAfter, marketAfter];
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
const marketAfter = (0, market_1.calculateNewMarketAfterTrade)(baseAssetAmountToTrade, order.direction, market);
|
|
52
|
-
const { quoteAssetAmountSwapped: baseAssetValue, baseAssetAmountSwapped, } = calculateAmountSwapped(market, marketAfter);
|
|
53
|
-
const costBasisRealized = userPosition.quoteAssetAmount
|
|
54
|
-
.mul(baseAssetAmountSwapped.abs())
|
|
55
|
-
.div(userPosition.baseAssetAmount.abs());
|
|
56
|
-
let pnl;
|
|
57
|
-
if ((0, types_1.isVariant)(currentPositionDirection, 'long')) {
|
|
58
|
-
pnl = baseAssetValue.sub(costBasisRealized);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
pnl = costBasisRealized.sub(baseAssetValue);
|
|
62
|
-
}
|
|
63
|
-
userAccountAfter.collateral = userAccountAfter.collateral.add(pnl);
|
|
64
|
-
userPositionAfter.baseAssetAmount = userPositionAfter.baseAssetAmount.add(baseAssetAmountSwapped);
|
|
65
|
-
userPositionAfter.quoteAssetAmount =
|
|
66
|
-
userPositionAfter.quoteAssetAmount.sub(costBasisRealized);
|
|
67
|
-
return [userAccountAfter, userPositionAfter, marketAfter];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.calculateNewStateAfterOrder = calculateNewStateAfterOrder;
|
|
72
|
-
function calculateAmountSwapped(marketBefore, marketAfter) {
|
|
73
|
-
return {
|
|
74
|
-
quoteAssetAmountSwapped: marketBefore.amm.quoteAssetReserve
|
|
75
|
-
.sub(marketAfter.amm.quoteAssetReserve)
|
|
76
|
-
.abs()
|
|
77
|
-
.mul(marketBefore.amm.pegMultiplier)
|
|
78
|
-
.div(numericConstants_1.PEG_PRECISION)
|
|
79
|
-
.div(numericConstants_1.AMM_TO_QUOTE_PRECISION_RATIO),
|
|
80
|
-
baseAssetAmountSwapped: marketBefore.amm.baseAssetReserve.sub(marketAfter.amm.baseAssetReserve),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function calculateBaseAssetAmountMarketCanExecute(market, order, oraclePriceData) {
|
|
84
|
-
if ((0, types_1.isVariant)(order.orderType, 'limit')) {
|
|
85
|
-
return calculateAmountToTradeForLimit(market, order, oraclePriceData);
|
|
86
|
-
}
|
|
87
|
-
else if ((0, types_1.isVariant)(order.orderType, 'triggerLimit')) {
|
|
88
|
-
return calculateAmountToTradeForTriggerLimit(market, order);
|
|
89
|
-
}
|
|
90
|
-
else if ((0, types_1.isVariant)(order.orderType, 'market')) {
|
|
91
|
-
// should never be a market order queued
|
|
92
|
-
return numericConstants_1.ZERO;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
return calculateAmountToTradeForTriggerMarket(market, order);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
exports.calculateBaseAssetAmountMarketCanExecute = calculateBaseAssetAmountMarketCanExecute;
|
|
99
|
-
function calculateAmountToTradeForLimit(market, order, oraclePriceData) {
|
|
100
|
-
let limitPrice = order.price;
|
|
101
|
-
if (!order.oraclePriceOffset.eq(numericConstants_1.ZERO)) {
|
|
102
|
-
if (!oraclePriceData) {
|
|
103
|
-
throw Error('Cant calculate limit price for oracle offset oracle without OraclePriceData');
|
|
104
|
-
}
|
|
105
|
-
limitPrice = oraclePriceData.price.add(order.oraclePriceOffset);
|
|
106
|
-
}
|
|
107
|
-
const [maxAmountToTrade, direction] = (0, amm_1.calculateMaxBaseAssetAmountToTrade)(market.amm, limitPrice);
|
|
108
|
-
// Check that directions are the same
|
|
109
|
-
const sameDirection = isSameDirection(direction, order.direction);
|
|
110
|
-
if (!sameDirection) {
|
|
111
|
-
return numericConstants_1.ZERO;
|
|
112
|
-
}
|
|
113
|
-
return maxAmountToTrade.gt(order.baseAssetAmount)
|
|
114
|
-
? order.baseAssetAmount
|
|
115
|
-
: maxAmountToTrade;
|
|
116
|
-
}
|
|
117
|
-
exports.calculateAmountToTradeForLimit = calculateAmountToTradeForLimit;
|
|
118
|
-
function calculateAmountToTradeForTriggerLimit(market, order) {
|
|
119
|
-
if (order.baseAssetAmountFilled.eq(numericConstants_1.ZERO)) {
|
|
120
|
-
const baseAssetAmount = calculateAmountToTradeForTriggerMarket(market, order);
|
|
121
|
-
if (baseAssetAmount.eq(numericConstants_1.ZERO)) {
|
|
122
|
-
return numericConstants_1.ZERO;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return calculateAmountToTradeForLimit(market, order);
|
|
126
|
-
}
|
|
127
|
-
exports.calculateAmountToTradeForTriggerLimit = calculateAmountToTradeForTriggerLimit;
|
|
128
|
-
function isSameDirection(firstDirection, secondDirection) {
|
|
129
|
-
return (((0, types_1.isVariant)(firstDirection, 'long') && (0, types_1.isVariant)(secondDirection, 'long')) ||
|
|
130
|
-
((0, types_1.isVariant)(firstDirection, 'short') && (0, types_1.isVariant)(secondDirection, 'short')));
|
|
131
|
-
}
|
|
132
|
-
function calculateAmountToTradeForTriggerMarket(market, order) {
|
|
133
|
-
return isTriggerConditionSatisfied(market, order)
|
|
134
|
-
? order.baseAssetAmount
|
|
135
|
-
: numericConstants_1.ZERO;
|
|
136
|
-
}
|
|
137
|
-
function isTriggerConditionSatisfied(market, order) {
|
|
138
|
-
const markPrice = (0, market_1.calculateMarkPrice)(market);
|
|
139
|
-
if ((0, types_1.isVariant)(order.triggerCondition, 'above')) {
|
|
140
|
-
return markPrice.gt(order.triggerPrice);
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
return markPrice.lt(order.triggerPrice);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
function calculateBaseAssetAmountUserCanExecute(market, order, user) {
|
|
147
|
-
const maxLeverage = user.getMaxLeverage(order.marketIndex, 'Initial');
|
|
148
|
-
const freeCollateral = user.getFreeCollateral();
|
|
149
|
-
let quoteAssetAmount;
|
|
150
|
-
if ((0, _1.isOrderRiskIncreasingInSameDirection)(user, order)) {
|
|
151
|
-
quoteAssetAmount = freeCollateral.mul(maxLeverage).div(_1.TEN_THOUSAND);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
const position = user.getUserPosition(order.marketIndex) ||
|
|
155
|
-
user.getEmptyPosition(order.marketIndex);
|
|
156
|
-
const positionValue = (0, _1.calculateBaseAssetValue)(market, position);
|
|
157
|
-
quoteAssetAmount = freeCollateral
|
|
158
|
-
.mul(maxLeverage)
|
|
159
|
-
.div(_1.TEN_THOUSAND)
|
|
160
|
-
.add(positionValue.mul(numericConstants_1.TWO));
|
|
161
|
-
}
|
|
162
|
-
if (quoteAssetAmount.lte(numericConstants_1.ZERO)) {
|
|
163
|
-
return numericConstants_1.ZERO;
|
|
164
|
-
}
|
|
165
|
-
const baseAssetReservesBefore = market.amm.baseAssetReserve;
|
|
166
|
-
const [_, baseAssetReservesAfter] = (0, _1.calculateAmmReservesAfterSwap)(market.amm, 'quote', quoteAssetAmount, (0, types_1.isVariant)(order.direction, 'long')
|
|
167
|
-
? types_1.SwapDirection.ADD
|
|
168
|
-
: types_1.SwapDirection.REMOVE);
|
|
169
|
-
return baseAssetReservesBefore.sub(baseAssetReservesAfter).abs();
|
|
170
|
-
}
|
|
171
|
-
exports.calculateBaseAssetAmountUserCanExecute = calculateBaseAssetAmountUserCanExecute;
|
|
172
|
-
//# sourceMappingURL=orders.js.map
|
package/src/orders.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["orders.ts"],"names":[],"mappings":"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"}
|
package/src/tx/retryTxSender.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RetryTxSender = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const bs58_1 = __importDefault(require("bs58"));
|
|
9
|
-
const DEFAULT_TIMEOUT = 35000;
|
|
10
|
-
const DEFAULT_RETRY = 8000;
|
|
11
|
-
class RetryTxSender {
|
|
12
|
-
constructor(provider, timeout, retrySleep) {
|
|
13
|
-
this.provider = provider;
|
|
14
|
-
this.timeout = timeout !== null && timeout !== void 0 ? timeout : DEFAULT_TIMEOUT;
|
|
15
|
-
this.retrySleep = retrySleep !== null && retrySleep !== void 0 ? retrySleep : DEFAULT_RETRY;
|
|
16
|
-
}
|
|
17
|
-
async send(tx, additionalSigners, opts) {
|
|
18
|
-
if (additionalSigners === undefined) {
|
|
19
|
-
additionalSigners = [];
|
|
20
|
-
}
|
|
21
|
-
if (opts === undefined) {
|
|
22
|
-
opts = this.provider.opts;
|
|
23
|
-
}
|
|
24
|
-
await this.prepareTx(tx, additionalSigners, opts);
|
|
25
|
-
const rawTransaction = tx.serialize();
|
|
26
|
-
const startTime = this.getTimestamp();
|
|
27
|
-
const txid = await this.provider.connection.sendRawTransaction(rawTransaction, opts);
|
|
28
|
-
let done = false;
|
|
29
|
-
const resolveReference = {
|
|
30
|
-
resolve: undefined,
|
|
31
|
-
};
|
|
32
|
-
const stopWaiting = () => {
|
|
33
|
-
done = true;
|
|
34
|
-
if (resolveReference.resolve) {
|
|
35
|
-
resolveReference.resolve();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
(async () => {
|
|
39
|
-
while (!done && this.getTimestamp() - startTime < this.timeout) {
|
|
40
|
-
await this.sleep(resolveReference);
|
|
41
|
-
if (!done) {
|
|
42
|
-
this.provider.connection
|
|
43
|
-
.sendRawTransaction(rawTransaction, opts)
|
|
44
|
-
.catch((e) => {
|
|
45
|
-
console.error(e);
|
|
46
|
-
stopWaiting();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
})();
|
|
51
|
-
try {
|
|
52
|
-
await this.confirmTransaction(txid, opts.commitment);
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
console.error(e);
|
|
56
|
-
throw e;
|
|
57
|
-
}
|
|
58
|
-
finally {
|
|
59
|
-
stopWaiting();
|
|
60
|
-
}
|
|
61
|
-
return txid;
|
|
62
|
-
}
|
|
63
|
-
async prepareTx(tx, additionalSigners, opts) {
|
|
64
|
-
tx.feePayer = this.provider.wallet.publicKey;
|
|
65
|
-
tx.recentBlockhash = (await this.provider.connection.getRecentBlockhash(opts.preflightCommitment)).blockhash;
|
|
66
|
-
await this.provider.wallet.signTransaction(tx);
|
|
67
|
-
additionalSigners
|
|
68
|
-
.filter((s) => s !== undefined)
|
|
69
|
-
.forEach((kp) => {
|
|
70
|
-
tx.partialSign(kp);
|
|
71
|
-
});
|
|
72
|
-
return tx;
|
|
73
|
-
}
|
|
74
|
-
async confirmTransaction(signature, commitment) {
|
|
75
|
-
let decodedSignature;
|
|
76
|
-
try {
|
|
77
|
-
decodedSignature = bs58_1.default.decode(signature);
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
throw new Error('signature must be base58 encoded: ' + signature);
|
|
81
|
-
}
|
|
82
|
-
(0, assert_1.default)(decodedSignature.length === 64, 'signature has invalid length');
|
|
83
|
-
const start = Date.now();
|
|
84
|
-
const subscriptionCommitment = commitment || this.provider.opts.commitment;
|
|
85
|
-
let subscriptionId;
|
|
86
|
-
let response = null;
|
|
87
|
-
const confirmPromise = new Promise((resolve, reject) => {
|
|
88
|
-
try {
|
|
89
|
-
subscriptionId = this.provider.connection.onSignature(signature, (result, context) => {
|
|
90
|
-
subscriptionId = undefined;
|
|
91
|
-
response = {
|
|
92
|
-
context,
|
|
93
|
-
value: result,
|
|
94
|
-
};
|
|
95
|
-
resolve(null);
|
|
96
|
-
}, subscriptionCommitment);
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
reject(err);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
try {
|
|
103
|
-
await this.promiseTimeout(confirmPromise, this.timeout);
|
|
104
|
-
}
|
|
105
|
-
finally {
|
|
106
|
-
if (subscriptionId) {
|
|
107
|
-
this.provider.connection.removeSignatureListener(subscriptionId);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (response === null) {
|
|
111
|
-
const duration = (Date.now() - start) / 1000;
|
|
112
|
-
throw new Error(`Transaction was not confirmed in ${duration.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${signature} using the Solana Explorer or CLI tools.`);
|
|
113
|
-
}
|
|
114
|
-
return response;
|
|
115
|
-
}
|
|
116
|
-
getTimestamp() {
|
|
117
|
-
return new Date().getTime();
|
|
118
|
-
}
|
|
119
|
-
async sleep(reference) {
|
|
120
|
-
return new Promise((resolve) => {
|
|
121
|
-
reference.resolve = resolve;
|
|
122
|
-
setTimeout(resolve, this.retrySleep);
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
promiseTimeout(promise, timeoutMs) {
|
|
126
|
-
let timeoutId;
|
|
127
|
-
const timeoutPromise = new Promise((resolve) => {
|
|
128
|
-
timeoutId = setTimeout(() => resolve(null), timeoutMs);
|
|
129
|
-
});
|
|
130
|
-
return Promise.race([promise, timeoutPromise]).then((result) => {
|
|
131
|
-
clearTimeout(timeoutId);
|
|
132
|
-
return result;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
exports.RetryTxSender = RetryTxSender;
|
|
137
|
-
//# sourceMappingURL=retryTxSender.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retryTxSender.js","sourceRoot":"","sources":["retryTxSender.ts"],"names":[],"mappings":"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"}
|
package/src/types.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TradeSide = exports.isVariant = exports.OrderTriggerCondition = exports.OrderAction = exports.OrderDiscountTier = exports.OrderStatus = exports.OrderType = exports.OracleSource = exports.PositionDirection = exports.SwapDirection = void 0;
|
|
4
|
-
// # Utility Types / Enums / Constants
|
|
5
|
-
class SwapDirection {
|
|
6
|
-
}
|
|
7
|
-
exports.SwapDirection = SwapDirection;
|
|
8
|
-
SwapDirection.ADD = { add: {} };
|
|
9
|
-
SwapDirection.REMOVE = { remove: {} };
|
|
10
|
-
class PositionDirection {
|
|
11
|
-
}
|
|
12
|
-
exports.PositionDirection = PositionDirection;
|
|
13
|
-
PositionDirection.LONG = { long: {} };
|
|
14
|
-
PositionDirection.SHORT = { short: {} };
|
|
15
|
-
class OracleSource {
|
|
16
|
-
}
|
|
17
|
-
exports.OracleSource = OracleSource;
|
|
18
|
-
OracleSource.PYTH = { pyth: {} };
|
|
19
|
-
OracleSource.SWITCHBOARD = { switchboard: {} };
|
|
20
|
-
class OrderType {
|
|
21
|
-
}
|
|
22
|
-
exports.OrderType = OrderType;
|
|
23
|
-
OrderType.LIMIT = { limit: {} };
|
|
24
|
-
OrderType.TRIGGER_MARKET = { triggerMarket: {} };
|
|
25
|
-
OrderType.TRIGGER_LIMIT = { triggerLimit: {} };
|
|
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
|
-
var TradeSide;
|
|
56
|
-
(function (TradeSide) {
|
|
57
|
-
TradeSide[TradeSide["None"] = 0] = "None";
|
|
58
|
-
TradeSide[TradeSide["Buy"] = 1] = "Buy";
|
|
59
|
-
TradeSide[TradeSide["Sell"] = 2] = "Sell";
|
|
60
|
-
})(TradeSide = exports.TradeSide || (exports.TradeSide = {}));
|
|
61
|
-
//# sourceMappingURL=types.js.map
|
package/src/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAGA,sCAAsC;AACtC,MAAa,aAAa;;AAA1B,sCAGC;AAFgB,iBAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAClB,oBAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAGzC,MAAa,iBAAiB;;AAA9B,8CAGC;AAFgB,sBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACpB,uBAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAGvC,MAAa,YAAY;;AAAzB,oCAGC;AAFgB,iBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACpB,wBAAW,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAGnD,MAAa,SAAS;;AAAtB,8BAKC;AAJgB,eAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtB,wBAAc,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;AACvC,uBAAa,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACrC,gBAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAGzC,MAAa,WAAW;;AAAxB,kCAGC;AAFgB,gBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACpB,gBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAGrC,MAAa,iBAAiB;;AAA9B,8CAMC;AALgB,sBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACpB,uBAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtB,wBAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,uBAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtB,wBAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAGzC,MAAa,WAAW;;AAAxB,kCAIC;AAHgB,iBAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtB,kBAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,gBAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAGrC,MAAa,qBAAqB;;AAAlC,sDAGC;AAFgB,2BAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtB,2BAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAGvC,SAAgB,SAAS,CAAC,MAAe,EAAE,IAAY;IACtD,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAFD,8BAEC;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,yCAAQ,CAAA;IACR,uCAAO,CAAA;IACP,yCAAQ,CAAA;AACT,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB"}
|
package/src/wallet.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Wallet = void 0;
|
|
4
|
-
class Wallet {
|
|
5
|
-
constructor(payer) {
|
|
6
|
-
this.payer = payer;
|
|
7
|
-
}
|
|
8
|
-
async signTransaction(tx) {
|
|
9
|
-
tx.partialSign(this.payer);
|
|
10
|
-
return tx;
|
|
11
|
-
}
|
|
12
|
-
async signAllTransactions(txs) {
|
|
13
|
-
return txs.map((t) => {
|
|
14
|
-
t.partialSign(this.payer);
|
|
15
|
-
return t;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
get publicKey() {
|
|
19
|
-
return this.payer.publicKey;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.Wallet = Wallet;
|
|
23
|
-
//# sourceMappingURL=wallet.js.map
|
package/src/wallet.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["wallet.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAClB,YAAqB,KAAc;QAAd,UAAK,GAAL,KAAK,CAAS;IAAG,CAAC;IAEvC,KAAK,CAAC,eAAe,CAAC,EAAe;QACpC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAkB;QAC3C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7B,CAAC;CACD;AAlBD,wBAkBC"}
|