Skip to content

test: timelock queue 2 #1538

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

0xClandestine
Copy link
Member

Motivation:

Explain here the context, and why you're making that change. What is the problem you're trying to solve.

Modifications:

Describe the modifications you've done.

Result:

After your change, what will change.

0xClandestine and others added 14 commits July 7, 2025 14:33
**Motivation:**

Previously, we stored `startBlock` and computed the `completeBlock` at
runtime by iterating through the list of added strategies for a given
`slashId`. This approach required recalculating the `completeBlock` each
time.

**Modifications:**

We now store `completeBlock` directly instead of `startBlock`. During
each call to `initiateSlashEscrow`, we compare the delay of the newly
added strategy to the current `completeBlock` for the `slashId`. If the
new delay is larger, we update `completeBlock` accordingly. This ensures
that the maximum delay is always preserved.

**Result:**

The `completeBlock` for each `slashId` is now computed and maintained
incrementally, eliminating the need for runtime iteration over all
strategies.
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
…s#1466)

**Motivation:**

It was previously possible to set the redistribution recipient for a
redistributing operator set to the burn address, meaning it's
effectively a non-redistributing operator set.

**Modifications:**

- Ensure`redistributionRecipient != DEFAULT_BURN_ADDRESS`.

**Result:**

L-02 resolved.
**Motivation:**

Missing documentation noting that an upgrade is required to rescue
paused funds.

**Modifications:**

- Update `ISlashEscrowFactory.sol` and `SlashEscrowFactory.md`.

**Result:**

L-01 resolved.
**Motivation:**

We've decided we do not want delays on redistributions.

**Modifications:**

- Removed `SlashEscrowFactory` + `SlashEscrow` and all relevant changes.

**Result:**

Tokens are immediately redistributed upon calling
`clearBurnOrRedistributableShares`.
**Motivation:**

Incorrect gap, off by one.

**Modifications:**

- Updated SM gap.

**Result:**

Correct SM gap.
**Motivation:**

Test should be passing.

**Modifications:**

- Minor (likely rebase) error fixes.

**Result:**

Tests passing.
**Motivation:**

We want to address a few nits.

**Modifications:**

- slash's -> operator set's.

**Result:**

Nits addressed.
**Motivation:**

Want up to date changelog.

**Modifications:**

- Updated changelog.

**Result:**

Up-to-date changelog.
**Motivation:**

Need updated upgrade scripts without slash escrow

**Modifications:**

- Remove slash escrow
- Add source chain conditionals
- Blacklisted eigen and beigen tokens 

**Result:**

Working upgrade scripts

---------

Co-authored-by: clandestine.eth <[email protected]>
@0xClandestine
Copy link
Member Author

image

All but 2 flakey tests are passing when running fork integration tests locally

@ypatil12
Copy link
Collaborator

Closing now that resistro is live

@ypatil12 ypatil12 closed this Jul 22, 2025
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.

2 participants