@defisaver/positions-sdk 2.1.136 → 2.1.137-audit-dev

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 (80) hide show
  1. package/cjs/config/contracts.d.ts +0 -938
  2. package/cjs/config/contracts.js +1 -8
  3. package/cjs/contracts.d.ts +3823 -27499
  4. package/cjs/contracts.js +2 -3
  5. package/cjs/helpers/index.d.ts +0 -1
  6. package/cjs/helpers/index.js +1 -2
  7. package/cjs/index.d.ts +1 -2
  8. package/cjs/index.js +1 -3
  9. package/cjs/markets/index.d.ts +0 -1
  10. package/cjs/markets/index.js +1 -3
  11. package/cjs/markets/morphoBlue/index.d.ts +4 -0
  12. package/cjs/markets/morphoBlue/index.js +36 -2
  13. package/cjs/portfolio/discovery.d.ts +1 -1
  14. package/cjs/portfolio/discovery.js +1 -1
  15. package/cjs/portfolio/index.js +0 -32
  16. package/cjs/savings/morphoVaults/index.js +19 -2
  17. package/cjs/services/viem.d.ts +918 -2679
  18. package/cjs/staking/staking.js +1 -2
  19. package/cjs/types/index.d.ts +0 -1
  20. package/cjs/types/index.js +0 -1
  21. package/cjs/types/morphoBlue.d.ts +2 -0
  22. package/cjs/types/morphoBlue.js +2 -0
  23. package/cjs/types/portfolio.d.ts +0 -4
  24. package/esm/config/contracts.d.ts +0 -938
  25. package/esm/config/contracts.js +0 -6
  26. package/esm/contracts.d.ts +3823 -27499
  27. package/esm/contracts.js +0 -1
  28. package/esm/helpers/index.d.ts +0 -1
  29. package/esm/helpers/index.js +0 -1
  30. package/esm/index.d.ts +1 -2
  31. package/esm/index.js +1 -2
  32. package/esm/markets/index.d.ts +0 -1
  33. package/esm/markets/index.js +0 -1
  34. package/esm/markets/morphoBlue/index.d.ts +4 -0
  35. package/esm/markets/morphoBlue/index.js +32 -0
  36. package/esm/portfolio/discovery.d.ts +1 -1
  37. package/esm/portfolio/discovery.js +1 -1
  38. package/esm/portfolio/index.js +1 -33
  39. package/esm/savings/morphoVaults/index.js +19 -2
  40. package/esm/services/viem.d.ts +916 -2667
  41. package/esm/staking/staking.js +1 -2
  42. package/esm/types/index.d.ts +0 -1
  43. package/esm/types/index.js +0 -1
  44. package/esm/types/morphoBlue.d.ts +2 -0
  45. package/esm/types/morphoBlue.js +2 -0
  46. package/esm/types/portfolio.d.ts +0 -4
  47. package/package.json +9 -2
  48. package/src/config/contracts.ts +0 -6
  49. package/src/contracts.ts +2 -3
  50. package/src/helpers/index.ts +0 -1
  51. package/src/index.ts +0 -2
  52. package/src/markets/index.ts +0 -1
  53. package/src/markets/morphoBlue/index.ts +32 -0
  54. package/src/portfolio/discovery.ts +1 -1
  55. package/src/portfolio/index.ts +0 -33
  56. package/src/savings/morphoVaults/index.ts +18 -2
  57. package/src/staking/staking.ts +1 -2
  58. package/src/types/index.ts +0 -1
  59. package/src/types/morphoBlue.ts +2 -0
  60. package/src/types/portfolio.ts +0 -4
  61. package/cjs/eulerV2/index.d.ts +0 -47
  62. package/cjs/eulerV2/index.js +0 -225
  63. package/cjs/helpers/eulerHelpers/index.d.ts +0 -22
  64. package/cjs/helpers/eulerHelpers/index.js +0 -231
  65. package/cjs/markets/euler/index.d.ts +0 -8
  66. package/cjs/markets/euler/index.js +0 -30
  67. package/cjs/types/euler.d.ts +0 -153
  68. package/cjs/types/euler.js +0 -14
  69. package/esm/eulerV2/index.d.ts +0 -47
  70. package/esm/eulerV2/index.js +0 -215
  71. package/esm/helpers/eulerHelpers/index.d.ts +0 -22
  72. package/esm/helpers/eulerHelpers/index.js +0 -218
  73. package/esm/markets/euler/index.d.ts +0 -8
  74. package/esm/markets/euler/index.js +0 -24
  75. package/esm/types/euler.d.ts +0 -153
  76. package/esm/types/euler.js +0 -11
  77. package/src/eulerV2/index.ts +0 -331
  78. package/src/helpers/eulerHelpers/index.ts +0 -232
  79. package/src/markets/euler/index.ts +0 -27
  80. package/src/types/euler.ts +0 -178
@@ -184,9 +184,8 @@ export const calculateInterestEarned = (principal, interest, type, apy = false)
184
184
  };
185
185
  export const calculateNetApy = ({ usedAssets, assetsData, optionalData, }) => {
186
186
  const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
187
- var _a;
188
187
  const acc = Object.assign({}, _acc);
189
- const assetData = assetsData[usedAsset.symbol] || assetsData[((_a = usedAsset.vaultAddress) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''];
188
+ const assetData = assetsData[usedAsset.symbol];
190
189
  if (usedAsset.isSupplied) {
191
190
  const amount = usedAsset.suppliedUsd;
192
191
  acc.suppliedUsd = new Dec(acc.suppliedUsd).add(amount).toString();
@@ -7,7 +7,6 @@ export * from './liquityV2';
7
7
  export * from './maker';
8
8
  export * from './morphoBlue';
9
9
  export * from './llamaLend';
10
- export * from './euler';
11
10
  export * from './fluid';
12
11
  export * from './portfolio';
13
12
  export * from './merit';
@@ -7,7 +7,6 @@ export * from './liquityV2';
7
7
  export * from './maker';
8
8
  export * from './morphoBlue';
9
9
  export * from './llamaLend';
10
- export * from './euler';
11
10
  export * from './fluid';
12
11
  export * from './portfolio';
13
12
  export * from './merit';
@@ -67,6 +67,7 @@ export declare enum MorphoBlueVersions {
67
67
  MorphoBlueSyrupUSDCRLUSD_915 = "morphobluesyrupusdcrlusd_915",// syrupUSDC/RLUSD 0.915
68
68
  MorphoBlueWeEthUSDC_770 = "morphoblueweethusdc_770",// weETH/USDC 0.77
69
69
  MorphoBlueWeEthUSDC_860 = "morphoblueweethusdc_860",// weETH/USDC 0.86
70
+ MorphoBlueWeEthUSDC_860_85252bb8 = "morphoblueweethusdc_860_85252bb8",// weETH/USDC 0.86
70
71
  MorphoBlueEthUSDC_860_94b823e6 = "morphoblueethusdc_860_94b823e6",// ETH/USDC 0.86
71
72
  MorphoBlueUSD3USDC_915 = "morphoblueusd3usdc_915",// USD3/USDC 0.915
72
73
  MorphoBlueStUSDSUSDC_860 = "morphobluestusdsusdc_860",// stUSDS/USDC 0.86
@@ -74,6 +75,7 @@ export declare enum MorphoBlueVersions {
74
75
  MorphoBlueWBTCEth_915 = "morphobluewbtceth_915",// WBTC/ETH 0.915
75
76
  MorphoBlueCbBTCEth_915_12dbf493 = "morphobluecbbtceth_915_12dbf493",// cbBTC/ETH 0.915
76
77
  MorphoBlueWeEthUSDT_860 = "morphoblueweethusdt_860",// weETH/USDT 0.86
78
+ MorphoBlueWeEthUSDT_860_a6a4c1f1 = "morphoblueweethusdt_860_a6a4c1f1",// weETH/USDT 0.86
77
79
  MorphoBlueSyrupUSDTUSDT_915 = "morphobluesyrupusdtusdt_915",// syrupUSDT/USDT 0.915
78
80
  MorphoBlueCbBTCPYUSD_860 = "morphobluecbbtcpyusd_860",// cbBTC/PYUSD 0.86
79
81
  MorphoBlueWeEthUSDT_770 = "morphoblueweethusdt_770",// weETH/USDT 0.77
@@ -73,6 +73,7 @@ export var MorphoBlueVersions;
73
73
  MorphoBlueVersions["MorphoBlueSyrupUSDCRLUSD_915"] = "morphobluesyrupusdcrlusd_915";
74
74
  MorphoBlueVersions["MorphoBlueWeEthUSDC_770"] = "morphoblueweethusdc_770";
75
75
  MorphoBlueVersions["MorphoBlueWeEthUSDC_860"] = "morphoblueweethusdc_860";
76
+ MorphoBlueVersions["MorphoBlueWeEthUSDC_860_85252bb8"] = "morphoblueweethusdc_860_85252bb8";
76
77
  MorphoBlueVersions["MorphoBlueEthUSDC_860_94b823e6"] = "morphoblueethusdc_860_94b823e6";
77
78
  MorphoBlueVersions["MorphoBlueUSD3USDC_915"] = "morphoblueusd3usdc_915";
78
79
  MorphoBlueVersions["MorphoBlueStUSDSUSDC_860"] = "morphobluestusdsusdc_860";
@@ -80,6 +81,7 @@ export var MorphoBlueVersions;
80
81
  MorphoBlueVersions["MorphoBlueWBTCEth_915"] = "morphobluewbtceth_915";
81
82
  MorphoBlueVersions["MorphoBlueCbBTCEth_915_12dbf493"] = "morphobluecbbtceth_915_12dbf493";
82
83
  MorphoBlueVersions["MorphoBlueWeEthUSDT_860"] = "morphoblueweethusdt_860";
84
+ MorphoBlueVersions["MorphoBlueWeEthUSDT_860_a6a4c1f1"] = "morphoblueweethusdt_860_a6a4c1f1";
83
85
  MorphoBlueVersions["MorphoBlueSyrupUSDTUSDT_915"] = "morphobluesyrupusdtusdt_915";
84
86
  MorphoBlueVersions["MorphoBlueCbBTCPYUSD_860"] = "morphobluecbbtcpyusd_860";
85
87
  MorphoBlueVersions["MorphoBlueWeEthUSDT_770"] = "morphoblueweethusdt_770";
@@ -3,7 +3,6 @@ import { AaveV4AccountData, AaveV4SpokesType } from './aaveV4';
3
3
  import { EthAddress } from './common';
4
4
  import { CompoundV2PositionData, CompoundV3PositionData, CompoundVersions } from './compound';
5
5
  import { CrvUSDUserData, CrvUSDVersions } from './curveUsd';
6
- import { EulerV2PositionData, EulerV2Versions } from './euler';
7
6
  import { FluidVaultData } from './fluid';
8
7
  import { LiquityTroveInfo } from './liquity';
9
8
  import { LlamaLendUserData, LlamaLendVersionsType } from './llamaLend';
@@ -27,9 +26,6 @@ export interface PortfolioPositionsDataForAddress {
27
26
  spark: {
28
27
  [key in SparkVersions]?: PortfolioProtocolData<SparkPositionData>;
29
28
  };
30
- eulerV2: {
31
- [key in EulerV2Versions]?: Record<EthAddress, PortfolioProtocolData<EulerV2PositionData>>;
32
- };
33
29
  maker: {
34
30
  [key: string]: PortfolioProtocolData<CdpData>;
35
31
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "2.1.136",
3
+ "version": "2.1.137-audit-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -25,11 +25,17 @@
25
25
  "@types/lodash": "^4.17.15",
26
26
  "@types/memoizee": "^0.4.12",
27
27
  "decimal.js": "^10.6.0",
28
- "graphql-request": "^1.8.2",
29
28
  "lodash": "^4.17.21",
30
29
  "memoizee": "^0.4.17",
31
30
  "viem": "^2.37.9"
32
31
  },
32
+ "overrides": {
33
+ "serialize-javascript": "^7.1.0",
34
+ "uuid": "^11.1.1",
35
+ "@typescript-eslint/typescript-estree": {
36
+ "minimatch": "^9.0.9"
37
+ }
38
+ },
33
39
  "devDependencies": {
34
40
  "@defisaver/eslint-config": "^1.0.1",
35
41
  "@metamask/eth-json-rpc-middleware": "^15.0.1",
@@ -40,6 +46,7 @@
40
46
  "dotenv": "^16.3.1",
41
47
  "eslint": "^8.49.0",
42
48
  "eslint-plugin-import": "^2.31.0",
49
+ "eslint-webpack-plugin": "^4.0.1",
43
50
  "mocha": "^10.2.0",
44
51
  "nock": "^14.0.0",
45
52
  "ts-node": "^10.9.2",
@@ -1169,12 +1169,6 @@ export const LiquityV2TroveNFT = {
1169
1169
  "abi": [{"inputs":[{"internalType":"contract IAddressesRegistry","name":"_addressesRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_troveId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataNFT","outputs":[{"internalType":"contract IMetadataNFT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"troveManager","outputs":[{"internalType":"contract ITroveManager","name":"","type":"address"}],"stateMutability":"view","type":"function"}],
1170
1170
  "networks": {}
1171
1171
  } as const;
1172
- export const EulerV2View = {
1173
- "abi": [{"inputs":[],"name":"USD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feedRegistry","outputs":[{"internalType":"contract IFeedRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_page","type":"uint256"},{"internalType":"uint256","name":"_perPage","type":"uint256"}],"name":"fetchUsedAccounts","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAaveTokenPriceInETH","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAaveTokenPriceInUSD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAaveV3TokenPriceInETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAaveV3TokenPriceInUSD","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"}],"name":"getAddrForChainlinkOracle","outputs":[{"internalType":"address","name":"tokenAddrForChainlinkUsage","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"bool","name":"isBorrowOperation","type":"bool"},{"internalType":"uint256","name":"liquidityAdded","type":"uint256"},{"internalType":"uint256","name":"liquidityRemoved","type":"uint256"}],"internalType":"struct EulerV2View.LiquidityChangeParams[]","name":"params","type":"tuple[]"}],"name":"getApyAfterValuesEstimation","outputs":[{"internalType":"uint256[]","name":"estimatedBorrowRates","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"}],"name":"getChainlinkPriceInETH","outputs":[{"internalType":"int256","name":"chainlinkPriceInETH","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"},{"internalType":"bool","name":"_useFallback","type":"bool"}],"name":"getChainlinkPriceInUSD","outputs":[{"internalType":"int256","name":"chainlinkPriceInUSD","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"}],"name":"getPriceInETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"}],"name":"getPriceInUSD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"},{"internalType":"uint80","name":"_roundId","type":"uint80"},{"internalType":"contract IAggregatorV3","name":"aggregator","type":"address"}],"name":"getRoundInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"updateTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_inputTokenAddr","type":"address"},{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"updateTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getSparkTokenPriceInETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getSparkTokenPriceInUSD","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"inLockDownMode","type":"bool"},{"internalType":"bool","name":"inPermitDisabledMode","type":"bool"},{"internalType":"address","name":"borrowVault","type":"address"},{"internalType":"uint256","name":"borrowAmountInUnit","type":"uint256"},{"internalType":"uint256","name":"borrowAmountInAsset","type":"uint256"},{"components":[{"internalType":"address","name":"collateralVault","type":"address"},{"internalType":"bool","name":"usedInBorrow","type":"bool"},{"internalType":"uint256","name":"collateralAmountInUnit","type":"uint256"},{"internalType":"uint256","name":"collateralAmountInAsset","type":"uint256"},{"internalType":"uint256","name":"collateralAmountInUSD","type":"uint256"}],"internalType":"struct EulerV2View.UserCollateralInfo[]","name":"collaterals","type":"tuple[]"}],"internalType":"struct EulerV2View.UserData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getUsersData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"inLockDownMode","type":"bool"},{"internalType":"bool","name":"inPermitDisabledMode","type":"bool"},{"internalType":"address","name":"borrowVault","type":"address"},{"internalType":"uint256","name":"borrowAmountInUnit","type":"uint256"},{"internalType":"uint256","name":"borrowAmountInAsset","type":"uint256"},{"components":[{"internalType":"address","name":"collateralVault","type":"address"},{"internalType":"bool","name":"usedInBorrow","type":"bool"},{"internalType":"uint256","name":"collateralAmountInUnit","type":"uint256"},{"internalType":"uint256","name":"collateralAmountInAsset","type":"uint256"},{"internalType":"uint256","name":"collateralAmountInUSD","type":"uint256"}],"internalType":"struct EulerV2View.UserCollateralInfo[]","name":"collaterals","type":"tuple[]"}],"internalType":"struct EulerV2View.UserData[]","name":"data","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"}],"name":"getVaultCollaterals","outputs":[{"components":[{"internalType":"address","name":"vaultAddr","type":"address"},{"internalType":"address","name":"assetAddr","type":"address"},{"internalType":"string","name":"vaultSymbol","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"governorAdmin","type":"address"},{"internalType":"bool","name":"isEscrowed","type":"bool"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"sharePriceInUnit","type":"uint256"},{"internalType":"uint256","name":"assetPriceInUnit","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"totalBorrows","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint16","name":"borrowLTV","type":"uint16"},{"internalType":"uint16","name":"liquidationLTV","type":"uint16"},{"internalType":"uint16","name":"initialLiquidationLTV","type":"uint16"},{"internalType":"uint48","name":"targetTimestamp","type":"uint48"},{"internalType":"uint32","name":"rampDuration","type":"uint32"},{"internalType":"uint256","name":"interestFee","type":"uint256"},{"internalType":"uint256","name":"interestRate","type":"uint256"}],"internalType":"struct EulerV2View.CollateralInfo[]","name":"collateralsInfo","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"}],"name":"getVaultInfoFull","outputs":[{"components":[{"internalType":"address","name":"vaultAddr","type":"address"},{"internalType":"address","name":"assetAddr","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"totalSupplyShares","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"totalBorrows","type":"uint256"},{"internalType":"uint256","name":"totalAssets","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"components":[{"internalType":"address","name":"vaultAddr","type":"address"},{"internalType":"address","name":"assetAddr","type":"address"},{"internalType":"string","name":"vaultSymbol","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"governorAdmin","type":"address"},{"internalType":"bool","name":"isEscrowed","type":"bool"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"sharePriceInUnit","type":"uint256"},{"internalType":"uint256","name":"assetPriceInUnit","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"totalBorrows","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint16","name":"borrowLTV","type":"uint16"},{"internalType":"uint16","name":"liquidationLTV","type":"uint16"},{"internalType":"uint16","name":"initialLiquidationLTV","type":"uint16"},{"internalType":"uint48","name":"targetTimestamp","type":"uint48"},{"internalType":"uint32","name":"rampDuration","type":"uint32"},{"internalType":"uint256","name":"interestFee","type":"uint256"},{"internalType":"uint256","name":"interestRate","type":"uint256"}],"internalType":"struct EulerV2View.CollateralInfo[]","name":"collaterals","type":"tuple[]"},{"internalType":"uint16","name":"maxLiquidationDiscount","type":"uint16"},{"internalType":"uint256","name":"liquidationCoolOffTime","type":"uint256"},{"internalType":"bool","name":"badDebtSocializationEnabled","type":"bool"},{"internalType":"address","name":"unitOfAccount","type":"address"},{"internalType":"uint256","name":"unitOfAccountInUsd","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"assetPriceInUnit","type":"uint256"},{"internalType":"uint256","name":"sharePriceInUnit","type":"uint256"},{"internalType":"uint256","name":"interestRate","type":"uint256"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"address","name":"balanceTrackerAddress","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"governorAdmin","type":"address"},{"internalType":"uint256","name":"interestFee","type":"uint256"}],"internalType":"struct EulerV2View.VaultInfoFull","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_vaults","type":"address[]"}],"name":"getVaultsInfosFull","outputs":[{"components":[{"internalType":"address","name":"vaultAddr","type":"address"},{"internalType":"address","name":"assetAddr","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"totalSupplyShares","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"totalBorrows","type":"uint256"},{"internalType":"uint256","name":"totalAssets","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"components":[{"internalType":"address","name":"vaultAddr","type":"address"},{"internalType":"address","name":"assetAddr","type":"address"},{"internalType":"string","name":"vaultSymbol","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"governorAdmin","type":"address"},{"internalType":"bool","name":"isEscrowed","type":"bool"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"sharePriceInUnit","type":"uint256"},{"internalType":"uint256","name":"assetPriceInUnit","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"totalBorrows","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint16","name":"borrowLTV","type":"uint16"},{"internalType":"uint16","name":"liquidationLTV","type":"uint16"},{"internalType":"uint16","name":"initialLiquidationLTV","type":"uint16"},{"internalType":"uint48","name":"targetTimestamp","type":"uint48"},{"internalType":"uint32","name":"rampDuration","type":"uint32"},{"internalType":"uint256","name":"interestFee","type":"uint256"},{"internalType":"uint256","name":"interestRate","type":"uint256"}],"internalType":"struct EulerV2View.CollateralInfo[]","name":"collaterals","type":"tuple[]"},{"internalType":"uint16","name":"maxLiquidationDiscount","type":"uint16"},{"internalType":"uint256","name":"liquidationCoolOffTime","type":"uint256"},{"internalType":"bool","name":"badDebtSocializationEnabled","type":"bool"},{"internalType":"address","name":"unitOfAccount","type":"address"},{"internalType":"uint256","name":"unitOfAccountInUsd","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"assetPriceInUnit","type":"uint256"},{"internalType":"uint256","name":"sharePriceInUnit","type":"uint256"},{"internalType":"uint256","name":"interestRate","type":"uint256"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"address","name":"balanceTrackerAddress","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"governorAdmin","type":"address"},{"internalType":"uint256","name":"interestFee","type":"uint256"}],"internalType":"struct EulerV2View.VaultInfoFull[]","name":"data","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"_btcPrice","type":"int256"}],"name":"getWBtcPrice","outputs":[{"internalType":"int256","name":"wBtcPrice","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"_stEthPrice","type":"int256"}],"name":"getWStEthPrice","outputs":[{"internalType":"int256","name":"wStEthPrice","type":"int256"}],"stateMutability":"view","type":"function"}],
1174
- "networks": {
1175
- "1": { "address": "0x8932E46Ecf96b5Fe033F5e27Ab6dC755Cb668967" }
1176
- }
1177
- } as const;
1178
1172
  export const LiquityV2StabilityPool = {
1179
1173
  "abi": [{"inputs":[{"internalType":"contract IAddressesRegistry","name":"_addressesRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newActivePoolAddress","type":"address"}],"name":"ActivePoolAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_B","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_epoch","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_scale","type":"uint128"}],"name":"B_Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newBoldTokenAddress","type":"address"}],"name":"BoldTokenAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newDefaultPoolAddress","type":"address"}],"name":"DefaultPoolAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_depositor","type":"address"},{"indexed":false,"internalType":"enum IStabilityPoolEvents.Operation","name":"_operation","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"_depositLossSinceLastOperation","type":"uint256"},{"indexed":false,"internalType":"int256","name":"_depositChange","type":"int256"},{"indexed":false,"internalType":"uint256","name":"_yieldGainSinceLastOperation","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_yieldGainClaimed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_ethGainSinceLastOperation","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_ethGainClaimed","type":"uint256"}],"name":"DepositOperation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_depositor","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newDeposit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_stashedColl","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_snapshotP","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_snapshotS","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_snapshotB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_snapshotScale","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_snapshotEpoch","type":"uint256"}],"name":"DepositUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_currentEpoch","type":"uint128"}],"name":"EpochUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"EtherSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_P","type":"uint256"}],"name":"P_Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newPriceFeedAddress","type":"address"}],"name":"PriceFeedAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_S","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"_epoch","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"_scale","type":"uint128"}],"name":"S_Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint128","name":"_currentScale","type":"uint128"}],"name":"ScaleUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newBalance","type":"uint256"}],"name":"StabilityPoolBoldBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newBalance","type":"uint256"}],"name":"StabilityPoolCollBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newTroveManagerAddress","type":"address"}],"name":"TroveManagerAddressChanged","type":"event"},{"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"P","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SCALE_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activePool","outputs":[{"internalType":"contract IActivePool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"boldToken","outputs":[{"internalType":"contract IBoldToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimAllCollGains","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpoch","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentScale","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositSnapshots","outputs":[{"internalType":"uint256","name":"S","type":"uint256"},{"internalType":"uint256","name":"P","type":"uint256"},{"internalType":"uint256","name":"B","type":"uint256"},{"internalType":"uint128","name":"scale","type":"uint128"},{"internalType":"uint128","name":"epoch","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deposits","outputs":[{"internalType":"uint256","name":"initialValue","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"name":"epochToScaleToB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"name":"epochToScaleToS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCollBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_depositor","type":"address"}],"name":"getCompoundedBoldDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_depositor","type":"address"}],"name":"getDepositorCollGain","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_depositor","type":"address"}],"name":"getDepositorYieldGain","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_depositor","type":"address"}],"name":"getDepositorYieldGainWithPending","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEntireSystemColl","outputs":[{"internalType":"uint256","name":"entireSystemColl","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEntireSystemDebt","outputs":[{"internalType":"uint256","name":"entireSystemDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalBoldDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getYieldGainsOwed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getYieldGainsPending","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastBoldLossError_Offset","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastBoldLossError_TotalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastCollError_Offset","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastYieldError","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_debtToOffset","type":"uint256"},{"internalType":"uint256","name":"_collToAdd","type":"uint256"}],"name":"offset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_topUp","type":"uint256"},{"internalType":"bool","name":"_doClaim","type":"bool"}],"name":"provideToSP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stashedColl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_boldYield","type":"uint256"}],"name":"triggerBoldRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"troveManager","outputs":[{"internalType":"contract ITroveManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_doClaim","type":"bool"}],"name":"withdrawFromSP","outputs":[],"stateMutability":"nonpayable","type":"function"}],
1180
1174
  "networks": {}
package/src/contracts.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { getContract, Client } from 'viem';
1
+ import { getContract, Client, GetContractReturnType } from 'viem';
2
2
  import * as configRaw from './config/contracts';
3
3
  import {
4
4
  Blockish, EthAddress, HexString, NetworkNumber,
@@ -57,7 +57,7 @@ export const getConfigContractAbi = <TKey extends ConfigKey>(name: TKey, network
57
57
  return latestAbi as unknown as typeof configRaw[TKey]['abi'];
58
58
  };
59
59
 
60
- export const createViemContractFromConfigFunc = <TKey extends ConfigKey>(name: TKey, _address?: HexString) => (client: Client, network: NetworkNumber, block?: Blockish) => {
60
+ export const createViemContractFromConfigFunc = <TKey extends ConfigKey>(name: TKey, _address?: HexString) => (client: Client, network: NetworkNumber, block?: Blockish): GetContractReturnType<typeof configRaw[TKey]['abi'], Client, HexString> => {
61
61
  const address = (_address || getConfigContractAddress(name, network, block));
62
62
  const abi = getConfigContractAbi(name, network, block) as typeof configRaw[TKey]['abi'];
63
63
  return getContract({
@@ -134,7 +134,6 @@ export const WstETHPriceFeedContractViem = createViemContractFromConfigFunc('Wst
134
134
  export const CompV3ViewContractViem = createViemContractFromConfigFunc('CompV3View');
135
135
  export const SparkViewContractViem = createViemContractFromConfigFunc('SparkView');
136
136
  export const SparkIncentiveDataProviderContractViem = createViemContractFromConfigFunc('SparkIncentiveDataProvider');
137
- export const EulerV2ViewContractViem = createViemContractFromConfigFunc('EulerV2View');
138
137
  export const CrvUSDViewContractViem = createViemContractFromConfigFunc('crvUSDView');
139
138
  export const CrvUSDFactoryContractViem = createViemContractFromConfigFunc('crvUSDFactory');
140
139
  export const LlamaLendViewContractViem = createViemContractFromConfigFunc('LlamaLendView');
@@ -6,6 +6,5 @@ export * as makerHelpers from './makerHelpers';
6
6
  export * as morphoBlueHelpers from './morphoBlueHelpers';
7
7
  export * as llamaLendHelpers from './llamaLendHelpers';
8
8
  export * as liquityV2Helpers from './liquityV2Helpers';
9
- export * as eulerV2Helpers from './eulerHelpers';
10
9
  export * as fluidHelpers from './fluidHelpers';
11
10
  export * as aaveV4Helpers from './aaveV4Helpers';
package/src/index.ts CHANGED
@@ -18,7 +18,6 @@ import * as helpers from './helpers';
18
18
  import * as exchange from './exchange';
19
19
  import * as morphoBlue from './morphoBlue';
20
20
  import * as llamaLend from './llamaLend';
21
- import * as eulerV2 from './eulerV2';
22
21
  import * as portfolio from './portfolio';
23
22
  import * as claiming from './claiming';
24
23
  import * as savings from './savings';
@@ -43,7 +42,6 @@ export {
43
42
  helpers,
44
43
  morphoBlue,
45
44
  llamaLend,
46
- eulerV2,
47
45
  fluid,
48
46
  portfolio,
49
47
  claiming,
@@ -19,7 +19,6 @@ export { CrvUsdMarkets } from './curveUsd';
19
19
  export { MorphoBlueMarkets, findMorphoBlueMarket } from './morphoBlue';
20
20
  export { LlamaLendMarkets } from './llamaLend';
21
21
  export { LiquityV2Markets, findLiquityV2MarketByAddress } from './liquityV2';
22
- export { EulerV2Markets } from './euler';
23
22
  export {
24
23
  FluidMarkets,
25
24
  getFluidVersionsDataForNetwork,
@@ -1012,6 +1012,21 @@ export const MORPHO_BLUE_WEETH_USDC_860 = (networkId: NetworkNumber = NetworkNum
1012
1012
  marketId: '0x61765602144e91e5ac9f9e98b8584eae308f9951596fd7f5e0f59f21cd2bf664',
1013
1013
  protocolName: 'morpho-blue',
1014
1014
  });
1015
+ export const MORPHO_BLUE_WEETH_USDC_860_85252BB8 = (networkId: NetworkNumber = NetworkNumber.Eth): MorphoBlueMarketData => ({
1016
+ chainIds: [NetworkNumber.Eth],
1017
+ label: 'Morpho',
1018
+ shortLabel: 'weETH/USDC',
1019
+ value: MorphoBlueVersions.MorphoBlueWeEthUSDC_860_85252bb8,
1020
+ url: 'weethusdc-85252bb8',
1021
+ loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
1022
+ collateralToken: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
1023
+ oracle: '0xa3A7A3ceFee206f9d7Fe00eC3C83324ED4228411',
1024
+ oracleType: MorphoBlueOracleType.MARKET_RATE,
1025
+ irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
1026
+ lltv: 0.86,
1027
+ marketId: '0x85252bb8485c99bba46fe149c7dd2aad83672640f53c630890673cf1848ba16e',
1028
+ protocolName: 'morpho-blue',
1029
+ });
1015
1030
  export const MORPHO_BLUE_ETH_USDC_860_94B823E6 = (networkId: NetworkNumber = NetworkNumber.Eth): MorphoBlueMarketData => ({
1016
1031
  chainIds: [NetworkNumber.Eth],
1017
1032
  label: 'Morpho',
@@ -1117,6 +1132,21 @@ export const MORPHO_BLUE_WEETH_USDT_860 = (networkId: NetworkNumber = NetworkNum
1117
1132
  marketId: '0xc2c53d2b868e163da71de14a5113cc2743fc9b5ad7488334720ed2846566a8f6',
1118
1133
  protocolName: 'morpho-blue',
1119
1134
  });
1135
+ export const MORPHO_BLUE_WEETH_USDT_860_A6A4C1F1 = (networkId: NetworkNumber = NetworkNumber.Eth): MorphoBlueMarketData => ({
1136
+ chainIds: [NetworkNumber.Eth],
1137
+ label: 'Morpho',
1138
+ shortLabel: 'weETH/USDT',
1139
+ value: MorphoBlueVersions.MorphoBlueWeEthUSDT_860_a6a4c1f1,
1140
+ url: 'weethusdt-a6a4c1f1',
1141
+ loanToken: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
1142
+ collateralToken: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
1143
+ oracle: '0xa3A7A3ceFee206f9d7Fe00eC3C83324ED4228411',
1144
+ oracleType: MorphoBlueOracleType.MARKET_RATE,
1145
+ irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
1146
+ lltv: 0.86,
1147
+ marketId: '0xa6a4c1f15490a1ff39d9de3a366b408dd5647a436d8b179726d3e0562aff1292',
1148
+ protocolName: 'morpho-blue',
1149
+ });
1120
1150
  export const MORPHO_BLUE_SYRUPUSDT_USDT_915 = (networkId: NetworkNumber = NetworkNumber.Eth): MorphoBlueMarketData => ({
1121
1151
  chainIds: [NetworkNumber.Eth],
1122
1152
  label: 'Morpho',
@@ -1881,6 +1911,7 @@ export const MorphoBlueMarkets = (networkId: NetworkNumber) => ({
1881
1911
  [MorphoBlueVersions.MorphoBlueSyrupUSDCRLUSD_915]: MORPHO_BLUE_SYRUPUSDC_RLUSD_915(networkId),
1882
1912
  [MorphoBlueVersions.MorphoBlueWeEthUSDC_770]: MORPHO_BLUE_WEETH_USDC_770(networkId),
1883
1913
  [MorphoBlueVersions.MorphoBlueWeEthUSDC_860]: MORPHO_BLUE_WEETH_USDC_860(networkId),
1914
+ [MorphoBlueVersions.MorphoBlueWeEthUSDC_860_85252bb8]: MORPHO_BLUE_WEETH_USDC_860_85252BB8(networkId),
1884
1915
  [MorphoBlueVersions.MorphoBlueEthUSDC_860_94b823e6]: MORPHO_BLUE_ETH_USDC_860_94B823E6(networkId),
1885
1916
  [MorphoBlueVersions.MorphoBlueUSD3USDC_915]: MORPHO_BLUE_USD3_USDC_915(networkId),
1886
1917
  [MorphoBlueVersions.MorphoBlueStUSDSUSDC_860]: MORPHO_BLUE_STUSDS_USDC_860(networkId),
@@ -1888,6 +1919,7 @@ export const MorphoBlueMarkets = (networkId: NetworkNumber) => ({
1888
1919
  [MorphoBlueVersions.MorphoBlueWBTCEth_915]: MORPHO_BLUE_WBTC_ETH_915(networkId),
1889
1920
  [MorphoBlueVersions.MorphoBlueCbBTCEth_915_12dbf493]: MORPHO_BLUE_CBBTC_ETH_915_12DBF493(networkId),
1890
1921
  [MorphoBlueVersions.MorphoBlueWeEthUSDT_860]: MORPHO_BLUE_WEETH_USDT_860(networkId),
1922
+ [MorphoBlueVersions.MorphoBlueWeEthUSDT_860_a6a4c1f1]: MORPHO_BLUE_WEETH_USDT_860_A6A4C1F1(networkId),
1891
1923
  [MorphoBlueVersions.MorphoBlueSyrupUSDTUSDT_915]: MORPHO_BLUE_SYRUPUSDT_USDT_915(networkId),
1892
1924
  [MorphoBlueVersions.MorphoBlueCbBTCPYUSD_860]: MORPHO_BLUE_CBBTC_PYUSD_860(networkId),
1893
1925
  [MorphoBlueVersions.MorphoBlueWeEthUSDT_770]: MORPHO_BLUE_WEETH_USDT_770(networkId),
@@ -35,7 +35,7 @@ const hasAnyBalance = (balances: PositionBalances): boolean => (
35
35
  * Uses one shared, multicall-batched viem client (same pattern as getPortfolioData) so all
36
36
  * per-market reads collapse into a handful of RPC round trips.
37
37
  *
38
- * Not covered: Maker, Liquity, Liquity V2, Fluid, Euler V2 — these already expose cheap,
38
+ * Not covered: Maker, Liquity, Liquity V2, Fluid — these already expose cheap,
39
39
  * user-scoped discovery entry points elsewhere in the SDK (e.g. _getUserCdps, _getUserPositionsPortfolio).
40
40
  */
41
41
  export async function getUserPositionsExistence(
@@ -5,7 +5,6 @@ import {
5
5
  AaveV4Spokes,
6
6
  CompoundMarkets,
7
7
  CrvUsdMarkets,
8
- EulerV2Markets,
9
8
  LiquityV2Markets,
10
9
  LlamaLendMarkets,
11
10
  MorphoBlueMarkets,
@@ -22,7 +21,6 @@ import {
22
21
  CompoundV3MarketsData,
23
22
  CompoundVersions,
24
23
  CrvUSDGlobalMarketData,
25
- EulerV2FullMarketData,
26
24
  LiquityV2MarketData,
27
25
  LlamaLendGlobalMarketData,
28
26
  MorphoBlueMarketInfo,
@@ -31,7 +29,6 @@ import {
31
29
  } from '../types';
32
30
  import { _getCompoundV3AccountData, _getCompoundV3MarketsData } from '../compoundV3';
33
31
  import { _getSparkAccountData, _getSparkMarketsData } from '../spark';
34
- import { _getEulerV2AccountData, _getEulerV2MarketsData } from '../eulerV2';
35
32
  import { _getCurveUsdGlobalData, _getCurveUsdUserData } from '../curveUsd';
36
33
  import { _getLlamaLendGlobalData, _getLlamaLendUserData } from '../llamaLend';
37
34
  import { _getAaveV3AccountData, _getAaveV3MarketData, getStakeAaveData } from '../aaveV3';
@@ -43,7 +40,6 @@ import { getViemProvider } from '../services/viem';
43
40
  import { _getLiquityTroveInfo, getLiquityStakingData } from '../liquity';
44
41
  import { _getLiquityV2MarketData, getLiquitySAndYBold, getLiquityV2Staking } from '../liquityV2';
45
42
  import { _getAllUserEarnPositionsWithFTokens, _getUserPositionsPortfolio } from '../fluid';
46
- import { getEulerV2SubAccounts } from '../helpers/eulerHelpers';
47
43
  import { getUmbrellaData } from '../umbrella';
48
44
  import { getMeritUnclaimedRewards, getUnclaimedRewardsForAllMarkets } from '../claiming/aaveV3';
49
45
  import { getCompoundV3Rewards } from '../claiming/compV3';
@@ -65,7 +61,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
65
61
  const morphoMarkets = Object.values(MorphoBlueMarkets(network)).filter((market) => market.chainIds.includes(network));
66
62
  const compoundV3Markets = Object.values(CompoundMarkets(network)).filter((market) => market.chainIds.includes(network) && market.value !== CompoundVersions.CompoundV2);
67
63
  const sparkMarkets = Object.values(SparkMarkets(network)).filter((market) => market.chainIds.includes(network));
68
- const eulerV2Markets = Object.values(EulerV2Markets(network)).filter((market) => market.chainIds.includes(network));
69
64
  const aaveV3Markets = [AaveVersions.AaveV3, AaveVersions.AaveV3Lido, AaveVersions.AaveV3Etherfi].map((version) => AaveMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
70
65
  const aaveV2Markets = [AaveVersions.AaveV2].map((version) => AaveMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
71
66
  const compoundV2Markets = [CompoundVersions.CompoundV2].map((version) => CompoundMarkets(network)[version]).filter((market) => market.chainIds.includes(network));
@@ -83,7 +78,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
83
78
  const morphoMarketsData: Record<string, MorphoBlueMarketInfo> = {};
84
79
  const compoundV3MarketsData: Record<string, CompoundV3MarketsData> = {};
85
80
  const sparkMarketsData: Record<string, SparkMarketsData> = {};
86
- const eulerV2MarketsData: Record<string, EulerV2FullMarketData> = {};
87
81
  const aaveV3MarketsData: Record<string, AaveV3MarketData> = {};
88
82
  const makerCdps: Record<string, CdpInfo[]> = {};
89
83
  const aaveV2MarketsData: Record<string, AaveV2MarketData> = {};
@@ -97,7 +91,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
97
91
  morphoMarketsData,
98
92
  compoundV3MarketsData,
99
93
  sparkMarketsData,
100
- eulerV2MarketsData,
101
94
  aaveV3MarketsData,
102
95
  aaveV2MarketsData,
103
96
  compoundV2MarketsData,
@@ -119,7 +112,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
119
112
  morphoBlue: {},
120
113
  compoundV3: {},
121
114
  spark: {},
122
- eulerV2: {},
123
115
  maker: {},
124
116
  aaveV2: {},
125
117
  compoundV2: {},
@@ -175,10 +167,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
175
167
  const marketData = await _getSparkMarketsData(client, network, market);
176
168
  sparkMarketsData[market.value] = marketData;
177
169
  }),
178
- ...eulerV2Markets.map(async (market) => {
179
- const marketData = await _getEulerV2MarketsData(client, network, market);
180
- eulerV2MarketsData[market.value] = marketData;
181
- }),
182
170
  ...aaveV3Markets.map(async (market) => {
183
171
  const marketData = await _getAaveV3MarketData(client, network, market);
184
172
  aaveV3MarketsData[market.value] = marketData;
@@ -503,27 +491,6 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
503
491
  positions[address.toLowerCase() as EthAddress].spark[market.value] = { error: `Error fetching Spark account data for address ${address} on market ${market.value}`, data: null };
504
492
  }
505
493
  })).flat(),
506
- ...eulerV2Markets.map((market) => addresses.map((address) => {
507
- const eulerV2SubAccounts = getEulerV2SubAccounts(address);
508
- const eulerV2Addresses = [address, ...eulerV2SubAccounts];
509
- return Promise.all(eulerV2Addresses.map(async (eulerAddress) => {
510
- try {
511
- const accData = await _getEulerV2AccountData(client, network, eulerAddress, eulerAddress, { selectedMarket: market, ...eulerV2MarketsData[market.value] });
512
- if (new Dec(accData.suppliedUsd).gt(0) || new Dec(accData.borrowedUsd).gt(0)) {
513
- if (!positions[address.toLowerCase() as EthAddress].eulerV2[market.value]) {
514
- positions[address.toLowerCase() as EthAddress].eulerV2[market.value] = {};
515
- }
516
- positions[address.toLowerCase() as EthAddress].eulerV2[market.value]![eulerAddress.toLowerCase() as EthAddress] = { error: '', data: accData };
517
- }
518
- } catch (error) {
519
- console.error(`Error fetching EulerV2 account data for address ${eulerAddress} on market ${market.value}:`, error);
520
- if (!positions[address.toLowerCase() as EthAddress].eulerV2[market.value]) {
521
- positions[address.toLowerCase() as EthAddress].eulerV2[market.value] = {};
522
- }
523
- positions[address.toLowerCase() as EthAddress].eulerV2[market.value]![eulerAddress.toLowerCase() as EthAddress] = { error: `Error fetching EulerV2 account data for address ${eulerAddress} on market ${market.value}`, data: null };
524
- }
525
- }));
526
- }).flat()).flat(),
527
494
  ...addresses.map(async (address) => makerCdps[address.toLowerCase() as EthAddress]?.map(async (cdpInfo) => {
528
495
  try {
529
496
  const cdpData = await _getMakerCdpData(client, network, cdpInfo);
@@ -1,9 +1,9 @@
1
1
  import { Client } from 'viem';
2
2
  import Dec from 'decimal.js';
3
- import { request as graphqlRequest } from 'graphql-request';
4
3
  import { assetAmountInEth } from '@defisaver/tokens';
5
4
  import * as morphoVaultsOptions from './options';
6
5
  import { EthAddress, EthereumProvider, NetworkNumber } from '../../types/common';
6
+ import { LONGER_TIMEOUT } from '../../services/utils';
7
7
  import { getViemProvider } from '../../services/viem';
8
8
  import { getMorphoVaultContractViem } from '../../contracts';
9
9
  import { MorphoVault, SavingsVaultData } from '../../types';
@@ -30,6 +30,22 @@ const vaultDataQuery = `
30
30
 
31
31
  const MORPHO_BLUE_API = 'https://api.morpho.org/graphql';
32
32
 
33
+ const fetchVaultData = async (address: EthAddress, chainId: NetworkNumber) => {
34
+ const res = await fetch(MORPHO_BLUE_API, {
35
+ method: 'POST',
36
+ headers: { 'Content-Type': 'application/json' },
37
+ body: JSON.stringify({
38
+ query: vaultDataQuery,
39
+ variables: { address, chainId },
40
+ }),
41
+ signal: AbortSignal.timeout(LONGER_TIMEOUT),
42
+ });
43
+ if (!res.ok) throw new Error(`Morpho vault request failed: ${res.status}`);
44
+ const body = await res.json();
45
+ if (!body?.data) throw new Error('Morpho vault response missing data');
46
+ return body.data;
47
+ };
48
+
33
49
  export const _getMorphoVaultData = async (provider: Client, network: NetworkNumber, morphoVault: MorphoVault, accounts: EthAddress[]): Promise<SavingsVaultData> => {
34
50
  const morphoVaultContract = getMorphoVaultContractViem(provider, morphoVault.address);
35
51
 
@@ -40,7 +56,7 @@ export const _getMorphoVaultData = async (provider: Client, network: NetworkNumb
40
56
  morphoVaultContract.read.totalSupply(),
41
57
  morphoVaultContract.read.decimals(),
42
58
  morphoVaultContract.read.DECIMALS_OFFSET(),
43
- graphqlRequest(MORPHO_BLUE_API, vaultDataQuery, { address: morphoVault.address, chainId: network }),
59
+ fetchVaultData(morphoVault.address, network),
44
60
  ...accounts.map(async (account) => {
45
61
  const share = await morphoVaultContract.read.balanceOf([account]);
46
62
  shares[account] = share;
@@ -8,7 +8,6 @@ import {
8
8
  import { BLOCKS_IN_A_YEAR } from '../constants';
9
9
  import { DEFAULT_TIMEOUT } from '../services/utils';
10
10
  import { EligibilityMapping } from './eligibility';
11
- import { EulerV2UsedAsset } from '../types';
12
11
 
13
12
  const getSsrApy = async () => {
14
13
  try {
@@ -143,7 +142,7 @@ export const calculateNetApy = ({
143
142
  }: { usedAssets: MMUsedAssets, assetsData: MMAssetsData, optionalData?: any }) => {
144
143
  const sumValues = Object.values(usedAssets).reduce((_acc, usedAsset) => {
145
144
  const acc = { ..._acc };
146
- const assetData = assetsData[usedAsset.symbol] || assetsData[(usedAsset as EulerV2UsedAsset).vaultAddress?.toLowerCase() || ''];
145
+ const assetData = assetsData[usedAsset.symbol];
147
146
 
148
147
  if (usedAsset.isSupplied) {
149
148
  const amount = usedAsset.suppliedUsd;
@@ -7,7 +7,6 @@ export * from './liquityV2';
7
7
  export * from './maker';
8
8
  export * from './morphoBlue';
9
9
  export * from './llamaLend';
10
- export * from './euler';
11
10
  export * from './fluid';
12
11
  export * from './portfolio';
13
12
  export * from './merit';
@@ -79,6 +79,7 @@ export enum MorphoBlueVersions {
79
79
  MorphoBlueSyrupUSDCRLUSD_915 = 'morphobluesyrupusdcrlusd_915', // syrupUSDC/RLUSD 0.915
80
80
  MorphoBlueWeEthUSDC_770 = 'morphoblueweethusdc_770', // weETH/USDC 0.77
81
81
  MorphoBlueWeEthUSDC_860 = 'morphoblueweethusdc_860', // weETH/USDC 0.86
82
+ MorphoBlueWeEthUSDC_860_85252bb8 = 'morphoblueweethusdc_860_85252bb8', // weETH/USDC 0.86
82
83
  MorphoBlueEthUSDC_860_94b823e6 = 'morphoblueethusdc_860_94b823e6', // ETH/USDC 0.86
83
84
  MorphoBlueUSD3USDC_915 = 'morphoblueusd3usdc_915', // USD3/USDC 0.915
84
85
  MorphoBlueStUSDSUSDC_860 = 'morphobluestusdsusdc_860', // stUSDS/USDC 0.86
@@ -86,6 +87,7 @@ export enum MorphoBlueVersions {
86
87
  MorphoBlueWBTCEth_915 = 'morphobluewbtceth_915', // WBTC/ETH 0.915
87
88
  MorphoBlueCbBTCEth_915_12dbf493 = 'morphobluecbbtceth_915_12dbf493', // cbBTC/ETH 0.915
88
89
  MorphoBlueWeEthUSDT_860 = 'morphoblueweethusdt_860', // weETH/USDT 0.86
90
+ MorphoBlueWeEthUSDT_860_a6a4c1f1 = 'morphoblueweethusdt_860_a6a4c1f1', // weETH/USDT 0.86
89
91
  MorphoBlueSyrupUSDTUSDT_915 = 'morphobluesyrupusdtusdt_915', // syrupUSDT/USDT 0.915
90
92
  MorphoBlueCbBTCPYUSD_860 = 'morphobluecbbtcpyusd_860', // cbBTC/PYUSD 0.86
91
93
  MorphoBlueWeEthUSDT_770 = 'morphoblueweethusdt_770', // weETH/USDT 0.77
@@ -3,7 +3,6 @@ import { AaveV4AccountData, AaveV4SpokesType } from './aaveV4';
3
3
  import { EthAddress } from './common';
4
4
  import { CompoundV2PositionData, CompoundV3PositionData, CompoundVersions } from './compound';
5
5
  import { CrvUSDUserData, CrvUSDVersions } from './curveUsd';
6
- import { EulerV2PositionData, EulerV2Versions } from './euler';
7
6
  import { FluidVaultData } from './fluid';
8
7
  import { LiquityTroveInfo } from './liquity';
9
8
  import { LiquityV2TroveData, LiquityV2Versions } from './liquityV2';
@@ -30,9 +29,6 @@ export interface PortfolioPositionsDataForAddress {
30
29
  spark: {
31
30
  [key in SparkVersions]?: PortfolioProtocolData<SparkPositionData>;
32
31
  };
33
- eulerV2: {
34
- [key in EulerV2Versions]?: Record<EthAddress, PortfolioProtocolData<EulerV2PositionData>>;
35
- };
36
32
  maker: {
37
33
  [key: string]: PortfolioProtocolData<CdpData>;
38
34
  };