👋
Overview Lender V2
  • Overview
  • The Basics
    • Glossary of Key Words
    • Basic lending pool operations
    • Connect and Deposit
    • Reward Manager
    • Verification Manager
    • Strategy Manager
    • Governance: Yet to be built
    • Conclusion
  • LenderPool
    • ILenderPool
  • RedeemPool
    • IRedeemPool
  • Reward
    • IReward
  • RewardManager
    • IRewardManager
  • Token
    • IToken
  • Verification
    • IVerification
Powered by GitBook
On this page
  1. LenderPool

ILenderPool

PreviousLenderPoolNextRedeemPool

Last updated 2 years ago

Also available on .

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);
}

}

Github