B Erc 20
Compound
Compound's CErc20 Contract
CTokens which wrap an EIP-20 underlying
Methods
_acceptAdmin
Accepts transfer of admin rights. msg.sender must be pendingAdmin
Admin function for pending admin to accept role and update admin
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_addReserves
The sender adds to reserves.
Parameters
Name | Type | Description |
---|---|---|
addAmount | uint256 | The amount fo underlying token to add as reserves |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_reduceReserves
Accrues interest and reduces reserves by transferring to admin
Parameters
Name | Type | Description |
---|---|---|
reduceAmount | uint256 | Amount of reduction to reserves |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_setBondtroller
Sets a new bondtroller for the market
Admin function to set a new bondtroller
Parameters
Name | Type | Description |
---|---|---|
newBondtroller | contract Bondtroller | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_setInterestRateModel
accrues interest and updates the interest rate model using _setInterestRateModelFresh
Admin function to accrue interest and update the interest rate model
Parameters
Name | Type | Description |
---|---|---|
newInterestRateModel | contract InterestRateModel | the new interest rate model to use |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_setPendingAdmin
Begins transfer of admin rights. The newPendingAdmin must call _acceptAdmin
to finalize the transfer.
Admin function to begin change of admin. The newPendingAdmin must call _acceptAdmin
to finalize the transfer.
Parameters
Name | Type | Description |
---|---|---|
newPendingAdmin | address payable | New pending admin. |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
_setReserveFactor
accrues interest and sets a new reserve factor for the protocol using _setReserveFactorFresh
Admin function to accrue interest and set a new reserve factor
Parameters
Name | Type | Description |
---|---|---|
newReserveFactorMantissa | uint256 | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | uint 0=success, otherwise a failure (see ErrorReporter.sol for details) |
accountTokens
Official record of token balances for each account
Parameters
Name | Type | Description |
---|---|---|
_0 | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
accrualBlockNumber
Block number that interest was last accrued at
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
accrueInterest
Applies accrued interest to total borrows and reserves
This calculates interest accrued from the last checkpointed block up to the current block and writes new checkpoint to storage.
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
admin
Administrator for this contract
Returns
Name | Type | Description |
---|---|---|
_0 | address payable | undefined |
allowance
Get the current allowance from owner
for spender
Parameters
Name | Type | Description |
---|---|---|
owner | address | The address of the account which owns the tokens to be spent |
spender | address | The address of the account which may transfer tokens |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The number of tokens allowed to be spent (-1 means infinite) |
approve
Approve spender
to transfer up to amount
from src
This will overwrite the approval amount for spender
and is subject to issues noted here
Parameters
Name | Type | Description |
---|---|---|
spender | address | The address of the account which may transfer tokens |
amount | uint256 | The number of tokens that are approved (-1 means infinite) |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | Whether or not the approval succeeded |
balanceOf
Get the token balance of the owner
Parameters
Name | Type | Description |
---|---|---|
owner | address | The address of the account to query |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The number of tokens owned by |
balanceOfUnderlying
Get the underlying balance of the owner
This also accrues interest in a transaction
Parameters
Name | Type | Description |
---|---|---|
owner | address | The address of the account to query |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The amount of underlying owned by |
balanceOfUnderlyingView
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
bondtroller
Contract which oversees inter-cToken operations
Returns
Name | Type | Description |
---|---|---|
_0 | contract Bondtroller | undefined |
borrowBalanceCurrent
Accrue interest to updated borrowIndex and then calculate account's borrow balance using the updated borrowIndex
Parameters
Name | Type | Description |
---|---|---|
account | address | The address whose balance should be calculated after updating borrowIndex |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The calculated balance |
borrowBalanceStored
Return the borrow balance of account based on stored data
Parameters
Name | Type | Description |
---|---|---|
account | address | The address whose balance should be calculated |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The calculated balance |
borrowIndex
Accumulator of the total earned interest rate since the opening of the market
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
borrowRatePerBlock
Returns the current per-block borrow interest rate for this cToken
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The borrow interest rate per block, scaled by 1e18 |
decimals
EIP-20 token decimals for this token
Returns
Name | Type | Description |
---|---|---|
_0 | uint8 | undefined |
exchangeRateCurrent
Accrue interest then return the up-to-date exchange rate
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | Calculated exchange rate scaled by 1e18 |
exchangeRateStored
Calculates the exchange rate from the underlying to the CToken
This function does not accrue interest before calculating the exchange rate
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | Calculated exchange rate scaled by 1e18 |
getAccountSnapshot
Get a snapshot of the account's balances, and the cached exchange rate
This is used by bondtroller to more efficiently perform liquidity checks.
Parameters
Name | Type | Description |
---|---|---|
account | address | Address of the account to snapshot |
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | (possible error, token balance, borrow balance, exchange rate mantissa) |
_1 | uint256 | undefined |
_2 | uint256 | undefined |
_3 | uint256 | undefined |
getCash
Get cash balance of this cToken in the underlying asset
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The quantity of underlying asset owned by this contract |
initialize
Initialize the new money market
Parameters
Name | Type | Description |
---|---|---|
underlying_ | address | The address of the underlying asset |
comptroller_ | contract Bondtroller | The address of the Comptroller |
interestRateModel_ | contract InterestRateModel | The address of the interest rate model |
initialExchangeRateMantissa_ | uint256 | The initial exchange rate, scaled by 1e18 |
name_ | string | ERC-20 name of this token |
symbol_ | string | ERC-20 symbol of this token |
decimals_ | uint8 | ERC-20 decimal precision of this token |
initialize
Initialize the money market
Parameters
Name | Type | Description |
---|---|---|
bondtroller_ | contract Bondtroller | The address of the Bondtroller |
interestRateModel_ | contract InterestRateModel | The address of the interest rate model |
initialExchangeRateMantissa_ | uint256 | The initial exchange rate, scaled by 1e18 |
name_ | string | EIP-20 name of this token |
symbol_ | string | EIP-20 symbol of this token |
decimals_ | uint8 | EIP-20 decimal precision of this token |
interestRateModel
Model which tells what the current interest rate should be
Returns
Name | Type | Description |
---|---|---|
_0 | contract InterestRateModel | undefined |
isCToken
Indicator that this is a CToken contract (for inspection)
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
name
EIP-20 token name for this token
Returns
Name | Type | Description |
---|---|---|
_0 | string | undefined |
pendingAdmin
Pending administrator for this contract
Returns
Name | Type | Description |
---|---|---|
_0 | address payable | undefined |
protocolSeizeShareMantissa
Share of seized collateral that is added to reserves
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
reserveFactorMantissa
Fraction of interest currently set aside for reserves
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
supplyRatePerBlock
Returns the current per-block supply interest rate for this cToken
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The supply interest rate per block, scaled by 1e18 |
sweepToken
A public function to sweep accidental ERC-20 transfers to this contract. Tokens are sent to admin (timelock)
Parameters
Name | Type | Description |
---|---|---|
token | contract EIP20NonStandardInterface | The address of the ERC-20 token to sweep |
symbol
EIP-20 token symbol for this token
Returns
Name | Type | Description |
---|---|---|
_0 | string | undefined |
totalBorrows
Total amount of outstanding borrows of the underlying in this market
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
totalBorrowsCurrent
Returns the current total borrows plus accrued interest
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The total borrows with interest |
totalReserves
Total amount of reserves of the underlying held in this market
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
totalSupply
Total number of tokens in circulation
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
transfer
Transfer amount
tokens from msg.sender
to dst
Parameters
Name | Type | Description |
---|---|---|
dst | address | The address of the destination account |
amount | uint256 | The number of tokens to transfer |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | Whether or not the transfer succeeded |
transferFrom
Transfer amount
tokens from src
to dst
Parameters
Name | Type | Description |
---|---|---|
src | address | The address of the source account |
dst | address | The address of the destination account |
amount | uint256 | The number of tokens to transfer |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | Whether or not the transfer succeeded |
underlying
Underlying asset for this CToken
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
Events
AccrueInterest
Event emitted when interest is accrued
Parameters
Name | Type | Description |
---|---|---|
cashPrior | uint256 | undefined |
interestAccumulated | uint256 | undefined |
borrowIndex | uint256 | undefined |
totalBorrows | uint256 | undefined |
Approval
EIP20 Approval event
Parameters
Name | Type | Description |
---|---|---|
owner | address | undefined |
spender | address | undefined |
amount | uint256 | undefined |
Borrow
Event emitted when underlying is borrowed
Parameters
Name | Type | Description |
---|---|---|
borrower | address | undefined |
borrowAmount | uint256 | undefined |
accountBorrows | uint256 | undefined |
totalBorrows | uint256 | undefined |
Failure
Parameters
Name | Type | Description |
---|---|---|
error | uint256 | undefined |
info | uint256 | undefined |
detail | uint256 | undefined |
LiquidateBorrow
Event emitted when a borrow is liquidated
Parameters
Name | Type | Description |
---|---|---|
liquidator | address | undefined |
borrower | address | undefined |
repayAmount | uint256 | undefined |
cTokenCollateral | address | undefined |
seizeTokens | uint256 | undefined |
Mint
Event emitted when tokens are minted
Parameters
Name | Type | Description |
---|---|---|
minter | address | undefined |
mintAmount | uint256 | undefined |
mintTokens | uint256 | undefined |
NewAdmin
Event emitted when pendingAdmin is accepted, which means admin is updated
Parameters
Name | Type | Description |
---|---|---|
oldAdmin | address | undefined |
newAdmin | address | undefined |
NewBondtroller
Event emitted when bondtroller is changed
Parameters
Name | Type | Description |
---|---|---|
oldBondtroller | contract Bondtroller | undefined |
newBondtroller | contract Bondtroller | undefined |
NewMarketInterestRateModel
Event emitted when interestRateModel is changed
Parameters
Name | Type | Description |
---|---|---|
oldInterestRateModel | contract InterestRateModel | undefined |
newInterestRateModel | contract InterestRateModel | undefined |
NewPendingAdmin
Event emitted when pendingAdmin is changed
Parameters
Name | Type | Description |
---|---|---|
oldPendingAdmin | address | undefined |
newPendingAdmin | address | undefined |
NewReserveFactor
Event emitted when the reserve factor is changed
Parameters
Name | Type | Description |
---|---|---|
oldReserveFactorMantissa | uint256 | undefined |
newReserveFactorMantissa | uint256 | undefined |
Redeem
Event emitted when tokens are redeemed
Parameters
Name | Type | Description |
---|---|---|
redeemer | address | undefined |
redeemAmount | uint256 | undefined |
redeemTokens | uint256 | undefined |
RepayBorrow
Event emitted when a borrow is repaid
Parameters
Name | Type | Description |
---|---|---|
payer | address | undefined |
borrower | address | undefined |
repayAmount | uint256 | undefined |
accountBorrows | uint256 | undefined |
totalBorrows | uint256 | undefined |
ReservesAdded
Event emitted when the reserves are added
Parameters
Name | Type | Description |
---|---|---|
benefactor | address | undefined |
addAmount | uint256 | undefined |
newTotalReserves | uint256 | undefined |
ReservesReduced
Event emitted when the reserves are reduced
Parameters
Name | Type | Description |
---|---|---|
admin | address | undefined |
reduceAmount | uint256 | undefined |
newTotalReserves | uint256 | undefined |
Transfer
EIP20 Transfer event
Parameters
Name | Type | Description |
---|---|---|
from | address | undefined |
to | address | undefined |
amount | uint256 | undefined |
Last updated