type Event: From<Event<Self>> + Into<Self::Event>
type Call: Parameter + Dispatchable<Origin = Self::Origin> + IsSubType<Module<Self>, Self>
type OnNewData: OnNewData<Self::AccountId, Self::OracleKey, Self::OracleValue>
type OnRedundantCall: OnRedundantCall<Self::AccountId>
type OperatorProvider: OperatorProvider<Self::AccountId>
type CombineData: CombineData<Self::OracleKey, TimestampedValueOf<Self>>
type Time: Time
type OracleKey: Parameter + Member
type OracleValue: Parameter + Member + Ord