Skip to content

Guard RewardLib fee ingress with balance deltas#24711

Draft
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-585-reward-fee-deltas
Draft

Guard RewardLib fee ingress with balance deltas#24711
AztecBot wants to merge 1 commit into
nextfrom
cb/l1-audit-remediation-585-reward-fee-deltas

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Summary

RewardLib.handleRewardsAndFees credited checkpoint rewards and proof fees from the requested transfer amount before checking what the rollup actually received. This change keeps the existing standard-ERC20 assumption explicit by rejecting reward-distributor and fee-portal transfers whose balance delta does not exactly match the requested amount.

Fix

  • Add an exact fee-asset balance-delta check around RewardDistributor.claim and FeeJuicePortal.distributeFees in RewardLib.
  • Add burn-on-transfer regressions for both ingress paths so reward liabilities cannot be booked against short-funded FeeJuice.

Testing

  • FOUNDRY_PROFILE=coverage forge test --match-path test/rollup/libraries/rewardlib/handleRewards.t.sol
  • git diff --check

Issues

  • Closes AztecProtocol/aztec-claude#585 — RewardLib credits FeeJuice rewards from requested transfers instead of received deltas.

Created by claudebox · group: l1-audit-remediation

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant