pub trait OraclePallet {
// Required methods
fn get_exchange_rate<'life0, 'async_trait>(
&'life0 self,
currency_id: CurrencyId
) -> Pin<Box<dyn Future<Output = Result<FixedU128, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn feed_values<'life0, 'async_trait>(
&'life0 self,
values: Vec<(OracleKey, FixedU128)>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn set_bitcoin_fees<'life0, 'async_trait>(
&'life0 self,
value: FixedU128
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_bitcoin_fees<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<FixedU128, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn wrapped_to_collateral<'life0, 'async_trait>(
&'life0 self,
amount: u128,
currency_id: CurrencyId
) -> Pin<Box<dyn Future<Output = Result<u128, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn collateral_to_wrapped<'life0, 'async_trait>(
&'life0 self,
amount: u128,
currency_id: CurrencyId
) -> Pin<Box<dyn Future<Output = Result<u128, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn has_updated<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 OracleKey
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn on_fee_rate_change(&self) -> FeeRateUpdateReceiver;
}