use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TransactionPayloadScriptPayload {
#[serde(rename = "code")]
pub code: Box<models::MoveScriptBytecode>,
#[serde(rename = "type_arguments")]
pub type_arguments: Vec<String>,
#[serde(rename = "arguments")]
pub arguments: Vec<serde_json::Value>,
#[serde(rename = "type")]
pub r#type: Type,
}
impl TransactionPayloadScriptPayload {
pub fn new(code: models::MoveScriptBytecode, type_arguments: Vec<String>, arguments: Vec<serde_json::Value>, r#type: Type) -> TransactionPayloadScriptPayload {
TransactionPayloadScriptPayload {
code: Box::new(code),
type_arguments,
arguments,
r#type,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "script_payload")]
ScriptPayload,
}
impl Default for Type {
fn default() -> Type {
Self::ScriptPayload
}
}