Skip to content

Conversation

@eichhorl
Copy link
Contributor

@eichhorl eichhorl commented Feb 2, 2026

Background

Remote NiDKG requests (i.e. for subnet recovery/creation) currently take anywhere between 1 and 2 DKG intervals of the source subnet to complete. This is because once a request is made, the corresponding NiDKG config will be included only in the following summary block, and the final transcript is only created in the subsequent summary block.

We can reduce this latency by creating and delivering the transcripts already as part of a data block, as soon as enough dealings are available on the blockchain.

Proposed Changes

To prepare for this change, this PR proposes to introduce a new field to the DkgDataPayload. This field will hold the result of remote transcript creations, analogous to how it is already done for summary payloads.

Additionally, we add unit tests and make the folllowing refactorings which will be helpful for implementing the functionality later:

  • get_dkg_dealings, which returns all dealings on the blockchain, now excludes dealings of DKGs for which there is already a completed transcript in one of the data blocks. The excluded DKG IDs are returned.
  • We extract a common function extract_from_dkg_dealing_messages which avoids cloning dealings when called from get_dealers_from_chain
  • We deliver any remote transcripts to execution also when they are part of data blocks.

Note that for now, payloads containing a non-empty remote early transcripts field are rejected. Therefore, this PR does not change the current functionality yet.

@eichhorl eichhorl changed the title Draft: early nidkg types feat: CON-1391 Introduce payload field for early remote NiDKG transcripts Feb 3, 2026
@github-actions github-actions bot added the feat label Feb 3, 2026
@eichhorl eichhorl marked this pull request as ready for review February 3, 2026 07:19
@eichhorl eichhorl requested review from a team as code owners February 3, 2026 07:19
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.

1 participant