Enable Contracts

Enable Contracts Architecture Planning

Get Started. It's Free
or sign up with your email address
Rocket clouds
Enable Contracts by Mind Map: Enable Contracts

1. Inherits

1.1. Ownable

1.1.1. TODO

2. Crowd Loan

2.1. CrowdLoanFactory

2.2. CrowdLoan

2.2.1. types enums TimeUnitType LoanStatus struct Borrower CrowdFundParams LoanParams

2.2.2. storage Borrower loanParams crowdfundParams debtToken

2.2.3. functions _getDebtTokenValueForAmount TODO (I don't quite understand this yet) _isBelowMaxSupply

3. Debt Token

3.1. DebtTokenFactory

3.1.1. Functions createDebtToken

3.2. DebtToken

3.2.1. Inherits ERC721Metadata inherits storage functions ERC721Mintable functions inherits ERC721Enumerable Inherits Storage _mint Functions DebtManager

3.2.2. functions mint (onlyMinter) addDebt calls _addDebtValue? removeDebt calls _removeDebtValue

4. Debt Contracts

4.1. DebtManager

4.1.1. storage _totalDebt (uint256) _tokenDebtValue (mapping uint256 => uint256)

4.1.2. functions _addDebtValue _removeDebtValue totalDebt() debtValue() Returns the debt value of a particular token

4.2. RepaymentRouter

4.2.1. storage _totalRepaid _withdrawnByTokenId (uint256 => uint256)

4.2.2. functions _transferERC20(to) _transferERC20(to, from) _repay _withdraw getWithdrawalAllowance totalRepaid() totalWithdrawn()

4.3. TermsContract

4.3.1. functions getExpectedRepaymentValue (timestamp) getValueRepaidToDate getTermStartTimestamp getTermEndTimestamp