From e1b971394a394bde13fb601ad3f6d4ad343b02f0 Mon Sep 17 00:00:00 2001 From: "Joaquin Hoyos (Clark)" Date: Sun, 1 Sep 2024 13:56:30 +0200 Subject: [PATCH] fix: add plutus v2 witnesses missing in babbage txs (#813) --- src/mapper/babbage.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/mapper/babbage.rs b/src/mapper/babbage.rs index 994e3ad1..a6c979d6 100644 --- a/src/mapper/babbage.rs +++ b/src/mapper/babbage.rs @@ -104,10 +104,26 @@ impl EventWriter { .collect_native_witness_records(&witnesses.native_script)? .into(); - record.plutus_witnesses = self - .collect_plutus_v1_witness_records(&witnesses.plutus_v1_script)? - .into(); + let mut all_plutus = vec![]; + + let plutus_v1: Vec<_> = witnesses + .plutus_v1_script + .iter() + .flatten() + .map(|i| self.to_plutus_v1_witness_record(i)) + .collect::>()?; + + all_plutus.extend(plutus_v1); + + let plutus_v2: Vec<_> = witnesses + .plutus_v2_script + .iter() + .flatten() + .map(|i| self.to_plutus_v2_witness_record(i)) + .collect::>()?; + all_plutus.extend(plutus_v2); + record.plutus_witnesses = Some(all_plutus); record.plutus_redeemers = self .collect_plutus_redeemer_records(&witnesses.redeemer)? .into();