IMagnifyCashV1
Git Source
Functions
initializeNewLendingDesk
Creates a new lending desk
Emits an {NewLendingDeskInitialized} event.
Parameters
Name | Type | Description |
---|---|---|
|
| The ERC20 that will be accepted for loans in this lending desk |
|
| The initial balance of this lending desk |
|
| Loan config for each NFT collection this lending desk will support |
Creates a new lending configuration
Emits an {LendingDeskLoanConfigsSet} event.
Parameters
Name | Type | Description |
---|---|---|
|
| Identifier for the lending desk |
|
| Loan config for each NFT collection this lending desk will support |
Removes a new lending configuration
Emits an {LendingDeskLoanConfigsSet} event.
Parameters
Name | Type | Description |
---|---|---|
|
| Identifier for the lending desk |
|
| Address for the NFT collection to remove supported config for |
This function is called to add liquidity to a lending desk
Emits an {LendingDeskLiquidityDeposited} event.
Parameters
Name | Type | Description |
---|---|---|
|
| The id of the lending desk |
|
| The balance to be transferred |
This function is called to cash out a lending desk
Emits an {LendingDeskLiquidityWithdrawn} event.
Parameters
Name | Type | Description |
---|---|---|
|
| The id of the lending desk to be cashout |
|
| Amount to withdraw from the lending desk |
This function can be called by the lending desk owner in order to freeze it
Emits an {LendingDeskStateSet} event.
Parameters
Name | Type | Description |
---|---|---|
|
| ID of the lending desk to be frozen |
|
| Whether to freeze or unfreeze |
This function can be called by a borrower to create a loan
Emits an {NewLoanInitialized} event
Parameters
Name | Type | Description |
---|---|---|
|
| ID of the lending desk related to this offer |
|
| The NFT collection address to be used as collateral |
|
| ID of the NFT to be used as collateral |
|
| Loan duration in hours |
|
| Amount to ask on this loan in ERC20 |
|
|
This function can be called by anyone to get the remaining due amount of a loan
Parameters
Name | Type | Description |
---|---|---|
|
| ID of the loan |
This function can be called by the obligation note holder to pay a loan and get the collateral back
Emits an {LoanPaymentMade} event.
Parameters
Name | Type | Description |
---|---|---|
|
| ID of the loan |
|
| The amount to be paid, in erc20 tokens |
|
| Whether to resolve the loan or not. If true, _amount is ignored. |
This function is called by the desk owner in order to liquidate a loan and claim the NFT collateral
Emits an {LiquidatedOverdueLoan} event.
Parameters
Name | Type | Description |
---|---|---|
|
| ID of the loan |
Allows the admin of the contract to modify loan origination fee.
Emits an {LoanOriginationFeeSet} event.
Parameters
Name | Type | Description |
---|---|---|
|
| Basis points fee the borrower will have to pay to the platform when borrowing loan |
Allows the admin of the contract to set the platform wallet where platform fees will be sent to
Emits an {PlatformWalletSet} event.
Parameters
Name | Type | Description |
---|---|---|
|
| Wallet where platform fees will be sent to |
Allows the admin of the contract to pause the contract as an emergency response.
Emits either a {Paused} or {Unpaused} event.
Parameters
Name | Type | Description |
---|---|---|
|
| Whether to pause or unpause |
Struct used to store loans
Struct used to store loan config set by the shop owner for an NFT collection
Struct used to store lending desks on this contract
LendingDeskStatus used to store lending desk status
Active Default status when a lending desk is created
Frozen Used when a lender pauses or 'freezes' their desk
LoanStatus used to store loan status
Active Default status when a loan is issued
Resolved Used when a loan is fully paid back by borrower
Defaulted Used when a loan is liquidated by lender
Last updated