-
Notifications
You must be signed in to change notification settings - Fork 52
fix: Operational Certificate circular dependency in KES signature #2669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Operational Certificate circular dependency in KES signature #2669
Conversation
…re in 'ChainObserver' trait Remove the obsolete input for an Operational Certificate.
…tion of 'ChainObserver'
…on of 'ChainObserver'
5e3fae0 to
9f688ed
Compare
9f688ed to
ad3862d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes a circular dependency in the KES signature process by removing the requirement for an operational certificate parameter from the ChainObserver trait's get_current_kes_period method. Instead of relying on the operational certificate for KES period computation, the implementation now calculates the current KES period directly from the current slot and a hardcoded slots-per-KES-period value.
- Removed
OpCertparameter fromget_current_kes_periodmethod signature across all ChainObserver implementations - Updated CLI observer to calculate KES period from current slot instead of querying operational certificate info
- Modified callers to use the parameterless method and compute relative KES periods locally
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| mithril-signer/src/runtime/runner.rs | Updated to call parameterless get_current_kes_period() method |
| mithril-signer/src/dependency_injection/builder.rs | Added operational certificate path to chain observer configuration |
| mithril-aggregator/src/services/signer_registration/verifier.rs | Updated to call parameterless get_current_kes_period() method |
| internal/mithril-dmq/src/message.rs | Updated to call parameterless get_current_kes_period() method |
| internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/interface.rs | Updated trait definition to remove OpCert parameter |
| internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/cli_observer.rs | Refactored to calculate KES period from slot number instead of operational certificate |
| internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/pallas_observer.rs | Updated implementation to match new interface |
| Various Cargo.toml files | Version bumps for affected crates |
| Test files | Updated mocks and test implementations to match new interface |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/cli_observer.rs
Show resolved
Hide resolved
internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/cli_observer.rs
Show resolved
Hide resolved
internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/cli_observer.rs
Outdated
Show resolved
Hide resolved
ad3862d to
4eda1f9
Compare
* mithril-cardano-node-chain from `0.1.7` to `0.1.8` * mithril-dmq from `0.1.8` to `0.1.9` * mithril-aggregator from `0.7.81` to `0.7.82` * mithril-signer from `0.2.265` to `0.2.266`
4eda1f9 to
3d8b215
Compare
Content
This PR includes a fix for the circular dependency of the Operational Certificate in the context of KES signature:
ChainObservertrait KES period computation function.ChainObservertrait.Pre-submit checklist
Issue(s)
Closes #2668