Skip to content

feat: Simplify slasher settings - #16625

Merged
spalladino merged 1 commit into
nextfrom
palla/slash-settings
Aug 29, 2025
Merged

spalladino merged 1 commit into
nextfrom
palla/slash-settings

Conversation

@spalladino

@spalladino spalladino commented Aug 28, 2025 •

Copy link
Copy Markdown
Contributor

Fixes #16597

Builds on #16617

@LHerskind LHerskind left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just looked first few files. can look more tomorrow.

require(QUORUM > ROUND_SIZE / 2, Errors.TallySlashingProposer__InvalidQuorumAndRoundSize(QUORUM, ROUND_SIZE));
require(QUORUM <= ROUND_SIZE, Errors.TallySlashingProposer__InvalidQuorumAndRoundSize(QUORUM, ROUND_SIZE));
require(SLASHING_UNIT > 0, Errors.TallySlashingProposer__SlashingUnitMustBeGreaterThanZero(SLASHING_UNIT));
require(_slashAmounts[0] <= _slashAmounts[1], Errors.TallySlashingProposer__InvalidSlashAmounts(_slashAmounts));

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should there be some limit to avoid it being 0? Could they not all be 0 🤷

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm fine setting them all to zero if we want to have no effective slashing

// Deployment stuff

/** How many seconds an L1 slot lasts. */
ethereumSlotDuration: number;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bejesus.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The amount of config is a crime against humanity.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is. I'm about to send another PR for validating config, so this does not blow up in our phases at deployment time, but earlier.

Base automatically changed from palla/gas-golf-slash-proposer to next August 28, 2025 22:01
@spalladino
spalladino force-pushed the palla/slash-settings branch from 9330fa3 to cc519f7 Compare August 29, 2025 12:38
spalladino added a commit that referenced this pull request Aug 29, 2025
Adds some missing features to slashing, and some cleanup:

- Adds support for the slashValidatorNever and slashValidatorAlways
config settings (now EthAddress lists) so that validators in those lists
are never/always slashed. All validators in the local keystore are
automatically added to the "never" list (unless `slashSelfAllowed` is
set).

- Checks if a slash payload is vetoed before trying to execute it, to
avoid running an unnecessary simulation. This is handled on the slasher
client directly.

- Adds expiration for offenses and payloads to avoid cluttering the
local stores. Removes unused `slashPayloadTtl` setting.

- Moves `slasher/factory` methods around to avoid circular dependency.

Builds on #16625
@spalladino
spalladino force-pushed the palla/slash-settings branch from 0b75251 to cc519f7 Compare August 29, 2025 17:01
@spalladino
spalladino enabled auto-merge August 29, 2025 17:01
@spalladino
spalladino added this pull request to the merge queue Aug 29, 2025
github-merge-queue Bot pushed a commit that referenced this pull request Aug 29, 2025
Merged via the queue into next with commit 5256c9f Aug 29, 2025
18 checks passed
@spalladino
spalladino deleted the palla/slash-settings branch August 29, 2025 18:04
spalladino added a commit that referenced this pull request Sep 1, 2025
Updates the slasher variables used in helm templates to match the new
ones defined in #16694 and #16625. Sets all values to be empty, so we
rely on the defaults set in the node and don't have multiple places
where we define default values.

Also adds a `check_env_vars` script (authored by claude) that checks if
we are using any env var not defined in the env_var list in ts, so the
CI should shout if we update a variable in ts-land but forget to update
it in helm.
github-merge-queue Bot pushed a commit that referenced this pull request Sep 1, 2025
Updates the slasher variables used in helm templates to match the new
ones defined in #16694 and #16625. Sets all values to be empty, so we
rely on the defaults set in the node and don't have multiple places
where we define default values.

Also adds a `check_env_vars` script (authored by claude) that checks if
we are using any env var not defined in the env_var list in ts, so the
CI should shout if we update a variable in ts-land but forget to update
it in helm.
mralj pushed a commit that referenced this pull request Oct 13, 2025
Updates the slasher variables used in helm templates to match the new
ones defined in #16694 and #16625. Sets all values to be empty, so we
rely on the defaults set in the node and don't have multiple places
where we define default values.

Also adds a `check_env_vars` script (authored by claude) that checks if
we are using any env var not defined in the env_var list in ts, so the
CI should shout if we update a variable in ts-land but forget to update
it in helm.
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cleanup slash config

3 participants