pub trait SnapshotDbWriteableTrait: KeyValueDbTypes {
type SnapshotDbBorrowMutType: SnapshotMptTraitRw;
// Required methods
fn start_transaction(&mut self) -> Result<()>;
fn commit_transaction(&mut self) -> Result<()>;
fn put_kv(
&mut self,
key: &[u8],
value: &<Self::ValueType as DbValueType>::Type
) -> Result<Option<Option<Self::ValueType>>>;
fn open_snapshot_mpt_owned(
&mut self
) -> Result<Self::SnapshotDbBorrowMutType>;
}