Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions client/src/call_executor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,6 @@ where
&self.executor,
method,
call_data,
// Passing `None` here, since we don't really want to prove anything
// about our local keys.
None,
)
.map_err(Into::into)
}
Expand Down
4 changes: 1 addition & 3 deletions client/src/light/call_executor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ impl<Block, B, Local> CallExecutor<Block, Blake2Hasher> for
_manager: ExecutionManager<EM>,
native_call: Option<NC>,
recorder: &Option<ProofRecorder<Block>>,
extensions: Option<Extensions>,
extensions: Option<Extensions>,
) -> ClientResult<NativeOrEncoded<R>> where ExecutionManager<EM>: Clone {
// there's no actual way/need to specify native/wasm execution strategy on light node
// => we can safely ignore passed values
Expand Down Expand Up @@ -277,7 +277,6 @@ fn check_execution_proof_with_make_header<Header, E, H, MakeNextHeader: Fn(&Head
executor,
"Core_initialize_block",
&next_header.encode(),
None,
)?;

// execute method
Expand All @@ -287,7 +286,6 @@ fn check_execution_proof_with_make_header<Header, E, H, MakeNextHeader: Fn(&Head
executor,
&request.method,
&request.call_data,
None,
).map_err(Into::into)
}

Expand Down
20 changes: 4 additions & 16 deletions primitives/state-machine/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,6 @@ pub fn prove_execution<B, H, Exec>(
exec: &Exec,
method: &str,
call_data: &[u8],
keystore: Option<KeystoreExt>,
) -> Result<(Vec<u8>, StorageProof), Box<dyn Error>>
where
B: Backend<H>,
Expand All @@ -461,7 +460,7 @@ where
{
let trie_backend = backend.as_trie_backend()
.ok_or_else(|| Box::new(ExecutionError::UnableToGenerateProof) as Box<dyn Error>)?;
prove_execution_on_trie_backend(trie_backend, overlay, exec, method, call_data, keystore)
prove_execution_on_trie_backend(trie_backend, overlay, exec, method, call_data)
}

/// Prove execution using the given trie backend, overlayed changes, and call executor.
Expand All @@ -479,20 +478,15 @@ pub fn prove_execution_on_trie_backend<S, H, Exec>(
exec: &Exec,
method: &str,
call_data: &[u8],
keystore: Option<KeystoreExt>,
) -> Result<(Vec<u8>, StorageProof), Box<dyn Error>>
where
S: trie_backend_essence::TrieBackendStorage<H>,
H: Hasher<Out=H256>,
Exec: CodeExecutor,
{
let proving_backend = proving_backend::ProvingBackend::new(trie_backend);
let mut extensions = Extensions::new();
if let Some(keystore) = keystore {
extensions.register(keystore);
}
let mut sm = StateMachine::<_, H, _, InMemoryChangesTrieStorage<H, u64>, Exec>::new(
&proving_backend, None, overlay, exec, method, call_data, extensions,
&proving_backend, None, overlay, exec, method, call_data, Extensions::default(),
);

let (result, _, _) = sm.execute_using_consensus_failure_handler::<_, NeverNativeValue, fn() -> _>(
Expand All @@ -512,15 +506,14 @@ pub fn execution_proof_check<H, Exec>(
exec: &Exec,
method: &str,
call_data: &[u8],
keystore: Option<KeystoreExt>,
) -> Result<Vec<u8>, Box<dyn Error>>
where
H: Hasher<Out=H256>,
Exec: CodeExecutor,
H::Out: Ord + 'static,
{
let trie_backend = create_proof_check_backend::<H>(root.into(), proof)?;
execution_proof_check_on_trie_backend(&trie_backend, overlay, exec, method, call_data, keystore)
execution_proof_check_on_trie_backend(&trie_backend, overlay, exec, method, call_data)
}

/// Check execution proof on proving backend, generated by `prove_execution` call.
Expand All @@ -530,18 +523,13 @@ pub fn execution_proof_check_on_trie_backend<H, Exec>(
exec: &Exec,
method: &str,
call_data: &[u8],
keystore: Option<KeystoreExt>,
) -> Result<Vec<u8>, Box<dyn Error>>
where
H: Hasher<Out=H256>,
Exec: CodeExecutor,
{
let mut extensions = Extensions::new();
if let Some(keystore) = keystore {
extensions.register(keystore);
}
let mut sm = StateMachine::<_, H, _, InMemoryChangesTrieStorage<H, u64>, Exec>::new(
trie_backend, None, overlay, exec, method, call_data, extensions,
trie_backend, None, overlay, exec, method, call_data, Extensions::default(),
);

sm.execute_using_consensus_failure_handler::<_, NeverNativeValue, fn() -> _>(
Expand Down