@defisaver/positions-sdk 0.0.201-fluid-dev-2 → 0.0.201-fluid-dev-4

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.
@@ -74,8 +74,19 @@ export var FluidArbitrumVersion;
74
74
  FluidArbitrumVersion["ETH_ARB_9_ARB"] = "ETH_ARB_9_ARB";
75
75
  FluidArbitrumVersion["ARB_USDC_10_ARB"] = "ARB_USDC_10_ARB";
76
76
  FluidArbitrumVersion["ARB_USDT_11_ARB"] = "ARB_USDT_11_ARB";
77
+ FluidArbitrumVersion["WBTC_USDC_12_ARB"] = "WBTC_USDC_12_ARB";
78
+ FluidArbitrumVersion["WBTC_USDT_13_ARB"] = "WBTC_USDT_13_ARB";
77
79
  FluidArbitrumVersion["WSTETH_ETH_WSTETH_ETH_16_ARB"] = "WSTETH_ETH_WSTETH_ETH_16_ARB";
78
80
  FluidArbitrumVersion["WEETH_ETH_WSTETH_17_ARB"] = "WEETH_ETH_WSTETH_17_ARB";
81
+ FluidArbitrumVersion["WBTC_ETH_18_ARB"] = "WBTC_ETH_18_ARB";
82
+ FluidArbitrumVersion["ETH_WBTC_19_ARB"] = "ETH_WBTC_19_ARB";
83
+ FluidArbitrumVersion["WSTETH_WBTC_20_ARB"] = "WSTETH_WBTC_20_ARB";
84
+ FluidArbitrumVersion["WEETH_WBTC_21_ARB"] = "WEETH_WBTC_21_ARB";
85
+ FluidArbitrumVersion["USDC_ETH_USDC_ETH_22_ARB"] = "USDC_ETH_USDC_ETH_22_ARB";
86
+ FluidArbitrumVersion["ETH_USDC_USDT_23_ARB"] = "ETH_USDC_USDT_23_ARB";
87
+ FluidArbitrumVersion["WSTETH_USDC_USDT_24_ARB"] = "WSTETH_USDC_USDT_24_ARB";
88
+ FluidArbitrumVersion["WEETH_USDC_USDT_25_ARB"] = "WEETH_USDC_USDT_25_ARB";
89
+ FluidArbitrumVersion["WBTC_USDC_USDT_26_ARB"] = "WBTC_USDC_USDT_26_ARB";
79
90
  })(FluidArbitrumVersion || (FluidArbitrumVersion = {}));
80
91
  export var FluidBaseVersions;
81
92
  (function (FluidBaseVersions) {
@@ -95,6 +106,9 @@ export var FluidBaseVersions;
95
106
  FluidBaseVersions["ETH_CBBTC_14_BASE"] = "ETH_CBBTC_14_BASE";
96
107
  FluidBaseVersions["WEETH_CBBTC_15_BASE"] = "WEETH_CBBTC_15_BASE";
97
108
  FluidBaseVersions["WSTETH_CBBTC_16_BASE"] = "WSTETH_CBBTC_16_BASE";
109
+ FluidBaseVersions["ETH_SUSDS_17_BASE"] = "ETH_SUSDS_17_BASE";
110
+ FluidBaseVersions["WSTETH_SUSDS_18_BASE"] = "WSTETH_SUSDS_18_BASE";
111
+ FluidBaseVersions["CBBTC_SUSDS_19_BASE"] = "CBBTC_SUSDS_19_BASE";
98
112
  })(FluidBaseVersions || (FluidBaseVersions = {}));
99
113
  export var FluidMainnetDepositToken;
100
114
  (function (FluidMainnetDepositToken) {
@@ -103,6 +117,7 @@ export var FluidMainnetDepositToken;
103
117
  FluidMainnetDepositToken["USDC"] = "USDC";
104
118
  FluidMainnetDepositToken["USDT"] = "USDT";
105
119
  FluidMainnetDepositToken["GHO"] = "GHO";
120
+ FluidMainnetDepositToken["sUSDS"] = "sUSDS";
106
121
  })(FluidMainnetDepositToken || (FluidMainnetDepositToken = {}));
107
122
  export var FluidArbitrumDepositToken;
108
123
  (function (FluidArbitrumDepositToken) {
@@ -118,6 +133,7 @@ export var FluidBaseDepositToken;
118
133
  FluidBaseDepositToken["USDC"] = "USDC";
119
134
  FluidBaseDepositToken["wstETH"] = "wstETH";
120
135
  FluidBaseDepositToken["EURC"] = "EURC";
136
+ FluidBaseDepositToken["sUSDS"] = "sUSDS";
121
137
  })(FluidBaseDepositToken || (FluidBaseDepositToken = {}));
122
138
  export var FluidVaultType;
123
139
  (function (FluidVaultType) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.201-fluid-dev-2",
3
+ "version": "0.0.201-fluid-dev-4",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -1,6 +1,6 @@
1
1
  import Web3 from 'web3';
2
2
  import Dec from 'decimal.js';
3
- import { getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
3
+ import { assetAmountInEth, getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
4
4
  import { EthAddress, NetworkNumber } from '../types/common';
5
5
  import {
6
6
  FluidAggregatedVaultData,
@@ -17,7 +17,7 @@ import { getEthAmountForDecimals, isMainnetNetwork } from '../services/utils';
17
17
  import { getFluidAggregatedData } from '../helpers/fluidHelpers';
18
18
  import { FluidView } from '../types/contracts/generated';
19
19
  import { chunkAndMulticall } from '../multicall';
20
- import { getFluidMarketInfoById, getFluidVersionsDataForNetwork } from '../markets/fluid';
20
+ import { getFluidMarketInfoById, getFluidVersionsDataForNetwork, getFTokenAddress } from '../markets';
21
21
  import { USD_QUOTE } from '../constants';
22
22
  import { getChainlinkAssetAddress, getWstETHPrice } from '../services/priceService';
23
23
 
@@ -106,6 +106,7 @@ const parseMarketData = async (web3: Web3, data: FluidView.VaultDataStructOutput
106
106
  const totalBorrowVault = getEthAmountForDecimals(data.totalBorrowVault, debtAsset.decimals);
107
107
 
108
108
  const liqRatio = new Dec(data.liquidationThreshold).div(100).toString();
109
+ const liquidationMaxLimit = new Dec(data.liquidationMaxLimit).div(100).toString();
109
110
  const liqFactor = new Dec(data.liquidationThreshold).div(10_000).toString();
110
111
 
111
112
  const marketData = {
@@ -127,7 +128,7 @@ const parseMarketData = async (web3: Web3, data: FluidView.VaultDataStructOutput
127
128
  totalSupplyVault,
128
129
  totalBorrowVault,
129
130
  totalSupplyVaultUsd: new Dec(totalSupplyVault).mul(collAssetData.price).toString(),
130
- totalBorrowVaultUsd: new Dec(totalSupplyVault).mul(debtAssetData.price).toString(),
131
+ totalBorrowVaultUsd: new Dec(totalBorrowVault).mul(debtAssetData.price).toString(),
131
132
  withdrawalLimit: getEthAmountForDecimals(data.withdrawalLimit, collAsset.decimals),
132
133
  withdrawableUntilLimit: getEthAmountForDecimals(data.withdrawableUntilLimit, collAsset.decimals),
133
134
  withdrawable: getEthAmountForDecimals(data.withdrawable, collAsset.decimals),
@@ -138,6 +139,7 @@ const parseMarketData = async (web3: Web3, data: FluidView.VaultDataStructOutput
138
139
  maxBorrowLimit: getEthAmountForDecimals(data.maxBorrowLimit, debtAsset.decimals),
139
140
  baseBorrowLimit: getEthAmountForDecimals(data.baseBorrowLimit, debtAsset.decimals),
140
141
  minimumBorrowing: getEthAmountForDecimals(data.minimumBorrowing, debtAsset.decimals),
142
+ liquidationMaxLimit,
141
143
  borrowRate,
142
144
  supplyRate,
143
145
  };
@@ -273,5 +275,24 @@ export const getAllFluidMarketDataChunked = async (network: NetworkNumber, web3:
273
275
  }));
274
276
 
275
277
  const data = await chunkAndMulticall(calls, 10, 'latest', web3, network);
278
+ // @ts-ignore
276
279
  return Promise.all(data.map(async (item, i) => parseMarketData(web3, item.vaultData, network)));
277
- };
280
+ };
281
+
282
+ export const getFluidTokenData = async (web3: Web3, network: NetworkNumber, token: string) => {
283
+ const view = FluidViewContract(web3, network);
284
+ const fTokenAddress = getFTokenAddress(token, network);
285
+ const data = await view.methods.getFTokenData(fTokenAddress).call();
286
+ const supplyRate = new Dec(data.supplyRate).div(100).toString();
287
+ const decimals = data.decimals;
288
+ const rewardsRate = new Dec(assetAmountInEth(data.rewardsRate)).div(100).toString();
289
+ return {
290
+ fTokenAddress,
291
+ fTokenSymbol: data.symbol,
292
+ decimals,
293
+ totalDeposited: getEthAmountForDecimals(data.totalAssets, decimals),
294
+ withdrawable: getEthAmountForDecimals(data.withdrawable, decimals),
295
+ apy: new Dec(supplyRate).add(rewardsRate).toString(),
296
+ };
297
+ };
298
+