snarkvm_synthesizer_program/logic/finalize_operation/
mod.rs1mod bits;
17mod bytes;
18mod serialize;
19mod string;
20
21use console::{
22 network::{error, prelude::*},
23 types::Field,
24};
25
26#[derive(Copy, Clone, PartialEq, Eq)]
28pub enum FinalizeOperation<N: Network> {
29 InitializeMapping(Field<N>),
31 InsertKeyValue(Field<N>, Field<N>, Field<N>),
34 UpdateKeyValue(Field<N>, Field<N>, Field<N>),
37 RemoveKeyValue(Field<N>, Field<N>),
40 ReplaceMapping(Field<N>),
42 RemoveMapping(Field<N>),
44}
45
46#[cfg(test)]
47pub(crate) mod test_helpers {
48 use super::*;
49 use console::network::MainnetV0;
50
51 type CurrentNetwork = MainnetV0;
52
53 pub(crate) fn sample_initialize_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
55 FinalizeOperation::InitializeMapping(Uniform::rand(rng))
56 }
57
58 pub(crate) fn sample_insert_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
60 FinalizeOperation::InsertKeyValue(Uniform::rand(rng), Uniform::rand(rng), Uniform::rand(rng))
61 }
62
63 pub(crate) fn sample_update_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
65 FinalizeOperation::UpdateKeyValue(Uniform::rand(rng), Uniform::rand(rng), Uniform::rand(rng))
66 }
67
68 pub(crate) fn sample_remove_key_value(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
70 FinalizeOperation::RemoveKeyValue(Uniform::rand(rng), Uniform::rand(rng))
71 }
72
73 pub(crate) fn sample_replace_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
75 FinalizeOperation::ReplaceMapping(Uniform::rand(rng))
76 }
77
78 pub(crate) fn sample_remove_mapping(rng: &mut TestRng) -> FinalizeOperation<CurrentNetwork> {
80 FinalizeOperation::RemoveMapping(Uniform::rand(rng))
81 }
82
83 pub(crate) fn sample_finalize_operations() -> Vec<FinalizeOperation<CurrentNetwork>> {
85 let rng = &mut TestRng::default();
86
87 vec![
88 sample_initialize_mapping(rng),
89 sample_insert_key_value(rng),
90 sample_update_key_value(rng),
91 sample_remove_key_value(rng),
92 sample_replace_mapping(rng),
93 sample_remove_mapping(rng),
94 sample_initialize_mapping(rng),
95 sample_insert_key_value(rng),
96 sample_update_key_value(rng),
97 sample_remove_key_value(rng),
98 sample_replace_mapping(rng),
99 sample_remove_mapping(rng),
100 ]
101 }
102}