Skip to content

Conversation

@bart-linera
Copy link
Contributor

@bart-linera bart-linera commented Jan 9, 2026

Motivation

The change-ownership and change-application-permissions subcommands require the user to specify all the fields that are supposed to have non-default values, even if they don't change.

Proposal

Treat missing arguments in CLI as a signal that the corresponding field should not be change. Use JSON for the value format, so that fields that should be set to None can be passed in as null.

Test Plan

Readme tests exercise the commands, manual checks have been run as well.

CI will catch regressions.

Release Plan

  • These changes should be released in a new SDK,

Links

Currently, changing the application permissions from the CLI requires
specifying the whole final state of the permissions. So changing a
single field requires specifying all of them, otherwise they will be
replaced by default values.

Treat the parameters passed to `change-application-permissions` as
specifying changes instead of the target state.

The arguments now also have to be specified as JSON, because it is
necessary to be able to differentiate between no change, a `None` or an
empty list for some of the fields. Thus:

- an absence of a parameter means no change to the corresponding field
- a "null" means a `None` value (where applicable)
- a "[]" means an empty list.

Manually checked that the parameters are correctly interpreted.

CI will catch regressions.

- These changes should be backported to the latest `testnet` branch,
then
    - be released in a new SDK,

- [reviewer
checklist](https://github.com/linera-io/linera-protocol/blob/main/CONTRIBUTING.md#reviewer-checklist)
@bart-linera bart-linera requested review from Twey, afck, deuszx and ma2bd January 9, 2026 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants