rango_sdk/check/
is_approved.rs

1use 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}