Skip to main content

rpc/
auth.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize)]
4pub struct AuthNonceRequest {
5    pub address: String,
6}
7
8#[derive(Debug, Serialize)]
9pub struct AuthNonceResponse {
10    pub nonce: String,
11    pub siwe: SiweTemplate,
12}
13
14#[derive(Debug, Serialize)]
15#[serde(rename_all = "camelCase")]
16pub struct SiweTemplate {
17    pub domain: String,
18    pub uri: String,
19    pub chain_id: u64,
20    pub statement: String,
21    pub expiration: String,
22    pub issued_at: String,
23}
24
25#[derive(Debug, Deserialize)]
26pub struct AuthVerifyRequest {
27    pub address: String,
28    pub message: String,
29    pub signature: String,
30}
31
32#[derive(Debug, Serialize)]
33pub struct AuthVerifyResponse {
34    pub access_token: String,
35    pub refresh_token: String,
36    pub expires_in: u64,
37}
38
39#[derive(Debug, Deserialize)]
40pub struct AuthRefreshRequest {
41    pub refresh_token: String,
42}
43
44#[derive(Debug, Serialize)]
45pub struct AuthRefreshResponse {
46    pub access_token: String,
47    pub refresh_token: String,
48    pub expires_in: u64,
49}
50
51#[derive(Debug, Deserialize)]
52pub struct AuthLogoutRequest {
53    pub refresh_token: String,
54}
55
56#[derive(Debug, Serialize)]
57pub struct AuthLogoutResponse {
58    pub revoked: bool,
59}