use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TxContentRedeemersInner {
#[serde(rename = "tx_index")]
pub tx_index: i32,
#[serde(rename = "purpose")]
pub purpose: Purpose,
#[serde(rename = "script_hash")]
pub script_hash: String,
#[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 TxContentRedeemersInner {
pub fn new(tx_index: i32, purpose: Purpose, script_hash: String, redeemer_data_hash: String, datum_hash: String, unit_mem: String, unit_steps: String, fee: String) -> TxContentRedeemersInner {
TxContentRedeemersInner {
tx_index,
purpose,
script_hash,
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
}
}