pub fn top_level(origin: T::AccountId, cfg: &'a Config<T>, vm: &'a V, loader: &'a L) -> Self {
		ExecutionContext {
			self_trie_id: <AccountInfoOf<T>>::get(&origin).map(|s| s.trie_id),
			self_account: origin,
			overlay: OverlayAccountDb::<T>::new(&DirectAccountDb),
			depth: 0,
			events: Vec::new(),
			calls: Vec::new(),
			config: &cfg,
			vm: &vm,
			loader: &loader,
		}
	}
/// Create the top level execution context.
///
/// The specified `origin` address will be used as `sender` for
Create the top level execution context.
The specified `origin` address will be used as `sender` for
Create the top level execution context . The specified ` origin ` address will be used as ` sender ` for
pub fn top_level(origin: T::AccountId, cfg: &'a Config<T>, vm: &'a V, loader: &'a L) -> Self {
		ExecutionContext {
			self_trie_id: <AccountInfoOf<T>>::get(&origin).map(|s| s.trie_id),
			self_account: origin,
			overlay: OverlayAccountDb::<T>::new(&DirectAccountDb),
			depth: 0,
			events: Vec::new(),
			calls: Vec::new(),
			config: &cfg,
			vm: &vm,
			loader: &loader,
		}
	}
pub fn top_level ( origin : T :: AccountId , cfg : & ' a Config < T > , vm : & ' a V , loader : & ' a L ) -> Self { ExecutionContext { self_trie_id : < AccountInfoOf < T > > :: get ( & origin ) . map ( | s | s . trie_id ) , self_account : origin , overlay : OverlayAccountDb :: < T > :: new ( & DirectAccountDb ) , depth : 0 , events : Vec :: new ( ) , calls : Vec :: new ( ) , config : & cfg , vm : & vm , loader : & loader , } }
Create the top level execution context.
Create the top level execution context .
origin
T::AccountId
cfg
&'a Config<T>
vm
&'a V
loader
&'a L
origin
T::AccountId
cfg
&'a Config<T>
vm
&'a V
loader
&'a L