xand_api_proto/xand_models_adapters/
mod.rs1mod 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}