saa_common/types/
signed.rs1use saa_schema::saa_type;
2use crate::PayloadExtension;
3
4
5#[saa_type]
8pub struct AuthPayload {
9 pub credential_id : Option<crate::CredentialId>,
11 pub hrp : Option<String>,
13 pub extension : Option<PayloadExtension>,
15}
16
17
18
19#[saa_type]
23pub struct SignedDataMsg {
24 pub data : crate::Binary,
26 pub signature : crate::Binary,
28 pub payload : Option<AuthPayload>,
30}
31
32
33
34#[saa_type(no_deny)]
35pub struct MsgDataToVerify {
36 pub chain_id: String,
37 pub contract_address: String,
38 pub nonce: crate::Uint64,
39}
40
41
42
43#[derive(Debug, serde::Serialize)]
44pub struct MsgDataToSign {
45 pub chain_id: String,
46 pub contract_address: String,
47 #[serde(skip_serializing_if = "Vec::is_empty")]
48 pub messages: Vec<String>,
49 pub nonce: crate::Uint64,
50}
51
52
53impl MsgDataToSign {
54 pub fn new(cid: String, addr: String, msgs: Vec<String>, nonce: u64) -> Self {
55 Self {
56 chain_id: cid,
57 messages: msgs,
58 contract_address: addr,
59 nonce: nonce.into(),
60 }
61 }
62}
63