@defisaver/positions-sdk 0.0.111 → 0.0.112

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.
@@ -553,12 +553,16 @@ module.exports = {
553
553
  }
554
554
  },
555
555
  "SparkView": {
556
- "abi": [{"inputs":[],"name":"SPARK_REFERRAL_CODE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"liquidityAdded","type":"uint256"},{"internalType":"uint256","name":"liquidityTaken","type":"uint256"}],"internalType":"struct SparkView.LiquidityChangeParams[]","name":"_reserveParams","type":"tuple[]"}],"name":"getApyAfterValuesEstimation","outputs":[{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"variableBorrowRate","type":"uint256"}],"internalType":"struct SparkView.EstimatedRates[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getCollFactors","outputs":[{"internalType":"uint256[]","name":"collFactors","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"contract IPoolV3","name":"lendingPool","type":"address"}],"name":"getEModeCollateralFactor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getFullTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getHealthFactor","outputs":[{"internalType":"uint256","name":"healthFactor","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getLoanData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getLoanDataArr","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData[]","name":"loans","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"data","type":"uint256"}],"internalType":"struct DataTypes.ReserveConfigurationMap","name":"self","type":"tuple"}],"name":"getLtv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getRatios","outputs":[{"internalType":"uint256[]","name":"ratios","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getSafetyRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getTokenBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"borrowsStable","type":"uint256"},{"internalType":"uint256","name":"borrowsVariable","type":"uint256"},{"internalType":"uint256","name":"stableBorrowRate","type":"uint256"},{"internalType":"bool","name":"enabledAsCollateral","type":"bool"}],"internalType":"struct SparkView.UserToken[]","name":"userTokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getTokenInfoFull","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull","name":"_tokenInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct SparkView.TokenInfo[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"}],
556
+ "abi": [{"inputs":[],"name":"SPARK_REFERRAL_CODE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"liquidityAdded","type":"uint256"},{"internalType":"uint256","name":"liquidityTaken","type":"uint256"},{"internalType":"bool","name":"isDebtAsset","type":"bool"}],"internalType":"struct SparkView.LiquidityChangeParams[]","name":"_reserveParams","type":"tuple[]"}],"name":"getApyAfterValuesEstimation","outputs":[{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"variableBorrowRate","type":"uint256"}],"internalType":"struct SparkView.EstimatedRates[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getCollFactors","outputs":[{"internalType":"uint256[]","name":"collFactors","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"contract IPoolV3","name":"lendingPool","type":"address"}],"name":"getEModeCollateralFactor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getFullTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getHealthFactor","outputs":[{"internalType":"uint256","name":"healthFactor","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getLoanData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getLoanDataArr","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData[]","name":"loans","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"data","type":"uint256"}],"internalType":"struct DataTypes.ReserveConfigurationMap","name":"self","type":"tuple"}],"name":"getLtv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getRatios","outputs":[{"internalType":"uint256[]","name":"ratios","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getSafetyRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getTokenBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"borrowsStable","type":"uint256"},{"internalType":"uint256","name":"borrowsVariable","type":"uint256"},{"internalType":"uint256","name":"stableBorrowRate","type":"uint256"},{"internalType":"bool","name":"enabledAsCollateral","type":"bool"}],"internalType":"struct SparkView.UserToken[]","name":"userTokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getTokenInfoFull","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull","name":"_tokenInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct SparkView.TokenInfo[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"}],
557
557
  "networks": {
558
558
  "1": {
559
- "address": "0xD3780b6A694C3573C669A10bc10f61e3401412B8",
560
- "createdBlock": 20218396,
559
+ "address": "0x080f99a5E039e863EC61bbEBBc48a409E75C58F5",
560
+ "createdBlock": 20368470,
561
561
  "oldVersions": {
562
+ "20218396": {
563
+ "abi": [{"inputs":[],"name":"SPARK_REFERRAL_CODE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"liquidityAdded","type":"uint256"},{"internalType":"uint256","name":"liquidityTaken","type":"uint256"}],"internalType":"struct SparkView.LiquidityChangeParams[]","name":"_reserveParams","type":"tuple[]"}],"name":"getApyAfterValuesEstimation","outputs":[{"components":[{"internalType":"address","name":"reserveAddress","type":"address"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"variableBorrowRate","type":"uint256"}],"internalType":"struct SparkView.EstimatedRates[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getCollFactors","outputs":[{"internalType":"uint256[]","name":"collFactors","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"contract IPoolV3","name":"lendingPool","type":"address"}],"name":"getEModeCollateralFactor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getFullTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getHealthFactor","outputs":[{"internalType":"uint256","name":"healthFactor","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getLoanData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getLoanDataArr","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"bool[]","name":"enabledAsColl","type":"bool[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData[]","name":"loans","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"data","type":"uint256"}],"internalType":"struct DataTypes.ReserveConfigurationMap","name":"self","type":"tuple"}],"name":"getLtv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getRatios","outputs":[{"internalType":"uint256[]","name":"ratios","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getSafetyRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getTokenBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"borrowsStable","type":"uint256"},{"internalType":"uint256","name":"borrowsVariable","type":"uint256"},{"internalType":"uint256","name":"stableBorrowRate","type":"uint256"},{"internalType":"bool","name":"enabledAsCollateral","type":"bool"}],"internalType":"struct SparkView.UserToken[]","name":"userTokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getTokenInfoFull","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull","name":"_tokenInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct SparkView.TokenInfo[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"}],
564
+ "address": "0xD3780b6A694C3573C669A10bc10f61e3401412B8",
565
+ },
562
566
  "17870357": {
563
567
  "abi": [{"inputs":[],"name":"SPARK_REFERRAL_CODE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STABLE_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VARIABLE_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getCollFactors","outputs":[{"internalType":"uint256[]","name":"collFactors","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"contract IPoolV3","name":"lendingPool","type":"address"}],"name":"getEModeCollateralFactor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getFullTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getHealthFactor","outputs":[{"internalType":"uint256","name":"healthFactor","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getLoanData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getLoanDataArr","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"eMode","type":"uint256"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"address[]","name":"borrowAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowStableAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"borrowVariableAmounts","type":"uint256[]"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"}],"internalType":"struct SparkView.LoanData[]","name":"loans","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"data","type":"uint256"}],"internalType":"struct DataTypes.ReserveConfigurationMap","name":"self","type":"tuple"}],"name":"getLtv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getRatios","outputs":[{"internalType":"uint256[]","name":"ratios","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getSafetyRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getTokenBalances","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"borrowsStable","type":"uint256"},{"internalType":"uint256","name":"borrowsVariable","type":"uint256"},{"internalType":"uint256","name":"stableBorrowRate","type":"uint256"},{"internalType":"bool","name":"enabledAsCollateral","type":"bool"}],"internalType":"struct SparkView.UserToken[]","name":"userTokens","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getTokenInfoFull","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint16","name":"assetId","type":"uint16"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRateVariable","type":"uint256"},{"internalType":"uint256","name":"borrowRateStable","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"availableLiquidity","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalBorrowVar","type":"uint256"},{"internalType":"uint256","name":"totalBorrowStab","type":"uint256"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationRatio","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"},{"internalType":"uint256","name":"borrowCap","type":"uint256"},{"internalType":"uint256","name":"emodeCategory","type":"uint256"},{"internalType":"uint256","name":"debtCeilingForIsolationMode","type":"uint256"},{"internalType":"uint256","name":"isolationModeTotalDebt","type":"uint256"},{"internalType":"bool","name":"usageAsCollateralEnabled","type":"bool"},{"internalType":"bool","name":"borrowingEnabled","type":"bool"},{"internalType":"bool","name":"stableBorrowRateEnabled","type":"bool"},{"internalType":"bool","name":"isolationModeBorrowingEnabled","type":"bool"},{"internalType":"bool","name":"isSiloedForBorrowing","type":"bool"},{"internalType":"uint256","name":"eModeCollateralFactor","type":"uint256"},{"internalType":"bool","name":"isFlashLoanEnabled","type":"bool"},{"internalType":"uint16","name":"ltv","type":"uint16"},{"internalType":"uint16","name":"liquidationThreshold","type":"uint16"},{"internalType":"uint16","name":"liquidationBonus","type":"uint16"},{"internalType":"address","name":"priceSource","type":"address"},{"internalType":"string","name":"label","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"bool","name":"isFrozen","type":"bool"}],"internalType":"struct SparkView.TokenInfoFull","name":"_tokenInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_tokenAddresses","type":"address[]"}],"name":"getTokensInfo","outputs":[{"components":[{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"address","name":"underlyingTokenAddress","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct SparkView.TokenInfo[]","name":"tokens","type":"tuple[]"}],"stateMutability":"view","type":"function"}],
564
568
  "address": "0xB3B13838F6F57CE76b94f0744Ab0B045B780836e"
@@ -862,11 +866,25 @@ module.exports = {
862
866
  "networks": {
863
867
  "1": {
864
868
  "address": "0x10B621823D4f3E85fBDF759e252598e4e097C1fd",
869
+ "createdBlock": 20219255,
870
+ "oldVersions": {
871
+ "18976639": {
872
+ "abi": [{"inputs":[],"name":"MORPHO_BLUE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"}],"name":"getMarketId","outputs":[{"internalType":"Id","name":"id","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"}],"name":"getMarketInfo","outputs":[{"components":[{"internalType":"Id","name":"id","type":"bytes32"},{"internalType":"uint128","name":"totalSupplyAssets","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShares","type":"uint128"},{"internalType":"uint128","name":"totalBorrowAssets","type":"uint128"},{"internalType":"uint128","name":"totalBorrowShares","type":"uint128"},{"internalType":"uint256","name":"lastUpdate","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"uint256","name":"oracle","type":"uint256"}],"internalType":"struct MorphoBlueView.MarketInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"name":"getMarketInfoNotTuple","outputs":[{"components":[{"internalType":"Id","name":"id","type":"bytes32"},{"internalType":"uint128","name":"totalSupplyAssets","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShares","type":"uint128"},{"internalType":"uint128","name":"totalBorrowAssets","type":"uint128"},{"internalType":"uint128","name":"totalBorrowShares","type":"uint128"},{"internalType":"uint256","name":"lastUpdate","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"uint256","name":"oracle","type":"uint256"}],"internalType":"struct MorphoBlueView.MarketInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"},{"internalType":"address","name":"owner","type":"address"}],"name":"getUserInfo","outputs":[{"components":[{"internalType":"uint256","name":"supplyShares","type":"uint256"},{"internalType":"uint256","name":"suppliedInAssets","type":"uint256"},{"internalType":"uint256","name":"borrowShares","type":"uint256"},{"internalType":"uint256","name":"borrowedInAssets","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"internalType":"struct MorphoBlueView.PositionInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"morphoBlue","outputs":[{"internalType":"contract IMorphoBlue","name":"","type":"address"}],"stateMutability":"view","type":"function"}],
873
+ "address": "0xE29175a86B60138403a9534A391acaDb19f1E9a6",
874
+ },
875
+ },
865
876
  },
866
877
  "8453": {
867
878
  "address": "0x53c0E962bd0AC53928ca04703238b2ec2894195B",
879
+ "createdBlock": 16569740,
880
+ "oldVersions": {
881
+ "14527939": {
882
+ "abi": [{"inputs":[],"name":"MORPHO_BLUE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"}],"name":"getMarketId","outputs":[{"internalType":"Id","name":"id","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"}],"name":"getMarketInfo","outputs":[{"components":[{"internalType":"Id","name":"id","type":"bytes32"},{"internalType":"uint128","name":"totalSupplyAssets","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShares","type":"uint128"},{"internalType":"uint128","name":"totalBorrowAssets","type":"uint128"},{"internalType":"uint128","name":"totalBorrowShares","type":"uint128"},{"internalType":"uint256","name":"lastUpdate","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"uint256","name":"oracle","type":"uint256"}],"internalType":"struct MorphoBlueView.MarketInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"name":"getMarketInfoNotTuple","outputs":[{"components":[{"internalType":"Id","name":"id","type":"bytes32"},{"internalType":"uint128","name":"totalSupplyAssets","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShares","type":"uint128"},{"internalType":"uint128","name":"totalBorrowAssets","type":"uint128"},{"internalType":"uint128","name":"totalBorrowShares","type":"uint128"},{"internalType":"uint256","name":"lastUpdate","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"uint256","name":"oracle","type":"uint256"}],"internalType":"struct MorphoBlueView.MarketInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"loanToken","type":"address"},{"internalType":"address","name":"collateralToken","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"irm","type":"address"},{"internalType":"uint256","name":"lltv","type":"uint256"}],"internalType":"struct MarketParams","name":"marketParams","type":"tuple"},{"internalType":"address","name":"owner","type":"address"}],"name":"getUserInfo","outputs":[{"components":[{"internalType":"uint256","name":"supplyShares","type":"uint256"},{"internalType":"uint256","name":"suppliedInAssets","type":"uint256"},{"internalType":"uint256","name":"borrowShares","type":"uint256"},{"internalType":"uint256","name":"borrowedInAssets","type":"uint256"},{"internalType":"uint256","name":"collateral","type":"uint256"}],"internalType":"struct MorphoBlueView.PositionInfo","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"morphoBlue","outputs":[{"internalType":"contract IMorphoBlue","name":"","type":"address"}],"stateMutability":"view","type":"function"}],
883
+ "address": "0xDBCACF59C5063da8B15481F88E7D70E13c92f2a1",
884
+ },
885
+ },
868
886
  }
869
- }
887
+ },
870
888
  },
871
889
  "FeedRegistry": {
872
890
  "abi": [{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"accessController","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"AccessControllerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"address","name":"denomination","type":"address"},{"indexed":true,"internalType":"address","name":"latestAggregator","type":"address"},{"indexed":false,"internalType":"address","name":"previousAggregator","type":"address"},{"indexed":false,"internalType":"uint16","name":"nextPhaseId","type":"uint16"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"FeedConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"address","name":"denomination","type":"address"},{"indexed":true,"internalType":"address","name":"proposedAggregator","type":"address"},{"indexed":false,"internalType":"address","name":"currentAggregator","type":"address"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"FeedProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"address","name":"aggregator","type":"address"}],"name":"confirmFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAccessController","outputs":[{"internalType":"contract AccessControllerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"getCurrentPhaseId","outputs":[{"internalType":"uint16","name":"currentPhaseId","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"getFeed","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"aggregator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint80","name":"roundId","type":"uint80"}],"name":"getNextRoundId","outputs":[{"internalType":"uint80","name":"nextRoundId","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint16","name":"phaseId","type":"uint16"}],"name":"getPhase","outputs":[{"components":[{"internalType":"uint16","name":"phaseId","type":"uint16"},{"internalType":"uint80","name":"startingAggregatorRoundId","type":"uint80"},{"internalType":"uint80","name":"endingAggregatorRoundId","type":"uint80"}],"internalType":"struct FeedRegistryInterface.Phase","name":"phase","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint16","name":"phaseId","type":"uint16"}],"name":"getPhaseFeed","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"aggregator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint16","name":"phaseId","type":"uint16"}],"name":"getPhaseRange","outputs":[{"internalType":"uint80","name":"startingRoundId","type":"uint80"},{"internalType":"uint80","name":"endingRoundId","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint80","name":"roundId","type":"uint80"}],"name":"getPreviousRoundId","outputs":[{"internalType":"uint80","name":"previousRoundId","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"getProposedFeed","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"proposedAggregator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint80","name":"roundId","type":"uint80"}],"name":"getRoundFeed","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"aggregator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"isFeedEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"latestRound","outputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"address","name":"aggregator","type":"address"}],"name":"proposeFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"},{"internalType":"uint80","name":"roundId","type":"uint80"}],"name":"proposedGetRoundData","outputs":[{"internalType":"uint80","name":"id","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"proposedLatestRoundData","outputs":[{"internalType":"uint80","name":"id","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract AccessControllerInterface","name":"_accessController","type":"address"}],"name":"setAccessController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"typeAndVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"base","type":"address"},{"internalType":"address","name":"quote","type":"address"}],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
@@ -3,4 +3,5 @@ export const AVG_BLOCK_TIME = 12;
3
3
  export const BLOCKS_IN_A_YEAR = SECONDS_PER_YEAR / AVG_BLOCK_TIME;
4
4
  export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
5
5
  export const WAD = 1e18;
6
- export const USD_QUOTE = '0x0000000000000000000000000000000000000348';
6
+ export const USD_QUOTE = '0x0000000000000000000000000000000000000348';
7
+ export const borrowOperations = ['borrow', 'payback'];
@@ -7,7 +7,7 @@ import { MMUsedAssets, NetworkNumber } from '../../types/common';
7
7
  import {
8
8
  MorphoBlueAggregatedPositionData, MorphoBlueAssetsData, MorphoBlueMarketData, MorphoBlueMarketInfo,
9
9
  } from '../../types';
10
- import { SECONDS_PER_YEAR, WAD } from '../../constants';
10
+ import { borrowOperations, SECONDS_PER_YEAR, WAD } from '../../constants';
11
11
  import { MorphoBlueViewContract } from '../../contracts';
12
12
  import { MarketParamsStruct } from '../../types/contracts/generated/MorphoBlueView';
13
13
 
@@ -89,8 +89,6 @@ export const getBorrowRate = (borrowRate: string, totalBorrowShares: string) =>
89
89
  return new Dec(compound(borrowRate)).div(1e18).mul(100).toString();
90
90
  };
91
91
 
92
- const borrowOperations = ['borrow', 'payback'];
93
-
94
92
  export const getApyAfterValuesEstimation = async (selectedMarket: MorphoBlueMarketData, action: string, amount: string, asset: string, web3: Web3, network: NetworkNumber) => {
95
93
  const morphoBlueViewContract = MorphoBlueViewContract(web3, network);
96
94
  const lltvInWei = assetAmountInWei(selectedMarket.lltv, 'ETH');
@@ -1,11 +1,18 @@
1
1
  import Dec from 'decimal.js';
2
- import { calcLeverageLiqPrice, getAssetsTotal, isLeveragedPos } from '../../moneymarket';
2
+ import Web3 from 'web3';
3
+ import { assetAmountInWei, getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
4
+ import {
5
+ aprToApy, calcLeverageLiqPrice, getAssetsTotal, isLeveragedPos,
6
+ } from '../../moneymarket';
3
7
  import {
4
8
  SparkAggregatedPositionData,
5
- SparkAssetsData, SparkHelperCommon, SparkUsedAssets,
9
+ SparkAssetsData, SparkHelperCommon, SparkMarketData, SparkUsedAssets,
6
10
  } from '../../types';
7
11
  import { calculateNetApy } from '../../staking';
8
- import { wethToEth } from '../../services/utils';
12
+ import { ethToWeth, wethToEth } from '../../services/utils';
13
+ import { SparkViewContract } from '../../contracts';
14
+ import { NetworkNumber } from '../../types/common';
15
+ import { borrowOperations } from '../../constants';
9
16
 
10
17
  export const sparkIsInIsolationMode = ({ usedAssets, assetsData }: { usedAssets: SparkUsedAssets, assetsData: SparkAssetsData }) => Object.values(usedAssets).some(({ symbol, collateral }) => collateral && assetsData[symbol].isIsolated);
11
18
 
@@ -104,4 +111,41 @@ export const sparkGetAggregatedPositionData = ({
104
111
  payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
105
112
  }
106
113
  return payload;
114
+ };
115
+
116
+ export const getApyAfterValuesEstimation = async (selectedMarket: SparkMarketData, actions: [{ action: string, amount: string, asset: string }], web3: Web3) => {
117
+ const sparkViewContract = SparkViewContract(web3, NetworkNumber.Eth);
118
+ const params = actions.map(({ action, asset, amount }: { action: string, amount: string, asset: string }) => {
119
+ const isDebtAsset = borrowOperations.includes(action);
120
+ const amountInWei = assetAmountInWei(amount, asset);
121
+ const assetInfo = getAssetInfo(ethToWeth(asset));
122
+ let liquidityAdded;
123
+ let liquidityTaken;
124
+ if (isDebtAsset) {
125
+ liquidityAdded = action === 'payback' ? amountInWei : '0';
126
+ liquidityTaken = action === 'borrow' ? amountInWei : '0';
127
+ } else {
128
+ liquidityAdded = action === 'collateral' ? amountInWei : '0';
129
+ liquidityTaken = action === 'withdraw' ? amountInWei : '0';
130
+ }
131
+ return {
132
+ reserveAddress: assetInfo.address,
133
+ liquidityAdded,
134
+ liquidityTaken,
135
+ isDebtAsset,
136
+ };
137
+ });
138
+ const data = await sparkViewContract.methods.getApyAfterValuesEstimation(
139
+ selectedMarket.providerAddress,
140
+ params,
141
+ ).call();
142
+ const rates: { [key: string]: { supplyRate: string, borrowRate: string } } = {};
143
+ data.forEach((d) => {
144
+ const asset = wethToEth(getAssetInfoByAddress(d.reserveAddress).symbol);
145
+ rates[asset] = {
146
+ supplyRate: aprToApy(new Dec(d.supplyRate.toString()).div(1e25).toString()),
147
+ borrowRate: aprToApy(new Dec(d.variableBorrowRate.toString()).div(1e25).toString()),
148
+ };
149
+ });
150
+ return rates;
107
151
  };
@@ -23,18 +23,25 @@ export interface EventOptions {
23
23
 
24
24
  export declare namespace SparkView {
25
25
  export type LiquidityChangeParamsStruct =
26
- | [string, number | string | BN, number | string | BN]
26
+ | [string, number | string | BN, number | string | BN, boolean]
27
27
  | {
28
28
  reserveAddress: string;
29
29
  liquidityAdded: number | string | BN;
30
30
  liquidityTaken: number | string | BN;
31
+ isDebtAsset: boolean;
31
32
  };
32
33
 
33
- export type LiquidityChangeParamsStructOutputArray = [string, string, string];
34
+ export type LiquidityChangeParamsStructOutputArray = [
35
+ string,
36
+ string,
37
+ string,
38
+ boolean
39
+ ];
34
40
  export type LiquidityChangeParamsStructOutputStruct = {
35
41
  reserveAddress: string;
36
42
  liquidityAdded: string;
37
43
  liquidityTaken: string;
44
+ isDebtAsset: boolean;
38
45
  };
39
46
  export type LiquidityChangeParamsStructOutput =
40
47
  LiquidityChangeParamsStructOutputArray &