B Token

Compound

Compound's CToken Contract

Abstract base for CTokens

Methods

_acceptAdmin

function _acceptAdmin() external nonpayable returns (uint256)

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)

_reduceReserves

function _reduceReserves(uint256 reduceAmount) external nonpayable returns (uint256)

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 owner

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 owner

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 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

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

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 indexed

address

undefined

spender indexed

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 indexed

address

undefined

to indexed

address

undefined

amount

uint256

undefined

Last updated