mirror of
https://github.com/Instadapp/fluid-contracts-public.git
synced 2024-07-29 21:57:37 +00:00
d7a58e88ff
ARB: deploy protocols
49 lines
1.6 KiB
Solidity
49 lines
1.6 KiB
Solidity
// SPDX-License-Identifier: BUSL-1.1
|
|
pragma solidity 0.8.21;
|
|
|
|
import { FluidOracle } from "../fluidOracle.sol";
|
|
import { IPendleMarketV3 } from "../interfaces/external/IPendleMarketV3.sol";
|
|
import { IPendlePYLpOracle } from "../interfaces/external/IPendlePYLpOracle.sol";
|
|
import { PendleOracleImpl } from "../implementations/pendleOracleImpl.sol";
|
|
|
|
/// @title PendleOracle
|
|
/// @notice Gets the exchange rate between Pendle and the underlying asset for the Pendle Market.
|
|
contract PendleOracle is FluidOracle, PendleOracleImpl {
|
|
constructor(
|
|
string memory infoName_,
|
|
IPendlePYLpOracle pendleOracle_,
|
|
IPendleMarketV3 pendleMarket_,
|
|
uint32 twapDuration_,
|
|
uint256 maxExpectedBorrowRate_,
|
|
uint256 minYieldRate_,
|
|
uint256 maxYieldRate_,
|
|
uint8 debtTokenDecimals_
|
|
)
|
|
PendleOracleImpl(
|
|
pendleOracle_,
|
|
pendleMarket_,
|
|
twapDuration_,
|
|
maxExpectedBorrowRate_,
|
|
minYieldRate_,
|
|
maxYieldRate_,
|
|
debtTokenDecimals_
|
|
)
|
|
FluidOracle(infoName_)
|
|
{}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRateOperate() public view override returns (uint256 exchangeRate_) {
|
|
return _getPendleExchangeRateOperate();
|
|
}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRateLiquidate() external view override returns (uint256 exchangeRate_) {
|
|
return _getPendleExchangeRateLiquidate();
|
|
}
|
|
|
|
/// @inheritdoc FluidOracle
|
|
function getExchangeRate() external view override returns (uint256 exchangeRate_) {
|
|
return _getPendleExchangeRateOperate();
|
|
}
|
|
}
|