Rewards and fees
Rewards are computed per epoch and distributed to block authors.
Reward components
Base reward from the block-height halving schedule.
Outlier penalty reduction for outlier blocks.
Transaction fees distributed to packing authors.
Burned fees removed from issued supply accounting.
Blocks marked partial invalid receive no reward.
Explicit net issuance logic
At reward settlement, native supply is adjusted by net mint:
net_issuance_epoch = total_base_reward_epoch - burnt_fee_epoch
If positive,
total_issuedincreases by that delta.If negative,
total_issueddecreases by the absolute delta.
This is why supply can be deflationary in epochs where burn exceeds mint.
Fee and burn model
Mazze tracks burned fee paths during execution and in global stats:
MIP-1559 burn is recorded and subtracted from issued supply.
Additional burn paths (for example contract-balance burn on specific destruction flows) also reduce issued supply.
Reward execution flow
Consensus determines reward epoch and block set.
ConsensusExecutorgathers reward execution inputs.process_rewards_and_feescomputes per-block rewards and fees.Burn and mint are netted into issued-supply accounting.
Results are persisted in
BlockDataManager.
Key source files
crates/mazzecore/core/src/consensus/consensus_inner/consensus_executor/mod.rscrates/mazzecore/core/src/consensus/consensus_inner/consensus_executor/epoch_execution.rscrates/mazzecore/executor/src/state/state_object/reward.rscrates/client/src/rpc/impls/mazze/mazze_handler.rs
Last updated
Was this helpful?