Collateral¶
Description¶
Source: contracts/Collateral.sol
Variables¶
canOpenLoans
¶
Type: bool
collateralKey
¶
Type: bytes32
issueFeeRate
¶
Type: uint256
loans
¶
Type: mapping(uint256 => struct ICollateralLoan.Loan)
manager
¶
Type: contract ICollateralManager
minCollateral
¶
Type: uint256
minCratio
¶
Type: uint256
shortingRewards
¶
Type: mapping(bytes32 => address)
synths
¶
Type: bytes32[]
synthsByKey
¶
Type: mapping(bytes32 => bytes32)
Constructor¶
constructor
¶
Details
Signature
constructor(address _owner, contract ICollateralManager _manager, address _resolver, bytes32 _collateralKey, uint256 _minCratio, uint256 _minCollateral)
Visibility
public
State Mutability
``
Views¶
areSynthsAndCurrenciesSet
¶
Details
Signature
areSynthsAndCurrenciesSet(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys) view returns (bool)
Visibility
external
State Mutability
view
collateralRatio
¶
Details
Signature
collateralRatio(uint256 id) view returns (uint256 cratio)
Visibility
public
State Mutability
view
liquidationAmount
¶
Details
Signature
liquidationAmount(uint256 id) view returns (uint256 liqAmount)
Visibility
public
State Mutability
view
maxLoan
¶
Details
Signature
maxLoan(uint256 amount, bytes32 currency) view returns (uint256 max)
Visibility
public
State Mutability
view
resolverAddressesRequired
¶
Details
Signature
resolverAddressesRequired() view returns (bytes32[] addresses)
Visibility
public
State Mutability
view
Restricted Functions¶
addRewardsContracts
¶
Details
Signature
addRewardsContracts(address rewardsContract, bytes32 synth)
Visibility
external
State Mutability
``
Modifiers
addSynths
¶
Details
Signature
addSynths(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys)
Visibility
external
State Mutability
``
Requires
Modifiers
setCanOpenLoans
¶
Details
Signature
setCanOpenLoans(bool _canOpenLoans)
Visibility
external
State Mutability
``
Modifiers
Emits
setIssueFeeRate
¶
Details
Signature
setIssueFeeRate(uint256 _issueFeeRate)
Visibility
external
State Mutability
``
Modifiers
Emits
setMinCollateral
¶
Details
Signature
setMinCollateral(uint256 _minCollateral)
Visibility
external
State Mutability
``
Modifiers
Emits
Internal Functions¶
_accrueInterest
¶
Details
Signature
_accrueInterest(struct ICollateralLoan.Loan loan)
Visibility
internal
State Mutability
``
_checkLoanAvailable
¶
Details
Signature
_checkLoanAvailable(struct ICollateralLoan.Loan loan) view
Visibility
internal
State Mutability
view
Requires
_checkLoanRatio
¶
Details
Signature
_checkLoanRatio(struct ICollateralLoan.Loan loan) view
Visibility
internal
State Mutability
view
Requires
_checkSynthBalance
¶
Details
Signature
_checkSynthBalance(address payer, bytes32 key, uint256 amount) view
Visibility
internal
State Mutability
view
Requires
_close
¶
Details
Signature
_close(address borrower, uint256 id) returns (uint256 amount, uint256 collateral)
Visibility
internal
State Mutability
``
Modifiers
Emits
_closeByLiquidation
¶
Details
Signature
_closeByLiquidation(address borrower, address liquidator, struct ICollateralLoan.Loan loan) returns (uint256 amount, uint256 collateral)
Visibility
internal
State Mutability
``
Emits
_closeLoan
¶
Details
Signature
_closeLoan(address borrower, address liquidator, struct ICollateralLoan.Loan loan) returns (uint256 amount, uint256 collateral)
Visibility
internal
State Mutability
``
_collateralUtil
¶
Details
Signature
_collateralUtil() view returns (contract ICollateralUtil)
Visibility
internal
State Mutability
view
_deposit
¶
Details
Signature
_deposit(address account, uint256 id, uint256 amount) returns (uint256, uint256)
Visibility
internal
State Mutability
``
Requires
Modifiers
Emits
_draw
¶
Details
Signature
_draw(uint256 id, uint256 amount) returns (uint256, uint256)
Visibility
internal
State Mutability
``
Modifiers
Emits
_exchangeRates
¶
Details
Signature
_exchangeRates() view returns (contract IExchangeRates)
Visibility
internal
State Mutability
view
_exchanger
¶
Details
Signature
_exchanger() view returns (contract IExchanger)
Visibility
internal
State Mutability
view
_feePool
¶
Details
Signature
_feePool() view returns (contract IFeePool)
Visibility
internal
State Mutability
view
_getLoanAndAccrueInterest
¶
Details
Signature
_getLoanAndAccrueInterest(uint256 id, address owner) returns (struct ICollateralLoan.Loan loan)
Visibility
internal
State Mutability
``
Requires
_isLoanOpen
¶
Details
Signature
_isLoanOpen(uint256 interestIndex) pure
Visibility
internal
State Mutability
pure
Requires
_liquidate
¶
Details
Signature
_liquidate(address borrower, uint256 id, uint256 payment) returns (uint256 collateralLiquidated)
Visibility
internal
State Mutability
``
Requires
Modifiers
Emits
_open
¶
Details
Signature
_open(uint256 collateral, uint256 amount, bytes32 currency, bool short) returns (uint256 id)
Visibility
internal
State Mutability
``
Requires
Modifiers
Emits
_payFees
¶
Details
Signature
_payFees(uint256 amount, bytes32 synth)
Visibility
internal
State Mutability
``
_processPayment
¶
Details
Signature
_processPayment(struct ICollateralLoan.Loan loan, uint256 payment)
Visibility
internal
State Mutability
``
Requires
_recordLoanAsClosed
¶
Details
Signature
_recordLoanAsClosed(struct ICollateralLoan.Loan loan)
Visibility
internal
State Mutability
``
_repay
¶
Details
Signature
_repay(address borrower, address repayer, uint256 id, uint256 payment) returns (uint256, uint256)
Visibility
internal
State Mutability
``
Modifiers
Emits
_synth
¶
Details
Signature
_synth(bytes32 synthName) view returns (contract ISynth)
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
_withdraw
¶
Details
Signature
_withdraw(uint256 id, uint256 amount) returns (uint256, uint256)
Visibility
internal
State Mutability
``
Modifiers
Emits
Modifiers¶
issuanceIsActive
¶
rateIsValid
¶
Events¶
CanOpenLoansUpdated
¶
Signature: CanOpenLoansUpdated(bool canOpenLoans)
CollateralDeposited
¶
Signature: CollateralDeposited(address account, uint256 id, uint256 amountDeposited, uint256 collateralAfter)
CollateralWithdrawn
¶
Signature: CollateralWithdrawn(address account, uint256 id, uint256 amountWithdrawn, uint256 collateralAfter)
IssueFeeRateUpdated
¶
Signature: IssueFeeRateUpdated(uint256 issueFeeRate)
LoanClosed
¶
Signature: LoanClosed(address account, uint256 id)
LoanClosedByLiquidation
¶
Signature: LoanClosedByLiquidation(address account, uint256 id, address liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)
LoanClosedByRepayment
¶
Signature: LoanClosedByRepayment(address account, uint256 id, uint256 amountRepaid, uint256 collateralAfter)
LoanCreated
¶
Signature: LoanCreated(address account, uint256 id, uint256 amount, uint256 collateral, bytes32 currency, uint256 issuanceFee)
LoanDrawnDown
¶
Signature: LoanDrawnDown(address account, uint256 id, uint256 amount)
LoanPartiallyLiquidated
¶
Signature: LoanPartiallyLiquidated(address account, uint256 id, address liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)
LoanRepaymentMade
¶
Signature: LoanRepaymentMade(address account, address repayer, uint256 id, uint256 amountRepaid, uint256 amountAfter)
MinCollateralUpdated
¶
Signature: MinCollateralUpdated(uint256 minCollateral)