From 6cee666146bc6d82255f1d16030b27701eb4ab99 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 16:21:47 +0100 Subject: [PATCH 1/6] Update rust --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e441339d..aa868076 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: env: DOCKERFILE: scripts/ci/dockerfiles/polkadot-introspector_injected.Dockerfile - CI_IMAGE: paritytech/ci-unified:bullseye-1.85.0 + CI_IMAGE: paritytech/ci-unified:bullseye-1.93.0-2026-01-27-v202602020922 IMAGE_NAME: paritytech/polkadot-introspector jobs: From 6ab1a407a128702d2d22110de45dc2e0a1e1d1e3 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 16:24:15 +0100 Subject: [PATCH 2/6] Fix fmt --- essentials/src/telemetry_feed.rs | 250 +++++++++++++----------- parachain-tracer/src/prometheus.rs | 10 +- parachain-tracer/src/tracker_storage.rs | 29 +-- parachain-tracer/src/utils.rs | 16 +- 4 files changed, 168 insertions(+), 137 deletions(-) diff --git a/essentials/src/telemetry_feed.rs b/essentials/src/telemetry_feed.rs index 4dad6421..9a48186d 100644 --- a/essentials/src/telemetry_feed.rs +++ b/essentials/src/telemetry_feed.rs @@ -591,15 +591,18 @@ mod test { fn decode_version_best_block_best_finalized() { let msg = r#"[0,32,1,[14783932,1679657352067,5998],2,[14783934,"0x0000000000000000000000000000000000000000000000000000000000000000"]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::Version(Version(32)), - TelemetryFeed::BestBlock(BestBlock { - block_number: 14783932, - timestamp: 1679657352067, - avg_block_time: Some(5998) - }), - TelemetryFeed::BestFinalized(BestFinalized { block_number: 14783934, block_hash: H256::zero() }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::Version(Version(32)), + TelemetryFeed::BestBlock(BestBlock { + block_number: 14783932, + timestamp: 1679657352067, + avg_block_time: Some(5998) + }), + TelemetryFeed::BestFinalized(BestFinalized { block_number: 14783934, block_hash: H256::zero() }) + ] + ); } #[test] @@ -617,138 +620,161 @@ mod test { 1619604694363 ] ]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::AddedNode(AddedNode { - node_id: 2324, - details: NodeDetails { - name: "literate-burn-3334".to_owned(), - implementation: "Parity Polkadot".to_owned(), - version: "0.8.30-4b86755c3".to_owned(), - validator: None, - network_id: Some("12D3KooWQXtq1V6DP9SuPzZFL4VY3ye96XW4NdxR8KxnqfNvS7Vo".to_owned()), - ip: None, - sysinfo: None - }, - stats: NodeStats { peers: 1, txcount: 0 }, - io: NodeIO { used_state_cache_size: vec![51238524.0, 51238524.0, 51238524.0] }, - hardware: NodeHardware { - upload: vec![5865.8125, 7220.9375, 8373.84375], - download: vec![103230.375, 195559.8125, 517880.0625], - chart_stamps: vec![1679673031643.2812, 1679673120180.5312, 1679673200282.875,] - }, - block_details: BlockDetails { - block: Block { hash: H256::zero(), height: 6321619 }, - block_time: 0, - block_timestamp: 1679660148935, - propagation_time: None - }, - location: Some(NodeLocation { lat: 50.0804, long: 14.5045, city: "Prague".to_owned() }), - startup_time: Some(1619604694363), - hwbench: None - })]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![TelemetryFeed::AddedNode(AddedNode { + node_id: 2324, + details: NodeDetails { + name: "literate-burn-3334".to_owned(), + implementation: "Parity Polkadot".to_owned(), + version: "0.8.30-4b86755c3".to_owned(), + validator: None, + network_id: Some("12D3KooWQXtq1V6DP9SuPzZFL4VY3ye96XW4NdxR8KxnqfNvS7Vo".to_owned()), + ip: None, + sysinfo: None + }, + stats: NodeStats { peers: 1, txcount: 0 }, + io: NodeIO { used_state_cache_size: vec![51238524.0, 51238524.0, 51238524.0] }, + hardware: NodeHardware { + upload: vec![5865.8125, 7220.9375, 8373.84375], + download: vec![103230.375, 195559.8125, 517880.0625], + chart_stamps: vec![1679673031643.2812, 1679673120180.5312, 1679673200282.875,] + }, + block_details: BlockDetails { + block: Block { hash: H256::zero(), height: 6321619 }, + block_time: 0, + block_timestamp: 1679660148935, + propagation_time: None + }, + location: Some(NodeLocation { lat: 50.0804, long: 14.5045, city: "Prague".to_owned() }), + startup_time: Some(1619604694363), + hwbench: None + })] + ); } #[test] fn decode_removed_node_located_node() { let msg = r#"[4,42,5,[1560,35.6893,139.6899,"Tokyo"]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::RemovedNode(RemovedNode { node_id: 42 }), - TelemetryFeed::LocatedNode(LocatedNode { - node_id: 1560, - lat: 35.6893, - long: 139.6899, - city: "Tokyo".to_owned() - }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::RemovedNode(RemovedNode { node_id: 42 }), + TelemetryFeed::LocatedNode(LocatedNode { + node_id: 1560, + lat: 35.6893, + long: 139.6899, + city: "Tokyo".to_owned() + }) + ] + ); } #[test] fn decode_imported_block_finalized_block() { let msg = r#"[6,[297,[11959,"0x0000000000000000000000000000000000000000000000000000000000000000",6073,1679669286310,233]],7,[92,12085,"0x0000000000000000000000000000000000000000000000000000000000000000"]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::ImportedBlock(ImportedBlock { - node_id: 297, - block_details: BlockDetails { - block: Block { hash: H256::zero(), height: 11959 }, - block_time: 6073, - block_timestamp: 1679669286310, - propagation_time: Some(233) - } - }), - TelemetryFeed::FinalizedBlock(FinalizedBlock { - node_id: 92, - block_number: 12085, - block_hash: H256::zero() - }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::ImportedBlock(ImportedBlock { + node_id: 297, + block_details: BlockDetails { + block: Block { hash: H256::zero(), height: 11959 }, + block_time: 6073, + block_timestamp: 1679669286310, + propagation_time: Some(233) + } + }), + TelemetryFeed::FinalizedBlock(FinalizedBlock { + node_id: 92, + block_number: 12085, + block_hash: H256::zero() + }) + ] + ); } #[test] fn decode_node_stats_update_telemetry_feed() { let msg = r#"[8,[1645,[8,0]],9,[514,[[10758,554,20534],[12966,13631,17685],[1679678136573,1679678136573,1679678141574]]]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::NodeStatsUpdate(NodeStatsUpdate { - node_id: 1645, - stats: NodeStats { peers: 8, txcount: 0 } - }), - TelemetryFeed::Hardware(Hardware { - node_id: 514, - hardware: NodeHardware { - upload: vec![10758.0, 554.0, 20534.0], - download: vec![12966.0, 13631.0, 17685.0], - chart_stamps: vec![1679678136573.0, 1679678136573.0, 1679678141574.0] - } - }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::NodeStatsUpdate(NodeStatsUpdate { + node_id: 1645, + stats: NodeStats { peers: 8, txcount: 0 } + }), + TelemetryFeed::Hardware(Hardware { + node_id: 514, + hardware: NodeHardware { + upload: vec![10758.0, 554.0, 20534.0], + download: vec![12966.0, 13631.0, 17685.0], + chart_stamps: vec![1679678136573.0, 1679678136573.0, 1679678141574.0] + } + }) + ] + ); } #[test] fn decode_time_sync() { let msg = r#"[10,1679670187855]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::TimeSync(TimeSync { - time: 1679670187855 - })]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![TelemetryFeed::TimeSync(TimeSync { time: 1679670187855 })] + ); } #[test] fn decode_added_chain_removed_chain() { let msg = r#"[11,["Tick 558","0x0000000000000000000000000000000000000000000000000000000000000000",2],12,"0x0000000000000000000000000000000000000000000000000000000000000000"]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::AddedChain(AddedChain { - name: "Tick 558".to_owned(), - genesis_hash: H256::zero(), - node_count: 2 - }), - TelemetryFeed::RemovedChain(RemovedChain { genesis_hash: H256::zero() }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::AddedChain(AddedChain { + name: "Tick 558".to_owned(), + genesis_hash: H256::zero(), + node_count: 2 + }), + TelemetryFeed::RemovedChain(RemovedChain { genesis_hash: H256::zero() }) + ] + ); } #[test] fn decode_subscribed_to_unsubscribed_from() { let msg = r#"[13,"0x0000000000000000000000000000000000000000000000000000000000000000",14,"0x0000000000000000000000000000000000000000000000000000000000000000"]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::SubscribedTo(SubscribedTo { genesis_hash: H256::zero() }), - TelemetryFeed::UnsubscribedFrom(UnsubscribedFrom { genesis_hash: H256::zero() }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::SubscribedTo(SubscribedTo { genesis_hash: H256::zero() }), + TelemetryFeed::UnsubscribedFrom(UnsubscribedFrom { genesis_hash: H256::zero() }) + ] + ); } #[test] fn decode_pong_stale_node() { let msg = r#"[15,"pong",20,297]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::Pong(Pong { msg: "pong".to_owned() }), - TelemetryFeed::StaleNode(StaleNode { node_id: 297 }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::Pong(Pong { msg: "pong".to_owned() }), + TelemetryFeed::StaleNode(StaleNode { node_id: 297 }) + ] + ); } #[test] fn decode_node_io_update() { let msg = r#"[21,[555,[[48442256,54228400,52903216]]]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::NodeIOUpdate( - NodeIOUpdate { + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![TelemetryFeed::NodeIOUpdate(NodeIOUpdate { node_id: 555, io: NodeIO { used_state_cache_size: vec![48442256.0, 54228400.0, 52903216.0] } - } - )]); + })] + ); } #[test] @@ -771,8 +797,9 @@ mod test { "disk_random_write_score": {"list": [[[0,10],22],[[10,30],218],[[30,50],96]],"other": 0,"unknown": 686} } ]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::ChainStatsUpdate( - ChainStatsUpdate { + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![TelemetryFeed::ChainStatsUpdate(ChainStatsUpdate { stats: ChainStats { version: Ranking { list: vec![ @@ -852,20 +879,23 @@ mod test { unknown: 686 } } - } - )]); + })] + ); } #[test] fn decode_unknown() { let msg = r#"[0,32,42,["0x0000000000000000000000000000000000000000000000000000000000000000", 1]]"#; - assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![ - TelemetryFeed::Version(Version(32)), - TelemetryFeed::UnknownValue(UnknownValue { - action: 42, - value: "[\"0x0000000000000000000000000000000000000000000000000000000000000000\", 1]".to_owned() - }) - ]); + assert_eq!( + TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), + vec![ + TelemetryFeed::Version(Version(32)), + TelemetryFeed::UnknownValue(UnknownValue { + action: 42, + value: "[\"0x0000000000000000000000000000000000000000000000000000000000000000\", 1]".to_owned() + }) + ] + ); } } diff --git a/parachain-tracer/src/prometheus.rs b/parachain-tracer/src/prometheus.rs index 254ec436..0e0ab3a9 100644 --- a/parachain-tracer/src/prometheus.rs +++ b/parachain-tracer/src/prometheus.rs @@ -426,12 +426,10 @@ fn register_metrics(registry: &Registry) -> Result { registry, )?, initiators: prometheus_endpoint::register( - IntCounterVec::new(Opts::new("pc_disputed_initiators", "Validators that initiated a dispute"), &[ - "parachain_id", - "validator_index", - "session_index", - "validator_address", - ])?, + IntCounterVec::new( + Opts::new("pc_disputed_initiators", "Validators that initiated a dispute"), + &["parachain_id", "validator_index", "session_index", "validator_address"], + )?, registry, )?, misbehaving_validators: prometheus_endpoint::register( diff --git a/parachain-tracer/src/tracker_storage.rs b/parachain-tracer/src/tracker_storage.rs index 17477a6a..f13b74ef 100644 --- a/parachain-tracer/src/tracker_storage.rs +++ b/parachain-tracer/src/tracker_storage.rs @@ -207,10 +207,10 @@ mod tests { .storage_write_prefixed( CollectorPrefixType::OnDemandOrder(100), hash, - StorageEntry::new_onchain(RecordTime::with_ts(0, Duration::from_secs(0)), OnDemandOrder { - para_id: 100, - spot_price: 1, - }), + StorageEntry::new_onchain( + RecordTime::with_ts(0, Duration::from_secs(0)), + OnDemandOrder { para_id: 100, spot_price: 1 }, + ), ) .await .unwrap(); @@ -248,15 +248,18 @@ mod tests { .storage_write_prefixed( CollectorPrefixType::Dispute(100), hash, - StorageEntry::new_onchain(RecordTime::with_ts(0, Duration::from_secs(0)), DisputeInfo { - initiated: 1000, - initiator_indices: vec![42], - session_index: 1000, - dispute: SubxtDispute { relay_parent_block: H256::random(), candidate_hash: hash }, - parachain_id: 100, - outcome: None, - concluded: None, - }), + StorageEntry::new_onchain( + RecordTime::with_ts(0, Duration::from_secs(0)), + DisputeInfo { + initiated: 1000, + initiator_indices: vec![42], + session_index: 1000, + dispute: SubxtDispute { relay_parent_block: H256::random(), candidate_hash: hash }, + parachain_id: 100, + outcome: None, + concluded: None, + }, + ), ) .await .unwrap(); diff --git a/parachain-tracer/src/utils.rs b/parachain-tracer/src/utils.rs index cb4ced1e..c47fe069 100644 --- a/parachain-tracer/src/utils.rs +++ b/parachain-tracer/src/utils.rs @@ -114,10 +114,10 @@ mod test_extract_validator_addresses { #[test] fn test_returns_identities() { let keys = vec![AccountId32([0; 32])]; - assert_eq!(extract_validator_addresses(Some(&keys), vec![0]), vec![( - 0, - "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM".to_string() - )]); + assert_eq!( + extract_validator_addresses(Some(&keys), vec![0]), + vec![(0, "5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM".to_string())] + ); } } @@ -172,10 +172,10 @@ mod test_extract_misbehaving_validators { #[test] fn test_returns_misbehaving_validators() { - assert_eq!(extract_misbehaving_validators(None, &create_dispute_statement_set(), true), vec![ - (2, "??? (no session keys)".to_string()), - (3, "??? (no session keys)".to_string()) - ]) + assert_eq!( + extract_misbehaving_validators(None, &create_dispute_statement_set(), true), + vec![(2, "??? (no session keys)".to_string()), (3, "??? (no session keys)".to_string())] + ) } } From 5694c75fca6b013536f618deb5ef88128ff4d4fb Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 17:03:02 +0100 Subject: [PATCH 3/6] Fix clippy warnings --- essentials/src/api/dynamic.rs | 1 - essentials/src/collector/mod.rs | 9 ++++----- essentials/src/collector/ws.rs | 6 ------ essentials/src/telemetry_subscription.rs | 10 ++++------ kvdb/src/decode.rs | 9 ++++----- kvdb/src/paritydb.rs | 2 +- kvdb/src/rocksdb.rs | 4 ++-- parachain-tracer/src/main.rs | 7 +++---- 8 files changed, 18 insertions(+), 30 deletions(-) diff --git a/essentials/src/api/dynamic.rs b/essentials/src/api/dynamic.rs index 31961eae..481345ff 100644 --- a/essentials/src/api/dynamic.rs +++ b/essentials/src/api/dynamic.rs @@ -19,7 +19,6 @@ use crate::{ metadata::polkadot_primitives::ValidatorIndex, types::{H256, OnDemandOrder}, }; -use log::error; use subxt::{ OnlineClient, PolkadotConfig, dynamic::{At, Value}, diff --git a/essentials/src/collector/mod.rs b/essentials/src/collector/mod.rs index d9b28f3e..3b658b1a 100644 --- a/essentials/src/collector/mod.rs +++ b/essentials/src/collector/mod.rs @@ -378,11 +378,10 @@ impl Collector { }; let mut chain_events = vec![new_head_event]; - if let Some(hash) = new_head_hash(event, self.subscribe_mode) { - if let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await? { - for block_event in block_events.iter() { - chain_events.push(decode_chain_event(*hash, block_event.unwrap(), self.hasher).await?); - } + if let Some(hash) = new_head_hash(event, self.subscribe_mode) + && let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await? { + for block_event in block_events.iter() { + chain_events.push(decode_chain_event(*hash, block_event.unwrap(), self.hasher).await?); } }; diff --git a/essentials/src/collector/ws.rs b/essentials/src/collector/ws.rs index 4313beb3..aee341ae 100644 --- a/essentials/src/collector/ws.rs +++ b/essentials/src/collector/ws.rs @@ -213,12 +213,6 @@ async fn health_handler(api: CollectorStorageApi, ping: Option) -> Ok(warp::reply::json(&HealthReply { candidates_stored: storage_size, ts })) } -#[derive(Serialize, Clone, PartialEq, Eq, Debug)] -pub struct CandidatesReply { - /// How many candidates have we processed - pub candidates: Vec, -} - async fn candidates_handler( api: CollectorStorageApi, filter: Option, diff --git a/essentials/src/telemetry_subscription.rs b/essentials/src/telemetry_subscription.rs index 1187ff92..50f878cf 100644 --- a/essentials/src/telemetry_subscription.rs +++ b/essentials/src/telemetry_subscription.rs @@ -149,10 +149,9 @@ impl TelemetrySubscription { for message in feed.unwrap() { debug!("[telemetry] {:?}", message); - if !subscribed { - if let TelemetryFeed::AddedChain(chain) = &message { - chains.insert(chain.genesis_hash, chain.clone()); - } + if !subscribed + && let TelemetryFeed::AddedChain(chain) = &message { + chains.insert(chain.genesis_hash, chain.clone()); } if let Err(e) = update_channel.send(TelemetryEvent::NewMessage(message)).await { return on_consumer_error(e); @@ -202,8 +201,7 @@ async fn choose_chain( maybe_chain_name: &Option, ) -> color_eyre::Result { let list: Vec = chains - .iter() - .map(|(_, v)| v) + .values() .cloned() .sorted_by_key(|c| Reverse(c.node_count)) .collect(); diff --git a/kvdb/src/decode.rs b/kvdb/src/decode.rs index 00a04f12..99fd545b 100644 --- a/kvdb/src/decode.rs +++ b/kvdb/src/decode.rs @@ -237,11 +237,10 @@ pub fn decode_keys(db: &D, opts: &KeyDecodeOptions) -> Resu final_result.0.push(KeyDecodeResult { fields: cur, value_size: v.len() }); - if let Some(lim) = opts.lim { - if final_result.0.len() > *lim { - final_result.0.truncate(*lim); - break - } + if let Some(lim) = opts.lim + && final_result.0.len() > *lim { + final_result.0.truncate(*lim); + break } } } diff --git a/kvdb/src/paritydb.rs b/kvdb/src/paritydb.rs index b3d70e22..e65266cc 100644 --- a/kvdb/src/paritydb.rs +++ b/kvdb/src/paritydb.rs @@ -49,7 +49,7 @@ impl IntrospectorKvdb for IntrospectorParityDB { Ok(&self.columns) } - fn iter_values(&self, column: &str) -> Result { + fn iter_values(&self, column: &str) -> Result> { let column_idx = self .columns .iter() diff --git a/kvdb/src/rocksdb.rs b/kvdb/src/rocksdb.rs index ffd16582..c1a07c41 100644 --- a/kvdb/src/rocksdb.rs +++ b/kvdb/src/rocksdb.rs @@ -49,7 +49,7 @@ impl IntrospectorKvdb for IntrospectorRocksDB { Ok(&self.columns) } - fn iter_values(&self, column: &str) -> Result { + fn iter_values(&self, column: &str) -> Result> { let mut iter_config = rocksdb::ReadOptions::default(); // Do not cache values we read iter_config.fill_cache(false); @@ -80,7 +80,7 @@ impl IntrospectorKvdb for IntrospectorRocksDB { }))) } - fn prefixed_iter_values(&self, column: &str, prefix: &str) -> Result { + fn prefixed_iter_values(&self, column: &str, prefix: &str) -> Result> { let cf_handle = self .inner .cf_handle(column) diff --git a/parachain-tracer/src/main.rs b/parachain-tracer/src/main.rs index 47fd2c1a..a3bc5492 100644 --- a/parachain-tracer/src/main.rs +++ b/parachain-tracer/src/main.rs @@ -339,10 +339,9 @@ impl ParachainTracer { let _ = shutdown_tx.send(Shutdown::Restart); break; } - if let Some(progress) = tracker.progress(&mut stats, &metrics, &storage).await { - if is_cli { - println!("{}", progress) - } + if let Some(progress) = tracker.progress(&mut stats, &metrics, &storage).await + && is_cli { + println!("{}", progress) } tracker.maybe_reset_state(); }, From 3e7472592d01d83d93568d75c48dc3b173a12878 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 17:05:22 +0100 Subject: [PATCH 4/6] Fix fmt --- essentials/src/collector/mod.rs | 5 +++-- essentials/src/telemetry_subscription.rs | 6 +----- kvdb/src/decode.rs | 5 +++-- parachain-tracer/src/main.rs | 5 +++-- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/essentials/src/collector/mod.rs b/essentials/src/collector/mod.rs index 3b658b1a..76e018bb 100644 --- a/essentials/src/collector/mod.rs +++ b/essentials/src/collector/mod.rs @@ -378,8 +378,9 @@ impl Collector { }; let mut chain_events = vec![new_head_event]; - if let Some(hash) = new_head_hash(event, self.subscribe_mode) - && let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await? { + if let Some(hash) = new_head_hash(event, self.subscribe_mode) && + let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await? + { for block_event in block_events.iter() { chain_events.push(decode_chain_event(*hash, block_event.unwrap(), self.hasher).await?); } diff --git a/essentials/src/telemetry_subscription.rs b/essentials/src/telemetry_subscription.rs index 50f878cf..c512c200 100644 --- a/essentials/src/telemetry_subscription.rs +++ b/essentials/src/telemetry_subscription.rs @@ -200,11 +200,7 @@ async fn choose_chain( chains: &HashMap, maybe_chain_name: &Option, ) -> color_eyre::Result { - let list: Vec = chains - .values() - .cloned() - .sorted_by_key(|c| Reverse(c.node_count)) - .collect(); + let list: Vec = chains.values().cloned().sorted_by_key(|c| Reverse(c.node_count)).collect(); if list.is_empty() { return Err(ChooseChainError::NoChains) diff --git a/kvdb/src/decode.rs b/kvdb/src/decode.rs index 99fd545b..0825668d 100644 --- a/kvdb/src/decode.rs +++ b/kvdb/src/decode.rs @@ -237,8 +237,9 @@ pub fn decode_keys(db: &D, opts: &KeyDecodeOptions) -> Resu final_result.0.push(KeyDecodeResult { fields: cur, value_size: v.len() }); - if let Some(lim) = opts.lim - && final_result.0.len() > *lim { + if let Some(lim) = opts.lim && + final_result.0.len() > *lim + { final_result.0.truncate(*lim); break } diff --git a/parachain-tracer/src/main.rs b/parachain-tracer/src/main.rs index a3bc5492..94427903 100644 --- a/parachain-tracer/src/main.rs +++ b/parachain-tracer/src/main.rs @@ -339,8 +339,9 @@ impl ParachainTracer { let _ = shutdown_tx.send(Shutdown::Restart); break; } - if let Some(progress) = tracker.progress(&mut stats, &metrics, &storage).await - && is_cli { + if let Some(progress) = tracker.progress(&mut stats, &metrics, &storage).await && + is_cli + { println!("{}", progress) } tracker.maybe_reset_state(); From 8437430f7db0f392560d98d13565c1459659ff48 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 17:24:54 +0100 Subject: [PATCH 5/6] Clippy --- essentials/src/collector/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/essentials/src/collector/mod.rs b/essentials/src/collector/mod.rs index 76e018bb..4ad3add4 100644 --- a/essentials/src/collector/mod.rs +++ b/essentials/src/collector/mod.rs @@ -615,13 +615,13 @@ impl Collector { let ts = self.executor.get_block_timestamp(self.endpoint.as_str(), block_hash).await?; let block_number = header.number; - if self.state.last_finalized_block_number.is_some() { + if let Some(last_finalized) = self.state.last_finalized_block_number { self.storage_write_prefixed( CollectorPrefixType::RelevantFinalizedBlockNumber, block_hash, StorageEntry::new_onchain( RecordTime::with_ts(block_number, Duration::from_secs(ts)), - self.state.last_finalized_block_number.unwrap(), + last_finalized, ), ) .await?; From 83a7551ba5c1966ba2d590e3acbf6c02788b6976 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Fri, 27 Feb 2026 17:28:37 +0100 Subject: [PATCH 6/6] fmt --- essentials/src/collector/mod.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/essentials/src/collector/mod.rs b/essentials/src/collector/mod.rs index 4ad3add4..ea43f988 100644 --- a/essentials/src/collector/mod.rs +++ b/essentials/src/collector/mod.rs @@ -619,10 +619,7 @@ impl Collector { self.storage_write_prefixed( CollectorPrefixType::RelevantFinalizedBlockNumber, block_hash, - StorageEntry::new_onchain( - RecordTime::with_ts(block_number, Duration::from_secs(ts)), - last_finalized, - ), + StorageEntry::new_onchain(RecordTime::with_ts(block_number, Duration::from_secs(ts)), last_finalized), ) .await?; }