Skip to content

feat: add Stader validator registry support - #465

Open
PedroCM96 wants to merge 8 commits into
Commit-Boost:mainfrom
Stakely:support-stader
Open

feat: add Stader validator registry support#465
PedroCM96 wants to merge 8 commits into
Commit-Boost:mainfrom
Stakely:support-stader

Conversation

@PedroCM96

Copy link
Copy Markdown
Contributor

Add support for loading validator keys from Stader registries.

A new stader registry is introduced with explicit pool selection for Stader's permissioned or permissionless node registries.

This implementation follows the same high-level structure used for the Lido implementation: resolve the registry contract, fetch the total number of keys and load those keys in batches through the shared registry key collection logic.

Add support for loading validator keys from Stader registries.

A new `stader` registry is introduced with explicit pool selection for
Stader's permissioned or permissionless node registries.

This implementation follows the same high-level structure used for the
Lido implementation: resolve the registry contract, fetch the total
number of keys and load those keys in batches through the shared
registry key collection logic.
@PedroCM96
PedroCM96 requested a review from a team May 8, 2026 09:02
JasonVranek
JasonVranek previously approved these changes May 27, 2026
ltitanb
ltitanb previously approved these changes Jul 30, 2026

@ManuelBilbao ManuelBilbao left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please update the loader reference in config.example.toml

# Loader for validator pubkeys. Three types of loaders are supported:
# - File: path to a file containing a list of validator pubkeys in JSON format
# - URL: URL to an HTTP endpoint returning a list of validator pubkeys in JSON format
# - Registry: details of a registry to load keys from. Supported registries:
# - Lido: NodeOperatorsRegistry
# - SSV: SSV API
# You can toggle the 'enable_refreshing' flag to let this registry periodically query Lido or SSV and refresh the list of validator pubkeys belonging to the corresponding operator.
# Each of these registry entries must be unique:
# - There can only be one Lido entry with a given Lido node operator ID.
# - There can only be one SSV entry with a given SSV node operator ID.
# - A Lido entry can have the same node operator ID as an SSV entry if they happen to coincide; they're treated as separate entities.
#
# Example JSON list:
# [
# "0x80c7f782b2467c5898c5516a8b6595d75623960b4afc4f71ee07d40985d20e117ba35e7cd352a3e75fb85a8668a3b745",
# "0xa119589bb33ef52acbb8116832bec2b58fca590fe5c85eac5d3230b44d5bc09fe73ccd21f88eab31d6de16194d17782e"
#]
# OPTIONAL
loader = "./tests/data/mux_keys.example.json"
# loader = { url = "http://localhost:8000/keys" }
# loader = { registry = "lido", node_operator_id = 8, lido_module_id = 1, enable_refreshing = false }
# loader = { registry = "ssv", node_operator_id = 8, enable_refreshing = false }

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.

4 participants