This issue tracked end-to-end support for external calls across the Canton/Daml stack, as the umbrella issue for TODOs and follow-up PRs while the feature was introduced in small reviewable steps. The feature is now delivered end-to-end (2026-07-07); the agreed post-merge work is tracked in #564 and #565.
Completed upstream PRs
Foundations:
Runtime integration (the former #541, superseded by a reviewable split #549–#556, completed by #567):
Daml side:
Tracked follow-ups (post-merge, agreed during review)
The feature remains ProtocolVersion.dev-gated and is inert unless an extension service is configured.
This issue tracked end-to-end support for external calls across the Canton/Daml stack, as the umbrella issue for TODOs and follow-up PRs while the feature was introduced in small reviewable steps. The feature is now delivered end-to-end (2026-07-07); the agreed post-merge work is tracked in #564 and #565.
Completed upstream PRs
Foundations:
EXTERNAL_CALLbuiltin surface: proto/archive decoding, parser support, typing, spec documentation, and LF-focused tests.ViewParticipantDataprotocol data.Runtime integration (the former #541, superseded by a reviewable split #549–#556, completed by #567):
ViewParticipantDatawiring for recorded results.Daml side:
DA.External.externalCall, compiler/LF tooling support, and Daml Script submit-error reporting — merged against a Canton snapshot containing feat(external-call): minimal protocol integration #567.Tracked follow-ups (post-merge, agreed during review)
TransactionView(fail-fast) and the remaining review cleanup items.The feature remains
ProtocolVersion.dev-gated and is inert unless an extension service is configured.