stellar-xdr 26.0.0

Stellar XDR types, encoding, and decoding.
Documentation
use super::{
    FeeBumpTransaction, FeeBumpTransactionEnvelope, MuxedAccount, Preconditions, TimeBounds,
    Transaction, TransactionEnvelope, TransactionExt, TransactionV0, TransactionV0Ext,
    TransactionV1Envelope, Uint256, VecM,
};

impl From<Transaction> for TransactionEnvelope {
    fn from(tx: Transaction) -> Self {
        TransactionEnvelope::Tx(TransactionV1Envelope {
            tx,
            signatures: VecM::default(),
        })
    }
}

impl From<FeeBumpTransaction> for TransactionEnvelope {
    fn from(tx: FeeBumpTransaction) -> Self {
        TransactionEnvelope::TxFeeBump(FeeBumpTransactionEnvelope {
            tx,
            signatures: VecM::default(),
        })
    }
}

impl From<Uint256> for MuxedAccount {
    fn from(ed25519: Uint256) -> Self {
        MuxedAccount::Ed25519(ed25519)
    }
}

impl From<TransactionV0Ext> for TransactionExt {
    fn from(ext: TransactionV0Ext) -> Self {
        match ext {
            TransactionV0Ext::V0 => TransactionExt::V0,
        }
    }
}

impl From<Option<TimeBounds>> for Preconditions {
    fn from(maybe_timebounds: Option<TimeBounds>) -> Self {
        match maybe_timebounds {
            None => Preconditions::None,
            Some(timebounds) => Preconditions::Time(timebounds),
        }
    }
}

impl From<TransactionV0> for Transaction {
    fn from(tx: TransactionV0) -> Self {
        Transaction {
            source_account: tx.source_account_ed25519.into(),
            cond: tx.time_bounds.into(),
            ext: tx.ext.into(),
            fee: tx.fee,
            memo: tx.memo,
            operations: tx.operations,
            seq_num: tx.seq_num,
        }
    }
}

impl From<&FeeBumpTransaction> for TransactionEnvelope {
    fn from(tx: &FeeBumpTransaction) -> Self {
        tx.clone().into()
    }
}

impl From<&Transaction> for TransactionEnvelope {
    fn from(tx: &Transaction) -> Self {
        tx.clone().into()
    }
}

impl From<&Uint256> for MuxedAccount {
    fn from(ed25519: &Uint256) -> Self {
        ed25519.clone().into()
    }
}

impl From<&TransactionV0Ext> for TransactionExt {
    fn from(ext: &TransactionV0Ext) -> Self {
        ext.clone().into()
    }
}

impl From<&Option<TimeBounds>> for Preconditions {
    fn from(maybe_timebounds: &Option<TimeBounds>) -> Self {
        maybe_timebounds.clone().into()
    }
}

impl From<&TransactionV0> for Transaction {
    fn from(tx: &TransactionV0) -> Self {
        tx.clone().into()
    }
}