Borrow Diagram
Technical Information
Lender Module
The Lender Module equips the protocol with the functionality to seamlessly integrate with external lending platforms. Additionally, the module provides users with the ability to cancel their protection.
Lender Blueprint
The lender blueprint is the logic contract to facilitate the engagement of third party lenders.
supply
The "supply" function is a universal function that will supply collateral to a third-party lender depending on the choice of the user.
borrow
The "borrow" function is a universal function that will borrow from a third-party lender depending on the choice of the user.
repay
The "repay" function is a universal function that will repay collateral to a third-party lender depending on the choice of the user.
withdraw
The "withdraw" function is a universal function that will withdraw collateral from a third-party lender depending on the choice of the user.
Loan Brokerage Module
The Loan Brokerage Module provides the protocol with the functionality to assign users a portfolio and a loan token. It streamlines operations to eliminate the need for users to possess protection, while also establishing mechanisms for users to activate protection for a given loan.
Loan Blueprint
The loan blueprint facilitated by the lender module gives our users the ability to store their loan information inside the concrete protocol accessed by their loan token .
Mint Loan Token
The "Mint Loan Token" creates and initializes a loan token for a given user's portfolio as well it creates the user a lender implementation know as the "users blueprint".
Update Loan Info
The "Update Loan Info" function is utilized to modify the details of an existing loan. Refer to the data structures to see the updatable data.
Set Loan Update Data
The "Set Loan Update Data" sets data that can be updated please refer to the data structures to see the updatable data.
Set Supply Data
The "Set Supply Data" function sets a user's supply details.
Set Borrow Data
The "Set Borrow Data" function sets borrow details of a user's position.
Create Portfolio
The "Create Portfolio" function mints a user a concrete portfolio.
Protection Blueprint
The Protection Blueprint is tasked with integrating new protection details related to a user's loan.
Update Loan Info
The "Update Loan Info" function is utilized to modify the details of an existing loan.
Set Protection Data
The "Set Protection Data" function sets the initial policy information for a given loan.
Set Protection Update Data
The "Set Protection Update Data" function sets the undateable information for a user's protection. Please refer to the data structures to see the updatable data.
Set Protection Financial Terms
The "Set Protection Update Data" function sets the specific financial terms for a user's protection.
Transfer Token
The "Transfer Token" function will allow us to transfer a token from a given address to a receiver. In the context of the Protection Blueprint, the transfer token function will allow us to send the initial opening fee to our vault.
Loan Management Module
The Loan Management Module is responsible for implementing all mechanisms necessary to rehabilitate loans, reclaim foreclosed loans to the protocol, and settling protections on loans.
Claim Blueprint
The Claim Blueprint is engineered to manage all necessary interventions to restore a loan to a healthy state.
Start Claim
The "Start Claim" function checks if a user is protected or unprotected. Unprotected users are sent directly to foreclosure to initiate the foreclosure process. For protected users, we will check their protection financial terms to check their tranche amounts. From there we will request the necessary amounts if applicable and supply them on the users' behalf to ensure their loan is back to health. Lastly, we will calculate the tranche fee and borrow the fee against the users' position.
Initiate Foreclosure
The "InitiateForeclosure" function will start the process of foreclosure a delinquent loan by transferring the loan to the protocol.
Update Protection
The "Update Protection" function will allow us to set all user protection information to the foreclosed state.
Update Loan Info
The "Update Loan Info" function is utilized to modify the details of an existing loan. Refer to the list below for fields that can be updated.
Foreclosure Blueprint
The Foreclosure Blueprint is engineered to manage all necessary interventions to foreclosure delinquent loans.
Request Debt Token
The "requestDebtToken" function will fetch the user's debt token from our buffer vaults and return it to the user's blueprint. From there we trigger a repayment on the user's loan and withdraw the collateral to the foreclosure blueprint. Lastly, we take the collateral calculate the owed funds, and send the funds owed to the protocol back to the protocol vaults and the rest to the user.
Update Protection
The "Update Protection" function will allow us to set all user protection information to the foreclosed state.
Last updated