@augustdigital/sdk 4.24.3-alpha.2 → 4.24.3

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 (122) hide show
  1. package/lib/abis/LendingPoolV2.d.ts +1413 -55
  2. package/lib/abis/LendingPoolV2.js.map +1 -1
  3. package/lib/abis/LendingPoolV3.d.ts +1677 -35
  4. package/lib/abis/LendingPoolV3.js.map +1 -1
  5. package/lib/abis/RewardDistributor.d.ts +267 -46
  6. package/lib/abis/RewardDistributor.js.map +1 -1
  7. package/lib/abis/TokenizedVaultV2DepositWithPermit.d.ts +1456 -78
  8. package/lib/abis/TokenizedVaultV2DepositWithPermit.js.map +1 -1
  9. package/lib/abis/TokenizedVaultV2SenderAllocationWhitelist.d.ts +454 -0
  10. package/lib/abis/TokenizedVaultV2SenderAllocationWhitelist.js +327 -0
  11. package/lib/abis/TokenizedVaultV2SenderAllocationWhitelist.js.map +1 -0
  12. package/lib/abis/TokenizedVaultV2WhitelistedAllocation.d.ts +1466 -0
  13. package/lib/abis/TokenizedVaultV2WhitelistedAllocation.js +1092 -0
  14. package/lib/abis/TokenizedVaultV2WhitelistedAllocation.js.map +1 -0
  15. package/lib/abis/index.d.ts +2 -0
  16. package/lib/abis/index.js +2 -0
  17. package/lib/abis/index.js.map +1 -1
  18. package/lib/adapters/evm/index.d.ts +20 -1
  19. package/lib/adapters/evm/index.js +16 -0
  20. package/lib/adapters/evm/index.js.map +1 -1
  21. package/lib/adapters/solana/getters.js +2 -1
  22. package/lib/adapters/solana/getters.js.map +1 -1
  23. package/lib/adapters/solana/index.js.map +1 -1
  24. package/lib/adapters/sui/index.js.map +1 -1
  25. package/lib/adapters/sui/transformer.js +4 -1
  26. package/lib/adapters/sui/transformer.js.map +1 -1
  27. package/lib/core/constants/core.d.ts +1 -1
  28. package/lib/core/constants/core.js +4 -4
  29. package/lib/core/constants/core.js.map +1 -1
  30. package/lib/core/constants/vaults.d.ts +2 -0
  31. package/lib/core/constants/vaults.js +3 -1
  32. package/lib/core/constants/vaults.js.map +1 -1
  33. package/lib/core/constants/web3.js +6 -1
  34. package/lib/core/constants/web3.js.map +1 -1
  35. package/lib/core/fetcher.d.ts +2 -3
  36. package/lib/core/fetcher.js +7 -5
  37. package/lib/core/fetcher.js.map +1 -1
  38. package/lib/core/helpers/core.d.ts +1 -1
  39. package/lib/core/helpers/vaults.d.ts +1 -0
  40. package/lib/core/helpers/vaults.js +19 -1
  41. package/lib/core/helpers/vaults.js.map +1 -1
  42. package/lib/core/helpers/web3.d.ts +6 -4
  43. package/lib/core/helpers/web3.js.map +1 -1
  44. package/lib/index.d.ts +2 -0
  45. package/lib/index.js +2 -0
  46. package/lib/index.js.map +1 -1
  47. package/lib/main.d.ts +5 -1
  48. package/lib/main.js +13 -0
  49. package/lib/main.js.map +1 -1
  50. package/lib/modules/sub-accounts/fetcher.d.ts +11 -0
  51. package/lib/modules/sub-accounts/fetcher.js +55 -0
  52. package/lib/modules/sub-accounts/fetcher.js.map +1 -0
  53. package/lib/modules/sub-accounts/index.d.ts +2 -0
  54. package/lib/modules/sub-accounts/index.js +19 -0
  55. package/lib/modules/sub-accounts/index.js.map +1 -0
  56. package/lib/modules/sub-accounts/main.d.ts +118 -0
  57. package/lib/modules/sub-accounts/main.js +44 -0
  58. package/lib/modules/sub-accounts/main.js.map +1 -0
  59. package/lib/modules/sub-accounts/utils.d.ts +103 -0
  60. package/lib/modules/sub-accounts/utils.js +109 -0
  61. package/lib/modules/sub-accounts/utils.js.map +1 -0
  62. package/lib/modules/vaults/adapter.helpers.js +2 -1
  63. package/lib/modules/vaults/adapter.helpers.js.map +1 -1
  64. package/lib/modules/vaults/getters.js +129 -87
  65. package/lib/modules/vaults/getters.js.map +1 -1
  66. package/lib/modules/vaults/main.js +9 -6
  67. package/lib/modules/vaults/main.js.map +1 -1
  68. package/lib/modules/vaults/read.actions.d.ts +21 -3
  69. package/lib/modules/vaults/read.actions.js +130 -1
  70. package/lib/modules/vaults/read.actions.js.map +1 -1
  71. package/lib/modules/vaults/utils.js +11 -5
  72. package/lib/modules/vaults/utils.js.map +1 -1
  73. package/lib/modules/vaults/write.actions.js +8 -7
  74. package/lib/modules/vaults/write.actions.js.map +1 -1
  75. package/lib/services/subgraph/vaults.js +6 -6
  76. package/lib/services/subgraph/vaults.js.map +1 -1
  77. package/lib/types/index.d.ts +2 -0
  78. package/lib/types/index.js +2 -0
  79. package/lib/types/index.js.map +1 -1
  80. package/lib/types/sub-accounts.d.ts +104 -0
  81. package/lib/types/sub-accounts.js +3 -0
  82. package/lib/types/sub-accounts.js.map +1 -0
  83. package/lib/types/typed-contract.d.ts +38 -0
  84. package/lib/types/typed-contract.js +3 -0
  85. package/lib/types/typed-contract.js.map +1 -0
  86. package/lib/types/vaults.d.ts +2 -0
  87. package/lib/types/vaults.js.map +1 -1
  88. package/lib/types/webserver.d.ts +2 -0
  89. package/package.json +12 -12
  90. package/lib/abis/TokenizedVaultV2WithDepositWithPermit.d.ts +0 -85
  91. package/lib/abis/TokenizedVaultV2WithDepositWithPermit.js +0 -1878
  92. package/lib/abis/TokenizedVaultV2WithDepositWithPermit.js.map +0 -1
  93. package/lib/core/constants.adapters.d.ts +0 -117
  94. package/lib/core/constants.adapters.js +0 -160
  95. package/lib/core/constants.adapters.js.map +0 -1
  96. package/lib/core/constants.core.d.ts +0 -78
  97. package/lib/core/constants.core.js +0 -75
  98. package/lib/core/constants.core.js.map +0 -1
  99. package/lib/core/constants.vaults.d.ts +0 -64
  100. package/lib/core/constants.vaults.js +0 -156
  101. package/lib/core/constants.vaults.js.map +0 -1
  102. package/lib/core/constants.web3.d.ts +0 -31
  103. package/lib/core/constants.web3.js +0 -100
  104. package/lib/core/constants.web3.js.map +0 -1
  105. package/lib/core/helpers.adapters.d.ts +0 -9
  106. package/lib/core/helpers.adapters.js +0 -28
  107. package/lib/core/helpers.adapters.js.map +0 -1
  108. package/lib/core/helpers.core.d.ts +0 -48
  109. package/lib/core/helpers.core.js +0 -210
  110. package/lib/core/helpers.core.js.map +0 -1
  111. package/lib/core/helpers.signer.d.ts +0 -9
  112. package/lib/core/helpers.signer.js +0 -54
  113. package/lib/core/helpers.signer.js.map +0 -1
  114. package/lib/core/helpers.vaults.d.ts +0 -36
  115. package/lib/core/helpers.vaults.js +0 -145
  116. package/lib/core/helpers.vaults.js.map +0 -1
  117. package/lib/core/helpers.web3.d.ts +0 -95
  118. package/lib/core/helpers.web3.js +0 -376
  119. package/lib/core/helpers.web3.js.map +0 -1
  120. package/lib/verify.d.ts +0 -2
  121. package/lib/verify.js +0 -33
  122. package/lib/verify.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformSubaccountSummary = void 0;
4
+ const transformSubaccountSummary = (response) => {
5
+ return {
6
+ address: response.address,
7
+ name: response.name,
8
+ type: response.type,
9
+ portfolio: {
10
+ tokens: response.portfolio.tokens.map((t) => ({
11
+ value: t.value,
12
+ balance: t.balance,
13
+ token: {
14
+ type: t.token.type,
15
+ name: t.token.name,
16
+ address: t.token.address,
17
+ chain: t.token.chain,
18
+ symbol: t.token.symbol,
19
+ decimals: t.token.decimals,
20
+ imgUrl: t.token.img_url,
21
+ },
22
+ })),
23
+ marginBalances: response.portfolio.margin_balances,
24
+ collateralBalances: response.portfolio.collateral_balances,
25
+ cefiPositions: response.portfolio.cefi_positions,
26
+ defiPositions: response.portfolio.defi_positions,
27
+ trsPositions: response.portfolio.trs_positions,
28
+ strategyContractPositions: response.portfolio.strategy_contract_positions,
29
+ legacyHedgerPositions: response.portfolio.legacy_hedger_positions,
30
+ otcPositions: response.portfolio.otc_positions,
31
+ totalValue: response.portfolio.total_value,
32
+ discountedValue: response.portfolio.discounted_value,
33
+ },
34
+ loanbook: {
35
+ loans: response.loanbook.loans.map((loan) => ({
36
+ subaccountAddress: loan.subaccount_address,
37
+ book: {
38
+ address: loan.book.address,
39
+ lender: loan.book.lender,
40
+ borrower: loan.book.borrower,
41
+ state: loan.book.state,
42
+ totalRepaid: loan.book.total_repaid,
43
+ principalToken: {
44
+ type: loan.book.principal_token.type,
45
+ name: loan.book.principal_token.name,
46
+ address: loan.book.principal_token.address,
47
+ chain: loan.book.principal_token.chain,
48
+ symbol: loan.book.principal_token.symbol,
49
+ decimals: loan.book.principal_token.decimals,
50
+ imgUrl: loan.book.principal_token.img_url,
51
+ tokenType: loan.book.principal_token.token_type,
52
+ discountFactor: loan.book.principal_token.discount_factor,
53
+ price: loan.book.principal_token.price,
54
+ },
55
+ principalAmount: loan.book.principal_amount,
56
+ interestAmount: loan.book.interest_amount,
57
+ upcomingPayment: {
58
+ amount: loan.book.upcoming_payment.amount,
59
+ dueDate: loan.book.upcoming_payment.due_date,
60
+ },
61
+ apr: loan.book.apr,
62
+ initialPrincipalAmount: loan.book.initial_principal_amount,
63
+ deployedDate: loan.book.deployed_date,
64
+ paymentInterval: loan.book.payment_interval,
65
+ totalInterestPaymentFees: loan.book.total_interest_payment_fees,
66
+ },
67
+ isBorrow: loan.is_borrow,
68
+ debtInfo: {
69
+ interestOwed: loan.debt_info.interest_owed,
70
+ principalDebtOwed: loan.debt_info.principal_debt_owed,
71
+ interestRepaid: loan.debt_info.interest_repaid,
72
+ },
73
+ creditInfo: {
74
+ netInterestOwed: loan.credit_info.net_interest_owed,
75
+ principalDebtOwed: loan.credit_info.principal_debt_owed,
76
+ netInterestRepaid: loan.credit_info.net_interest_repaid,
77
+ },
78
+ })),
79
+ totalDebt: response.loanbook.total_debt,
80
+ totalCredit: response.loanbook.total_credit,
81
+ aggregatesByToken: response.loanbook.aggregates_by_token,
82
+ },
83
+ chains: response.chains.map((c) => ({
84
+ name: c.name,
85
+ chainId: c.chain_id,
86
+ })),
87
+ tokens: response.tokens.map((t) => ({
88
+ type: t.type,
89
+ name: t.name,
90
+ address: t.address,
91
+ chain: t.chain,
92
+ symbol: t.symbol,
93
+ decimals: t.decimals,
94
+ imgUrl: t.img_url,
95
+ price: t.price,
96
+ rawBalance: t.raw_balance,
97
+ balance: t.balance,
98
+ value: t.value,
99
+ })),
100
+ totalAccountValue: response.total_account_value,
101
+ totalCollateralValue: response.total_collateral_value,
102
+ totalLoanValue: response.total_loan_value,
103
+ healthFactor: response.health_factor,
104
+ netAccountValue: response.net_account_value,
105
+ totalEquityValue: response.total_equity_value,
106
+ };
107
+ };
108
+ exports.transformSubaccountSummary = transformSubaccountSummary;
109
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/modules/sub-accounts/utils.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,8 @@ async function buildNativeDepositTransaction({ signer, srcToken, amount, poolNam
56
56
  const wrapperContract = (0, core_1.createContract)({
57
57
  address: adapterConfig.wrapperAddress,
58
58
  provider: signer,
59
- abi: adapterConfig.abi || abis_1.ABI_WRAPPER_ADAPTER,
59
+ abi: (adapterConfig.abi ||
60
+ abis_1.ABI_WRAPPER_ADAPTER),
60
61
  });
61
62
  if (poolName === adapters_1.POOL_NAMES.ETH_TREEHOUSE_GROWTH) {
62
63
  if (isNative) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.helpers.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/adapter.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.helpers.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/adapter.helpers.ts"],"names":[],"mappings":"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"}
@@ -199,13 +199,13 @@ async function getVaultLoans(vault, options) {
199
199
  }
200
200
  }
201
201
  async function getVaultAllocations(vault, options) {
202
- let protocolExposure = [];
203
- let tokenExposure = [];
202
+ const protocolExposure = [];
203
+ const tokenExposure = [];
204
204
  let cefiExposure = [];
205
- let cefiBorrowerResponses = {};
206
- let otcPositions = {};
207
- let defiPerBorrower = {};
208
- let exposurePerCategory = {
205
+ const cefiBorrowerResponses = {};
206
+ const otcPositions = {};
207
+ const defiPerBorrower = {};
208
+ const exposurePerCategory = {
209
209
  supplying: [],
210
210
  borrowing: [],
211
211
  wallet: [],
@@ -215,7 +215,7 @@ async function getVaultAllocations(vault, options) {
215
215
  lending: [],
216
216
  loanBalance: 0,
217
217
  };
218
- let netValue = { value: 0 };
218
+ const netValue = { value: 0 };
219
219
  let debankErr = false;
220
220
  let unfilteredTokens = [];
221
221
  let uniqueBorrowers;
@@ -237,7 +237,7 @@ async function getVaultAllocations(vault, options) {
237
237
  catch (e) {
238
238
  core_1.Logger.log.error('getVaultAllocations:borrowers', e);
239
239
  }
240
- const hardcodedSubaccount = Object.values(core_1.VAULT_ALLOCATION_SUBACCOUNTS).find((entry) => entry.address.toLowerCase() === vault.toLowerCase());
240
+ const hardcodedSubaccount = Object.values(core_1.VAULT_ALLOCATION_SUBACCOUNTS).find((entry) => entry.address.toLowerCase() === vault.toLowerCase() && !entry.useDebank);
241
241
  if (hardcodedSubaccount) {
242
242
  const debankRes = await (0, debank_1.fetchDebankResponse)(hardcodedSubaccount.subaccount);
243
243
  if (debankRes === false) {
@@ -364,27 +364,20 @@ async function getVaultAvailableRedemptions({ vault, wallet, options, }) {
364
364
  };
365
365
  }
366
366
  const version = (0, core_1.getVaultVersionV2)(tokenizedVault);
367
- let abi;
368
367
  let decimals;
369
- switch (version) {
370
- case 'evm-2': {
371
- abi = TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2;
372
- decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault), false);
373
- break;
374
- }
375
- default: {
376
- abi = abis_1.ABI_LENDING_POOL_V2;
377
- decimals = await (0, core_1.getDecimals)(provider, vault);
378
- break;
379
- }
380
- }
381
368
  const vaultContract = (0, core_1.createContract)({
382
369
  address: vault,
383
- abi: abi,
370
+ abi: abis_1.ABI_LENDING_POOL_V2,
384
371
  provider,
385
372
  });
386
- const ld = await vaultContract['lagDuration']();
387
- const lagDuration = parseInt(ld);
373
+ if (version === 'evm-2') {
374
+ decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault), false);
375
+ }
376
+ else {
377
+ decimals = await (0, core_1.getDecimals)(provider, vault);
378
+ }
379
+ const ld = await vaultContract.lagDuration();
380
+ const lagDuration = Number(ld);
388
381
  const { withdrawalRequesteds, withdrawalProcesseds } = await (0, subgraph_1.getSubgraphAllWithdrawals)(vault, provider);
389
382
  const availableRedemptions = [];
390
383
  const pendingRedemptions = [];
@@ -558,7 +551,7 @@ async function getVaultAvailableRedemptions({ vault, wallet, options, }) {
558
551
  }
559
552
  }
560
553
  else {
561
- if (!!foundRedemptionAgainstClaim) {
554
+ if (foundRedemptionAgainstClaim) {
562
555
  availableRedemptions.push({
563
556
  id: ev.transactionHash_ || ev.id,
564
557
  hash: ev.transactionHash_ || ev.id,
@@ -613,7 +606,7 @@ async function getVaultRedemptionHistory({ vault, wallet, options, }) {
613
606
  abi: abis_1.ABI_LENDING_POOL_V2,
614
607
  provider,
615
608
  });
616
- let logPromises = [];
609
+ const logPromises = [];
617
610
  const currentBlock = await provider.getBlockNumber();
618
611
  let startingBlock = currentBlock - (0, core_1.determineBlockSkipInternal)(chainId);
619
612
  let endBlock = currentBlock;
@@ -699,41 +692,28 @@ async function getVaultPositions({ vault, wallet, solanaWallet, options, }) {
699
692
  }
700
693
  const provider = (0, core_1.createProvider)(options.rpcUrl);
701
694
  let decimals;
702
- let abi;
703
695
  const version = (0, core_1.getVaultVersionV2)(v);
704
- switch (version) {
705
- case 'evm-2': {
706
- decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault), false);
707
- abi = TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2;
708
- break;
709
- }
710
- default: {
711
- decimals = await (0, core_1.getDecimals)(provider, vault);
712
- abi = abis_1.ABI_LENDING_POOL_V2;
713
- break;
714
- }
715
- }
716
696
  const vaultContract = (0, core_1.createContract)({
717
697
  provider,
718
- abi: abi,
698
+ abi: abis_1.ABI_LENDING_POOL_V2,
719
699
  address: v.address,
720
700
  });
721
701
  let bal = BigInt(0);
722
- if (wallet && (0, ethers_1.isAddress)(wallet)) {
723
- switch (version) {
724
- case 'evm-2': {
725
- const receiptContract = (0, core_1.createContract)({
726
- provider,
727
- abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
728
- address: await (0, core_1.getReceiptTokenAddress)(provider, vault),
729
- });
730
- bal = await receiptContract.balanceOf(wallet);
731
- break;
732
- }
733
- default: {
734
- bal = await vaultContract.balanceOf(wallet);
735
- break;
736
- }
702
+ if (version === 'evm-2') {
703
+ decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault), false);
704
+ if (wallet && (0, ethers_1.isAddress)(wallet)) {
705
+ const receiptContract = (0, core_1.createContract)({
706
+ provider,
707
+ abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
708
+ address: await (0, core_1.getReceiptTokenAddress)(provider, vault),
709
+ });
710
+ bal = await receiptContract.balanceOf(wallet);
711
+ }
712
+ }
713
+ else {
714
+ decimals = await (0, core_1.getDecimals)(provider, vault);
715
+ if (wallet && (0, ethers_1.isAddress)(wallet)) {
716
+ bal = await vaultContract.balanceOf(wallet);
737
717
  }
738
718
  }
739
719
  const balance = (0, core_1.toNormalizedBn)(bal, decimals);
@@ -802,7 +782,7 @@ async function getVaultApy({ vault, options, historical, }) {
802
782
  }
803
783
  const baseUrl = core_1.WEBSERVER_ENDPOINTS.public.tokenizedVault.historicalApy(vault);
804
784
  const historicalApy = await (0, core_1.fetchAugustPublic)(`${baseUrl}${paramBuilder(historical, baseUrl)}`, {
805
- headers: !!options?.headers
785
+ headers: options?.headers
806
786
  ? options?.headers
807
787
  : undefined,
808
788
  });
@@ -940,7 +920,7 @@ async function getVaultTvl({ vault, options, historical, }) {
940
920
  abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
941
921
  provider,
942
922
  });
943
- const totalSupply = await receiptTokenContract.getTotalSupply();
923
+ const totalSupply = await receiptTokenContract.totalSupply();
944
924
  return [
945
925
  {
946
926
  value: (0, core_1.toNormalizedBn)(totalSupply, receiptTokenDecimals),
@@ -959,7 +939,7 @@ async function getVaultTvl({ vault, options, historical, }) {
959
939
  default: {
960
940
  const vaultContract = (0, core_1.createContract)({
961
941
  address: vault,
962
- abi: TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2,
942
+ abi: abis_1.ABI_LENDING_POOL_V2,
963
943
  provider,
964
944
  });
965
945
  const decimals = await (0, core_1.getDecimals)(provider, vault);
@@ -1061,14 +1041,14 @@ async function getVaultBorrowerHealthFactor({ vault, options, }) {
1061
1041
  abi: abis_1.ABI_LOAN,
1062
1042
  });
1063
1043
  return {
1064
- borrower: await loanContract.borrower(),
1044
+ borrower: (await loanContract.borrower()),
1065
1045
  loan: l,
1066
1046
  };
1067
1047
  }));
1068
1048
  const uniqueBorrowers = [
1069
1049
  ...new Set(formattedLoansArray.map((l) => l.borrower)),
1070
1050
  ];
1071
- let borrowerResponses = {};
1051
+ const borrowerResponses = {};
1072
1052
  for (const b of uniqueBorrowers) {
1073
1053
  const response = await (0, core_1.fetchAugustWithKey)(options.augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.health_factor(b));
1074
1054
  if (response.status === 200) {
@@ -1228,7 +1208,7 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
1228
1208
  wallet,
1229
1209
  options,
1230
1210
  }),
1231
- (0, core_1.fetchTokenizedVault)(vault, options?.headers),
1211
+ (0, core_1.fetchTokenizedVault)(vault, options?.headers, false, false),
1232
1212
  ]);
1233
1213
  const tokenizedVault = tokenizedVaultResult?.[0];
1234
1214
  if (!tokenizedVault) {
@@ -1243,10 +1223,10 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
1243
1223
  const vaultContract = (0, core_1.createContract)({
1244
1224
  provider,
1245
1225
  address: vault,
1246
- abi: version === 'evm-2' ? TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2 : abis_1.ABI_LENDING_POOL_V2,
1226
+ abi: abis_1.ABI_LENDING_POOL_V2,
1247
1227
  });
1248
1228
  try {
1249
- underlyingAssetAddress = await vaultContract.asset();
1229
+ underlyingAssetAddress = (await vaultContract.asset());
1250
1230
  const underlyingContract = (0, core_1.createContract)({
1251
1231
  provider,
1252
1232
  address: underlyingAssetAddress,
@@ -1267,19 +1247,62 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
1267
1247
  }
1268
1248
  return { underlyingTokenSymbol, underlyingAssetAddress };
1269
1249
  })();
1270
- let totalDepositedRaw = BigInt(0);
1271
- let totalWithdrawalsRequestedRaw = BigInt(0);
1250
+ const depositsByAsset = new Map();
1251
+ let totalWithdrawalsInShares = BigInt(0);
1252
+ let totalWithdrawalsInAssets = BigInt(0);
1272
1253
  for (const historyItem of userHistory) {
1273
1254
  const amount = BigInt(historyItem.amount);
1255
+ if ((0, core_1.isBadTransaction)(historyItem.transactionHash_, tokenizedVault.chain)) {
1256
+ continue;
1257
+ }
1274
1258
  if (historyItem.type === 'deposit') {
1275
- totalDepositedRaw += amount;
1259
+ const assetKey = 'assetIn' in historyItem && typeof historyItem.assetIn === 'string'
1260
+ ? historyItem.assetIn.toLowerCase()
1261
+ : 'default';
1262
+ const current = depositsByAsset.get(assetKey) ?? BigInt(0);
1263
+ depositsByAsset.set(assetKey, current + amount);
1264
+ }
1265
+ else if (historyItem.type === 'withdraw-request') {
1266
+ totalWithdrawalsInShares += amount;
1267
+ }
1268
+ else if (historyItem.type === 'withdraw-processed' &&
1269
+ historyItem.isInstant) {
1270
+ totalWithdrawalsInAssets += amount;
1271
+ }
1272
+ }
1273
+ const assetDecimals = new Map();
1274
+ await Promise.all(Array.from(depositsByAsset.keys()).map(async (assetAddress) => {
1275
+ if (assetAddress === 'default') {
1276
+ assetDecimals.set(assetAddress, decimals);
1276
1277
  }
1277
- else if (historyItem.type === 'withdraw-request' ||
1278
- (historyItem.type === 'withdraw-processed' && historyItem.isInstant)) {
1279
- totalWithdrawalsRequestedRaw += amount;
1278
+ else {
1279
+ const dec = await (0, core_1.getDecimals)(provider, assetAddress, false);
1280
+ assetDecimals.set(assetAddress, dec);
1280
1281
  }
1282
+ }));
1283
+ const totalDepositedRaw = new Map();
1284
+ for (const [assetAddress, rawAmount] of depositsByAsset) {
1285
+ const assetDec = assetDecimals.get(assetAddress) ?? decimals;
1286
+ totalDepositedRaw.set(assetAddress, (0, core_1.toNormalizedBn)(rawAmount, assetDec));
1287
+ }
1288
+ const assetPrices = new Map();
1289
+ if (tokenizedVault.chain) {
1290
+ await Promise.all(Array.from(depositsByAsset.keys()).map(async (assetAddress) => {
1291
+ if (assetAddress === 'default') {
1292
+ assetPrices.set(assetAddress, 0);
1293
+ }
1294
+ else {
1295
+ try {
1296
+ const price = await (0, core_1.fetchTokenPriceByAddress)(assetAddress, tokenizedVault.chain, options?.headers);
1297
+ assetPrices.set(assetAddress, price);
1298
+ }
1299
+ catch (error) {
1300
+ core_1.Logger.log.warn('getVaultUserLifetimePnl:fetchAssetPrice', `Failed to fetch price for ${assetAddress}: ${error}`);
1301
+ assetPrices.set(assetAddress, 0);
1302
+ }
1303
+ }
1304
+ }));
1281
1305
  }
1282
- const totalDeposited = (0, core_1.toNormalizedBn)(totalDepositedRaw, decimals);
1283
1306
  const { underlyingTokenSymbol, underlyingAssetAddress } = await underlyingSymbolPromise;
1284
1307
  let currentPositionValue = (0, core_1.toNormalizedBn)(0, decimals);
1285
1308
  const pricePromise = underlyingAssetAddress && tokenizedVault.chain
@@ -1292,7 +1315,9 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
1292
1315
  });
1293
1316
  let sharePriceRaw = BigInt(0);
1294
1317
  try {
1295
- const lpTokenAddress = version === 'evm-2' ? await vaultContract.lpTokenAddress() : vault;
1318
+ const lpTokenAddress = version === 'evm-2'
1319
+ ? (await vaultContract.lpTokenAddress())
1320
+ : vault;
1296
1321
  let currentShares = BigInt(0);
1297
1322
  if (version === 'evm-2') {
1298
1323
  const lpTokenContract = (0, core_1.createContract)({
@@ -1329,25 +1354,42 @@ async function getVaultUserLifetimePnl({ vault, wallet, options, }) {
1329
1354
  currentPositionValue = currentPosition.walletBalance;
1330
1355
  }
1331
1356
  }
1332
- let totalWithdrawalsRequestedInAssetsRaw = totalWithdrawalsRequestedRaw;
1357
+ let totalWithdrawnRaw = totalWithdrawalsInAssets;
1333
1358
  if (version === 'evm-2' && sharePriceRaw > BigInt(0)) {
1334
- totalWithdrawalsRequestedInAssetsRaw =
1335
- (totalWithdrawalsRequestedRaw * sharePriceRaw) / BigInt(10 ** decimals);
1359
+ totalWithdrawnRaw +=
1360
+ (totalWithdrawalsInShares * sharePriceRaw) / BigInt(10 ** decimals);
1361
+ }
1362
+ else {
1363
+ totalWithdrawnRaw += totalWithdrawalsInShares;
1336
1364
  }
1337
- const tokenPriceUsd = await pricePromise;
1338
- const totalWithdrawnRaw = totalWithdrawalsRequestedInAssetsRaw;
1339
1365
  const totalWithdrawn = (0, core_1.toNormalizedBn)(totalWithdrawnRaw, decimals);
1340
- const totalWithdrawalsRequestedInAssets = (0, core_1.toNormalizedBn)(totalWithdrawalsRequestedInAssetsRaw, decimals);
1341
- const totalDepositedUsd = Number(totalDeposited.normalized) * tokenPriceUsd;
1342
- const totalWithdrawnUsd = Number(totalWithdrawn.normalized) * tokenPriceUsd;
1343
- const currentPositionValueUsd = Number(currentPositionValue.normalized) * tokenPriceUsd;
1344
- const lifetimePnlRaw = BigInt(currentPositionValue.raw) +
1345
- totalWithdrawalsRequestedInAssetsRaw -
1346
- totalDepositedRaw;
1366
+ const tokenPriceUsd = await pricePromise;
1367
+ const effectiveTokenPrice = tokenPriceUsd > 0 ? tokenPriceUsd : 1;
1368
+ if (tokenPriceUsd <= 0) {
1369
+ core_1.Logger.log.warn('getVaultUserLifetimePnl:tokenPrice', `Invalid underlying token price: ${tokenPriceUsd}, using fallback of 1`);
1370
+ }
1371
+ let totalDepositedUsd = 0;
1372
+ for (const [assetAddress, normalizedAmount] of totalDepositedRaw) {
1373
+ const assetPrice = assetAddress === 'default'
1374
+ ? effectiveTokenPrice
1375
+ : assetPrices.get(assetAddress) || effectiveTokenPrice;
1376
+ totalDepositedUsd += Number(normalizedAmount.normalized) * assetPrice;
1377
+ }
1378
+ const totalWithdrawnUsd = Number(totalWithdrawn.normalized) * effectiveTokenPrice;
1379
+ const currentPositionValueUsd = Number(currentPositionValue.normalized) * effectiveTokenPrice;
1380
+ const lifetimePnlUsd = currentPositionValueUsd + totalWithdrawnUsd - totalDepositedUsd;
1381
+ const scaleFactor = BigInt(10 ** 18);
1382
+ const tokenPriceScaled = BigInt(Math.round(effectiveTokenPrice * Number(scaleFactor)));
1383
+ const totalDepositedUsdScaled = BigInt(Math.round(totalDepositedUsd * Number(scaleFactor)));
1384
+ const totalDepositedNativeRaw = tokenPriceScaled > BigInt(0)
1385
+ ? (totalDepositedUsdScaled * BigInt(10 ** decimals)) / tokenPriceScaled
1386
+ : BigInt(0);
1387
+ const totalDeposited = (0, core_1.toNormalizedBn)(totalDepositedNativeRaw, decimals);
1388
+ const lifetimePnlUsdScaled = BigInt(Math.round(lifetimePnlUsd * Number(scaleFactor)));
1389
+ const lifetimePnlRaw = tokenPriceScaled > BigInt(0)
1390
+ ? (lifetimePnlUsdScaled * BigInt(10 ** decimals)) / tokenPriceScaled
1391
+ : BigInt(0);
1347
1392
  const lifetimePnl = (0, core_1.toNormalizedBn)(lifetimePnlRaw, decimals);
1348
- const lifetimePnlUsd = currentPositionValueUsd +
1349
- Number(totalWithdrawalsRequestedInAssets.normalized) * tokenPriceUsd -
1350
- totalDepositedUsd;
1351
1393
  const pnlPercentage = totalDepositedUsd > 0
1352
1394
  ? Number.parseFloat(((lifetimePnlUsd / totalDepositedUsd) * 100).toFixed(2))
1353
1395
  : 0;
@@ -1559,7 +1601,7 @@ async function getPreviewRedemption({ vault, sharesAmount, options, }) {
1559
1601
  abi: TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2,
1560
1602
  provider,
1561
1603
  });
1562
- const lpTokenAddress = await contract.lpTokenAddress();
1604
+ const lpTokenAddress = (await contract.lpTokenAddress());
1563
1605
  const lpTokenContract = (0, core_1.createContract)({
1564
1606
  address: lpTokenAddress,
1565
1607
  abi: abis_1.ABI_LENDING_POOL_V2,