magiclink_server_wallets_api/
domain.rs1use 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}