use proptest::{arbitrary::any, array, prelude::*}; use crate::{ amount::{Amount, NonNegative}, primitives::ZkSnarkProof, }; use super::{commitment, note, tree, JoinSplit}; impl Arbitrary for JoinSplit

{ type Parameters = (); fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy { ( any::>(), any::>(), any::(), array::uniform2(any::()), array::uniform2(any::()), array::uniform32(any::()), array::uniform32(any::()), array::uniform2(any::()), any::

(), array::uniform2(any::()), ) .prop_map( |( vpub_old, vpub_new, anchor, nullifiers, commitments, ephemeral_key_bytes, random_seed, vmacs, zkproof, enc_ciphertexts, )| { Self { vpub_old, vpub_new, anchor, nullifiers, commitments, ephemeral_key: x25519_dalek::PublicKey::from(ephemeral_key_bytes), random_seed, vmacs, zkproof, enc_ciphertexts, } }, ) .boxed() } type Strategy = BoxedStrategy; }