The oracle module currently provides three different exported keeper interfaces which can be passed to other modules which need to read price feeds. Modules should use the least-permissive interface which provides the functionality they require.
# Oracle Module ViewKeeper
The oracle module ViewKeeper provides the ability to obtain price data as well as cumulative price data for any supported oracle type and oracle pair.
Note that the
GetPrice for Coinbase oracles returns the 5 minute TWAP price.
The BandKeeper provides the ability to create/modify/read/delete BandPricefeed and BandRelayer.
# Band IBC
The BandIBCKeeper provides the ability to create/modify/read/delete BandIBCOracleRequest, BandIBCPriceState, BandIBCLatestClientID and BandIBCCallDataRecord.
The CoinbaseKeeper provides the ability to create, modify and read CoinbasePricefeed data.
GetCoinbasePrice returns the 5 minute TWAP price of the CoinbasePriceState based off the
CoinbasePriceState.Timestamp values provided by Coinbase.
The PriceFeederKeeper provides the ability to create/modify/read/delete PriceFeedPrice and PriceFeedRelayer.