@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.
- package/README.md +333 -1
- package/dist/client/canton-client-options.d.ts +3 -0
- package/dist/client/canton-client-options.js +2 -0
- package/dist/client/service-registry.js +3 -2
- package/dist/core/errors/grpc-transport-error.d.ts +14 -0
- package/dist/core/errors/grpc-transport-error.js +76 -0
- package/dist/core/signing/command-signer.interface.d.ts +2 -0
- package/dist/core/transports/transport.interface.d.ts +2 -2
- package/dist/core/types/canton-hash-purpose.d.ts +2 -1
- package/dist/core/types/canton-hash-purpose.js +1 -0
- package/dist/core/types/daml-numeric.d.ts +6 -0
- package/dist/core/types/daml-numeric.js +14 -0
- package/dist/core/types/daml-party.d.ts +6 -0
- package/dist/core/types/daml-party.js +14 -0
- package/dist/core/types/disclosed-contract.d.ts +13 -0
- package/dist/core/types/disclosed-contract.js +15 -0
- package/dist/core/types/requests/create-decentralized-party-request.d.ts +41 -0
- package/dist/core/types/requests/create-decentralized-party-request.js +82 -0
- package/dist/core/types/requests/create-external-party-request.d.ts +42 -0
- package/dist/core/types/requests/create-external-party-request.js +47 -0
- package/dist/core/types/requests/finalize-decentralized-party-request.d.ts +39 -0
- package/dist/core/types/requests/finalize-decentralized-party-request.js +42 -0
- package/dist/core/types/requests/get-active-contracts-page-request.d.ts +15 -2
- package/dist/core/types/requests/get-active-contracts-page-request.js +4 -0
- package/dist/core/types/requests/submit-command-request.d.ts +5 -0
- package/dist/core/types/requests/submit-command-request.js +4 -0
- package/dist/core/types/topology/topology-signature-format.d.ts +2 -1
- package/dist/core/types/topology/topology-signature-format.js +1 -0
- package/dist/daml-lf/container/dar-archive-entry.d.ts +8 -0
- package/dist/daml-lf/container/dar-archive-entry.js +8 -0
- package/dist/daml-lf/container/dar-archive-loader.js +14 -0
- package/dist/daml-lf/container/dar-archive.d.ts +6 -0
- package/dist/daml-lf/container/dar-archive.js +4 -0
- package/dist/daml-lf/container/dar-source-bundle-loader.d.ts +5 -0
- package/dist/daml-lf/container/dar-source-bundle-loader.js +33 -0
- package/dist/daml-lf/container/dar-source-bundle.d.ts +45 -0
- package/dist/daml-lf/container/dar-source-bundle.js +11 -0
- package/dist/daml-lf/container/dar-source-file-entry.d.ts +8 -0
- package/dist/daml-lf/container/dar-source-file-entry.js +8 -0
- package/dist/daml-lf/daml-lf-compilation.d.ts +12 -0
- package/dist/daml-lf/daml-lf-compilation.js +35 -0
- package/dist/daml-lf/index.d.ts +11 -0
- package/dist/daml-lf/index.js +10 -0
- package/dist/daml-lf/interpreter/daml-lf-builtin-dispatch.d.ts +43 -0
- package/dist/daml-lf/interpreter/daml-lf-builtin-dispatch.js +933 -0
- package/dist/daml-lf/interpreter/daml-lf-evaluator.d.ts +95 -0
- package/dist/daml-lf/interpreter/daml-lf-evaluator.js +1131 -0
- package/dist/daml-lf/interpreter/daml-lf-interpreter-scaffold.d.ts +3 -0
- package/dist/daml-lf/interpreter/daml-lf-interpreter-scaffold.js +6 -1
- package/dist/daml-lf/interpreter/daml-lf-lexical-scope.d.ts +13 -0
- package/dist/daml-lf/interpreter/daml-lf-lexical-scope.js +46 -0
- package/dist/daml-lf/interpreter/daml-lf-runtime-frame.d.ts +16 -0
- package/dist/daml-lf/interpreter/daml-lf-runtime-frame.js +15 -0
- package/dist/daml-lf/interpreter/daml-lf-runtime-value.d.ts +21 -0
- package/dist/daml-lf/interpreter/daml-lf-runtime-value.js +4 -1
- package/dist/daml-lf/interpreter/daml-lf-step-kind.d.ts +7 -0
- package/dist/daml-lf/interpreter/daml-lf-step-kind.js +8 -0
- package/dist/daml-lf/interpreter/daml-lf-trace-sink.interface.d.ts +30 -0
- package/dist/daml-lf/interpreter/daml-lf-trace-sink.interface.js +1 -0
- package/dist/daml-lf/model/daml-lf-builtin-type.d.ts +3 -0
- package/dist/daml-lf/model/daml-lf-builtin-type.js +3 -0
- package/dist/daml-lf/model/daml-lf-choice.d.ts +5 -0
- package/dist/daml-lf/model/daml-lf-choice.js +4 -0
- package/dist/daml-lf/model/daml-lf-expression-path.d.ts +2 -0
- package/dist/daml-lf/model/daml-lf-expression-path.js +81 -0
- package/dist/daml-lf/model/daml-lf-expression.d.ts +146 -0
- package/dist/daml-lf/model/daml-lf-expression.js +71 -0
- package/dist/daml-lf/model/daml-lf-template.d.ts +2 -0
- package/dist/daml-lf/model/daml-lf-template.js +2 -0
- package/dist/daml-lf/model/daml-lf-type.d.ts +2 -0
- package/dist/daml-lf/model/daml-lf-type.js +4 -0
- package/dist/daml-lf/model/lf-2-model-mapper.d.ts +5 -0
- package/dist/daml-lf/model/lf-2-model-mapper.js +445 -12
- package/dist/debugger/errors/replay-determinism.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-determinism.exception.js +3 -0
- package/dist/debugger/errors/replay-missing-package.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-missing-package.exception.js +3 -0
- package/dist/debugger/errors/replay-missing-source.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-missing-source.exception.js +3 -0
- package/dist/debugger/errors/replay-source-map.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-source-map.exception.js +3 -0
- package/dist/debugger/errors/replay-state-hydration.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-state-hydration.exception.js +3 -0
- package/dist/debugger/errors/replay-unsupported-lf-construct.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-unsupported-lf-construct.exception.js +3 -0
- package/dist/debugger/errors/replay-unsupported-update.exception.d.ts +3 -0
- package/dist/debugger/errors/replay-unsupported-update.exception.js +3 -0
- package/dist/debugger/index.d.ts +31 -0
- package/dist/debugger/index.js +31 -0
- package/dist/debugger/ledger-replay-debugger-client.d.ts +31 -0
- package/dist/debugger/ledger-replay-debugger-client.js +53 -0
- package/dist/debugger/replay/ledger-replay-environment-builder.d.ts +95 -0
- package/dist/debugger/replay/ledger-replay-environment-builder.js +249 -0
- package/dist/debugger/replay/ledger-replay-session-loader.d.ts +78 -0
- package/dist/debugger/replay/ledger-replay-session-loader.js +565 -0
- package/dist/debugger/replay/replay-artifact-resolver.d.ts +30 -0
- package/dist/debugger/replay/replay-artifact-resolver.js +210 -0
- package/dist/debugger/replay/replay-determinism-validator.d.ts +12 -0
- package/dist/debugger/replay/replay-determinism-validator.js +161 -0
- package/dist/debugger/replay/replay-entrypoint-definition-resolver.d.ts +40 -0
- package/dist/debugger/replay/replay-entrypoint-definition-resolver.js +337 -0
- package/dist/debugger/replay/replay-entrypoint.d.ts +22 -0
- package/dist/debugger/replay/replay-entrypoint.js +14 -0
- package/dist/debugger/replay/replay-ledger-value-normalizer.d.ts +7 -0
- package/dist/debugger/replay/replay-ledger-value-normalizer.js +194 -0
- package/dist/debugger/replay/replay-update-loader.d.ts +24 -0
- package/dist/debugger/replay/replay-update-loader.js +94 -0
- package/dist/debugger/replay/replay-update-visibility-validator.d.ts +19 -0
- package/dist/debugger/replay/replay-update-visibility-validator.js +19 -0
- package/dist/debugger/session/in-memory-replay-session-store.d.ts +27 -0
- package/dist/debugger/session/in-memory-replay-session-store.js +109 -0
- package/dist/debugger/session/replay-phase.d.ts +7 -0
- package/dist/debugger/session/replay-phase.js +8 -0
- package/dist/debugger/session/replay-scope.d.ts +10 -0
- package/dist/debugger/session/replay-scope.js +10 -0
- package/dist/debugger/session/replay-session-metadata.d.ts +10 -0
- package/dist/debugger/session/replay-session-metadata.js +10 -0
- package/dist/debugger/session/replay-session-request.d.ts +6 -0
- package/dist/debugger/session/replay-session-request.js +10 -0
- package/dist/debugger/session/replay-session.d.ts +12 -0
- package/dist/debugger/session/replay-session.js +10 -0
- package/dist/debugger/session/replay-source-location.d.ts +17 -0
- package/dist/debugger/session/replay-source-location.js +16 -0
- package/dist/debugger/session/replay-stack-frame.d.ts +8 -0
- package/dist/debugger/session/replay-stack-frame.js +8 -0
- package/dist/debugger/session/replay-state-delta.d.ts +29 -0
- package/dist/debugger/session/replay-state-delta.js +24 -0
- package/dist/debugger/session/replay-step-advance-result.d.ts +24 -0
- package/dist/debugger/session/replay-step-advance-result.js +16 -0
- package/dist/debugger/session/replay-step.d.ts +30 -0
- package/dist/debugger/session/replay-step.js +24 -0
- package/dist/debugger/session/replay-value-preview.d.ts +8 -0
- package/dist/debugger/session/replay-value-preview.js +15 -0
- package/dist/debugger/source/daml-source-mapper.d.ts +12 -0
- package/dist/debugger/source/daml-source-mapper.js +21 -0
- package/dist/debugger/source/dar-source-map-metadata.d.ts +26 -0
- package/dist/debugger/source/dar-source-map-metadata.js +10 -0
- package/dist/debugger/source/source-coverage-validator.d.ts +8 -0
- package/dist/debugger/source/source-coverage-validator.js +16 -0
- package/dist/debugger/source/source-indexed-compilation.d.ts +45 -0
- package/dist/debugger/source/source-indexed-compilation.js +110 -0
- package/dist/debugger/source/source-mapping-precision.d.ts +5 -0
- package/dist/debugger/source/source-mapping-precision.js +4 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +13 -0
- package/dist/query/cache/memory-query-cache.d.ts +9 -0
- package/dist/query/cache/memory-query-cache.js +24 -0
- package/dist/query/cache/query-cache-store.d.ts +5 -0
- package/dist/query/cache/query-cache-store.js +1 -0
- package/dist/query/canton-manager-options.d.ts +17 -0
- package/dist/query/canton-manager-options.js +1 -0
- package/dist/query/canton-manager.d.ts +11 -0
- package/dist/query/canton-manager.js +42 -0
- package/dist/query/errors/pqs-query-error.d.ts +10 -0
- package/dist/query/errors/pqs-query-error.js +11 -0
- package/dist/query/errors/pqs-schema-profile-error.d.ts +3 -0
- package/dist/query/errors/pqs-schema-profile-error.js +3 -0
- package/dist/query/errors/query-capability-error.d.ts +7 -0
- package/dist/query/errors/query-capability-error.js +10 -0
- package/dist/query/grpc/grpc-contract-query-client.d.ts +32 -0
- package/dist/query/grpc/grpc-contract-query-client.js +126 -0
- package/dist/query/model-types.d.ts +258 -0
- package/dist/query/model-types.js +14 -0
- package/dist/query/pqs/pqs-pool.d.ts +13 -0
- package/dist/query/pqs/pqs-pool.js +18 -0
- package/dist/query/pqs/pqs-query-client.d.ts +49 -0
- package/dist/query/pqs/pqs-query-client.js +324 -0
- package/dist/query/pqs/pqs-schema-profile.d.ts +25 -0
- package/dist/query/pqs/pqs-schema-profile.js +120 -0
- package/dist/query/pqs/pqs-sql-compiler.d.ts +7 -0
- package/dist/query/pqs/pqs-sql-compiler.js +132 -0
- package/dist/query/pqs/read-only-sql.d.ts +1 -0
- package/dist/query/pqs/read-only-sql.js +35 -0
- package/dist/query/query-client.d.ts +61 -0
- package/dist/query/query-client.js +1 -0
- package/dist/query/query-source.d.ts +4 -0
- package/dist/query/query-source.js +5 -0
- package/dist/services/command/command-service-client.d.ts +2 -2
- package/dist/services/commands/command-submission-pipeline.d.ts +2 -2
- package/dist/services/party-management/decentralized-party-lifecycle.d.ts +6 -0
- package/dist/services/party-management/decentralized-party-lifecycle.js +82 -0
- package/dist/services/party-management/party-management-service-client.d.ts +16 -1
- package/dist/services/party-management/party-management-service-client.js +142 -1
- package/dist/services/topology-manager-write/topology-signed-transaction-assembler.js +4 -0
- package/dist/testing/campaign/campaign-artifact.d.ts +20 -0
- package/dist/testing/campaign/campaign-artifact.js +147 -0
- package/dist/testing/campaign/campaign-definition.d.ts +9 -0
- package/dist/testing/campaign/campaign-definition.js +78 -0
- package/dist/testing/campaign/campaign-metrics.d.ts +32 -0
- package/dist/testing/campaign/campaign-metrics.js +26 -0
- package/dist/testing/campaign/campaign-model.d.ts +11 -0
- package/dist/testing/campaign/campaign-model.js +21 -0
- package/dist/testing/campaign/campaign-runner.d.ts +99 -0
- package/dist/testing/campaign/campaign-runner.js +194 -0
- package/dist/testing/campaign/campaign-scheduler.d.ts +40 -0
- package/dist/testing/campaign/campaign-scheduler.js +75 -0
- package/dist/testing/campaign/campaign-types.d.ts +52 -0
- package/dist/testing/campaign/campaign-types.js +11 -0
- package/dist/testing/daml/daml-action-arbitrary.d.ts +13 -0
- package/dist/testing/daml/daml-action-arbitrary.js +24 -0
- package/dist/testing/daml/daml-choice-action-arbitrary.d.ts +18 -0
- package/dist/testing/daml/daml-choice-action-arbitrary.js +27 -0
- package/dist/testing/daml/daml-create-action-arbitrary.d.ts +19 -0
- package/dist/testing/daml/daml-create-action-arbitrary.js +34 -0
- package/dist/testing/daml/daml-testing-catalog.d.ts +38 -0
- package/dist/testing/daml/daml-testing-catalog.js +40 -0
- package/dist/testing/daml/daml-value-arbitrary.d.ts +8 -0
- package/dist/testing/daml/daml-value-arbitrary.js +43 -0
- package/dist/testing/daml/declarative-campaign-arbitrary.d.ts +15 -0
- package/dist/testing/daml/declarative-campaign-arbitrary.js +30 -0
- package/dist/testing/errors/invariant-campaign-failure.d.ts +24 -0
- package/dist/testing/errors/invariant-campaign-failure.js +37 -0
- package/dist/testing/errors/testing-configuration-error.d.ts +3 -0
- package/dist/testing/errors/testing-configuration-error.js +6 -0
- package/dist/testing/handlers/handler.d.ts +19 -0
- package/dist/testing/handlers/handler.js +31 -0
- package/dist/testing/index.d.ts +22 -0
- package/dist/testing/index.js +22 -0
- package/dist/testing/runtime/campaign-isolation.d.ts +14 -0
- package/dist/testing/runtime/campaign-isolation.js +23 -0
- package/dist/testing/runtime/canton-test-runtime.d.ts +58 -0
- package/dist/testing/runtime/canton-test-runtime.js +138 -0
- package/dist/testing/runtime/declarative-action-executor.d.ts +16 -0
- package/dist/testing/runtime/declarative-action-executor.js +41 -0
- package/dist/testing/targets/target.d.ts +49 -0
- package/dist/testing/targets/target.js +121 -0
- package/dist/transports/grpc/grpc-channel-factory.js +31 -1
- package/dist/transports/grpc/grpc-transport.d.ts +2 -2
- package/dist/transports/grpc/grpc-transport.js +11 -8
- package/dist/transports/grpc/mappers/commands-mapper.js +23 -2
- package/dist/transports/grpc/mappers/contracts-mapper.d.ts +3 -1
- package/dist/transports/grpc/mappers/contracts-mapper.js +16 -3
- package/dist/transports/grpc/mappers/interactive-command-mapper.d.ts +4 -1
- package/dist/transports/grpc/mappers/interactive-command-mapper.js +3 -8
- package/dist/transports/grpc/mappers/topology-manager-write-mapper.js +59 -1
- package/dist/transports/json/mappers/commands-mapper.js +20 -6
- package/node/.generated/start-local/additional-config.extra-participants.conf +37 -0
- package/node/.generated/start-local/additional-config.extra-validators.conf +35 -0
- package/node/.generated/start-local/compose-extra-participants.yaml +147 -0
- package/node/.generated/start-local/extra-participants.env +30 -0
- package/node/es256-jwt.mjs +177 -0
- package/node/start-local.sh +886 -0
- package/node/stop-local.sh +200 -0
- package/node/test-start-local.sh +354 -0
- package/node/test-stop-local.sh +112 -0
- 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
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
64
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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,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";
|