HomogenizerUpgradable
Functions#
initialize#
function initialize( string name, string symbol, address underlyingContractAddress, address eligibilityContractAddress, address maxRate, uint256 minRate, uint256 buydownRatio, uint256 useArmMargin, bool useCurrentRate ) publicThe initialization function used for proxy contracts in lieu of a constructor
Parameters:#
| Name | Type | Description |
|---|---|---|
name | string | The ERC-20 name of the new homogenizer |
symbol | string | The ERC-20 symbol of the new homogenizer |
underlyingContractAddress | address | The address of the digitizer i.e., the ERC20Lookthrough's underlying contract adddress |
eligibilityContractAddress | address | The address of the contract used to check a loan token's eligibility for homogenization |
maxRate | address | The highest coupon rate that a loan can have to be eligible for homogenization; a loan's original coupon rate is used unless either useArmMargin or useCurrentRate are set to true |
minRate | uint256 | The highest coupon rate that a loan can have to be eligible for homogenization; a loan's original coupon rate is used unless either useArmMargin or useCurrentRate are set to true |
buydownRatio | uint256 | A multiplier that's used to adjust the cash required to account for differences in the underlying loans' coupon rates and servicing fees |
useArmMargin | uint256 | A boolean value indicating that the adjustable-rate margin should be used in lieu of the original coupon rate |
useCurrentRate | bool | A boolean value indicating that the current coupon rate should be used in lieu of the original coupon rate |
decimals#
function decimals( ) public returns (uint8)Returns the decimals places of the token.
digitizerAddress#
function digitizerAddress( ) public returns (address)Returns the address of the underlying digitizer contract
isEligible#
function isEligible( uint256 tokenId ) public returns (bool)Returns true if a loan token meets the eligibility criteria of the homogenizer
Parameters:#
| Name | Type | Description |
|---|---|---|
tokenId | uint256 | The ERC721 ID associated with a loan token |
currentCashRequired#
function currentCashRequired( uint256 tokenId ) public returns (uint256)Returns the stablecoin quantity required to pay for homogenization
Parameters:#
| Name | Type | Description |
|---|---|---|
tokenId | uint256 | The ERC721 ID associated with a loan token |
onForgoCashFlowFromDigitizer#
function onForgoCashFlowFromDigitizer( ) public returns (bytes4)Function that signals to Digitizer contract cash flows are to be redirected to a SWEEPER_ROLE wallet
homogenize#
function homogenize( uint256 tokenId ) publicHomogenize a loan token
Parameters:#
| Name | Type | Description |
|---|---|---|
tokenId | uint256 | The ERC721 ID associated with a loan token |
dehomogenize#
function dehomogenize( uint256 tokenId ) publicDehomogenize a loan token
Parameters:#
| Name | Type | Description |
|---|---|---|
tokenId | uint256 | The ERC721 ID associated with a loan token |
_dehomogenize#
function _dehomogenize( uint256 tokenId ) publicAn alternative to dehomogenize that can be called from HomogenizerFactoryClone.dehomogenizeBatch
Parameters:#
| Name | Type | Description |
|---|---|---|
tokenId | uint256 | The ERC721 ID associated with a loan token |