@distrohelena/canton-typescript-sdk 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/README.md +333 -1
  2. package/dist/client/canton-client-options.d.ts +3 -0
  3. package/dist/client/canton-client-options.js +2 -0
  4. package/dist/client/service-registry.js +3 -2
  5. package/dist/core/errors/grpc-transport-error.d.ts +14 -0
  6. package/dist/core/errors/grpc-transport-error.js +76 -0
  7. package/dist/core/signing/command-signer.interface.d.ts +2 -0
  8. package/dist/core/transports/transport.interface.d.ts +2 -2
  9. package/dist/core/types/canton-hash-purpose.d.ts +2 -1
  10. package/dist/core/types/canton-hash-purpose.js +1 -0
  11. package/dist/core/types/daml-numeric.d.ts +6 -0
  12. package/dist/core/types/daml-numeric.js +14 -0
  13. package/dist/core/types/daml-party.d.ts +6 -0
  14. package/dist/core/types/daml-party.js +14 -0
  15. package/dist/core/types/disclosed-contract.d.ts +13 -0
  16. package/dist/core/types/disclosed-contract.js +15 -0
  17. package/dist/core/types/requests/create-decentralized-party-request.d.ts +41 -0
  18. package/dist/core/types/requests/create-decentralized-party-request.js +82 -0
  19. package/dist/core/types/requests/create-external-party-request.d.ts +42 -0
  20. package/dist/core/types/requests/create-external-party-request.js +47 -0
  21. package/dist/core/types/requests/finalize-decentralized-party-request.d.ts +39 -0
  22. package/dist/core/types/requests/finalize-decentralized-party-request.js +42 -0
  23. package/dist/core/types/requests/get-active-contracts-page-request.d.ts +15 -2
  24. package/dist/core/types/requests/get-active-contracts-page-request.js +4 -0
  25. package/dist/core/types/requests/submit-command-request.d.ts +5 -0
  26. package/dist/core/types/requests/submit-command-request.js +4 -0
  27. package/dist/core/types/topology/topology-signature-format.d.ts +2 -1
  28. package/dist/core/types/topology/topology-signature-format.js +1 -0
  29. package/dist/daml-lf/container/dar-archive-entry.d.ts +8 -0
  30. package/dist/daml-lf/container/dar-archive-entry.js +8 -0
  31. package/dist/daml-lf/container/dar-archive-loader.js +14 -0
  32. package/dist/daml-lf/container/dar-archive.d.ts +6 -0
  33. package/dist/daml-lf/container/dar-archive.js +4 -0
  34. package/dist/daml-lf/container/dar-source-bundle-loader.d.ts +5 -0
  35. package/dist/daml-lf/container/dar-source-bundle-loader.js +33 -0
  36. package/dist/daml-lf/container/dar-source-bundle.d.ts +45 -0
  37. package/dist/daml-lf/container/dar-source-bundle.js +11 -0
  38. package/dist/daml-lf/container/dar-source-file-entry.d.ts +8 -0
  39. package/dist/daml-lf/container/dar-source-file-entry.js +8 -0
  40. package/dist/daml-lf/daml-lf-compilation.d.ts +12 -0
  41. package/dist/daml-lf/daml-lf-compilation.js +35 -0
  42. package/dist/daml-lf/index.d.ts +11 -0
  43. package/dist/daml-lf/index.js +10 -0
  44. package/dist/daml-lf/interpreter/daml-lf-builtin-dispatch.d.ts +43 -0
  45. package/dist/daml-lf/interpreter/daml-lf-builtin-dispatch.js +933 -0
  46. package/dist/daml-lf/interpreter/daml-lf-evaluator.d.ts +95 -0
  47. package/dist/daml-lf/interpreter/daml-lf-evaluator.js +1131 -0
  48. package/dist/daml-lf/interpreter/daml-lf-interpreter-scaffold.d.ts +3 -0
  49. package/dist/daml-lf/interpreter/daml-lf-interpreter-scaffold.js +6 -1
  50. package/dist/daml-lf/interpreter/daml-lf-lexical-scope.d.ts +13 -0
  51. package/dist/daml-lf/interpreter/daml-lf-lexical-scope.js +46 -0
  52. package/dist/daml-lf/interpreter/daml-lf-runtime-frame.d.ts +16 -0
  53. package/dist/daml-lf/interpreter/daml-lf-runtime-frame.js +15 -0
  54. package/dist/daml-lf/interpreter/daml-lf-runtime-value.d.ts +21 -0
  55. package/dist/daml-lf/interpreter/daml-lf-runtime-value.js +4 -1
  56. package/dist/daml-lf/interpreter/daml-lf-step-kind.d.ts +7 -0
  57. package/dist/daml-lf/interpreter/daml-lf-step-kind.js +8 -0
  58. package/dist/daml-lf/interpreter/daml-lf-trace-sink.interface.d.ts +30 -0
  59. package/dist/daml-lf/interpreter/daml-lf-trace-sink.interface.js +1 -0
  60. package/dist/daml-lf/model/daml-lf-builtin-type.d.ts +3 -0
  61. package/dist/daml-lf/model/daml-lf-builtin-type.js +3 -0
  62. package/dist/daml-lf/model/daml-lf-choice.d.ts +5 -0
  63. package/dist/daml-lf/model/daml-lf-choice.js +4 -0
  64. package/dist/daml-lf/model/daml-lf-expression-path.d.ts +2 -0
  65. package/dist/daml-lf/model/daml-lf-expression-path.js +81 -0
  66. package/dist/daml-lf/model/daml-lf-expression.d.ts +146 -0
  67. package/dist/daml-lf/model/daml-lf-expression.js +71 -0
  68. package/dist/daml-lf/model/daml-lf-template.d.ts +2 -0
  69. package/dist/daml-lf/model/daml-lf-template.js +2 -0
  70. package/dist/daml-lf/model/daml-lf-type.d.ts +2 -0
  71. package/dist/daml-lf/model/daml-lf-type.js +4 -0
  72. package/dist/daml-lf/model/lf-2-model-mapper.d.ts +5 -0
  73. package/dist/daml-lf/model/lf-2-model-mapper.js +445 -12
  74. package/dist/debugger/errors/replay-determinism.exception.d.ts +3 -0
  75. package/dist/debugger/errors/replay-determinism.exception.js +3 -0
  76. package/dist/debugger/errors/replay-missing-package.exception.d.ts +3 -0
  77. package/dist/debugger/errors/replay-missing-package.exception.js +3 -0
  78. package/dist/debugger/errors/replay-missing-source.exception.d.ts +3 -0
  79. package/dist/debugger/errors/replay-missing-source.exception.js +3 -0
  80. package/dist/debugger/errors/replay-source-map.exception.d.ts +3 -0
  81. package/dist/debugger/errors/replay-source-map.exception.js +3 -0
  82. package/dist/debugger/errors/replay-state-hydration.exception.d.ts +3 -0
  83. package/dist/debugger/errors/replay-state-hydration.exception.js +3 -0
  84. package/dist/debugger/errors/replay-unsupported-lf-construct.exception.d.ts +3 -0
  85. package/dist/debugger/errors/replay-unsupported-lf-construct.exception.js +3 -0
  86. package/dist/debugger/errors/replay-unsupported-update.exception.d.ts +3 -0
  87. package/dist/debugger/errors/replay-unsupported-update.exception.js +3 -0
  88. package/dist/debugger/index.d.ts +31 -0
  89. package/dist/debugger/index.js +31 -0
  90. package/dist/debugger/ledger-replay-debugger-client.d.ts +31 -0
  91. package/dist/debugger/ledger-replay-debugger-client.js +53 -0
  92. package/dist/debugger/replay/ledger-replay-environment-builder.d.ts +95 -0
  93. package/dist/debugger/replay/ledger-replay-environment-builder.js +249 -0
  94. package/dist/debugger/replay/ledger-replay-session-loader.d.ts +78 -0
  95. package/dist/debugger/replay/ledger-replay-session-loader.js +565 -0
  96. package/dist/debugger/replay/replay-artifact-resolver.d.ts +30 -0
  97. package/dist/debugger/replay/replay-artifact-resolver.js +210 -0
  98. package/dist/debugger/replay/replay-determinism-validator.d.ts +12 -0
  99. package/dist/debugger/replay/replay-determinism-validator.js +161 -0
  100. package/dist/debugger/replay/replay-entrypoint-definition-resolver.d.ts +40 -0
  101. package/dist/debugger/replay/replay-entrypoint-definition-resolver.js +337 -0
  102. package/dist/debugger/replay/replay-entrypoint.d.ts +22 -0
  103. package/dist/debugger/replay/replay-entrypoint.js +14 -0
  104. package/dist/debugger/replay/replay-ledger-value-normalizer.d.ts +7 -0
  105. package/dist/debugger/replay/replay-ledger-value-normalizer.js +194 -0
  106. package/dist/debugger/replay/replay-update-loader.d.ts +24 -0
  107. package/dist/debugger/replay/replay-update-loader.js +94 -0
  108. package/dist/debugger/replay/replay-update-visibility-validator.d.ts +19 -0
  109. package/dist/debugger/replay/replay-update-visibility-validator.js +19 -0
  110. package/dist/debugger/session/in-memory-replay-session-store.d.ts +27 -0
  111. package/dist/debugger/session/in-memory-replay-session-store.js +109 -0
  112. package/dist/debugger/session/replay-phase.d.ts +7 -0
  113. package/dist/debugger/session/replay-phase.js +8 -0
  114. package/dist/debugger/session/replay-scope.d.ts +10 -0
  115. package/dist/debugger/session/replay-scope.js +10 -0
  116. package/dist/debugger/session/replay-session-metadata.d.ts +10 -0
  117. package/dist/debugger/session/replay-session-metadata.js +10 -0
  118. package/dist/debugger/session/replay-session-request.d.ts +6 -0
  119. package/dist/debugger/session/replay-session-request.js +10 -0
  120. package/dist/debugger/session/replay-session.d.ts +12 -0
  121. package/dist/debugger/session/replay-session.js +10 -0
  122. package/dist/debugger/session/replay-source-location.d.ts +17 -0
  123. package/dist/debugger/session/replay-source-location.js +16 -0
  124. package/dist/debugger/session/replay-stack-frame.d.ts +8 -0
  125. package/dist/debugger/session/replay-stack-frame.js +8 -0
  126. package/dist/debugger/session/replay-state-delta.d.ts +29 -0
  127. package/dist/debugger/session/replay-state-delta.js +24 -0
  128. package/dist/debugger/session/replay-step-advance-result.d.ts +24 -0
  129. package/dist/debugger/session/replay-step-advance-result.js +16 -0
  130. package/dist/debugger/session/replay-step.d.ts +30 -0
  131. package/dist/debugger/session/replay-step.js +24 -0
  132. package/dist/debugger/session/replay-value-preview.d.ts +8 -0
  133. package/dist/debugger/session/replay-value-preview.js +15 -0
  134. package/dist/debugger/source/daml-source-mapper.d.ts +12 -0
  135. package/dist/debugger/source/daml-source-mapper.js +21 -0
  136. package/dist/debugger/source/dar-source-map-metadata.d.ts +26 -0
  137. package/dist/debugger/source/dar-source-map-metadata.js +10 -0
  138. package/dist/debugger/source/source-coverage-validator.d.ts +8 -0
  139. package/dist/debugger/source/source-coverage-validator.js +16 -0
  140. package/dist/debugger/source/source-indexed-compilation.d.ts +45 -0
  141. package/dist/debugger/source/source-indexed-compilation.js +110 -0
  142. package/dist/debugger/source/source-mapping-precision.d.ts +5 -0
  143. package/dist/debugger/source/source-mapping-precision.js +4 -0
  144. package/dist/index.d.ts +21 -0
  145. package/dist/index.js +13 -0
  146. package/dist/query/cache/memory-query-cache.d.ts +9 -0
  147. package/dist/query/cache/memory-query-cache.js +24 -0
  148. package/dist/query/cache/query-cache-store.d.ts +5 -0
  149. package/dist/query/cache/query-cache-store.js +1 -0
  150. package/dist/query/canton-manager-options.d.ts +17 -0
  151. package/dist/query/canton-manager-options.js +1 -0
  152. package/dist/query/canton-manager.d.ts +11 -0
  153. package/dist/query/canton-manager.js +42 -0
  154. package/dist/query/errors/pqs-query-error.d.ts +10 -0
  155. package/dist/query/errors/pqs-query-error.js +11 -0
  156. package/dist/query/errors/pqs-schema-profile-error.d.ts +3 -0
  157. package/dist/query/errors/pqs-schema-profile-error.js +3 -0
  158. package/dist/query/errors/query-capability-error.d.ts +7 -0
  159. package/dist/query/errors/query-capability-error.js +10 -0
  160. package/dist/query/grpc/grpc-contract-query-client.d.ts +32 -0
  161. package/dist/query/grpc/grpc-contract-query-client.js +126 -0
  162. package/dist/query/model-types.d.ts +258 -0
  163. package/dist/query/model-types.js +14 -0
  164. package/dist/query/pqs/pqs-pool.d.ts +13 -0
  165. package/dist/query/pqs/pqs-pool.js +18 -0
  166. package/dist/query/pqs/pqs-query-client.d.ts +49 -0
  167. package/dist/query/pqs/pqs-query-client.js +324 -0
  168. package/dist/query/pqs/pqs-schema-profile.d.ts +25 -0
  169. package/dist/query/pqs/pqs-schema-profile.js +120 -0
  170. package/dist/query/pqs/pqs-sql-compiler.d.ts +7 -0
  171. package/dist/query/pqs/pqs-sql-compiler.js +132 -0
  172. package/dist/query/pqs/read-only-sql.d.ts +1 -0
  173. package/dist/query/pqs/read-only-sql.js +35 -0
  174. package/dist/query/query-client.d.ts +61 -0
  175. package/dist/query/query-client.js +1 -0
  176. package/dist/query/query-source.d.ts +4 -0
  177. package/dist/query/query-source.js +5 -0
  178. package/dist/services/command/command-service-client.d.ts +2 -2
  179. package/dist/services/commands/command-submission-pipeline.d.ts +2 -2
  180. package/dist/services/party-management/decentralized-party-lifecycle.d.ts +6 -0
  181. package/dist/services/party-management/decentralized-party-lifecycle.js +82 -0
  182. package/dist/services/party-management/party-management-service-client.d.ts +16 -1
  183. package/dist/services/party-management/party-management-service-client.js +142 -1
  184. package/dist/services/topology-manager-write/topology-signed-transaction-assembler.js +4 -0
  185. package/dist/testing/campaign/campaign-artifact.d.ts +20 -0
  186. package/dist/testing/campaign/campaign-artifact.js +147 -0
  187. package/dist/testing/campaign/campaign-definition.d.ts +9 -0
  188. package/dist/testing/campaign/campaign-definition.js +78 -0
  189. package/dist/testing/campaign/campaign-metrics.d.ts +32 -0
  190. package/dist/testing/campaign/campaign-metrics.js +26 -0
  191. package/dist/testing/campaign/campaign-model.d.ts +11 -0
  192. package/dist/testing/campaign/campaign-model.js +21 -0
  193. package/dist/testing/campaign/campaign-runner.d.ts +99 -0
  194. package/dist/testing/campaign/campaign-runner.js +194 -0
  195. package/dist/testing/campaign/campaign-scheduler.d.ts +40 -0
  196. package/dist/testing/campaign/campaign-scheduler.js +75 -0
  197. package/dist/testing/campaign/campaign-types.d.ts +52 -0
  198. package/dist/testing/campaign/campaign-types.js +11 -0
  199. package/dist/testing/daml/daml-action-arbitrary.d.ts +13 -0
  200. package/dist/testing/daml/daml-action-arbitrary.js +24 -0
  201. package/dist/testing/daml/daml-choice-action-arbitrary.d.ts +18 -0
  202. package/dist/testing/daml/daml-choice-action-arbitrary.js +27 -0
  203. package/dist/testing/daml/daml-create-action-arbitrary.d.ts +19 -0
  204. package/dist/testing/daml/daml-create-action-arbitrary.js +34 -0
  205. package/dist/testing/daml/daml-testing-catalog.d.ts +38 -0
  206. package/dist/testing/daml/daml-testing-catalog.js +40 -0
  207. package/dist/testing/daml/daml-value-arbitrary.d.ts +8 -0
  208. package/dist/testing/daml/daml-value-arbitrary.js +43 -0
  209. package/dist/testing/daml/declarative-campaign-arbitrary.d.ts +15 -0
  210. package/dist/testing/daml/declarative-campaign-arbitrary.js +30 -0
  211. package/dist/testing/errors/invariant-campaign-failure.d.ts +24 -0
  212. package/dist/testing/errors/invariant-campaign-failure.js +37 -0
  213. package/dist/testing/errors/testing-configuration-error.d.ts +3 -0
  214. package/dist/testing/errors/testing-configuration-error.js +6 -0
  215. package/dist/testing/handlers/handler.d.ts +19 -0
  216. package/dist/testing/handlers/handler.js +31 -0
  217. package/dist/testing/index.d.ts +22 -0
  218. package/dist/testing/index.js +22 -0
  219. package/dist/testing/runtime/campaign-isolation.d.ts +14 -0
  220. package/dist/testing/runtime/campaign-isolation.js +23 -0
  221. package/dist/testing/runtime/canton-test-runtime.d.ts +58 -0
  222. package/dist/testing/runtime/canton-test-runtime.js +138 -0
  223. package/dist/testing/runtime/declarative-action-executor.d.ts +16 -0
  224. package/dist/testing/runtime/declarative-action-executor.js +41 -0
  225. package/dist/testing/targets/target.d.ts +49 -0
  226. package/dist/testing/targets/target.js +121 -0
  227. package/dist/transports/grpc/grpc-channel-factory.js +31 -1
  228. package/dist/transports/grpc/grpc-transport.d.ts +2 -2
  229. package/dist/transports/grpc/grpc-transport.js +11 -8
  230. package/dist/transports/grpc/mappers/commands-mapper.js +23 -2
  231. package/dist/transports/grpc/mappers/contracts-mapper.d.ts +3 -1
  232. package/dist/transports/grpc/mappers/contracts-mapper.js +16 -3
  233. package/dist/transports/grpc/mappers/interactive-command-mapper.d.ts +4 -1
  234. package/dist/transports/grpc/mappers/interactive-command-mapper.js +3 -8
  235. package/dist/transports/grpc/mappers/topology-manager-write-mapper.js +59 -1
  236. package/dist/transports/json/mappers/commands-mapper.js +20 -6
  237. package/node/.generated/start-local/additional-config.extra-participants.conf +37 -0
  238. package/node/.generated/start-local/additional-config.extra-validators.conf +35 -0
  239. package/node/.generated/start-local/compose-extra-participants.yaml +147 -0
  240. package/node/.generated/start-local/extra-participants.env +30 -0
  241. package/node/es256-jwt.mjs +177 -0
  242. package/node/start-local.sh +886 -0
  243. package/node/stop-local.sh +200 -0
  244. package/node/test-start-local.sh +354 -0
  245. package/node/test-stop-local.sh +112 -0
  246. package/package.json +21 -2
@@ -1,4 +1,4 @@
1
- import { BuiltinType, } from "../../transports/grpc/generated/canton/com/digitalasset/daml/lf/archive/daml_lf2.js";
1
+ import { BuiltinCon, BuiltinFunction, BuiltinType, } from "../../transports/grpc/generated/canton/com/digitalasset/daml/lf/archive/daml_lf2.js";
2
2
  import { DamlLfDecodeException } from "../errors/daml-lf-decode.exception.js";
3
3
  import { DamlLfBuiltinType } from "./daml-lf-builtin-type.js";
4
4
  import { DamlLfChoice } from "./daml-lf-choice.js";
@@ -24,22 +24,65 @@ export class Lf2ModelMapper {
24
24
  });
25
25
  }
26
26
  static mapType(currentPackageId, rawPackage, rawType) {
27
+ if (rawType?.sum.oneofKind === "internedType"
28
+ && rawType.sum.internedType >= 0) {
29
+ return Lf2ModelMapper.mapType(currentPackageId, rawPackage, rawPackage.internedTypes[rawType.sum.internedType]);
30
+ }
31
+ if (rawType?.sum.oneofKind === "tapp") {
32
+ const lhs = Lf2ModelMapper.mapType(currentPackageId, rawPackage, rawType.sum.tapp.lhs);
33
+ const numericScale = lhs.builtinType === DamlLfBuiltinType.numeric
34
+ ? Lf2ModelMapper.readNumericScale(rawType.sum.tapp.rhs)
35
+ : undefined;
36
+ return numericScale === undefined
37
+ ? lhs
38
+ : new DamlLfType({
39
+ builtinType: lhs.builtinType,
40
+ numericScale,
41
+ ...(lhs.typeConReference === undefined
42
+ ? {}
43
+ : { typeConReference: lhs.typeConReference }),
44
+ });
45
+ }
46
+ if (rawType?.sum.oneofKind === "forall") {
47
+ return Lf2ModelMapper.mapType(currentPackageId, rawPackage, rawType.sum.forall.body);
48
+ }
27
49
  if (rawType?.sum.oneofKind === "con") {
28
50
  return new DamlLfType({
29
51
  typeConReference: Lf2ModelMapper.mapTypeConReferenceOrThrow(currentPackageId, rawPackage, rawType.sum.con.tycon, rawType),
30
52
  });
31
53
  }
32
54
  else if (rawType?.sum.oneofKind === "builtin") {
55
+ const builtinType = rawType.sum.builtin.builtin === BuiltinType.INT64
56
+ ? DamlLfBuiltinType.int64
57
+ : rawType.sum.builtin.builtin === BuiltinType.NUMERIC
58
+ ? DamlLfBuiltinType.numeric
59
+ : rawType.sum.builtin.builtin === BuiltinType.PARTY
60
+ ? DamlLfBuiltinType.party
61
+ : rawType.sum.builtin.builtin === BuiltinType.TEXT
62
+ ? DamlLfBuiltinType.text
63
+ : DamlLfBuiltinType.unknown;
33
64
  return new DamlLfType({
34
- builtinType: rawType.sum.builtin.builtin === BuiltinType.TEXT
35
- ? DamlLfBuiltinType.text
36
- : DamlLfBuiltinType.unknown,
65
+ builtinType,
66
+ ...(builtinType !== DamlLfBuiltinType.numeric
67
+ ? {}
68
+ : {
69
+ numericScale: Lf2ModelMapper.readNumericScale(rawType.sum.builtin.args[0]),
70
+ }),
37
71
  });
38
72
  }
39
73
  return new DamlLfType({
40
74
  builtinType: DamlLfBuiltinType.unknown,
41
75
  });
42
76
  }
77
+ static readNumericScale(rawType) {
78
+ if (rawType?.sum.oneofKind !== "nat") {
79
+ return undefined;
80
+ }
81
+ const scale = Number(rawType.sum.nat);
82
+ return Number.isSafeInteger(scale) && scale >= 0 && scale <= 37
83
+ ? scale
84
+ : undefined;
85
+ }
43
86
  static mapModule(packageId, rawModule, rawPackage) {
44
87
  const moduleName = Lf2ModelMapper.resolveInternedDottedName(rawPackage.internedStrings, rawPackage.internedDottedNames, rawModule.nameInternedDname);
45
88
  const dataTypes = rawModule.dataTypes
@@ -50,7 +93,7 @@ export class Lf2ModelMapper {
50
93
  ...rawModule.values.map((value) => new DamlLfValueDefinition({
51
94
  name: Lf2ModelMapper.resolveInternedDottedName(rawPackage.internedStrings, rawPackage.internedDottedNames, value.nameWithType?.nameInternedDname),
52
95
  type: Lf2ModelMapper.mapType(packageId, rawPackage, value.nameWithType?.type),
53
- expression: Lf2ModelMapper.mapExpression(value.expr, rawPackage.internedStrings),
96
+ expression: Lf2ModelMapper.mapExpression(value.expr, rawPackage.internedStrings, rawPackage.internedDottedNames, packageId, rawPackage),
54
97
  })),
55
98
  ...rawModule.templates.map((item) => Lf2ModelMapper.mapTemplateOrThrow(packageId, moduleName, item, rawPackage, dataTypes)),
56
99
  ];
@@ -60,12 +103,12 @@ export class Lf2ModelMapper {
60
103
  });
61
104
  }
62
105
  static mapDataType(packageId, rawDataType, rawPackage) {
63
- if (rawDataType.dataCons.oneofKind !== "record") {
64
- return undefined;
65
- }
106
+ const fields = rawDataType.dataCons.oneofKind === "record"
107
+ ? rawDataType.dataCons.record.fields.map((item) => Lf2ModelMapper.mapField(packageId, item.fieldInternedStr, item.type, rawPackage))
108
+ : [];
66
109
  return new DamlLfDataType({
67
110
  name: Lf2ModelMapper.resolveInternedDottedName(rawPackage.internedStrings, rawPackage.internedDottedNames, rawDataType.nameInternedDname),
68
- fields: rawDataType.dataCons.record.fields.map((item) => Lf2ModelMapper.mapField(packageId, item.fieldInternedStr, item.type, rawPackage)),
111
+ fields,
69
112
  });
70
113
  }
71
114
  static mapTemplateOrThrow(packageId, moduleName, rawTemplate, rawPackage, dataTypes) {
@@ -81,6 +124,7 @@ export class Lf2ModelMapper {
81
124
  templateName,
82
125
  }),
83
126
  name: templateName,
127
+ parameterName: Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, rawTemplate.paramInternedStr),
84
128
  fields: matchingDataType.fields,
85
129
  choices: rawTemplate.choices.map((item) => Lf2ModelMapper.mapChoice(packageId, item, rawPackage)),
86
130
  });
@@ -89,8 +133,12 @@ export class Lf2ModelMapper {
89
133
  return new DamlLfChoice({
90
134
  name: Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, rawChoice.nameInternedStr),
91
135
  consuming: rawChoice.consuming,
136
+ selfBinderName: Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, rawChoice.selfBinderInternedStr),
92
137
  parameter: Lf2ModelMapper.mapChoiceParameterOrThrow(packageId, rawChoice.argBinder, rawPackage),
93
138
  returnType: Lf2ModelMapper.mapType(packageId, rawPackage, rawChoice.retType),
139
+ updateExpression: rawChoice.update === undefined
140
+ ? undefined
141
+ : Lf2ModelMapper.mapExpression(rawChoice.update, rawPackage.internedStrings, rawPackage.internedDottedNames, packageId, rawPackage),
94
142
  });
95
143
  }
96
144
  static mapChoiceParameterOrThrow(packageId, rawParameter, rawPackage) {
@@ -120,13 +168,18 @@ export class Lf2ModelMapper {
120
168
  });
121
169
  }
122
170
  static resolvePackageIdOrThrow(currentPackageId, rawPackageId, rawPackage) {
123
- switch (rawPackageId?.sum.oneofKind) {
171
+ if (rawPackageId === undefined) {
172
+ return currentPackageId;
173
+ }
174
+ switch (rawPackageId.sum?.oneofKind) {
124
175
  case "selfPackageId":
125
176
  return currentPackageId;
126
177
  case "importedPackageIdInternedStr":
127
178
  return Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, rawPackageId.sum.importedPackageIdInternedStr);
128
179
  case "packageImportId":
129
180
  return Lf2ModelMapper.resolveImportedPackageIdOrThrow(rawPackage, rawPackageId.sum.packageImportId);
181
+ case undefined:
182
+ return currentPackageId;
130
183
  default:
131
184
  throw new DamlLfDecodeException("daml lf type constructor is missing its package id");
132
185
  }
@@ -138,7 +191,15 @@ export class Lf2ModelMapper {
138
191
  }
139
192
  return rawPackage.importsSum.packageImports.importedPackages[index];
140
193
  }
141
- static mapExpression(rawExpression, internedStrings) {
194
+ static mapExpression(rawExpression, internedStrings, internedDottedNames, currentPackageId, rawPackage) {
195
+ return Lf2ModelMapper.mapExpressionWithoutSourceLocation(rawExpression, internedStrings, internedDottedNames, currentPackageId, rawPackage).withSourceLocation(Lf2ModelMapper.mapExpressionSourceLocation(rawExpression, internedStrings, internedDottedNames, currentPackageId, rawPackage));
196
+ }
197
+ static mapExpressionWithoutSourceLocation(rawExpression, internedStrings, internedDottedNames, currentPackageId, rawPackage) {
198
+ if (rawExpression?.sum.oneofKind === "varInternedStr") {
199
+ return new DamlLfExpression({
200
+ variableName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.varInternedStr),
201
+ });
202
+ }
142
203
  if (rawExpression?.sum.oneofKind === "builtinLit") {
143
204
  const rawLiteral = rawExpression.sum.builtinLit;
144
205
  if (rawLiteral.sum.oneofKind === "textInternedStr") {
@@ -146,8 +207,380 @@ export class Lf2ModelMapper {
146
207
  textLiteral: Lf2ModelMapper.resolveInternedString(internedStrings, rawLiteral.sum.textInternedStr),
147
208
  });
148
209
  }
210
+ if (rawLiteral.sum.oneofKind === "int64") {
211
+ return new DamlLfExpression({
212
+ int64Literal: rawLiteral.sum.int64,
213
+ });
214
+ }
215
+ if (rawLiteral.sum.oneofKind === "numericInternedStr") {
216
+ return new DamlLfExpression({
217
+ numericLiteral: Lf2ModelMapper.resolveInternedString(internedStrings, rawLiteral.sum.numericInternedStr),
218
+ });
219
+ }
220
+ if (rawLiteral.sum.oneofKind === "timestamp") {
221
+ return new DamlLfExpression({
222
+ textLiteral: rawLiteral.sum.timestamp,
223
+ });
224
+ }
225
+ if (rawLiteral.sum.oneofKind === "date") {
226
+ return new DamlLfExpression({
227
+ textLiteral: String(rawLiteral.sum.date),
228
+ });
229
+ }
230
+ }
231
+ if (rawExpression?.sum.oneofKind === "builtinCon") {
232
+ return new DamlLfExpression({
233
+ builtinConstructor: rawExpression.sum.builtinCon === BuiltinCon.CON_TRUE
234
+ ? "true"
235
+ : rawExpression.sum.builtinCon === BuiltinCon.CON_FALSE
236
+ ? "false"
237
+ : "unit",
238
+ });
239
+ }
240
+ if (rawExpression?.sum.oneofKind === "builtin") {
241
+ return new DamlLfExpression({
242
+ builtinFunction: rawExpression.sum.builtin === BuiltinFunction.EQUAL
243
+ ? "equal"
244
+ : rawExpression.sum.builtin === BuiltinFunction.GREATER
245
+ ? "greater"
246
+ : rawExpression.sum.builtin
247
+ === BuiltinFunction.APPEND_TEXT
248
+ ? "appendText"
249
+ : (BuiltinFunction[rawExpression.sum.builtin]
250
+ ?? "unsupported"),
251
+ });
252
+ }
253
+ if (rawExpression?.sum.oneofKind === "val") {
254
+ const valueReference = rawExpression.sum.val;
255
+ return new DamlLfExpression({
256
+ valueReference: {
257
+ packageId: Lf2ModelMapper.resolvePackageIdOrThrow(currentPackageId, valueReference.module?.packageId, rawPackage),
258
+ moduleName: Lf2ModelMapper.resolveInternedDottedName(internedStrings, internedDottedNames, valueReference.module?.moduleNameInternedDname),
259
+ definitionName: Lf2ModelMapper.resolveInternedDottedName(internedStrings, internedDottedNames, valueReference.nameInternedDname),
260
+ },
261
+ });
262
+ }
263
+ if (rawExpression?.sum.oneofKind === "abs") {
264
+ return new DamlLfExpression({
265
+ lambda: {
266
+ parameters: rawExpression.sum.abs.param.map((parameter) => Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, parameter.varInternedStr)),
267
+ body: Lf2ModelMapper.mapExpression(rawExpression.sum.abs.body, internedStrings, internedDottedNames, currentPackageId, rawPackage),
268
+ },
269
+ });
270
+ }
271
+ if (rawExpression?.sum.oneofKind === "app") {
272
+ return new DamlLfExpression({
273
+ application: {
274
+ function: Lf2ModelMapper.mapExpression(rawExpression.sum.app.fun, internedStrings, internedDottedNames, currentPackageId, rawPackage),
275
+ arguments: rawExpression.sum.app.args.map((argument) => Lf2ModelMapper.mapExpression(argument, internedStrings, internedDottedNames, currentPackageId, rawPackage)),
276
+ },
277
+ });
278
+ }
279
+ if (rawExpression?.sum.oneofKind === "recCon") {
280
+ return new DamlLfExpression({
281
+ recordConstruction: {
282
+ fields: rawExpression.sum.recCon.fields.map((field) => ({
283
+ name: Lf2ModelMapper.resolveInternedString(internedStrings, field.fieldInternedStr),
284
+ value: Lf2ModelMapper.mapExpression(field.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
285
+ })),
286
+ },
287
+ });
288
+ }
289
+ if (rawExpression?.sum.oneofKind === "recProj") {
290
+ return new DamlLfExpression({
291
+ recordProjection: {
292
+ fieldName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.recProj.fieldInternedStr),
293
+ record: Lf2ModelMapper.mapExpression(rawExpression.sum.recProj.record, internedStrings, internedDottedNames, currentPackageId, rawPackage),
294
+ },
295
+ });
149
296
  }
150
- return new DamlLfExpression({});
297
+ if (rawExpression?.sum.oneofKind === "recUpd") {
298
+ return new DamlLfExpression({
299
+ recordUpdate: {
300
+ fieldName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.recUpd.fieldInternedStr),
301
+ record: Lf2ModelMapper.mapExpression(rawExpression.sum.recUpd.record, internedStrings, internedDottedNames, currentPackageId, rawPackage),
302
+ value: Lf2ModelMapper.mapExpression(rawExpression.sum.recUpd.update, internedStrings, internedDottedNames, currentPackageId, rawPackage),
303
+ },
304
+ });
305
+ }
306
+ if (rawExpression?.sum.oneofKind === "variantCon") {
307
+ return new DamlLfExpression({
308
+ variantConstruction: {
309
+ constructorName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.variantCon.variantConInternedStr),
310
+ argument: Lf2ModelMapper.mapExpression(rawExpression.sum.variantCon.variantArg, internedStrings, internedDottedNames, currentPackageId, rawPackage),
311
+ },
312
+ });
313
+ }
314
+ if (rawExpression?.sum.oneofKind === "structCon") {
315
+ return new DamlLfExpression({
316
+ recordConstruction: {
317
+ fields: rawExpression.sum.structCon.fields.map((field) => ({
318
+ name: Lf2ModelMapper.resolveInternedString(internedStrings, field.fieldInternedStr),
319
+ value: Lf2ModelMapper.mapExpression(field.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
320
+ })),
321
+ },
322
+ });
323
+ }
324
+ if (rawExpression?.sum.oneofKind === "structProj") {
325
+ return new DamlLfExpression({
326
+ recordProjection: {
327
+ fieldName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.structProj.fieldInternedStr),
328
+ record: Lf2ModelMapper.mapExpression(rawExpression.sum.structProj.struct, internedStrings, internedDottedNames, currentPackageId, rawPackage),
329
+ },
330
+ });
331
+ }
332
+ if (rawExpression?.sum.oneofKind === "structUpd") {
333
+ return new DamlLfExpression({
334
+ recordUpdate: {
335
+ fieldName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.structUpd.fieldInternedStr),
336
+ record: Lf2ModelMapper.mapExpression(rawExpression.sum.structUpd.struct, internedStrings, internedDottedNames, currentPackageId, rawPackage),
337
+ value: Lf2ModelMapper.mapExpression(rawExpression.sum.structUpd.update, internedStrings, internedDottedNames, currentPackageId, rawPackage),
338
+ },
339
+ });
340
+ }
341
+ if (rawExpression?.sum.oneofKind === "optionalNone") {
342
+ return new DamlLfExpression({
343
+ optionalConstruction: {},
344
+ });
345
+ }
346
+ if (rawExpression?.sum.oneofKind === "optionalSome") {
347
+ return new DamlLfExpression({
348
+ optionalConstruction: {
349
+ value: Lf2ModelMapper.mapExpression(rawExpression.sum.optionalSome.value, internedStrings, internedDottedNames, currentPackageId, rawPackage),
350
+ },
351
+ });
352
+ }
353
+ if (rawExpression?.sum.oneofKind === "update") {
354
+ return new DamlLfExpression({
355
+ updateExpression: Lf2ModelMapper.mapUpdateExpression(rawExpression.sum.update, internedStrings, internedDottedNames, currentPackageId, rawPackage),
356
+ });
357
+ }
358
+ if (rawExpression?.sum.oneofKind === "tyApp") {
359
+ return Lf2ModelMapper.mapExpression(rawExpression.sum.tyApp.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage);
360
+ }
361
+ if (rawExpression?.sum.oneofKind === "tyAbs") {
362
+ return Lf2ModelMapper.mapExpression(rawExpression.sum.tyAbs.body, internedStrings, internedDottedNames, currentPackageId, rawPackage);
363
+ }
364
+ if (rawExpression?.sum.oneofKind === "enumCon") {
365
+ return new DamlLfExpression({
366
+ enumConstruction: {
367
+ constructorName: Lf2ModelMapper.resolveInternedString(internedStrings, rawExpression.sum.enumCon.enumConInternedStr),
368
+ },
369
+ });
370
+ }
371
+ if (rawExpression?.sum.oneofKind === "nil") {
372
+ return new DamlLfExpression({
373
+ listConstruction: {
374
+ front: [],
375
+ },
376
+ });
377
+ }
378
+ if (rawExpression?.sum.oneofKind === "cons") {
379
+ return new DamlLfExpression({
380
+ listConstruction: {
381
+ front: rawExpression.sum.cons.front.map((item) => Lf2ModelMapper.mapExpression(item, internedStrings, internedDottedNames, currentPackageId, rawPackage)),
382
+ tail: Lf2ModelMapper.mapExpression(rawExpression.sum.cons.tail, internedStrings, internedDottedNames, currentPackageId, rawPackage),
383
+ },
384
+ });
385
+ }
386
+ if (rawExpression?.sum.oneofKind === "throw") {
387
+ return new DamlLfExpression({
388
+ throwExpression: {
389
+ exception: Lf2ModelMapper.mapExpression(rawExpression.sum.throw.exceptionExpr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
390
+ },
391
+ });
392
+ }
393
+ if (rawExpression?.sum.oneofKind === "case") {
394
+ return new DamlLfExpression({
395
+ caseExpression: {
396
+ scrutinee: Lf2ModelMapper.mapExpression(rawExpression.sum.case.scrut, internedStrings, internedDottedNames, currentPackageId, rawPackage),
397
+ alternatives: rawExpression.sum.case.alts.map((alternative) => ({
398
+ patternKind: alternative.sum.oneofKind === "builtinCon"
399
+ ? "builtinCon"
400
+ : alternative.sum.oneofKind === "variant"
401
+ ? "variant"
402
+ : alternative.sum.oneofKind === "optionalNone"
403
+ ? "optionalNone"
404
+ : alternative.sum.oneofKind
405
+ === "optionalSome"
406
+ ? "optionalSome"
407
+ : alternative.sum.oneofKind === "enum"
408
+ ? "enum"
409
+ : alternative.sum.oneofKind === "nil"
410
+ ? "nil"
411
+ : alternative.sum.oneofKind === "cons"
412
+ ? "cons"
413
+ : "default",
414
+ builtinConstructor: alternative.sum.oneofKind === "builtinCon"
415
+ ? alternative.sum.builtinCon === BuiltinCon.CON_TRUE
416
+ ? "true"
417
+ : alternative.sum.builtinCon
418
+ === BuiltinCon.CON_FALSE
419
+ ? "false"
420
+ : "unit"
421
+ : undefined,
422
+ constructorName: alternative.sum.oneofKind === "variant"
423
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.variant.variantInternedStr)
424
+ : alternative.sum.oneofKind === "enum"
425
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.enum.constructorInternedStr)
426
+ : undefined,
427
+ binderName: alternative.sum.oneofKind === "variant"
428
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.variant.binderInternedStr)
429
+ : alternative.sum.oneofKind === "optionalSome"
430
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.optionalSome.varBodyInternedStr)
431
+ : undefined,
432
+ headBinderName: alternative.sum.oneofKind === "cons"
433
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.cons.varHeadInternedStr)
434
+ : undefined,
435
+ tailBinderName: alternative.sum.oneofKind === "cons"
436
+ ? Lf2ModelMapper.resolveInternedString(internedStrings, alternative.sum.cons.varTailInternedStr)
437
+ : undefined,
438
+ body: Lf2ModelMapper.mapExpression(alternative.body, internedStrings, internedDottedNames, currentPackageId, rawPackage),
439
+ })),
440
+ },
441
+ });
442
+ }
443
+ if (rawExpression?.sum.oneofKind === "internedExpr") {
444
+ return Lf2ModelMapper.mapExpression(rawPackage.internedExprs[rawExpression.sum.internedExpr], internedStrings, internedDottedNames, currentPackageId, rawPackage);
445
+ }
446
+ if (rawExpression?.sum.oneofKind === "let") {
447
+ return new DamlLfExpression({
448
+ letExpression: {
449
+ bindings: rawExpression.sum.let.bindings.map((binding) => ({
450
+ name: Lf2ModelMapper.resolveInternedString(rawPackage.internedStrings, binding.binder?.varInternedStr),
451
+ value: Lf2ModelMapper.mapExpression(binding.bound, internedStrings, internedDottedNames, currentPackageId, rawPackage),
452
+ })),
453
+ body: Lf2ModelMapper.mapExpression(rawExpression.sum.let.body, internedStrings, internedDottedNames, currentPackageId, rawPackage),
454
+ },
455
+ });
456
+ }
457
+ return new DamlLfExpression({
458
+ unsupportedNodeKind: rawExpression?.sum.oneofKind,
459
+ });
460
+ }
461
+ static mapExpressionSourceLocation(rawExpression, internedStrings, internedDottedNames, currentPackageId, rawPackage) {
462
+ const rawLocation = rawExpression?.location;
463
+ const range = rawLocation?.range;
464
+ if (range === undefined) {
465
+ return undefined;
466
+ }
467
+ return {
468
+ packageId: rawLocation?.module === undefined
469
+ ? undefined
470
+ : Lf2ModelMapper.resolvePackageIdOrThrow(currentPackageId, rawLocation.module.packageId, rawPackage),
471
+ moduleName: rawLocation?.module === undefined
472
+ ? undefined
473
+ : Lf2ModelMapper.resolveInternedDottedName(internedStrings, internedDottedNames, rawLocation.module.moduleNameInternedDname),
474
+ startLine: range.startLine,
475
+ startColumn: range.startCol,
476
+ endLine: range.endLine,
477
+ endColumn: range.endCol,
478
+ };
479
+ }
480
+ static mapUpdateExpression(rawUpdate, internedStrings, internedDottedNames, currentPackageId, rawPackage) {
481
+ switch (rawUpdate.sum.oneofKind) {
482
+ case "pure":
483
+ return {
484
+ kind: "pure",
485
+ expression: Lf2ModelMapper.mapExpression(rawUpdate.sum.pure.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
486
+ };
487
+ case "block":
488
+ return {
489
+ kind: "block",
490
+ bindings: rawUpdate.sum.block.bindings.map((binding) => ({
491
+ name: Lf2ModelMapper.resolveInternedString(internedStrings, binding.binder?.varInternedStr),
492
+ value: Lf2ModelMapper.mapExpression(binding.bound, internedStrings, internedDottedNames, currentPackageId, rawPackage),
493
+ })),
494
+ body: Lf2ModelMapper.mapExpression(rawUpdate.sum.block.body, internedStrings, internedDottedNames, currentPackageId, rawPackage),
495
+ };
496
+ case "embedExpr":
497
+ return {
498
+ kind: "embedExpr",
499
+ expression: Lf2ModelMapper.mapExpression(rawUpdate.sum.embedExpr.body, internedStrings, internedDottedNames, currentPackageId, rawPackage),
500
+ };
501
+ case "tryCatch":
502
+ return {
503
+ kind: "tryCatch",
504
+ expression: Lf2ModelMapper.mapExpression(rawUpdate.sum.tryCatch.tryExpr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
505
+ catchVariableName: Lf2ModelMapper.resolveInternedString(internedStrings, rawUpdate.sum.tryCatch.varInternedStr),
506
+ catchExpression: Lf2ModelMapper.mapExpression(rawUpdate.sum.tryCatch.catchExpr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
507
+ };
508
+ case "create":
509
+ return {
510
+ kind: "create",
511
+ templateId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.create.template),
512
+ argument: Lf2ModelMapper.mapExpression(rawUpdate.sum.create.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
513
+ };
514
+ case "createInterface":
515
+ return {
516
+ kind: "createInterface",
517
+ interfaceId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.createInterface.interface),
518
+ argument: Lf2ModelMapper.mapExpression(rawUpdate.sum.createInterface.expr, internedStrings, internedDottedNames, currentPackageId, rawPackage),
519
+ };
520
+ case "fetch":
521
+ return {
522
+ kind: "fetch",
523
+ templateId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.fetch.template),
524
+ contractId: Lf2ModelMapper.mapExpression(rawUpdate.sum.fetch.cid, internedStrings, internedDottedNames, currentPackageId, rawPackage),
525
+ };
526
+ case "fetchInterface":
527
+ return {
528
+ kind: "fetchInterface",
529
+ interfaceId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.fetchInterface.interface),
530
+ contractId: Lf2ModelMapper.mapExpression(rawUpdate.sum.fetchInterface.cid, internedStrings, internedDottedNames, currentPackageId, rawPackage),
531
+ };
532
+ case "exercise":
533
+ return {
534
+ kind: "exercise",
535
+ templateId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.exercise.template),
536
+ choiceName: Lf2ModelMapper.resolveInternedString(internedStrings, rawUpdate.sum.exercise.choiceInternedStr),
537
+ contractId: Lf2ModelMapper.mapExpression(rawUpdate.sum.exercise.cid, internedStrings, internedDottedNames, currentPackageId, rawPackage),
538
+ argument: Lf2ModelMapper.mapExpression(rawUpdate.sum.exercise.arg, internedStrings, internedDottedNames, currentPackageId, rawPackage),
539
+ };
540
+ case "exerciseInterface":
541
+ return {
542
+ kind: "exerciseInterface",
543
+ interfaceId: Lf2ModelMapper.mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawUpdate.sum.exerciseInterface.interface),
544
+ choiceName: Lf2ModelMapper.resolveInternedString(internedStrings, rawUpdate.sum.exerciseInterface.choiceInternedStr),
545
+ contractId: Lf2ModelMapper.mapExpression(rawUpdate.sum.exerciseInterface.cid, internedStrings, internedDottedNames, currentPackageId, rawPackage),
546
+ argument: Lf2ModelMapper.mapExpression(rawUpdate.sum.exerciseInterface.arg, internedStrings, internedDottedNames, currentPackageId, rawPackage),
547
+ guardExpression: rawUpdate.sum.exerciseInterface.guard === undefined
548
+ ? undefined
549
+ : Lf2ModelMapper.mapExpression(rawUpdate.sum.exerciseInterface.guard, internedStrings, internedDottedNames, currentPackageId, rawPackage),
550
+ };
551
+ case "getTime":
552
+ return {
553
+ kind: "getTime",
554
+ };
555
+ case "ledgerTimeLt":
556
+ return {
557
+ kind: "ledgerTimeLt",
558
+ expression: Lf2ModelMapper.mapExpression(rawUpdate.sum.ledgerTimeLt, internedStrings, internedDottedNames, currentPackageId, rawPackage),
559
+ };
560
+ default:
561
+ return {
562
+ kind: "embedExpr",
563
+ expression: new DamlLfExpression({
564
+ unsupportedNodeKind: `update.${rawUpdate.sum.oneofKind ?? "unknown"}`,
565
+ }),
566
+ };
567
+ }
568
+ }
569
+ static mapTemplateReferenceOrThrow(currentPackageId, rawPackage, rawTypeConId) {
570
+ const reference = Lf2ModelMapper.mapTypeConReferenceOrThrow(currentPackageId, rawPackage, rawTypeConId, {
571
+ sum: {
572
+ oneofKind: "con",
573
+ con: {
574
+ tycon: rawTypeConId,
575
+ args: [],
576
+ },
577
+ },
578
+ });
579
+ return {
580
+ packageId: reference.packageId,
581
+ moduleName: reference.moduleName,
582
+ templateName: reference.name,
583
+ };
151
584
  }
152
585
  static resolveInternedString(internedStrings, index) {
153
586
  if (index === undefined || internedStrings[index] === undefined) {
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayDeterminismException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayDeterminismException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayMissingPackageException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayMissingPackageException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayMissingSourceException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayMissingSourceException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplaySourceMapException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplaySourceMapException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayStateHydrationException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayStateHydrationException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayUnsupportedLfConstructException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayUnsupportedLfConstructException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export declare class ReplayUnsupportedUpdateException extends CantonError {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { CantonError } from "../../core/errors/canton-error.js";
2
+ export class ReplayUnsupportedUpdateException extends CantonError {
3
+ }
@@ -0,0 +1,31 @@
1
+ export { LedgerReplayDebuggerClient } from "./ledger-replay-debugger-client.js";
2
+ export { ReplayDeterminismException } from "./errors/replay-determinism.exception.js";
3
+ export { ReplayMissingPackageException } from "./errors/replay-missing-package.exception.js";
4
+ export { ReplayMissingSourceException } from "./errors/replay-missing-source.exception.js";
5
+ export { ReplaySourceMapException } from "./errors/replay-source-map.exception.js";
6
+ export { ReplayStateHydrationException } from "./errors/replay-state-hydration.exception.js";
7
+ export { ReplayUnsupportedLfConstructException } from "./errors/replay-unsupported-lf-construct.exception.js";
8
+ export { ReplayUnsupportedUpdateException } from "./errors/replay-unsupported-update.exception.js";
9
+ export { LedgerReplaySessionLoader } from "./replay/ledger-replay-session-loader.js";
10
+ export { LedgerReplayEnvironmentBuilder } from "./replay/ledger-replay-environment-builder.js";
11
+ export { ReplayArtifactResolver } from "./replay/replay-artifact-resolver.js";
12
+ export { ReplayDeterminismValidator } from "./replay/replay-determinism-validator.js";
13
+ export { ReplayEntrypointDefinitionResolver } from "./replay/replay-entrypoint-definition-resolver.js";
14
+ export { ReplayEntrypoint } from "./replay/replay-entrypoint.js";
15
+ export { ReplayUpdateLoader } from "./replay/replay-update-loader.js";
16
+ export { ReplayPhase } from "./session/replay-phase.js";
17
+ export { InMemoryReplaySessionStore } from "./session/in-memory-replay-session-store.js";
18
+ export { ReplaySession } from "./session/replay-session.js";
19
+ export { ReplaySessionMetadata } from "./session/replay-session-metadata.js";
20
+ export { ReplaySessionRequest } from "./session/replay-session-request.js";
21
+ export { ReplaySourceLocation } from "./session/replay-source-location.js";
22
+ export { ReplayScope } from "./session/replay-scope.js";
23
+ export { ReplayStackFrame } from "./session/replay-stack-frame.js";
24
+ export { ReplayStateDelta } from "./session/replay-state-delta.js";
25
+ export { ReplayStep } from "./session/replay-step.js";
26
+ export { ReplayStepAdvanceResult } from "./session/replay-step-advance-result.js";
27
+ export { ReplayValuePreview } from "./session/replay-value-preview.js";
28
+ export { DamlSourceMapper } from "./source/daml-source-mapper.js";
29
+ export { DarSourceMapMetadata } from "./source/dar-source-map-metadata.js";
30
+ export { SourceMappingPrecision, } from "./source/source-mapping-precision.js";
31
+ export { IndexedDefinitionSource, IndexedExecutableSource, SourceIndexedCompilation, } from "./source/source-indexed-compilation.js";