diff --git a/pallets/networks/Cargo.toml b/pallets/networks/Cargo.toml index a447588..30c1162 100644 --- a/pallets/networks/Cargo.toml +++ b/pallets/networks/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ghost-networks" -version = "0.1.24" +version = "0.1.25" license.workspace = true authors.workspace = true edition.workspace = true diff --git a/pallets/networks/src/lib.rs b/pallets/networks/src/lib.rs index 7e9b8b5..95e6df9 100644 --- a/pallets/networks/src/lib.rs +++ b/pallets/networks/src/lib.rs @@ -730,7 +730,9 @@ impl NetworkDataBasicHandler for Pallet { impl NetworkDataInspectHandler for Pallet { fn count() -> u32 { - NetworkIndexes::::get().len() as u32 + NetworkIndexes::::decode_len() + .map(|len| len as u32) + .unwrap_or_default() } fn contains_key(n: &Self::NetworkId) -> bool { @@ -757,6 +759,10 @@ impl NetworkDataInspectHandler for Pallet { fn iter() -> PrefixIterator<(Self::NetworkId, NetworkData)> { Networks::::iter() } + + fn iter_indexes() -> impl Iterator { + NetworkIndexes::::get().into_iter() + } } impl NetworkDataMutateHandler> for Pallet { diff --git a/pallets/traits/Cargo.toml b/pallets/traits/Cargo.toml index 50406ae..7cedc63 100644 --- a/pallets/traits/Cargo.toml +++ b/pallets/traits/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ghost-traits" -version = "0.3.30" +version = "0.3.31" license.workspace = true authors.workspace = true edition.workspace = true diff --git a/pallets/traits/src/networks.rs b/pallets/traits/src/networks.rs index cb4bfa5..878a7bd 100644 --- a/pallets/traits/src/networks.rs +++ b/pallets/traits/src/networks.rs @@ -21,6 +21,7 @@ pub trait NetworkDataInspectHandler: NetworkDataBasicHandler { fn network_for_block(b: impl Into) -> Option<(Self::NetworkId, Network)>; fn get(n: &Self::NetworkId) -> Option; fn iter() -> PrefixIterator<(Self::NetworkId, Network)>; + fn iter_indexes() -> impl Iterator; } pub trait NetworkDataMutateHandler: NetworkDataInspectHandler {