ExchangeRateFeeder
The ExchangeRateFeeder contract is responsible for calculating and determining the exchange rate between an Ethereum stablecoin and their aTerra counterpart.
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 |
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 |
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 |
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 |
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 modified 1yr ago