From 6001612572c9b0bb9950499696b031d080f6ea82 Mon Sep 17 00:00:00 2001 From: danielporterda Date: Thu, 3 Sep 2026 11:12:49 -0400 Subject: [PATCH 1/4] Add Canton topology version generator Signed-off-by: danielporterda --- package.json | 1 + ...anton_topology_transaction_versions.canton | 15 ++ scripts/generate_all_reference_docs.py | 5 + ...te_canton_topology_transaction_versions.py | 143 ++++++++++++++++++ scripts/update_generated_reference_prs.py | 13 +- ...st_canton_topology_transaction_versions.py | 81 ++++++++++ tests/test_update_generated_reference_prs.py | 1 + 7 files changed, 255 insertions(+), 4 deletions(-) create mode 100644 scripts/canton_topology_transaction_versions.canton create mode 100644 scripts/generate_canton_topology_transaction_versions.py create mode 100644 tests/test_canton_topology_transaction_versions.py diff --git a/package.json b/package.json index 934b79a40..e28c66544 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "update:generated-reference-sources": "python3 scripts/update_generated_reference_sources.py", "generate:version-compatibility-dashboard": "python3 scripts/generate_network_component_versions.py", "generate:canton-topology-proto-link": "python3 scripts/generate_canton_topology_proto_link.py", + "generate:canton-topology-transaction-versions": "python3 scripts/generate_canton_topology_transaction_versions.py", "generate:json-api-reference": "python3 scripts/generate_json_api_reference.py", "generate:json-api-asyncapi-reference": "python3 scripts/generate_json_api_asyncapi_reference.py", "generate:grpc-ledger-api-reference": "python3 scripts/generate_grpc_ledger_api_reference.py", diff --git a/scripts/canton_topology_transaction_versions.canton b/scripts/canton_topology_transaction_versions.canton new file mode 100644 index 000000000..7811cdfaa --- /dev/null +++ b/scripts/canton_topology_transaction_versions.canton @@ -0,0 +1,15 @@ +import io.circe.syntax._ +import com.digitalasset.canton.topology.transaction.TopologyTransaction +import com.digitalasset.canton.version.ProtocolVersion + +val rows = ProtocolVersion.supported.filterNot(_.isDev).map { protocolVersion => + protocolVersion.v.toString -> List( + TopologyTransaction.protoVersionFor(protocolVersion).v.toString + ) +} + +println( + io.circe.Json + .obj("topologyTransactionProtocolVersionToProtobufVersions" -> rows.asJson) + .spaces2 +) diff --git a/scripts/generate_all_reference_docs.py b/scripts/generate_all_reference_docs.py index b281b0de6..704372f27 100644 --- a/scripts/generate_all_reference_docs.py +++ b/scripts/generate_all_reference_docs.py @@ -126,6 +126,11 @@ class ScriptJob: nav_slices=(), target_ids=(), ), + ScriptJob( + script_path=REPO_ROOT / "scripts" / "generate_canton_topology_transaction_versions.py", + nav_slices=(), + target_ids=(), + ), ] diff --git a/scripts/generate_canton_topology_transaction_versions.py b/scripts/generate_canton_topology_transaction_versions.py new file mode 100644 index 000000000..ec981d47b --- /dev/null +++ b/scripts/generate_canton_topology_transaction_versions.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +import sys +from typing import cast + +from canton_release_reference import ( + DEFAULT_RELEASE_REPO, + ReleaseAsset, + ensure_release_archive, + extract_release, + resolve_release_asset, + run_reference_script, +) +from docs_env import ensure_repo_direnv + + +REPO_ROOT = Path(__file__).resolve().parents[1] +DEFAULT_CACHE_DIR = REPO_ROOT / ".internal" / "cache" / "canton-topology-versions" +DEFAULT_OUTPUT = ( + REPO_ROOT / "docs-main" / "appdev" / "deep-dives" / "external-signing-topology.mdx" +) +REFERENCE_SCRIPT = REPO_ROOT / "scripts" / "canton_topology_transaction_versions.canton" +GENERATED_START = "{/* GENERATED_CANTON_TOPOLOGY_VERSIONS_START */}" +GENERATED_END = "{/* GENERATED_CANTON_TOPOLOGY_VERSIONS_END */}" +TABLE_HEADER = "| Protocol Version | Topology Transaction Protobuf Version |" + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Generate topology-transaction version mappings from a public Canton release binary." + ) + parser.add_argument("--release-repo", default=DEFAULT_RELEASE_REPO) + parser.add_argument("--canton-tag") + parser.add_argument("--cache-dir", type=Path, default=DEFAULT_CACHE_DIR) + parser.add_argument("--output", type=Path, default=DEFAULT_OUTPUT) + parser.add_argument("--reference-json", type=Path) + parser.add_argument("--force-refresh", action="store_true") + parser.add_argument("--docs-json") + return parser.parse_args() + + +def load_rows(payload: object) -> list[tuple[str, list[str]]]: + key = "topologyTransactionProtocolVersionToProtobufVersions" + if not isinstance(payload, dict) or not isinstance(payload.get(key), list): + raise ValueError(f"Canton reference JSON must contain a {key} list") + rows: list[tuple[str, list[str]]] = [] + for index, row in enumerate(payload[key]): + if ( + not isinstance(row, list) + or len(row) != 2 + or not isinstance(row[0], str) + or not isinstance(row[1], list) + or not row[1] + or not all(isinstance(value, str) and value for value in row[1]) + ): + raise ValueError(f"Topology-version row {index} is invalid") + rows.append((row[0], cast(list[str], row[1]))) + return rows + + +def render_table(rows: list[tuple[str, list[str]]], *, asset: ReleaseAsset) -> str: + lines = [ + GENERATED_START, + "", + ( + "{/* GENERATED_FROM " + f'source="{DEFAULT_RELEASE_REPO}" ref="{asset.tag}" asset="{asset.name}" ' + f'digest="{asset.digest}" protocol_version_count="{len(rows)}" */}}' + ), + "", + TABLE_HEADER, + "| --- | --- |", + ] + lines.extend( + f"| {protocol_version} | {', '.join(protobuf_versions)} |" + for protocol_version, protobuf_versions in rows + ) + lines.extend(["", GENERATED_END]) + return "\n".join(lines) + + +def replace_table(page: str, table: str) -> str: + if GENERATED_START in page: + start = page.index(GENERATED_START) + end = page.index(GENERATED_END, start) + len(GENERATED_END) + return page[:start].rstrip() + "\n\n" + table + "\n\n" + page[end:].lstrip() + + start = page.index(TABLE_HEADER) + lines = page[start:].splitlines(keepends=True) + table_line_count = 0 + for line in lines: + if not line.strip(): + break + table_line_count += 1 + end = start + sum(len(line) for line in lines[:table_line_count]) + return page[:start].rstrip() + "\n\n" + table + "\n\n" + page[end:].lstrip() + + +def main() -> int: + ensure_repo_direnv( + repo_root=REPO_ROOT, script_path=Path(__file__).resolve(), argv=sys.argv[1:] + ) + args = parse_args() + asset = resolve_release_asset(release_repo=args.release_repo, tag=args.canton_tag) + if args.reference_json: + payload = json.loads(args.reference_json.read_text(encoding="utf-8")) + else: + archive_path = ensure_release_archive( + asset=asset, cache_dir=args.cache_dir, force_refresh=args.force_refresh + ) + distribution_root = extract_release( + archive_path=archive_path, + asset=asset, + cache_dir=args.cache_dir, + force_refresh=args.force_refresh, + ) + payload = run_reference_script( + distribution_root=distribution_root, + script_path=REFERENCE_SCRIPT, + cache_dir=args.cache_dir, + cache_namespace="topology-transaction-versions", + asset=asset, + force_refresh=args.force_refresh, + ) + + rows = load_rows(payload) + page = args.output.read_text(encoding="utf-8") + args.output.write_text( + replace_table(page, render_table(rows, asset=asset)), encoding="utf-8" + ) + print( + f"Generated {len(rows)} topology/protobuf mappings from {asset.tag} in {args.output}" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/update_generated_reference_prs.py b/scripts/update_generated_reference_prs.py index 32904556d..5714675d2 100644 --- a/scripts/update_generated_reference_prs.py +++ b/scripts/update_generated_reference_prs.py @@ -485,22 +485,27 @@ class UpdateTarget: ), UpdateTarget( key="canton-topology-proto-link", - title="Update Canton topology.proto link", + title="Update Canton topology references", branch="generated-docs/canton-topology-proto-link/update", description=( "Resolves the latest stable digital-asset/canton release, derives the matching " - "release-line branch URL for topology.proto, verifies the URL is reachable, and " - "updates the generated MDX export used by the topology reference page." + "release-line branch URL for topology.proto, and regenerates the topology-transaction " + "protocol/protobuf compatibility table from the public release binary." ), generate_commands=( ("nix-shell", "--run", "npm run generate:canton-topology-proto-link"), + ("nix-shell", "--run", "npm run generate:canton-topology-transaction-versions"), + ), + paths=( + "docs-main/snippets/generated/canton-topology-proto-link.mdx", + "docs-main/appdev/deep-dives/external-signing-topology.mdx", ), - paths=("docs-main/snippets/generated/canton-topology-proto-link.mdx",), summary_kind="static", summary_path=None, summary_label=None, validation=( "npm run generate:canton-topology-proto-link", + "npm run generate:canton-topology-transaction-versions", "git diff --check", ), ), diff --git a/tests/test_canton_topology_transaction_versions.py b/tests/test_canton_topology_transaction_versions.py new file mode 100644 index 000000000..40fdc0f02 --- /dev/null +++ b/tests/test_canton_topology_transaction_versions.py @@ -0,0 +1,81 @@ +from __future__ import annotations + +from pathlib import Path +import sys +import unittest + + +REPO_ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(REPO_ROOT / "scripts")) + +from scripts import generate_all_reference_docs # noqa: E402 +from scripts import generate_canton_topology_transaction_versions as generator # noqa: E402 + + +class CantonTopologyTransactionVersionsTests(unittest.TestCase): + def setUp(self) -> None: + self.asset = generator.ReleaseAsset( + tag="v3.5.15", + version="3.5.15", + name="canton-open-source-3.5.15.tar.gz", + url="https://github.com/digital-asset/canton/releases/download/v3.5.15/canton-open-source-3.5.15.tar.gz", + size=123, + digest="sha256:" + "a" * 64, + ) + + def test_uses_public_release_source(self) -> None: + self.assertEqual(generator.DEFAULT_RELEASE_REPO, "digital-asset/canton") + self.assertNotIn( + "DACH-NY", generator.REFERENCE_SCRIPT.read_text(encoding="utf-8") + ) + + def test_aggregate_generator_includes_topology_version_table(self) -> None: + job = next( + job + for job in generate_all_reference_docs.SCRIPT_JOBS + if job.script_path.name + == "generate_canton_topology_transaction_versions.py" + ) + self.assertEqual(job.nav_slices, ()) + self.assertEqual(job.target_ids, ()) + + def test_load_rows_validates_shape(self) -> None: + key = "topologyTransactionProtocolVersionToProtobufVersions" + self.assertEqual( + generator.load_rows({key: [["34", ["30"]], ["35", ["30"]]]}), + [("34", ["30"]), ("35", ["30"])], + ) + with self.assertRaisesRegex(ValueError, "row 0"): + generator.load_rows({key: [["34", []]]}) + + def test_render_table_includes_all_rows_and_provenance(self) -> None: + table = generator.render_table( + [("34", ["30"]), ("35", ["30"])], asset=self.asset + ) + self.assertIn('source="digital-asset/canton"', table) + self.assertIn('protocol_version_count="2"', table) + self.assertIn("| 34 | 30 |", table) + self.assertIn("| 35 | 30 |", table) + + def test_replace_table_is_idempotent_and_preserves_page(self) -> None: + page = ( + "Before\n\n" + "| Protocol Version | Topology Transaction Protobuf Version |\n" + "| --- | --- |\n" + "| 34 | 30 |\n\n" + "After\n" + ) + table = generator.render_table( + [("34", ["30"]), ("35", ["30"])], asset=self.asset + ) + first = generator.replace_table(page, table) + second = generator.replace_table(first, table) + + self.assertEqual(first, second) + self.assertIn("Before", first) + self.assertIn("After", first) + self.assertEqual(first.count(generator.TABLE_HEADER), 1) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_update_generated_reference_prs.py b/tests/test_update_generated_reference_prs.py index 3ac8984f1..40ec767d2 100644 --- a/tests/test_update_generated_reference_prs.py +++ b/tests/test_update_generated_reference_prs.py @@ -375,6 +375,7 @@ def test_generated_clean_paths_include_target_paths_and_internal_output() -> Non assert "docs-main/global-synchronizer/reference/canton-console-commands.mdx" in clean_paths assert "docs-main/global-synchronizer/reference/error-codes.mdx" in clean_paths assert "docs-main/release-notes/releases-and-versioning.mdx" in clean_paths + assert "docs-main/appdev/deep-dives/external-signing-topology.mdx" in clean_paths assert "docs-main/global-synchronizer/reference/canton-metrics.mdx" in clean_paths assert "docs-main/global-synchronizer/release-notes" in clean_paths assert "docs-main/integrations/release-notes/wallet-gateway.mdx" in clean_paths From 5dcf1ca680e62efe3e9fdeef0eb341ce59529517 Mon Sep 17 00:00:00 2001 From: danielporterda Date: Thu, 3 Sep 2026 11:12:49 -0400 Subject: [PATCH 2/4] Refresh topology transaction version table Signed-off-by: danielporterda --- .../appdev/deep-dives/external-signing-topology.mdx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs-main/appdev/deep-dives/external-signing-topology.mdx b/docs-main/appdev/deep-dives/external-signing-topology.mdx index 23d9b8eef..347163d83 100644 --- a/docs-main/appdev/deep-dives/external-signing-topology.mdx +++ b/docs-main/appdev/deep-dives/external-signing-topology.mdx @@ -987,9 +987,16 @@ The Canton console on a sequencer node of the target synchronizer also provides Each `Protocol Version` has a corresponding `Protobuf Version` for protobuf messages involved in the Canton protocol. That includes the `TopologyTransaction` message. +{/* GENERATED_CANTON_TOPOLOGY_VERSIONS_START */} + +{/* GENERATED_FROM source="digital-asset/canton" ref="v3.5.15" asset="canton-open-source-3.5.15.tar.gz" digest="sha256:a11453d98917be6136cb2eaa3f800f5b67ee59ecff75907f7b59b4ccfd3766b8" protocol_version_count="2" */} + | Protocol Version | Topology Transaction Protobuf Version | -|------------------|---------------------------------------| -| 34 | 30 | +| --- | --- | +| 34 | 30 | +| 35 | 30 | + +{/* GENERATED_CANTON_TOPOLOGY_VERSIONS_END */} The protobuf version becomes relevant in the Version Wrapper section. From 05aa0f533ff852c27e44c5fffc48360ff5b99635 Mon Sep 17 00:00:00 2001 From: danielporterda Date: Thu, 3 Sep 2026 13:21:27 -0400 Subject: [PATCH 3/4] Add topology version preview screenshot Signed-off-by: danielporterda --- .../1549/topology-transaction-version-table.jpg | Bin 0 -> 99099 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/pr-screenshots/1549/topology-transaction-version-table.jpg diff --git a/.github/pr-screenshots/1549/topology-transaction-version-table.jpg b/.github/pr-screenshots/1549/topology-transaction-version-table.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d65120fd254832c234cf43ff402796058c78c84d GIT binary patch literal 99099 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

0e+s)*I$MyhG<$d&*~*^$J$x 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 z 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�uQ18|!$ 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 T`S1UXfAvfFU%MLed-6X3Q-XFr literal 0 HcmV?d00001 From 0e5444a69b49c8c2e3532b844c3c74df385f3e88 Mon Sep 17 00:00:00 2001 From: danielporterda Date: Thu, 3 Sep 2026 13:23:15 -0400 Subject: [PATCH 4/4] Share the Canton release artifact cache Signed-off-by: danielporterda --- scripts/generate_canton_topology_transaction_versions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate_canton_topology_transaction_versions.py b/scripts/generate_canton_topology_transaction_versions.py index ec981d47b..269d50fa3 100644 --- a/scripts/generate_canton_topology_transaction_versions.py +++ b/scripts/generate_canton_topology_transaction_versions.py @@ -20,7 +20,7 @@ REPO_ROOT = Path(__file__).resolve().parents[1] -DEFAULT_CACHE_DIR = REPO_ROOT / ".internal" / "cache" / "canton-topology-versions" +DEFAULT_CACHE_DIR = REPO_ROOT / ".internal" / "cache" / "canton-release-reference" DEFAULT_OUTPUT = ( REPO_ROOT / "docs-main" / "appdev" / "deep-dives" / "external-signing-topology.mdx" )