Struct account_state::backend::Proving [−][src]
Proving state backend.
This keeps track of all state values loaded during usage of this backend.
The proof-of-execution can be extracted with extract_proof
.
This doesn’t cache anything or rely on the canonical state caches.
Implementations
impl<H: AsHashDB<KeccakHasher, DBValue>> Proving<H>
[src]
pub fn new(base: H) -> Self
[src]
Create a new Proving
over a base database.
This will store all values ever fetched from that base.
pub fn extract_proof(self) -> Vec<DBValue>
[src]
Consume the backend, extracting the gathered proof in lexicographical order by value.
Trait Implementations
impl<AH: AsHashDB<KeccakHasher, DBValue> + Send + Sync> AsHashDB<KeccakHasher, Vec<u8, Global>> for Proving<AH>
[src]
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue>
[src]
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue>
[src]
impl<H: AsHashDB<KeccakHasher, DBValue> + Send + Sync> Backend for Proving<H>
[src]
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue>
[src]
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue>
[src]
fn add_to_account_cache(&mut self, _: Address, _: Option<Account>, _: bool)
[src]
fn cache_code(&self, _: H256, _: Arc<Vec<u8>>)
[src]
fn get_cached_account(&self, _: &Address) -> Option<Option<Account>>
[src]
fn get_cached<F, U>(&self, _: &Address, _: F) -> Option<U> where
F: FnOnce(Option<&mut Account>) -> U,
[src]
F: FnOnce(Option<&mut Account>) -> U,
fn get_cached_code(&self, _: &H256) -> Option<Arc<Vec<u8>>>
[src]
fn note_non_null_account(&self, _: &Address)
[src]
fn is_known_null(&self, _: &Address) -> bool
[src]
impl<H: AsHashDB<KeccakHasher, DBValue> + Clone> Clone for Proving<H>
[src]
fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<H: AsHashDB<KeccakHasher, DBValue> + Send + Sync> HashDB<KeccakHasher, Vec<u8, Global>> for Proving<H>
[src]
fn get(&self, key: &H256, prefix: Prefix<'_>) -> Option<DBValue>
[src]
fn contains(&self, key: &H256, prefix: Prefix<'_>) -> bool
[src]
fn insert(&mut self, prefix: Prefix<'_>, value: &[u8]) -> H256
[src]
fn emplace(&mut self, key: H256, prefix: Prefix<'_>, value: DBValue)
[src]
fn remove(&mut self, key: &H256, prefix: Prefix<'_>)
[src]
Auto Trait Implementations
impl<H> !RefUnwindSafe for Proving<H>
impl<H> Send for Proving<H> where
H: Send,
H: Send,
impl<H> Sync for Proving<H> where
H: Sync,
H: Sync,
impl<H> Unpin for Proving<H> where
H: Unpin,
H: Unpin,
impl<H> UnwindSafe for Proving<H> where
H: UnwindSafe,
H: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,