refactor: support roundtrip encoding for script data hash components (#526)

This commit is contained in:
Santiago Carmuega 2024-10-22 10:09:37 -03:00 committed by GitHub
parent 6b667c78a3
commit 3b5dcef195
9 changed files with 84 additions and 119 deletions

View file

@ -27,6 +27,8 @@ use std::borrow::Cow;
#[cfg(test)]
mod alonzo_tests {
use pallas_primitives::MaybeIndefArray;
use super::*;
#[test]
@ -2046,7 +2048,7 @@ mod alonzo_tests {
);
let mut tx_wits: MintedWitnessSet = mtx.transaction_witness_set.unwrap().clone();
let old_datum: KeepRaw<PlutusData> = tx_wits.plutus_data.unwrap().pop().unwrap();
let new_datum: PlutusData = PlutusData::Array(Vec::new());
let new_datum: PlutusData = PlutusData::Array(MaybeIndefArray::Def(Vec::new()));
let mut new_datum_buf: Vec<u8> = Vec::new();
let _ = encode(new_datum, &mut new_datum_buf);
let keep_raw_new_datum: KeepRaw<PlutusData> =
@ -2171,7 +2173,7 @@ mod alonzo_tests {
let new_redeemer: Redeemer = Redeemer {
tag: RedeemerTag::Spend,
index: 15,
data: PlutusData::Array(Vec::new()),
data: PlutusData::Array(MaybeIndefArray::Def(Vec::new())),
ex_units: ExUnits { mem: 0, steps: 0 },
};
tx_wits.redeemer = Some(vec![old_redeemer, new_redeemer]);

View file

@ -29,6 +29,8 @@ use std::borrow::Cow;
#[cfg(test)]
mod babbage_tests {
use pallas_primitives::MaybeIndefArray;
use super::*;
#[test]
@ -2150,7 +2152,7 @@ mod babbage_tests {
add_collateral_babbage(&mtx.transaction_body, &mut utxos, collateral_info);
let mut tx_wits: MintedWitnessSet = mtx.transaction_witness_set.unwrap().clone();
let old_datum: KeepRaw<PlutusData> = tx_wits.plutus_data.unwrap().pop().unwrap();
let new_datum: PlutusData = PlutusData::Array(Vec::new());
let new_datum: PlutusData = PlutusData::Array(MaybeIndefArray::Def(Vec::new()));
let mut new_datum_buf: Vec<u8> = Vec::new();
let _ = encode(new_datum, &mut new_datum_buf);
let keep_raw_new_datum: KeepRaw<PlutusData> =
@ -2245,7 +2247,7 @@ mod babbage_tests {
let new_redeemer: Redeemer = Redeemer {
tag: RedeemerTag::Spend,
index: 15,
data: PlutusData::Array(Vec::new()),
data: PlutusData::Array(MaybeIndefArray::Def(Vec::new())),
ex_units: ExUnits { mem: 0, steps: 0 },
};
tx_wits.redeemer = Some(vec![old_redeemer, new_redeemer]);