From 70fe1231730640fde14f9235d4b0e554ad919bc4 Mon Sep 17 00:00:00 2001 From: Fraser Hutchison Date: Fri, 10 May 2024 17:57:07 +0100 Subject: [PATCH] added compression info and entry count to output --- .../astria-sequencer-utils/src/blob_parser.rs | 56 +++++++++++++++++-- .../expected_brief_output.json | 2 +- .../expected_brief_output.txt | 4 ++ .../expected_verbose_output.json | 2 +- .../expected_verbose_output.txt | 4 ++ .../expected_brief_output.json | 2 +- .../expected_brief_output.txt | 4 ++ .../expected_verbose_output.json | 2 +- .../expected_verbose_output.txt | 4 ++ .../expected_brief_output.json | 2 +- .../expected_brief_output.txt | 4 ++ .../expected_verbose_output.json | 2 +- .../expected_verbose_output.txt | 4 ++ .../expected_brief_output.json | 2 +- .../expected_brief_output.txt | 4 ++ .../expected_verbose_output.json | 2 +- .../expected_verbose_output.txt | 4 ++ 17 files changed, 92 insertions(+), 12 deletions(-) diff --git a/crates/astria-sequencer-utils/src/blob_parser.rs b/crates/astria-sequencer-utils/src/blob_parser.rs index 1a756113e..b4e0208a1 100644 --- a/crates/astria-sequencer-utils/src/blob_parser.rs +++ b/crates/astria-sequencer-utils/src/blob_parser.rs @@ -85,24 +85,41 @@ pub fn run( verbose, }: Args, ) -> Result<()> { - let parsed_list = parse(input, verbose)?; + let parsed_blob = parse(input, verbose)?; match format { - Format::Display => println!("\n{parsed_list}"), + Format::Display => println!("\n{parsed_blob}"), Format::Json => println!( "{}", - serde_json::to_string(&parsed_list).wrap_err("failed to json-encode")? + serde_json::to_string(&parsed_blob).wrap_err("failed to json-encode")? ), } Ok(()) } -fn parse(input: String, verbose: bool) -> Result { +fn parse(input: String, verbose: bool) -> Result { let raw = BASE64_STANDARD .decode(input) .wrap_err("failed to decode as base64")?; + #[allow(clippy::cast_precision_loss)] + let compressed_size = raw.len() as f32; let decompressed = Bytes::from(decompress_bytes(&raw).wrap_err("failed to decompress decoded bytes")?); + #[allow(clippy::cast_precision_loss)] + let decompressed_size = decompressed.len() as f32; + let compression_ratio = decompressed_size / compressed_size; + + let list = parse_list(decompressed, verbose)?; + let number_of_entries = list.len(); + Ok(ParsedBlob { + list, + number_of_entries, + compressed_size, + decompressed_size, + compression_ratio, + }) +} +fn parse_list(decompressed: Bytes, verbose: bool) -> Result { // Try to parse as a list of `SequencerBlockMetadata`. if let Some(metadata_list) = RawSubmittedMetadataList::decode(decompressed.clone()) .ok() @@ -396,6 +413,17 @@ enum ParsedList { VerboseRollup(Vec), } +impl ParsedList { + fn len(&self) -> usize { + match self { + ParsedList::BriefSequencer(list) => list.len(), + ParsedList::VerboseSequencer(list) => list.len(), + ParsedList::BriefRollup(list) => list.len(), + ParsedList::VerboseRollup(list) => list.len(), + } + } +} + impl FromIterator for ParsedList { fn from_iter>(iter: I) -> Self { Self::BriefSequencer(Vec::from_iter(iter)) @@ -455,6 +483,26 @@ impl Display for ParsedList { } } +#[derive(Serialize, Debug)] +struct ParsedBlob { + #[serde(flatten)] + list: ParsedList, + number_of_entries: usize, + compressed_size: f32, + decompressed_size: f32, + compression_ratio: f32, +} + +impl Display for ParsedBlob { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + writeln!(f, "{}", self.list)?; + writeln!(f, "number of entries: {}", self.number_of_entries)?; + writeln!(f, "compressed size: {} bytes", self.compressed_size)?; + writeln!(f, "decompressed size: {} bytes", self.decompressed_size)?; + write!(f, "compression ratio: {}", self.compression_ratio) + } +} + fn indent<'a, 'b>(f: &'a mut Formatter<'b>) -> indenter::Indented<'a, Formatter<'b>> { indented(f).with_str(" ") } diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.json index 059b2fcb5..a285e3b51 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.json @@ -1 +1 @@ -{"sequencer_metadata_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","sequencer_block_header":{"chain_id":"test","height":2,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"eQBF6ACJjaMOXRq2Cs1sXY02uXuDjDX+LeGK3A9Wrec=","data_hash":"AyodXov7fzTBhlnv0Z/oDpiaDbGPC2LiYkamDODRrzw=","proposer_address":"AQEBAQEBAQEBAQEBAQEBAQEBAQE="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="]},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","sequencer_block_header":{"chain_id":"test","height":3,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"LFAizuOdU3mlzgldRfpwIWhceH4fbPS6+8kfTZ15x84=","data_hash":"EY3VCLWPcJ0fjHstVJq9VzVyleo3G7mmLgKWKGz4iEQ=","proposer_address":"AgICAgICAgICAgICAgICAgICAgI="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="]}]} +{"sequencer_metadata_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","sequencer_block_header":{"chain_id":"test","height":2,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"eQBF6ACJjaMOXRq2Cs1sXY02uXuDjDX+LeGK3A9Wrec=","data_hash":"AyodXov7fzTBhlnv0Z/oDpiaDbGPC2LiYkamDODRrzw=","proposer_address":"AQEBAQEBAQEBAQEBAQEBAQEBAQE="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="]},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","sequencer_block_header":{"chain_id":"test","height":3,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"LFAizuOdU3mlzgldRfpwIWhceH4fbPS6+8kfTZ15x84=","data_hash":"EY3VCLWPcJ0fjHstVJq9VzVyleo3G7mmLgKWKGz4iEQ=","proposer_address":"AgICAgICAgICAgICAgICAgICAgI="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="]}],"number_of_entries":2,"compressed_size":425.0,"decompressed_size":1282.0,"compression_ratio":3.0164707} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.txt index e17f191c5..30340a037 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_brief_output.txt @@ -40,3 +40,7 @@ sequencer metadata 1: Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c= aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg= +number of entries: 2 +compressed size: 425 bytes +decompressed size: 1282 bytes +compression ratio: 3.0164707 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.json index 0e1ec8c4c..747beb4d9 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.json @@ -1 +1 @@ -{"sequencer_metadata_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","sequencer_block_header":{"chain_id":"test","height":2,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"eQBF6ACJjaMOXRq2Cs1sXY02uXuDjDX+LeGK3A9Wrec=","data_hash":"AyodXov7fzTBhlnv0Z/oDpiaDbGPC2LiYkamDODRrzw=","proposer_address":"AQEBAQEBAQEBAQEBAQEBAQEBAQE="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="],"rollup_transactions_proof":{"audit_path":"moXhfe6bE3fpL0TWVwP4D8deJBZLFUIcl8NL2y73eF3e60KFoN3B0hRE1WodiiopRhQLfAdT1Fd470+gagjg1g==","leaf_index":0,"tree_size":5},"rollup_ids_proof":{"audit_path":"WAurg0/Ciy4kkoitH+Pgx1UOtcLUz8b50fvCKp3E3Rre60KFoN3B0hRE1WodiiopRhQLfAdT1Fd470+gagjg1g==","leaf_index":1,"tree_size":5}},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","sequencer_block_header":{"chain_id":"test","height":3,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"LFAizuOdU3mlzgldRfpwIWhceH4fbPS6+8kfTZ15x84=","data_hash":"EY3VCLWPcJ0fjHstVJq9VzVyleo3G7mmLgKWKGz4iEQ=","proposer_address":"AgICAgICAgICAgICAgICAgICAgI="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="],"rollup_transactions_proof":{"audit_path":"moXhfe6bE3fpL0TWVwP4D8deJBZLFUIcl8NL2y73eF3ywbZMC1VIRulkjl3/e0+qcjB433ZW/4LdryKMvXwgSg==","leaf_index":0,"tree_size":5},"rollup_ids_proof":{"audit_path":"DWVGBgVDp/gd0nDL7fcli1DJNWZ2QmeDFiTrTXApMg7ywbZMC1VIRulkjl3/e0+qcjB433ZW/4LdryKMvXwgSg==","leaf_index":1,"tree_size":5}}]} +{"sequencer_metadata_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","sequencer_block_header":{"chain_id":"test","height":2,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"eQBF6ACJjaMOXRq2Cs1sXY02uXuDjDX+LeGK3A9Wrec=","data_hash":"AyodXov7fzTBhlnv0Z/oDpiaDbGPC2LiYkamDODRrzw=","proposer_address":"AQEBAQEBAQEBAQEBAQEBAQEBAQE="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="],"rollup_transactions_proof":{"audit_path":"moXhfe6bE3fpL0TWVwP4D8deJBZLFUIcl8NL2y73eF3e60KFoN3B0hRE1WodiiopRhQLfAdT1Fd470+gagjg1g==","leaf_index":0,"tree_size":5},"rollup_ids_proof":{"audit_path":"WAurg0/Ciy4kkoitH+Pgx1UOtcLUz8b50fvCKp3E3Rre60KFoN3B0hRE1WodiiopRhQLfAdT1Fd470+gagjg1g==","leaf_index":1,"tree_size":5}},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","sequencer_block_header":{"chain_id":"test","height":3,"time":"1970-01-01T00:00:00Z","rollup_transactions_root":"LFAizuOdU3mlzgldRfpwIWhceH4fbPS6+8kfTZ15x84=","data_hash":"EY3VCLWPcJ0fjHstVJq9VzVyleo3G7mmLgKWKGz4iEQ=","proposer_address":"AgICAgICAgICAgICAgICAgICAgI="},"rollup_ids":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=","AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=","BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=","ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY=","Z2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2c=","aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg="],"rollup_transactions_proof":{"audit_path":"moXhfe6bE3fpL0TWVwP4D8deJBZLFUIcl8NL2y73eF3ywbZMC1VIRulkjl3/e0+qcjB433ZW/4LdryKMvXwgSg==","leaf_index":0,"tree_size":5},"rollup_ids_proof":{"audit_path":"DWVGBgVDp/gd0nDL7fcli1DJNWZ2QmeDFiTrTXApMg7ywbZMC1VIRulkjl3/e0+qcjB433ZW/4LdryKMvXwgSg==","leaf_index":1,"tree_size":5}}],"number_of_entries":2,"compressed_size":425.0,"decompressed_size":1282.0,"compression_ratio":3.0164707} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.txt index 97b1e4004..3f23ff18c 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_metadata/expected_verbose_output.txt @@ -56,3 +56,7 @@ sequencer metadata 1: leaf index: 1 tree size: 5 +number of entries: 2 +compressed size: 425 bytes +decompressed size: 1282 bytes +compression ratio: 3.0164707 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.json index 782c37a0e..040ab56d1 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.json @@ -1 +1 @@ -{"rollup_data_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transaction_count":1},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transaction_count":1}]} +{"rollup_data_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transaction_count":1},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transaction_count":1}],"number_of_entries":2,"compressed_size":333.0,"decompressed_size":435.0,"compression_ratio":1.3063064} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.txt index ff49bdf24..feaeb3c37 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_brief_output.txt @@ -8,3 +8,7 @@ rollup data 1: rollup id: AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE= transaction count: 1 +number of entries: 2 +compressed size: 333 bytes +decompressed size: 435 bytes +compression ratio: 1.3063064 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.json index 4492bae1a..dcd1a5796 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.json @@ -1 +1 @@ -{"rollup_data_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transactions":["CgICAg=="],"proof":{"audit_path":"RmscMceV3kZiQ0km0RLAAI1A4LOuNWGhb5ZixV+/muEcxTDgnSFeweCDgW6rtiR0ncari8YJrhfCEcJ4tJhRGB/2bgKeHmhjRCj9x0qWztNev7f7dBRHqRnAP4EnH9H3WnkZE4YbD7y7EGP7+VIDavou28IyXsbCEQKLJGCkYZg=","leaf_index":1,"tree_size":19}},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transactions":["CgMDAwM="],"proof":{"audit_path":"fnHQ1mtcS7hAdrw9GQ4oc87iSXurQQWKLipnUpM4nTtHHVJrd4DLH4BKbcWKZ1VPRJquNajE6+Lm79aSjrgp+9t9sYogeYwby67nnMW6NGPSwhf4LMA8VsXCo4xWXgFMMhqoERklhyphEnsoMI2QtZaMdFjC6if8cI71kfFNXgQ=","leaf_index":1,"tree_size":19}}]} +{"rollup_data_list":[{"sequencer_block_hash":"ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transactions":["CgICAg=="],"proof":{"audit_path":"RmscMceV3kZiQ0km0RLAAI1A4LOuNWGhb5ZixV+/muEcxTDgnSFeweCDgW6rtiR0ncari8YJrhfCEcJ4tJhRGB/2bgKeHmhjRCj9x0qWztNev7f7dBRHqRnAP4EnH9H3WnkZE4YbD7y7EGP7+VIDavou28IyXsbCEQKLJGCkYZg=","leaf_index":1,"tree_size":19}},{"sequencer_block_hash":"ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU=","rollup_id":"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=","transactions":["CgMDAwM="],"proof":{"audit_path":"fnHQ1mtcS7hAdrw9GQ4oc87iSXurQQWKLipnUpM4nTtHHVJrd4DLH4BKbcWKZ1VPRJquNajE6+Lm79aSjrgp+9t9sYogeYwby67nnMW6NGPSwhf4LMA8VsXCo4xWXgFMMhqoERklhyphEnsoMI2QtZaMdFjC6if8cI71kfFNXgQ=","leaf_index":1,"tree_size":19}}],"number_of_entries":2,"compressed_size":333.0,"decompressed_size":435.0,"compression_ratio":1.3063064} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.txt index ce665217f..2ecc6ce01 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/batched_rollup_data/expected_verbose_output.txt @@ -18,3 +18,7 @@ rollup data 1: leaf index: 1 tree size: 19 +number of entries: 2 +compressed size: 333 bytes +decompressed size: 435 bytes +compression ratio: 1.3063064 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.json index bc254f2a0..d7fccb768 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.json @@ -1 +1 @@ -{"sequencer_metadata_list":[{"sequencer_block_hash":"HwCCO2EcW7AX0Cck/z9kl9qu9h3gnb0mpfEOGG+UWZA=","sequencer_block_header":{"chain_id":"astria-dusk-5","height":103623,"time":"2024-04-29T21:39:24.47424482Z","rollup_transactions_root":"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=","data_hash":"7P54CyIFJkHEJOCs+wvzRlhEqN7zh03qLi3wIKP1T3g=","proposer_address":"yPrVsmT31bVEaXjpauw1SeQfE1M="},"rollup_ids":[]}]} +{"sequencer_metadata_list":[{"sequencer_block_hash":"HwCCO2EcW7AX0Cck/z9kl9qu9h3gnb0mpfEOGG+UWZA=","sequencer_block_header":{"chain_id":"astria-dusk-5","height":103623,"time":"2024-04-29T21:39:24.47424482Z","rollup_transactions_root":"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=","data_hash":"7P54CyIFJkHEJOCs+wvzRlhEqN7zh03qLi3wIKP1T3g=","proposer_address":"yPrVsmT31bVEaXjpauw1SeQfE1M="},"rollup_ids":[]}],"number_of_entries":1,"compressed_size":226.0,"decompressed_size":237.0,"compression_ratio":1.0486726} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.txt index c5e7b956e..37d6cf3e9 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_brief_output.txt @@ -10,3 +10,7 @@ sequencer metadata 0: proposer address: yPrVsmT31bVEaXjpauw1SeQfE1M= rollup ids: +number of entries: 1 +compressed size: 226 bytes +decompressed size: 237 bytes +compression ratio: 1.0486726 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.json index 70ffcd28f..331a6cde3 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.json @@ -1 +1 @@ -{"sequencer_metadata_list":[{"sequencer_block_hash":"HwCCO2EcW7AX0Cck/z9kl9qu9h3gnb0mpfEOGG+UWZA=","sequencer_block_header":{"chain_id":"astria-dusk-5","height":103623,"time":"2024-04-29T21:39:24.47424482Z","rollup_transactions_root":"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=","data_hash":"7P54CyIFJkHEJOCs+wvzRlhEqN7zh03qLi3wIKP1T3g=","proposer_address":"yPrVsmT31bVEaXjpauw1SeQfE1M="},"rollup_ids":[],"rollup_transactions_proof":{"audit_path":"JsGJBReVHuey7Fl7QecbOc3c7YsgK9YBpLs4BaQ07HA=","leaf_index":0,"tree_size":3},"rollup_ids_proof":{"audit_path":"JsGJBReVHuey7Fl7QecbOc3c7YsgK9YBpLs4BaQ07HA=","leaf_index":1,"tree_size":3}}]} +{"sequencer_metadata_list":[{"sequencer_block_hash":"HwCCO2EcW7AX0Cck/z9kl9qu9h3gnb0mpfEOGG+UWZA=","sequencer_block_header":{"chain_id":"astria-dusk-5","height":103623,"time":"2024-04-29T21:39:24.47424482Z","rollup_transactions_root":"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=","data_hash":"7P54CyIFJkHEJOCs+wvzRlhEqN7zh03qLi3wIKP1T3g=","proposer_address":"yPrVsmT31bVEaXjpauw1SeQfE1M="},"rollup_ids":[],"rollup_transactions_proof":{"audit_path":"JsGJBReVHuey7Fl7QecbOc3c7YsgK9YBpLs4BaQ07HA=","leaf_index":0,"tree_size":3},"rollup_ids_proof":{"audit_path":"JsGJBReVHuey7Fl7QecbOc3c7YsgK9YBpLs4BaQ07HA=","leaf_index":1,"tree_size":3}}],"number_of_entries":1,"compressed_size":226.0,"decompressed_size":237.0,"compression_ratio":1.0486726} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.txt index 923ec4250..cac002059 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_metadata/expected_verbose_output.txt @@ -18,3 +18,7 @@ sequencer metadata 0: leaf index: 1 tree size: 3 +number of entries: 1 +compressed size: 226 bytes +decompressed size: 237 bytes +compression ratio: 1.0486726 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.json index 52eef6881..6c43e7f5a 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.json @@ -1 +1 @@ -{"rollup_data_list":[{"sequencer_block_hash":"Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2M=","rollup_id":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","transaction_count":1}]} +{"rollup_data_list":[{"sequencer_block_hash":"Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2M=","rollup_id":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","transaction_count":1}],"number_of_entries":1,"compressed_size":172.0,"decompressed_size":211.0,"compression_ratio":1.2267442} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.txt index 933f3591f..3e81269fb 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_brief_output.txt @@ -4,3 +4,7 @@ rollup data 0: rollup id: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= transaction count: 1 +number of entries: 1 +compressed size: 172 bytes +decompressed size: 211 bytes +compression ratio: 1.2267442 diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.json b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.json index f121fb6e2..f7a608821 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.json +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.json @@ -1 +1 @@ -{"rollup_data_list":[{"sequencer_block_hash":"Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2M=","rollup_id":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","transactions":["CgEB"],"proof":{"audit_path":"MNlZ2hLiZd70dUCLZo/iiZDbKE0DJb7iZ5NPUxTNbNt5fK7sp/9p267ADmDS86KtdasicQtPuLgp9swLgYFiny012CwZFMloQHQ9b68pC9PSiZjlYvcN04ar7rU7r5yw93fxRRyRBsaIaEHDdKuIUhESjEaDCrhCnNbMsDrgQmg=","leaf_index":0,"tree_size":19}}]} +{"rollup_data_list":[{"sequencer_block_hash":"Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2M=","rollup_id":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","transactions":["CgEB"],"proof":{"audit_path":"MNlZ2hLiZd70dUCLZo/iiZDbKE0DJb7iZ5NPUxTNbNt5fK7sp/9p267ADmDS86KtdasicQtPuLgp9swLgYFiny012CwZFMloQHQ9b68pC9PSiZjlYvcN04ar7rU7r5yw93fxRRyRBsaIaEHDdKuIUhESjEaDCrhCnNbMsDrgQmg=","leaf_index":0,"tree_size":19}}],"number_of_entries":1,"compressed_size":172.0,"decompressed_size":211.0,"compression_ratio":1.2267442} diff --git a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.txt b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.txt index ff342839f..0db7c5f75 100644 --- a/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.txt +++ b/crates/astria-sequencer-utils/tests/resources/parse_blob/unbatched_rollup_data/expected_verbose_output.txt @@ -9,3 +9,7 @@ rollup data 0: leaf index: 0 tree size: 19 +number of entries: 1 +compressed size: 172 bytes +decompressed size: 211 bytes +compression ratio: 1.2267442