fn prove_at_state<S: state_machine::Backend<H>>(
		&self,
		state: S,
		overlay: &mut OverlayedChanges,
		method: &str,
		call_data: &[u8]
	) -> Result<(Vec<u8>, Vec<Vec<u8>>), error::Error> {
		let trie_state = state.try_into_trie_backend()
			.ok_or_else(|| Box::new(state_machine::ExecutionError::UnableToGenerateProof) as Box<state_machine::Error>)?;
		self.prove_at_trie_state(&trie_state, overlay, method, call_data)
	}
/// Execute a call to a contract on top of given state, gathering execution proof.
///
/// No changes are made.
Execute a call to a contract on top of given state, gathering execution proof.
No changes are made.
Execute a call to a contract on top of given state gathering execution proof . No changes are made .
fn prove_at_state<S: state_machine::Backend<H>>(
		&self,
		state: S,
		overlay: &mut OverlayedChanges,
		method: &str,
		call_data: &[u8]
	) -> Result<(Vec<u8>, Vec<Vec<u8>>), error::Error> {
		let trie_state = state.try_into_trie_backend()
			.ok_or_else(|| Box::new(state_machine::ExecutionError::UnableToGenerateProof) as Box<state_machine::Error>)?;
		self.prove_at_trie_state(&trie_state, overlay, method, call_data)
	}
fn prove_at_state < S : state_machine :: Backend < H > > ( & self , state : S , overlay : & mut OverlayedChanges , method : & str , call_data : & [ u8 ] ) -> Result < ( Vec < u8 > , Vec < Vec < u8 > > ) , error :: Error > { let trie_state = state . try_into_trie_backend ( ) . ok_or_else ( | | Box :: new ( state_machine :: ExecutionError :: UnableToGenerateProof ) as Box < state_machine :: Error > ) ? ; self . prove_at_trie_state ( & trie_state , overlay , method , call_data ) }
Execute a call to a contract on top of given state, gathering execution proof.
Execute a call to a contract on top of given state gathering execution proof .
&self
state
S
overlay
&mut OverlayedChanges
method
&str
call_data
&[u8]
&self
state
S
overlay
&mut OverlayedChanges
method
&str
call_data
&[u8]