feat(traverse): track original era for tx outputs (#447)
This commit is contained in:
parent
33fcec215d
commit
0b82bb702a
6 changed files with 35 additions and 24 deletions
|
|
@ -284,7 +284,7 @@ fn check_collaterals_assets(
|
|||
fn val_from_multi_era_output(multi_era_output: &MultiEraOutput) -> Value {
|
||||
match multi_era_output {
|
||||
MultiEraOutput::Byron(output) => Value::Coin(output.amount),
|
||||
MultiEraOutput::AlonzoCompatible(output) => output.amount.clone(),
|
||||
MultiEraOutput::AlonzoCompatible(output, _) => output.amount.clone(),
|
||||
babbage_output => match babbage_output.as_babbage() {
|
||||
Some(PseudoTransactionOutput::Legacy(output)) => output.amount.clone(),
|
||||
Some(PseudoTransactionOutput::PostAlonzo(output)) => output.value.clone(),
|
||||
|
|
|
|||
|
|
@ -686,12 +686,14 @@ mod alonzo_tests {
|
|||
.unwrap();
|
||||
let multi_era_in: MultiEraInput =
|
||||
MultiEraInput::AlonzoCompatible(Box::new(Cow::Owned(tx_in.clone())));
|
||||
let multi_era_out: MultiEraOutput =
|
||||
MultiEraOutput::AlonzoCompatible(Box::new(Cow::Owned(TransactionOutput {
|
||||
let multi_era_out: MultiEraOutput = MultiEraOutput::AlonzoCompatible(
|
||||
Box::new(Cow::Owned(TransactionOutput {
|
||||
address: Bytes::try_from(altered_address.to_hex()).unwrap(),
|
||||
amount: Value::Coin(5000000),
|
||||
datum_hash: None,
|
||||
})));
|
||||
})),
|
||||
Era::Alonzo,
|
||||
);
|
||||
utxos.insert(multi_era_in, multi_era_out);
|
||||
let metx: MultiEraTx = MultiEraTx::from_alonzo_compatible(&mtx, Era::Alonzo);
|
||||
let env: Environment = Environment {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ use pallas_primitives::{
|
|||
},
|
||||
byron::{Address, MintedTxPayload, Tx, TxOut},
|
||||
};
|
||||
use pallas_traverse::{MultiEraInput, MultiEraOutput};
|
||||
use pallas_traverse::{Era, MultiEraInput, MultiEraOutput};
|
||||
use std::{borrow::Cow, iter::zip, vec::Vec};
|
||||
|
||||
use pallas_codec::utils::{Bytes, CborWrap};
|
||||
|
|
@ -74,7 +74,7 @@ pub fn mk_utxo_for_alonzo_compatible_tx<'a>(
|
|||
datum_hash: *datum_hash,
|
||||
};
|
||||
let multi_era_out: MultiEraOutput =
|
||||
MultiEraOutput::AlonzoCompatible(Box::new(Cow::Owned(tx_out)));
|
||||
MultiEraOutput::AlonzoCompatible(Box::new(Cow::Owned(tx_out)), Era::Alonzo);
|
||||
utxos.insert(multi_era_in, multi_era_out);
|
||||
}
|
||||
utxos
|
||||
|
|
@ -134,7 +134,7 @@ pub fn add_collateral_alonzo<'a>(
|
|||
let multi_era_in: MultiEraInput =
|
||||
MultiEraInput::AlonzoCompatible(Box::new(Cow::Owned(tx_in.clone())));
|
||||
let multi_era_out: MultiEraOutput =
|
||||
MultiEraOutput::AlonzoCompatible(Box::new(Cow::Owned(tx_out)));
|
||||
MultiEraOutput::AlonzoCompatible(Box::new(Cow::Owned(tx_out)), Era::Alonzo);
|
||||
utxos.insert(multi_era_in, multi_era_out);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue