ability to iterate over network ids only and get networks lenght without storage read
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
parent
c963f7816b
commit
f082dfc4e0
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ghost-networks"
|
name = "ghost-networks"
|
||||||
version = "0.1.24"
|
version = "0.1.25"
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
authors.workspace = true
|
authors.workspace = true
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
|
|||||||
@ -730,7 +730,9 @@ impl<T: Config> NetworkDataBasicHandler for Pallet<T> {
|
|||||||
|
|
||||||
impl<T: Config> NetworkDataInspectHandler<NetworkData> for Pallet<T> {
|
impl<T: Config> NetworkDataInspectHandler<NetworkData> for Pallet<T> {
|
||||||
fn count() -> u32 {
|
fn count() -> u32 {
|
||||||
NetworkIndexes::<T>::get().len() as u32
|
NetworkIndexes::<T>::decode_len()
|
||||||
|
.map(|len| len as u32)
|
||||||
|
.unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn contains_key(n: &Self::NetworkId) -> bool {
|
fn contains_key(n: &Self::NetworkId) -> bool {
|
||||||
@ -757,6 +759,10 @@ impl<T: Config> NetworkDataInspectHandler<NetworkData> for Pallet<T> {
|
|||||||
fn iter() -> PrefixIterator<(Self::NetworkId, NetworkData)> {
|
fn iter() -> PrefixIterator<(Self::NetworkId, NetworkData)> {
|
||||||
Networks::<T>::iter()
|
Networks::<T>::iter()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn iter_indexes() -> impl Iterator<Item = Self::NetworkId> {
|
||||||
|
NetworkIndexes::<T>::get().into_iter()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T> {
|
impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T> {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ghost-traits"
|
name = "ghost-traits"
|
||||||
version = "0.3.30"
|
version = "0.3.31"
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
authors.workspace = true
|
authors.workspace = true
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
|
|||||||
@ -21,6 +21,7 @@ pub trait NetworkDataInspectHandler<Network>: NetworkDataBasicHandler {
|
|||||||
fn network_for_block(b: impl Into<usize>) -> Option<(Self::NetworkId, Network)>;
|
fn network_for_block(b: impl Into<usize>) -> Option<(Self::NetworkId, Network)>;
|
||||||
fn get(n: &Self::NetworkId) -> Option<Network>;
|
fn get(n: &Self::NetworkId) -> Option<Network>;
|
||||||
fn iter() -> PrefixIterator<(Self::NetworkId, Network)>;
|
fn iter() -> PrefixIterator<(Self::NetworkId, Network)>;
|
||||||
|
fn iter_indexes() -> impl Iterator<Item = Self::NetworkId>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait NetworkDataMutateHandler<Network, Balance>: NetworkDataInspectHandler<Network> {
|
pub trait NetworkDataMutateHandler<Network, Balance>: NetworkDataInspectHandler<Network> {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user