rango_sdk/check/
balance.rs1use serde::{Deserialize, Serialize};
2
3use crate::{error::SdkErr, quote::Asset};
4
5#[derive(Debug, Serialize)]
6pub struct BalanceRequest {
7 pub blockchain: String,
8 pub address: String,
9}
10
11impl BalanceRequest {
12 pub fn into_qs(&self) -> Result<String, SdkErr> {
13 let qs = serde_urlencoded::to_string(self)?;
14
15 Ok(qs)
16 }
17}
18
19#[derive(Debug, Deserialize)]
20pub struct Amount {
21 pub amount: String,
22 pub decimals: u32,
23}
24
25#[derive(Debug, Deserialize)]
26pub struct AssetAndAmount {
27 pub amount: Amount,
28 pub asset: Asset,
29}
30
31#[derive(Debug, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct WalletDetail {
34 pub failed: bool,
35 pub block_chain: String,
36 pub address: String,
37 pub balances: Option<Vec<AssetAndAmount>>,
38 pub explorer_url: String,
39}
40
41#[derive(Debug, Deserialize)]
42pub struct BalanceResponse {
43 pub wallets: Vec<WalletDetail>,
44}