xand_api_proto/xand_models_adapters/
mod.rs

1mod admin_transaction;
2mod blockstamp;
3mod health_check;
4mod network_voting_user_transaction;
5mod transaction;
6mod user_transaction;
7mod validator_emissions;
8
9pub use admin_transaction::*;
10pub use network_voting_user_transaction::*;
11pub use transaction::*;
12pub use user_transaction::*;
13pub use validator_emissions::*;
14
15use super::*;
16use crate::error::XandApiProtoErrs;
17use crate::proto_models::XandTransaction;
18
19impl From<XandTransaction> for any_transaction::Operation {
20    fn from(txn: XandTransaction) -> Self {
21        match txn {
22            XandTransaction::RegisterSessionKeys(r) => {
23                any_transaction::Operation::RegisterSessionKeys(r.into())
24            }
25            XandTransaction::Send(t) => any_transaction::Operation::Send(t.into()),
26            XandTransaction::CreateRequest(c) => {
27                any_transaction::Operation::CreateRequest(c.into())
28            }
29            XandTransaction::RedeemRequest(r) => {
30                any_transaction::Operation::RedeemRequest(r.into())
31            }
32            XandTransaction::CashConfirmation(m) => {
33                any_transaction::Operation::CashConfirmation(m.into())
34            }
35            XandTransaction::RedeemFulfillment(s) => {
36                any_transaction::Operation::RedeemFulfillment(s.into())
37            }
38            XandTransaction::CreateCancellation(c) => {
39                any_transaction::Operation::CreateCancellation(c.into())
40            }
41            XandTransaction::RedeemCancellation(c) => {
42                any_transaction::Operation::RedeemCancellation(c.into())
43            }
44            XandTransaction::AllowlistCidrBlock(w) => {
45                any_transaction::Operation::AllowlistCidrBlock(w.into())
46            }
47            XandTransaction::RemoveAllowlistCidrBlock(w) => {
48                any_transaction::Operation::RemoveCidrBlock(w.into())
49            }
50            XandTransaction::RegisterMember(r) => {
51                any_transaction::Operation::RegisterAccountAsMember(r.into())
52            }
53            XandTransaction::RemoveMember(r) => any_transaction::Operation::RemoveMember(r.into()),
54            XandTransaction::ExitMember(r) => any_transaction::Operation::ExitMember(r.into()),
55            XandTransaction::SetTrust(t) => any_transaction::Operation::SetTrust(t.into()),
56            XandTransaction::SetMemberEncryptionKey(k) => {
57                any_transaction::Operation::SetMemberEncryptionKey(k.into())
58            }
59            XandTransaction::SetTrustEncryptionKey(k) => {
60                any_transaction::Operation::SetTrustEncryptionKey(k.into())
61            }
62            XandTransaction::AddAuthorityKey(a) => {
63                any_transaction::Operation::AddAuthorityKey(a.into())
64            }
65            XandTransaction::RemoveAuthorityKey(a) => {
66                any_transaction::Operation::RemoveAuthorityKey(a.into())
67            }
68            XandTransaction::SetLimitedAgent(la) => {
69                any_transaction::Operation::SetLimitedAgent(la.into())
70            }
71            XandTransaction::SetValidatorEmissionRate(a) => {
72                any_transaction::Operation::SetValidatorEmissionRate(a.into())
73            }
74            XandTransaction::RootAllowlistCidrBlock(r) => {
75                any_transaction::Operation::RootAllowlistCidrBlock(r.into())
76            }
77            XandTransaction::RootRemoveAllowlistCidrBlock(r) => {
78                any_transaction::Operation::RootRemoveAllowlistCidrBlock(r.into())
79            }
80            XandTransaction::SetPendingCreateRequestExpire(p) => {
81                any_transaction::Operation::SetPendingCreateRequestExpire(p.into())
82            }
83            XandTransaction::SubmitProposal(p) => {
84                any_transaction::Operation::SubmitProposal(p.into())
85            }
86            XandTransaction::VoteProposal(v) => any_transaction::Operation::VoteProposal(v.into()),
87            XandTransaction::RuntimeUpgrade(r) => {
88                any_transaction::Operation::RuntimeUpgrade(r.try_into().expect("A RuntimeUpgrade.xand_hash should never error while being serialized into bytes"))
89            }
90            XandTransaction::WithdrawFromNetwork(w) => {
91                any_transaction::Operation::WithdrawFromNetwork(w.into())
92            }
93        }
94    }
95}
96
97impl TryFrom<any_transaction::Operation> for XandTransaction {
98    type Error = XandApiProtoErrs;
99    fn try_from(txn: any_transaction::Operation) -> Result<Self, Self::Error> {
100        Ok(match txn {
101            any_transaction::Operation::RegisterSessionKeys(r) => {
102                XandTransaction::RegisterSessionKeys(r.try_into()?)
103            }
104            any_transaction::Operation::Send(t) => XandTransaction::Send(t.try_into()?),
105            any_transaction::Operation::CreateRequest(c) => {
106                XandTransaction::CreateRequest(c.try_into()?)
107            }
108            any_transaction::Operation::RedeemRequest(r) => {
109                XandTransaction::RedeemRequest(r.try_into()?)
110            }
111            any_transaction::Operation::CashConfirmation(m) => {
112                XandTransaction::CashConfirmation(m.try_into()?)
113            }
114            any_transaction::Operation::RedeemFulfillment(s) => {
115                XandTransaction::RedeemFulfillment(s.try_into()?)
116            }
117            any_transaction::Operation::CreateCancellation(c) => {
118                XandTransaction::CreateCancellation(c.try_into()?)
119            }
120            any_transaction::Operation::RedeemCancellation(c) => {
121                XandTransaction::RedeemCancellation(c.try_into()?)
122            }
123            any_transaction::Operation::AllowlistCidrBlock(w) => {
124                XandTransaction::AllowlistCidrBlock(w.try_into()?)
125            }
126            any_transaction::Operation::RemoveCidrBlock(w) => {
127                XandTransaction::RemoveAllowlistCidrBlock(w.try_into()?)
128            }
129            any_transaction::Operation::RegisterAccountAsMember(r) => {
130                XandTransaction::RegisterMember(r.try_into()?)
131            }
132            any_transaction::Operation::RemoveMember(r) => {
133                XandTransaction::RemoveMember(r.try_into()?)
134            }
135            any_transaction::Operation::ExitMember(r) => XandTransaction::ExitMember(r.try_into()?),
136            any_transaction::Operation::SetTrust(t) => XandTransaction::SetTrust(t.try_into()?),
137            any_transaction::Operation::SetLimitedAgent(a) => {
138                XandTransaction::SetLimitedAgent(a.try_into()?)
139            }
140            any_transaction::Operation::SetValidatorEmissionRate(a) => {
141                XandTransaction::SetValidatorEmissionRate(a.into())
142            }
143            any_transaction::Operation::SetMemberEncryptionKey(k) => {
144                XandTransaction::SetMemberEncryptionKey(k.try_into()?)
145            }
146            any_transaction::Operation::SetTrustEncryptionKey(k) => {
147                XandTransaction::SetTrustEncryptionKey(k.try_into()?)
148            }
149            any_transaction::Operation::AddAuthorityKey(a) => {
150                XandTransaction::AddAuthorityKey(a.try_into()?)
151            }
152            any_transaction::Operation::RemoveAuthorityKey(a) => {
153                XandTransaction::RemoveAuthorityKey(a.try_into()?)
154            }
155            any_transaction::Operation::RootAllowlistCidrBlock(r) => {
156                XandTransaction::RootAllowlistCidrBlock(r.try_into()?)
157            }
158            any_transaction::Operation::RootRemoveAllowlistCidrBlock(r) => {
159                XandTransaction::RootRemoveAllowlistCidrBlock(r.try_into()?)
160            }
161            any_transaction::Operation::SetPendingCreateRequestExpire(p) => {
162                XandTransaction::SetPendingCreateRequestExpire(p.into())
163            }
164            any_transaction::Operation::SubmitProposal(p) => {
165                XandTransaction::SubmitProposal(p.try_into()?)
166            }
167            any_transaction::Operation::VoteProposal(v) => XandTransaction::VoteProposal(v.into()),
168            any_transaction::Operation::RuntimeUpgrade(r) => {
169                XandTransaction::RuntimeUpgrade(r.try_into()?)
170            }
171            any_transaction::Operation::WithdrawFromNetwork(w) => {
172                XandTransaction::WithdrawFromNetwork(w.into())
173            }
174        })
175    }
176}