mod bits;
mod bytes;
mod serialize;
mod string;
use console::{
network::{error, prelude::*},
types::Field,
};
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum FinalizeOperation<N: Network> {
InitializeMapping(Field<N>),
InsertKeyValue(Field<N>, Field<N>, Field<N>),
UpdateKeyValue(Field<N>, Field<N>, Field<N>),
RemoveKeyValue(Field<N>, Field<N>),
ReplaceMapping(Field<N>),
RemoveMapping(Field<N>),
}
#[cfg(test)]
pub(crate) mod test_helpers {
use super::*;
use console::network::MainnetV0;
type CurrentNetwork = MainnetV0;
pub(crate) fn sample_initialize_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::InitializeMapping(Uniform::rand(rng))
}
pub(crate) fn sample_insert_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::InsertKeyValue(Uniform::rand(rng), Uniform::rand(rng), Uniform::rand(rng))
}
pub(crate) fn sample_update_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::UpdateKeyValue(Uniform::rand(rng), Uniform::rand(rng), Uniform::rand(rng))
}
pub(crate) fn sample_remove_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::RemoveKeyValue(Uniform::rand(rng), Uniform::rand(rng))
}
pub(crate) fn sample_replace_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::ReplaceMapping(Uniform::rand(rng))
}
pub(crate) fn sample_remove_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
FinalizeOperation::RemoveMapping(Uniform::rand(rng))
}
pub(crate) fn sample_finalize_operations() -> Vec<FinalizeOperation<CurrentNetwork>> {
let rng = &mut TestRng::default();
vec![
sample_initialize_mapping(rng),
sample_insert_key_value(rng),
sample_update_key_value(rng),
sample_remove_key_value(rng),
sample_replace_mapping(rng),
sample_remove_mapping(rng),
sample_initialize_mapping(rng),
sample_insert_key_value(rng),
sample_update_key_value(rng),
sample_remove_key_value(rng),
sample_replace_mapping(rng),
sample_remove_mapping(rng),
]
}
}