Skip to content

[dApp Staking] Update portal for Tokenomics 3.0 #1529

@ipapandinas

Description

@ipapandinas

Runtime upgrade (spec version 2100, pallet version 11) introduces breaking changes to dApp Staking:

  • a new field tier_rank_multipliers in TierParameters
  • a new reward formula that replaces empty_slots with deterministic rank multipliers

The original PR is AstarNetwork/Astar#1586 and this forum post explains the revamp motivation.

Changes needed

1. Hide bonus rewards from UI

Bonus pool is set to zero but types/extrinsics remain on-chain, no need to remove TS types or service calls. Just hide bonus reward display, bonus APR, bonus claim UI, and loyalty stake section in DataList.vue.

2. Verify dApp reward estimation

The runtime pre-computes rewards[] and rankRewards[] in DAppTierRewards storage, so the existing formula still works:

reward = tierReward.rewards[tierId] + rank * tierReward.rankRewards[tierId]

Check getDappRewardsForPeriod(), it currently omits the rank component (possible pre-existing bug).

3. Remove the tiering system

Only tiers 1 and 2 are active in the protocol (tiers 0 and 3 are dummy with 0 slots/rewards). Max active dApps capped to 16. UI should skip rendering tiers and list all dApps as a single list.

4. Update ERA_LENGTHS fallback

Astar cycle config changed: periodsPerCycle: 3→1, erasPerVoting: 11→1, erasPerBuildAndEarn: 111→364. Values are fetched via RPC but the hardcoded fallback map in DappStakingRepository.ts needs updating.

5. Consider removing legacy pallet version checks

With pallet version now at 11, the existing TIER_DERIVATION_PALLET_VERSION = 8 check (which switches between PalletDappStakingV3TiersConfiguration and TiersConfigurationLegacy) may no longer be needed. All networks will be on v11 after rollout, could simplify getTiersConfiguration() by dropping the legacy path.

Timeline

  • Shibuya: Feb 13, 2026 → Shiden: ~1 week later → Astar: March 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions