1use rust_decimal::prelude::FromStr;
2use serde::{Deserialize, Serialize};
3use serde_json::{json, Value};
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
7pub struct BtcAddress<'a> {
8 #[serde(borrow)]
9 pub address: &'a str,
10}
11
12impl<'a> BtcAddress<'a> {
14 pub fn new(address: &'a str) -> Self {
16 Self { address }
17 }
18}
19
20impl<'a> From<&BtcAddress<'a>> for String {
21 fn from(address: &BtcAddress<'a>) -> Self {
22 address.address.to_string()
23 }
24}
25
26impl<'a> From<&BtcAddress<'a>> for Value {
27 fn from(address: &BtcAddress<'a>) -> Self {
28 json!(address.address)
29 }
30}