rango_sdk/check/
is_approved.rs1use serde::{Deserialize, Serialize};
2
3use crate::error::SdkErr;
4
5#[derive(Debug, Deserialize)]
6#[serde[rename_all = "lowercase"]]
7pub enum TransactionStatus {
8 Failed,
9 Running,
10 Success,
11}
12
13#[derive(Debug, Deserialize)]
14#[serde(rename_all = "camelCase")]
15pub struct CheckApprovalResponse {
16 pub is_approved: bool,
17 pub tx_status: Option<TransactionStatus>,
18 pub required_approved_amount: Option<String>,
19 pub current_approved_amount: Option<String>,
20}
21
22#[derive(Debug, Deserialize, Serialize)]
23#[serde(rename_all = "camelCase")]
24pub struct IsApprovedRequest {
25 pub request_id: String,
26 pub tx_id: Option<String>,
27}
28
29impl IsApprovedRequest {
30 pub fn into_qs(&self) -> Result<String, SdkErr> {
31 let qs = serde_urlencoded::to_string(self)?;
32
33 Ok(qs)
34 }
35}