plutus_ledger_api/goldens/
v2.rs1use num_bigint::BigInt;
4
5pub use super::v1::{
6 sample_address, sample_asset_class, sample_chain_pointer, sample_credential,
7 sample_currency_symbol, sample_datum, sample_datum_hash, sample_dcert,
8 sample_ed25519_pub_key_hash, sample_payment_pub_key_hash, sample_plutus_data,
9 sample_plutus_interval, sample_redeemer, sample_redeemer_hash, sample_script_hash,
10 sample_script_purpose, sample_staking_credential, sample_token_name, sample_transaction_hash,
11 sample_transaction_input, sample_value,
12};
13use crate::v2::{
14 assoc_map::AssocMap,
15 crypto::LedgerBytes,
16 datum::OutputDatum,
17 script::ScriptHash,
18 transaction::{ScriptContext, TransactionInfo, TransactionOutput, TxInInfo},
19};
20
21pub fn sample_output_datum() -> OutputDatum {
22 OutputDatum::InlineDatum(super::v1::sample_datum())
23}
24
25pub fn sample_transaction_output() -> TransactionOutput {
26 TransactionOutput {
27 address: super::v1::sample_address(),
28 value: super::v1::sample_value(),
29 datum: sample_output_datum(),
30 reference_script: Some(ScriptHash(LedgerBytes([0].repeat(28).to_vec()))),
31 }
32}
33
34pub fn sample_tx_in_info() -> TxInInfo {
35 TxInInfo {
36 reference: super::v1::sample_transaction_input(),
37 output: sample_transaction_output(),
38 }
39}
40
41pub fn sample_transaction_info() -> TransactionInfo {
42 TransactionInfo {
43 inputs: vec![sample_tx_in_info()],
44 outputs: vec![sample_transaction_output()],
45 fee: super::v1::sample_value(),
46 mint: super::v1::sample_value(),
47 d_cert: vec![super::v1::sample_dcert()],
48 wdrl: AssocMap::from([(super::v1::sample_staking_credential(), BigInt::from(12))]),
49 valid_range: super::v1::sample_plutus_interval(),
50 signatories: vec![super::v1::sample_payment_pub_key_hash()],
51 datums: AssocMap::from([(super::v1::sample_datum_hash(), super::v1::sample_datum())]),
52 redeemers: AssocMap::from([(
53 super::v1::sample_script_purpose(),
54 super::v1::sample_redeemer(),
55 )]),
56 id: super::v1::sample_transaction_hash(),
57 reference_inputs: vec![sample_tx_in_info()],
58 }
59}
60
61pub fn sample_script_context() -> ScriptContext {
62 ScriptContext {
63 tx_info: sample_transaction_info(),
64 purpose: super::v1::sample_script_purpose(),
65 }
66}