Skip to main content

HomogenizerUpgradable

Functions#

initialize#

  function initialize(    string name,    string symbol,    address underlyingContractAddress,    address eligibilityContractAddress,    address maxRate,    uint256 minRate,    uint256 buydownRatio,    uint256 useArmMargin,    bool useCurrentRate  ) public

The initialization function used for proxy contracts in lieu of a constructor

Parameters:#

NameTypeDescription
namestringThe ERC-20 name of the new homogenizer
symbolstringThe ERC-20 symbol of the new homogenizer
underlyingContractAddressaddressThe address of the digitizer i.e., the ERC20Lookthrough's underlying contract adddress
eligibilityContractAddressaddressThe address of the contract used to check a loan token's eligibility for homogenization
maxRateaddressThe 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
minRateuint256The 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
buydownRatiouint256A multiplier that's used to adjust the cash required to account for differences in the underlying loans' coupon rates and servicing fees
useArmMarginuint256A boolean value indicating that the adjustable-rate margin should be used in lieu of the original coupon rate
useCurrentRateboolA 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:#

NameTypeDescription
tokenIduint256The 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:#

NameTypeDescription
tokenIduint256The 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  ) public

Homogenize a loan token

Parameters:#

NameTypeDescription
tokenIduint256The ERC721 ID associated with a loan token

dehomogenize#

  function dehomogenize(    uint256 tokenId  ) public

Dehomogenize a loan token

Parameters:#

NameTypeDescription
tokenIduint256The ERC721 ID associated with a loan token

_dehomogenize#

  function _dehomogenize(    uint256 tokenId  ) public

An alternative to dehomogenize that can be called from HomogenizerFactoryClone.dehomogenizeBatch

Parameters:#

NameTypeDescription
tokenIduint256The ERC721 ID associated with a loan token