use serde::{Deserialize, Serialize}; use chrono::{DateTime, Utc}; /// 交易签名请求 #[derive(Debug, Deserialize)] pub struct SignTransactionRequest { pub user_id: i64, /// 链标识: nac | ethereum | bsc | tron pub chain: String, /// 待签名的交易数据(Base64编码) pub unsigned_tx: String, /// 用于解密助记词的密码 pub decryption_password: String, /// 内部API密钥 pub internal_api_key: String, } /// 交易签名响应 #[derive(Debug, Serialize)] pub struct SignTransactionResponse { /// 已签名的交易数据(Base64编码) pub signed_tx: String, /// 交易哈希(NAC链: 48字节SHA3-384, 其他链: 32字节) pub tx_hash: String, } /// 转账请求 #[derive(Debug, Deserialize)] pub struct TransferRequest { pub user_id: i64, pub chain: String, pub to_address: String, pub amount: f64, pub asset_symbol: String, pub decryption_password: String, pub internal_api_key: String, } /// 交易历史记录 #[derive(Debug, Serialize)] pub struct TransactionRecord { pub id: i64, pub tx_hash: Option, pub tx_type: String, pub from_address: String, pub to_address: String, pub amount: String, pub asset_symbol: String, pub fee_amount: String, pub fee_currency: String, pub status: String, pub created_at: DateTime, }