@drift-labs/sdk 0.1.27 → 0.1.29-master.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/lib/accounts/bulkAccountLoader.js +13 -3
  2. package/lib/clearingHouse.d.ts +2 -0
  3. package/lib/clearingHouse.js +24 -0
  4. package/lib/constants/markets.js +12 -1
  5. package/lib/idl/clearing_house.json +66 -2
  6. package/lib/math/amm.d.ts +0 -18
  7. package/lib/math/amm.js +1 -88
  8. package/lib/math/repeg.d.ts +32 -0
  9. package/lib/math/repeg.js +178 -0
  10. package/lib/types.d.ts +3 -0
  11. package/lib/types.js +1 -0
  12. package/package.json +1 -1
  13. package/src/accounts/bulkAccountLoader.ts +14 -4
  14. package/src/clearingHouse.ts +40 -0
  15. package/src/constants/markets.ts +12 -1
  16. package/src/idl/clearing_house.json +66 -2
  17. package/src/math/amm.ts +2 -127
  18. package/src/math/repeg.ts +253 -0
  19. package/src/types.ts +1 -0
  20. package/src/accounts/bulkAccountLoader.js +0 -180
  21. package/src/accounts/bulkAccountLoader.js.map +0 -1
  22. package/src/addresses.js +0 -59
  23. package/src/addresses.js.map +0 -1
  24. package/src/admin.js +0 -443
  25. package/src/admin.js.map +0 -1
  26. package/src/clearingHouse.js +0 -769
  27. package/src/clearingHouse.js.map +0 -1
  28. package/src/clearingHouseUser.js +0 -581
  29. package/src/clearingHouseUser.js.map +0 -1
  30. package/src/config.js +0 -37
  31. package/src/config.js.map +0 -1
  32. package/src/index.js +0 -56
  33. package/src/index.js.map +0 -1
  34. package/src/mockUSDCFaucet.js +0 -143
  35. package/src/mockUSDCFaucet.js.map +0 -1
  36. package/src/orderParams.js +0 -109
  37. package/src/orderParams.js.map +0 -1
  38. package/src/orders.js +0 -172
  39. package/src/orders.js.map +0 -1
  40. package/src/types.js +0 -61
  41. package/src/types.js.map +0 -1
  42. package/src/wallet.js +0 -23
  43. package/src/wallet.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"clearingHouseUser.js","sourceRoot":"","sources":["clearingHouseUser.ts"],"names":[],"mappings":"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"}
package/src/config.js DELETED
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initialize = exports.getConfig = exports.configs = void 0;
4
- exports.configs = {
5
- devnet: {
6
- ENV: 'devnet',
7
- PYTH_ORACLE_MAPPING_ADDRESS: 'BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2',
8
- CLEARING_HOUSE_PROGRAM_ID: 'AsW7LnXB9UA1uec9wi9MctYTgTz7YH9snhxd16GsFaGX',
9
- USDC_MINT_ADDRESS: '8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2',
10
- },
11
- 'mainnet-beta': {
12
- ENV: 'mainnet-beta',
13
- PYTH_ORACLE_MAPPING_ADDRESS: 'AHtgzX45WTKfkPG53L6WYhGEXwQkN1BVknET3sVsLL8J',
14
- CLEARING_HOUSE_PROGRAM_ID: 'dammHkt7jmytvbS3nHTxQNEcP59aE57nxwV21YdqEDN',
15
- USDC_MINT_ADDRESS: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
16
- },
17
- };
18
- let currentConfig = exports.configs.devnet;
19
- const getConfig = () => currentConfig;
20
- exports.getConfig = getConfig;
21
- /**
22
- * Allows customization of the SDK's environment and endpoints. You can pass individual settings to override the settings with your own presets.
23
- *
24
- * Defaults to master environment if you don't use this function.
25
- * @param props
26
- * @returns
27
- */
28
- const initialize = (props) => {
29
- var _a, _b;
30
- //@ts-ignore
31
- if (props.env === 'master')
32
- return { ...exports.configs['devnet'], ...((_a = props.overrideEnv) !== null && _a !== void 0 ? _a : {}) };
33
- currentConfig = { ...exports.configs[props.env], ...((_b = props.overrideEnv) !== null && _b !== void 0 ? _b : {}) };
34
- return currentConfig;
35
- };
36
- exports.initialize = initialize;
37
- //# sourceMappingURL=config.js.map
package/src/config.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":";;;AASa,QAAA,OAAO,GAAuC;IAC1D,MAAM,EAAE;QACP,GAAG,EAAE,QAAQ;QACb,2BAA2B,EAAE,8CAA8C;QAC3E,yBAAyB,EAAE,8CAA8C;QACzE,iBAAiB,EAAE,8CAA8C;KACjE;IACD,cAAc,EAAE;QACf,GAAG,EAAE,cAAc;QACnB,2BAA2B,EAAE,8CAA8C;QAC3E,yBAAyB,EAAE,6CAA6C;QACxE,iBAAiB,EAAE,8CAA8C;KACjE;CACD,CAAC;AAEF,IAAI,aAAa,GAAgB,eAAO,CAAC,MAAM,CAAC;AAEzC,MAAM,SAAS,GAAG,GAAgB,EAAE,CAAC,aAAa,CAAC;AAA7C,QAAA,SAAS,aAAoC;AAE1D;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,CAAC,KAG1B,EAAe,EAAE;;IACjB,YAAY;IACZ,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,EAAE,GAAG,eAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,CAAC;IAE/D,aAAa,GAAG,EAAE,GAAG,eAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,CAAC;IAExE,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}
package/src/index.js DELETED
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.PublicKey = exports.BN = void 0;
14
- const anchor_1 = require("@project-serum/anchor");
15
- Object.defineProperty(exports, "BN", { enumerable: true, get: function () { return anchor_1.BN; } });
16
- const web3_js_1 = require("@solana/web3.js");
17
- Object.defineProperty(exports, "PublicKey", { enumerable: true, get: function () { return web3_js_1.PublicKey; } });
18
- __exportStar(require("./mockUSDCFaucet"), exports);
19
- __exportStar(require("./oracles/types"), exports);
20
- __exportStar(require("./oracles/pythClient"), exports);
21
- __exportStar(require("./oracles/switchboardClient"), exports);
22
- __exportStar(require("./types"), exports);
23
- __exportStar(require("./constants/markets"), exports);
24
- __exportStar(require("./accounts/webSocketClearingHouseAccountSubscriber"), exports);
25
- __exportStar(require("./accounts/bulkAccountLoader"), exports);
26
- __exportStar(require("./accounts/bulkUserSubscription"), exports);
27
- __exportStar(require("./accounts/pollingClearingHouseAccountSubscriber"), exports);
28
- __exportStar(require("./accounts/pollingOracleSubscriber"), exports);
29
- __exportStar(require("./accounts/pollingTokenAccountSubscriber"), exports);
30
- __exportStar(require("./accounts/types"), exports);
31
- __exportStar(require("./addresses"), exports);
32
- __exportStar(require("./admin"), exports);
33
- __exportStar(require("./clearingHouseUser"), exports);
34
- __exportStar(require("./clearingHouse"), exports);
35
- __exportStar(require("./factory/clearingHouse"), exports);
36
- __exportStar(require("./factory/clearingHouseUser"), exports);
37
- __exportStar(require("./factory/oracleClient"), exports);
38
- __exportStar(require("./math/conversion"), exports);
39
- __exportStar(require("./math/funding"), exports);
40
- __exportStar(require("./math/insuranceFund"), exports);
41
- __exportStar(require("./math/market"), exports);
42
- __exportStar(require("./math/position"), exports);
43
- __exportStar(require("./math/amm"), exports);
44
- __exportStar(require("./math/trade"), exports);
45
- __exportStar(require("./math/orders"), exports);
46
- __exportStar(require("./orders"), exports);
47
- __exportStar(require("./orderParams"), exports);
48
- __exportStar(require("./wallet"), exports);
49
- __exportStar(require("./types"), exports);
50
- __exportStar(require("./math/utils"), exports);
51
- __exportStar(require("./config"), exports);
52
- __exportStar(require("./constants/numericConstants"), exports);
53
- __exportStar(require("./tx/retryTxSender"), exports);
54
- __exportStar(require("./util/computeUnits"), exports);
55
- __exportStar(require("./util/tps"), exports);
56
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA2C;AA0ClC,mFA1CA,WAAE,OA0CA;AAzCX,6CAA4C;AAyC/B,0FAzCJ,mBAAS,OAyCI;AAvCtB,mDAAiC;AACjC,kDAAgC;AAChC,uDAAqC;AACrC,8DAA4C;AAC5C,0CAAwB;AACxB,sDAAoC;AACpC,qFAAmE;AACnE,+DAA6C;AAC7C,kEAAgD;AAChD,mFAAiE;AACjE,qEAAmD;AACnD,2EAAyD;AACzD,mDAAiC;AACjC,8CAA4B;AAC5B,0CAAwB;AACxB,sDAAoC;AACpC,kDAAgC;AAChC,0DAAwC;AACxC,8DAA4C;AAC5C,yDAAuC;AACvC,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,gDAA8B;AAC9B,kDAAgC;AAChC,6CAA2B;AAC3B,+CAA6B;AAC7B,gDAA8B;AAC9B,2CAAyB;AACzB,gDAA8B;AAC9B,2CAAyB;AACzB,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,+DAA6C;AAC7C,qDAAmC;AACnC,sDAAoC;AACpC,6CAA2B"}
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.MockUSDCFaucet = void 0;
26
- const anchor = __importStar(require("@project-serum/anchor"));
27
- const anchor_1 = require("@project-serum/anchor");
28
- const spl_token_1 = require("@solana/spl-token");
29
- const web3_js_1 = require("@solana/web3.js");
30
- const mock_usdc_faucet_json_1 = __importDefault(require("./idl/mock_usdc_faucet.json"));
31
- class MockUSDCFaucet {
32
- constructor(connection, wallet, programId, opts) {
33
- this.connection = connection;
34
- this.wallet = wallet;
35
- this.opts = opts || anchor_1.Provider.defaultOptions();
36
- const provider = new anchor_1.Provider(connection, wallet, this.opts);
37
- this.provider = provider;
38
- this.program = new anchor_1.Program(mock_usdc_faucet_json_1.default, programId, provider);
39
- }
40
- async getMockUSDCFaucetStatePublicKeyAndNonce() {
41
- return anchor.web3.PublicKey.findProgramAddress([Buffer.from(anchor.utils.bytes.utf8.encode('mock_usdc_faucet'))], this.program.programId);
42
- }
43
- async getMockUSDCFaucetStatePublicKey() {
44
- if (this.mockUSDCFaucetStatePublicKey) {
45
- return this.mockUSDCFaucetStatePublicKey;
46
- }
47
- this.mockUSDCFaucetStatePublicKey = (await this.getMockUSDCFaucetStatePublicKeyAndNonce())[0];
48
- return this.mockUSDCFaucetStatePublicKey;
49
- }
50
- async initialize() {
51
- const stateAccountRPCResponse = await this.connection.getParsedAccountInfo(await this.getMockUSDCFaucetStatePublicKey());
52
- if (stateAccountRPCResponse.value !== null) {
53
- throw new Error('Faucet already initialized');
54
- }
55
- const fakeUSDCMint = anchor.web3.Keypair.generate();
56
- const createUSDCMintAccountIx = web3_js_1.SystemProgram.createAccount({
57
- fromPubkey: this.wallet.publicKey,
58
- newAccountPubkey: fakeUSDCMint.publicKey,
59
- lamports: await spl_token_1.Token.getMinBalanceRentForExemptMint(this.connection),
60
- space: spl_token_1.MintLayout.span,
61
- programId: spl_token_1.TOKEN_PROGRAM_ID,
62
- });
63
- const [mintAuthority, _mintAuthorityNonce] = await web3_js_1.PublicKey.findProgramAddress([fakeUSDCMint.publicKey.toBuffer()], this.program.programId);
64
- const initUSDCMintIx = spl_token_1.Token.createInitMintInstruction(spl_token_1.TOKEN_PROGRAM_ID, fakeUSDCMint.publicKey, 6, mintAuthority, null);
65
- const [mockUSDCFaucetStatePublicKey, mockUSDCFaucetStateNonce] = await this.getMockUSDCFaucetStatePublicKeyAndNonce();
66
- return await this.program.rpc.initialize(mockUSDCFaucetStateNonce, {
67
- accounts: {
68
- mockUsdcFaucetState: mockUSDCFaucetStatePublicKey,
69
- admin: this.wallet.publicKey,
70
- mintAccount: fakeUSDCMint.publicKey,
71
- rent: web3_js_1.SYSVAR_RENT_PUBKEY,
72
- systemProgram: anchor.web3.SystemProgram.programId,
73
- },
74
- instructions: [createUSDCMintAccountIx, initUSDCMintIx],
75
- signers: [fakeUSDCMint],
76
- });
77
- }
78
- async fetchState() {
79
- return await this.program.account.mockUsdcFaucetState.fetch(await this.getMockUSDCFaucetStatePublicKey());
80
- }
81
- async mintToUser(userTokenAccount, amount) {
82
- const state = await this.fetchState();
83
- return await this.program.rpc.mintToUser(amount, {
84
- accounts: {
85
- mockUsdcFaucetState: await this.getMockUSDCFaucetStatePublicKey(),
86
- mintAccount: state.mint,
87
- userTokenAccount,
88
- mintAuthority: state.mintAuthority,
89
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
90
- },
91
- });
92
- }
93
- async createAssociatedTokenAccountAndMintTo(userPublicKey, amount) {
94
- const [associatedTokenPublicKey, createAssociatedAccountIx, mintToTx] = await this.createAssociatedTokenAccountAndMintToInstructions(userPublicKey, amount);
95
- const tx = new web3_js_1.Transaction().add(createAssociatedAccountIx).add(mintToTx);
96
- const txSig = await this.program.provider.send(tx, [], this.opts);
97
- return [associatedTokenPublicKey, txSig];
98
- }
99
- async createAssociatedTokenAccountAndMintToInstructions(userPublicKey, amount) {
100
- const state = await this.fetchState();
101
- const associateTokenPublicKey = await this.getAssosciatedMockUSDMintAddress({ userPubKey: userPublicKey });
102
- const createAssociatedAccountIx = spl_token_1.Token.createAssociatedTokenAccountInstruction(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, spl_token_1.TOKEN_PROGRAM_ID, state.mint, associateTokenPublicKey, userPublicKey, this.wallet.publicKey);
103
- const mintToIx = await this.program.instruction.mintToUser(amount, {
104
- accounts: {
105
- mockUsdcFaucetState: await this.getMockUSDCFaucetStatePublicKey(),
106
- mintAccount: state.mint,
107
- userTokenAccount: associateTokenPublicKey,
108
- mintAuthority: state.mintAuthority,
109
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
110
- },
111
- });
112
- return [associateTokenPublicKey, createAssociatedAccountIx, mintToIx];
113
- }
114
- async getAssosciatedMockUSDMintAddress(props) {
115
- const state = await this.fetchState();
116
- return spl_token_1.Token.getAssociatedTokenAddress(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, spl_token_1.TOKEN_PROGRAM_ID, state.mint, props.userPubKey);
117
- }
118
- async getTokenAccountInfo(props) {
119
- const assosciatedKey = await this.getAssosciatedMockUSDMintAddress(props);
120
- const state = await this.fetchState();
121
- const token = new spl_token_1.Token(this.connection, state.mint, spl_token_1.TOKEN_PROGRAM_ID,
122
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
123
- // @ts-ignore
124
- this.provider.payer);
125
- return await token.getAccountInfo(assosciatedKey);
126
- }
127
- async subscribeToTokenAccount(props) {
128
- try {
129
- const tokenAccountKey = await this.getAssosciatedMockUSDMintAddress(props);
130
- props.callback(await this.getTokenAccountInfo(props));
131
- // Couldn't find a way to do it using anchor framework subscription, someone on serum discord recommended this way
132
- this.connection.onAccountChange(tokenAccountKey, async (_accountInfo /* accountInfo is a buffer which we don't know how to deserialize */) => {
133
- props.callback(await this.getTokenAccountInfo(props));
134
- });
135
- return true;
136
- }
137
- catch (e) {
138
- return false;
139
- }
140
- }
141
- }
142
- exports.MockUSDCFaucet = MockUSDCFaucet;
143
- //# sourceMappingURL=mockUSDCFaucet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockUSDCFaucet.js","sourceRoot":"","sources":["mockUSDCFaucet.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -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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"}