use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum TransactionSignature {
#[serde(rename="ed25519_signature")]
Ed25519Signature(Box<models::TransactionSignatureEd25519Signature>),
#[serde(rename="multi_ed25519_signature")]
MultiEd25519Signature(Box<models::TransactionSignatureMultiEd25519Signature>),
#[serde(rename="multi_agent_signature")]
MultiAgentSignature(Box<models::TransactionSignatureMultiAgentSignature>),
#[serde(rename="fee_payer_signature")]
FeePayerSignature(Box<models::TransactionSignatureFeePayerSignature>),
#[serde(rename="single_sender")]
SingleSender(Box<models::TransactionSignatureAccountSignature>),
}
impl Default for TransactionSignature {
fn default() -> Self {
Self::Ed25519Signature(Default::default())
}
}