Skip to content

Beast/block reward update - #42

Merged
dewabisma merged 3 commits into
mainfrom
beast/block-reward-update
Jul 17, 2026
Merged

Beast/block reward update#42
dewabisma merged 3 commits into
mainfrom
beast/block-reward-update

Conversation

@dewabisma

@dewabisma dewabisma commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Update miner and treasury reward display


Note

Medium Risk
Broad changes to how transaction counts and lists are computed (new filter predicate and different aggregate sources), so displayed totals and sparklines may shift; block reward UI depends on matching reward transfers to the miner by to address.

Overview
Block details now show separate miner and treasury reward amounts instead of a single block reward, using hashless IMMEDIATE unified_transaction rows (with miner_reward as fallback for the miner amount).

Transaction lists and metrics consistently omit hashless IMMEDIATE rows (treated as miner/treasury rewards) via EXCLUDE_REWARD_TRANSFERS / withExcludedRewardTransfers. Home and unified-transaction stats switch from transfer_aggregate / summed chain_stats counters to filtered unified_transaction_aggregate queries, including a new all-time transaction count on the landing hero.

Table and detail labels change Hash / ID to Hash only; schemas add BlockRewardTransfer and slim home stats types.

Reviewed by Cursor Bugbot for commit 2aed434. Configure here.

@dewabisma
dewabisma merged commit a7b9328 into main Jul 17, 2026
2 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 2aed434. Configure here.

const minerReward =
minerTransfer?.amount ??
(minerRewardFallback != null ? String(minerRewardFallback) : null);
const treasuryReward = treasuryTransfer?.amount ?? null;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miner payout shown as treasury

Medium Severity

When minerRewards is empty so miner is undefined, splitRewardTransfers never picks a miner row and leaves every hashless reward transfer in treasuryTransfers. The UI then labels treasuryTransfers[0] as treasury reward, which can be the miner payout amount with no matching miner reward shown from transfers.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2aed434. Configure here.


const minerReward =
minerTransfer?.amount ??
(minerRewardFallback != null ? String(minerRewardFallback) : null);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial miner reward fallback

Medium Severity

The miner reward fallback uses only minerRewards[0].reward, while other miner-reward views aggregate every row for the same block. Multiple miner_reward rows for one block understate the displayed miner reward when unified rewardTransfers lack a matching miner transfer.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2aed434. Configure here.

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