ExchangeRateFeeder

The ExchangeRateFeeder contract is responsible for calculating and determining the exchange rate between an Ethereum stablecoin and their aTerra counterpart.

Events

RateUpdated

Emitted when exchange rate is updated.

event RateUpdated(
    address indexed _operator,
    address indexed _token,
    uint256 _before,
    uint256 _after,
    uint256 _updateCount
);

Key

Type

Description

_operator

address

Address that updated the exchange rate

_token

address

Address of token that had its exchange rate updated

_before

uint256

Exchange rate value pre-update

_after

uint256

Exchange rate value post-update

_updateCount

uint256

Number of times that interest was compounded during the update

State

Status

Represents the exchange rate updatability for a stablecoin.

enum Status {NEUTRAL, RUNNING, STOPPED}

Key

Description

NEUTRAL

Set when a stablecoin was first added

RUNNING

Exchange rate of stablecoin available for updates

STOPPED

Set when exchange rate updates for this stablecoin is stopped

Token

Represents information for an aTerra token.

struct Token {
    Status status;
    uint256 exchangeRate;
    uint256 period;
    uint256 weight;
    uint256 lastUpdatedAt;
}

Key

Type

Description

status

Status

Exchange rate updatability status

exchangeRate

uint256

Exchange rate when the exchange rate was last updated.

period

uint256

Minimum time period required between exchange rate updates

weight

uint256

Interest rate per period of time

lastUpdated

uint256

Block timestamp when exchange rate was last updated

Functions

exchangeRateOf

Gets the exchange rate for the specified aTerra token. Returns a simulated value (reflects yield accrued since last exchange rate update) if _simulate is set as true. Returns the last updated exchange rate value is _simulate is set as false.

function exchangeRateOf(
    address _token, 
    bool _simulate
) external view returns (uint256);

Key

Type

Description

_token

address

Address of aTerra token to retrieve exchange rate

_simulate

bool

Indicator on whether to return a interest-accrued value

update

Updates the exchange rate for specified aTerra token.

function update(address _token) external;

Key

Type

Description

_token

address

Address of aTerra token to update exchange rate

Last updated