feat(NNS): add snapshot visibility settings#9257
Conversation
… without PR is already 2_097_610.
These changes are moved to a separate PR on branch gdemay/DEFI-2667-snapshot-visibility-governance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
a0920dd to
7981151
Compare
7981151 to
4e09f94
Compare
Add the types needed for canisters' snapshot visibility settings, to allow principals other than the canister's controllers to be able to list and read canister's snaphots. In short this is like log visibility settings but for canister's snapshots. This PR only adds the needed types and does not change any existing logic. Support for snapshot visibility settings for NNS-owned canisters will be done in #9257. Note that the changes regarding the CMC are needed in this PR because the CMC exposes `ic_management_canister_types_private::CanisterSettingsArgs` via the type `CreateCanister` which is an argument of the `create_canister` endpoint and the test `test_candid_interface_compatibility` ensures that the exposed Canister API is equal to the one declared in `cmc.did`. Sequence of PRs to implement canister snapshot visibility settings as specified in dfinity/portal#6195: 1. #9155 2. #9158 (this) 3. #9227 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: IDX GitHub Automation <infra+github-automation@dfinity.org>
…nance # Conflicts: # rs/cycles_account_manager/src/lib.rs # rs/nns/cmc/cmc.did # rs/types/management_canister_types/src/lib.rs
There was a problem hiding this comment.
This pull request changes code owned by the Governance team. Therefore, make sure that
you have considered the following (for Governance-owned code):
-
Update
unreleased_changelog.md(if there are behavior changes, even if they are
non-breaking). -
Are there BREAKING changes?
-
Is a data migration needed?
-
Security review?
How to Satisfy This Automatic Review
-
Go to the bottom of the pull request page.
-
Look for where it says this bot is requesting changes.
-
Click the three dots to the right.
-
Select "Dismiss review".
-
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
daniel-wong-dfinity-org
left a comment
There was a problem hiding this comment.
This makes me sad. I mean, the problem is not in this PR itself, ofc. This PR navigates the mess in a locally reasonable way. The reason this makes me sad is that it shows us the insane number of hoops one needs to jump through in order to achieve something simple. I mean, I already knew that, and I have been trying (and failing) to resist this horrible slide into the classic Google meme:
rant.terminate()
…nance # Conflicts: # rs/sns/root/src/lib.rs
gregorydemay
left a comment
There was a problem hiding this comment.
Thanks @daniel-wong-dfinity-org for the review and sorry for long time between your review and the 2nd iteration.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Summary - Follow-up on #9158 to add `snapshot_visibility` support to governance-team owned canisters (NNS, SNS, CMC, registry admin) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Summary
snapshot_visibilitysupport to governance-team owned canisters (NNS, SNS, CMC, registry admin)🤖 Generated with Claude Code