Skip to content
Snippets Groups Projects
Commit e22eaaa4 authored by Éloïs's avatar Éloïs
Browse files

fix(runtime): choose relevant hashing function for each StorageMap

parent 496128d5
No related branches found
No related tags found
No related merge requests found
......@@ -137,17 +137,17 @@ pub mod pallet {
#[pallet::storage]
#[pallet::getter(fn member)]
pub type Members<T: Config> =
StorageMap<_, Blake2_128Concat, T::MemberId, MemberData<T::ValidatorId>, OptionQuery>;
StorageMap<_, Twox64Concat, T::MemberId, MemberData<T::ValidatorId>, OptionQuery>;
#[pallet::storage]
#[pallet::getter(fn members_expire_on)]
pub type MembersExpireOn<T: Config> =
StorageMap<_, Blake2_128Concat, SessionIndex, Vec<T::MemberId>, ValueQuery>;
StorageMap<_, Twox64Concat, SessionIndex, Vec<T::MemberId>, ValueQuery>;
#[pallet::storage]
#[pallet::getter(fn must_rotate_keys_before)]
pub type MustRotateKeysBefore<T: Config> =
StorageMap<_, Blake2_128Concat, SessionIndex, Vec<T::MemberId>, ValueQuery>;
StorageMap<_, Twox64Concat, SessionIndex, Vec<T::MemberId>, ValueQuery>;
// HOOKS //
......
......@@ -199,7 +199,7 @@ pub mod pallet {
#[pallet::storage]
#[pallet::getter(fn idty_cert_meta)]
pub type StorageIdtyCertMeta<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::IdtyIndex, IdtyCertMeta<T::BlockNumber>, OptionQuery>;
StorageMap<_, Twox64Concat, T::IdtyIndex, IdtyCertMeta<T::BlockNumber>, OptionQuery>;
/// Certifications by issuer
#[pallet::storage]
......@@ -207,9 +207,9 @@ pub mod pallet {
/// Certifications by issuer
pub(super) type StorageCertsByIssuer<T: Config<I>, I: 'static = ()> = StorageDoubleMap<
_,
Identity,
Twox64Concat,
T::IdtyIndex,
Identity,
Twox64Concat,
T::IdtyIndex,
CertValue<T::BlockNumber>,
OptionQuery,
......@@ -226,13 +226,8 @@ pub mod pallet {
/// Certifications removable on
#[pallet::storage]
#[pallet::getter(fn certs_removable_on)]
pub type StorageCertsRemovableOn<T: Config<I>, I: 'static = ()> = StorageMap<
_,
Blake2_128Concat,
T::BlockNumber,
Vec<(T::IdtyIndex, T::IdtyIndex)>,
OptionQuery,
>;
pub type StorageCertsRemovableOn<T: Config<I>, I: 'static = ()> =
StorageMap<_, Twox64Concat, T::BlockNumber, Vec<(T::IdtyIndex, T::IdtyIndex)>, OptionQuery>;
#[pallet::event]
#[pallet::generate_deposit(pub(super) fn deposit_event)]
......@@ -428,10 +423,7 @@ pub mod pallet {
fn prune_certifications(block_number: T::BlockNumber) -> Weight {
let mut total_weight: Weight = 0;
use frame_support::storage::generator::StorageMap as _;
if let Some(certs) = StorageCertsRemovableOn::<T, I>::from_query_to_optional_value(
StorageCertsRemovableOn::<T, I>::take(block_number),
) {
if let Some(certs) = StorageCertsRemovableOn::<T, I>::take(block_number) {
for (issuer, receiver) in certs {
total_weight += Self::remove_cert_inner(issuer, receiver, Some(block_number));
}
......
......@@ -150,17 +150,16 @@ pub mod pallet {
#[pallet::getter(fn identity)]
pub type Identities<T: Config> = StorageMap<
_,
Blake2_128Concat,
Twox64Concat,
T::IdtyIndex,
IdtyValue<T::AccountId, T::BlockNumber, T::IdtyData>,
OptionQuery,
>;
/// IdentitiesByDid
#[pallet::storage]
#[pallet::getter(fn identity_by_did)]
pub type IdentitiesByDid<T: Config> =
StorageMap<_, Blake2_128Concat, IdtyName, T::IdtyIndex, ValueQuery>;
pub type IdentitiesNames<T: Config> =
StorageMap<_, Blake2_128, IdtyName, T::IdtyIndex, ValueQuery>;
#[pallet::storage]
pub(super) type NextIdtyIndex<T: Config> = StorageValue<_, T::IdtyIndex, ValueQuery>;
......@@ -172,13 +171,8 @@ pub mod pallet {
/// Identities by removed block
#[pallet::storage]
#[pallet::getter(fn removable_on)]
pub type IdentitiesRemovableOn<T: Config> = StorageMap<
_,
Blake2_128Concat,
T::BlockNumber,
Vec<(T::IdtyIndex, IdtyStatus)>,
ValueQuery,
>;
pub type IdentitiesRemovableOn<T: Config> =
StorageMap<_, Twox64Concat, T::BlockNumber, Vec<(T::IdtyIndex, IdtyStatus)>, ValueQuery>;
// HOOKS //
......@@ -248,7 +242,7 @@ pub mod pallet {
if !T::IdtyNameValidator::validate(&idty_name) {
return Err(Error::<T>::IdtyNameInvalid.into());
}
if <IdentitiesByDid<T>>::contains_key(&idty_name) {
if <IdentitiesNames<T>>::contains_key(&idty_name) {
return Err(Error::<T>::IdtyNameAlreadyExist.into());
}
......@@ -278,7 +272,7 @@ pub mod pallet {
data: idty_data,
},
);
<IdentitiesByDid<T>>::insert(idty_name.clone(), idty_index);
<IdentitiesNames<T>>::insert(idty_name.clone(), idty_index);
IdentitiesRemovableOn::<T>::append(removable_on, (idty_index, IdtyStatus::Created));
Self::inc_identities_counter();
Self::deposit_event(Event::IdtyCreated(idty_name, owner_key));
......@@ -454,7 +448,7 @@ pub mod pallet {
}
pub(super) fn do_remove_identity(idty_index: T::IdtyIndex) -> Weight {
if let Some(idty_val) = <Identities<T>>::take(idty_index) {
<IdentitiesByDid<T>>::remove(idty_val.name);
<IdentitiesNames<T>>::remove(idty_val.name);
}
Self::dec_identities_counter();
T::OnIdtyChange::on_idty_change(idty_index, IdtyEvent::Removed);
......
......@@ -125,32 +125,32 @@ pub mod pallet {
#[pallet::storage]
#[pallet::getter(fn membership)]
pub type Membership<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::IdtyId, MembershipData<T::BlockNumber>, OptionQuery>;
StorageMap<_, Twox64Concat, T::IdtyId, MembershipData<T::BlockNumber>, OptionQuery>;
#[pallet::storage]
#[pallet::getter(fn memberships_expire_on)]
pub type MembershipsExpireOn<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::BlockNumber, Vec<T::IdtyId>, ValueQuery>;
StorageMap<_, Twox64Concat, T::BlockNumber, Vec<T::IdtyId>, ValueQuery>;
#[pallet::storage]
#[pallet::getter(fn pending_membership)]
pub type PendingMembership<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::IdtyId, T::MetaData, OptionQuery>;
StorageMap<_, Twox64Concat, T::IdtyId, T::MetaData, OptionQuery>;
#[pallet::storage]
#[pallet::getter(fn pending_memberships_expire_on)]
pub type PendingMembershipsExpireOn<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::BlockNumber, Vec<T::IdtyId>, ValueQuery>;
StorageMap<_, Twox64Concat, T::BlockNumber, Vec<T::IdtyId>, ValueQuery>;
#[pallet::storage]
#[pallet::getter(fn revoked_membership)]
pub type RevokedMembership<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::IdtyId, (), OptionQuery>;
StorageMap<_, Twox64Concat, T::IdtyId, (), OptionQuery>;
#[pallet::storage]
#[pallet::getter(fn revoked_memberships_pruned_on)]
pub type RevokedMembershipsPrunedOn<T: Config<I>, I: 'static = ()> =
StorageMap<_, Blake2_128Concat, T::BlockNumber, Vec<T::IdtyId>, OptionQuery>;
StorageMap<_, Twox64Concat, T::BlockNumber, Vec<T::IdtyId>, OptionQuery>;
// EVENTS //
......@@ -412,19 +412,11 @@ pub mod pallet {
fn expire_pending_memberships(block_number: T::BlockNumber) -> Weight {
let mut total_weight: Weight = 0;
use frame_support::storage::generator::StorageMap as _;
if let Some(identities_ids) =
PendingMembershipsExpireOn::<T, I>::from_query_to_optional_value(
PendingMembershipsExpireOn::<T, I>::take(block_number),
)
{
for idty_id in identities_ids {
for idty_id in PendingMembershipsExpireOn::<T, I>::take(block_number) {
PendingMembership::<T, I>::remove(&idty_id);
Self::deposit_event(Event::PendingMembershipExpired(idty_id));
total_weight += T::OnEvent::on_event(
&sp_membership::Event::PendingMembershipExpired(idty_id),
);
}
total_weight +=
T::OnEvent::on_event(&sp_membership::Event::PendingMembershipExpired(idty_id));
}
total_weight
......@@ -432,12 +424,7 @@ pub mod pallet {
fn prune_revoked_memberships(block_number: T::BlockNumber) -> Weight {
let total_weight: Weight = 0;
use frame_support::storage::generator::StorageMap as _;
if let Some(identities_ids) =
RevokedMembershipsPrunedOn::<T, I>::from_query_to_optional_value(
RevokedMembershipsPrunedOn::<T, I>::take(block_number),
)
{
if let Some(identities_ids) = RevokedMembershipsPrunedOn::<T, I>::take(block_number) {
for idty_id in identities_ids {
RevokedMembership::<T, I>::remove(idty_id);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment