@defisaver/positions-sdk 0.0.195 → 0.0.196

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.
Files changed (78) hide show
  1. package/.vscode/launch.json +17 -0
  2. package/.vscode/settings.json +37 -0
  3. package/cjs/aaveV3/index.js +2 -2
  4. package/cjs/compoundV3/index.js +9 -14
  5. package/cjs/config/contracts.d.ts +240 -946
  6. package/cjs/config/contracts.js +13 -65
  7. package/cjs/contracts.d.ts +0 -2
  8. package/cjs/contracts.js +1 -3
  9. package/cjs/helpers/morphoBlueHelpers/index.d.ts +1 -46
  10. package/cjs/helpers/morphoBlueHelpers/index.js +20 -242
  11. package/cjs/markets/compound/index.d.ts +0 -4
  12. package/cjs/markets/compound/index.js +1 -41
  13. package/cjs/markets/compound/marketsAssets.d.ts +0 -14
  14. package/cjs/markets/compound/marketsAssets.js +3 -17
  15. package/cjs/markets/morphoBlue/index.d.ts +0 -8
  16. package/cjs/markets/morphoBlue/index.js +2 -71
  17. package/cjs/morphoAaveV3/index.js +0 -1
  18. package/cjs/morphoBlue/index.js +10 -41
  19. package/cjs/services/priceService.d.ts +0 -3
  20. package/cjs/services/priceService.js +1 -34
  21. package/cjs/staking/staking.js +1 -1
  22. package/cjs/types/aave.d.ts +0 -1
  23. package/cjs/types/compound.d.ts +1 -3
  24. package/cjs/types/compound.js +0 -2
  25. package/cjs/types/contracts/generated/MorphoBlueView.d.ts +5 -5
  26. package/cjs/types/contracts/generated/index.d.ts +0 -4
  27. package/cjs/types/morphoBlue.d.ts +1 -39
  28. package/cjs/types/morphoBlue.js +0 -4
  29. package/esm/aaveV3/index.js +2 -2
  30. package/esm/compoundV3/index.js +10 -15
  31. package/esm/config/contracts.d.ts +240 -946
  32. package/esm/config/contracts.js +13 -65
  33. package/esm/contracts.d.ts +0 -2
  34. package/esm/contracts.js +0 -2
  35. package/esm/helpers/morphoBlueHelpers/index.d.ts +1 -46
  36. package/esm/helpers/morphoBlueHelpers/index.js +21 -239
  37. package/esm/markets/compound/index.d.ts +0 -4
  38. package/esm/markets/compound/index.js +1 -39
  39. package/esm/markets/compound/marketsAssets.d.ts +0 -14
  40. package/esm/markets/compound/marketsAssets.js +2 -16
  41. package/esm/markets/morphoBlue/index.d.ts +0 -8
  42. package/esm/markets/morphoBlue/index.js +1 -65
  43. package/esm/morphoAaveV3/index.js +0 -1
  44. package/esm/morphoBlue/index.js +14 -45
  45. package/esm/services/priceService.d.ts +0 -3
  46. package/esm/services/priceService.js +1 -32
  47. package/esm/staking/staking.js +1 -1
  48. package/esm/types/aave.d.ts +0 -1
  49. package/esm/types/compound.d.ts +1 -3
  50. package/esm/types/compound.js +0 -2
  51. package/esm/types/contracts/generated/MorphoBlueView.d.ts +5 -5
  52. package/esm/types/contracts/generated/index.d.ts +0 -4
  53. package/esm/types/morphoBlue.d.ts +1 -39
  54. package/esm/types/morphoBlue.js +0 -4
  55. package/package.json +1 -1
  56. package/src/staking/staking.ts +1 -1
  57. package/src/types/contracts/generated/MorphoBlueView.ts +5 -9
  58. package/src/types/contracts/generated/index.ts +0 -4
  59. package/cjs/types/contracts/generated/CUSDSv3.d.ts +0 -441
  60. package/cjs/types/contracts/generated/CUSDSv3.js +0 -5
  61. package/cjs/types/contracts/generated/CWstETHv3.d.ts +0 -441
  62. package/cjs/types/contracts/generated/CWstETHv3.js +0 -5
  63. package/cjs/types/contracts/generated/DFSFeedRegistry.d.ts +0 -40
  64. package/cjs/types/contracts/generated/DFSFeedRegistry.js +0 -5
  65. package/cjs/types/contracts/generated/WstETHPriceFeed.d.ts +0 -39
  66. package/cjs/types/contracts/generated/WstETHPriceFeed.js +0 -5
  67. package/esm/types/contracts/generated/CUSDSv3.d.ts +0 -441
  68. package/esm/types/contracts/generated/CUSDSv3.js +0 -4
  69. package/esm/types/contracts/generated/CWstETHv3.d.ts +0 -441
  70. package/esm/types/contracts/generated/CWstETHv3.js +0 -4
  71. package/esm/types/contracts/generated/DFSFeedRegistry.d.ts +0 -40
  72. package/esm/types/contracts/generated/DFSFeedRegistry.js +0 -4
  73. package/esm/types/contracts/generated/WstETHPriceFeed.d.ts +0 -39
  74. package/esm/types/contracts/generated/WstETHPriceFeed.js +0 -4
  75. package/src/types/contracts/generated/CUSDSv3.ts +0 -685
  76. package/src/types/contracts/generated/CWstETHv3.ts +0 -685
  77. package/src/types/contracts/generated/DFSFeedRegistry.ts +0 -77
  78. package/src/types/contracts/generated/WstETHPriceFeed.ts +0 -59
@@ -0,0 +1,17 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Attach by Process ID",
9
+ "processId": "${command:PickProcess}",
10
+ "request": "attach",
11
+ "skipFiles": [
12
+ "<node_internals>/**"
13
+ ],
14
+ "type": "node"
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "workbench.colorCustomizations": {
3
+ "activityBar.activeBackground": "#f2255a",
4
+ "activityBar.background": "#f2255a",
5
+ "activityBar.foreground": "#e7e7e7",
6
+ "activityBar.inactiveForeground": "#e7e7e799",
7
+ "activityBarBadge.background": "#40d30d",
8
+ "activityBarBadge.foreground": "#15202b",
9
+ "commandCenter.border": "#e7e7e799",
10
+ "sash.hoverBorder": "#f2255a",
11
+ "statusBar.background": "#d70d41",
12
+ "statusBar.foreground": "#e7e7e7",
13
+ "statusBarItem.hoverBackground": "#f2255a",
14
+ "statusBarItem.remoteBackground": "#d70d41",
15
+ "statusBarItem.remoteForeground": "#e7e7e7",
16
+ "titleBar.activeBackground": "#d70d41",
17
+ "titleBar.activeForeground": "#e7e7e7",
18
+ "titleBar.inactiveBackground": "#d70d4199",
19
+ "titleBar.inactiveForeground": "#e7e7e799"
20
+ },
21
+ "peacock.color": "#d70d41",
22
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint",
23
+ "eslint.format.enable": true,
24
+
25
+ "[javascript]": {
26
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint"
27
+ },
28
+ "[typescript]": {
29
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint"
30
+ },
31
+ "[vue]": {
32
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint"
33
+ },
34
+ "[typescriptreact]": {
35
+ "editor.defaultFormatter": "dbaeumer.vscode-eslint"
36
+ }
37
+ }
@@ -148,7 +148,7 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
148
148
  const assetsData = yield Promise.all(loanInfo
149
149
  .map((tokenMarket, i) => __awaiter(this, void 0, void 0, function* () {
150
150
  const symbol = market.assets[i];
151
- const nativeAsset = symbol === 'GHO' && network === common_1.NetworkNumber.Eth && market.value === 'v3default';
151
+ const nativeAsset = symbol === 'GHO' && network === common_1.NetworkNumber.Eth && market.shortLabel === 'v3default';
152
152
  // eslint-disable-next-line guard-for-in
153
153
  for (const eModeIndex in eModeCategoriesData) {
154
154
  if ((0, utils_1.isEnabledOnBitmap)(Number(eModeCategoriesData[eModeIndex].collateralBitmap), Number(tokenMarket.assetId)))
@@ -182,7 +182,7 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
182
182
  minDiscountTokenBalance,
183
183
  minGhoBalanceForDiscount,
184
184
  },
185
- })), { symbol, isIsolated: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, isolationModeTotalDebt: new decimal_js_1.default(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.supplyRate.toString()).div(1e25).toString()), borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).toString()), borrowRateDiscounted: (0, moneymarket_1.aprToApy)(nativeAsset ? new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0'), borrowRateStable: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateStable.toString()).div(1e25).toString()), collateralFactor: new decimal_js_1.default(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationBonus: new decimal_js_1.default(tokenMarket.liquidationBonus.toString()).div(10000).toString(), liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new decimal_js_1.default(tokenMarket.totalBorrow.toString()).times(100).div(new decimal_js_1.default(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: (0, tokens_1.assetAmountInEth)(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrowVar.toString(), symbol), price: new decimal_js_1.default(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, aTokenAddress: tokenMarket.aTokenAddress }));
185
+ })), { symbol, isIsolated: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, isolationModeTotalDebt: new decimal_js_1.default(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.supplyRate.toString()).div(1e25).toString()), borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).toString()), borrowRateDiscounted: (0, moneymarket_1.aprToApy)(nativeAsset ? new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0'), borrowRateStable: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateStable.toString()).div(1e25).toString()), collateralFactor: new decimal_js_1.default(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new decimal_js_1.default(tokenMarket.totalBorrow.toString()).times(100).div(new decimal_js_1.default(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: (0, tokens_1.assetAmountInEth)(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrowVar.toString(), symbol), price: new decimal_js_1.default(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, aTokenAddress: tokenMarket.aTokenAddress }));
186
186
  })));
187
187
  // Get incentives data
188
188
  yield Promise.all(assetsData.map((_market) => __awaiter(this, void 0, void 0, function* () {
@@ -25,18 +25,8 @@ const compoundHelpers_1 = require("../helpers/compoundHelpers");
25
25
  const compound_1 = require("../markets/compound");
26
26
  const priceService_1 = require("../services/priceService");
27
27
  const getSupportedAssetsAddressesForMarket = (selectedMarket, network) => selectedMarket.collAssets.map(asset => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(asset), network)).map(addr => addr.address.toLowerCase());
28
- const getBaseAssetPriceFunction = (asset) => {
29
- switch (asset) {
30
- case 'wstETH':
31
- return priceService_1.getWstETHPrice;
32
- case 'ETH':
33
- return priceService_1.getEthPrice;
34
- default:
35
- return priceService_1.getUSDCPrice;
36
- }
37
- };
38
28
  const getCompoundV3MarketsData = (web3, network, selectedMarket, defaultWeb3) => __awaiter(void 0, void 0, void 0, function* () {
39
- const baseAssetPrice = yield getBaseAssetPriceFunction(selectedMarket.baseAsset)(defaultWeb3);
29
+ const baseAssetPrice = selectedMarket.baseAsset === 'ETH' ? yield (0, priceService_1.getEthPrice)(defaultWeb3) : yield (0, priceService_1.getUSDCPrice)(defaultWeb3);
40
30
  const compPrice = yield (0, priceService_1.getCompPrice)(defaultWeb3);
41
31
  const contract = (0, contracts_1.CompV3ViewContract)(web3, network);
42
32
  const CompV3ViewAddress = contract.options.address;
@@ -188,9 +178,14 @@ const getCompoundV3AccountData = (web3, network, address, proxyAddress, extracte
188
178
  if (loanData.borrowAmount.toString() !== '0') {
189
179
  usedAssets[baseAssetSymbol].isBorrowed = true;
190
180
  usedAssets[baseAssetSymbol].borrowed = (0, tokens_1.assetAmountInEth)(loanData.borrowAmount, baseAssetInfo.symbol);
191
- usedAssets[baseAssetSymbol].borrowedUsd = new decimal_js_1.default((0, tokens_1.assetAmountInEth)(loanData.borrowValue, baseAssetInfo.symbol))
192
- .mul(assetsData[baseAssetSymbol].price)
193
- .toString();
181
+ if (selectedMarket.value === (0, compound_1.COMPOUND_V3_ETH)(network).value) {
182
+ usedAssets[baseAssetSymbol].borrowedUsd = new decimal_js_1.default((0, tokens_1.assetAmountInEth)(loanData.borrowValue, baseAssetInfo.symbol))
183
+ .mul(assetsData[baseAssetSymbol].price)
184
+ .toString();
185
+ }
186
+ else {
187
+ usedAssets[baseAssetSymbol].borrowedUsd = (0, tokens_1.assetAmountInEth)(loanData.borrowValue, baseAssetInfo.symbol);
188
+ }
194
189
  }
195
190
  const supportedAssetsAddresses = getSupportedAssetsAddressesForMarket(selectedMarket, network);
196
191
  loanData.collAddr.forEach((coll, i) => {