Skip to content

Add T5 treasury emissions with configurable parameters#281

Open
heifner wants to merge 3 commits intomasterfrom
feature/emissions-configurable
Open

Add T5 treasury emissions with configurable parameters#281
heifner wants to merge 3 commits intomasterfrom
feature/emissions-configurable

Conversation

@heifner
Copy link
Copy Markdown
Contributor

@heifner heifner commented Apr 2, 2026

Summary

  • Port emissions from develop branch onto master with configurable parameters via setemitcfg action (replaces ~20 hard-coded constants)
  • T5 epoch-based treasury emissions with decay, category splits (compute/capital/capex/governance), and performance-based producer pay
  • Node owner tiered distributions (T1-T3) with linear vesting and claim actions
  • Producer round tracking in onblock for performance-based rewards
  • ROA contract updated to register node owners into emissions distribution table
  • t5_floor enforced as treasury reserve (emissions stop when floor is reached)
  • standby_end_rank configurable for governance tuning of standby producer count

New Actions

  • setemitcfg — set/update all emission parameters (requires system auth)
  • setinittime — set node owner distribution start time
  • addnodeowner — register node owner (called inline from sysio.roa)
  • claimnodedis — claim vested node owner distribution
  • viewnodedist — read-only view of claimable distributions
  • initt5 — initialize T5 treasury state
  • processepoch — process next epoch distribution (permissionless)
  • viewepoch — read-only T5 treasury state
  • viewemitcfg — read-only emission configuration

heifner added 3 commits April 2, 2026 16:46
Port emissions from develop branch with key improvement: all emission
parameters are configurable via setemitcfg action instead of hard-coded
constants. Includes node owner tiered distributions, epoch-based T5
treasury emissions with decay, performance-based producer pay, and
category splits (compute, capital, capex, governance).

New actions: setemitcfg, setinittime, addnodeowner, claimnodedis,
viewnodedist, initt5, processepoch, viewepoch, viewemitcfg.
Producer round tracking added to onblock for performance-based rewards.
ROA contract updated to call addnodeowner on node registration.
75 emission tests plus ROA test updates for emission config setup.
The emission config singleton must exist before regnodeowner can
call addnodeowner. Insert setemitcfg with default parameters into
the Cluster.bootstrap() sequence before activateroa/forcereg.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant