whisky_common/data/
aliases.rs

1use crate::{
2    data::{ByteString, Constr0, Int},
3    impl_constr_type,
4};
5use serde_json::Value;
6
7use super::{
8    constr0,
9    primitives::{byte_string, integer},
10};
11
12pub fn currency_symbol(policy_id: &str) -> Value {
13    byte_string(policy_id)
14}
15
16pub fn token_name(token_name: &str) -> Value {
17    byte_string(token_name)
18}
19
20pub fn asset_class(policy_id: &str, asset_name: &str) -> Value {
21    constr0(vec![currency_symbol(policy_id), token_name(asset_name)])
22}
23
24pub fn tx_out_ref(tx_hash: &str, index: i128) -> Value {
25    constr0(vec![constr0(vec![byte_string(tx_hash)]), integer(index)])
26}
27
28pub fn output_reference(tx_hash: &str, index: i128) -> Value {
29    constr0(vec![byte_string(tx_hash), integer(index)])
30}
31
32// Type alias
33pub type OutputReference = Constr0<Box<(ByteString, Int)>>;
34impl_constr_type!(OutputReference, 0, [(tx_hash: ByteString, &str), (index: Int, i128)]);