stellar_xdr/next/
account_conversions.rs1use super::{AccountId, MuxedAccount, PublicKey};
2
3impl From<AccountId> for MuxedAccount {
4 fn from(account_id: AccountId) -> Self {
5 account_id.0.into()
6 }
7}
8
9impl From<PublicKey> for MuxedAccount {
10 fn from(public_key: PublicKey) -> Self {
11 match public_key {
12 PublicKey::PublicKeyTypeEd25519(k) => MuxedAccount::Ed25519(k),
13 }
14 }
15}
16
17impl MuxedAccount {
18 #[must_use]
19 pub fn account_id(self) -> AccountId {
20 match self {
21 MuxedAccount::Ed25519(k) => AccountId(PublicKey::PublicKeyTypeEd25519(k)),
22 MuxedAccount::MuxedEd25519(m) => AccountId(PublicKey::PublicKeyTypeEd25519(m.ed25519)),
23 }
24 }
25}