aimo_client/types/
internal.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize)]
4pub struct InternalTopupRequest {
5    pub mainnet_tx_signature: String,
6    pub token: String,
7    pub user_address: String,
8}
9
10#[derive(Serialize, Deserialize)]
11pub struct TransactionResponse {
12    pub tx: String,
13}
14
15#[derive(Serialize, Deserialize)]
16pub struct InternalTopupResponse {
17    pub success: bool,
18    pub devnet_tx_signature: Option<String>,
19    pub amount_transferred: u64, // Original amount from mainnet
20    pub user_amount_ui: f64,     // Amount sent to user after fee
21    pub fee_amount_ui: f64,      // Fee taken (3%)
22    pub sender: String,
23    pub message: String,
24}
25
26#[derive(Serialize, Deserialize)]
27pub struct VerifyAssetRequest {
28    pub phase: String,
29    pub user_address: String,
30}
31
32#[derive(Serialize, Deserialize)]
33pub struct VerifyAssetResponse {
34    pub verified: bool,
35    pub community: String,
36    pub collection: String,
37    pub total: i32,
38    pub items: serde_json::Value,
39    pub devnet_tx: String,
40    pub token: String,
41    pub amount: u64,
42    pub amount_ui: f64,
43}