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}