blockfrost_openapi/models/
script.rs1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct Script {
6 #[serde(rename = "script_hash")]
8 pub script_hash: String,
9 #[serde(rename = "type")]
11 pub r#type: Type,
12 #[serde(rename = "serialised_size", deserialize_with = "Option::deserialize")]
14 pub serialised_size: Option<i32>,
15}
16
17impl Script {
18 pub fn new(script_hash: String, r#type: Type, serialised_size: Option<i32>) -> Script {
19 Script {
20 script_hash,
21 r#type,
22 serialised_size,
23 }
24 }
25}
26#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
28pub enum Type {
29 #[serde(rename = "timelock")]
30 Timelock,
31 #[serde(rename = "plutusV1")]
32 PlutusV1,
33 #[serde(rename = "plutusV2")]
34 PlutusV2,
35 #[serde(rename = "plutusV3")]
36 PlutusV3,
37}
38
39impl Default for Type {
40 fn default() -> Type {
41 Self::Timelock
42 }
43}
44