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}