hypercall_db/types/
nonces.rs1use chrono::NaiveDateTime;
7use hypercall_types::WalletAddress;
8use serde::{Deserialize, Serialize};
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct RsmSignerNonceRecord {
14 pub signer_address: WalletAddress,
15 pub next_nonce: i64,
16 pub last_synced_nonce: Option<i64>,
18 pub created_at: Option<NaiveDateTime>,
19 pub updated_at: Option<NaiveDateTime>,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct RsmSignerRequestRecord {
25 pub request_id: String,
26 pub signer_address: WalletAddress,
27 pub account_address: WalletAddress,
28 pub action: Vec<u8>,
29 pub nonce: i64,
30 pub status: String,
31 pub directive: Option<Vec<u8>>,
32 pub signature: Option<String>,
33 pub created_at: Option<NaiveDateTime>,
34 pub updated_at: Option<NaiveDateTime>,
35}
36
37#[derive(Debug, Clone)]
39pub enum RsmSignerRequestClaim {
40 Pending { nonce: u64 },
42 Completed(RsmSignerRequestRecord),
44 Conflict { message: String },
46}