@drift-labs/sdk 2.36.1-beta.4 → 2.36.1-beta.5

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/VERSION CHANGED
@@ -1 +1 @@
1
- 2.36.1-beta.4
1
+ 2.36.1-beta.5
package/lib/user.d.ts CHANGED
@@ -188,6 +188,12 @@ export declare class User {
188
188
  };
189
189
  getTotalLiabilityValue(marginCategory?: MarginCategory): BN;
190
190
  getTotalAssetValue(marginCategory?: MarginCategory): BN;
191
+ /**
192
+ * Calculates the all time P&L of the user.
193
+ *
194
+ * Net withdraws + Net spot market value + Net unrealized P&L -
195
+ */
196
+ getTotalAllTimePnl(): BN;
191
197
  /**
192
198
  * calculates max allowable leverage exceeding hitting requirement category
193
199
  * for large sizes where imf factor activates, result is a lower bound
package/lib/user.js CHANGED
@@ -815,6 +815,20 @@ class User {
815
815
  getTotalAssetValue(marginCategory) {
816
816
  return this.getSpotMarketAssetValue(undefined, marginCategory, true).add(this.getUnrealizedPNL(true, undefined, marginCategory));
817
817
  }
818
+ /**
819
+ * Calculates the all time P&L of the user.
820
+ *
821
+ * Net withdraws + Net spot market value + Net unrealized P&L -
822
+ */
823
+ getTotalAllTimePnl() {
824
+ const netBankValue = this.getNetSpotMarketValue();
825
+ const unrealizedPnl = this.getUnrealizedPNL(true, undefined, undefined);
826
+ const netUsdValue = netBankValue.add(unrealizedPnl);
827
+ const totalDeposits = this.getUserAccount().totalDeposits;
828
+ const totalWithdraws = this.getUserAccount().totalWithdraws;
829
+ const totalPnl = netUsdValue.add(totalWithdraws).sub(totalDeposits);
830
+ return totalPnl;
831
+ }
818
832
  /**
819
833
  * calculates max allowable leverage exceeding hitting requirement category
820
834
  * for large sizes where imf factor activates, result is a lower bound
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.36.1-beta.4",
3
+ "version": "2.36.1-beta.5",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "crispheaney",
package/src/user.ts CHANGED
@@ -1487,6 +1487,24 @@ export class User {
1487
1487
  );
1488
1488
  }
1489
1489
 
1490
+ /**
1491
+ * Calculates the all time P&L of the user.
1492
+ *
1493
+ * Net withdraws + Net spot market value + Net unrealized P&L -
1494
+ */
1495
+ getTotalAllTimePnl(): BN {
1496
+ const netBankValue = this.getNetSpotMarketValue();
1497
+ const unrealizedPnl = this.getUnrealizedPNL(true, undefined, undefined);
1498
+
1499
+ const netUsdValue = netBankValue.add(unrealizedPnl);
1500
+ const totalDeposits = this.getUserAccount().totalDeposits;
1501
+ const totalWithdraws = this.getUserAccount().totalWithdraws;
1502
+
1503
+ const totalPnl = netUsdValue.add(totalWithdraws).sub(totalDeposits);
1504
+
1505
+ return totalPnl;
1506
+ }
1507
+
1490
1508
  /**
1491
1509
  * calculates max allowable leverage exceeding hitting requirement category
1492
1510
  * for large sizes where imf factor activates, result is a lower bound