Skip to content

feat: add flushing rewarder#17335

Merged
just-mitch merged 1 commit intonextfrom
lh/tmnt-309-ensure-that-queue-is-getting-flushed
Oct 2, 2025
Merged

feat: add flushing rewarder#17335
just-mitch merged 1 commit intonextfrom
lh/tmnt-309-ensure-that-queue-is-getting-flushed

Conversation

@LHerskind
Copy link
Contributor

Please read contributing guidelines and remove this line.

For audit-related pull requests, please use the audit PR template.

@LHerskind LHerskind marked this pull request as ready for review September 26, 2025 15:37

function flushEntryQueue(uint256 _toAdd) public override(IFlushRewarder) {
uint256 validatorSetSizeBefore = ROLLUP.getActiveAttesterCount();
ROLLUP.flushEntryQueue(_toAdd);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Feels like a previous design miss that this doesn't return the number flushed.

uint256 rewardsToClaim = rewardsOf[msg.sender];
if (rewardsToClaim > 0) {
rewardsOf[msg.sender] = 0;
debt -= rewardsToClaim;
Copy link
Collaborator

Choose a reason for hiding this comment

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

What if the contract doesn't have sufficient rewards to cover the claim? On a related note, should we add a getter for the "shortfall" i.e. the amount of funds that would need to be added to this contract to cover all outstanding claims?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Nevermind- I missed the Math.min(insertions * rewardPerInsertion, rewardsAvailable()); 👍

@LHerskind LHerskind force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from d8fb3d6 to dd40e0b Compare September 27, 2025 07:49
@LHerskind LHerskind force-pushed the lh/tmnt-332-governance-cannot-mint-for-eg-1-year branch 2 times, most recently from 84ae8b1 to 5aea2db Compare September 29, 2025 11:09
@LHerskind LHerskind force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from dd40e0b to 8e3c2f1 Compare September 29, 2025 11:09
@just-mitch just-mitch changed the base branch from lh/tmnt-332-governance-cannot-mint-for-eg-1-year to graphite-base/17335 October 1, 2025 19:11
@just-mitch just-mitch force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from 8e3c2f1 to 794aa1c Compare October 1, 2025 19:13
@just-mitch just-mitch force-pushed the graphite-base/17335 branch from 5aea2db to 1f5ac69 Compare October 1, 2025 19:13
@just-mitch just-mitch changed the base branch from graphite-base/17335 to lh/tmnt-332-governance-cannot-mint-for-eg-1-year October 1, 2025 19:13
@just-mitch just-mitch force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from 794aa1c to e8c80b3 Compare October 1, 2025 19:22
@just-mitch just-mitch force-pushed the lh/tmnt-332-governance-cannot-mint-for-eg-1-year branch 2 times, most recently from e5a4153 to b7ded5f Compare October 1, 2025 22:43
@just-mitch just-mitch force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from e8c80b3 to 49b2b01 Compare October 1, 2025 22:43
Base automatically changed from lh/tmnt-332-governance-cannot-mint-for-eg-1-year to next October 2, 2025 00:23
@just-mitch just-mitch force-pushed the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch from 49b2b01 to df7ebef Compare October 2, 2025 00:30
@just-mitch just-mitch enabled auto-merge October 2, 2025 00:30
@just-mitch just-mitch added this pull request to the merge queue Oct 2, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 2, 2025
@just-mitch just-mitch added this pull request to the merge queue Oct 2, 2025
Merged via the queue into next with commit 559ecdf Oct 2, 2025
15 checks passed
@just-mitch just-mitch deleted the lh/tmnt-309-ensure-that-queue-is-getting-flushed branch October 2, 2025 01:39
@AztecBot
Copy link
Collaborator

AztecBot commented Oct 2, 2025

💚 All backports created successfully

Status Branch Result
v2

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

just-mitch pushed a commit that referenced this pull request Oct 2, 2025
Co-authored-by: LHerskind <16536249+LHerskind@users.noreply.github.com>
alexghr pushed a commit that referenced this pull request Nov 5, 2025
# v2.0.3..v2.1.0-rc.1 Notes

## Significant L1 Changes


### 1.  **Rollup Contract Interface Changes**

- **`propose()`  function signature changed**: Now requires an
additional  `_attestationsAndSignersSignature`  parameter
- **`validateHeaderWithAttestations()`  function signature changed**:
Also requires the new signature parameter
- This affects any code that directly calls these functions on the
rollup contract

### 2.  **New Required Configuration Parameters**

Several new configuration parameters are now required for deployment:

- `localEjectionThreshold`: Stricter ejection threshold local to
specific rollup (default: 196,000 tokens)
- `slashingDisableDuration`: How long slashing can be disabled in
seconds (default: 5 days)

### 3.  **GSE Contract Changes**

- **New function**:  `setProofOfPossessionGasLimit()`  \- allows
governance to adjust gas limits for BLS proof validation
- **Gas-limited proof validation**: Proof of possession validation now
has configurable gas limits (default: 200,000 gas)

### 4.  **Validator Queue Management Changes**

- **`flushEntryQueue()`  behavior changed**: Now has an overload
accepting a  `_toAdd`  parameter to limit validator additions
- **New validator flush accounting**: System now tracks available
validator flushes per epoch

Significant Non-Breaking Changes
--------------------------------

### 1.  **Enhanced Slashing Controls**

- **Temporary slashing disable**: Vetoers can now temporarily disable
slashing for the configured duration
- **New function**:  `setSlashingEnabled(bool)`  for controlling
slashing state

### 2.  **Improved Validator Selection**

- **Configurable lag period**: Validator sampling now uses configurable
epoch lag instead of fixed 2-epoch delay
- **Better bootstrapping**: Enhanced validator set bootstrapping with
improved flush size calculations

### 3.  **Updated Default Values**

- **Coin issuer rate**: Updated to  `25,000,000,000 tokens / year` 
(approximately 793 tokens per second)
- **Local ejection threshold**: Set to 196,000 tokens (stricter than
global 50,000 threshold)

## Significant Node Changes

### Fixes

- Rollback world state on failed block sync – Prevents bad state
persistence by rolling back uncommitted data if block sync fails.
[(#17158)](github.com//pull/17158)
- Early rejection of duplicate nullifiers – Detects and rejects
transactions with duplicate nullifiers before inclusion.
[(#17157)](github.com//pull/17157)
- Watcher pruning fix – Watcher now re-executes only blocks from the
relevant pruned epoch, avoiding cross-epoch slashing issues.
[(#17145)](github.com//pull/17145)
- Improved proposal validation – Fully validates proposal headers
(including archive root derivation) and blocks attempts to reuse
existing block numbers.
[(#17144)](github.com//pull/17144)
- L1 to L2 message sync reliability – Waits for rollup to reach the
inbox block before marking L1→L2 messages as synced; adds helpers to
track message readiness.
[(#17132)](github.com//pull/17132)
- Slashing round recovery – Executes pending slashing rounds skipped
during the first executable round; adds slashExecuteRoundsLookBack to
control re-check depth.
[(#17125)](github.com//pull/17125)
- Broker restart on rollup change – Ensures broker restarts when rollup
chain changes to stay synchronized.
[(#17120)](github.com//pull/17120)
- Remote signer readiness check – Verifies that a remote signer is
available before use.
[(#17119)](github.com//pull/17119)
- Orchestrator and agent retry improvements – Makes connections to the
broker more robust under transient failures.
[(#17117)](github.com//pull/17117)
- Telemetry cleanup – Fixes incorrect or spammy telemetry warnings.
[(#17155)](github.com//pull/17155)

### Features

- Network configuration support – Introduces centralized configuration
for network parameters.
[(#17113)](github.com//pull/17113)


## Full Changelog

You can generate this yourself with `./scripts/commits
v2.0.3..v2.1.0-rc.1 1000 -m -g`.

#### Fixes

- fix: use archiveAt(0) instead of getBlock to get genesis archive tree
- backport v2
([#17447](#17447)) —
spypsy, 5 days ago
- fix: add keystoreDirectory option to sequencer
([#17265](#17265)) —
spypsy, 13 days ago
- fix: testnet archival node - v2
([#17142](#17142)) —
Aztec Bot, 3 weeks ago

#### Chores

- chore: bump minor version — Mitch, 4 days ago —
[dbc243f](dbc243f)
- chore: backport dependabot deps
([#17463](#17463)) —
Aztec Bot, 5 days ago
- chore: Backport slack alerts
([#17460](#17460)) —
PhilWindle, 5 days ago
- chore(backport-to-v2): chore: New salt for staging-ignition (#17453)
([#17453](#17453)) —
Aztec Bot, 5 days ago
- chore(backport-to-v2): fix: improve libp2p connection limits for
network discovery (#17425)
([#17425](#17425)) —
Aztec Bot, 5 days ago
- chore(backport-to-v2): feat: add flushing rewarder (#17335)
([#17335](#17335)) —
Aztec Bot, 6 days ago
- chore(backport-to-v2): feat: add date gated relayer (#17323)
([#17323](#17323)) —
Aztec Bot, 6 days ago
- chore(backport-to-v2): feat: support using existing ERC20 token for
fee and staking (#17413)
([#17413](#17413)) —
Aztec Bot, 6 days ago
- chore: Delete contract addresses from chain l2 config
([#17430](#17430)) —
PhilWindle, 6 days ago
- chore: More updated staging public config
([#17364](#17364)) —
PhilWindle, 7 days ago
- chore(backport-to-V2): L1 backports
([#17365](#17365)) —
Lasse Herskind, 7 days ago
- chore: Ensure DB map sizes are configured for networks
([#17383](#17383)) —
PhilWindle, 7 days ago
- chore: Backport of fixes into v2
([#17206](#17206)) —
PhilWindle, 8 days ago
- chore: update zkpassport version
([#17339](#17339)) —
saleel, 8 days ago
- chore: Backport of workflow fix
([#17333](#17333)) —
PhilWindle, 11 days ago
- chore: Streamline staging deployments
([#17328](#17328)) —
PhilWindle, 11 days ago
- chore(backport-to-v2): fix: avm gracefully handles shifts (shl) with
huge bit sizes (#17171)
([#17171](#17171)) —
Aztec Bot, 12 days ago
- chore(backport-to-v2): chore: remove unconstrained generics from trait
impls (#17075)
([#17075](#17075)) —
Aztec Bot, 12 days ago
- chore: Backport deployment refactor
([#17280](#17280)) —
PhilWindle, 12 days ago
- chore(backport-to-v2): fix(docs): Update Counter contract tutorial
imports and remove unnecessary sections (#17241)
([#17241](#17241)) —
Aztec Bot, 13 days ago
- chore: remove ACCEPT_DISABLED_AVM_VK_TREE_ROOT
([#17238](#17238)) —
Alex Gherghisan, 13 days ago
- chore: remove bad rollup-version default
([#17223](#17223)) —
Alex Gherghisan, 2 weeks ago
- chore(docs): node docs to v2
([#17205](#17205)) —
esau, 2 weeks ago
- chore(backport-to-v2): chore(avm)!: Fix a misleading log in recursive
verifier related to public input (#17184)
([#17184](#17184)) —
Aztec Bot, 2 weeks ago
- chore: Backport of ignition fix attempt 2
([#17201](#17201)) —
PhilWindle, 2 weeks ago
- chore: turn on testnet compat test
([#17195](#17195)) —
Alex Gherghisan, 2 weeks ago
- chore: Backport fix to staging-ignition to v2
([#17159](#17159)) —
PhilWindle, 3 weeks ago
- chore: kubectl
([#17140](#17140)) —
Alex Gherghisan, 3 weeks ago

#### Other

- backport dependabots p2
([#17488](#17488)) —
mralj, 4 days ago

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
ludamad pushed a commit that referenced this pull request Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants