@drift-labs/sdk 0.1.29-master.0 → 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.
- package/lib/accounts/bulkAccountLoader.js +5 -0
- package/lib/idl/clearing_house.json +12 -2
- package/lib/math/amm.d.ts +0 -18
- package/lib/math/amm.js +1 -88
- package/lib/math/repeg.d.ts +32 -0
- package/lib/math/repeg.js +178 -0
- package/package.json +1 -1
- package/src/accounts/bulkAccountLoader.ts +4 -0
- package/src/idl/clearing_house.json +12 -2
- package/src/math/amm.ts +2 -127
- package/src/math/repeg.ts +253 -0
- 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/index.js +0 -56
- package/src/index.js.map +0 -1
- package/src/mockUSDCFaucet.js +0 -143
- package/src/mockUSDCFaucet.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/types.js +0 -61
- package/src/types.js.map +0 -1
- package/src/wallet.js +0 -23
- package/src/wallet.js.map +0 -1
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"}
|
package/src/mockUSDCFaucet.js
DELETED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,kDAA+D;AAC/D,iDAM2B;AAC3B,6CASyB;AAEzB,wFAA4D;AAG5D,MAAa,cAAc;IAO1B,YACC,UAAsB,EACtB,MAAe,EACf,SAAoB,EACpB,IAAqB;QAErB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,iBAAQ,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CAAC,+BAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK,CAAC,uCAAuC;QAGnD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC9C,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACjE,IAAI,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;IACH,CAAC;IAGM,KAAK,CAAC,+BAA+B;QAC3C,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACtC,OAAO,IAAI,CAAC,4BAA4B,CAAC;SACzC;QACD,IAAI,CAAC,4BAA4B,GAAG,CACnC,MAAM,IAAI,CAAC,uCAAuC,EAAE,CACpD,CAAC,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACzE,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAC5C,CAAC;QACF,IAAI,uBAAuB,CAAC,KAAK,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC9C;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,uBAAuB,GAAG,uBAAa,CAAC,aAAa,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YACjC,gBAAgB,EAAE,YAAY,CAAC,SAAS;YACxC,QAAQ,EAAE,MAAM,iBAAK,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC;YACrE,KAAK,EAAE,sBAAU,CAAC,IAAI;YACtB,SAAS,EAAE,4BAAgB;SAC3B,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GACzC,MAAM,mBAAS,CAAC,kBAAkB,CACjC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EACnC,IAAI,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;QAEH,MAAM,cAAc,GAAG,iBAAK,CAAC,yBAAyB,CACrD,4BAAgB,EAChB,YAAY,CAAC,SAAS,EACtB,CAAC,EACD,aAAa,EACb,IAAI,CACJ,CAAC;QAEF,MAAM,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,GAC7D,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;QACtD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,wBAAwB,EAAE;YAClE,QAAQ,EAAE;gBACT,mBAAmB,EAAE,4BAA4B;gBACjD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC5B,WAAW,EAAE,YAAY,CAAC,SAAS;gBACnC,IAAI,EAAE,4BAAkB;gBACxB,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;aAClD;YACD,YAAY,EAAE,CAAC,uBAAuB,EAAE,cAAc,CAAC;YACvD,OAAO,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAC1D,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAC5C,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACtB,gBAA2B,EAC3B,MAAU;QAEV,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;YAChD,QAAQ,EAAE;gBACT,mBAAmB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;gBACjE,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,gBAAgB;gBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,4BAAgB;aAC9B;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qCAAqC,CACjD,aAAwB,EACxB,MAAU;QAEV,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,QAAQ,CAAC,GACpE,MAAM,IAAI,CAAC,iDAAiD,CAC3D,aAAa,EACb,MAAM,CACN,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,iDAAiD,CAC7D,aAAwB,EACxB,MAAU;QAEV,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAC1E,EAAE,UAAU,EAAE,aAAa,EAAE,CAC7B,CAAC;QAEF,MAAM,yBAAyB,GAC9B,iBAAK,CAAC,uCAAuC,CAC5C,uCAA2B,EAC3B,4BAAgB,EAChB,KAAK,CAAC,IAAI,EACV,uBAAuB,EACvB,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACrB,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YAClE,QAAQ,EAAE;gBACT,mBAAmB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;gBACjE,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,gBAAgB,EAAE,uBAAuB;gBACzC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,4BAAgB;aAC9B;SACD,CAAC,CAAC;QAEH,OAAO,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,gCAAgC,CAAC,KAE7C;QACA,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,OAAO,iBAAK,CAAC,yBAAyB,CACrC,uCAA2B,EAC3B,4BAAgB,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,CAChB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,KAEhC;QACA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAI,iBAAK,CACtB,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,IAAI,EACV,4BAAgB;QAChB,6DAA6D;QAC7D,aAAa;QACb,IAAI,CAAC,QAAQ,CAAC,KAAK,CACnB,CAAC;QAEF,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,KAGpC;QACA,IAAI;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAClE,KAAK,CACL,CAAC;YAEF,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtD,kHAAkH;YAClH,IAAI,CAAC,UAAU,CAAC,eAAe,CAC9B,eAAe,EACf,KAAK,EACJ,YAAY,CAAC,oEAAoE,EAChF,EAAE;gBACH,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC,CACD,CAAC;YAEF,OAAO,IAAI,CAAC;SACZ;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;SACb;IACF,CAAC;CACD;AAtND,wCAsNC"}
|
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/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"}
|