Skip to main content

blockfrost_openapi/models/
script_redeemers_inner.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct ScriptRedeemersInner {
6    /// Hash of the transaction
7    #[serde(rename = "tx_hash")]
8    pub tx_hash: String,
9    /// The index of the redeemer pointer in the transaction
10    #[serde(rename = "tx_index")]
11    pub tx_index: i32,
12    /// Validation purpose
13    #[serde(rename = "purpose")]
14    pub purpose: Purpose,
15    /// Datum hash of the redeemer
16    #[serde(rename = "redeemer_data_hash")]
17    pub redeemer_data_hash: String,
18    /// Datum hash
19    #[serde(rename = "datum_hash")]
20    pub datum_hash: String,
21    /// The budget in Memory to run a script
22    #[serde(rename = "unit_mem")]
23    pub unit_mem: String,
24    /// The budget in CPU steps to run a script
25    #[serde(rename = "unit_steps")]
26    pub unit_steps: String,
27    /// The fee consumed to run the script
28    #[serde(rename = "fee")]
29    pub fee: String,
30}
31
32impl ScriptRedeemersInner {
33    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 {
34        ScriptRedeemersInner {
35            tx_hash,
36            tx_index,
37            purpose,
38            redeemer_data_hash,
39            datum_hash,
40            unit_mem,
41            unit_steps,
42            fee,
43        }
44    }
45}
46/// Validation purpose
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
48pub enum Purpose {
49    #[serde(rename = "spend")]
50    Spend,
51    #[serde(rename = "mint")]
52    Mint,
53    #[serde(rename = "cert")]
54    Cert,
55    #[serde(rename = "reward")]
56    Reward,
57}
58
59impl Default for Purpose {
60    fn default() -> Purpose {
61        Self::Spend
62    }
63}
64