srml-contracts: Avoid unnecessary lookups during call context initialization (#3121)

* srml-contracts: Remove lookups during CallContext initialization.

* Bump node runtime impl_version.
This commit is contained in:
Jim Posen
2019-07-16 22:30:45 +02:00
committed by Sergei Pepyakin
parent 8e09338e27
commit eea9437805
3 changed files with 19 additions and 9 deletions
+10 -4
View File
@@ -264,6 +264,8 @@ pub struct ExecutionContext<'a, T: Trait + 'a, V, L> {
pub config: &'a Config<T>,
pub vm: &'a V,
pub loader: &'a L,
pub timestamp: T::Moment,
pub block_number: T::BlockNumber,
}
impl<'a, T, E, V, L> ExecutionContext<'a, T, V, L>
@@ -287,6 +289,8 @@ where
config: &cfg,
vm: &vm,
loader: &loader,
timestamp: <timestamp::Module<T>>::now(),
block_number: <system::Module<T>>::block_number(),
}
}
@@ -303,6 +307,8 @@ where
config: self.config,
vm: self.vm,
loader: self.loader,
timestamp: self.timestamp.clone(),
block_number: self.block_number.clone(),
}
}
@@ -368,8 +374,8 @@ where
ctx: &mut nested,
caller: self.self_account.clone(),
value_transferred: value,
timestamp: <timestamp::Module<T>>::now(),
block_number: <system::Module<T>>::block_number(),
timestamp: self.timestamp.clone(),
block_number: self.block_number.clone(),
},
input_data,
empty_output_buf,
@@ -439,8 +445,8 @@ where
ctx: &mut nested,
caller: self.self_account.clone(),
value_transferred: endowment,
timestamp: <timestamp::Module<T>>::now(),
block_number: <system::Module<T>>::block_number(),
timestamp: self.timestamp.clone(),
block_number: self.block_number.clone(),
},
input_data,
EmptyOutputBuf::new(),