Seeking scope feedback and a Champion: Canton failure transcript interchange
grants-discuss0 messages
- Hello,
The Canton Development Fund team suggested that I circulate a bounded overlap
matrix and milestone outline before writing code or opening a proposal.
I am an external independent developer. After reviewing current standards,
repositories, and approved Development Fund work, I narrowed my original idea
substantially. A general token/dApp conformance or failure-replay toolkit would
overlap with:
- the assigned Wallet Provider Compliance Test Suite in Wallet issue #1759;
- the approved Canton dApp SDK and tooling work;
- PartyLayer's CIP-0103 runner and failure scenarios;
- BitDynamics DevKit's LocalNet, snapshot, replay, CI, and token-flow tooling;
- Splice V1/V2 reference implementations and negative/compatibility tests; and
- approved OpenZeppelin, reference-wallet, and SDK work.
I am therefore asking whether one smaller gap is useful: **Canton Failure
Transcript Interchange (CFTI)**.
CFTI would be a versioned JSON schema, canonicalizer, redaction validator, and
six to ten synthetic fixtures for the observable handoff of one CIP-0056 V1
transfer-instruction failure through the synchronous CIP-0103 provider path.
It would record only a synthetic registry request/response reference, the
existing JSON-RPC request/error, ordered `txChanged` observations, opaque
correlation placeholders, and a redaction manifest.
It would not run a ledger, simulate a wallet, inject faults, manage LocalNet,
replay ledger state, cover CIP-0112/V2, define a new error taxonomy, or issue a
conformance score, badge, or certification. It would reject production data,
party and contract identifiers, credentials, private URLs, timestamps, and
implementation names.
The provisional future-only outline is:
1. **Weeks 1–2:** owner-selected fields, normative map, schema, and fail-closed
redaction rules.
2. **Weeks 3–5:** deterministic canonicalizer, validator, and six to ten
synthetic fixtures.
3. **Weeks 6–7:** one owner-selected emitter or consumer integration in an
existing repository.
4. **Week 8:** two intended-user evaluations, limitations, maintenance, and
upstream handoff.
No implementation has started. I am not claiming that this gap is unclaimed,
that anyone will adopt it, or that I have a Champion, application, or award.
Before proceeding, could the Token Standards / Asset Standards and dApp
Integration reviewers help answer:
1. Does Wallet issue #1759 already include an equivalent portable transcript
format?
2. Is one V1 transfer-instruction failure boundary useful, and which failure
should be the first fixture?
3. Should any artifact live in `canton-network/wallet`,
`canton-network/splice`, or the DevKit work?
4. Which two implementations would emit or consume the same format?
5. If the slice is useful and non-duplicative, is a Tech & Ops member willing
to Champion a refined proposal?
If this is already covered, I will stop or contribute to the existing owner
instead of creating a standalone project.
Thank you,
Kacper
GitHub: https://github.com/cleanerzkp - Hello,
A brief follow-up on the bounded CFTI scope below. I have deliberately
not started implementation while waiting for overlap and ownership
feedback.
To make the review low-effort, any one of the following answers would be enough:
A. Already covered — point me to the owner/issue and I will stop the
standalone proposal.
B. Useful only as a contribution — identify the repository or funded
project where the schema/fixtures should land.
C. Potential standalone gap — identify a Tech & Ops member or SIG
participant willing to review a three-milestone proposal and
potentially act as Champion.
The proposed artifact remains limited to a versioned,
production-data-rejecting failure-transcript schema, deterministic
canonicalizer/redaction validator, synthetic fixtures, and one
owner-selected emitter or consumer integration. It does not include a
ledger runner, wallet simulator, LocalNet management, certification,
or a new error taxonomy.
I would appreciate a clear stop / contribute / refine signal before
investing in code.
Thank you,
Kacper
GitHub: https://github.com/cleanerzkp