Skip to content

Conversation

@daniel-wong-dfinity-org
Copy link
Contributor

@daniel-wong-dfinity-org daniel-wong-dfinity-org commented Jan 6, 2026

This most introduces the (canister) API and storage (Protocol Buffer) types. Disabled (in production) via a flag.

The other small thing this does is basic validation of the payload. The validation just consists of making sure that it can be decoded as a TakeCanisterSnapshotRequest. One can imagine that further checks being performed, but due to technical limitations (namely, changing functions to async), such checks are not so straightforward.

Nothing has been done yet on execution of such proposals, but since this is an NnsFunction, maybe there is nothing left to do.

Previous Work

In the previous PR, the Root canister was given a new method named take_canister_snapshot, and that is where the (main) implementation of this new proposal type lives.

Future Work

If there are Governance canister changes that are needed to execute this type of proposal, they'll be made in future changes. If not, I guess we can proceed directly to writing an integration test.

References

Addresses NNS1-4295.

👈 Previous PR | Next PR 👉

Copy link
Contributor Author

@daniel-wong-dfinity-org daniel-wong-dfinity-org left a comment

Choose a reason for hiding this comment

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

Reviewer guide.

@daniel-wong-dfinity-org daniel-wong-dfinity-org marked this pull request as ready for review January 6, 2026 10:42
@daniel-wong-dfinity-org daniel-wong-dfinity-org requested a review from a team as a code owner January 6, 2026 10:42
github-actions[bot]

This comment was marked as resolved.

@daniel-wong-dfinity-org daniel-wong-dfinity-org dismissed github-actions[bot]’s stale review January 6, 2026 12:30
  1. Done.
  2. Only in the usual sense: now, there is a new NnsFunction: in order for clients to make sense of the payload, they need to make code changes. OTOH, Candid libraries will decode just fine, even without code changes.
  3. Existing data is fine. No new requirements.
  4. Requesting review of broader feature, but for this PR, all is ok, since this feature is disabled by flag.
… this commit does is introduces the (canister) API and storage types. Disabled via flag; hence, this can be merged into master.
@daniel-wong-dfinity-org daniel-wong-dfinity-org force-pushed the take-snapshot-proposal-daniel-wong branch from ef038fe to 29bd7e6 Compare January 7, 2026 14:52
daniel-wong-dfinity-org

This comment was marked as duplicate.

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