ICoolerFactory
Functions
generateCooler
Generate a new cooler.
function generateCooler(IERC20 collateral_, IERC20 debt_) external returns (address cooler);
Parameters
| Name | Type | Description |
|---|---|---|
| collateral_ | IERC20 | The collateral token. |
| debt_ | IERC20 | The debt token. |
Returns
| Name | Type | Description |
|---|---|---|
| cooler | address | The address of the new cooler. |
getCoolerFor
Get the cooler for a given user <> collateral <> debt combination.
function getCoolerFor(
address user_,
address collateral_,
address debt_
) external view returns (address cooler);
Parameters
| Name | Type | Description |
|---|---|---|
| user_ | address | The user address. |
| collateral_ | address | The collateral token. |
| debt_ | address | The debt token. |
Returns
| Name | Type | Description |
|---|---|---|
| cooler | address | The address of the cooler. |
created
Check if a cooler was created by the factory.
function created(address cooler_) external view returns (bool);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler_ | address | The cooler address. |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bool | bool Whether the cooler was created by the factory. |
Events
RequestLoan
A global event when a new loan request is created.
event RequestLoan(address indexed cooler, address collateral, address debt, uint256 reqID);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| collateral | address | |
| debt | address | |
| reqID | uint256 |
RescindRequest
A global event when a loan request is rescinded.
event RescindRequest(address indexed cooler, uint256 reqID);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| reqID | uint256 |
ClearRequest
A global event when a loan request is fulfilled.
event ClearRequest(address indexed cooler, uint256 reqID, uint256 loanID);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| reqID | uint256 | |
| loanID | uint256 |
RepayLoan
A global event when a loan is repaid.
event RepayLoan(address indexed cooler, uint256 loanID, uint256 amount);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| loanID | uint256 | |
| amount | uint256 |
ExtendLoan
A global event when a loan is extended.
event ExtendLoan(address indexed cooler, uint256 loanID, uint8 times);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| loanID | uint256 | |
| times | uint8 |
DefaultLoan
A global event when the collateral of defaulted loan is claimed.
event DefaultLoan(address indexed cooler, uint256 loanID, uint256 amount);
Parameters
| Name | Type | Description |
|---|---|---|
| cooler | address | |
| loanID | uint256 | |
| amount | uint256 |
Errors
NotFromFactory
error NotFromFactory();
DecimalsNot18
error DecimalsNot18();