Conversation
koslambrou
force-pushed
the
ch1bo/pool-reg-bls-key
branch
2 times, most recently
from
September 14, 2026 22:02
48c84f4 to
02a537e
Compare
ch1bo
marked this pull request as ready for review
September 19, 2026 06:14
ch1bo
requested review from
a team,
Jimbo4350,
carbolymer,
disassembler,
kevinhammond and
palas
as code owners
September 19, 2026 06:14
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Unresolved critical implementation and command-routing issues remain, along with required help-golden and type corrections.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 3
Open (5)
What changed in this PR
Adds era-gated BLS voting-key registration for Dijkstra stake-pool certificates.
Changes:
- Adds BLS key parsing, verification-key registration, and proof of possession.
- Updates Dijkstra routing and genesis/compatibility BLS fields.
- Refreshes dependencies, fixtures, configuration, and changelog entries.
| File | Summary / review notes |
|---|---|
flake.nix |
Reformats QEMU command selection. |
flake.lock |
Updates dependency revisions. |
cardano-cli/test/cardano-cli-golden/Test/Golden/Dijkstra/Transaction/Assemble.hs |
Uses a prebuilt Dijkstra transaction body. |
cardano-cli/test/cardano-cli-golden/files/input/dijkstra/transaction/tx_body |
Adds the Dijkstra transaction fixture. |
cardano-cli/src/Cardano/CLI/EraIndependent/Node/Option.hs |
Exports the BLS signing-key parser. |
cardano-cli/src/Cardano/CLI/EraIndependent/Key/Run.hs |
Qualifies fixed-size decoding. |
cardano-cli/src/Cardano/CLI/EraBased/StakePool/Run.hs |
Reads BLS keys and adds them to registration parameters. Critical (3 votes): the Dijkstra path still calls unsupported obtainCommonConstraints. Nit (2 votes): no Dijkstra registration test covers key decoding and certificate serialization. |
cardano-cli/src/Cardano/CLI/EraBased/StakePool/Option.hs |
Adds era-gated BLS option parsing. Moderate (1 vote): Dijkstra help goldens lack the new option. |
cardano-cli/src/Cardano/CLI/EraBased/StakePool/Command.hs |
Adds the BLS argument to the command. |
cardano-cli/src/Cardano/CLI/EraBased/Run.hs |
Adjusts era dispatch. |
cardano-cli/src/Cardano/CLI/EraBased/Query/Run.hs |
Updates serialized pool-state typing. |
cardano-cli/src/Cardano/CLI/EraBased/Option.hs |
Adds restricted Dijkstra command routing. Critical (1 vote): omits transaction parsers. Moderate (1 vote): also removes existing address, key, genesis, governance, query, stake-address, text-view, and transaction entries. |
cardano-cli/src/Cardano/CLI/EraBased/Genesis/Run.hs |
Updates Shelley stake-pool parameter construction with BLS fields. |
cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs |
Adds default BLS fields to generated pools. Critical (1 vote): an arbitrary era signature conflicts with the Shelley-specific constructed result. |
cardano-cli/src/Cardano/CLI/Compatible/StakePool/Run.hs |
Sets legacy-era BLS fields to Nothing. |
cardano-cli/CHANGELOG.md |
Normalizes whitespace. |
cardano-cli/cardano-cli.cabal |
Updates crypto dependency bounds. |
cabal.project |
Updates indexes, constraints, and source dependencies. |
.gitignore |
Ignores direnv files. |
.changes/20260904_fix_dijkstra_era_commands.yml |
Documents Dijkstra command fixes. |
.changes/20260813_120000_cardano-cli_sebastian.nagel_pool_reg_bls_key.yml |
Documents BLS registration. Nit (2 votes): retains the template PR identifier 0. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
carbolymer
reviewed
Sep 22, 2026
| - bugfix | ||
|
|
||
| description: | | ||
| Fix Dijkstra era commands (BLS key generation/hashing, proof of possession, transaction |
Contributor
Author
There was a problem hiding this comment.
Not part of this PR anymore, but still unresolved. CC @koslambrou
ch1bo
force-pushed
the
ch1bo/pool-reg-bls-key
branch
from
September 24, 2026 18:25
b8fc31b to
1b5668f
Compare
ch1bo
force-pushed
the
ch1bo/pool-reg-bls-key
branch
4 times, most recently
from
September 25, 2026 08:43
3acf41f to
57eab97
Compare
ch1bo
added this pull request to stack #1450
September 25, 2026 08:44
ch1bo
force-pushed
the
ch1bo/pool-reg-bls-key
branch
from
September 25, 2026 09:55
57eab97 to
98955b4
Compare
Stake pools can now register a BLS voting key via a new '--bls-signing-key-file' option on 'stake-pool registration-certificate'. The option is era-gated: mandatory from Dijkstra onwards and absent in Conway and earlier, so existing invocations are unaffected. The signing key is read as a text envelope and converted to a registered verification key plus proof of possession via 'toLedgerBlsKey'. The compatible pre-Dijkstra path sets 'stakePoolBlsKey = Nothing'. Co-Authored-By: kolam <kolam@posteo.me>
ch1bo
force-pushed
the
ch1bo/pool-reg-bls-key
branch
from
September 25, 2026 10:02
98955b4 to
4e843ec
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Adds
--bls-signing-key-filetostake-pool registration-certificate.The option is era-gated: mandatory from Dijkstra onwards and not offered at all in Conway or earlier, so existing invocations are unaffected
Depends on IntersectMBO/cardano-api#1307
Checklist
.changes/