flash-sdk 1.0.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.
Files changed (98) hide show
  1. package/lib/CustodyAccount.d.ts +29 -0
  2. package/lib/CustodyAccount.d.ts.map +1 -0
  3. package/lib/CustodyAccount.js +64 -0
  4. package/lib/CustodyAccount.js.map +1 -0
  5. package/lib/OraclePrice.d.ts +18 -0
  6. package/lib/OraclePrice.d.ts.map +1 -0
  7. package/lib/OraclePrice.js +83 -0
  8. package/lib/OraclePrice.js.map +1 -0
  9. package/lib/PerpetualsClient.d.ts +1937 -0
  10. package/lib/PerpetualsClient.d.ts.map +1 -0
  11. package/lib/PerpetualsClient.js +1013 -0
  12. package/lib/PerpetualsClient.js.map +1 -0
  13. package/lib/PoolAccount.d.ts +34 -0
  14. package/lib/PoolAccount.d.ts.map +1 -0
  15. package/lib/PoolAccount.js +306 -0
  16. package/lib/PoolAccount.js.map +1 -0
  17. package/lib/PositionAccount.d.ts +26 -0
  18. package/lib/PositionAccount.d.ts.map +1 -0
  19. package/lib/PositionAccount.js +90 -0
  20. package/lib/PositionAccount.js.map +1 -0
  21. package/lib/client/src/CustodyAccount.d.ts +30 -0
  22. package/lib/client/src/CustodyAccount.d.ts.map +1 -0
  23. package/lib/client/src/CustodyAccount.js +64 -0
  24. package/lib/client/src/CustodyAccount.js.map +1 -0
  25. package/lib/client/src/OraclePrice.d.ts +19 -0
  26. package/lib/client/src/OraclePrice.d.ts.map +1 -0
  27. package/lib/client/src/OraclePrice.js +84 -0
  28. package/lib/client/src/OraclePrice.js.map +1 -0
  29. package/lib/client/src/PerpetualsClient.d.ts +1940 -0
  30. package/lib/client/src/PerpetualsClient.d.ts.map +1 -0
  31. package/lib/client/src/PerpetualsClient.js +1013 -0
  32. package/lib/client/src/PerpetualsClient.js.map +1 -0
  33. package/lib/client/src/PoolAccount.d.ts +35 -0
  34. package/lib/client/src/PoolAccount.d.ts.map +1 -0
  35. package/lib/client/src/PoolAccount.js +307 -0
  36. package/lib/client/src/PoolAccount.js.map +1 -0
  37. package/lib/client/src/PositionAccount.d.ts +27 -0
  38. package/lib/client/src/PositionAccount.d.ts.map +1 -0
  39. package/lib/client/src/PositionAccount.js +91 -0
  40. package/lib/client/src/PositionAccount.js.map +1 -0
  41. package/lib/client/src/constants/index.d.ts +12 -0
  42. package/lib/client/src/constants/index.d.ts.map +1 -0
  43. package/lib/client/src/constants/index.js +15 -0
  44. package/lib/client/src/constants/index.js.map +1 -0
  45. package/lib/client/src/index.d.ts +8 -0
  46. package/lib/client/src/index.d.ts.map +1 -0
  47. package/lib/client/src/index.js +24 -0
  48. package/lib/client/src/index.js.map +1 -0
  49. package/lib/client/src/target/types/perpetuals.d.ts +3539 -0
  50. package/lib/client/src/target/types/perpetuals.d.ts.map +1 -0
  51. package/lib/client/src/target/types/perpetuals.js +3541 -0
  52. package/lib/client/src/target/types/perpetuals.js.map +1 -0
  53. package/lib/client/src/types/index.d.ts +188 -0
  54. package/lib/client/src/types/index.d.ts.map +1 -0
  55. package/lib/client/src/types/index.js +57 -0
  56. package/lib/client/src/types/index.js.map +1 -0
  57. package/lib/client/src/utils/helpers.d.ts +8 -0
  58. package/lib/client/src/utils/helpers.d.ts.map +1 -0
  59. package/lib/client/src/utils/helpers.js +152 -0
  60. package/lib/client/src/utils/helpers.js.map +1 -0
  61. package/lib/constants/index.d.ts +11 -0
  62. package/lib/constants/index.d.ts.map +1 -0
  63. package/lib/constants/index.js +14 -0
  64. package/lib/constants/index.js.map +1 -0
  65. package/lib/index.d.ts +8 -0
  66. package/lib/index.d.ts.map +1 -0
  67. package/lib/index.js +24 -0
  68. package/lib/index.js.map +1 -0
  69. package/lib/target/types/perpetuals.d.ts +3538 -0
  70. package/lib/target/types/perpetuals.d.ts.map +1 -0
  71. package/lib/target/types/perpetuals.js +3540 -0
  72. package/lib/target/types/perpetuals.js.map +1 -0
  73. package/lib/tsconfig.tsbuildinfo +1 -0
  74. package/lib/types/index.d.ts +187 -0
  75. package/lib/types/index.d.ts.map +1 -0
  76. package/lib/types/index.js +56 -0
  77. package/lib/types/index.js.map +1 -0
  78. package/lib/utils/helpers.d.ts +7 -0
  79. package/lib/utils/helpers.d.ts.map +1 -0
  80. package/lib/utils/helpers.js +151 -0
  81. package/lib/utils/helpers.js.map +1 -0
  82. package/lib/utils/index.d.ts +7 -0
  83. package/lib/utils/index.js +151 -0
  84. package/package.json +35 -0
  85. package/readme.md +4 -0
  86. package/src/CustodyAccount.ts +90 -0
  87. package/src/OraclePrice.ts +108 -0
  88. package/src/PerpetualsClient.ts +983 -0
  89. package/src/PoolAccount.ts +434 -0
  90. package/src/PositionAccount.ts +57 -0
  91. package/src/constants/index.ts +17 -0
  92. package/src/index.ts +14 -0
  93. package/src/readme.md +4 -0
  94. package/src/target/types/perpetuals.js +3540 -0
  95. package/src/target/types/perpetuals.ts +7075 -0
  96. package/src/types/index.ts +260 -0
  97. package/src/utils/index.ts +169 -0
  98. package/tsconfig.json +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerpetualsClient.js","sourceRoot":"","sources":["../src/PerpetualsClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN } from "@coral-xyz/anchor";
3
+ import { Pool, Side, TokenRatios } from "./types";
4
+ import { PublicKey } from "@solana/web3.js";
5
+ import { CustodyAccount } from "./CustodyAccount";
6
+ import { OraclePrice } from "./OraclePrice";
7
+ import { PositionAccount } from "./PositionAccount";
8
+ export declare class PoolAccount {
9
+ publicKey: PublicKey;
10
+ name: string;
11
+ custodies: PublicKey[];
12
+ ratios: TokenRatios[];
13
+ aumUsd: BN;
14
+ bump: number;
15
+ lpTokenBump: number;
16
+ inceptionTime: BN;
17
+ constructor(publicKey: PublicKey, parseData: Pool);
18
+ static from(publicKey: PublicKey, parseData: Pool): PoolAccount;
19
+ updatePoolData(parseData: Pool): void;
20
+ getTokenId(custodyKey: PublicKey): number;
21
+ getAddLiquidityFee(tokenId: number, amount: BN, custody: CustodyAccount, tokenPrice: OraclePrice): BN;
22
+ getFee(tokenId: number, baseFee: BN, amountAdd: BN, amountRemove: BN, custody: CustodyAccount, tokenPrice: OraclePrice): BN;
23
+ getFeeAmount(fee: BN, amount: BN): BN;
24
+ getExitFee(size: BN, custody: CustodyAccount): BN;
25
+ getLiquidationFee(size: BN, custody: CustodyAccount): BN;
26
+ getCurrentRatio(custody: CustodyAccount, tokenPrice: OraclePrice): BN;
27
+ getExitPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, custody: CustodyAccount): BN;
28
+ getPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, spread: BN): OraclePrice;
29
+ getPnlUsd(position: PositionAccount, token_price: OraclePrice, token_ema_price: OraclePrice, custody: CustodyAccount, curtime: BN, liquidation: boolean): {
30
+ profit: BN;
31
+ loss: BN;
32
+ exitFee: BN;
33
+ };
34
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolAccount.d.ts","sourceRoot":"","sources":["../src/PoolAccount.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAqB,IAAI,EAAE,IAAI,EAAE,WAAW,EAAa,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,WAAW;IAEpB,SAAS,EAAE,SAAS,CAAC;IAIrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,EAAE,CAAC;gBAGN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI;IAKjD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,WAAW;IAK/D,cAAc,CAAC,SAAS,EAAE,IAAI;IAI9B,UAAU,CAAC,UAAU,EAAE,SAAS,GAAI,MAAM;IAQ1C,kBAAkB,CACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,WAAW,GACvB,EAAE;IAYN,MAAM,CACF,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,EAAE,EACb,YAAY,EAAE,EAAE,EAChB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,WAAW,GACvB,EAAE;IAsFN,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EAAE;IAWtC,UAAU,CAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,GAAI,EAAE;IAInD,iBAAiB,CAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,GAAI,EAAE;IAI1D,eAAe,CACX,OAAO,EAAG,cAAc,EACvB,UAAU,EAAG,WAAW,GAC1B,EAAE;IAeL,YAAY,CACR,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,EAC5B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,GACvB,EAAE;IAWP,QAAQ,CACH,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,EAC5B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,EAAE,GACT,WAAW;IA8EhB,SAAS,CACL,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,EAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,EAAE,EACX,WAAW,EAAE,OAAO;;;;;CAqI3B"}
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PoolAccount = void 0;
4
+ var constants_1 = require("./constants");
5
+ var anchor_1 = require("@coral-xyz/anchor");
6
+ var types_1 = require("./types");
7
+ var OraclePrice_1 = require("./OraclePrice");
8
+ var utils_1 = require("./utils");
9
+ var PoolAccount = /** @class */ (function () {
10
+ function PoolAccount(publicKey, parseData) {
11
+ this.publicKey = publicKey;
12
+ Object.assign(this, parseData);
13
+ }
14
+ PoolAccount.from = function (publicKey, parseData) {
15
+ return new PoolAccount(publicKey, parseData);
16
+ };
17
+ PoolAccount.prototype.updatePoolData = function (parseData) {
18
+ Object.assign(this, parseData);
19
+ };
20
+ PoolAccount.prototype.getTokenId = function (custodyKey) {
21
+ return this.custodies.findIndex(function (i) { return i.toBase58() == custodyKey.toBase58(); });
22
+ };
23
+ // loadlpData(lpTokenInfo : Mint){
24
+ // this.lpTokenInfo = lpTokenInfo
25
+ // }
26
+ PoolAccount.prototype.getAddLiquidityFee = function (tokenId, amount, custody, tokenPrice) {
27
+ return this.getFee(tokenId, custody.fees.addLiquidity, amount, new anchor_1.BN(0), custody, tokenPrice);
28
+ };
29
+ // TODO
30
+ PoolAccount.prototype.getFee = function (tokenId, baseFee, amountAdd, amountRemove, custody, tokenPrice) {
31
+ if (custody.fees.mode === types_1.FeesMode.Fixed) {
32
+ // return Self::get_fee_amount(base_fee, std::cmp::max(amount_add, amount_remove));
33
+ return this.getFeeAmount(baseFee, anchor_1.BN.max(amountAdd, amountRemove));
34
+ }
35
+ // === NOW FEE MODE IS FeesMode.Linear
36
+ // if token ratio is improved:
37
+ // fee = base_fee / ratio_fee
38
+ // otherwise:
39
+ // fee = base_fee * ratio_fee
40
+ // where:
41
+ // if new_ratio < ratios.target:
42
+ // ratio_fee = 1 + custody.fees.ratio_mult * (ratios.target - new_ratio) / (ratios.target - ratios.min);
43
+ // otherwise:
44
+ // ratio_fee = 1 + custody.fees.ratio_mult * (new_ratio - ratios.target) / (ratios.max - ratios.target);
45
+ var ratios = this.ratios[tokenId];
46
+ var current_ratio = this.getCurrentRatio(custody, tokenPrice);
47
+ throw Error("TODODO");
48
+ // let new_ratio = self.get_new_ratio(amount_add, amount_remove, custody, token_price)?;
49
+ // let improved = match new_ratio.cmp(&ratios.target) {
50
+ // Ordering::Less => {
51
+ // new_ratio > current_ratio
52
+ // || (current_ratio > ratios.target
53
+ // && current_ratio - ratios.target > ratios.target - new_ratio)
54
+ // }
55
+ // Ordering::Greater => {
56
+ // new_ratio < current_ratio
57
+ // || (current_ratio < ratios.target
58
+ // && ratios.target - current_ratio > new_ratio - ratios.target)
59
+ // }
60
+ // Ordering::Equal => current_ratio != ratios.target,
61
+ // };
62
+ // let ratio_fee = if new_ratio <= ratios.target {
63
+ // if ratios.target == ratios.min {
64
+ // Perpetuals::BPS_POWER
65
+ // } else {
66
+ // math::checked_add(
67
+ // Perpetuals::BPS_POWER,
68
+ // math::checked_div(
69
+ // math::checked_mul(
70
+ // custody.fees.ratio_mult as u128,
71
+ // math::checked_sub(ratios.target, new_ratio)? as u128,
72
+ // )?,
73
+ // math::checked_sub(ratios.target, ratios.min)? as u128,
74
+ // )?,
75
+ // )?
76
+ // }
77
+ // } else if ratios.target == ratios.max {
78
+ // Perpetuals::BPS_POWER
79
+ // } else {
80
+ // math::checked_add(
81
+ // Perpetuals::BPS_POWER,
82
+ // math::checked_div(
83
+ // math::checked_mul(
84
+ // custody.fees.ratio_mult as u128,
85
+ // math::checked_sub(new_ratio, ratios.target)? as u128,
86
+ // )?,
87
+ // math::checked_sub(ratios.max, ratios.target)? as u128,
88
+ // )?,
89
+ // )?
90
+ // };
91
+ // let fee = if improved {
92
+ // math::checked_div(
93
+ // math::checked_mul(base_fee as u128, Perpetuals::BPS_POWER)?,
94
+ // ratio_fee,
95
+ // )?
96
+ // } else {
97
+ // math::checked_div(
98
+ // math::checked_mul(base_fee as u128, ratio_fee)?,
99
+ // Perpetuals::BPS_POWER,
100
+ // )?
101
+ // };
102
+ // Self::get_fee_amount(
103
+ // math::checked_as_u64(fee)?,
104
+ // std::cmp::max(amount_add, amount_remove),
105
+ // )
106
+ return new anchor_1.BN(0);
107
+ };
108
+ PoolAccount.prototype.getFeeAmount = function (fee, amount) {
109
+ if (fee.isZero() || amount.isZero()) {
110
+ return new anchor_1.BN(0);
111
+ }
112
+ return (0, utils_1.checkedCeilDiv)((amount.mul(fee)), new anchor_1.BN(constants_1.BPS_POWER));
113
+ };
114
+ PoolAccount.prototype.getExitFee = function (size, custody) {
115
+ return this.getFeeAmount(custody.fees.closePosition, size);
116
+ };
117
+ PoolAccount.prototype.getLiquidationFee = function (size, custody) {
118
+ return this.getFeeAmount(custody.fees.closePosition, size);
119
+ };
120
+ PoolAccount.prototype.getCurrentRatio = function (custody, tokenPrice) {
121
+ if (this.aumUsd.isZero()) {
122
+ return new anchor_1.BN(0);
123
+ }
124
+ // let ratio = math::checked_as_u64(math::checked_div(
125
+ // math::checked_mul(
126
+ // token_price.get_asset_amount_usd(custody.assets.owned, custody.decimals)? as u128,
127
+ // Perpetuals::BPS_POWER,
128
+ // )?,
129
+ // self.aum_usd,
130
+ // )?)?;
131
+ // Ok(std::cmp::min(ratio, Perpetuals::BPS_POWER as u64))
132
+ };
133
+ PoolAccount.prototype.getExitPrice = function (token_price, token_ema_price, side, custody) {
134
+ var price = this.getPrice(token_price, token_ema_price, ((0, types_1.isVariant)(side, 'long')) ? types_1.Side.Short : types_1.Side.Long, ((0, types_1.isVariant)(side, 'long')) ? custody.pricing.tradeSpreadShort : custody.pricing.tradeSpreadLong);
135
+ return price.scale_to_exponent(new anchor_1.BN(-1 * constants_1.PRICE_DECIMALS)).price;
136
+ };
137
+ PoolAccount.prototype.getPrice = function (token_price, token_ema_price, side, spread) {
138
+ if ((0, types_1.isVariant)(side, 'long')) {
139
+ console.log("inside long");
140
+ var max_price = void 0;
141
+ if (token_price.cmp(token_ema_price)) {
142
+ max_price = token_price;
143
+ }
144
+ else {
145
+ max_price = token_ema_price;
146
+ }
147
+ ;
148
+ // Ok(OraclePrice {
149
+ // price: math::checked_add(
150
+ // max_price.price,
151
+ // math::checked_decimal_ceil_mul(
152
+ // max_price.price,
153
+ // max_price.exponent,
154
+ // spread,
155
+ // -(Perpetuals::BPS_DECIMALS as i32),
156
+ // max_price.exponent,
157
+ // )?,
158
+ // )?,
159
+ // exponent: max_price.exponent,
160
+ // })
161
+ var x = (0, utils_1.checkedDecimalCeilMul)(max_price.price, max_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), max_price.exponent);
162
+ console.log("x:", x);
163
+ return new OraclePrice_1.OraclePrice({
164
+ price: max_price.price.add((0, utils_1.checkedDecimalCeilMul)(max_price.price, max_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), max_price.exponent)),
165
+ exponent: max_price.exponent,
166
+ });
167
+ }
168
+ else {
169
+ console.log("inside short ");
170
+ var min_price = void 0;
171
+ if (token_price.cmp(token_ema_price)) {
172
+ min_price = token_ema_price;
173
+ }
174
+ else {
175
+ min_price = token_price;
176
+ }
177
+ ;
178
+ console.log("min_price:", min_price.price.toString());
179
+ var spread_i = (0, utils_1.checkedDecimalMul)(min_price.price, min_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), min_price.exponent);
180
+ console.log("spread_i:", spread_i.toString());
181
+ var price = void 0;
182
+ if (spread_i.lt(min_price.price)) {
183
+ price = min_price.price.sub(spread_i);
184
+ }
185
+ else {
186
+ price = constants_1.BN_ZERO;
187
+ }
188
+ ;
189
+ return new OraclePrice_1.OraclePrice({
190
+ price: price,
191
+ exponent: min_price.exponent
192
+ });
193
+ }
194
+ };
195
+ PoolAccount.prototype.getPnlUsd = function (position, token_price, token_ema_price, custody, curtime, liquidation) {
196
+ if (position.sizeUsd.isZero() || position.price.isZero()) {
197
+ return {
198
+ profit: constants_1.BN_ZERO,
199
+ loss: constants_1.BN_ZERO,
200
+ exitFee: constants_1.BN_ZERO
201
+ };
202
+ }
203
+ var min_price;
204
+ if (token_price.cmp(token_ema_price)) {
205
+ min_price = token_price;
206
+ }
207
+ else {
208
+ min_price = token_ema_price;
209
+ }
210
+ ;
211
+ var exit_price = this.getExitPrice(token_price, token_ema_price, position.side, custody);
212
+ console.log("exit_price:", exit_price, exit_price === null || exit_price === void 0 ? void 0 : exit_price.toString());
213
+ var size = token_ema_price.getTokenAmount(position.sizeUsd, custody.decimals);
214
+ console.log("size:", size, size === null || size === void 0 ? void 0 : size.toString());
215
+ var exit_fee;
216
+ if (liquidation) {
217
+ exit_fee = this.getLiquidationFee(size, custody);
218
+ }
219
+ else {
220
+ exit_fee = this.getExitFee(size, custody);
221
+ }
222
+ ;
223
+ console.log("exit_fee:", exit_fee.toString());
224
+ var exit_fee_usd = token_ema_price.getAssetAmountUsd(exit_fee, custody.decimals);
225
+ console.log("exit_fee_usd:", exit_fee_usd.toString());
226
+ var interest_usd = custody.getInterestAmountUsd(position, curtime);
227
+ console.log("interest_usd:", interest_usd.toString());
228
+ var unrealized_loss_usd = (exit_fee_usd.add(interest_usd)).add(position.unrealizedLossUsd);
229
+ console.log("unrealized_loss_usd:", unrealized_loss_usd.toString());
230
+ var price_diff_profit, price_diff_loss;
231
+ if ((0, types_1.isVariant)(position.side, 'long')) {
232
+ if (exit_price.gt(position.price)) {
233
+ price_diff_profit = exit_price.sub(position.price);
234
+ price_diff_loss = constants_1.BN_ZERO;
235
+ }
236
+ else {
237
+ price_diff_profit = constants_1.BN_ZERO;
238
+ price_diff_loss = position.price.sub(exit_price);
239
+ }
240
+ }
241
+ else if (exit_price.lt(position.price)) {
242
+ price_diff_profit = position.price.sub(exit_price);
243
+ price_diff_loss = constants_1.BN_ZERO;
244
+ }
245
+ else {
246
+ price_diff_profit = constants_1.BN_ZERO;
247
+ price_diff_loss = exit_price.sub(position.price);
248
+ }
249
+ ;
250
+ console.log("1 price_diff_profit:", price_diff_profit.toString());
251
+ console.log("2 price_diff_loss:", price_diff_loss.toString());
252
+ var position_price = (0, utils_1.scaleToExponent)(position.price, new anchor_1.BN(-1 * constants_1.PRICE_DECIMALS), new anchor_1.BN(-1 * constants_1.USD_DECIMALS));
253
+ console.log("position_price:", position_price.toString());
254
+ if (price_diff_profit.gt(constants_1.BN_ZERO)) {
255
+ var potential_profit_usd = (position.sizeUsd.mul(price_diff_profit)).div(position_price);
256
+ potential_profit_usd = potential_profit_usd.add(position.unrealizedProfitUsd);
257
+ console.log("potential_profit_usd:", potential_profit_usd.toString());
258
+ if (potential_profit_usd.gte(unrealized_loss_usd)) {
259
+ var cur_profit_usd = potential_profit_usd.sub(unrealized_loss_usd);
260
+ var max_profit_usd = min_price.getAssetAmountUsd(position.lockedAmount, custody.decimals);
261
+ console.log("cur_profit_usd:", cur_profit_usd.toString());
262
+ console.log("max_profit_usd:", max_profit_usd.toString());
263
+ return {
264
+ profit: anchor_1.BN.min(max_profit_usd, cur_profit_usd),
265
+ loss: constants_1.BN_ZERO,
266
+ exitFee: exit_fee
267
+ };
268
+ }
269
+ else {
270
+ console.log(" -- unrealized_loss_usd:", unrealized_loss_usd.toString());
271
+ console.log(" -- potential_profit_usd:", potential_profit_usd.toString());
272
+ return {
273
+ profit: constants_1.BN_ZERO,
274
+ loss: unrealized_loss_usd.sub(potential_profit_usd),
275
+ exitFee: exit_fee
276
+ };
277
+ }
278
+ }
279
+ else {
280
+ var potential_loss_usd = (0, utils_1.checkedCeilDiv)(position.sizeUsd.mul(price_diff_loss), position_price);
281
+ potential_loss_usd = potential_loss_usd.add(unrealized_loss_usd);
282
+ console.log("potential_loss_usd:", potential_loss_usd.toString());
283
+ if (potential_loss_usd.gte(position.unrealizedProfitUsd)) {
284
+ console.log("position.unrealizedProfitUsd:", position.unrealizedProfitUsd.toString());
285
+ return {
286
+ profit: constants_1.BN_ZERO,
287
+ loss: potential_loss_usd.sub(position.unrealizedProfitUsd),
288
+ exitFee: exit_fee
289
+ };
290
+ }
291
+ else {
292
+ var cur_profit_usd = position.unrealizedProfitUsd.sub(potential_loss_usd);
293
+ var max_profit_usd = min_price.getAssetAmountUsd(position.lockedAmount, custody.decimals);
294
+ console.log("cur_profit_usd:", cur_profit_usd.toString());
295
+ console.log("max_profit_usd:", max_profit_usd.toString());
296
+ return {
297
+ profit: anchor_1.BN.min(max_profit_usd, cur_profit_usd),
298
+ loss: constants_1.BN_ZERO,
299
+ exitFee: exit_fee
300
+ };
301
+ }
302
+ }
303
+ }; //getPnlUsd
304
+ return PoolAccount;
305
+ }()); // Pool
306
+ exports.PoolAccount = PoolAccount;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolAccount.js","sourceRoot":"","sources":["../src/PoolAccount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN } from "@coral-xyz/anchor";
3
+ import { PublicKey } from "@solana/web3.js";
4
+ import { Position, Side } from "./types";
5
+ export declare class PositionAccount {
6
+ publicKey: PublicKey;
7
+ owner: PublicKey;
8
+ pool: PublicKey;
9
+ custody: PublicKey;
10
+ openTime: BN;
11
+ updateTime: BN;
12
+ side: Side;
13
+ price: BN;
14
+ sizeUsd: BN;
15
+ collateralUsd: BN;
16
+ unrealizedProfitUsd: BN;
17
+ unrealizedLossUsd: BN;
18
+ cumulativeInterestSnapshot: BN;
19
+ lockedAmount: BN;
20
+ collateralAmount: BN;
21
+ constructor(publicKey: PublicKey, parseData: Position);
22
+ static from(publicKey: PublicKey, parseData: Position): PositionAccount;
23
+ updatePositionData(position: Position): void;
24
+ static getLiquidationPrice(poolKey: PublicKey, custodyKey: PublicKey, position: PublicKey): Promise<BN>;
25
+ static getPnl(poolKey: PublicKey, custodyKey: PublicKey, position: PublicKey): Promise<BN>;
26
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionAccount.d.ts","sourceRoot":"","sources":["../src/PositionAccount.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAa,QAAQ,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpD,qBAAa,eAAe;IAEjB,SAAS,EAAE,SAAS,CAAC;IAGrB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IAEnB,QAAQ,EAAE,EAAE,CAAC;IACb,UAAU,EAAE,EAAE,CAAC;IAEf,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;IACZ,aAAa,EAAE,EAAE,CAAC;IAClB,mBAAmB,EAAE,EAAE,CAAC;IACxB,iBAAiB,EAAE,EAAE,CAAC;IACtB,0BAA0B,EAAE,EAAE,CAAC;IAC/B,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,EAAE,CAAC;gBAGf,SAAS,EAAG,SAAS,EAAE,SAAS,EAAG,QAAQ;IAKxD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAC,SAAS,EAAG,QAAQ,GAAG,eAAe;IAIvE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;WAIxB,mBAAmB,CAAG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;WAOpF,MAAM,CAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;CAQtF"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.PositionAccount = void 0;
51
+ var anchor_1 = require("@coral-xyz/anchor");
52
+ var PositionAccount = /** @class */ (function () {
53
+ // extra
54
+ function PositionAccount(publicKey, parseData) {
55
+ this.publicKey = publicKey;
56
+ Object.assign(this, parseData);
57
+ }
58
+ PositionAccount.from = function (publicKey, parseData) {
59
+ return new PositionAccount(publicKey, parseData);
60
+ };
61
+ PositionAccount.prototype.updatePositionData = function (position) {
62
+ Object.assign(this, __assign({}, position));
63
+ };
64
+ PositionAccount.getLiquidationPrice = function (poolKey, custodyKey, position) {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ return __generator(this, function (_a) {
67
+ try {
68
+ }
69
+ catch (error) {
70
+ return [2 /*return*/, new anchor_1.BN(0)];
71
+ }
72
+ return [2 /*return*/];
73
+ });
74
+ });
75
+ };
76
+ PositionAccount.getPnl = function (poolKey, custodyKey, position) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ return __generator(this, function (_a) {
79
+ try {
80
+ }
81
+ catch (error) {
82
+ return [2 /*return*/, new anchor_1.BN(0)];
83
+ }
84
+ return [2 /*return*/];
85
+ });
86
+ });
87
+ };
88
+ return PositionAccount;
89
+ }());
90
+ exports.PositionAccount = PositionAccount;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionAccount.js","sourceRoot":"","sources":["../src/PositionAccount.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAuC;AAKvC;IAqBI,SAAS;IAET,yBAAa,SAAqB,EAAE,SAAoB;QACpD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC;IAEM,oBAAI,GAAX,UAAY,SAAoB,EAAC,SAAoB;QACjD,OAAO,IAAI,eAAe,CAAE,SAAS,EAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,4CAAkB,GAAlB,UAAmB,QAAkB;QACjC,MAAM,CAAC,MAAM,CAAC,IAAI,eAAO,QAAQ,EAAG,CAAA;IACxC,CAAC;IAEY,mCAAmB,GAAhC,UAAmC,OAAkB,EAAE,UAAqB,EAAE,QAAmB;;;gBAC7F,IAAI;iBACH;gBAAC,OAAO,KAAK,EAAE;oBAChB,sBAAO,IAAI,WAAE,CAAC,CAAC,CAAC,EAAC;iBAChB;;;;KACJ;IAEY,sBAAM,GAAnB,UAAqB,OAAkB,EAAE,UAAqB,EAAE,QAAmB;;;gBAC/E,IAAI;iBACH;gBAAC,OAAO,KAAK,EAAE;oBAChB,sBAAO,IAAI,WAAE,CAAC,CAAC,CAAC,EAAC;iBAEhB;;;;KACJ;IAEL,sBAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,0CAAe"}
@@ -0,0 +1,30 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { Assets, FeesStats, Custody, Fees, PricingParams, TradeStats, Permissions, BorrowRateParams, OracleParams, VolumeStats, PositionStats, BorrowRateState } from "./types";
3
+ import { PositionAccount } from "./PositionAccount";
4
+ import BN from "bn.js";
5
+ export default class CustodyAccount {
6
+ publicKey: PublicKey;
7
+ pool: PublicKey;
8
+ mint: PublicKey;
9
+ tokenAccount: PublicKey;
10
+ decimals: number;
11
+ isStable: boolean;
12
+ oracle: OracleParams;
13
+ pricing: PricingParams;
14
+ permissions: Permissions;
15
+ fees: Fees;
16
+ borrowRate: BorrowRateParams;
17
+ assets: Assets;
18
+ collectedFees: FeesStats;
19
+ volumeStats: VolumeStats;
20
+ tradeStats: TradeStats;
21
+ longPositions: PositionStats;
22
+ shortPositions: PositionStats;
23
+ borrowRateState: BorrowRateState;
24
+ constructor(publicKey: PublicKey, parseData: Custody);
25
+ static from(publicKey: PublicKey, parseData: Custody): CustodyAccount;
26
+ updateCustodyData(custody: Custody): void;
27
+ getCumulativeInterest(curtime: BN): BN;
28
+ getInterestAmountUsd(position: PositionAccount, curtime: BN): BN;
29
+ }
30
+ //# sourceMappingURL=CustodyAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustodyAccount.d.ts","sourceRoot":"","sources":["../../../src/CustodyAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAG,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACjL,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,OAAO,CAAC;AAKvB,MAAM,CAAC,OAAO,OAAO,cAAc;IAE7B,SAAS,EAAE,SAAS,CAAC;IAGrB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,gBAAgB,CAAC;IAE7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,SAAS,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,aAAa,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;gBAEtB,SAAS,EAAG,SAAS,EAAE,SAAS,EAAG,OAAO;IAKvD,MAAM,CAAC,IAAI,CAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAG,OAAO,GAAG,cAAc;IAOrE,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAIlC,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE;IAatC,oBAAoB,CAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,GAAI,EAAE;CA2BrE"}