ILenderPool

Also available on Github.

pragma solidity ^0.8.14;

interface ILenderPool {
    struct Lender {
        uint deposit;
        mapping(address => bool) isRegistered;
    }

    event Deposit(address indexed lender, uint amount);

    event Withdraw(address indexed lender, uint amount);

    event VerificationSwitched(
        address oldVerification,
        address newVerification
    );

    event StrategySwitched(address oldStrategy, address newStrategy);

    event RewardManagerSwitched(
        address oldRewardManager,
        address newRewardManager
    );

    function deposit(uint amount) external;

    function withdrawAllDeposit() external;

    function withdrawDeposit(uint amount) external;

    function redeemAll() external;

    function switchRewardManager(address newRewardManager) external;

    function switchVerification(address newVerification) external;

    function switchStrategy(address newStrategy) external;

    function claimReward(address token) external;

    function rewardOf(address lender, address token) external returns (uint);

    function getStrategyBalance() external view returns (uint);

    function getDeposit(address lender) external view returns (uint);
}

}

Last updated