pub fn prove_execution<B, H, Exec>(
	backend: B,
	overlay: &mut OverlayedChanges,
	exec: &Exec,
	method: &str,
	call_data: &[u8],
) -> Result<(Vec<u8>, Vec<Vec<u8>>), Box<Error>>
where
	B: Backend<H>,
	H: Hasher,
	Exec: CodeExecutor<H>,
	H::Out: Ord + HeapSizeOf,
{
	let trie_backend = backend.try_into_trie_backend()
		.ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box<Error>)?;
	prove_execution_on_trie_backend(&trie_backend, overlay, exec, method, call_data)
}
/// Prove execution using the given state backend, overlayed changes, and call executor.
Prove execution using the given state backend, overlayed changes, and call executor.
Prove execution using the given state backend overlayed changes and call executor .
pub fn prove_execution<B, H, Exec>(
	backend: B,
	overlay: &mut OverlayedChanges,
	exec: &Exec,
	method: &str,
	call_data: &[u8],
) -> Result<(Vec<u8>, Vec<Vec<u8>>), Box<Error>>
where
	B: Backend<H>,
	H: Hasher,
	Exec: CodeExecutor<H>,
	H::Out: Ord + HeapSizeOf,
{
	let trie_backend = backend.try_into_trie_backend()
		.ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box<Error>)?;
	prove_execution_on_trie_backend(&trie_backend, overlay, exec, method, call_data)
}
pub fn prove_execution < B , H , Exec > ( backend : B , overlay : & mut OverlayedChanges , exec : & Exec , method : & str , call_data : & [ u8 ] , ) -> Result < ( Vec < u8 > , Vec < Vec < u8 > > ) , Box < Error > > where B : Backend < H > , H : Hasher , Exec : CodeExecutor < H > , H :: Out : Ord + HeapSizeOf , { let trie_backend = backend . try_into_trie_backend ( ) . ok_or_else ( | | Box :: new ( ExecutionError :: UnableToGenerateProof ) as Box < Error > ) ? ; prove_execution_on_trie_backend ( & trie_backend , overlay , exec , method , call_data ) }
Prove execution using the given state backend, overlayed changes, and call executor.
Prove execution using the given state backend overlayed changes and call executor .
backend
B
overlay
&mut OverlayedChanges
exec
&Exec
method
&str
call_data
&[u8]
backend
B
overlay
&mut OverlayedChanges
exec
&Exec
method
&str
call_data
&[u8]