stellar_xdr/curr/
account_conversions.rs

1use 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}