Skip to content

cip: add SV governance voter authority#210

Open
ericmann wants to merge 9 commits into
canton-foundation:mainfrom
Avro-Digital:eric-avro/cip-sv-governance-voter
Open

cip: add SV governance voter authority#210
ericmann wants to merge 9 commits into
canton-foundation:mainfrom
Avro-Digital:eric-avro/cip-sv-governance-voter

Conversation

@ericmann
Copy link
Copy Markdown

@ericmann ericmann commented May 14, 2026

Summary

This PR adds a Standards Track / Daml CIP specifying an SV governance-voter authority path for non-operational governance votes.

The CIP preserves one-vote-per-SV semantics while separating governance voting from node-operation authority. It defines a DSO-signed SvGovernanceVoter binding, confirmation-quorum rotation through SRARC_RotateGovernanceVoter, optional governance-voter paths on the existing DsoRules_RequestVote and DsoRules_CastVote choices, vote attribution fields, stale-binding handling at close, and cleanup for duplicate or orphaned bindings.

Per CIP-0000, the author has not self-assigned a number; the editor will assign one on merge.

What this CIP specifies

  • A DSO-signed SvGovernanceVoter binding for the represented SV's active governance voter.
  • Default self-binding at SV onboarding (governanceVoter == sv).
  • Governance-voter rotation through the existing confirmation-quorum flow.
  • A hardcoded Phase 1 action allowlist via isGovernanceVoterAction.
  • Optional bindingCid / castBy arguments on existing request and cast choices to select the governance-voter path.
  • Vote attribution via optional castBy, castByRole, and bindingCid fields.
  • Stale-binding filtering in DsoRules_CloseVoteRequest.
  • Garbage collection for duplicate or orphaned governance-voter bindings.
  • One-vote-per-SV tallying with no additional vote weight for governance voters.

What this CIP does not propose

  • No changes to vote weight, tokenomics, fees, rewards, or amulet semantics.
  • No broad rights-holder voting or multiple ledger-level voters per SV.
  • No standalone governance dApp specification.
  • No wallet/provider selection, deployment packaging, or UX rollout standard.
  • No special target-SV exclusion for SRARC_OffboardSv; represented-SV voting semantics are preserved.

Reference implementation

Reference implementation: canton-network/splice#5533

Relevant artifacts:

  • daml/splice-dso-governance/daml/Splice/DSO/GovernanceVoter.daml
  • daml/splice-dso-governance/daml/Splice/DsoRules.daml
  • daml/splice-dso-governance-test/daml/Splice/Scripts/TestGovernance.daml
  • docs/src/sv_operator/sv_governance_voter.rst

Test plan

  • Editorial review in this repo.
  • Reference implementation reports splice-dso-governance-test-daml/damlTest passing on the linked Splice branch.

ericmann and others added 5 commits May 21, 2026 14:36
Signed-off-by: Eric Mann <eric@avrofi.com>
* Update cip-0116.md

Signed-off-by: pedrodneves <pedro@canton.foundation>

* small changes

---------

Signed-off-by: pedrodneves <pedro@canton.foundation>
Co-authored-by: Amanda L Martin <hythloda@gmail.com>
Signed-off-by: pedrodneves <pedro@canton.foundation>
* Update cip-0116.md

Signed-off-by: pedrodneves <pedro@canton.foundation>

* Update README.md

Signed-off-by: pedrodneves <pedro@canton.foundation>

---------

Signed-off-by: pedrodneves <pedro@canton.foundation>
Signed-off-by: Eric Mann <eric@avrofi.com>
@ericmann ericmann force-pushed the eric-avro/cip-sv-governance-voter branch from 86c13ca to 21fb776 Compare May 21, 2026 19:37
@ericmann ericmann changed the title Add draft CIP for SV governance voter authority cip: add SV governance voter authority May 21, 2026
@ericmann ericmann marked this pull request as ready for review May 21, 2026 20:06
@ericmann ericmann requested a review from a team as a code owner May 21, 2026 20:06
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