pub fn execution_proof_check<H, Exec>(
	root: H::Out,
	proof: Vec<Vec<u8>>,
	overlay: &mut OverlayedChanges,
	exec: &Exec,
	method: &str,
	call_data: &[u8],
) -> Result<Vec<u8>, Box<Error>>
where
	H: Hasher,
	Exec: CodeExecutor<H>,
	H::Out: Ord + HeapSizeOf,
{
	let trie_backend = proving_backend::create_proof_check_backend::<H>(root.into(), proof)?;
	execution_proof_check_on_trie_backend(&trie_backend, overlay, exec, method, call_data)
}
/// Check execution proof, generated by `prove_execution` call.
Check execution proof, generated by `prove_execution` call.
Check execution proof generated by ` prove_execution ` call .
pub fn execution_proof_check<H, Exec>(
	root: H::Out,
	proof: Vec<Vec<u8>>,
	overlay: &mut OverlayedChanges,
	exec: &Exec,
	method: &str,
	call_data: &[u8],
) -> Result<Vec<u8>, Box<Error>>
where
	H: Hasher,
	Exec: CodeExecutor<H>,
	H::Out: Ord + HeapSizeOf,
{
	let trie_backend = proving_backend::create_proof_check_backend::<H>(root.into(), proof)?;
	execution_proof_check_on_trie_backend(&trie_backend, overlay, exec, method, call_data)
}
pub fn execution_proof_check < H , Exec > ( root : H :: Out , proof : Vec < Vec < u8 > > , overlay : & mut OverlayedChanges , exec : & Exec , method : & str , call_data : & [ u8 ] , ) -> Result < Vec < u8 > , Box < Error > > where H : Hasher , Exec : CodeExecutor < H > , H :: Out : Ord + HeapSizeOf , { let trie_backend = proving_backend :: create_proof_check_backend :: < H > ( root . into ( ) , proof ) ? ; execution_proof_check_on_trie_backend ( & trie_backend , overlay , exec , method , call_data ) }
Check execution proof, generated by `prove_execution` call.
Check execution proof generated by ` prove_execution ` call .
root
H::Out
proof
Vec<Vec<u8>>
overlay
&mut OverlayedChanges
exec
&Exec
method
&str
call_data
&[u8]
root
H::Out
proof
Vec<Vec<u8>>
overlay
&mut OverlayedChanges
exec
&Exec
method
&str
call_data
&[u8]