whisky_provider/maestro/models/
utxo.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6pub enum ScriptVersion {
7 #[serde(rename = "native")]
8 Native,
9 #[serde(rename = "plutusv1")]
10 Plutusv1,
11 #[serde(rename = "plutusv2")]
12 Plutusv2,
13 #[serde(rename = "plutusv3")]
14 Plutusv3,
15}
16
17#[derive(Deserialize, Debug, Clone)]
18pub struct Asset {
19 pub amount: i64,
20 pub unit: String,
21}
22#[derive(Deserialize, Debug, Clone)]
23pub struct Utxo {
24 pub address: String,
25 pub assets: Vec<Asset>,
26 pub datum: Option<HashMap<String, serde_json::Value>>,
27 pub index: i64,
28 pub reference_script: Option<ReferenceScript>,
29 pub tx_hash: String,
30 #[serde(alias = "txout_cbor")]
31 pub tx_out_cbor: Option<String>,
32}
33
34#[derive(Deserialize, Debug, Clone)]
35pub struct ReferenceScript {
36 pub bytes: String,
37 pub hash: String,
38 pub json: Option<HashMap<String, serde_json::Value>>,
39 pub r#type: ScriptVersion,
40}