diff --git a/substrate/client/db/src/bench.rs b/substrate/client/db/src/bench.rs index a2501891b3..ed53f52da3 100644 --- a/substrate/client/db/src/bench.rs +++ b/substrate/client/db/src/bench.rs @@ -507,7 +507,7 @@ impl StateBackend> for BenchmarkingState { *self.whitelist.borrow_mut() = new; } - fn register_overlay_stats(&mut self, stats: &sp_state_machine::StateMachineStats) { + fn register_overlay_stats(&self, stats: &sp_state_machine::StateMachineStats) { self.state.borrow_mut().as_mut().map(|s| s.register_overlay_stats(stats)); } diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index c684245be3..9a334f95d4 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -259,7 +259,7 @@ impl StateBackend> for RefTrackingState { self.state.as_trie_backend() } - fn register_overlay_stats(&mut self, stats: &StateMachineStats) { + fn register_overlay_stats(&self, stats: &StateMachineStats) { self.state.register_overlay_stats(stats); } diff --git a/substrate/client/db/src/storage_cache.rs b/substrate/client/db/src/storage_cache.rs index 8929972e26..cb2ab1de1b 100644 --- a/substrate/client/db/src/storage_cache.rs +++ b/substrate/client/db/src/storage_cache.rs @@ -677,7 +677,7 @@ impl>, B: BlockT> StateBackend> for Cachin self.state.as_trie_backend() } - fn register_overlay_stats(&mut self, stats: &sp_state_machine::StateMachineStats) { + fn register_overlay_stats(&self, stats: &sp_state_machine::StateMachineStats) { self.overlay_stats.add(stats); } @@ -862,7 +862,7 @@ impl>, B: BlockT> StateBackend> for Syncin .as_trie_backend() } - fn register_overlay_stats(&mut self, stats: &sp_state_machine::StateMachineStats) { + fn register_overlay_stats(&self, stats: &sp_state_machine::StateMachineStats) { self.caching_state().register_overlay_stats(stats); } diff --git a/substrate/client/light/src/backend.rs b/substrate/client/light/src/backend.rs index d6f86209af..4c8ac3fe40 100644 --- a/substrate/client/light/src/backend.rs +++ b/substrate/client/light/src/backend.rs @@ -526,7 +526,7 @@ impl StateBackend for GenesisOrUnavailableState } } - fn register_overlay_stats(&mut self, _stats: &sp_state_machine::StateMachineStats) { } + fn register_overlay_stats(&self, _stats: &sp_state_machine::StateMachineStats) { } fn usage_info(&self) -> sp_state_machine::UsageInfo { sp_state_machine::UsageInfo::empty() diff --git a/substrate/client/service/src/client/call_executor.rs b/substrate/client/service/src/client/call_executor.rs index e4ef76b1ab..c8c1fee545 100644 --- a/substrate/client/service/src/client/call_executor.rs +++ b/substrate/client/service/src/client/call_executor.rs @@ -220,7 +220,7 @@ where Box::new(sp_state_machine::ExecutionError::UnableToGenerateProof) as Box )?; - let state_runtime_code = sp_state_machine::backend::BackendRuntimeCode::new(&trie_state); + let state_runtime_code = sp_state_machine::backend::BackendRuntimeCode::new(trie_state); // It is important to extract the runtime code here before we create the proof // recorder. let runtime_code = state_runtime_code.runtime_code() diff --git a/substrate/client/service/test/src/client/mod.rs b/substrate/client/service/test/src/client/mod.rs index 55ff989bb9..3852ab2d61 100644 --- a/substrate/client/service/test/src/client/mod.rs +++ b/substrate/client/service/test/src/client/mod.rs @@ -167,7 +167,7 @@ fn construct_block( }; let hash = header.hash(); let mut overlay = OverlayedChanges::default(); - let backend_runtime_code = sp_state_machine::backend::BackendRuntimeCode::new(&backend); + let backend_runtime_code = sp_state_machine::backend::BackendRuntimeCode::new(backend); let runtime_code = backend_runtime_code.runtime_code().expect("Code is part of the backend"); let task_executor = Box::new(TaskExecutor::new()); diff --git a/substrate/primitives/state-machine/src/backend.rs b/substrate/primitives/state-machine/src/backend.rs index 1a8892f8dd..92b4c83314 100644 --- a/substrate/primitives/state-machine/src/backend.rs +++ b/substrate/primitives/state-machine/src/backend.rs @@ -204,7 +204,7 @@ pub trait Backend: sp_std::fmt::Debug { /// Register stats from overlay of state machine. /// /// By default nothing is registered. - fn register_overlay_stats(&mut self, _stats: &crate::stats::StateMachineStats); + fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats); /// Query backend usage statistics (i/o, memory) /// @@ -252,86 +252,6 @@ pub trait Backend: sp_std::fmt::Debug { } } -impl<'a, T: Backend, H: Hasher> Backend for &'a T { - type Error = T::Error; - type Transaction = T::Transaction; - type TrieBackendStorage = T::TrieBackendStorage; - - fn storage(&self, key: &[u8]) -> Result, Self::Error> { - (*self).storage(key) - } - - fn child_storage( - &self, - child_info: &ChildInfo, - key: &[u8], - ) -> Result, Self::Error> { - (*self).child_storage(child_info, key) - } - - fn apply_to_child_keys_while bool>( - &self, - child_info: &ChildInfo, - f: F, - ) { - (*self).apply_to_child_keys_while(child_info, f) - } - - fn next_storage_key(&self, key: &[u8]) -> Result, Self::Error> { - (*self).next_storage_key(key) - } - - fn next_child_storage_key( - &self, - child_info: &ChildInfo, - key: &[u8], - ) -> Result, Self::Error> { - (*self).next_child_storage_key(child_info, key) - } - - fn for_keys_with_prefix(&self, prefix: &[u8], f: F) { - (*self).for_keys_with_prefix(prefix, f) - } - - fn for_child_keys_with_prefix( - &self, - child_info: &ChildInfo, - prefix: &[u8], - f: F, - ) { - (*self).for_child_keys_with_prefix(child_info, prefix, f) - } - - fn storage_root<'b>( - &self, - delta: impl Iterator)>, - ) -> (H::Out, Self::Transaction) where H::Out: Ord { - (*self).storage_root(delta) - } - - fn child_storage_root<'b>( - &self, - child_info: &ChildInfo, - delta: impl Iterator)>, - ) -> (H::Out, bool, Self::Transaction) where H::Out: Ord { - (*self).child_storage_root(child_info, delta) - } - - fn pairs(&self) -> Vec<(StorageKey, StorageValue)> { - (*self).pairs() - } - - fn for_key_values_with_prefix(&self, prefix: &[u8], f: F) { - (*self).for_key_values_with_prefix(prefix, f); - } - - fn register_overlay_stats(&mut self, _stats: &crate::stats::StateMachineStats) { } - - fn usage_info(&self) -> UsageInfo { - (*self).usage_info() - } -} - /// Trait that allows consolidate two transactions together. pub trait Consolidate { /// Consolidate two transactions into one. diff --git a/substrate/primitives/state-machine/src/ext.rs b/substrate/primitives/state-machine/src/ext.rs index 43793d3c81..471674580d 100644 --- a/substrate/primitives/state-machine/src/ext.rs +++ b/substrate/primitives/state-machine/src/ext.rs @@ -682,7 +682,7 @@ where self.overlay.rollback_transaction().expect(BENCHMARKING_FN); } self.overlay.drain_storage_changes( - &self.backend, + self.backend, #[cfg(feature = "std")] None, Default::default(), @@ -700,7 +700,7 @@ where self.overlay.commit_transaction().expect(BENCHMARKING_FN); } let changes = self.overlay.drain_storage_changes( - &self.backend, + self.backend, #[cfg(feature = "std")] None, Default::default(), diff --git a/substrate/primitives/state-machine/src/proving_backend.rs b/substrate/primitives/state-machine/src/proving_backend.rs index 28672659fa..963582a3cc 100644 --- a/substrate/primitives/state-machine/src/proving_backend.rs +++ b/substrate/primitives/state-machine/src/proving_backend.rs @@ -328,7 +328,7 @@ impl<'a, S, H> Backend for ProvingBackend<'a, S, H> self.0.child_storage_root(child_info, delta) } - fn register_overlay_stats(&mut self, _stats: &crate::stats::StateMachineStats) { } + fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats) { } fn usage_info(&self) -> crate::stats::UsageInfo { self.0.usage_info() diff --git a/substrate/primitives/state-machine/src/trie_backend.rs b/substrate/primitives/state-machine/src/trie_backend.rs index 3e74f2d3df..5dd8fb7562 100644 --- a/substrate/primitives/state-machine/src/trie_backend.rs +++ b/substrate/primitives/state-machine/src/trie_backend.rs @@ -236,7 +236,7 @@ impl, H: Hasher> Backend for TrieBackend where Some(self) } - fn register_overlay_stats(&mut self, _stats: &crate::stats::StateMachineStats) { } + fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats) { } fn usage_info(&self) -> crate::UsageInfo { crate::UsageInfo::empty()