EcosystemNFTsDocs

Footer

Xchange

  • Swap
  • Liquidity
  • Loans
  • Fund
  • Vote

Tokens

  • X7R
  • X7DAO
  • X7D
  • X7101-X7105

Explore

  • Dashboard
  • Guides
  • Integration
  • Whitepaper
  • Breakdowns
  • Onchains
  • FAQs

Community

  • Telegram
  • Twitter
  • Discord
  • Warpcast
  • Blog
  • Links

Permissionless Trustless Decentralized Exchange

Launch your project on Xchange with 10-1000x the initial liquidity across multiple blockchains where anyone can Swap, Borrow and Lend!

X7 Finance·Trust No One. Trust Code. Long Live DeFi.
  • Telegram
  • Twitter
  • Discordś
  • Warpcast
  • YouTube
  • Reddit
  • GitHub
  • Pioneer 1488 avatar
    Guides
    View
  • Pioneer 1488 avatar
    Integration
    View
  • Pioneer 1488 avatar
    Whitepaper
    View
  • Pioneer 1488 avatar
    Breakdowns
    View
  • Pioneer 1488 avatar
    Onchains
    View
  • Pioneer 1488 avatar
    FAQ
    View
    • X7R Token Contract
    • X7DAO Token Contract
    • X7100 Token Contract
    • X7D
    • X7DAO Discount Authority
    • X7DAO Liquidity Hub
    • X7 Ecosystem Splitter
    • X7 Liquidity Loan Terms
    • X7 Lending Pool
    • X7 Lending Pool Reserve
    • X7 Lending Discount Authority
    • X7 Liquidity Treasury
    • X7 Profit Share Splitter
    • X7R Discount Authority
    • X7R Liquidity Hub
    • X7 Token Burner
    • X7 Token Timelock
    • X7 Treasury Splitter V3
    • X7100 Discount Authority
    • X7100 Liquidity Hub
    • X7 Borrowing Maxi NFT
    • X7 Dex Maxi NFT
    • X7 Ecosystem Maxi NFT
    • X7 Liquidity Maxi NFT
    • X7 Pioneer NFT
    • X7 Magister NFT
    • Xchange Factory
    • Xchange Pair
    • X7R Token Contract
    • X7DAO Token Contract
    • X7100 Token Contract
    • X7D
    • X7DAO Discount Authority
    • X7DAO Liquidity Hub
    • X7 Ecosystem Splitter
    • X7 Liquidity Loan Terms
    • X7 Lending Pool
    • X7 Lending Pool Reserve
    • X7 Lending Discount Authority
    • X7 Profit Share Splitter
    • X7R Discount Authority
    • X7R Liquidity Hub
    • X7 Token Burner
    • X7 Token Timelock
    • X7 Treasury Splitter V3
    • X7100 Discount Authority
    • X7100 Liquidity Hub
    • X7 Borrowing Maxi
    • X7 Dex Maxi
    • X7 Ecosystem Maxi
    • X7 Liquidity Maxi NFT
    • X7 Pioneer NFT
    • X7 Magister NFT
    • Xchange Factory
    • Xchange Pair
    • X7R Token Contract
    • X7DAO Token Contract
    • X7100 Token Contract
    • X7D
    • X7DAO Discount Authority
    • X7DAO Liquidity Hub
    • X7 Ecosystem Splitter
    • X7 Liquidity Loan Terms
    • X7 Lending Pool
    • X7 Lending Pool Reserve
    • X7 Lending Discount Authority
    • X7 Profit Share Splitter
    • X7R Discount Authority
    • X7R Liquidity Hub
    • X7 Token Burner
    • X7 Token Timelock
    • X7 Treasury Splitter V3
    • X7100 Discount Authority
    • X7100 Liquidity Hub
    • X7 Borrowing Maxi
    • X7 Dex Maxi
    • X7 Ecosystem Maxi
    • X7 Liquidity Maxi NFT
    • X7 Pioneer NFT
    • X7 Magister NFT
    • Xchange Factory
    • Xchange Pair
Functions
breakdowns

X7 Lending Pool Functions Breakdown

Contains the contract functions only with a link to the full function in the contract code

Interface

  • interface IWETH
  • interface IX7D
  • interface IX7LendingTerm
  • interface IX7LendingDiscountAuthority
  • interface IX7InitialLiquidityLoanTerm
  • interface IXchangeFactory
  • interface IXchangeRouter
  • interface IXchangePair
  • interface X7DMinter

Contract events

  • event EcosystemRecipientSet(address indexed oldEcosystemRecipient, address indexed newEcosystemRecipient)
  • event RouterSet(address oldAddress, address newAddress)
  • event WETHSet(address oldAddress, address newAddress)
  • event X7DSet(address oldAddress, address newAddress)
  • event LoanTermActiveStateSet(address indexed newAddress, bool isActive)

On this page

  1. Interface

  2. Contract events

  3. External Functions

  4. Internal Functions

  • event LiquidationRewardSet(uint256 oldReward, uint256 newReward)
  • event OriginationSharesSet(uint256 oldEcosystemSplitterOriginationShare,uint256 oldX7DAOOriginationShare,uint256 oldX7100OriginationShare,uint256 oldLendingPoolOriginationShare,uint256 newEcosystemSplitterOriginationShare,uint256 newX7DAOOriginationShare,uint256 newX7100OriginationShare,uint256 newLendingPoolOriginationShare)
  • event PremiumSharesSet(uint256 oldEcosystemSplitterOriginationShare,uint256 oldX7DAOOriginationShare,uint256 oldX7100OriginationShare,uint256 oldLendingPoolOriginationShare,uint256 newEcosystemSplitterOriginationShare,uint256 newX7DAOOriginationShare,uint256 newX7100OriginationShare,uint256 newLendingPoolOriginationShare)
  • event EcosystemSplitterSet(address indexed oldEcosystemSplitter, address indexed newEcosystemSplitter)
  • event X7100ReserveRecipientSet(address indexed oldX7100ReserveRecipient, address indexed newX7100ReserveRecipient)
  • event X7DAORewardRecipientSet(address indexed oldX7DAORewardRecipient, address indexed newX7DAORewardRecipient)
  • event DiscountAuthoritySet(address indexed oldDiscountAuthority, address indexed newDiscountAuthority)
  • event RetainedFeeNumeratorSet(uint256 indexed oldRetainedFeeNumerator, uint256 indexed newRetainedFeeNumerator)
  • event LendingPoolReserveSet(address indexed oldLendingPoolReserve, address indexed newLendingPoolReserve)
  • event LendingHalted()
  • event LendingCommenced()
  • event AuthorizedCapitalManagerSet(address indexed manager, bool indexed isTrusted)
  • event LoanBuyoutAllowed(bool isAllowed)
  • event SyncSafeGasAmountSet(uint256 indexed oldSyncSafeGasAmount, uint256 indexed newSyncSafeGasAmount)
  • event LoanBoughtOut(address indexed buyer, uint256 indexed loanID)
  • External Functions

    • receive () external payable {}
    • function activeLoansByBorrower(address borrower) external view returns (uint256)
    • function countOfActiveLoanTerms() external view returns (uint256)
    • function availableCapital() external view returns (uint256)
    • function getDiscountedQuote(address borrower,IX7InitialLiquidityLoanTerm loanTerm,uint256 loanAmount,uint256 loanDurationSeconds) external view returns (uint256[7] memory)
    • function canLiquidate(uint256 loanID) external view returns (uint256)
    • function getPrincipalDue(uint256 loanID, uint256 asOf) external view returns (uint256)
    • function getPremiumsDue(uint256 loanID, uint256 asOf) external view returns (uint256)
    • function getTotalDue(uint256 loanID, uint256 asOf) external view returns (uint256)
    • function getRemainingLiability(uint256 loanID) external view returns (uint256)
    • function getPremiumPaymentSchedule(uint256 loanID) external view returns (uint256[] memory, uint256[] memory)
    • function getPrincipalPaymentSchedule(uint256 loanID) external view returns (uint256[] memory, uint256[] memory)
    • function getQuote(address borrower,IX7InitialLiquidityLoanTerm loanTerm,uint256 loanAmount,uint256 loanDurationSeconds) external view returns (uint256[5] memory)
    • function buyoutLoanQuote(uint256 loanID) external view returns (uint256)
    • function setEcosystemRecipient(address recipient) external onlyOwner
    • function setRouter(address routerAddress) external onlyOwner
    • function setWETH(address wethAddress) external onlyOwner
    • function setX7D(address X7DAddress) external onlyOwner
    • function setLoanTermActiveState(address loanTermAddress, bool isActive) external onlyOwner
    • function setLiquidationReward(uint256 reward) external onlyOwner
    • function setOriginationShares(uint256 ecosystemSplitterOriginationShare*,uint256 X7DAOOriginationShare*,uint256 X7100OriginationShare*,uint256 lendingPoolOriginationShare*) external onlyOwner
    • function setPremiumShares(uint256 ecosystemSplitterPremiumShare*,uint256 X7DAOPremiumShare*,uint256 X7100PremiumShare*,uint256 lendingPoolPremiumShare*) external onlyOwner
    • function setEcosystemSplitter(address recipient) external onlyOwner
    • function setX7100ReserveRecipient(address recipient) external onlyOwner
    • function setX7DAORewardRecipient(address recipient) external onlyOwner
    • function setDiscountAuthority(address discountAuthorityAddress) external onlyOwner
    • function setRetainedFeeNumerator(uint256 numerator) external onlyOwner
    • function setLendingPoolReserve(address reserveAddress) external onlyOwner
    • function setLendingHalted(bool isHalted) external onlyOwner
    • function setAllowLoanBuyout(bool isAllowed) external onlyOwner
    • function setAuthorizedCapitalManager(address manager, bool isTrusted) external onlyOwner
    • function setSyncSafeGasAmount(uint256 amount) external onlyOwner
    • function returnETHToLendingPoolReserve(uint256 amount) external
    • function getInitialLiquidityLoan(address tokenAddress, uint256 amount, address loanTermContract, uint256 loanAmount, uint256 loanDurationSeconds, address liquidityReceiver, uint256 deadline) external lock payable returns (uint256 loanID)
    • function payLiability(uint256 loanID) external lock payable
    • function liquidate(uint256 loanID) external lock
    • function buyoutLoan(uint256 loanID) external payable
    • function buyoutLoanTo(uint256 loanID, address to) external payable
    • function depositETH() external payable
    • function depositETHForRecipient(address recipient) external payable
    • function returnETH() external payable

    Internal Functions

    • function _buyoutLoan(uint256 loanID, address to) internal
    • function _removeLoanFromIndex(uint256 loanID) internal
    • function _getQuote(address borrower, IX7InitialLiquidityLoanTerm loanTerm, uint256 loanAmount, uint256 loanDurationSeconds) internal view returns (uint256[5] memory)
    • function _getDiscountedQuote(address borrower, IX7InitialLiquidityLoanTerm loanTerm, uint256 loanAmount, uint256 loanDurationSeconds) internal view returns (uint256[7] memory discountedQuote)
    • function _useQuote(IX7InitialLiquidityLoanTerm loanTerm, uint256 loanAmount, uint256 loanDurationSeconds) internal returns (uint256[5] memory)
    • function _splitOriginationFee(uint256 amount) internal
    • function _splitPremiumFee(uint256 amount) internal
    • function _payLiquidationFee(uint256 loanID, address recipient) internal
    • function _addLiquidity(address tokenAddress, uint256 amount, uint256 roundedLoanAmount, address liquidityTokenReceiver, uint256 timestamp) internal returns (address)
    Previous
    ← X7 Liquidity Loan Terms
    Next
    X7 Lending Pool Reserve →

    -

    • Pioneer 1488 avatar
      Guides
      View
    • Pioneer 1488 avatar
      Integration
      View
    • Pioneer 1488 avatar
      Whitepaper
      View
    • Pioneer 1488 avatar
      Breakdowns
      View
    • Pioneer 1488 avatar
      Onchains
      View
    • Pioneer 1488 avatar
      FAQ
      View