@defisaver/positions-sdk 0.0.201-fluid-dev-6 → 0.0.201-fluid-dev-7

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.
@@ -59,3 +59,7 @@ export declare const getFluidDepositData: (web3: Web3, network: NetworkNumber, t
59
59
  deposited: string;
60
60
  depositedShares: string;
61
61
  }>;
62
+ export declare const getUserPositions: (web3: Web3, network: NetworkNumber, user: EthAddress) => Promise<{
63
+ marketData: FluidMarketData;
64
+ userData: FluidVaultData;
65
+ }[]>;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getFluidDepositData = exports.getFluidTokenData = exports.getAllFluidMarketDataChunked = exports.getFluidPositionWithMarket = exports.getFluidPosition = exports.getFluidVaultIdsForUser = exports.getFluidMarketData = exports.EMPTY_FLUID_DATA = exports.EMPTY_USED_ASSET = void 0;
15
+ exports.getUserPositions = exports.getFluidDepositData = exports.getFluidTokenData = exports.getAllFluidMarketDataChunked = exports.getFluidPositionWithMarket = exports.getFluidPosition = exports.getFluidVaultIdsForUser = exports.getFluidMarketData = exports.EMPTY_FLUID_DATA = exports.EMPTY_USED_ASSET = void 0;
16
16
  const decimal_js_1 = __importDefault(require("decimal.js"));
17
17
  const tokens_1 = require("@defisaver/tokens");
18
18
  const common_1 = require("../types/common");
@@ -261,3 +261,14 @@ const getFluidDepositData = (web3, network, token, address) => __awaiter(void 0,
261
261
  };
262
262
  });
263
263
  exports.getFluidDepositData = getFluidDepositData;
264
+ const getUserPositions = (web3, network, user) => __awaiter(void 0, void 0, void 0, function* () {
265
+ const view = (0, contracts_1.FluidViewContract)(web3, network);
266
+ const data = yield view.methods.getUserPositions(user).call();
267
+ const parsedMarketData = yield Promise.all(data.vaults.map((vaultData) => __awaiter(void 0, void 0, void 0, function* () { return parseMarketData(web3, vaultData, network); })));
268
+ const userData = data.positions.map((position, i) => parseUserData(position, parsedMarketData[i]));
269
+ return parsedMarketData.map((market, i) => ({
270
+ marketData: market,
271
+ userData: userData[i],
272
+ }));
273
+ });
274
+ exports.getUserPositions = getUserPositions;
@@ -59,3 +59,7 @@ export declare const getFluidDepositData: (web3: Web3, network: NetworkNumber, t
59
59
  deposited: string;
60
60
  depositedShares: string;
61
61
  }>;
62
+ export declare const getUserPositions: (web3: Web3, network: NetworkNumber, user: EthAddress) => Promise<{
63
+ marketData: FluidMarketData;
64
+ userData: FluidVaultData;
65
+ }[]>;
@@ -248,3 +248,13 @@ export const getFluidDepositData = (web3, network, token, address) => __awaiter(
248
248
  depositedShares: getEthAmountForDecimals(userPosition.fTokenShares, decimals),
249
249
  };
250
250
  });
251
+ export const getUserPositions = (web3, network, user) => __awaiter(void 0, void 0, void 0, function* () {
252
+ const view = FluidViewContract(web3, network);
253
+ const data = yield view.methods.getUserPositions(user).call();
254
+ const parsedMarketData = yield Promise.all(data.vaults.map((vaultData) => __awaiter(void 0, void 0, void 0, function* () { return parseMarketData(web3, vaultData, network); })));
255
+ const userData = data.positions.map((position, i) => parseUserData(position, parsedMarketData[i]));
256
+ return parsedMarketData.map((market, i) => ({
257
+ marketData: market,
258
+ userData: userData[i],
259
+ }));
260
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.201-fluid-dev-6",
3
+ "version": "0.0.201-fluid-dev-7",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -326,4 +326,19 @@ export const getFluidDepositData = async (web3: Web3, network: NetworkNumber, to
326
326
  deposited: getEthAmountForDecimals(userPosition.underlyingAssets, decimals),
327
327
  depositedShares: getEthAmountForDecimals(userPosition.fTokenShares, decimals),
328
328
  };
329
+ };
330
+
331
+ export const getUserPositions = async (web3: Web3, network: NetworkNumber, user: EthAddress) => {
332
+ const view = FluidViewContract(web3, network);
333
+
334
+ const data = await view.methods.getUserPositions(user).call();
335
+
336
+ const parsedMarketData = await Promise.all(data.vaults.map(async (vaultData) => parseMarketData(web3, vaultData, network)));
337
+
338
+ const userData = data.positions.map((position, i) => parseUserData(position, parsedMarketData[i]));
339
+
340
+ return parsedMarketData.map((market, i) => ({
341
+ marketData: market,
342
+ userData: userData[i],
343
+ }));
329
344
  };