@argent/x-shared 1.62.12 → 1.63.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 (77) hide show
  1. package/dist/defiDecomposition.cjs +1 -0
  2. package/dist/defiDecomposition.d.ts +2 -0
  3. package/dist/defiDecomposition.js +65 -0
  4. package/dist/index.cjs +1 -1
  5. package/dist/index.js +476 -475
  6. package/dist/src/account/account.model.cjs +1 -1
  7. package/dist/src/account/account.model.d.ts +11 -0
  8. package/dist/src/account/account.model.js +8 -4
  9. package/dist/src/features/defiDecomposition/helpers/computeCollateralizedDebtPositionsUsdValue.cjs +1 -0
  10. package/dist/src/features/defiDecomposition/helpers/computeCollateralizedDebtPositionsUsdValue.d.ts +6 -0
  11. package/dist/src/features/defiDecomposition/helpers/computeCollateralizedDebtPositionsUsdValue.js +62 -0
  12. package/dist/src/features/defiDecomposition/helpers/computeConcentratedLiquidityPositionsUsdValue.cjs +1 -0
  13. package/dist/src/features/defiDecomposition/helpers/computeConcentratedLiquidityPositionsUsdValue.d.ts +4 -0
  14. package/dist/src/features/defiDecomposition/helpers/computeConcentratedLiquidityPositionsUsdValue.js +31 -0
  15. package/dist/src/features/defiDecomposition/helpers/computeDefiDecompositionUsdValue.cjs +1 -0
  16. package/dist/src/features/defiDecomposition/helpers/computeDefiDecompositionUsdValue.d.ts +4 -0
  17. package/dist/src/features/defiDecomposition/helpers/computeDefiDecompositionUsdValue.js +55 -0
  18. package/dist/src/features/defiDecomposition/helpers/computeDelegatedTokensPositionsUsdValue.cjs +1 -0
  19. package/dist/src/features/defiDecomposition/helpers/computeDelegatedTokensPositionsUsdValue.d.ts +4 -0
  20. package/dist/src/features/defiDecomposition/helpers/computeDelegatedTokensPositionsUsdValue.js +30 -0
  21. package/dist/src/features/defiDecomposition/helpers/computeStakingPositionsUsdValue.cjs +1 -0
  22. package/dist/src/features/defiDecomposition/helpers/computeStakingPositionsUsdValue.d.ts +4 -0
  23. package/dist/src/features/defiDecomposition/helpers/computeStakingPositionsUsdValue.js +30 -0
  24. package/dist/src/features/defiDecomposition/helpers/computeStrkDelegatedStakingPositionsUsdValue.cjs +1 -0
  25. package/dist/src/features/defiDecomposition/helpers/computeStrkDelegatedStakingPositionsUsdValue.d.ts +4 -0
  26. package/dist/src/features/defiDecomposition/helpers/computeStrkDelegatedStakingPositionsUsdValue.js +30 -0
  27. package/dist/src/features/defiDecomposition/helpers/computeUsdValueForPosition.cjs +1 -0
  28. package/dist/src/features/defiDecomposition/helpers/computeUsdValueForPosition.d.ts +3 -0
  29. package/dist/src/features/defiDecomposition/helpers/computeUsdValueForPosition.js +17 -0
  30. package/dist/src/features/defiDecomposition/helpers/getDefiProductName.cjs +1 -0
  31. package/dist/src/features/defiDecomposition/helpers/getDefiProductName.d.ts +1 -0
  32. package/dist/src/features/defiDecomposition/helpers/getDefiProductName.js +11 -0
  33. package/dist/src/features/defiDecomposition/helpers/index.d.ts +13 -0
  34. package/dist/src/features/defiDecomposition/helpers/parseCollateralizedDebtPositions.cjs +1 -0
  35. package/dist/src/features/defiDecomposition/helpers/parseCollateralizedDebtPositions.d.ts +7 -0
  36. package/dist/src/features/defiDecomposition/helpers/parseCollateralizedDebtPositions.js +57 -0
  37. package/dist/src/features/defiDecomposition/helpers/parseConcentratedLiquidityPositions.cjs +1 -0
  38. package/dist/src/features/defiDecomposition/helpers/parseConcentratedLiquidityPositions.d.ts +4 -0
  39. package/dist/src/features/defiDecomposition/helpers/parseConcentratedLiquidityPositions.js +42 -0
  40. package/dist/src/features/defiDecomposition/helpers/parseDefiDecomposition.cjs +1 -0
  41. package/dist/src/features/defiDecomposition/helpers/parseDefiDecomposition.d.ts +4 -0
  42. package/dist/src/features/defiDecomposition/helpers/parseDefiDecomposition.js +63 -0
  43. package/dist/src/features/defiDecomposition/helpers/parseDelegatedTokensPositions.cjs +1 -0
  44. package/dist/src/features/defiDecomposition/helpers/parseDelegatedTokensPositions.d.ts +4 -0
  45. package/dist/src/features/defiDecomposition/helpers/parseDelegatedTokensPositions.js +27 -0
  46. package/dist/src/features/defiDecomposition/helpers/parseStakingPositions.cjs +1 -0
  47. package/dist/src/features/defiDecomposition/helpers/parseStakingPositions.d.ts +4 -0
  48. package/dist/src/features/defiDecomposition/helpers/parseStakingPositions.js +29 -0
  49. package/dist/src/features/defiDecomposition/helpers/parseStrkDelegatedStakingPositions.cjs +1 -0
  50. package/dist/src/features/defiDecomposition/helpers/parseStrkDelegatedStakingPositions.d.ts +4 -0
  51. package/dist/src/features/defiDecomposition/helpers/parseStrkDelegatedStakingPositions.js +27 -0
  52. package/dist/src/features/defiDecomposition/helpers/sortDescendingByUsdValue.cjs +1 -0
  53. package/dist/src/features/defiDecomposition/helpers/sortDescendingByUsdValue.d.ts +9 -0
  54. package/dist/src/features/defiDecomposition/helpers/sortDescendingByUsdValue.js +9 -0
  55. package/dist/src/features/defiDecomposition/index.d.ts +2 -0
  56. package/dist/src/features/defiDecomposition/schema.cjs +1 -0
  57. package/dist/src/features/defiDecomposition/schema.d.ts +16935 -0
  58. package/dist/src/features/defiDecomposition/schema.js +153 -0
  59. package/dist/src/features/paymaster/types.d.ts +20 -20
  60. package/dist/src/features/simulation/activity/schema.d.ts +356 -356
  61. package/dist/src/features/simulation/activity/utils/createNativeActivity.d.ts +8 -8
  62. package/dist/src/features/simulation/transactionReview/schema.d.ts +1484 -1484
  63. package/dist/src/features/swap/models/trade.model.d.ts +20 -0
  64. package/dist/src/staking/schema.d.ts +24 -24
  65. package/dist/src/tokens/service/types/backend.model.d.ts +8 -8
  66. package/dist/src/tokens/service/types/defiPosition.model.d.ts +576 -40
  67. package/dist/src/tokens/service/types/unclaimedRewards.model.d.ts +8 -8
  68. package/dist/src/tokens/service/types/webToken.model.cjs +1 -1
  69. package/dist/src/tokens/service/types/webToken.model.d.ts +36 -2
  70. package/dist/src/tokens/service/types/webToken.model.js +9 -7
  71. package/dist/src/transactions/equalTokens.cjs +1 -0
  72. package/dist/src/transactions/equalTokens.d.ts +2 -0
  73. package/dist/src/transactions/equalTokens.js +5 -0
  74. package/dist/src/transactions/errors.d.ts +4 -4
  75. package/dist/src/utils/starknet/starknet.d.ts +12 -12
  76. package/dist/src/utils/starknet/starknetSchemas.d.ts +212 -212
  77. package/package.json +6 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("zod"),t=n.z.object({name:n.z.string().optional(),address:n.z.string(),ownerAddress:n.z.string(),chain:n.z.enum(["ethereum","zksync","zksync2","starknet"]),deploymentStatus:n.z.enum(["notDeployed","deploying","deployed","deployError"]),application:n.z.enum(["mobile","webwallet","argentx"]),guardianAddresses:n.z.array(n.z.string()).optional(),enabledGuardianAddresses:n.z.array(n.z.string()).optional(),implClassHash:n.z.string().optional(),proxyClassHash:n.z.string().optional(),salt:n.z.string().optional(),created:n.z.string().optional(),contractVersion:n.z.string().optional(),contractName:n.z.string().optional(),version:n.z.number().optional(),owner:n.z.object({guid:n.z.string().optional(),signerType:n.z.enum(["StarknetKey","EthereumKey"]).optional()}).optional(),colour:n.z.string().optional(),icon:n.z.string().optional(),network:n.z.string().optional()}),o=n.z.object({address:n.z.string(),guardianAddress:n.z.string().optional(),account:t}),e=n.z.object({ownerAddress:n.z.string(),signature:n.z.object({r:n.z.string(),s:n.z.string()}),implClassHash:n.z.string().optional(),name:n.z.string().optional(),icon:n.z.string().optional(),network:n.z.string().optional()});exports.AddSmartAccountResponseSchema=o;exports.AddSmartAcountRequestSchema=e;exports.BackendAccountSchema=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("zod"),o=t.z.object({address:t.z.string(),networkId:t.z.string()}),n=t.z.object({name:t.z.string().optional(),address:t.z.string(),ownerAddress:t.z.string(),chain:t.z.enum(["ethereum","zksync","zksync2","starknet"]),deploymentStatus:t.z.enum(["notDeployed","deploying","deployed","deployError"]),application:t.z.enum(["mobile","webwallet","argentx"]),guardianAddresses:t.z.array(t.z.string()).optional(),enabledGuardianAddresses:t.z.array(t.z.string()).optional(),implClassHash:t.z.string().optional(),proxyClassHash:t.z.string().optional(),salt:t.z.string().optional(),created:t.z.string().optional(),contractVersion:t.z.string().optional(),contractName:t.z.string().optional(),version:t.z.number().optional(),owner:t.z.object({guid:t.z.string().optional(),signerType:t.z.enum(["StarknetKey","EthereumKey"]).optional()}).optional(),colour:t.z.string().optional(),icon:t.z.string().optional(),network:t.z.string().optional()}),e=t.z.object({address:t.z.string(),guardianAddress:t.z.string().optional(),account:n}),a=t.z.object({ownerAddress:t.z.string(),signature:t.z.object({r:t.z.string(),s:t.z.string()}),implClassHash:t.z.string().optional(),name:t.z.string().optional(),icon:t.z.string().optional(),network:t.z.string().optional()});exports.AddSmartAccountResponseSchema=e;exports.AddSmartAcountRequestSchema=a;exports.BackendAccountSchema=n;exports.baseWalletAccountSchema=o;
@@ -1,4 +1,15 @@
1
1
  import { z } from 'zod';
2
+ export declare const baseWalletAccountSchema: z.ZodObject<{
3
+ address: z.ZodString;
4
+ networkId: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ address: string;
7
+ networkId: string;
8
+ }, {
9
+ address: string;
10
+ networkId: string;
11
+ }>;
12
+ export type BaseWalletAccount = z.infer<typeof baseWalletAccountSchema>;
2
13
  export declare const BackendAccountSchema: z.ZodObject<{
3
14
  name: z.ZodOptional<z.ZodString>;
4
15
  address: z.ZodString;
@@ -1,5 +1,8 @@
1
1
  import { z as n } from "zod";
2
- const t = n.object({
2
+ const e = n.object({
3
+ address: n.string(),
4
+ networkId: n.string()
5
+ }), t = n.object({
3
6
  name: n.string().optional(),
4
7
  address: n.string(),
5
8
  ownerAddress: n.string(),
@@ -31,7 +34,7 @@ const t = n.object({
31
34
  address: n.string(),
32
35
  guardianAddress: n.string().optional(),
33
36
  account: t
34
- }), e = n.object({
37
+ }), s = n.object({
35
38
  ownerAddress: n.string(),
36
39
  signature: n.object({
37
40
  r: n.string(),
@@ -44,6 +47,7 @@ const t = n.object({
44
47
  });
45
48
  export {
46
49
  r as AddSmartAccountResponseSchema,
47
- e as AddSmartAcountRequestSchema,
48
- t as BackendAccountSchema
50
+ s as AddSmartAcountRequestSchema,
51
+ t as BackendAccountSchema,
52
+ e as baseWalletAccountSchema
49
53
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./computeUsdValueForPosition.cjs"),m=require("./sortDescendingByUsdValue.cjs"),r=require("../../../bigdecimal/parseUnits.cjs"),u=require("../../../bigdecimal/lib.cjs"),c=require("../../../bigdecimal/formatUnits.cjs"),U=(e,a,i)=>{const t=f.computeUsdValueForPosition(e.token,a,i);if(t)return{...e,token:{...e.token,usdValue:t}}},P=(e,a,i)=>{let t=r.parseUnits("0"),n=r.parseUnits("0");const s=e.collateralizedPositions.map(d=>{const l=U(d,a,i);return t=u.add(t,r.parseUnits((l==null?void 0:l.token.usdValue)||"0")),l}),o=e.debtPositions.map(d=>{const l=U(d,a,i);return n=u.add(n,r.parseUnits((l==null?void 0:l.token.usdValue)||"0")),l}),V=s.filter(d=>d!==void 0),p=o.filter(d=>d!==void 0);if(!V.length||!p.length)return;const b=u.sub(t,n);return{...e,totalUsdValue:c.formatUnits(b),collateralizedPositionsTotalUsdValue:c.formatUnits(t),debtPositionsTotalUsdValue:c.formatUnits(n),collateralizedPositions:V,debtPositions:p}},g=(e,a,i)=>{let t=r.parseUnits("0");const n=e.map(s=>{const o=U(s,a,i);return t=u.add(t,r.parseUnits((o==null?void 0:o.token.usdValue)||"0")),o}).filter(s=>s!==void 0).sort(m.sortDescendingByUsdValue)||[];return{totalUsdValue:c.formatUnits(t),positions:n}},z=(e,a,i)=>{let t=r.parseUnits("0");const n=e.map(s=>{const o=P(s,a,i);return t=u.add(t,r.parseUnits((o==null?void 0:o.totalUsdValue)||"0")),o}).filter(s=>s!==void 0).sort(m.sortDescendingByUsdValue)||[];return{totalUsdValue:c.formatUnits(t),positions:n}};exports.computeCollateralizedDebtBorrowingPositionUsdValue=P;exports.computeCollateralizedDebtBorrowingPositionsUsdValue=z;exports.computeCollateralizedDebtLendingPositionUsdValue=U;exports.computeCollateralizedDebtLendingPositionsUsdValue=g;
@@ -0,0 +1,6 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedCollateralizedDebtBorrowingPosition, ParsedCollateralizedDebtBorrowingPositionWithUsdValue, ParsedCollateralizedDebtLendingPosition, ParsedCollateralizedDebtPositionsWithUsdValue, ParsedCollateralizedDebtPositionWithUsdValue } from '../schema';
3
+ export declare const computeCollateralizedDebtLendingPositionUsdValue: (position: ParsedCollateralizedDebtLendingPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedCollateralizedDebtPositionWithUsdValue | undefined;
4
+ export declare const computeCollateralizedDebtBorrowingPositionUsdValue: (position: ParsedCollateralizedDebtBorrowingPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedCollateralizedDebtBorrowingPositionWithUsdValue | undefined;
5
+ export declare const computeCollateralizedDebtLendingPositionsUsdValue: (positions: ParsedCollateralizedDebtLendingPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedCollateralizedDebtPositionsWithUsdValue;
6
+ export declare const computeCollateralizedDebtBorrowingPositionsUsdValue: (positions: ParsedCollateralizedDebtBorrowingPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedCollateralizedDebtPositionsWithUsdValue;
@@ -0,0 +1,62 @@
1
+ import { computeUsdValueForPosition as P } from "./computeUsdValueForPosition.js";
2
+ import { sortDescendingByUsdValue as f } from "./sortDescendingByUsdValue.js";
3
+ import { parseUnits as n } from "../../../bigdecimal/parseUnits.js";
4
+ import { add as c, sub as b } from "../../../bigdecimal/lib.js";
5
+ import { formatUnits as u } from "../../../bigdecimal/formatUnits.js";
6
+ const V = (o, a, r) => {
7
+ const t = P(o.token, a, r);
8
+ if (t)
9
+ return {
10
+ ...o,
11
+ token: {
12
+ ...o.token,
13
+ usdValue: t
14
+ }
15
+ };
16
+ }, z = (o, a, r) => {
17
+ let t = n("0"), i = n("0");
18
+ const l = o.collateralizedPositions.map((d) => {
19
+ const s = V(d, a, r);
20
+ return t = c(t, n((s == null ? void 0 : s.token.usdValue) || "0")), s;
21
+ }), e = o.debtPositions.map((d) => {
22
+ const s = V(d, a, r);
23
+ return i = c(i, n((s == null ? void 0 : s.token.usdValue) || "0")), s;
24
+ }), m = l.filter((d) => d !== void 0), U = e.filter((d) => d !== void 0);
25
+ if (!m.length || !U.length)
26
+ return;
27
+ const p = b(t, i);
28
+ return {
29
+ ...o,
30
+ totalUsdValue: u(p),
31
+ collateralizedPositionsTotalUsdValue: u(t),
32
+ debtPositionsTotalUsdValue: u(i),
33
+ collateralizedPositions: m,
34
+ debtPositions: U
35
+ };
36
+ }, T = (o, a, r) => {
37
+ let t = n("0");
38
+ const i = o.map((l) => {
39
+ const e = V(l, a, r);
40
+ return t = c(t, n((e == null ? void 0 : e.token.usdValue) || "0")), e;
41
+ }).filter((l) => l !== void 0).sort(f) || [];
42
+ return {
43
+ totalUsdValue: u(t),
44
+ positions: i
45
+ };
46
+ }, B = (o, a, r) => {
47
+ let t = n("0");
48
+ const i = o.map((l) => {
49
+ const e = z(l, a, r);
50
+ return t = c(t, n((e == null ? void 0 : e.totalUsdValue) || "0")), e;
51
+ }).filter((l) => l !== void 0).sort(f) || [];
52
+ return {
53
+ totalUsdValue: u(t),
54
+ positions: i
55
+ };
56
+ };
57
+ export {
58
+ z as computeCollateralizedDebtBorrowingPositionUsdValue,
59
+ B as computeCollateralizedDebtBorrowingPositionsUsdValue,
60
+ V as computeCollateralizedDebtLendingPositionUsdValue,
61
+ T as computeCollateralizedDebtLendingPositionsUsdValue
62
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./computeUsdValueForPosition.cjs"),V=require("./sortDescendingByUsdValue.cjs"),d=require("../../../bigdecimal/lib.cjs"),u=require("../../../bigdecimal/parseUnits.cjs"),l=require("../../../bigdecimal/formatUnits.cjs"),c=(o,n,i)=>{const{token0:s,token1:a}=o,e=r.computeUsdValueForPosition(o.token0,n,i),t=r.computeUsdValueForPosition(o.token1,n,i);if(!e||!t)return;const U=d.add(u.parseUnits(e),u.parseUnits(t));return{...o,totalUsdValue:l.formatUnits(U),token0:{...s,usdValue:e},token1:{...a,usdValue:t}}},m=(o,n,i)=>{let s=u.parseUnits("0");const a=o.map(e=>{const t=c(e,n,i);return s=d.add(s,u.parseUnits((t==null?void 0:t.totalUsdValue)||"0")),t});return{totalUsdValue:l.formatUnits(s),positions:a.filter(e=>e!==void 0).sort(V.sortDescendingByUsdValue)}};exports.computeConcentratedLiquidityPositionUsdValue=c;exports.computeConcentratedLiquidityPositionsUsdValue=m;
@@ -0,0 +1,4 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedConcentratedLiquidityPosition, ParsedConcentratedLiquidityPositionWithUsdValue, ParsedConcentratedLiquidityPositionsWithUsdValue } from '../schema';
3
+ export declare const computeConcentratedLiquidityPositionUsdValue: (position: ParsedConcentratedLiquidityPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedConcentratedLiquidityPositionWithUsdValue | undefined;
4
+ export declare const computeConcentratedLiquidityPositionsUsdValue: (positions: ParsedConcentratedLiquidityPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedConcentratedLiquidityPositionsWithUsdValue;
@@ -0,0 +1,31 @@
1
+ import { computeUsdValueForPosition as d } from "./computeUsdValueForPosition.js";
2
+ import { sortDescendingByUsdValue as c } from "./sortDescendingByUsdValue.js";
3
+ import { add as l } from "../../../bigdecimal/lib.js";
4
+ import { parseUnits as a } from "../../../bigdecimal/parseUnits.js";
5
+ import { formatUnits as i } from "../../../bigdecimal/formatUnits.js";
6
+ const U = (e, n, r) => {
7
+ const { token0: s, token1: u } = e, o = d(e.token0, n, r), t = d(e.token1, n, r);
8
+ if (!o || !t)
9
+ return;
10
+ const m = l(a(o), a(t));
11
+ return {
12
+ ...e,
13
+ totalUsdValue: i(m),
14
+ token0: { ...s, usdValue: o },
15
+ token1: { ...u, usdValue: t }
16
+ };
17
+ }, q = (e, n, r) => {
18
+ let s = a("0");
19
+ const u = e.map((o) => {
20
+ const t = U(o, n, r);
21
+ return s = l(s, a((t == null ? void 0 : t.totalUsdValue) || "0")), t;
22
+ });
23
+ return {
24
+ totalUsdValue: i(s),
25
+ positions: u.filter((o) => o !== void 0).sort(c)
26
+ };
27
+ };
28
+ export {
29
+ U as computeConcentratedLiquidityPositionUsdValue,
30
+ q as computeConcentratedLiquidityPositionsUsdValue
31
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("./computeCollateralizedDebtPositionsUsdValue.cjs"),D=require("./computeConcentratedLiquidityPositionsUsdValue.cjs"),g=require("./computeDelegatedTokensPositionsUsdValue.cjs"),b=require("./computeStakingPositionsUsdValue.cjs"),h=require("./computeStrkDelegatedStakingPositionsUsdValue.cjs"),c=require("./sortDescendingByUsdValue.cjs"),a=require("../../../bigdecimal/parseUnits.cjs"),l=require("../../../bigdecimal/lib.cjs"),p=require("../../../bigdecimal/formatUnits.cjs"),f=require("../../../bigdecimal/utils.cjs"),q=(s,o,i)=>{let t,e=a.parseUnits("0");switch(s.type){case"concentratedLiquidityPosition":t=D.computeConcentratedLiquidityPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;case"collateralizedDebtLendingPosition":t=U.computeCollateralizedDebtLendingPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;case"collateralizedDebtBorrowingPosition":t=U.computeCollateralizedDebtBorrowingPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;case"delegatedTokens":t=g.computeDelegatedTokensPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;case"strkDelegatedStaking":t=h.computeStrkDelegatedStakingPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;case"staking":t=b.computeStakingPositionsUsdValue(s.positions,o,i),e=l.add(e,a.parseUnits(t.totalUsdValue));break;default:t={totalUsdValue:"0",positions:[]}}return{...s,positions:t.positions,totalUsdValue:p.formatUnits(e)}},V=(s,o,i)=>s.map(d=>{let n=a.parseUnits("0");const m=d.products.map(u=>{const r=q(u,o,i);return n=l.add(n,a.parseUnits(r.totalUsdValue)),r}).filter(u=>u.positions.length).sort(c.sortDescendingByUsdValue);return{...d,products:m,totalUsdValue:p.formatUnits(n)}}).filter(d=>d.products.length).sort(c.sortDescendingByUsdValue),P=(s,o,i)=>V(s,o,i).reduce((e,d)=>e+f.parseCurrency(d.totalUsdValue).value,0n);exports.computeDefiDecompositionUsdValue=V;exports.totalDefiDecompositionUsdValue=P;
@@ -0,0 +1,4 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedDefiDecomposition, ParsedDefiDecompositionWithUsdValue } from '../schema';
3
+ export declare const computeDefiDecompositionUsdValue: (defiDecomposition: ParsedDefiDecomposition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedDefiDecompositionWithUsdValue;
4
+ export declare const totalDefiDecompositionUsdValue: (defiDecomposition: ParsedDefiDecomposition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => bigint;
@@ -0,0 +1,55 @@
1
+ import { computeCollateralizedDebtBorrowingPositionsUsdValue as V, computeCollateralizedDebtLendingPositionsUsdValue as c } from "./computeCollateralizedDebtPositionsUsdValue.js";
2
+ import { computeConcentratedLiquidityPositionsUsdValue as f } from "./computeConcentratedLiquidityPositionsUsdValue.js";
3
+ import { computeDelegatedTokensPositionsUsdValue as D } from "./computeDelegatedTokensPositionsUsdValue.js";
4
+ import { computeStakingPositionsUsdValue as g } from "./computeStakingPositionsUsdValue.js";
5
+ import { computeStrkDelegatedStakingPositionsUsdValue as h } from "./computeStrkDelegatedStakingPositionsUsdValue.js";
6
+ import { sortDescendingByUsdValue as p } from "./sortDescendingByUsdValue.js";
7
+ import { parseUnits as a } from "../../../bigdecimal/parseUnits.js";
8
+ import { add as l } from "../../../bigdecimal/lib.js";
9
+ import { formatUnits as U } from "../../../bigdecimal/formatUnits.js";
10
+ import { parseCurrency as W } from "../../../bigdecimal/utils.js";
11
+ const b = (s, e, i) => {
12
+ let t, o = a("0");
13
+ switch (s.type) {
14
+ case "concentratedLiquidityPosition":
15
+ t = f(s.positions, e, i), o = l(o, a(t.totalUsdValue));
16
+ break;
17
+ case "collateralizedDebtLendingPosition":
18
+ t = c(s.positions, e, i), o = l(o, a(t.totalUsdValue));
19
+ break;
20
+ case "collateralizedDebtBorrowingPosition":
21
+ t = V(s.positions, e, i), o = l(o, a(t.totalUsdValue));
22
+ break;
23
+ case "delegatedTokens":
24
+ t = D(s.positions, e, i), o = l(o, a(t.totalUsdValue));
25
+ break;
26
+ case "strkDelegatedStaking":
27
+ t = h(s.positions, e, i), o = l(o, a(t.totalUsdValue));
28
+ break;
29
+ case "staking":
30
+ t = g(s.positions, e, i), o = l(o, a(t.totalUsdValue));
31
+ break;
32
+ default:
33
+ t = { totalUsdValue: "0", positions: [] };
34
+ }
35
+ return {
36
+ ...s,
37
+ positions: t.positions,
38
+ totalUsdValue: U(o)
39
+ };
40
+ }, P = (s, e, i) => s.map((d) => {
41
+ let r = a("0");
42
+ const m = d.products.map((u) => {
43
+ const n = b(u, e, i);
44
+ return r = l(r, a(n.totalUsdValue)), n;
45
+ }).filter((u) => u.positions.length).sort(p);
46
+ return {
47
+ ...d,
48
+ products: m,
49
+ totalUsdValue: U(r)
50
+ };
51
+ }).filter((d) => d.products.length).sort(p), x = (s, e, i) => P(s, e, i).reduce((o, d) => o + W(d.totalUsdValue).value, 0n);
52
+ export {
53
+ P as computeDefiDecompositionUsdValue,
54
+ x as totalDefiDecompositionUsdValue
55
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./computeUsdValueForPosition.cjs"),d=require("./sortDescendingByUsdValue.cjs"),u=require("../../../bigdecimal/parseUnits.cjs"),c=require("../../../bigdecimal/lib.cjs"),U=require("../../../bigdecimal/formatUnits.cjs"),i=(t,o,n)=>{const e=l.computeUsdValueForPosition(t.token,o,n);if(e)return{...t,token:{...t.token,usdValue:e}}},V=(t,o,n)=>{let e=u.parseUnits("0");const a=t.map(r=>{const s=i(r,o,n);return e=c.add(e,u.parseUnits((s==null?void 0:s.token.usdValue)||"0")),s});return{totalUsdValue:U.formatUnits(e),positions:a.filter(r=>r!==void 0).sort(d.sortDescendingByUsdValue)}};exports.computeDelegatedTokensPositionUsdValue=i;exports.computeDelegatedTokensPositionsUsdValue=V;
@@ -0,0 +1,4 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedDelegatedTokensPosition, ParsedDelegatedTokensPositionWithUsdValue, ParsedDelegatedTokensPositionsWithUsdValue } from '../schema';
3
+ export declare const computeDelegatedTokensPositionUsdValue: (position: ParsedDelegatedTokensPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedDelegatedTokensPositionWithUsdValue | undefined;
4
+ export declare const computeDelegatedTokensPositionsUsdValue: (positions: ParsedDelegatedTokensPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedDelegatedTokensPositionsWithUsdValue;
@@ -0,0 +1,30 @@
1
+ import { computeUsdValueForPosition as i } from "./computeUsdValueForPosition.js";
2
+ import { sortDescendingByUsdValue as m } from "./sortDescendingByUsdValue.js";
3
+ import { parseUnits as u } from "../../../bigdecimal/parseUnits.js";
4
+ import { add as d } from "../../../bigdecimal/lib.js";
5
+ import { formatUnits as l } from "../../../bigdecimal/formatUnits.js";
6
+ const p = (o, s, r) => {
7
+ const t = i(o.token, s, r);
8
+ if (t)
9
+ return {
10
+ ...o,
11
+ token: {
12
+ ...o.token,
13
+ usdValue: t
14
+ }
15
+ };
16
+ }, g = (o, s, r) => {
17
+ let t = u("0");
18
+ const a = o.map((n) => {
19
+ const e = p(n, s, r);
20
+ return t = d(t, u((e == null ? void 0 : e.token.usdValue) || "0")), e;
21
+ });
22
+ return {
23
+ totalUsdValue: l(t),
24
+ positions: a.filter((n) => n !== void 0).sort(m)
25
+ };
26
+ };
27
+ export {
28
+ p as computeDelegatedTokensPositionUsdValue,
29
+ g as computeDelegatedTokensPositionsUsdValue
30
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./computeUsdValueForPosition.cjs"),l=require("./sortDescendingByUsdValue.cjs"),r=require("../../../bigdecimal/parseUnits.cjs"),d=require("../../../bigdecimal/lib.cjs"),U=require("../../../bigdecimal/formatUnits.cjs"),u=(e,o,n)=>{const t=c.computeUsdValueForPosition(e.token,o,n);if(t)return{...e,token:{...e.token,usdValue:t}}},V=(e,o,n)=>{let t=r.parseUnits("0");const a=e.map(i=>{const s=u(i,o,n);return t=d.add(t,r.parseUnits((s==null?void 0:s.token.usdValue)||"0")),s});return{totalUsdValue:U.formatUnits(t),positions:a.filter(i=>i!==void 0).sort(l.sortDescendingByUsdValue)}};exports.computeStakingPositionUsdValue=u;exports.computeStakingPositionsUsdValue=V;
@@ -0,0 +1,4 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedStakingPosition, ParsedStakingPositionsWithUsdValue, ParsedStakingPositionWithUsdValue } from '../schema';
3
+ export declare const computeStakingPositionUsdValue: (position: ParsedStakingPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedStakingPositionWithUsdValue | undefined;
4
+ export declare const computeStakingPositionsUsdValue: (positions: ParsedStakingPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedStakingPositionsWithUsdValue;
@@ -0,0 +1,30 @@
1
+ import { computeUsdValueForPosition as a } from "./computeUsdValueForPosition.js";
2
+ import { sortDescendingByUsdValue as m } from "./sortDescendingByUsdValue.js";
3
+ import { parseUnits as i } from "../../../bigdecimal/parseUnits.js";
4
+ import { add as d } from "../../../bigdecimal/lib.js";
5
+ import { formatUnits as l } from "../../../bigdecimal/formatUnits.js";
6
+ const p = (o, r, s) => {
7
+ const t = a(o.token, r, s);
8
+ if (t)
9
+ return {
10
+ ...o,
11
+ token: {
12
+ ...o.token,
13
+ usdValue: t
14
+ }
15
+ };
16
+ }, g = (o, r, s) => {
17
+ let t = i("0");
18
+ const u = o.map((n) => {
19
+ const e = p(n, r, s);
20
+ return t = d(t, i((e == null ? void 0 : e.token.usdValue) || "0")), e;
21
+ });
22
+ return {
23
+ totalUsdValue: l(t),
24
+ positions: u.filter((n) => n !== void 0).sort(m)
25
+ };
26
+ };
27
+ export {
28
+ p as computeStakingPositionUsdValue,
29
+ g as computeStakingPositionsUsdValue
30
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./computeUsdValueForPosition.cjs"),d=require("./sortDescendingByUsdValue.cjs"),i=require("../../../bigdecimal/parseUnits.cjs"),c=require("../../../bigdecimal/lib.cjs"),U=require("../../../bigdecimal/formatUnits.cjs"),u=(t,o,n)=>{const e=l.computeUsdValueForPosition(t.token,o,n);if(e)return{...t,token:{...t.token,usdValue:e}}},g=(t,o,n)=>{let e=i.parseUnits("0");const a=t.map(r=>{const s=u(r,o,n);return e=c.add(e,i.parseUnits((s==null?void 0:s.token.usdValue)||"0")),s});return{totalUsdValue:U.formatUnits(e),positions:a.filter(r=>r!==void 0).sort(d.sortDescendingByUsdValue)}};exports.computeStrkDelegatedStakingPositionUsdValue=u;exports.computeStrkDelegatedStakingPositionsUsdValue=g;
@@ -0,0 +1,4 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { ParsedStrkDelegatedStakingPosition, ParsedStrkDelegatedStakingPositionWithUsdValue, ParsedStrkDelegatedStakingPositionsWithUsdValue } from '../schema';
3
+ export declare const computeStrkDelegatedStakingPositionUsdValue: (position: ParsedStrkDelegatedStakingPosition, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedStrkDelegatedStakingPositionWithUsdValue | undefined;
4
+ export declare const computeStrkDelegatedStakingPositionsUsdValue: (positions: ParsedStrkDelegatedStakingPosition[], tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => ParsedStrkDelegatedStakingPositionsWithUsdValue;
@@ -0,0 +1,30 @@
1
+ import { computeUsdValueForPosition as u } from "./computeUsdValueForPosition.js";
2
+ import { sortDescendingByUsdValue as m } from "./sortDescendingByUsdValue.js";
3
+ import { parseUnits as a } from "../../../bigdecimal/parseUnits.js";
4
+ import { add as d } from "../../../bigdecimal/lib.js";
5
+ import { formatUnits as l } from "../../../bigdecimal/formatUnits.js";
6
+ const p = (o, r, s) => {
7
+ const t = u(o.token, r, s);
8
+ if (t)
9
+ return {
10
+ ...o,
11
+ token: {
12
+ ...o.token,
13
+ usdValue: t
14
+ }
15
+ };
16
+ }, g = (o, r, s) => {
17
+ let t = a("0");
18
+ const i = o.map((n) => {
19
+ const e = p(n, r, s);
20
+ return t = d(t, a((e == null ? void 0 : e.token.usdValue) || "0")), e;
21
+ });
22
+ return {
23
+ totalUsdValue: l(t),
24
+ positions: i.filter((n) => n !== void 0).sort(m)
25
+ };
26
+ };
27
+ export {
28
+ p as computeStrkDelegatedStakingPositionUsdValue,
29
+ g as computeStrkDelegatedStakingPositionsUsdValue
30
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../transactions/equalTokens.cjs"),i=require("../../../tokens/convertTokenAmountToCurrencyValue.cjs"),a=(o,u,t)=>{const e=u.find(n=>c.equalToken(n,o));if(!e)return;const r=t.find(n=>n.pricingId===e.pricingId);if(r)return i.convertTokenAmountToCurrencyValue({amount:o.balance,decimals:e.decimals??18,unitCurrencyValue:r.ccyValue})};exports.computeUsdValueForPosition=a;
@@ -0,0 +1,3 @@
1
+ import { ApiPriceDetails, WebToken } from '../../../tokens';
2
+ import { PositionBaseToken } from '../schema';
3
+ export declare const computeUsdValueForPosition: (positionBaseToken: PositionBaseToken, tokens: WebToken[], tokenPrices: ApiPriceDetails[]) => string | undefined;
@@ -0,0 +1,17 @@
1
+ import { equalToken as c } from "../../../transactions/equalTokens.js";
2
+ import { convertTokenAmountToCurrencyValue as i } from "../../../tokens/convertTokenAmountToCurrencyValue.js";
3
+ const m = (e, t, u) => {
4
+ const n = t.find((r) => c(r, e));
5
+ if (!n)
6
+ return;
7
+ const o = u.find((r) => r.pricingId === n.pricingId);
8
+ if (o)
9
+ return i({
10
+ amount: e.balance,
11
+ decimals: n.decimals ?? 18,
12
+ unitCurrencyValue: o.ccyValue
13
+ });
14
+ };
15
+ export {
16
+ m as computeUsdValueForPosition
17
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={concentratedLiquidityPosition:"Providing liquidity",collateralizedDebtLendingPosition:"Lending",collateralizedDebtBorrowingPosition:"Borrowing",delegatedTokens:"Delegated governance",strkDelegatedStaking:"Native staking",staking:"Liquid staking"},i=e=>t[e]||"Unknown";exports.getProductTypeName=i;
@@ -0,0 +1 @@
1
+ export declare const getProductTypeName: (type: string) => string;
@@ -0,0 +1,11 @@
1
+ const i = {
2
+ concentratedLiquidityPosition: "Providing liquidity",
3
+ collateralizedDebtLendingPosition: "Lending",
4
+ collateralizedDebtBorrowingPosition: "Borrowing",
5
+ delegatedTokens: "Delegated governance",
6
+ strkDelegatedStaking: "Native staking",
7
+ staking: "Liquid staking"
8
+ }, t = (e) => i[e] || "Unknown";
9
+ export {
10
+ t as getProductTypeName
11
+ };
@@ -0,0 +1,13 @@
1
+ export * from './computeCollateralizedDebtPositionsUsdValue';
2
+ export * from './computeConcentratedLiquidityPositionsUsdValue';
3
+ export * from './computeDefiDecompositionUsdValue';
4
+ export * from './computeDelegatedTokensPositionsUsdValue';
5
+ export * from './computeStakingPositionsUsdValue';
6
+ export * from './computeStrkDelegatedStakingPositionsUsdValue';
7
+ export * from './computeUsdValueForPosition';
8
+ export * from './parseCollateralizedDebtPositions';
9
+ export * from './parseConcentratedLiquidityPositions';
10
+ export * from './parseDefiDecomposition';
11
+ export * from './parseDelegatedTokensPositions';
12
+ export * from './parseStrkDelegatedStakingPositions';
13
+ export * from './parseStakingPositions';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("lodash-es"),z=require("../../../tokens/utils.cjs"),D=(s,c)=>{if(s.type!=="collateralizedDebtPosition"||s.positions.length===0)return{lending:[],borrowing:[]};const u=s.positions.map(t=>{if(!z.isCollateralizedDebtPosition(t))return;const{id:e,data:n,totalBalances:l,tokenAddress:o}=t,{collateral:r,debt:i,lending:f,apy:P,group:h,totalApy:k}=n,a=[];if(Object.entries(l).map(([m,d])=>{a.push({address:m,balance:d.startsWith("-")?d.slice(1):d,networkId:c.networkId})}),a.length!==1)return;const y=o&&{address:o,networkId:c.networkId};return{id:e,lending:f,apy:P,totalApy:k,group:`${h}`,collateral:r,debt:i,token:a[0],liquidityToken:y}}).filter(t=>t!==void 0),b=u.filter(t=>t.lending&&!t.debt&&!t.collateral),g=w.groupBy(u,"group"),p=Object.entries(g).map(([t,e])=>{var o,r;if(Number.isNaN(Number(t)))return;const n=e.filter(i=>i.collateral),l=e.filter(i=>i.debt);return{id:e[0].id,group:t,healthRatio:(r=(o=s.groups)==null?void 0:o[t])==null?void 0:r.healthRatio,collateralizedPositions:n,debtPositions:l}}).filter(t=>t!=null);return{lending:b,borrowing:p}};exports.parseCollateralizedDebtPositions=D;
@@ -0,0 +1,7 @@
1
+ import { BaseWalletAccount } from '../../../account';
2
+ import { ApiDefiDecompositionProduct } from '../../../tokens';
3
+ import { ParsedCollateralizedDebtBorrowingPosition, ParsedCollateralizedDebtLendingPosition } from '../schema';
4
+ export declare const parseCollateralizedDebtPositions: (product: ApiDefiDecompositionProduct, account: BaseWalletAccount) => {
5
+ lending: ParsedCollateralizedDebtLendingPosition[];
6
+ borrowing: ParsedCollateralizedDebtBorrowingPosition[];
7
+ };
@@ -0,0 +1,57 @@
1
+ import { groupBy as y } from "lodash-es";
2
+ import { isCollateralizedDebtPosition as z } from "../../../tokens/utils.js";
3
+ const j = (r, c) => {
4
+ if (r.type !== "collateralizedDebtPosition" || r.positions.length === 0)
5
+ return {
6
+ lending: [],
7
+ borrowing: []
8
+ };
9
+ const p = r.positions.map((t) => {
10
+ if (!z(t))
11
+ return;
12
+ const { id: e, data: s, totalBalances: l, tokenAddress: o } = t, { collateral: n, debt: i, lending: f, apy: m, group: h, totalApy: k } = s, a = [];
13
+ if (Object.entries(l).map(([w, d]) => {
14
+ a.push({
15
+ address: w,
16
+ // don't store the negative value
17
+ balance: d.startsWith("-") ? d.slice(1) : d,
18
+ networkId: c.networkId
19
+ });
20
+ }), a.length !== 1)
21
+ return;
22
+ const P = o && {
23
+ address: o,
24
+ networkId: c.networkId
25
+ };
26
+ return {
27
+ id: e,
28
+ lending: f,
29
+ apy: m,
30
+ totalApy: k,
31
+ group: `${h}`,
32
+ collateral: n,
33
+ debt: i,
34
+ token: a[0],
35
+ liquidityToken: P
36
+ };
37
+ }).filter((t) => t !== void 0), g = p.filter((t) => t.lending && !t.debt && !t.collateral), u = y(p, "group"), b = Object.entries(u).map(([t, e]) => {
38
+ var o, n;
39
+ if (Number.isNaN(Number(t)))
40
+ return;
41
+ const s = e.filter((i) => i.collateral), l = e.filter((i) => i.debt);
42
+ return {
43
+ id: e[0].id,
44
+ group: t,
45
+ healthRatio: (n = (o = r.groups) == null ? void 0 : o[t]) == null ? void 0 : n.healthRatio,
46
+ collateralizedPositions: s,
47
+ debtPositions: l
48
+ };
49
+ }).filter((t) => t != null);
50
+ return {
51
+ lending: g,
52
+ borrowing: b
53
+ };
54
+ };
55
+ export {
56
+ j as parseCollateralizedDebtPositions
57
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../transactions/equalTokens.cjs"),I=require("../../../tokens/utils.cjs"),T=(e,n,t)=>e.type!=="concentratedLiquidityPosition"||e.positions.length===0?[]:e.positions.map(i=>{if(!I.isConcentratedLiquidityPosition(i))return;const{id:o,totalBalances:r,data:l,tokenAddress:d}=i,{poolFeePercentage:p,tickSpacingPercentage:k,token0:P,token1:q}=l,c=u(P,n.networkId,r,t),a=u(q,n.networkId,r,t);if(!c||!a)return;const y=d&&{address:d,networkId:n.networkId};return{id:o,poolFeePercentage:p,tickSpacingPercentage:k,token0:c,token1:a,liquidityToken:y}}).filter(i=>i!==void 0),u=(e,n,t,s)=>{const i=s.find(r=>f.equalToken(r,{address:e.tokenAddress,networkId:n}));if(!i)return;const o=t[e.tokenAddress];return{address:i.address,networkId:i.networkId,principal:e.principal,accruedFees:e.accruedFees,minPrice:e.minPrice,maxPrice:e.maxPrice,currentPrice:e.currentPrice,balance:o}};exports.parseConcentratedLiquidityPositions=T;
@@ -0,0 +1,4 @@
1
+ import { BaseWalletAccount } from '../../../account';
2
+ import { ApiDefiDecompositionProduct, WebToken } from '../../../tokens';
3
+ import { ParsedConcentratedLiquidityPosition } from '../schema';
4
+ export declare const parseConcentratedLiquidityPositions: (product: ApiDefiDecompositionProduct, account: BaseWalletAccount, tokens: WebToken[]) => ParsedConcentratedLiquidityPosition[];
@@ -0,0 +1,42 @@
1
+ import { equalToken as I } from "../../../transactions/equalTokens.js";
2
+ import { isConcentratedLiquidityPosition as q } from "../../../tokens/utils.js";
3
+ const T = (e, r, i) => e.type !== "concentratedLiquidityPosition" || e.positions.length === 0 ? [] : e.positions.map((n) => {
4
+ if (!q(n))
5
+ return;
6
+ const { id: o, totalBalances: t, data: k, tokenAddress: d } = n, { poolFeePercentage: u, tickSpacingPercentage: P, token0: l, token1: f } = k, c = p(l, r.networkId, t, i), a = p(f, r.networkId, t, i);
7
+ if (!c || !a)
8
+ return;
9
+ const m = d && {
10
+ address: d,
11
+ networkId: r.networkId
12
+ };
13
+ return {
14
+ id: o,
15
+ poolFeePercentage: u,
16
+ tickSpacingPercentage: P,
17
+ token0: c,
18
+ token1: a,
19
+ liquidityToken: m
20
+ };
21
+ }).filter((n) => n !== void 0), p = (e, r, i, s) => {
22
+ const n = s.find((t) => I(t, {
23
+ address: e.tokenAddress,
24
+ networkId: r
25
+ }));
26
+ if (!n)
27
+ return;
28
+ const o = i[e.tokenAddress];
29
+ return {
30
+ address: n.address,
31
+ networkId: n.networkId,
32
+ principal: e.principal,
33
+ accruedFees: e.accruedFees,
34
+ minPrice: e.minPrice,
35
+ maxPrice: e.maxPrice,
36
+ currentPrice: e.currentPrice,
37
+ balance: o
38
+ };
39
+ };
40
+ export {
41
+ T as parseConcentratedLiquidityPositions
42
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./getDefiProductName.cjs"),P=require("./parseCollateralizedDebtPositions.cjs"),c=require("./parseConcentratedLiquidityPositions.cjs"),u=require("./parseDelegatedTokensPositions.cjs"),D=require("./parseStakingPositions.cjs"),b=require("./parseStrkDelegatedStakingPositions.cjs"),k=(d,i,g)=>d.dapps.map(r=>{const p=r.products.flatMap(e=>{let t=[];switch(e.type){case"concentratedLiquidityPosition":t=c.parseConcentratedLiquidityPositions(e,i,g);break;case"collateralizedDebtPosition":{const{lending:a,borrowing:n}=P.parseCollateralizedDebtPositions(e,i),l={manageUrl:e.manageUrl,groups:e.groups},s=[];return a.length&&s.push({...l,positions:a,name:o.getProductTypeName("collateralizedDebtLendingPosition"),productId:`${e.productId}-lending`,type:"collateralizedDebtLendingPosition"}),n.length&&s.push({...l,positions:n,name:o.getProductTypeName("collateralizedDebtBorrowingPosition"),productId:`${e.productId}-borrowing`,type:"collateralizedDebtBorrowingPosition"}),s}case"delegatedTokens":t=u.parseDelegatedTokensPositions(e,i);break;case"strkDelegatedStaking":t=b.parseStrkDelegatedStakingPositions(e,i);break;case"staking":t=D.parseStakingPositions(e,i);break;default:t=[]}return t.length?[{productId:e.productId,type:e.type,manageUrl:e.manageUrl,name:o.getProductTypeName(e.type),positions:t,groups:e.groups}]:[]}).flat();return{dappId:r.dappId,products:p}});exports.parseDefiDecomposition=k;
@@ -0,0 +1,4 @@
1
+ import { BaseWalletAccount } from '../../../account';
2
+ import { ApiDefiPositions, WebToken } from '../../../tokens';
3
+ import { ParsedDefiDecomposition } from '../schema';
4
+ export declare const parseDefiDecomposition: (apiDefiPositions: ApiDefiPositions, account: BaseWalletAccount, tokens: WebToken[]) => ParsedDefiDecomposition;