feat(nns): Define update_canister_settings proposal type without execution #529
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
Support a new proposal type to call
ic0.update_settings
for a canister controlled by NNS Root. This can be used to updatememory_allocation
,controllers
,log_visibility
, etc.What
Caveats
Due to how types in the NNS Governance is structured (proto -> rs -> candid), we are unable to create
candid::Nat
fields in a way that's easy to use by clients (protobuf doesn't have integer fields larger thanuint64
). For this reason, we do not supportreserved_cycles_limit
for now, since it is measured in # of cycles and has a range ofu128
. In the near future, we should be able to decouple the API types from the internal types, so that the API type can benat
, while the storage can bemessage Cycles { bytes raw_bytes = 1 }
.