Canton Foundation Adds CIP-0127 Setting Out an Implementation Plan for SV and FA Locking
The proposal text, merged via pull request #250 on 19 October 2026, follows code work in a dedicated Splice repository that adds lock substitutions and a reworked compatibility mode.
A commit published on 19 October 2026 in the Canton Foundation's canton-foundation/cips repository adds CIP-0127, titled "SV and FA locking implementation", through pull request #250. The commit history shows the text was revised many times. The revisions covered lock status reporting, transfers, the termination of the super validator (SV) lockup requirement and an incremental delivery plan.
The proposal is accompanied by implementation work in the canton-network/splice-sv-fa-locking repository. There, pull request #116, titled "TSv1 substitution + compat mode overhaul", was opened on 8 October 2026 and merged on 9 October 2026 into a development branch.
What the proposal text covers
The commit messages for pull request #250 outline how the CIP-0127 document took shape. The full text is not reproduced in the commit summary, but the listed changes include:
- Lock status reporting: a switch to a memo tag, with an explanation of how lock status reporting moves to a prefix.
- Transfers: a section specifying how transfers work.
- Token standard: wording changed to avoid committing to a TSv2 API.
- SV lockup: a simplified termination of the SV lockup requirement, plus a change to an immediate loss of weight.
- Dependencies: a clarified dependency on an IEU proposal, direct links to other CIPs and a quoted stipulation from CIP-105.
- Top-ups: explicit top-up operations removed in favour of what the commit calls simpler and more general automatic lock merging.
- Compatibility mode: refactored to support transfers and substitutions of owner-controlled locks, alongside an adjusted incremental delivery plan.
The commit history also records that an author named Jonathan was added to the document.
Implementation work on lock substitutions
Pull request #116 in canton-network/splice-sv-fa-locking was authored by Matt Dziuban. It touched Daml files including Splice/GovernanceLock.daml in the splice-amulet package, as well as Scala components for the Scan app and update history. The commits in the pull request include:
- parsing substitution requests in the TSv1 parser and implementing the V1 TransferInstruction interface for substitutions;
- requiring an unlock amount and asserting that it does not exceed the locked amount;
- requiring vesting start and vested until times, supported by a new ISO 8601 parser;
- ingesting lock substitutions in Scan;
- adding DSO choices to withdraw expired substitutions and rejecting substitution proposals dated in the future.