Skip to main content

blockfrost_openapi/models/
mempool_tx_content_redeemers_inner.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct MempoolTxContentRedeemersInner {
6    /// Index of the redeemer within the transaction
7    #[serde(rename = "tx_index")]
8    pub tx_index: i32,
9    /// Validation purpose
10    #[serde(rename = "purpose")]
11    pub purpose: Purpose,
12    /// The budget in Memory to run a script
13    #[serde(rename = "unit_mem")]
14    pub unit_mem: String,
15    /// The budget in CPU steps to run a script
16    #[serde(rename = "unit_steps")]
17    pub unit_steps: String,
18}
19
20impl MempoolTxContentRedeemersInner {
21    pub fn new(tx_index: i32, purpose: Purpose, unit_mem: String, unit_steps: String) -> MempoolTxContentRedeemersInner {
22        MempoolTxContentRedeemersInner {
23            tx_index,
24            purpose,
25            unit_mem,
26            unit_steps,
27        }
28    }
29}
30/// Validation purpose
31#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
32pub enum Purpose {
33    #[serde(rename = "spend")]
34    Spend,
35    #[serde(rename = "mint")]
36    Mint,
37    #[serde(rename = "cert")]
38    Cert,
39    #[serde(rename = "reward")]
40    Reward,
41}
42
43impl Default for Purpose {
44    fn default() -> Purpose {
45        Self::Spend
46    }
47}
48