From 799c03f4fc4611d324d0f14e7ee236da3f6d3644 Mon Sep 17 00:00:00 2001 From: qiuhao <qiuhao951@gmail.com> Date: Fri, 29 Nov 2019 09:23:43 +0800 Subject: [PATCH] update: impl DataProvider for oracle (#50) * update: impl DataProvider for oracle * update: optimize code --- oracle/src/lib.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/oracle/src/lib.rs b/oracle/src/lib.rs index 3b7c60b..15c6eb2 100644 --- a/oracle/src/lib.rs +++ b/oracle/src/lib.rs @@ -17,7 +17,7 @@ use sr_primitives::traits::Member; // would cause compiling error in `decl_module!` and `construct_runtime!` // #3295 https://github.com/paritytech/substrate/issues/3295 use frame_system::{self as system, ensure_signed}; -pub use orml_traits::{CombineData, OnNewData}; +pub use orml_traits::{CombineData, DataProvider, OnNewData}; pub use timestamped_value::TimestampedValue; type MomentOf<T> = <<T as Trait>::Time as Time>::Moment; @@ -94,6 +94,12 @@ impl<T: Trait> Module<T> { } } +impl<T: Trait> DataProvider<T::Key, T::Value> for Module<T> { + fn get(key: &T::Key) -> Option<T::Value> { + Self::get(key).map(|timestamped_value| timestamped_value.value) + } +} + impl<T: Trait> Module<T> { fn _feed_values(who: T::AccountId, values: Vec<(T::Key, T::Value)>) -> result::Result<(), Error> { ensure!(T::OperatorProvider::can_feed_data(&who), Error::NoPermission); -- GitLab