hotshot_testing/
node_stake.rs1use std::collections::HashMap;
2
3use alloy::primitives::U256;
4
5#[derive(Clone)]
6pub struct TestNodeStakes {
7 stakes: HashMap<u64, U256>,
8 default_stake: U256,
9}
10
11impl TestNodeStakes {
12 pub fn new(stakes: HashMap<u64, U256>, default_stake: U256) -> Self {
13 Self {
14 stakes,
15 default_stake,
16 }
17 }
18
19 pub fn get(&self, node_id: u64) -> U256 {
20 self.stakes
21 .get(&node_id)
22 .cloned()
23 .unwrap_or(self.default_stake)
24 }
25
26 pub fn with_stake(mut self, node_id: u64, stake: U256) -> Self {
27 self.stakes.insert(node_id, stake);
28 self
29 }
30}
31
32impl Default for TestNodeStakes {
33 fn default() -> Self {
34 Self {
35 stakes: HashMap::new(),
36 default_stake: U256::from(1),
37 }
38 }
39}