mirror of
https://github.com/Instadapp/fluid-contracts-public.git
synced 2024-07-29 21:57:37 +00:00
d7a58e88ff
ARB: deploy protocols
35 lines
1.4 KiB
Solidity
35 lines
1.4 KiB
Solidity
// SPDX-License-Identifier: BUSL-1.1
|
|
pragma solidity 0.8.21;
|
|
|
|
import { IERC4626 } from "@openzeppelin/contracts/interfaces/IERC4626.sol";
|
|
import { FluidOracle } from "../fluidOracle.sol";
|
|
import { SUSDeOracleImpl } from "../implementations/sUSDeOracleImpl.sol";
|
|
|
|
/// @title SUSDeOracle
|
|
/// @notice Gets the exchange rate between sUSDe and USDe directly from the sUSDe contract, adjusted for decimals
|
|
/// of a debt token (get amount of debt token for 1 sUSDe).
|
|
contract SUSDeOracle is FluidOracle, SUSDeOracleImpl {
|
|
/// @notice constructor sets the sUSDe `sUSDe_` token address and calculates scaling for exchange rate based on
|
|
/// `debtTokenDecimals_` (token decimals of debt token, e.g. of USDC / USDT = 6)
|
|
constructor(
|
|
string memory infoName_,
|
|
IERC4626 sUSDe_,
|
|
uint8 debtTokenDecimals_
|
|
) SUSDeOracleImpl(sUSDe_, debtTokenDecimals_) FluidOracle(infoName_) {}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRateOperate() public view override returns (uint256 exchangeRate_) {
|
|
return _getSUSDeExchangeRate();
|
|
}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRateLiquidate() external view override returns (uint256 exchangeRate_) {
|
|
return _getSUSDeExchangeRate();
|
|
}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRate() external view override returns (uint256 exchangeRate_) {
|
|
return _getSUSDeExchangeRate();
|
|
}
|
|
}
|