@defisaver/positions-sdk 0.0.147 → 0.0.148

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.
@@ -136,7 +136,7 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
136
136
  }
137
137
  const [{ 0: ghoDiscountedPerDiscountToken }, { 0: discountRate }, { 0: minDiscountTokenBalance }, { 0: minGhoBalanceForDiscount }, { 0: facilitatorsList },] = multiRes;
138
138
  let rewardInfo = null;
139
- const networksWithIncentives = [common_1.NetworkNumber.Arb, common_1.NetworkNumber.Opt];
139
+ const networksWithIncentives = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Opt];
140
140
  if (networksWithIncentives.includes(network)) {
141
141
  rewardInfo = yield aaveIncentivesContract.methods.getReservesIncentivesData(marketAddress).call();
142
142
  rewardInfo = rewardInfo.reduce((all, _market) => {
@@ -202,6 +202,9 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
202
202
  if (+supplyRewardData.emissionEndTimestamp * 1000 < Date.now())
203
203
  return;
204
204
  _market.incentiveSupplyToken = supplyRewardData.rewardTokenSymbol;
205
+ // reward token is aave asset
206
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol))
207
+ _market.incentiveSupplyToken = _market.symbol;
205
208
  const supplyEmissionPerSecond = supplyRewardData.emissionPerSecond;
206
209
  const supplyRewardPrice = new decimal_js_1.default(supplyRewardData.rewardPriceFeed).div(Math.pow(10, +supplyRewardData.priceFeedDecimals)).toString();
207
210
  _market.incentiveSupplyApy = new decimal_js_1.default(supplyEmissionPerSecond).div((Math.pow(10, +supplyRewardData.rewardTokenDecimals)) / 100)
@@ -216,6 +219,8 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
216
219
  if (+borrowRewardData.emissionEndTimestamp * 1000 < Date.now())
217
220
  return;
218
221
  _market.incentiveBorrowToken = borrowRewardData.rewardTokenSymbol;
222
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol))
223
+ _market.incentiveBorrowToken = _market.symbol;
219
224
  const supplyEmissionPerSecond = borrowRewardData.emissionPerSecond;
220
225
  const supplyRewardPrice = new decimal_js_1.default(borrowRewardData.rewardPriceFeed).div(Math.pow(10, +borrowRewardData.priceFeedDecimals)).toString();
221
226
  _market.incentiveBorrowApy = new decimal_js_1.default(supplyEmissionPerSecond).div((Math.pow(10, +borrowRewardData.rewardTokenDecimals)) / 100)
@@ -9,9 +9,7 @@ exports.aaveV1AssetsDefaultMarket = [
9
9
  ].map((symbol) => (0, tokens_1.getAssetInfo)(symbol));
10
10
  exports.aaveV2AssetsDefaultMarket = ['USDT', 'WBTC', 'ETH', 'YFI', 'ZRX', 'UNI', 'AAVE', 'BAT', 'BUSD', 'DAI', 'ENJ', 'KNCL', 'LINK', 'MANA', 'MKR', 'REN', 'SNX', 'SUSD', 'TUSD', 'USDC', 'CRV', 'GUSD', 'BAL', 'xSUSHI', 'RENFIL', 'RAI', 'AMPL', 'USDP', 'DPI', 'FRAX', 'FEI', 'stETH', 'ENS', 'UST', 'CVX', '1INCH', 'LUSD'];
11
11
  exports.morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WBTC', 'stETH', 'CRV'];
12
- exports.morphoAaveV3AssetEthMarket = [
13
- 'ETH', 'wstETH', 'USDC', 'WBTC', 'rETH', 'cbETH', 'USDT',
14
- ];
12
+ exports.morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
15
13
  exports.aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS'];
16
14
  exports.aaveV3AssetsDefaultMarketOpt = [
17
15
  'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
@@ -26,8 +26,8 @@ exports.v3USDCeCollAssets = {
26
26
  [common_1.NetworkNumber.Arb]: exports.v3USDCeCollAssetsArb,
27
27
  [common_1.NetworkNumber.Base]: [],
28
28
  };
29
- exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH'];
30
- exports.v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'USDC', 'wrsETH', 'wstETH', 'weETH'];
29
+ exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'];
30
+ exports.v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC'];
31
31
  exports.v3ETHCollAssetsArb = ['weETH', 'rETH', 'wstETH', 'WBTC', 'rsETH', 'ezETH', 'USDC', 'USDT'];
32
32
  exports.v3ETHCollAssetsOpt = ['rETH', 'wstETH', 'WBTC', 'ezETH', 'USDC', 'USDT', 'weETH', 'wrsETH'];
33
33
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -127,7 +127,7 @@ export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
127
127
  }
128
128
  const [{ 0: ghoDiscountedPerDiscountToken }, { 0: discountRate }, { 0: minDiscountTokenBalance }, { 0: minGhoBalanceForDiscount }, { 0: facilitatorsList },] = multiRes;
129
129
  let rewardInfo = null;
130
- const networksWithIncentives = [NetworkNumber.Arb, NetworkNumber.Opt];
130
+ const networksWithIncentives = [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Opt];
131
131
  if (networksWithIncentives.includes(network)) {
132
132
  rewardInfo = yield aaveIncentivesContract.methods.getReservesIncentivesData(marketAddress).call();
133
133
  rewardInfo = rewardInfo.reduce((all, _market) => {
@@ -193,6 +193,9 @@ export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
193
193
  if (+supplyRewardData.emissionEndTimestamp * 1000 < Date.now())
194
194
  return;
195
195
  _market.incentiveSupplyToken = supplyRewardData.rewardTokenSymbol;
196
+ // reward token is aave asset
197
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol))
198
+ _market.incentiveSupplyToken = _market.symbol;
196
199
  const supplyEmissionPerSecond = supplyRewardData.emissionPerSecond;
197
200
  const supplyRewardPrice = new Dec(supplyRewardData.rewardPriceFeed).div(Math.pow(10, +supplyRewardData.priceFeedDecimals)).toString();
198
201
  _market.incentiveSupplyApy = new Dec(supplyEmissionPerSecond).div((Math.pow(10, +supplyRewardData.rewardTokenDecimals)) / 100)
@@ -207,6 +210,8 @@ export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
207
210
  if (+borrowRewardData.emissionEndTimestamp * 1000 < Date.now())
208
211
  return;
209
212
  _market.incentiveBorrowToken = borrowRewardData.rewardTokenSymbol;
213
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol))
214
+ _market.incentiveBorrowToken = _market.symbol;
210
215
  const supplyEmissionPerSecond = borrowRewardData.emissionPerSecond;
211
216
  const supplyRewardPrice = new Dec(borrowRewardData.rewardPriceFeed).div(Math.pow(10, +borrowRewardData.priceFeedDecimals)).toString();
212
217
  _market.incentiveBorrowApy = new Dec(supplyEmissionPerSecond).div((Math.pow(10, +borrowRewardData.rewardTokenDecimals)) / 100)
@@ -6,9 +6,7 @@ export const aaveV1AssetsDefaultMarket = [
6
6
  ].map((symbol) => getAssetInfo(symbol));
7
7
  export const aaveV2AssetsDefaultMarket = ['USDT', 'WBTC', 'ETH', 'YFI', 'ZRX', 'UNI', 'AAVE', 'BAT', 'BUSD', 'DAI', 'ENJ', 'KNCL', 'LINK', 'MANA', 'MKR', 'REN', 'SNX', 'SUSD', 'TUSD', 'USDC', 'CRV', 'GUSD', 'BAL', 'xSUSHI', 'RENFIL', 'RAI', 'AMPL', 'USDP', 'DPI', 'FRAX', 'FEI', 'stETH', 'ENS', 'UST', 'CVX', '1INCH', 'LUSD'];
8
8
  export const morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WBTC', 'stETH', 'CRV'];
9
- export const morphoAaveV3AssetEthMarket = [
10
- 'ETH', 'wstETH', 'USDC', 'WBTC', 'rETH', 'cbETH', 'USDT',
11
- ];
9
+ export const morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
12
10
  export const aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS'];
13
11
  export const aaveV3AssetsDefaultMarketOpt = [
14
12
  'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
@@ -23,8 +23,8 @@ export const v3USDCeCollAssets = {
23
23
  [NetworkNumber.Arb]: v3USDCeCollAssetsArb,
24
24
  [NetworkNumber.Base]: [],
25
25
  };
26
- export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH'];
27
- export const v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'USDC', 'wrsETH', 'wstETH', 'weETH'];
26
+ export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'];
27
+ export const v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC'];
28
28
  export const v3ETHCollAssetsArb = ['weETH', 'rETH', 'wstETH', 'WBTC', 'rsETH', 'ezETH', 'USDC', 'USDT'];
29
29
  export const v3ETHCollAssetsOpt = ['rETH', 'wstETH', 'WBTC', 'ezETH', 'USDC', 'USDT', 'weETH', 'wrsETH'];
30
30
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.147",
3
+ "version": "0.0.148",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "types": "./esm/index.d.ts",
8
8
  "scripts": {
9
- "build:esm": "rm -rf esm && tsc -p tsconfig.json",
10
- "build:cjs": "rm -rf cjs && tsc -p tsconfig.cjs.json",
9
+ "build:esm": "rm -rf esm && tsc -p tsconfig.esm.json",
10
+ "build:cjs": "rm -rf cjs && tsc -p tsconfig.json",
11
11
  "build": "npm run generate-contracts && npm run build:cjs && npm run build:esm",
12
12
  "dev": "npm run generate-contracts && tsc -p tsconfig.cjs.json --watch",
13
13
  "lint": "eslint src/ --fix",
14
14
  "generate-contracts": "node scripts/generateContracts.js",
15
- "test": "mocha tests/*",
15
+ "test": "mocha tests/* --require ts-node/register --extension ts",
16
16
  "test:debugger": "mocha --inspect-brk tests/*",
17
- "build-test": "npm run build && mocha tests/*"
17
+ "build-test": "npm run build && npm run test"
18
18
  },
19
19
  "keywords": [],
20
20
  "author": "",
@@ -31,6 +31,7 @@
31
31
  "dotenv": "^16.3.1",
32
32
  "eslint": "^8.49.0",
33
33
  "mocha": "^10.2.0",
34
+ "ts-node": "^10.9.2",
34
35
  "typechain": "^8.3.1",
35
36
  "typechain-target-web3-v1-3mihai3": "^6.0.2",
36
37
  "typescript": "^5.2.2"
@@ -178,7 +178,7 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
178
178
  ] = multiRes;
179
179
 
180
180
  let rewardInfo: IUiIncentiveDataProviderV3.AggregatedReserveIncentiveDataStructOutput[] | null = null;
181
- const networksWithIncentives = [NetworkNumber.Arb, NetworkNumber.Opt];
181
+ const networksWithIncentives = [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Opt];
182
182
  if (networksWithIncentives.includes(network)) {
183
183
  rewardInfo = await aaveIncentivesContract.methods.getReservesIncentivesData(marketAddress).call();
184
184
  rewardInfo = rewardInfo.reduce((all: any, _market: AaveV3IncentiveData) => {
@@ -294,6 +294,8 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
294
294
  if (supplyRewardData) {
295
295
  if (+supplyRewardData.emissionEndTimestamp * 1000 < Date.now()) return;
296
296
  _market.incentiveSupplyToken = supplyRewardData.rewardTokenSymbol;
297
+ // reward token is aave asset
298
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol)) _market.incentiveSupplyToken = _market.symbol;
297
299
  const supplyEmissionPerSecond = supplyRewardData.emissionPerSecond;
298
300
  const supplyRewardPrice = new Dec(supplyRewardData.rewardPriceFeed).div(10 ** +supplyRewardData.priceFeedDecimals).toString();
299
301
  _market.incentiveSupplyApy = new Dec(supplyEmissionPerSecond).div((10 ** +supplyRewardData.rewardTokenDecimals) / 100)
@@ -307,6 +309,7 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
307
309
  if (borrowRewardData) {
308
310
  if (+borrowRewardData.emissionEndTimestamp * 1000 < Date.now()) return;
309
311
  _market.incentiveBorrowToken = borrowRewardData.rewardTokenSymbol;
312
+ if (supplyRewardData.rewardTokenSymbol.startsWith('a') && supplyRewardData.rewardTokenSymbol.includes(_market.symbol)) _market.incentiveBorrowToken = _market.symbol;
310
313
  const supplyEmissionPerSecond = borrowRewardData.emissionPerSecond;
311
314
  const supplyRewardPrice = new Dec(borrowRewardData.rewardPriceFeed).div(10 ** +borrowRewardData.priceFeedDecimals).toString();
312
315
  _market.incentiveBorrowApy = new Dec(supplyEmissionPerSecond).div((10 ** +borrowRewardData.rewardTokenDecimals) / 100)
@@ -9,9 +9,7 @@ export const aaveV1AssetsDefaultMarket = [
9
9
  export const aaveV2AssetsDefaultMarket = ['USDT', 'WBTC', 'ETH', 'YFI', 'ZRX', 'UNI', 'AAVE', 'BAT', 'BUSD', 'DAI', 'ENJ', 'KNCL', 'LINK', 'MANA', 'MKR', 'REN', 'SNX', 'SUSD', 'TUSD', 'USDC', 'CRV', 'GUSD', 'BAL', 'xSUSHI', 'RENFIL', 'RAI', 'AMPL', 'USDP', 'DPI', 'FRAX', 'FEI', 'stETH', 'ENS', 'UST', 'CVX', '1INCH', 'LUSD'];
10
10
  export const morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WBTC', 'stETH', 'CRV'];
11
11
 
12
- export const morphoAaveV3AssetEthMarket = [
13
- 'ETH', 'wstETH', 'USDC', 'WBTC', 'rETH', 'cbETH', 'USDT',
14
- ];
12
+ export const morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
15
13
 
16
14
  export const aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS'];
17
15
  export const aaveV3AssetsDefaultMarketOpt = [
@@ -29,8 +29,8 @@ export const v3USDCeCollAssets = {
29
29
  [NetworkNumber.Base]: [],
30
30
  } as const;
31
31
 
32
- export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH'];
33
- export const v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'USDC', 'wrsETH', 'wstETH', 'weETH'];
32
+ export const v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH'];
33
+ export const v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC'];
34
34
  export const v3ETHCollAssetsArb = ['weETH', 'rETH', 'wstETH', 'WBTC', 'rsETH', 'ezETH', 'USDC', 'USDT'];
35
35
  export const v3ETHCollAssetsOpt = ['rETH', 'wstETH', 'WBTC', 'ezETH', 'USDC', 'USDT', 'weETH', 'wrsETH'];
36
36