Skip to content

Expose the stake pool BLS key in StakePoolParameters - #1307

Draft
ch1bo wants to merge 2 commits into
masterfrom
ch1bo/stake-pool-bls-key
Draft

ch1bo wants to merge 2 commits into
masterfrom
ch1bo/stake-pool-bls-key

Conversation

@ch1bo

@ch1bo ch1bo commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

cardano-ledger-core 1.22 added sppBlsKey to StakePoolParams, letting a stake pool register a BLS voting key together with a proof of possession from the Dijkstra era onwards. Surface it as stakePoolBlsKey and convert it in both directions, so building and inspecting a pool registration certificate round-trips the key.

createBlsKeyRegistration derives the pair a pool has to register -- verification key plus proof of possession -- from a BLS signing key, which is otherwise fiddly to assemble from the pieces this module already exports.

The ledger BlsKey is re-exported from Cardano.Api.Ledger so that callers do not need a direct cardano-ledger-core dependency to name the field's type.

Context

Additional context for the PR goes here. If the PR fixes a particular issue please provide a link to the issue.

How to trust this PR

Highlight important bits of the PR that will make the review faster. If there are commands the reviewer can run to observe the new behavior, describe them.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff
  • Changelog fragment added in .changes/

* Bump version to 11.6.0.0; configure SRPs and update bounds for 11.2 integration
* Fix build compatibility: ByteArrayAccess, XPrv conversion, new ledger fields
* Re-export DijkstraTxCert from Cardano.Api.Ledger
* Add Dijkstra era protocol parameter update support
* Fix SerialisedPoolState to carry an era type parameter; unwrap Serialised in QueryPoolState
* Update to era-parameterized PoolCert/StakePoolParams in cardano-rpc certificate types
* Add individualPoolStakeBls (SNothing) field to IndividualPoolStake in EpochLeadership test
* Update History.Bound and EraParams to new Peras API (PerasRoundNo, NoPerasEnabled)
* Adapt cardano-rpc grapesy integration: memory -> ram, ExactException handler signature
* Update hackage index-state and flake.lock (hackageNix) to 2026-09-02
@koslambrou
koslambrou force-pushed the ch1bo/stake-pool-bls-key branch 3 times, most recently from 104cdbd to bd89326 Compare September 14, 2026 19:55
cardano-ledger-core 1.22 added `sppBlsKey` to `StakePoolParams`, letting
a stake pool register a BLS voting key together with a proof of possession
from the Dijkstra era onwards. Surface it as `stakePoolBlsKey` and convert
it in both directions, so building and inspecting a pool registration
certificate round-trips the key.

`createBlsKeyRegistration` derives the pair a pool has to register --
verification key plus proof of possession -- from a BLS signing key,
which is otherwise fiddly to assemble from the pieces this module
already exports.

* Bump `cardano-ledger-core` version bound to `^>=1.22`
* Update CHaP and hackageNix index-states in flake.lock
* Re-export `BlsKey` from `Cardano.Api.Ledger`
* Add .direnv/.envrc to .gitignore

Co-Authored-By: kolam <kolam@posteo.me>
@koslambrou
koslambrou force-pushed the ch1bo/stake-pool-bls-key branch from c25d759 to f67b883 Compare September 14, 2026 21:38
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.

3 participants