bee_block/rand/input.rs
1// Copyright 2020-2021 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4use crate::{
5 input::{Input, TreasuryInput, UtxoInput},
6 rand::{milestone::rand_milestone_id, number::rand_number, output::rand_output_id},
7};
8
9/// Generates a random Utxo input.
10pub fn rand_utxo_input() -> UtxoInput {
11 rand_output_id().into()
12}
13
14/// Generates a random treasury input.
15pub fn rand_treasury_input() -> TreasuryInput {
16 TreasuryInput::new(rand_milestone_id())
17}
18
19/// Generates a random input.
20pub fn rand_input() -> Input {
21 match rand_number::<u64>() % 2 {
22 0 => rand_utxo_input().into(),
23 1 => rand_treasury_input().into(),
24 _ => unreachable!(),
25 }
26}