Newer
Older
use sp_runtime::RuntimeDebug;
#[cfg(feature = "std")]
use serde::{Deserialize, Serialize};
pub use auction::{Auction, AuctionHandler, AuctionInfo, OnNewBidResult};
pub use currency::{
BalanceStatus, BasicCurrency, BasicCurrencyExtended, BasicLockableCurrency, BasicReservableCurrency,
LockIdentifier, MultiCurrency, MultiCurrencyExtended, MultiLockableCurrency, MultiReservableCurrency, OnDust,
pub use data_provider::{DataFeeder, DataProvider, DataProviderExtended};
pub use get_by_key::GetByKey;
pub use rewards::RewardHandler;
pub mod arithmetic;
pub mod auction;
pub mod currency;
pub mod data_provider;
pub trait OnNewData<AccountId, Key, Value> {
fn on_new_data(who: &AccountId, key: &Key, value: &Value);
/// Combine data provided by operators
pub trait CombineData<Key, TimestampedValue> {
/// Combine data provided by operators
fn combine_data(
key: &Key,
values: Vec<TimestampedValue>,
prev_value: Option<TimestampedValue>,
) -> Option<TimestampedValue>;
}
#[derive(Encode, Decode, Clone, Eq, PartialEq, RuntimeDebug)]
pub enum Change<Value> {
/// No change.
NoChange,
/// Changed to new value.
NewValue(Value),
}
#[derive(Encode, Decode, RuntimeDebug, Eq, PartialEq, Ord, PartialOrd, Clone, Copy)]
#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
pub struct TimestampedValue<Value: Ord + PartialOrd, Moment> {
pub value: Value,
pub timestamp: Moment,
}