waves_rust/model/
history_balance.rs1use crate::error::{Error, Result};
2use crate::util::JsonDeserializer;
3use serde_json::Value;
4
5#[derive(Clone, Eq, PartialEq, Debug)]
6pub struct HistoryBalance {
7 height: u32,
8 balance: u64,
9}
10
11impl HistoryBalance {
12 pub fn new(height: u32, balance: u64) -> Self {
13 Self { height, balance }
14 }
15
16 pub fn height(&self) -> u32 {
17 self.height
18 }
19
20 pub fn balance(&self) -> u64 {
21 self.balance
22 }
23}
24
25impl TryFrom<&Value> for HistoryBalance {
26 type Error = Error;
27
28 fn try_from(value: &Value) -> Result<Self> {
29 let height = JsonDeserializer::safe_to_int_from_field(value, "height")?;
30 let balance = JsonDeserializer::safe_to_int_from_field(value, "balance")?;
31 Ok(HistoryBalance {
32 height: height as u32,
33 balance: balance as u64,
34 })
35 }
36}