Skip to content

Commit 136db1c

Browse files
authored
Update rust (#922)
* Update rust * Fix fmt * Fix clippy warnings * Fix fmt * Clippy * fmt
1 parent c83c4fe commit 136db1c

File tree

13 files changed

+192
-177
lines changed

13 files changed

+192
-177
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
env:
1212
DOCKERFILE: scripts/ci/dockerfiles/polkadot-introspector_injected.Dockerfile
13-
CI_IMAGE: paritytech/ci-unified:bullseye-1.85.0
13+
CI_IMAGE: paritytech/ci-unified:bullseye-1.93.0-2026-01-27-v202602020922
1414
IMAGE_NAME: paritytech/polkadot-introspector
1515

1616
jobs:

essentials/src/api/dynamic.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use crate::{
1919
metadata::polkadot_primitives::ValidatorIndex,
2020
types::{H256, OnDemandOrder},
2121
};
22-
use log::error;
2322
use subxt::{
2423
OnlineClient, PolkadotConfig,
2524
dynamic::{At, Value},

essentials/src/collector/mod.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -378,11 +378,11 @@ impl Collector {
378378
};
379379
let mut chain_events = vec![new_head_event];
380380

381-
if let Some(hash) = new_head_hash(event, self.subscribe_mode) {
382-
if let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await? {
383-
for block_event in block_events.iter() {
384-
chain_events.push(decode_chain_event(*hash, block_event.unwrap(), self.hasher).await?);
385-
}
381+
if let Some(hash) = new_head_hash(event, self.subscribe_mode) &&
382+
let Some(block_events) = self.executor.get_events(self.endpoint.as_str(), *hash).await?
383+
{
384+
for block_event in block_events.iter() {
385+
chain_events.push(decode_chain_event(*hash, block_event.unwrap(), self.hasher).await?);
386386
}
387387
};
388388

@@ -615,14 +615,11 @@ impl Collector {
615615
let ts = self.executor.get_block_timestamp(self.endpoint.as_str(), block_hash).await?;
616616
let block_number = header.number;
617617

618-
if self.state.last_finalized_block_number.is_some() {
618+
if let Some(last_finalized) = self.state.last_finalized_block_number {
619619
self.storage_write_prefixed(
620620
CollectorPrefixType::RelevantFinalizedBlockNumber,
621621
block_hash,
622-
StorageEntry::new_onchain(
623-
RecordTime::with_ts(block_number, Duration::from_secs(ts)),
624-
self.state.last_finalized_block_number.unwrap(),
625-
),
622+
StorageEntry::new_onchain(RecordTime::with_ts(block_number, Duration::from_secs(ts)), last_finalized),
626623
)
627624
.await?;
628625
}

essentials/src/collector/ws.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,6 @@ async fn health_handler(api: CollectorStorageApi, ping: Option<HealthQuery>) ->
213213
Ok(warp::reply::json(&HealthReply { candidates_stored: storage_size, ts }))
214214
}
215215

216-
#[derive(Serialize, Clone, PartialEq, Eq, Debug)]
217-
pub struct CandidatesReply {
218-
/// How many candidates have we processed
219-
pub candidates: Vec<H256>,
220-
}
221-
222216
async fn candidates_handler(
223217
api: CollectorStorageApi,
224218
filter: Option<CandidatesQuery>,

essentials/src/telemetry_feed.rs

Lines changed: 140 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -591,15 +591,18 @@ mod test {
591591
fn decode_version_best_block_best_finalized() {
592592
let msg = r#"[0,32,1,[14783932,1679657352067,5998],2,[14783934,"0x0000000000000000000000000000000000000000000000000000000000000000"]]"#;
593593

594-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
595-
TelemetryFeed::Version(Version(32)),
596-
TelemetryFeed::BestBlock(BestBlock {
597-
block_number: 14783932,
598-
timestamp: 1679657352067,
599-
avg_block_time: Some(5998)
600-
}),
601-
TelemetryFeed::BestFinalized(BestFinalized { block_number: 14783934, block_hash: H256::zero() })
602-
]);
594+
assert_eq!(
595+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
596+
vec![
597+
TelemetryFeed::Version(Version(32)),
598+
TelemetryFeed::BestBlock(BestBlock {
599+
block_number: 14783932,
600+
timestamp: 1679657352067,
601+
avg_block_time: Some(5998)
602+
}),
603+
TelemetryFeed::BestFinalized(BestFinalized { block_number: 14783934, block_hash: H256::zero() })
604+
]
605+
);
603606
}
604607

605608
#[test]
@@ -617,138 +620,161 @@ mod test {
617620
1619604694363
618621
]
619622
]"#;
620-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::AddedNode(AddedNode {
621-
node_id: 2324,
622-
details: NodeDetails {
623-
name: "literate-burn-3334".to_owned(),
624-
implementation: "Parity Polkadot".to_owned(),
625-
version: "0.8.30-4b86755c3".to_owned(),
626-
validator: None,
627-
network_id: Some("12D3KooWQXtq1V6DP9SuPzZFL4VY3ye96XW4NdxR8KxnqfNvS7Vo".to_owned()),
628-
ip: None,
629-
sysinfo: None
630-
},
631-
stats: NodeStats { peers: 1, txcount: 0 },
632-
io: NodeIO { used_state_cache_size: vec![51238524.0, 51238524.0, 51238524.0] },
633-
hardware: NodeHardware {
634-
upload: vec![5865.8125, 7220.9375, 8373.84375],
635-
download: vec![103230.375, 195559.8125, 517880.0625],
636-
chart_stamps: vec![1679673031643.2812, 1679673120180.5312, 1679673200282.875,]
637-
},
638-
block_details: BlockDetails {
639-
block: Block { hash: H256::zero(), height: 6321619 },
640-
block_time: 0,
641-
block_timestamp: 1679660148935,
642-
propagation_time: None
643-
},
644-
location: Some(NodeLocation { lat: 50.0804, long: 14.5045, city: "Prague".to_owned() }),
645-
startup_time: Some(1619604694363),
646-
hwbench: None
647-
})]);
623+
assert_eq!(
624+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
625+
vec![TelemetryFeed::AddedNode(AddedNode {
626+
node_id: 2324,
627+
details: NodeDetails {
628+
name: "literate-burn-3334".to_owned(),
629+
implementation: "Parity Polkadot".to_owned(),
630+
version: "0.8.30-4b86755c3".to_owned(),
631+
validator: None,
632+
network_id: Some("12D3KooWQXtq1V6DP9SuPzZFL4VY3ye96XW4NdxR8KxnqfNvS7Vo".to_owned()),
633+
ip: None,
634+
sysinfo: None
635+
},
636+
stats: NodeStats { peers: 1, txcount: 0 },
637+
io: NodeIO { used_state_cache_size: vec![51238524.0, 51238524.0, 51238524.0] },
638+
hardware: NodeHardware {
639+
upload: vec![5865.8125, 7220.9375, 8373.84375],
640+
download: vec![103230.375, 195559.8125, 517880.0625],
641+
chart_stamps: vec![1679673031643.2812, 1679673120180.5312, 1679673200282.875,]
642+
},
643+
block_details: BlockDetails {
644+
block: Block { hash: H256::zero(), height: 6321619 },
645+
block_time: 0,
646+
block_timestamp: 1679660148935,
647+
propagation_time: None
648+
},
649+
location: Some(NodeLocation { lat: 50.0804, long: 14.5045, city: "Prague".to_owned() }),
650+
startup_time: Some(1619604694363),
651+
hwbench: None
652+
})]
653+
);
648654
}
649655

650656
#[test]
651657
fn decode_removed_node_located_node() {
652658
let msg = r#"[4,42,5,[1560,35.6893,139.6899,"Tokyo"]]"#;
653-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
654-
TelemetryFeed::RemovedNode(RemovedNode { node_id: 42 }),
655-
TelemetryFeed::LocatedNode(LocatedNode {
656-
node_id: 1560,
657-
lat: 35.6893,
658-
long: 139.6899,
659-
city: "Tokyo".to_owned()
660-
})
661-
]);
659+
assert_eq!(
660+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
661+
vec![
662+
TelemetryFeed::RemovedNode(RemovedNode { node_id: 42 }),
663+
TelemetryFeed::LocatedNode(LocatedNode {
664+
node_id: 1560,
665+
lat: 35.6893,
666+
long: 139.6899,
667+
city: "Tokyo".to_owned()
668+
})
669+
]
670+
);
662671
}
663672

664673
#[test]
665674
fn decode_imported_block_finalized_block() {
666675
let msg = r#"[6,[297,[11959,"0x0000000000000000000000000000000000000000000000000000000000000000",6073,1679669286310,233]],7,[92,12085,"0x0000000000000000000000000000000000000000000000000000000000000000"]]"#;
667-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
668-
TelemetryFeed::ImportedBlock(ImportedBlock {
669-
node_id: 297,
670-
block_details: BlockDetails {
671-
block: Block { hash: H256::zero(), height: 11959 },
672-
block_time: 6073,
673-
block_timestamp: 1679669286310,
674-
propagation_time: Some(233)
675-
}
676-
}),
677-
TelemetryFeed::FinalizedBlock(FinalizedBlock {
678-
node_id: 92,
679-
block_number: 12085,
680-
block_hash: H256::zero()
681-
})
682-
]);
676+
assert_eq!(
677+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
678+
vec![
679+
TelemetryFeed::ImportedBlock(ImportedBlock {
680+
node_id: 297,
681+
block_details: BlockDetails {
682+
block: Block { hash: H256::zero(), height: 11959 },
683+
block_time: 6073,
684+
block_timestamp: 1679669286310,
685+
propagation_time: Some(233)
686+
}
687+
}),
688+
TelemetryFeed::FinalizedBlock(FinalizedBlock {
689+
node_id: 92,
690+
block_number: 12085,
691+
block_hash: H256::zero()
692+
})
693+
]
694+
);
683695
}
684696

685697
#[test]
686698
fn decode_node_stats_update_telemetry_feed() {
687699
let msg = r#"[8,[1645,[8,0]],9,[514,[[10758,554,20534],[12966,13631,17685],[1679678136573,1679678136573,1679678141574]]]]"#;
688-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
689-
TelemetryFeed::NodeStatsUpdate(NodeStatsUpdate {
690-
node_id: 1645,
691-
stats: NodeStats { peers: 8, txcount: 0 }
692-
}),
693-
TelemetryFeed::Hardware(Hardware {
694-
node_id: 514,
695-
hardware: NodeHardware {
696-
upload: vec![10758.0, 554.0, 20534.0],
697-
download: vec![12966.0, 13631.0, 17685.0],
698-
chart_stamps: vec![1679678136573.0, 1679678136573.0, 1679678141574.0]
699-
}
700-
})
701-
]);
700+
assert_eq!(
701+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
702+
vec![
703+
TelemetryFeed::NodeStatsUpdate(NodeStatsUpdate {
704+
node_id: 1645,
705+
stats: NodeStats { peers: 8, txcount: 0 }
706+
}),
707+
TelemetryFeed::Hardware(Hardware {
708+
node_id: 514,
709+
hardware: NodeHardware {
710+
upload: vec![10758.0, 554.0, 20534.0],
711+
download: vec![12966.0, 13631.0, 17685.0],
712+
chart_stamps: vec![1679678136573.0, 1679678136573.0, 1679678141574.0]
713+
}
714+
})
715+
]
716+
);
702717
}
703718

704719
#[test]
705720
fn decode_time_sync() {
706721
let msg = r#"[10,1679670187855]"#;
707-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::TimeSync(TimeSync {
708-
time: 1679670187855
709-
})]);
722+
assert_eq!(
723+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
724+
vec![TelemetryFeed::TimeSync(TimeSync { time: 1679670187855 })]
725+
);
710726
}
711727

712728
#[test]
713729
fn decode_added_chain_removed_chain() {
714730
let msg = r#"[11,["Tick 558","0x0000000000000000000000000000000000000000000000000000000000000000",2],12,"0x0000000000000000000000000000000000000000000000000000000000000000"]"#;
715-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
716-
TelemetryFeed::AddedChain(AddedChain {
717-
name: "Tick 558".to_owned(),
718-
genesis_hash: H256::zero(),
719-
node_count: 2
720-
}),
721-
TelemetryFeed::RemovedChain(RemovedChain { genesis_hash: H256::zero() })
722-
]);
731+
assert_eq!(
732+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
733+
vec![
734+
TelemetryFeed::AddedChain(AddedChain {
735+
name: "Tick 558".to_owned(),
736+
genesis_hash: H256::zero(),
737+
node_count: 2
738+
}),
739+
TelemetryFeed::RemovedChain(RemovedChain { genesis_hash: H256::zero() })
740+
]
741+
);
723742
}
724743

725744
#[test]
726745
fn decode_subscribed_to_unsubscribed_from() {
727746
let msg = r#"[13,"0x0000000000000000000000000000000000000000000000000000000000000000",14,"0x0000000000000000000000000000000000000000000000000000000000000000"]"#;
728-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
729-
TelemetryFeed::SubscribedTo(SubscribedTo { genesis_hash: H256::zero() }),
730-
TelemetryFeed::UnsubscribedFrom(UnsubscribedFrom { genesis_hash: H256::zero() })
731-
]);
747+
assert_eq!(
748+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
749+
vec![
750+
TelemetryFeed::SubscribedTo(SubscribedTo { genesis_hash: H256::zero() }),
751+
TelemetryFeed::UnsubscribedFrom(UnsubscribedFrom { genesis_hash: H256::zero() })
752+
]
753+
);
732754
}
733755

734756
#[test]
735757
fn decode_pong_stale_node() {
736758
let msg = r#"[15,"pong",20,297]"#;
737-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
738-
TelemetryFeed::Pong(Pong { msg: "pong".to_owned() }),
739-
TelemetryFeed::StaleNode(StaleNode { node_id: 297 })
740-
]);
759+
assert_eq!(
760+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
761+
vec![
762+
TelemetryFeed::Pong(Pong { msg: "pong".to_owned() }),
763+
TelemetryFeed::StaleNode(StaleNode { node_id: 297 })
764+
]
765+
);
741766
}
742767

743768
#[test]
744769
fn decode_node_io_update() {
745770
let msg = r#"[21,[555,[[48442256,54228400,52903216]]]]"#;
746-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::NodeIOUpdate(
747-
NodeIOUpdate {
771+
assert_eq!(
772+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
773+
vec![TelemetryFeed::NodeIOUpdate(NodeIOUpdate {
748774
node_id: 555,
749775
io: NodeIO { used_state_cache_size: vec![48442256.0, 54228400.0, 52903216.0] }
750-
}
751-
)]);
776+
})]
777+
);
752778
}
753779

754780
#[test]
@@ -771,8 +797,9 @@ mod test {
771797
"disk_random_write_score": {"list": [[[0,10],22],[[10,30],218],[[30,50],96]],"other": 0,"unknown": 686}
772798
}
773799
]"#;
774-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![TelemetryFeed::ChainStatsUpdate(
775-
ChainStatsUpdate {
800+
assert_eq!(
801+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
802+
vec![TelemetryFeed::ChainStatsUpdate(ChainStatsUpdate {
776803
stats: ChainStats {
777804
version: Ranking {
778805
list: vec![
@@ -852,20 +879,23 @@ mod test {
852879
unknown: 686
853880
}
854881
}
855-
}
856-
)]);
882+
})]
883+
);
857884
}
858885

859886
#[test]
860887
fn decode_unknown() {
861888
let msg = r#"[0,32,42,["0x0000000000000000000000000000000000000000000000000000000000000000", 1]]"#;
862889

863-
assert_eq!(TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(), vec![
864-
TelemetryFeed::Version(Version(32)),
865-
TelemetryFeed::UnknownValue(UnknownValue {
866-
action: 42,
867-
value: "[\"0x0000000000000000000000000000000000000000000000000000000000000000\", 1]".to_owned()
868-
})
869-
]);
890+
assert_eq!(
891+
TelemetryFeed::from_bytes(msg.as_bytes()).unwrap(),
892+
vec![
893+
TelemetryFeed::Version(Version(32)),
894+
TelemetryFeed::UnknownValue(UnknownValue {
895+
action: 42,
896+
value: "[\"0x0000000000000000000000000000000000000000000000000000000000000000\", 1]".to_owned()
897+
})
898+
]
899+
);
870900
}
871901
}

0 commit comments

Comments
 (0)