zebedee_rust/keysend/
types.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use crate::StdResp;
4
5pub type KeysendResponse = StdResp<Option<KeysendData>>;
6
7#[derive(Debug, Serialize, Deserialize)]
8pub struct KeysendTx {
9 pub id: String,
10 #[serde(rename = "walletId")]
11 pub wallet_id: String,
12 pub r#type: Option<String>,
13 #[serde(rename = "totalAmount")]
14 pub total_amount: String,
15 pub fee: String,
16 pub amount: String,
17 pub description: Option<String>,
18 pub status: String,
19 #[serde(rename = "confirmedAt")]
20 pub confirmed_at: Option<DateTime<Utc>>,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24pub struct KeysendData {
25 #[serde(rename = "keysendId")]
26 pub keysend_id: String,
27 #[serde(rename = "paymentId")]
28 pub payment_id: String,
29 pub transaction: KeysendTx,
30}
31
32#[derive(Debug, Serialize, Deserialize, Default)]
35pub struct Keysend {
36 pub amount: String,
37 pub pubkey: String,
38 #[serde(rename = "tlvRecords")]
39 pub tlv_records: Vec<TlvRecord>,
40 pub metadata: String,
41 #[serde(rename = "callbackUrl")]
42 pub callback_url: String,
43}
44
45#[derive(Debug, Serialize, Deserialize)]
46pub struct TlvRecord {
47 #[serde(rename = "type")]
48 pub record_type: u32,
49 pub value: String, }