in bft-lib/src/smr_context.rs [130:151]
fn read_value(&mut self, key: String) -> AsyncResult<Option<Vec<u8>>>;
fn store_value(&mut self, key: String, value: Vec<u8>) -> AsyncResult<()>;
}
pub trait SmrContext:
SmrTypes
+ CryptographicModule
+ CommandExecutor<
<Self as CryptographicModule>::Author,
<Self as SmrTypes>::State,
<Self as SmrTypes>::Command,
> + CommandFetcher<<Self as SmrTypes>::Command>
+ StateFinalizer<<Self as SmrTypes>::State>
+ EpochReader<<Self as CryptographicModule>::Author, <Self as SmrTypes>::State>
+ Storage
+ Eq
+ Clone
+ Debug
+ Send
+ 'static
{