@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.201-fluid-dev-3",
3
+ "version": "0.0.201-fluid-dev-5",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -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": {
@@ -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, getWstETHPrice } from '../services/priceService';
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 getWstETHPrice(web3);
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
+