1use std::fmt;
2
3use serde::{Deserialize, Serialize};
4use serde_json;
5
6#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
8pub struct Transfer {
9 pub timestamp: String,
11 pub address: String,
13 pub hash: String,
15 pub persistence: bool,
17 pub value: i64,
19 pub message: String,
21 pub tag: String,
23 pub obsolete_tag: String,
25}
26
27impl fmt::Display for Transfer {
28 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
29 write!(
30 f,
31 "{}",
32 serde_json::to_string_pretty(self).unwrap_or_default()
33 )
34 }
35}
36
37impl Into<Vec<Transfer>> for Transfer {
38 fn into(self) -> Vec<Transfer> {
39 vec![self]
40 }
41}
42
43impl Into<Vec<Transfer>> for &Transfer {
44 fn into(self) -> Vec<Transfer> {
45 vec![self.clone()]
46 }
47}