Proposal: Canton DAR-to-TypeScript Codegen Toolkit#74
Open
srikanth-bitdynamics wants to merge 1 commit intocanton-foundation:mainfrom
Open
Proposal: Canton DAR-to-TypeScript Codegen Toolkit#74srikanth-bitdynamics wants to merge 1 commit intocanton-foundation:mainfrom
srikanth-bitdynamics wants to merge 1 commit intocanton-foundation:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Development Fund Proposal Submission
Proposal file:
/proposals/canton-dar-typescript-codegen-toolkit.md
Summary
This proposal requests funding to build a focused open-source developer tool that reads a compiled
.darand generates a TypeScript package with package IDs, template IDs, choice names, and manifest-based drift checks.It addresses a specific Canton integration problem surfaced in developer research: teams manually extract identifiers from
.darfiles and hardcode them into application code. The proposal is intentionally narrow and focused on one practical workflow improvement rather than a broader SDK effort.Checklist
/proposals/Notes for Reviewers
This proposal is intentionally scoped to avoid overlap with broader SDK, language-binding, and general developer-tooling efforts already under discussion.
It focuses on one specific workflow gap that appears after
daml build: teams still manually inspect compiled.darartifacts, extract package and template identifiers, wire them into TypeScript code, and repeat that work during upgrades. The goal of this proposal is to turn that repeated glue work into a open-source tool with deterministic generation, manifest-based drift checks, and CI-friendly verification.The main differentiators are:
.daralready existscheckanddiffworkflowsThis project is intended as a public-good developer tool from day one. It does not require protocol changes, hosted infrastructure, or application architecture changes, and it should be straightforward for TypeScript teams building on Canton to adopt.
Bitdynamics is approaching this as infrastructure work rather than product packaging. Our team has experience building developer and infrastructure systems, including infrastructure and integration work around Ethereum-based environments.