Skip to main content

magiclink_server_wallets_api/
domain.rs

1use serde::{
2  Deserialize,
3  Serialize,
4};
5use std::collections::HashMap;
6use uuid::Uuid;
7
8#[derive(Debug, Serialize, Deserialize)]
9pub struct WalletGroup {
10  pub uuid: Uuid,
11  pub time_created: u64,
12  pub time_updated: u64,
13  pub metada: HashMap<String, String>,
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct Wallet {
18  pub uuid: Uuid,
19  pub time_created: u64,
20  pub time_updated: u64,
21  pub network: Network,
22  pub wallet_group_id: Uuid,
23  pub key_type: String,
24  pub public_address: Option<String>,
25  pub recovery_key: String,
26  pub access_key: String,
27  pub metadata: HashMap<String, String>,
28}
29
30#[derive(Debug, Serialize, Deserialize)]
31pub enum Network {
32  BtcMainnet,
33  BtcTestnet,
34  BtcRegtest,
35
36  SolMainnet,
37  SolTestnet,
38
39  Evm,
40}
41
42#[derive(Debug, Serialize, Deserialize)]
43pub struct Signing {
44  pub signed_transaction: String,
45  pub transaction_hash: String,
46}
47
48#[derive(Debug, Serialize, Deserialize)]
49pub struct MessageSigning {
50  pub messageHash: String,
51  pub signature: String,
52  pub r: String,
53  pub s: String,
54  pub v: String,
55}
56
57#[derive(Debug, Serialize, Deserialize)]
58pub struct SolanaSignMessage {
59  pub signature: String,
60}
61
62#[derive(Debug, Serialize, Deserialize)]
63pub struct ApiResponse<T> {
64  pub data: T,
65}
66
67pub struct ApiError {
68  pub status_code: u8,
69  pub code: String,
70  pub message: String,
71  pub details: String,
72}