Skip to content

Comments

feat(e2e): add tests for static DKG transitions with V1 -> V2 migrations#2750

Open
SuperFluffy wants to merge 5 commits intojanis/v2-peersetsfrom
janis/v2-peersets-tests
Open

feat(e2e): add tests for static DKG transitions with V1 -> V2 migrations#2750
SuperFluffy wants to merge 5 commits intojanis/v2-peersetsfrom
janis/v2-peersets-tests

Conversation

@SuperFluffy
Copy link
Contributor

@SuperFluffy SuperFluffy commented Feb 17, 2026

Adds tests for DKG scenarios that involve a static set of validators and have a transition from the V1 to V2 validator configs.

Also adds a mechanism to wait for the executor to send a finalized block at a given height to the execution layer - this is to fix the problem of the peer manager attempting to read EL state before the block was submitted to the EL.

@SuperFluffy SuperFluffy changed the base branch from main to janis/v2-peersets February 17, 2026 23:37
@SuperFluffy SuperFluffy force-pushed the janis/v2-peersets-tests branch from 42258a6 to 6f53efd Compare February 17, 2026 23:37
Ok(rx)
}

pub(crate) async fn subscribe_finalized(&self, height: Height) -> eyre::Result<()> {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added this to fix the issue of the peer actor wanting to read the finalized block before it was processed by the executor.

@SuperFluffy SuperFluffy force-pushed the janis/v2-peersets-tests branch from 6f53efd to bfe329f Compare February 17, 2026 23:39
// Still nice, because sometimes nodes can be better identified in logs.
let network_addresses = (1..)
.map(|port| SocketAddr::from(([127, 0, 0, 1], port)))
.map(|i| SocketAddr::from(([127, 0, 0, i], 8000)))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Addresses are now uniquely owned by validators (port doesn't matter).

@SuperFluffy SuperFluffy force-pushed the janis/v2-peersets-tests branch 2 times, most recently from eb9ec4f to 766709e Compare February 17, 2026 23:42
@SuperFluffy SuperFluffy force-pushed the janis/v2-peersets-tests branch 5 times, most recently from 6c8f99d to 41e5882 Compare February 19, 2026 12:24
@github-actions
Copy link

github-actions bot commented Feb 19, 2026

📊 Tempo Precompiles Coverage

📦 Download full HTML report

output: Read::read_cfg(buf, cfg)?,
share: ReadExt::read(buf)?,
players: Read::read_cfg(buf, &(range_cfg, ()))?,
syncers: Read::read_cfg(buf, &(range_cfg, ()))?,
Copy link
Contributor Author

@SuperFluffy SuperFluffy Feb 20, 2026

Choose a reason for hiding this comment

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

Once transitioned to V2, syncers can be 0.

This is not a format breaking change! The RangeCfg acts as a check for the encoded length.

Of course once a node has transitioned to V2 it can no longer run in V1. But that's ok.

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.

1 participant