#[macro_use]
pub(super) mod maybe_in_place_byte_array_macro;
pub mod children_table;
pub(super) mod compressed_path;
pub(super) mod maybe_in_place_byte_array;
pub mod merkle;
pub mod mpt_cursor;
pub mod mpt_merger;
pub mod simple_mpt;
pub mod trie_node;
pub mod trie_proof;
pub(super) mod walk;
#[cfg(test)]
mod tests;
pub use self::{
children_table::*,
compressed_path::{
CompressedPathRaw, CompressedPathRef, CompressedPathTrait,
},
mpt_merger::MptMerger,
trie_node::{TrieNodeTrait, VanillaTrieNode},
trie_proof::TrieProof,
};
pub type MptKeyValue = (Vec<u8>, Box<[u8]>);
pub trait KVInserter<Value> {
fn push(&mut self, v: Value) -> Result<()>;
}
impl<Value> KVInserter<Value> for Vec<Value> {
fn push(&mut self, v: Value) -> Result<()> { Ok((*self).push(v)) }
}
use super::errors::Result;