pub fn execution_proof(&self, id: &BlockId<Block>, method: &str, call_data: &[u8]) -> error::Result<(Vec<u8>, Vec<Vec<u8>>)> {
		let state = self.state_at(id)?;
		let header = self.prepare_environment_block(id)?;
		prove_execution(state, header, &self.executor, method, call_data)
	}
/// Execute a call to a contract on top of state in a block of given hash
/// AND returning execution proof.
///
/// No changes are made.
Execute a call to a contract on top of state in a block of given hash
AND returning execution proof.

No changes are made.
Execute a call to a contract on top of state in a block of given hash AND returning execution proof . No changes are made .
pub fn execution_proof(&self, id: &BlockId<Block>, method: &str, call_data: &[u8]) -> error::Result<(Vec<u8>, Vec<Vec<u8>>)> {
		let state = self.state_at(id)?;
		let header = self.prepare_environment_block(id)?;
		prove_execution(state, header, &self.executor, method, call_data)
	}
pub fn execution_proof ( & self , id : & BlockId < Block > , method : & str , call_data : & [ u8 ] ) -> error :: Result < ( Vec < u8 > , Vec < Vec < u8 > > ) > { let state = self . state_at ( id ) ? ; let header = self . prepare_environment_block ( id ) ? ; prove_execution ( state , header , & self . executor , method , call_data ) }
Execute a call to a contract on top of state in a block of given hash
AND returning execution proof.
Execute a call to a contract on top of state in a block of given hash AND returning execution proof .
&self
id
&BlockId<Block>
method
&str
call_data
&[u8]
&self
id
&BlockId<Block>
method
&str
call_data
&[u8]