whisky_common/models/tx_builder_types/
script.rs1use serde::{Deserialize, Serialize};
2
3use super::RefTxIn;
4
5#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub enum SimpleScriptSource {
8 ProvidedSimpleScriptSource(ProvidedSimpleScriptSource),
9 InlineSimpleScriptSource(InlineSimpleScriptSource),
10}
11
12#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
13#[serde(rename_all = "camelCase")]
14pub struct ProvidedSimpleScriptSource {
15 pub script_cbor: String,
16}
17
18#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
19#[serde(rename_all = "camelCase")]
20pub struct InlineSimpleScriptSource {
21 pub ref_tx_in: RefTxIn,
22 pub simple_script_hash: String,
23 pub script_size: usize,
24}
25
26#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
27#[serde(rename_all = "camelCase")]
28pub enum ScriptSource {
29 ProvidedScriptSource(ProvidedScriptSource),
30 InlineScriptSource(InlineScriptSource),
31}
32
33#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
34#[serde(rename_all = "camelCase")]
35pub struct ProvidedScriptSource {
36 pub script_cbor: String,
37 pub language_version: LanguageVersion,
38}
39
40#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct InlineScriptSource {
43 pub ref_tx_in: RefTxIn,
44 pub script_hash: String,
45 pub language_version: LanguageVersion,
46 pub script_size: usize,
47}
48
49#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
50#[serde(rename_all = "camelCase")]
51pub enum LanguageVersion {
52 V1,
53 V2,
54 V3,
55}
56
57#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
58#[serde(rename_all = "camelCase")]
59pub enum DatumSource {
60 ProvidedDatumSource(ProvidedDatumSource),
61 InlineDatumSource(InlineDatumSource),
62}
63
64#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
65#[serde(rename_all = "camelCase")]
66pub struct ProvidedDatumSource {
67 pub data: String,
68}
69
70#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
71#[serde(rename_all = "camelCase")]
72pub struct InlineDatumSource {
73 pub tx_hash: String,
74 pub tx_index: u32,
75}
76
77