diff --git a/src/mapper/babbage.rs b/src/mapper/babbage.rs index 3da6b3d4..b8dc3c8e 100644 --- a/src/mapper/babbage.rs +++ b/src/mapper/babbage.rs @@ -8,6 +8,8 @@ use pallas::ledger::primitives::babbage::{ use pallas::crypto::hash::Hash; +use std::ops::Deref; + use crate::model::{BlockRecord, Era, TransactionRecord}; use crate::utils::time::TimeProvider; use crate::{ @@ -142,6 +144,7 @@ impl EventWriter { false => None, }, transactions: None, + invalid_transactions: self.collect_invalid_tx_indices(source) }; if self.config.include_block_details { @@ -151,6 +154,13 @@ impl EventWriter { Ok(record) } + pub fn collect_invalid_tx_indices( + &self, + block: &MintedBlock, + ) -> Option> { + block.invalid_transactions.as_ref().map(|im| im.deref().to_vec()) + } + pub fn collect_babbage_tx_records( &self, block: &MintedBlock, diff --git a/src/mapper/byron.rs b/src/mapper/byron.rs index c83d877b..35f34b00 100644 --- a/src/mapper/byron.rs +++ b/src/mapper/byron.rs @@ -175,6 +175,7 @@ impl EventWriter { false => None, }, transactions: None, + invalid_transactions: None }; if self.config.include_block_details { @@ -235,6 +236,7 @@ impl EventWriter { false => None, }, transactions: None, + invalid_transactions: None }) } diff --git a/src/mapper/map.rs b/src/mapper/map.rs index 378e7448..2e37ce75 100644 --- a/src/mapper/map.rs +++ b/src/mapper/map.rs @@ -495,6 +495,7 @@ impl EventWriter { false => None, }, transactions: None, + invalid_transactions: None }; if self.config.include_block_details { diff --git a/src/model.rs b/src/model.rs index ede19ba6..c4c3de88 100644 --- a/src/model.rs +++ b/src/model.rs @@ -275,6 +275,7 @@ pub struct BlockRecord { pub previous_hash: String, pub cbor_hex: Option, pub transactions: Option>, + pub invalid_transactions: Option> } impl From for EventData {