@defisaver/positions-sdk 0.0.201-fluid-dev-3 → 0.0.201-fluid-dev-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/cjs/config/contracts.d.ts +15 -0
- package/cjs/config/contracts.js +7 -2
- package/cjs/fluid/index.d.ts +8 -0
- package/cjs/fluid/index.js +22 -4
- package/cjs/markets/fluid/index.d.ts +21 -6
- package/cjs/markets/fluid/index.js +135 -101
- package/cjs/markets/index.d.ts +1 -1
- package/cjs/markets/index.js +2 -1
- package/cjs/multicall/index.js +1 -0
- package/cjs/services/priceService.d.ts +1 -0
- package/cjs/services/priceService.js +29 -1
- package/cjs/types/fluid.d.ts +5 -11
- package/cjs/types/fluid.js +2 -8
- package/esm/config/contracts.d.ts +15 -0
- package/esm/config/contracts.js +7 -2
- package/esm/fluid/index.d.ts +8 -0
- package/esm/fluid/index.js +23 -6
- package/esm/markets/fluid/index.d.ts +21 -6
- package/esm/markets/fluid/index.js +133 -98
- package/esm/markets/index.d.ts +1 -1
- package/esm/markets/index.js +1 -1
- package/esm/multicall/index.js +1 -0
- package/esm/services/priceService.d.ts +1 -0
- package/esm/services/priceService.js +27 -0
- package/esm/types/fluid.d.ts +5 -11
- package/esm/types/fluid.js +2 -8
- package/package.json +1 -1
- package/src/config/contracts.js +7 -2
- package/src/fluid/index.ts +26 -7
- package/src/markets/fluid/index.ts +140 -99
- package/src/markets/index.ts +3 -1
- package/src/multicall/index.ts +1 -0
- package/src/services/priceService.ts +29 -0
- package/src/types/fluid.ts +2 -8
package/esm/types/fluid.js
CHANGED
|
@@ -7,8 +7,6 @@ export var FluidMainnetVersion;
|
|
|
7
7
|
FluidMainnetVersion["WSTETH_USDC_4"] = "WSTETH_USDC_4";
|
|
8
8
|
FluidMainnetVersion["WSTETH_USDT_5"] = "WSTETH_USDT_5";
|
|
9
9
|
FluidMainnetVersion["WEETH_WSTETH_6"] = "WEETH_WSTETH_6";
|
|
10
|
-
FluidMainnetVersion["SUSDE_USDC_7"] = "SUSDE_USDC_7";
|
|
11
|
-
FluidMainnetVersion["SUSDE_USDT_8"] = "SUSDE_USDT_8";
|
|
12
10
|
FluidMainnetVersion["WEETH_USDC_9"] = "WEETH_USDC_9";
|
|
13
11
|
FluidMainnetVersion["WEETH_USDT_10"] = "WEETH_USDT_10";
|
|
14
12
|
FluidMainnetVersion["ETH_USDC_11"] = "ETH_USDC_11";
|
|
@@ -33,7 +31,6 @@ export var FluidMainnetVersion;
|
|
|
33
31
|
FluidMainnetVersion["CBBTC_USDT_30"] = "CBBTC_USDT_30";
|
|
34
32
|
FluidMainnetVersion["ETH_CBBTC_31"] = "ETH_CBBTC_31";
|
|
35
33
|
FluidMainnetVersion["WEETH_CBBTC_32"] = "WEETH_CBBTC_32";
|
|
36
|
-
FluidMainnetVersion["WSTETH_CBBTC_33"] = "WSTETH_CBBTC_33";
|
|
37
34
|
FluidMainnetVersion["WSTETH_ETH_WSTETH_ETH_44"] = "WSTETH_ETH_WSTETH_ETH_44";
|
|
38
35
|
FluidMainnetVersion["ETH_USDC_USDT_45"] = "ETH_USDC_USDT_45";
|
|
39
36
|
FluidMainnetVersion["WSTETH_USDC_USDT_46"] = "WSTETH_USDC_USDT_46";
|
|
@@ -49,8 +46,6 @@ export var FluidMainnetVersion;
|
|
|
49
46
|
FluidMainnetVersion["SUSDE_GHO_56"] = "SUSDE_GHO_56";
|
|
50
47
|
FluidMainnetVersion["WEETH_GHO_57"] = "WEETH_GHO_57";
|
|
51
48
|
FluidMainnetVersion["SUSDS_GHO_58"] = "SUSDS_GHO_58";
|
|
52
|
-
FluidMainnetVersion["WBTC_GHO_59"] = "WBTC_GHO_59";
|
|
53
|
-
FluidMainnetVersion["CBBTC_GHO_60"] = "CBBTC_GHO_60";
|
|
54
49
|
FluidMainnetVersion["GHO_USDC_GHO_USDC_61"] = "GHO_USDC_GHO_USDC_61";
|
|
55
50
|
FluidMainnetVersion["WEETH_ETH_WSTETH_74"] = "WEETH_ETH_WSTETH_74";
|
|
56
51
|
FluidMainnetVersion["USDC_ETH_USDC_ETH_77"] = "USDC_ETH_USDC_ETH_77";
|
|
@@ -106,9 +101,6 @@ export var FluidBaseVersions;
|
|
|
106
101
|
FluidBaseVersions["ETH_CBBTC_14_BASE"] = "ETH_CBBTC_14_BASE";
|
|
107
102
|
FluidBaseVersions["WEETH_CBBTC_15_BASE"] = "WEETH_CBBTC_15_BASE";
|
|
108
103
|
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";
|
|
112
104
|
})(FluidBaseVersions || (FluidBaseVersions = {}));
|
|
113
105
|
export var FluidMainnetDepositToken;
|
|
114
106
|
(function (FluidMainnetDepositToken) {
|
|
@@ -117,6 +109,7 @@ export var FluidMainnetDepositToken;
|
|
|
117
109
|
FluidMainnetDepositToken["USDC"] = "USDC";
|
|
118
110
|
FluidMainnetDepositToken["USDT"] = "USDT";
|
|
119
111
|
FluidMainnetDepositToken["GHO"] = "GHO";
|
|
112
|
+
FluidMainnetDepositToken["sUSDS"] = "sUSDS";
|
|
120
113
|
})(FluidMainnetDepositToken || (FluidMainnetDepositToken = {}));
|
|
121
114
|
export var FluidArbitrumDepositToken;
|
|
122
115
|
(function (FluidArbitrumDepositToken) {
|
|
@@ -132,6 +125,7 @@ export var FluidBaseDepositToken;
|
|
|
132
125
|
FluidBaseDepositToken["USDC"] = "USDC";
|
|
133
126
|
FluidBaseDepositToken["wstETH"] = "wstETH";
|
|
134
127
|
FluidBaseDepositToken["EURC"] = "EURC";
|
|
128
|
+
FluidBaseDepositToken["sUSDS"] = "sUSDS";
|
|
135
129
|
})(FluidBaseDepositToken || (FluidBaseDepositToken = {}));
|
|
136
130
|
export var FluidVaultType;
|
|
137
131
|
(function (FluidVaultType) {
|
package/package.json
CHANGED
package/src/config/contracts.js
CHANGED
|
@@ -1015,7 +1015,9 @@ module.exports = {
|
|
|
1015
1015
|
"ETHPriceFeed": {
|
|
1016
1016
|
"abi": [{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"address","name":"_accessController","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":true,"internalType":"address","name":"startedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"startedAt","type":"uint256"}],"name":"NewRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessController","outputs":[{"internalType":"contract AccessControllerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"confirmAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"phaseAggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"phaseId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"proposeAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proposedAggregator","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"proposedGetRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposedLatestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_accessController","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
|
|
1017
1017
|
"networks": {
|
|
1018
|
-
"1": { "address": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" }
|
|
1018
|
+
"1": { "address": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" },
|
|
1019
|
+
"8453": { "address": "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70" },
|
|
1020
|
+
"42161": { "address": "0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612" }
|
|
1019
1021
|
},
|
|
1020
1022
|
},
|
|
1021
1023
|
"USDCPriceFeed": {
|
|
@@ -1027,7 +1029,9 @@ module.exports = {
|
|
|
1027
1029
|
"WstETHPriceFeed": {
|
|
1028
1030
|
"abi": [{"inputs":[{"internalType":"address","name":"stETHtoETHPriceFeed_","type":"address"},{"internalType":"address","name":"wstETH_","type":"address"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BadDecimals","type":"error"},{"inputs":[],"name":"InvalidInt256","type":"error"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stETHToETHPriceFeedDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stETHtoETHPriceFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wstETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wstETHScale","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"}],
|
|
1029
1031
|
"networks": {
|
|
1030
|
-
"1": { "address": "0x4F67e4d9BD67eFa28236013288737D39AeF48e79" }
|
|
1032
|
+
"1": { "address": "0x4F67e4d9BD67eFa28236013288737D39AeF48e79" },
|
|
1033
|
+
"8453": { "address": "0x43a5C292A453A3bF3606fa856197f09D7B74251a" },
|
|
1034
|
+
"42161": { "address": "0xb523AE262D20A936BC152e6023996e46FDC2A95D" }
|
|
1031
1035
|
}
|
|
1032
1036
|
},
|
|
1033
1037
|
"MorphoBlueView": {
|
|
@@ -1073,6 +1077,7 @@ module.exports = {
|
|
|
1073
1077
|
"abi": [{"inputs":[],"name":"NonContractCall","type":"error"},{"inputs":[],"name":"SenderNotAdmin","type":"error"},{"inputs":[],"name":"SenderNotOwner","type":"error"},{"inputs":[],"name":"adminVault","outputs":[{"internalType":"contract AdminVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"aggregators","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"getFeed","outputs":[{"internalType":"address","name":"aggregator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"address","name":"aggregator","type":"address"}],"name":"setFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bases","type":"address[]"},{"internalType":"address[]","name":"quotes","type":"address[]"},{"internalType":"address[]","name":"aggregator","type":"address[]"}],"name":"setFeeds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawStuckFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}],
|
|
1074
1078
|
"networks": {
|
|
1075
1079
|
"8453": { "address": "0x7dFF34190d0307fC234fc7E8C152C9715083eB02" },
|
|
1080
|
+
"42161": { "address": "0x158E27De8B5E5bC3FA1C6D5b365a291c54f6b0Fd" }
|
|
1076
1081
|
}
|
|
1077
1082
|
},
|
|
1078
1083
|
"LlamaLendView": {
|
package/src/fluid/index.ts
CHANGED
|
@@ -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,9 +17,9 @@ 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';
|
|
20
|
+
import { getFluidMarketInfoById, getFluidVersionsDataForNetwork, getFTokenAddress } from '../markets';
|
|
21
21
|
import { USD_QUOTE } from '../constants';
|
|
22
|
-
import { getChainlinkAssetAddress,
|
|
22
|
+
import { getChainlinkAssetAddress, getWstETHPriceFluid } from '../services/priceService';
|
|
23
23
|
|
|
24
24
|
export const EMPTY_USED_ASSET = {
|
|
25
25
|
isSupplied: false,
|
|
@@ -43,8 +43,8 @@ const parseVaultType = (vaultType: number) => {
|
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
const parseMarketData = async (web3: Web3, data: FluidView.VaultDataStructOutputStruct, network: NetworkNumber) => {
|
|
46
|
-
const collAsset = getAssetInfoByAddress(data.supplyToken0);
|
|
47
|
-
const debtAsset = getAssetInfoByAddress(data.borrowToken0);
|
|
46
|
+
const collAsset = getAssetInfoByAddress(data.supplyToken0, network);
|
|
47
|
+
const debtAsset = getAssetInfoByAddress(data.borrowToken0, network);
|
|
48
48
|
|
|
49
49
|
const supplyRate = new Dec(data.supplyRateVault).div(100).toString();
|
|
50
50
|
const borrowRate = new Dec(data.borrowRateVault).div(100).toString();
|
|
@@ -60,7 +60,7 @@ const parseMarketData = async (web3: Web3, data: FluidView.VaultDataStructOutput
|
|
|
60
60
|
let loanTokenPrice;
|
|
61
61
|
if (debtAsset.symbol === 'wstETH') {
|
|
62
62
|
// need to handle wstETH for l2s inside getWstETHPrice
|
|
63
|
-
loanTokenPrice = await
|
|
63
|
+
loanTokenPrice = await getWstETHPriceFluid(web3, network);
|
|
64
64
|
} else if (isMainnet) {
|
|
65
65
|
const feedRegistryContract = FeedRegistryContract(web3, NetworkNumber.Eth);
|
|
66
66
|
loanTokenPrice = isTokenUSDA ? '100000000' : await feedRegistryContract.methods.latestAnswer(loanTokenFeedAddress, USD_QUOTE).call();
|
|
@@ -275,5 +275,24 @@ export const getAllFluidMarketDataChunked = async (network: NetworkNumber, web3:
|
|
|
275
275
|
}));
|
|
276
276
|
|
|
277
277
|
const data = await chunkAndMulticall(calls, 10, 'latest', web3, network);
|
|
278
|
+
// @ts-ignore
|
|
278
279
|
return Promise.all(data.map(async (item, i) => parseMarketData(web3, item.vaultData, network)));
|
|
279
|
-
};
|
|
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
|
+
|