identity-kyc (H1):
- Add IdentityHashToAccount reverse mapping to prevent same identity hash
being used by multiple accounts
- Check uniqueness in apply_for_citizenship, populate on confirm_citizenship,
clean up on renounce_citizenship
pez-rewards (H2):
- Add EpochTotalClaimed storage to track claimed amounts per epoch
- do_close_epoch now only claws back unclaimed rewards (total_allocated -
total_claimed), not the entire pot balance
tiki (H3):
- Replace custom "locked" attribute with pezpallet_nfts::disable_transfer()
which sets the system-level PalletAttributes::TransferDisabled attribute
that is actually enforced during transfers
tiki (H4):
- Fix EnsureTiki to check UserTikis storage for non-unique roles (Wezir,
Parlementer) instead of TikiHolder which only stores unique roles
perwerde (H5):
- Add MaxPointsPerCourse config constant (1000 in runtime)
- Validate points in complete_course against the max
- Use saturating_add in get_perwerde_score to prevent u32 overflow
welati (H6):
- Add NativeCurrency: ReservableCurrency to Config
- Actually reserve candidacy deposit from candidate's balance
welati (H7):
- Add MaxEndorsers config constant (1000 in runtime)
- Validate endorsers count at the start of register_candidate before
any storage reads
- Update taplo.toml exclude patterns to use glob patterns for zombienet files
- Add StakingConfig to genesis_config_presets for proper era initialization
- Fix cargo fmt issues in identity-kyc pallet and pezkuwichain runtime
- Set num_cores to 2 for system teyrchains (Asset Hub + People Chain)
Relay Chain:
- Add pezpallet-staking-score to runtime
- Implement RelayStakingInfoProvider to read from pallet_staking
- StakingScore pallet index = 92
People Chain:
- Add DefaultReferrer type to identity-kyc pallet Config
- Change DefaultReferrer from Alice to founder address
- Make referrer parameter optional in apply_for_citizenship
- Fallback to DefaultReferrer when no valid referrer provided