TrueFi Docs
  • What is TrueFi?
  • 🔎User Guide
    • Lend
      • How to lend
      • How to withdraw
      • Onboarding / KYC (for permissioned pools)
    • Borrow
      • Receiving a loan
      • Repaying a loan
    • Manage
      • Onboarding for managers
      • Creating a vault
      • Disbursing loans
      • Managing KYC/KYB requirements
  • âš¡TrueFi Protocol
    • Lines of Credit
      • Line of Credit tutorial
      • Lines of Credit technical details
    • Asset Vaults
      • Asset Vault tutorial
      • Asset Vault technical details
    • Credit Vaults
      • Credit Vault tutorial
      • Credit Vault technical details
        • Credit Vault contract overview
        • Waterfall details
    • Index Vaults
      • Index Vault tutorial
      • Index Vault technical details
    • TRU token
      • Staked TRU
      • How to Get TRU
    • Other concepts
      • Controllers
      • Instruments
        • FixedInterestOnlyLoan
        • BulletLoans
      • [Legacy] DAO pools
        • delt.ai loan: Jan 2023 airdrop claiming instructions
        • delt.ai loan: July 2023 airdrop claiming instructions
        • delt.ai loan: October 2023 airdrop claiming instructions
        • delt.ai loan: Jan 2024 airdrop claiming instructions
        • delt.ai loan: Apr 2024 airdrop claiming instructions
        • delt.ai loan: Nov 2024 airdrop claiming instructions
        • Loan approval process
        • Lender FAQs
          • Lending to DAO pools
          • Farming TRU rewards
          • Withdrawing funds
          • How lending pool (LP) tokens work
          • How loan tokens work
          • SAFU (Secure Asset Fund for Users)
          • Risk Mitigation
        • Developer docs
      • Other legacy contracts
        • Managed Portfolio [legacy]
        • Flexible Portfolios [legacy]
          • Flexible Portfolio contracts
    • Audits
Powered by GitBook

General

  • TrueFi app
  • Docs

Governance

  • Tally
  • Snapshot

Community

  • Forum
  • Twitter
On this page
  • Methods
  • View methods

Was this helpful?

Export as PDF
  1. TrueFi Protocol
  2. Other concepts
  3. Instruments

BulletLoans

PreviousFixedInterestOnlyLoanNext[Legacy] DAO pools

Last updated 2 years ago

Was this helpful?

BulletLoans is in the process of being sunset.

New TrueFi Capital Markets portfolios deployed after June 2022 use

​​​BulletLoans is an ERC-721 contract. Each of the tokens represents a single loan.

All loan parameters can be read from LoanMetadata struct. BulletLoans contract enables loan creation, facilitates loan repayment and allows managing the loan's state and parameters.

Methods

createLoan( IERC20 _underlyingToken, uint256 _principal, uint256 _totalDebt, uint256 _duration, address _recipient )

Manager can create loan by passing the principal to be lent, the total debt to repaid, duration of the loan, and the address of the recipient. Total debt to be repaid cannot be less than principal amount. ​

repay(uint256 instrumentId, uint256 amount)

Existing loan can be repaid partially or in full. If loan is paid in full, this function will mark the loan’s status to ‘Fully Repaid’. Note that a loan cannot be overpaid.

markLoanAsDefaulted(uint256 instrumentId)

Only the portfolio’s manager can mark a loan as defaulted. ​

markLoanAsResolved(uint256 instrumentId)

​Only the portfolio’s manager can mark a loan as resolved. Intended to be used for situations after partial repayment where a loan workout has been agreed to.

updateLoanParameters( uint256 instrumentId, uint256 newTotalDebt, uint256 newRepaymentDate )

Manager can modify loan terms, changing maturity date or total debt to be repaid.

updateLoanParameters( uint256 instrumentId, uint256 newTotalDebt, uint256 newRepaymentDate, bytes memory borrowerSignature )

Manager can modify loan terms, changing maturity date or total debt to be repaid. In order to change the maturity date to an earlier date or increase the repayment value, the borrower must consent and provide a signature.

View methods

principal(uint256 instrumentId)

Returns principal amount of loan.

underlyingToken(uint256 instrumentId)

Returns underlying token (e.g. USDC, USDT) of the loan.

recipient(uint256 instrumentId)

Returns borrower’s address.

endDate(uint256 instrumentId)

Returns maturity date of the loan.

unpaidDebt(uint256 instrumentId)

Returns remaining amount to be paid, i.e. total debt less repaid amount.

getStatus(uint256 instrumentId)

Returns status of loan (Issued, FullyRepaid, Defaulted, Resolved).

âš¡
FixedInterestOnlyLoan
Logocontracts-ragnarok/BulletLoans.sol at main · trusttoken/contracts-ragnarokGitHub