Commit Graph

287 Commits

Author SHA1 Message Date
pezkuwichain 50aed7a9ae fix: clippy manual_flatten and dead_code in subxt examples 2026-02-16 20:49:53 +03:00
pezkuwichain dc8ed697fb fix: taplo formatting and umbrella version for CI quick-checks 2026-02-16 20:00:52 +03:00
pezkuwichain 6bbbd683ab fix: remove staking-score from relay chain, fix CI quick-checks
- Remove pezpallet_staking_score from relay chain runtime (noter model
  lives on People Chain only)
- Update welati mock to current staking-score Config trait
- Fix staking-score feature propagation (zepter: std, runtime-benchmarks)
- Format vendor subxt example files (rustfmt)
- Regenerate umbrella crate
- Update CRITICAL_STATE.md with noter delegation status
2026-02-16 19:50:13 +03:00
pezkuwichain 643c482611 feat: noter delegation for staking score system
- Add NoterCheck trait: accounts with Noter tiki can submit
  receive_staking_details without root origin
- Remove stake requirement from start_score_tracking (opt-in only,
  bot + noter submit data after event detection)
- Add zero-stake cleanup: sending staked_amount=0 removes cached
  entry, cleans up StakingStartBlock when no stake remains
- Add NotAuthorized error for non-noter signed callers
- Configure TikiNoterChecker in people-pezkuwichain runtime
- Update weights with detailed DB operation analysis
- Bump People Chain spec_version to 1_020_007
- 49 unit tests (17 new E2E + edge cases), fmt/clippy clean
2026-02-16 19:01:18 +03:00
pezkuwichain 0a917d330b sec: remove hardcoded mnemonics, add mainnet tools and subxt examples
- Replace all hardcoded wallet mnemonics with env variable reads
- Add comprehensive e2e test suite (tools/e2e-test/)
- Add zagros validator management tools
- Add subxt examples for mainnet operations
- Update CRITICAL_STATE with zagros testnet and mainnet status
- Fix people chain spec ID and chainspec build script
2026-02-16 08:18:26 +03:00
pezkuwichain 90c5a7f6b1 feat: dual-chain staking score with XCM data pipeline
- Rewrite pezpallet-staking-score: StorageDoubleMap (AccountId x StakingSource),
  remove StakingInfoProvider trait, all data via receive_staking_details()
- Add StakingSource enum (RelayChain / AssetHub) for multi-source aggregation
- Add OnStakingDataUpdate callback trait for trust pallet integration
- Trust pallet: on_initialize hook for periodic batch updates,
  OnStakingDataUpdate impl triggers immediate score recalculation
- People Chain runtime: remove noop StakingInfoProvider, wire OnStakingUpdate = Trust
- Update weights for both pallets (conservative estimates incl. callback cost)
- spec_version 1_020_005 -> 1_020_006
- 57 tests passing (25 staking-score + 32 trust)
2026-02-16 07:49:13 +03:00
pezkuwichain 1a51562b5e feat: add mainnet chain spec builder script
Generates relay + teyrchain chain specs with embedded genesis data.
2026-02-15 01:12:21 +03:00
pezkuwichain fe7319182d fix: validator stash balance must exceed bond amount + existential deposit
STASH*2 ensures validators have enough balance to cover both the
staking bond and the existential deposit at genesis.
2026-02-15 00:48:18 +03:00
pezkuwichain 1ca42c3912 feat: add mainnet deployment script with session key injection
Automates: stop nodes, archive old chain data, deploy binaries,
inject session keys from MAINNET_WALLETS.json, start nodes sequentially.
2026-02-14 23:43:57 +03:00
pezkuwichain dd78f55ba8 bump: spec_version 1_020_003 → 1_020_004 for fresh mainnet launch 2026-02-14 23:40:18 +03:00
pezkuwichain e15fb3db11 fix: connect authorship EventHandler to Staking for reward point distribution
Without this, block authors are never reported to the staking pallet,
resulting in zero reward points and no era payouts.
2026-02-14 20:31:30 +03:00
pezkuwichain b5f1864d85 ci: retrigger workflows after VPS2 cache cleanup 2026-02-14 12:15:17 +03:00
pezkuwichain 9ae71a1295 fix: add version field to umbrella crate for CI check-umbrella 2026-02-14 11:48:44 +03:00
pezkuwichain 70cd8639dd style: taplo formatting and umbrella regeneration 2026-02-14 11:02:01 +03:00
pezkuwichain d2e722dd14 feat: add NominationPoolsApi and StakingApi to Asset Hub runtime
- Implement NominationPoolsApi (pending_rewards, points_to_balance, etc.)
- Implement StakingApi (nominations_quota, eras_stakers_page_count, pending_rewards)
- Fix ss58-registry doc-test crate name (pezkuwi → pezsp)
- Update CRITICAL_STATE.md with current network status and pending tasks
2026-02-14 10:53:06 +03:00
pezkuwichain 7537c1703d fix: zepter feature propagation, umbrella regeneration, taplo formatting
- Propagate runtime-benchmarks feature to pezsp-test-primitives in pezsp-api
- Regenerate umbrella crate after pezsp-api dev-dependency addition
- Apply taplo formatting to all changed Cargo.toml files
2026-02-14 09:38:10 +03:00
pezkuwichain d19e78969b fix: resolve CI failures in pezkuwi-subxt-metadata no_std and pezsp-api doc-tests
- Replace thiserror::Error derive with manual Display + core::error::Error
  impl in pezkuwi-subxt-metadata TryFromError, fixing no_std compilation
  (thiserror v1 does not support no_std)
- Add pezsp-test-primitives as dev-dependency to pezsp-api, fixing 3
  failing doc-tests that import pezsp_test_primitives::Block
- Revert unnecessary features=["std"] on workspace pezkuwi-subxt-metadata dep
- Apply taplo formatting to changed Cargo.toml files
2026-02-14 06:00:17 +03:00
pezkuwichain 09b1a53450 chore: remove sensitive files from tracking and update .gitignore
- Remove comprehensive_test.rs and create_nft_collection.rs from git
  (contain hardcoded VPS IPs and test wallet mnemonic)
- Add chain spec JSON files to .gitignore
- Add local tools and mainnet operation scripts to .gitignore
2026-02-14 04:48:48 +03:00
pezkuwichain e41c280c8f feat: add Tiki GenesisConfig for Collection 0 bootstrap and XCM creation tools
- Add GenesisConfig to pezpallet-tiki that creates NFT Collection 0 and mints
  NFT #0 for the founding citizen at genesis, solving the chicken-egg problem
  where Collection 0 must exist before any citizenship NFTs can be minted
- Wire founding_citizen parameter through all People Chain genesis presets
  (genesis, local_testnet, dev)
- Add create_nft_collection.rs XCM script for creating Collection 0 on live
  chain via sudo XCM Transact from Relay Chain
- Add comprehensive_test.rs for post-upgrade chain testing
- Fix clippy warnings (map().flatten() -> and_then()) and apply taplo formatting
2026-02-14 04:41:21 +03:00
pezkuwichain c6b854209e chore: bump spec_version to 1_020_003 for runtime upgrade
Bump all three runtime spec_versions from 1_020_002 to 1_020_003
to prepare for on-chain runtime upgrade deploying trust score
system changes to the live chain.
2026-02-13 23:47:48 +03:00
pezkuwichain cc568f5560 style: fix taplo TOML formatting in subxt vendor crates 2026-02-13 21:35:04 +03:00
pezkuwichain e9930bf10f fix: propagate std feature to pezkuwi-subxt-core in subxt and rpcs crates 2026-02-13 21:17:38 +03:00
pezkuwichain 685cac4016 fix: add TrustScoreUpdater type to welati mock Config implementations 2026-02-13 21:02:56 +03:00
pezkuwichain 1333f84968 feat: wire trust score system with cross-chain staking data and component triggers
- Add CachedStakingDetails storage and receive_staking_details extrinsic
  to staking-score pallet for Asset Hub XCM data reception
- Add TrustScoreUpdater triggers to referral, tiki, and perwerde pallets
  so component score changes propagate to trust pallet
- Wire runtime hooks (OnKycApproved, OnCitizenshipRevoked) to Referral
  and CitizenNftProvider to Tiki in people.rs
- Fix PerwerdeScoreSource and ReferralScoreSource to read actual pallet data
- Fix EnsureOrigin trait feature unification issue by removing cfg gate
  from try_successful_origin and adding default Err(()) implementation
- Fix workspace Cargo.toml default-features for pezkuwi-subxt dependencies
2026-02-13 20:13:50 +03:00
pezkuwichain 3556aa74fa style: fix formatting in StakingSessionManager 2026-02-13 00:37:51 +03:00
pezkuwichain ad77ae61b5 feat: forward session events to staking pallet for era progression on Asset Hub
Asset Hub's pallet_staking_async era never advances because it expects
SessionReport messages from the relay chain's ah_client pallet, which is
not yet active. This adds a StakingSessionManager wrapper that intercepts
local session rotation events and generates SessionReport messages to drive
era transitions directly on Asset Hub.

Changes:
- Add StakingSessionManager in staking.rs that delegates to both
  CollatorSelection and Staking via on_relay_session_report()
- Switch SessionManager from CollatorSelection to StakingSessionManager
- Add FixActiveEraStart migration to correct ActiveEra.start=0 from genesis
- Bump spec_version to 1_020_002
2026-02-12 23:58:58 +03:00
pezkuwichain ebefa0b244 fix: add cache cleanup step to prevent disk exhaustion in CI 2026-02-12 06:18:45 +03:00
pezkuwichain 88730fe470 fix: exclude revive-eth-rpc from clippy and stop VPS2 runner-8
subxt proc-macro in pezpallet-revive-eth-rpc fails to generate
subxt_client module without cached artifacts. Also reduced VPS2 to
single runner to prevent concurrent disk exhaustion.
2026-02-12 05:25:25 +03:00
pezkuwichain 594c7a674e fix: increase CI timeouts to 90m and exclude wasm-dependent doc-test
Cold cache builds exceed 45m limit. Also exclude pezsc-basic-authorship
from doc-tests as it requires wasm binary (incompatible with SKIP_WASM_BUILD).
2026-02-12 04:29:02 +03:00
pezkuwichain 3a7ceaa528 fix: serialize CI jobs to prevent concurrent disk exhaustion
Run check-try-runtime after cargo-clippy (not in parallel) and
build-rustdoc after test-doc. Jobs on the same VPS share a single
disk, so parallel builds exhaust available space.
Both Checks jobs share one cache volume; both Docs jobs share another.
2026-02-12 02:47:40 +03:00
pezkuwichain 6700a35699 fix: separate CI cache volumes to prevent concurrent disk exhaustion
Each workflow job now uses its own cache directory to avoid multiple
runners on the same VPS writing to the same target dir simultaneously.
2026-02-12 02:03:19 +03:00
pezkuwichain 6e5d9ade17 fix: mark zombienet doc-tests as ignore to fix doc-test compilation
Doc-tests use full crate names (pezkuwi_zombienet_provider etc.) which
are not available as extern crates in the doc-test compilation context.
These examples require a running network and cannot be executed anyway.
2026-02-11 23:59:23 +03:00
pezkuwichain 8961c76736 fix: restore provider crate alias in zombienet test module 2026-02-11 12:53:54 +03:00
pezkuwichain 5af1d08538 style: cargo fmt on zombienet-sdk import ordering 2026-02-11 10:04:22 +03:00
pezkuwichain 0c21aaee3e fix: remove needless borrows in tiki migration tests (clippy) 2026-02-11 07:56:13 +03:00
pezkuwichain 7e94916beb fix: rename old crate references in zombienet-sdk doc-tests 2026-02-11 07:06:33 +03:00
pezkuwichain 7ce730ccc5 chore: update CLAUDE.md config 2026-02-11 04:52:53 +03:00
pezkuwichain 77ea4ad959 style: taplo fmt - normalize Cargo.toml indentation 2026-02-11 04:52:44 +03:00
pezkuwichain 0055013f6a fix: chain spec corrections - tokenDecimals 18->12, ss58Format, para_id 2026-02-11 04:52:28 +03:00
pezkuwichain 237e5ff584 chore: remove stale docs, scripts, and sensitive validator data 2026-02-11 04:52:20 +03:00
pezkuwichain b5d9de7e71 style: fix cargo fmt in tiki migrations 2026-02-11 04:49:00 +03:00
pezkuwichain 2c7cc226e1 chore: register tiki v2 migration and bump spec_version to 1_020_002
- Added pezpallet_tiki::migrations::v2::MigrateToV2 to People chain
  Migrations tuple (populates TikiHolder on upgrade)
- Bumped spec_version 1_020_001 -> 1_020_002 for both relay chain
  and People chain runtimes
2026-02-11 04:38:18 +03:00
pezkuwichain 73cd3b565c fix: add DefaultReferrer to all pallet test mocks
After DefaultReferrer was added to pezpallet_identity_kyc::Config trait,
all dependent pallets need this type in their mock configs. Updated mocks
for identity-kyc, pez-rewards, trust, and welati. Also updated
identity-kyc tests for Option<referrer> parameter change.
2026-02-11 04:38:11 +03:00
pezkuwichain 75a8f6a79f fix: ScoreMultiplierBase 100 -> 10000 for meaningful trust scores
Without sufficient multiplier, integer division produces 0 for most
component scores. Increasing to 10_000 ensures trust scores reflect
actual staking, referral, tiki, and perwerde contributions.
2026-02-11 04:38:02 +03:00
pezkuwichain b9c793aaf9 feat: tiki v2 migration - populate TikiHolder from UserTikis
Storage migration v1->v2 scans all UserTikis entries and populates
TikiHolder for unique roles (Serok, SerokiMeclise, Xezinedar, Balyoz).
Fixes empty TikiHolder on live chain despite roles being assigned.

Includes try-runtime pre/post upgrade checks and unit tests.
2026-02-11 04:37:55 +03:00
pezkuwichain 1a809fcedf fix: tiki pallet - burn cleanup, remove on_initialize, scoring fixes
- burn_citizen_nft now clears UserTikis and TikiHolder entries
- Removed on_initialize O(n) per-block scan (uses CitizenNftProvider hooks)
- Added Peseng role score (80 points)
- Removed catch-all match arm for compile-time safety on new roles
- Removed duplicate cfg benchmark/non-benchmark blocks in mint
2026-02-11 04:37:46 +03:00
pezkuwichain 44ace07de4 fix: referral pallet - force_confirm stats tracking and penalty_score usage
- force_confirm_referral now updates ReferrerStatsStorage (was missing)
- get_referral_score uses stored penalty_score from PenaltyPerRevocation
  instead of hardcoded (revoked*10)/4 formula
- Updated tests to match new penalty calculation behavior
2026-02-11 04:37:38 +03:00
pezkuwichain bf99794cd5 fix: forward session events to Staking pallet for era management
ValidatorManager now forwards session hooks to Staking pallet:
- new_session: Staking receives session changes to trigger era
- start_session: Staking can initialize era stakers
- end_session: Staking can finalize era rewards

This fixes the issue where staking era never started because
session events were not being forwarded to the Staking pallet.
2026-02-10 16:29:57 +03:00
pezkuwichain 6328308e44 fix: format pezkuwichain Cargo.toml with taplo 2026-02-10 15:55:04 +03:00
pezkuwichain 31948ef8e4 fix: revert default-features changes that broke zepter checks 2026-02-10 15:44:49 +03:00