use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum TransactionPayload {
#[serde(rename = "entry_function_payload")]
EntryFunctionPayload(Box<models::TransactionPayloadEntryFunctionPayload>),
#[serde(rename = "script_payload")]
ScriptPayload(Box<models::TransactionPayloadScriptPayload>),
#[serde(rename = "module_bundle_payload")]
ModuleBundlePayload(Box<models::TransactionPayloadDeprecatedModuleBundlePayload>),
#[serde(rename = "multisig_payload")]
MultisigPayload(Box<models::TransactionPayloadMultisigPayload>),
}
impl Default for TransactionPayload {
fn default() -> Self {
Self::EntryFunctionPayload(Default::default())
}
}