Skip to content

chore: CRP-2972 CRP-2973 Remove pre_signatures_to_create_in_advance registry migration an update invariants#10133

Open
eichhorl wants to merge 3 commits intomasterfrom
eichhorl/update-veetkd-invariants
Open

chore: CRP-2972 CRP-2973 Remove pre_signatures_to_create_in_advance registry migration an update invariants#10133
eichhorl wants to merge 3 commits intomasterfrom
eichhorl/update-veetkd-invariants

Conversation

@eichhorl
Copy link
Copy Markdown
Contributor

@eichhorl eichhorl commented May 8, 2026

Previously (before the introduction of VetKD), the ChainKeyConfigs pre_signatures_to_create_in_advance field was mandatory (and set to Some(0) for VetKD). However, this field doesn't make sense for VetKD, and was migrated to None in #8247.

The migration has been completed, therefore this PR removes the migration code from the registry's post-upgrade.

Additionally, we extend the registry invariants to ensure that:

  • Keys that require pre-signatures have a non-zero pre_signatures_to_create_in_advance
  • Keys that don't require pre-signatures have pre_signatures_to_create_in_advance set to None

Canbench improvements:

Only significant changes:
| status | name                           | calls |     ins |  ins Δ% | HI |  HI Δ% | SMI |  SMI Δ% |
|--------|--------------------------------|-------|---------|---------|----|--------|-----|---------|
|   -    | migrate_canisters_10_times_100 |       | 153.04M |  -2.13% |  0 |  0.00% |   0 |   0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ% = percent change

@eichhorl eichhorl added the CI_ALL_BAZEL_TARGETS Runs all bazel targets label May 8, 2026
@github-actions github-actions Bot added the chore label May 8, 2026
@eichhorl eichhorl marked this pull request as ready for review May 8, 2026 12:07
@eichhorl eichhorl requested review from a team as code owners May 8, 2026 12:07
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

This pull request changes code owned by the Governance team. Therefore, make sure that
you have considered the following (for Governance-owned code):

  1. Update unreleased_changelog.md (if there are behavior changes, even if they are
    non-breaking).

  2. Are there BREAKING changes?

  3. Is a data migration needed?

  4. Security review?

How to Satisfy This Automatic Review

  1. Go to the bottom of the pull request page.

  2. Look for where it says this bot is requesting changes.

  3. Click the three dots to the right.

  4. Select "Dismiss review".

  5. In the text entry box, respond to each of the numbered items in the previous
    section, declare one of the following:

  • Done.

  • $REASON_WHY_NO_NEED. E.g. for unreleased_changelog.md, "No
    canister behavior changes.", or for item 2, "Existing APIs
    behave as before.".

Brief Guide to "Externally Visible" Changes

"Externally visible behavior change" is very often due to some NEW canister API.

Changes to EXISTING APIs are more likely to be "breaking".

If these changes are breaking, make sure that clients know how to migrate, how to
maintain their continuity of operations.

If your changes are behind a feature flag, then, do NOT add entrie(s) to
unreleased_changelog.md in this PR! But rather, add entrie(s) later, in the PR
that enables these changes in production.

Reference(s)

For a more comprehensive checklist, see here.

GOVERNANCE_CHECKLIST_REMINDER_DEDUP

@eichhorl eichhorl dismissed github-actions[bot]’s stale review May 8, 2026 12:17
  1. Done.
  2. No breaking changes.
  3. No data migration needed.
  4. No security review needed.
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.

2 participants