use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScriptRedeemersInner {
#[serde(rename = "tx_hash")]
pub tx_hash: String,
#[serde(rename = "tx_index")]
pub tx_index: i32,
#[serde(rename = "purpose")]
pub purpose: Purpose,
#[serde(rename = "redeemer_data_hash")]
pub redeemer_data_hash: String,
#[serde(rename = "datum_hash")]
pub datum_hash: String,
#[serde(rename = "unit_mem")]
pub unit_mem: String,
#[serde(rename = "unit_steps")]
pub unit_steps: String,
#[serde(rename = "fee")]
pub fee: String,
}
impl ScriptRedeemersInner {
pub fn new(tx_hash: String, tx_index: i32, purpose: Purpose, redeemer_data_hash: String, datum_hash: String, unit_mem: String, unit_steps: String, fee: String) -> ScriptRedeemersInner {
ScriptRedeemersInner {
tx_hash,
tx_index,
purpose,
redeemer_data_hash,
datum_hash,
unit_mem,
unit_steps,
fee,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Purpose {
#[serde(rename = "spend")]
Spend,
#[serde(rename = "mint")]
Mint,
#[serde(rename = "cert")]
Cert,
#[serde(rename = "reward")]
Reward,
}
impl Default for Purpose {
fn default() -> Purpose {
Self::Spend
}
}