[−][src]Struct bm::ProvingBackend
Proving merkle database.
Methods
impl<'a, DB: Backend> ProvingBackend<'a, DB> where
IntermediateOf<DB>: Eq + Hash,
[src]
IntermediateOf<DB>: Eq + Hash,
pub fn new(db: &'a mut DB) -> Self
[src]
Create a new proving database.
pub fn reset(
&mut self
) -> HashMap<IntermediateOf<Self>, (ValueOf<Self>, ValueOf<Self>)>
[src]
&mut self
) -> HashMap<IntermediateOf<Self>, (ValueOf<Self>, ValueOf<Self>)>
Reset the proving database and get all the proofs.
Trait Implementations
impl<'a, DB: Backend> Backend for ProvingBackend<'a, DB> where
IntermediateOf<DB>: Eq + Hash,
[src]
IntermediateOf<DB>: Eq + Hash,
type Intermediate = DB::Intermediate
Intermediate value stored in this merkle database.
type End = DB::End
End value stored in this merkle database.
type Error = DB::Error
Error type for DB access.
fn intermediate_of(
&self,
left: &ValueOf<Self>,
right: &ValueOf<Self>
) -> IntermediateOf<Self>
[src]
&self,
left: &ValueOf<Self>,
right: &ValueOf<Self>
) -> IntermediateOf<Self>
fn empty_at(
&mut self,
depth_to_bottom: usize
) -> Result<ValueOf<Self>, Self::Error>
[src]
&mut self,
depth_to_bottom: usize
) -> Result<ValueOf<Self>, Self::Error>
fn get(
&self,
key: &IntermediateOf<Self>
) -> Result<(ValueOf<Self>, ValueOf<Self>), Self::Error>
[src]
&self,
key: &IntermediateOf<Self>
) -> Result<(ValueOf<Self>, ValueOf<Self>), Self::Error>
fn rootify(&mut self, key: &IntermediateOf<Self>) -> Result<(), Self::Error>
[src]
fn unrootify(&mut self, key: &IntermediateOf<Self>) -> Result<(), Self::Error>
[src]
fn insert(
&mut self,
key: IntermediateOf<Self>,
value: (ValueOf<Self>, ValueOf<Self>)
) -> Result<(), Self::Error>
[src]
&mut self,
key: IntermediateOf<Self>,
value: (ValueOf<Self>, ValueOf<Self>)
) -> Result<(), Self::Error>
Auto Trait Implementations
impl<'a, DB> Sync for ProvingBackend<'a, DB> where
DB: Sync,
<DB as Backend>::End: Send,
<DB as Backend>::Intermediate: Send + Sync,
DB: Sync,
<DB as Backend>::End: Send,
<DB as Backend>::Intermediate: Send + Sync,
impl<'a, DB> Unpin for ProvingBackend<'a, DB> where
<DB as Backend>::End: Unpin,
<DB as Backend>::Intermediate: Unpin,
<DB as Backend>::End: Unpin,
<DB as Backend>::Intermediate: Unpin,
impl<'a, DB> Send for ProvingBackend<'a, DB> where
DB: Send,
<DB as Backend>::End: Send,
<DB as Backend>::Intermediate: Send,
DB: Send,
<DB as Backend>::End: Send,
<DB as Backend>::Intermediate: Send,
impl<'a, DB> RefUnwindSafe for ProvingBackend<'a, DB> where
DB: RefUnwindSafe,
<DB as Backend>::Intermediate: RefUnwindSafe,
DB: RefUnwindSafe,
<DB as Backend>::Intermediate: RefUnwindSafe,
impl<'a, DB> !UnwindSafe for ProvingBackend<'a, DB>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for 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.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self