Skip to main content

blockfrost_openapi/models/
tx_content_redeemers_inner.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct TxContentRedeemersInner {
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    /// Script hash
13    #[serde(rename = "script_hash")]
14    pub script_hash: String,
15    /// Redeemer data hash
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 TxContentRedeemersInner {
33    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 {
34        TxContentRedeemersInner {
35            tx_index,
36            purpose,
37            script_hash,
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