Skip to content

Proposal: Canton DAR-to-TypeScript Codegen Toolkit#74

Open
srikanth-bitdynamics wants to merge 1 commit intocanton-foundation:mainfrom
srikanth-bitdynamics:main
Open

Proposal: Canton DAR-to-TypeScript Codegen Toolkit#74
srikanth-bitdynamics wants to merge 1 commit intocanton-foundation:mainfrom
srikanth-bitdynamics:main

Conversation

@srikanth-bitdynamics
Copy link

@srikanth-bitdynamics srikanth-bitdynamics commented Mar 11, 2026

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 .dar and 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 .dar files 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

  • Proposal file added under /proposals/
  • Milestones and funding amounts defined
  • Acceptance criteria included
  • Alignment with Canton priorities described

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 .dar artifacts, 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:

  • focused specifically on the contract-to-application handoff after a .dar already exists
  • generates stable TypeScript registries rather than a broad runtime SDK
  • improves upgrade safety through check and diff workflows
  • stays verifiable, and easy to adopt incrementally

This 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.

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