EtherCollateralsUSD¶
Description¶
Source: contracts/EtherCollateralsUSD.sol
Structs¶
SynthLoanStruct
¶
Field | Type | Description |
---|---|---|
account |
address payable |
TBA |
collateralAmount |
uint256 |
TBA |
loanAmount |
uint256 |
TBA |
mintingFee |
uint256 |
TBA |
timeCreated |
uint256 |
TBA |
loanID |
uint256 |
TBA |
timeClosed |
uint256 |
TBA |
loanInterestRate |
uint256 |
TBA |
accruedInterest |
uint256 |
TBA |
lastInterestAccrued |
uint40 |
TBA |
Variables¶
COLLATERAL
¶
Type: bytes32
accountLoanLimit
¶
Type: uint256
accountOpenLoanCounter
¶
Type: mapping(address => uint256)
accountsSynthLoans
¶
Type: mapping(address => struct EtherCollateralsUSD.SynthLoanStruct[])
collateralizationRatio
¶
Type: uint256
interestPerSecond
¶
Type: uint256
interestRate
¶
Type: uint256
issueFeeRate
¶
Type: uint256
issueLimit
¶
Type: uint256
liquidationDeadline
¶
Type: uint256
liquidationPenalty
¶
Type: uint256
liquidationRatio
¶
Type: uint256
loanLiquidationOpen
¶
Type: bool
minLoanCollateralSize
¶
Type: uint256
totalIssuedSynths
¶
Type: uint256
totalLoansCreated
¶
Type: uint256
totalOpenLoanCount
¶
Type: uint256
Constructor¶
constructor
¶
Details
Signature
constructor(address _owner, address _resolver)
Visibility
public
State Mutability
``
Views¶
accruedInterestOnLoan
¶
Details
Signature
accruedInterestOnLoan(uint256 _loanAmount, uint256 _seconds) view returns (uint256 interestAmount)
Visibility
public
State Mutability
view
calculateAmountToLiquidate
¶
Details
Signature
calculateAmountToLiquidate(uint256 debtBalance, uint256 collateral) view returns (uint256)
Visibility
public
State Mutability
view
collateralAmountForLoan
¶
Details
Signature
collateralAmountForLoan(uint256 loanAmount) view returns (uint256)
Visibility
external
State Mutability
view
currentInterestOnLoan
¶
Details
Signature
currentInterestOnLoan(address _account, uint256 _loanID) view returns (uint256)
Visibility
external
State Mutability
view
getContractInfo
¶
Details
Signature
getContractInfo() view returns (uint256 _collateralizationRatio, uint256 _issuanceRatio, uint256 _interestRate, uint256 _interestPerSecond, uint256 _issueFeeRate, uint256 _issueLimit, uint256 _minLoanCollateralSize, uint256 _totalIssuedSynths, uint256 _totalLoansCreated, uint256 _totalOpenLoanCount, uint256 _ethBalance, uint256 _liquidationDeadline, bool _loanLiquidationOpen)
Visibility
external
State Mutability
view
getLoan
¶
Details
Signature
getLoan(address _account, uint256 _loanID) view returns (address account, uint256 collateralAmount, uint256 loanAmount, uint256 timeCreated, uint256 loanID, uint256 timeClosed, uint256 accruedInterest, uint256 totalFees)
Visibility
external
State Mutability
view
getLoanCollateralRatio
¶
Details
Signature
getLoanCollateralRatio(address _account, uint256 _loanID) view returns (uint256 loanCollateralRatio)
Visibility
external
State Mutability
view
getMintingFee
¶
Details
Signature
getMintingFee(address _account, uint256 _loanID) view returns (uint256)
Visibility
external
State Mutability
view
issuanceRatio
¶
Details
Signature
issuanceRatio() view returns (uint256)
Visibility
public
State Mutability
view
loanAmountFromCollateral
¶
Details
Signature
loanAmountFromCollateral(uint256 collateralAmount) view returns (uint256)
Visibility
public
State Mutability
view
openLoanIDsByAccount
¶
Details
Signature
openLoanIDsByAccount(address _account) view returns (uint256[])
Visibility
external
State Mutability
view
resolverAddressesRequired
¶
Details
Signature
resolverAddressesRequired() view returns (bytes32[] addresses)
Visibility
public
State Mutability
view
timeSinceInterestAccrualOnLoan
¶
Details
Signature
timeSinceInterestAccrualOnLoan(address _account, uint256 _loanID) view returns (uint256)
Visibility
external
State Mutability
view
totalFeesOnLoan
¶
Details
Signature
totalFeesOnLoan(address _account, uint256 _loanID) view returns (uint256 interestAmount, uint256 mintingFee)
Visibility
external
State Mutability
view
Restricted Functions¶
setAccountLoanLimit
¶
Details
Signature
setAccountLoanLimit(uint256 _loanLimit)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
setCollateralizationRatio
¶
Details
Signature
setCollateralizationRatio(uint256 ratio)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
setInterestRate
¶
Details
Signature
setInterestRate(uint256 _interestRate)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
setIssueFeeRate
¶
Details
Signature
setIssueFeeRate(uint256 _issueFeeRate)
Visibility
external
State Mutability
``
Modifiers
Emits
setIssueLimit
¶
Details
Signature
setIssueLimit(uint256 _issueLimit)
Visibility
external
State Mutability
``
Modifiers
Emits
setLiquidationRatio
¶
Details
Signature
setLiquidationRatio(uint256 _liquidationRatio)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
setLoanLiquidationOpen
¶
Details
Signature
setLoanLiquidationOpen(bool _loanLiquidationOpen)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
setMinLoanCollateralSize
¶
Details
Signature
setMinLoanCollateralSize(uint256 _minLoanCollateralSize)
Visibility
external
State Mutability
``
Modifiers
Emits
Internal Functions¶
_checkLoanIsOpen
¶
Details
Signature
_checkLoanIsOpen(struct EtherCollateralsUSD.SynthLoanStruct _synthLoan) pure
Visibility
internal
State Mutability
pure
Requires
_loanCollateralRatio
¶
Details
Signature
_loanCollateralRatio(struct EtherCollateralsUSD.SynthLoanStruct _loan) view returns (uint256 loanCollateralRatio, uint256 collateralValue, uint256 interestAmount)
Visibility
internal
State Mutability
view
_processInterestAndLoanPayment
¶
Details
Signature
_processInterestAndLoanPayment(uint256 interestPaid, uint256 loanAmountPaid)
Visibility
internal
State Mutability
``
_splitInterestLoanPayment
¶
Details
Signature
_splitInterestLoanPayment(uint256 _paymentAmount, uint256 _accruedInterest, uint256 _loanAmount) pure returns (uint256 interestPaid, uint256 loanAmountPaid, uint256 accruedInterestAfter, uint256 loanAmountAfter)
Visibility
internal
State Mutability
pure
exchangeRates
¶
Details
Signature
exchangeRates() view returns (contract IExchangeRates)
Visibility
internal
State Mutability
view
feePool
¶
Details
Signature
feePool() view returns (contract IFeePool)
Visibility
internal
State Mutability
view
synthsUSD
¶
Details
Signature
synthsUSD() view returns (contract ISynth)
Visibility
internal
State Mutability
view
systemStatus
¶
Details
Signature
systemStatus() view returns (contract ISystemStatus)
Visibility
internal
State Mutability
view
External Functions¶
closeLoan
¶
Details
Signature
closeLoan(uint256 loanID)
Visibility
external
State Mutability
``
Modifiers
depositCollateral
¶
Details
Signature
depositCollateral(address account, uint256 loanID) payable
Visibility
external
State Mutability
payable
Requires
Modifiers
Emits
liquidateLoan
¶
Details
Signature
liquidateLoan(address _loanCreatorsAddress, uint256 _loanID, uint256 _debtToCover)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
liquidateUnclosedLoan
¶
Details
Signature
liquidateUnclosedLoan(address _loanCreatorsAddress, uint256 _loanID)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
openLoan
¶
Details
Signature
openLoan(uint256 _loanAmount) payable returns (uint256 loanID)
Visibility
external
State Mutability
payable
Requires
Modifiers
Emits
repayLoan
¶
Details
Signature
repayLoan(address _loanCreatorsAddress, uint256 _loanID, uint256 _repayAmount)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
withdrawCollateral
¶
Details
Signature
withdrawCollateral(uint256 loanID, uint256 withdrawAmount)
Visibility
external
State Mutability
``
Requires
Modifiers
Emits
Modifiers¶
ETHRateNotInvalid
¶
Events¶
AccountLoanLimitUpdated
¶
Signature: AccountLoanLimitUpdated(uint256 loanLimit)
CollateralDeposited
¶
Signature: CollateralDeposited(address account, uint256 loanID, uint256 collateralAmount, uint256 collateralAfter)
CollateralWithdrawn
¶
Signature: CollateralWithdrawn(address account, uint256 loanID, uint256 amountWithdrawn, uint256 collateralAfter)
CollateralizationRatioUpdated
¶
Signature: CollateralizationRatioUpdated(uint256 ratio)
InterestRateUpdated
¶
Signature: InterestRateUpdated(uint256 interestRate)
IssueFeeRateUpdated
¶
Signature: IssueFeeRateUpdated(uint256 issueFeeRate)
IssueLimitUpdated
¶
Signature: IssueLimitUpdated(uint256 issueLimit)
LiquidationRatioUpdated
¶
Signature: LiquidationRatioUpdated(uint256 ratio)
LoanClosed
¶
Signature: LoanClosed(address account, uint256 loanID, uint256 feesPaid)
LoanCreated
¶
Signature: LoanCreated(address account, uint256 loanID, uint256 amount)
LoanLiquidated
¶
Signature: LoanLiquidated(address account, uint256 loanID, address liquidator)
LoanLiquidationOpenUpdated
¶
Signature: LoanLiquidationOpenUpdated(bool loanLiquidationOpen)
LoanPartiallyLiquidated
¶
Signature: LoanPartiallyLiquidated(address account, uint256 loanID, address liquidator, uint256 liquidatedAmount, uint256 liquidatedCollateral)
LoanRepaid
¶
Signature: LoanRepaid(address account, uint256 loanID, uint256 repaidAmount, uint256 newLoanAmount)
MinLoanCollateralSizeUpdated
¶
Signature: MinLoanCollateralSizeUpdated(uint256 minLoanCollateralSize)