Daml Package Analyzer #130 Milestone 1
Milestones and Deliverables
Milestone 1: Core Analysis Engine
Estimated Delivery: 2 months from start
This milestone delivers the core functionality of the tool. It will accept a .dar file as input and produce a structured output describing all detected cross-package interactions, including choice exercises and template usage.
For each reported interaction, the output will include the relevant source file and line number where the interaction occurs, allowing auditors and developers to immediately inspect the corresponding code.
The output format will be documented and stable, and the implementation will be validated against representative Daml projects to ensure correctness and consistency. It will include a machine readable output in JSON format and a visual representation of the calls.
Milestone 1: Core Analysis Engine
- A working CLI tool is delivered that accepts a .dar file as inputs and identifies their dependencies. The CLI can run on Linux, MacOS, and Windows.
- The tool detects and reports cross-package interactions:
Exercising choices on templates defined in another package Usage of templates defined in another package
- For each reported interaction, the tool includes:
source file path exact line number(s) of the interaction the packages involved and its version the referenced template, its version, and the choice where applicable * If it is a non-consuming or consuming choice
- Both outputs are available:
- Structured JSON output
- Visual representation of package interactions
- Documentation is provided explaining how to run the tool and interpret its output.
- 3 voting member companies have reviewed the tool and accepted it.
- The tool is released as open-source under the Apache 2.0 license.
- Milestone 1 (Core Analysis Engine): 335,000 Canton Coin
Duration: 2 months Potential Start Date: 7th April 2026 Finishing Date: 6th June 2026
_Originally posted by @hythloda in https://github.com/canton-foundation/canton-dev-fund/issues/130#issuecomment-4254816942_