@defisaver/positions-sdk 0.0.54 → 0.0.55

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.
@@ -102,7 +102,7 @@ function getMorphoBlueMarketData(web3, network, selectedMarket, mainnetWeb3) {
102
102
  canBeSupplied: true,
103
103
  canBeBorrowed: false,
104
104
  };
105
- if (['wstETH', 'cbETH', 'rETH'].includes(collateralTokenInfo.symbol)) {
105
+ if (['wstETH', 'cbETH', 'rETH', 'sUSDe'].includes(collateralTokenInfo.symbol)) {
106
106
  assetsData[collateralTokenInfo.symbol].incentiveSupplyApy = yield (0, staking_1.getStakingApy)(collateralTokenInfo.symbol, mainnetWeb3);
107
107
  assetsData[collateralTokenInfo.symbol].incentiveSupplyToken = collateralTokenInfo.symbol;
108
108
  }
@@ -4,6 +4,7 @@ export declare const getStETHApr: (web3: Web3, fromBlock?: number, blockNumber?:
4
4
  export declare const getCbETHApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
5
5
  export declare const getREthApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
6
6
  export declare const getDsrApy: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
7
+ export declare const getSUSDeApy: () => Promise<any>;
7
8
  export declare const getStakingApy: (asset: string, web3: Web3, blockNumber?: 'latest' | number, fromBlock?: number | undefined) => Promise<any> | undefined;
8
9
  export declare const calculateInterestEarned: (principal: string, interest: string, type: string, apy?: boolean) => number;
9
10
  export declare const calculateNetApy: (usedAssets: MMUsedAssets, assetsData: MMAssetsData, isMorpho?: boolean) => {
@@ -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.getStETHByWstETHMultiple = exports.getStETHByWstETH = exports.getWstETHByStETH = exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.getDsrApy = exports.getREthApr = exports.getCbETHApr = exports.getStETHApr = void 0;
15
+ exports.getStETHByWstETHMultiple = exports.getStETHByWstETH = exports.getWstETHByStETH = exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.getSUSDeApy = exports.getDsrApy = exports.getREthApr = exports.getCbETHApr = exports.getStETHApr = void 0;
16
16
  const decimal_js_1 = __importDefault(require("decimal.js"));
17
17
  const contracts_1 = require("../contracts");
18
18
  const common_1 = require("../types/common");
@@ -86,6 +86,12 @@ const getDsrApy = (web3, blockNumber = 'latest') => __awaiter(void 0, void 0, vo
86
86
  .toString();
87
87
  });
88
88
  exports.getDsrApy = getDsrApy;
89
+ const getSUSDeApy = () => __awaiter(void 0, void 0, void 0, function* () {
90
+ const res = yield fetch('https://www.ethena.fi/api/yields/protocol-and-staking-yield');
91
+ const data = yield res.json();
92
+ return data.stakingYield.value;
93
+ });
94
+ exports.getSUSDeApy = getSUSDeApy;
89
95
  const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
90
96
  if (asset === 'stETH' || asset === 'wstETH')
91
97
  return (0, exports.getStETHApr)(web3, fromBlock, blockNumber);
@@ -95,6 +101,8 @@ const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefine
95
101
  return (0, exports.getREthApr)(web3, blockNumber);
96
102
  if (asset === 'sDAI')
97
103
  return (0, exports.getDsrApy)(web3);
104
+ if (asset === 'sUSDe')
105
+ return (0, exports.getSUSDeApy)();
98
106
  };
99
107
  exports.getStakingApy = getStakingApy;
100
108
  const calculateInterestEarned = (principal, interest, type, apy = false) => {
@@ -96,7 +96,7 @@ export function getMorphoBlueMarketData(web3, network, selectedMarket, mainnetWe
96
96
  canBeSupplied: true,
97
97
  canBeBorrowed: false,
98
98
  };
99
- if (['wstETH', 'cbETH', 'rETH'].includes(collateralTokenInfo.symbol)) {
99
+ if (['wstETH', 'cbETH', 'rETH', 'sUSDe'].includes(collateralTokenInfo.symbol)) {
100
100
  assetsData[collateralTokenInfo.symbol].incentiveSupplyApy = yield getStakingApy(collateralTokenInfo.symbol, mainnetWeb3);
101
101
  assetsData[collateralTokenInfo.symbol].incentiveSupplyToken = collateralTokenInfo.symbol;
102
102
  }
@@ -4,6 +4,7 @@ export declare const getStETHApr: (web3: Web3, fromBlock?: number, blockNumber?:
4
4
  export declare const getCbETHApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
5
5
  export declare const getREthApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
6
6
  export declare const getDsrApy: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
7
+ export declare const getSUSDeApy: () => Promise<any>;
7
8
  export declare const getStakingApy: (asset: string, web3: Web3, blockNumber?: 'latest' | number, fromBlock?: number | undefined) => Promise<any> | undefined;
8
9
  export declare const calculateInterestEarned: (principal: string, interest: string, type: string, apy?: boolean) => number;
9
10
  export declare const calculateNetApy: (usedAssets: MMUsedAssets, assetsData: MMAssetsData, isMorpho?: boolean) => {
@@ -76,6 +76,11 @@ export const getDsrApy = (web3, blockNumber = 'latest') => __awaiter(void 0, voi
76
76
  .mul(100)
77
77
  .toString();
78
78
  });
79
+ export const getSUSDeApy = () => __awaiter(void 0, void 0, void 0, function* () {
80
+ const res = yield fetch('https://www.ethena.fi/api/yields/protocol-and-staking-yield');
81
+ const data = yield res.json();
82
+ return data.stakingYield.value;
83
+ });
79
84
  export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
80
85
  if (asset === 'stETH' || asset === 'wstETH')
81
86
  return getStETHApr(web3, fromBlock, blockNumber);
@@ -85,6 +90,8 @@ export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = u
85
90
  return getREthApr(web3, blockNumber);
86
91
  if (asset === 'sDAI')
87
92
  return getDsrApy(web3);
93
+ if (asset === 'sUSDe')
94
+ return getSUSDeApy();
88
95
  };
89
96
  export const calculateInterestEarned = (principal, interest, type, apy = false) => {
90
97
  let interval = 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.54",
3
+ "version": "0.0.55",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -112,7 +112,7 @@ export async function getMorphoBlueMarketData(web3: Web3, network: NetworkNumber
112
112
  canBeBorrowed: false,
113
113
  };
114
114
 
115
- if (['wstETH', 'cbETH', 'rETH'].includes(collateralTokenInfo.symbol)) {
115
+ if (['wstETH', 'cbETH', 'rETH', 'sUSDe'].includes(collateralTokenInfo.symbol)) {
116
116
  assetsData[collateralTokenInfo.symbol].incentiveSupplyApy = await getStakingApy(collateralTokenInfo.symbol, mainnetWeb3);
117
117
  assetsData[collateralTokenInfo.symbol].incentiveSupplyToken = collateralTokenInfo.symbol;
118
118
  }
@@ -76,11 +76,18 @@ export const getDsrApy = async (web3: Web3, blockNumber: 'latest' | number = 'la
76
76
  .toString();
77
77
  };
78
78
 
79
+ export const getSUSDeApy = async () => {
80
+ const res = await fetch('https://www.ethena.fi/api/yields/protocol-and-staking-yield');
81
+ const data = await res.json();
82
+ return data.stakingYield.value;
83
+ };
84
+
79
85
  export const getStakingApy = (asset: string, web3: Web3, blockNumber: 'latest' | number = 'latest', fromBlock: number | undefined = undefined) => {
80
86
  if (asset === 'stETH' || asset === 'wstETH') return getStETHApr(web3, fromBlock, blockNumber);
81
87
  if (asset === 'cbETH') return getCbETHApr(web3, blockNumber);
82
88
  if (asset === 'rETH') return getREthApr(web3, blockNumber);
83
89
  if (asset === 'sDAI') return getDsrApy(web3);
90
+ if (asset === 'sUSDe') return getSUSDeApy();
84
91
  };
85
92
 
86
93
  export const calculateInterestEarned = (principal: string, interest: string, type: string, apy = false) => {