@distrohelena/canton-typescript-sdk 0.1.28 → 0.1.30
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/dist/cjs/client/canton-client-options.js +45 -0
- package/dist/cjs/client/canton-client.js +91 -0
- package/dist/cjs/client/canton-hashing-client.js +19 -0
- package/dist/cjs/client/external-party-activation-client.js +144 -0
- package/dist/cjs/client/external-party-activation-request.js +18 -0
- package/dist/cjs/client/external-party-activation-response.js +16 -0
- package/dist/cjs/client/service-registry.js +1157 -0
- package/dist/cjs/core/auth/auth-provider.interface.js +2 -0
- package/dist/cjs/core/auth/bearer-token-auth-provider.js +13 -0
- package/dist/cjs/core/errors/authentication-error.js +7 -0
- package/dist/cjs/core/errors/authorization-error.js +7 -0
- package/dist/cjs/core/errors/canton-error.js +10 -0
- package/dist/cjs/core/errors/conflict-error.js +7 -0
- package/dist/cjs/core/errors/endpoint-not-configured-error.js +7 -0
- package/dist/cjs/core/errors/grpc-transport-error.js +80 -0
- package/dist/cjs/core/errors/not-supported-error.js +7 -0
- package/dist/cjs/core/errors/object-disposed-error.js +7 -0
- package/dist/cjs/core/errors/signing-error.js +7 -0
- package/dist/cjs/core/errors/timeout-error.js +7 -0
- package/dist/cjs/core/errors/transport-error.js +7 -0
- package/dist/cjs/core/errors/validation-error.js +7 -0
- package/dist/cjs/core/hashing/canton-hash.js +124 -0
- package/dist/cjs/core/signing/command-signer.interface.js +2 -0
- package/dist/cjs/core/signing/sign-command-request.js +16 -0
- package/dist/cjs/core/signing/sign-command-result.js +23 -0
- package/dist/cjs/core/transports/transport-capability.js +7 -0
- package/dist/cjs/core/transports/transport-features.interface.js +2 -0
- package/dist/cjs/core/transports/transport.interface.js +2 -0
- package/dist/cjs/core/types/admin-component-health-kind.js +11 -0
- package/dist/cjs/core/types/admin-component-status.js +14 -0
- package/dist/cjs/core/types/admin-node-status.js +22 -0
- package/dist/cjs/core/types/admin-not-initialized-external-input-kind.js +10 -0
- package/dist/cjs/core/types/admin-not-initialized-status.js +14 -0
- package/dist/cjs/core/types/admin-topology-queue-status.js +14 -0
- package/dist/cjs/core/types/canton-hash-purpose.js +9 -0
- package/dist/cjs/core/types/command-inspection-contract.js +14 -0
- package/dist/cjs/core/types/command-request-statistics.js +14 -0
- package/dist/cjs/core/types/command-state.js +10 -0
- package/dist/cjs/core/types/command-status.js +27 -0
- package/dist/cjs/core/types/command-timing.js +12 -0
- package/dist/cjs/core/types/command-update-summary.js +18 -0
- package/dist/cjs/core/types/commands/create-and-exercise-command.js +27 -0
- package/dist/cjs/core/types/commands/create-command.js +20 -0
- package/dist/cjs/core/types/commands/exercise-by-key-command.js +26 -0
- package/dist/cjs/core/types/commands/exercise-command.js +26 -0
- package/dist/cjs/core/types/commands/ledger-command.js +2 -0
- package/dist/cjs/core/types/commitment-interval.js +12 -0
- package/dist/cjs/core/types/commitment-time-range.js +12 -0
- package/dist/cjs/core/types/completion.js +34 -0
- package/dist/cjs/core/types/connected-synchronizer-health.js +9 -0
- package/dist/cjs/core/types/connected-synchronizer-status.js +12 -0
- package/dist/cjs/core/types/connected-synchronizer.js +15 -0
- package/dist/cjs/core/types/contract-archived.js +12 -0
- package/dist/cjs/core/types/contract-created.js +12 -0
- package/dist/cjs/core/types/counter-participant-info.js +18 -0
- package/dist/cjs/core/types/daml-contract-id.js +15 -0
- package/dist/cjs/core/types/daml-numeric.js +18 -0
- package/dist/cjs/core/types/daml-party.js +18 -0
- package/dist/cjs/core/types/daml-values.js +63 -0
- package/dist/cjs/core/types/disclosed-contract.js +19 -0
- package/dist/cjs/core/types/event-stream-kind.js +8 -0
- package/dist/cjs/core/types/external-party/external-party-crypto-key-format.js +10 -0
- package/dist/cjs/core/types/external-party/external-party-onboarding-transaction.js +12 -0
- package/dist/cjs/core/types/external-party/external-party-signature-format.js +11 -0
- package/dist/cjs/core/types/external-party/external-party-signature.js +20 -0
- package/dist/cjs/core/types/external-party/external-party-signing-algorithm-spec.js +11 -0
- package/dist/cjs/core/types/external-party/external-party-signing-key-spec.js +12 -0
- package/dist/cjs/core/types/external-party/external-party-signing-public-key.js +16 -0
- package/dist/cjs/core/types/grpc-channel-security.js +8 -0
- package/dist/cjs/core/types/hash-function.js +7 -0
- package/dist/cjs/core/types/health-check-status.js +10 -0
- package/dist/cjs/core/types/identity-provider-config.js +18 -0
- package/dist/cjs/core/types/known-package-details.js +18 -0
- package/dist/cjs/core/types/ledger-user.js +21 -0
- package/dist/cjs/core/types/object-meta.js +12 -0
- package/dist/cjs/core/types/offset-checkpoint.js +12 -0
- package/dist/cjs/core/types/package-format.js +8 -0
- package/dist/cjs/core/types/package-metadata-filter.js +12 -0
- package/dist/cjs/core/types/package-reference.js +14 -0
- package/dist/cjs/core/types/package-status.js +8 -0
- package/dist/cjs/core/types/participant-dar-description.js +16 -0
- package/dist/cjs/core/types/participant-module-description.js +10 -0
- package/dist/cjs/core/types/participant-node-status.js +22 -0
- package/dist/cjs/core/types/participant-package-description.js +18 -0
- package/dist/cjs/core/types/participant-pruning-schedule.js +12 -0
- package/dist/cjs/core/types/party-details.js +16 -0
- package/dist/cjs/core/types/pending-operation-metadata.js +16 -0
- package/dist/cjs/core/types/prepared-command-submission.js +17 -0
- package/dist/cjs/core/types/pruning-schedule.js +14 -0
- package/dist/cjs/core/types/received-acs-commitment-per-synchronizer.js +12 -0
- package/dist/cjs/core/types/received-acs-commitment-state.js +11 -0
- package/dist/cjs/core/types/received-acs-commitment.js +24 -0
- package/dist/cjs/core/types/request-options.js +10 -0
- package/dist/cjs/core/types/request-timeout.js +6 -0
- package/dist/cjs/core/types/requests/allocate-party-request.js +12 -0
- package/dist/cjs/core/types/requests/assemble-signed-topology-transactions-request.js +12 -0
- package/dist/cjs/core/types/requests/create-decentralized-party-request.js +86 -0
- package/dist/cjs/core/types/requests/create-external-party-request.js +51 -0
- package/dist/cjs/core/types/requests/create-party-request.js +12 -0
- package/dist/cjs/core/types/requests/finalize-decentralized-party-request.js +47 -0
- package/dist/cjs/core/types/requests/get-active-contracts-page-request.js +28 -0
- package/dist/cjs/core/types/requests/get-active-contracts-request.js +12 -0
- package/dist/cjs/core/types/requests/get-command-status-request.js +14 -0
- package/dist/cjs/core/types/requests/get-connected-synchronizers-request.js +14 -0
- package/dist/cjs/core/types/requests/get-dar-contents-request.js +10 -0
- package/dist/cjs/core/types/requests/get-dar-request.js +10 -0
- package/dist/cjs/core/types/requests/get-identity-provider-config-request.js +10 -0
- package/dist/cjs/core/types/requests/get-latest-pruned-offsets-request.js +7 -0
- package/dist/cjs/core/types/requests/get-ledger-api-version-request.js +6 -0
- package/dist/cjs/core/types/requests/get-ledger-end-request.js +7 -0
- package/dist/cjs/core/types/requests/get-package-references-request.js +10 -0
- package/dist/cjs/core/types/requests/get-package-request.js +10 -0
- package/dist/cjs/core/types/requests/get-package-status-request.js +10 -0
- package/dist/cjs/core/types/requests/get-participant-id-request.js +7 -0
- package/dist/cjs/core/types/requests/get-participant-status-request.js +6 -0
- package/dist/cjs/core/types/requests/get-parties-request.js +12 -0
- package/dist/cjs/core/types/requests/get-user-request.js +12 -0
- package/dist/cjs/core/types/requests/grant-user-rights-request.js +12 -0
- package/dist/cjs/core/types/requests/health-check-request.js +10 -0
- package/dist/cjs/core/types/requests/list-all-request.js +14 -0
- package/dist/cjs/core/types/requests/list-dars-request.js +12 -0
- package/dist/cjs/core/types/requests/list-decentralized-namespace-definition-request.js +12 -0
- package/dist/cjs/core/types/requests/list-identity-provider-configs-request.js +6 -0
- package/dist/cjs/core/types/requests/list-key-owners-request.js +18 -0
- package/dist/cjs/core/types/requests/list-known-packages-request.js +7 -0
- package/dist/cjs/core/types/requests/list-known-parties-request.js +16 -0
- package/dist/cjs/core/types/requests/list-lsu-announcement-request.js +12 -0
- package/dist/cjs/core/types/requests/list-lsu-sequencer-connection-successor-request.js +15 -0
- package/dist/cjs/core/types/requests/list-mediator-synchronizer-state-request.js +12 -0
- package/dist/cjs/core/types/requests/list-namespace-delegation-request.js +14 -0
- package/dist/cjs/core/types/requests/list-owner-to-key-mapping-request.js +14 -0
- package/dist/cjs/core/types/requests/list-packages-request.js +7 -0
- package/dist/cjs/core/types/requests/list-participant-synchronizer-permission-request.js +12 -0
- package/dist/cjs/core/types/requests/list-parties-request.js +16 -0
- package/dist/cjs/core/types/requests/list-party-hosting-limits-request.js +12 -0
- package/dist/cjs/core/types/requests/list-party-to-key-mapping-request.js +12 -0
- package/dist/cjs/core/types/requests/list-party-to-participant-request.js +14 -0
- package/dist/cjs/core/types/requests/list-sequencer-synchronizer-state-request.js +12 -0
- package/dist/cjs/core/types/requests/list-sequencing-parameters-state-request.js +12 -0
- package/dist/cjs/core/types/requests/list-synchronizer-parameters-state-request.js +12 -0
- package/dist/cjs/core/types/requests/list-synchronizer-trust-certificate-request.js +12 -0
- package/dist/cjs/core/types/requests/list-user-rights-request.js +12 -0
- package/dist/cjs/core/types/requests/list-users-request.js +14 -0
- package/dist/cjs/core/types/requests/list-vetted-packages-request.js +16 -0
- package/dist/cjs/core/types/requests/query-contracts-request.js +12 -0
- package/dist/cjs/core/types/requests/stream-query-request.js +12 -0
- package/dist/cjs/core/types/requests/stream-transactions-request.js +16 -0
- package/dist/cjs/core/types/requests/submit-command-request.js +26 -0
- package/dist/cjs/core/types/requests/topology-list-parties-request.js +18 -0
- package/dist/cjs/core/types/requests/topology-list-vetted-packages-request.js +12 -0
- package/dist/cjs/core/types/requests/upload-dar-file-request.js +10 -0
- package/dist/cjs/core/types/requests/upload-package-request.js +12 -0
- package/dist/cjs/core/types/responses/allocate-party-response.js +10 -0
- package/dist/cjs/core/types/responses/create-party-response.js +10 -0
- package/dist/cjs/core/types/responses/get-active-contracts-page-response.js +14 -0
- package/dist/cjs/core/types/responses/get-command-status-response.js +10 -0
- package/dist/cjs/core/types/responses/get-connected-synchronizers-response.js +10 -0
- package/dist/cjs/core/types/responses/get-dar-contents-response.js +12 -0
- package/dist/cjs/core/types/responses/get-dar-response.js +12 -0
- package/dist/cjs/core/types/responses/get-identity-provider-config-response.js +10 -0
- package/dist/cjs/core/types/responses/get-latest-pruned-offsets-response.js +14 -0
- package/dist/cjs/core/types/responses/get-ledger-api-version-response.js +12 -0
- package/dist/cjs/core/types/responses/get-ledger-end-response.js +12 -0
- package/dist/cjs/core/types/responses/get-package-references-response.js +10 -0
- package/dist/cjs/core/types/responses/get-package-response.js +14 -0
- package/dist/cjs/core/types/responses/get-package-status-response.js +10 -0
- package/dist/cjs/core/types/responses/get-participant-id-response.js +10 -0
- package/dist/cjs/core/types/responses/get-participant-status-response.js +12 -0
- package/dist/cjs/core/types/responses/get-parties-response.js +10 -0
- package/dist/cjs/core/types/responses/get-user-response.js +10 -0
- package/dist/cjs/core/types/responses/grant-user-rights-response.js +10 -0
- package/dist/cjs/core/types/responses/health-check-response.js +10 -0
- package/dist/cjs/core/types/responses/health-status-response.js +12 -0
- package/dist/cjs/core/types/responses/list-all-response.js +10 -0
- package/dist/cjs/core/types/responses/list-dars-response.js +10 -0
- package/dist/cjs/core/types/responses/list-decentralized-namespace-definition-response.js +10 -0
- package/dist/cjs/core/types/responses/list-identity-provider-configs-response.js +10 -0
- package/dist/cjs/core/types/responses/list-key-owners-response.js +10 -0
- package/dist/cjs/core/types/responses/list-known-packages-response.js +10 -0
- package/dist/cjs/core/types/responses/list-known-parties-response.js +12 -0
- package/dist/cjs/core/types/responses/list-lsu-announcement-response.js +10 -0
- package/dist/cjs/core/types/responses/list-lsu-sequencer-connection-successor-response.js +10 -0
- package/dist/cjs/core/types/responses/list-mediator-synchronizer-state-response.js +10 -0
- package/dist/cjs/core/types/responses/list-namespace-delegation-response.js +10 -0
- package/dist/cjs/core/types/responses/list-owner-to-key-mapping-response.js +10 -0
- package/dist/cjs/core/types/responses/list-packages-response.js +10 -0
- package/dist/cjs/core/types/responses/list-participant-synchronizer-permission-response.js +10 -0
- package/dist/cjs/core/types/responses/list-parties-response.js +12 -0
- package/dist/cjs/core/types/responses/list-party-hosting-limits-response.js +10 -0
- package/dist/cjs/core/types/responses/list-party-to-key-mapping-response.js +10 -0
- package/dist/cjs/core/types/responses/list-party-to-participant-response.js +10 -0
- package/dist/cjs/core/types/responses/list-sequencer-synchronizer-state-response.js +10 -0
- package/dist/cjs/core/types/responses/list-sequencing-parameters-state-response.js +10 -0
- package/dist/cjs/core/types/responses/list-synchronizer-parameters-state-response.js +10 -0
- package/dist/cjs/core/types/responses/list-synchronizer-trust-certificate-response.js +10 -0
- package/dist/cjs/core/types/responses/list-user-rights-response.js +10 -0
- package/dist/cjs/core/types/responses/list-users-response.js +12 -0
- package/dist/cjs/core/types/responses/list-vetted-packages-response.js +12 -0
- package/dist/cjs/core/types/responses/query-contracts-response.js +10 -0
- package/dist/cjs/core/types/responses/submit-command-response.js +12 -0
- package/dist/cjs/core/types/responses/submit-command-transaction-response.js +15 -0
- package/dist/cjs/core/types/responses/topology-list-parties-response.js +10 -0
- package/dist/cjs/core/types/responses/topology-list-vetted-packages-response.js +10 -0
- package/dist/cjs/core/types/responses/upload-dar-file-response.js +10 -0
- package/dist/cjs/core/types/responses/upload-package-response.js +10 -0
- package/dist/cjs/core/types/safe-to-prune-commitment-state.js +10 -0
- package/dist/cjs/core/types/sdk-command.js +22 -0
- package/dist/cjs/core/types/sent-acs-commitment-per-synchronizer.js +12 -0
- package/dist/cjs/core/types/sent-acs-commitment-state.js +10 -0
- package/dist/cjs/core/types/sent-acs-commitment.js +24 -0
- package/dist/cjs/core/types/slow-counter-participant-synchronizer-config.js +20 -0
- package/dist/cjs/core/types/submission-mode.js +8 -0
- package/dist/cjs/core/types/synchronizer-time-range.js +12 -0
- package/dist/cjs/core/types/synchronizer-time.js +12 -0
- package/dist/cjs/core/types/topology/decentralized-namespace-definition.js +14 -0
- package/dist/cjs/core/types/topology/dynamic-sequencing-parameters.js +10 -0
- package/dist/cjs/core/types/topology/dynamic-synchronizer-parameters.js +80 -0
- package/dist/cjs/core/types/topology/external-topology-signature.js +20 -0
- package/dist/cjs/core/types/topology/generated-topology-transaction.js +12 -0
- package/dist/cjs/core/types/topology/lsu-announcement.js +13 -0
- package/dist/cjs/core/types/topology/lsu-sequencer-connection-successor.js +27 -0
- package/dist/cjs/core/types/topology/mediator-synchronizer-state.js +18 -0
- package/dist/cjs/core/types/topology/multi-topology-transaction-signature.js +12 -0
- package/dist/cjs/core/types/topology/namespace-delegation.js +31 -0
- package/dist/cjs/core/types/topology/owner-to-key-mapping.js +12 -0
- package/dist/cjs/core/types/topology/participant-permission.js +10 -0
- package/dist/cjs/core/types/topology/participant-synchronizer-permission.js +27 -0
- package/dist/cjs/core/types/topology/party-hosting-limits.js +12 -0
- package/dist/cjs/core/types/topology/party-to-key-mapping.js +14 -0
- package/dist/cjs/core/types/topology/party-to-participant.js +34 -0
- package/dist/cjs/core/types/topology/prepared-topology-transaction.js +14 -0
- package/dist/cjs/core/types/topology/sequencer-synchronizer-state.js +16 -0
- package/dist/cjs/core/types/topology/signed-topology-transaction.js +18 -0
- package/dist/cjs/core/types/topology/synchronizer-trust-certificate.js +14 -0
- package/dist/cjs/core/types/topology/topology-base-query.js +34 -0
- package/dist/cjs/core/types/topology/topology-base-result.js +25 -0
- package/dist/cjs/core/types/topology/topology-duration.js +12 -0
- package/dist/cjs/core/types/topology/topology-force-flag.js +12 -0
- package/dist/cjs/core/types/topology/topology-key-owner-result.js +18 -0
- package/dist/cjs/core/types/topology/topology-mapping-code.js +22 -0
- package/dist/cjs/core/types/topology/topology-mapping-operation.js +9 -0
- package/dist/cjs/core/types/topology/topology-mapping-result.js +12 -0
- package/dist/cjs/core/types/topology/topology-mapping.js +2 -0
- package/dist/cjs/core/types/topology/topology-party-result.js +33 -0
- package/dist/cjs/core/types/topology/topology-public-key.js +53 -0
- package/dist/cjs/core/types/topology/topology-signature-delegation.js +24 -0
- package/dist/cjs/core/types/topology/topology-signature-format.js +8 -0
- package/dist/cjs/core/types/topology/topology-store-id.js +44 -0
- package/dist/cjs/core/types/topology/topology-transaction-signature.js +18 -0
- package/dist/cjs/core/types/topology/topology-transactions.js +25 -0
- package/dist/cjs/core/types/topology/vetted-package.js +18 -0
- package/dist/cjs/core/types/topology/vetted-packages.js +20 -0
- package/dist/cjs/core/types/topology-state-filter.js +12 -0
- package/dist/cjs/core/types/transport-kind.js +8 -0
- package/dist/cjs/core/types/user-right-kind.js +14 -0
- package/dist/cjs/core/types/vetted-package.js +5 -0
- package/dist/cjs/core/types/vetted-packages.js +5 -0
- package/dist/cjs/core/types/wait-commitments-setup.js +12 -0
- package/dist/cjs/daml-interface/analysis/analyzed-choice.js +18 -0
- package/dist/cjs/daml-interface/analysis/analyzed-daml-type-definition.js +2 -0
- package/dist/cjs/daml-interface/analysis/analyzed-daml-type.js +2 -0
- package/dist/cjs/daml-interface/analysis/analyzed-template.js +29 -0
- package/dist/cjs/daml-interface/analysis/daml-interface-analyzer.js +317 -0
- package/dist/cjs/daml-interface/cli/daml-interface-cli-options.js +49 -0
- package/dist/cjs/daml-interface/cli/daml-interface-cli.js +45 -0
- package/dist/cjs/daml-interface/daml-interface-generator-options.js +13 -0
- package/dist/cjs/daml-interface/daml-interface-generator.js +46 -0
- package/dist/cjs/daml-interface/emission/daml-module-import-style.js +10 -0
- package/dist/cjs/daml-interface/emission/generated-spec-emitter.js +367 -0
- package/dist/cjs/daml-interface/emission/generated-test-sample-emitter.js +463 -0
- package/dist/cjs/daml-interface/emission/named-type-emitter.js +510 -0
- package/dist/cjs/daml-interface/emission/project-emitter.js +70 -0
- package/dist/cjs/daml-interface/emission/registry-emitter.js +49 -0
- package/dist/cjs/daml-interface/emission/relative-module-specifier.js +21 -0
- package/dist/cjs/daml-interface/emission/support-file-emitter.js +258 -0
- package/dist/cjs/daml-interface/emission/template-binding-emitter.js +531 -0
- package/dist/cjs/daml-interface/emission/type-script-name-resolver.js +440 -0
- package/dist/cjs/daml-interface/emission-model/generated-choice-binding.js +28 -0
- package/dist/cjs/daml-interface/emission-model/generated-daml-interface-project.js +67 -0
- package/dist/cjs/daml-interface/emission-model/generated-named-type-file.js +27 -0
- package/dist/cjs/daml-interface/emission-model/generated-registry-file.js +12 -0
- package/dist/cjs/daml-interface/emission-model/generated-spec-file.js +15 -0
- package/dist/cjs/daml-interface/emission-model/generated-support-file.js +12 -0
- package/dist/cjs/daml-interface/emission-model/generated-template-binding-file.js +14 -0
- package/dist/cjs/daml-interface/emission-model/generated-template-binding.js +41 -0
- package/dist/cjs/daml-interface/errors/daml-interface-generation.exception.js +10 -0
- package/dist/cjs/daml-interface/errors/daml-interface-unsupported-shape.exception.js +10 -0
- package/dist/cjs/daml-interface/errors/daml-interface-write.exception.js +10 -0
- package/dist/cjs/daml-interface/index.js +57 -0
- package/dist/cjs/daml-interface/runtime/daml-event-source-normalizer.js +532 -0
- package/dist/cjs/daml-interface/runtime/daml-materialization-error.js +13 -0
- package/dist/cjs/daml-interface/runtime/daml-template.js +14 -0
- package/dist/cjs/daml-interface/runtime/daml-type-descriptor.js +2 -0
- package/dist/cjs/daml-interface/runtime/daml-value-converter.js +380 -0
- package/dist/cjs/daml-interface/runtime/daml-value-materializer.js +33 -0
- package/dist/cjs/daml-interface/writing/daml-interface-writer.js +22 -0
- package/dist/cjs/daml-lf/container/dar-archive-entry.js +12 -0
- package/dist/cjs/daml-lf/container/dar-archive-loader.js +91 -0
- package/dist/cjs/daml-lf/container/dar-archive.js +18 -0
- package/dist/cjs/daml-lf/container/dar-manifest.js +12 -0
- package/dist/cjs/daml-lf/container/dar-package-entry.js +12 -0
- package/dist/cjs/daml-lf/container/dar-source-bundle-loader.js +37 -0
- package/dist/cjs/daml-lf/container/dar-source-bundle.js +15 -0
- package/dist/cjs/daml-lf/container/dar-source-file-entry.js +12 -0
- package/dist/cjs/daml-lf/daml-lf-compilation.js +186 -0
- package/dist/cjs/daml-lf/daml-lf-package-loader.js +38 -0
- package/dist/cjs/daml-lf/daml-lf-workspace.js +10 -0
- package/dist/cjs/daml-lf/decoding/archive-payload-decoder.js +61 -0
- package/dist/cjs/daml-lf/decoding/archive-payload-envelope.js +14 -0
- package/dist/cjs/daml-lf/decoding/daml-lf-language-version.js +17 -0
- package/dist/cjs/daml-lf/decoding/lf-2-package-decoder.js +21 -0
- package/dist/cjs/daml-lf/decoding/package-decoder-registry.js +21 -0
- package/dist/cjs/daml-lf/decoding/package-decoder.interface.js +2 -0
- package/dist/cjs/daml-lf/errors/daml-lf-archive.exception.js +10 -0
- package/dist/cjs/daml-lf/errors/daml-lf-decode.exception.js +10 -0
- package/dist/cjs/daml-lf/errors/daml-lf-resolution.exception.js +10 -0
- package/dist/cjs/daml-lf/errors/daml-lf-semantic.exception.js +10 -0
- package/dist/cjs/daml-lf/errors/daml-lf-version-not-supported.exception.js +10 -0
- package/dist/cjs/daml-lf/index.js +76 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-builtin-dispatch.js +939 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-evaluation-context.interface.js +2 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-evaluator.js +1135 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-interpreter-scaffold.js +24 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-lexical-scope.js +50 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-runtime-frame.js +19 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-runtime-value.js +7 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-step-kind.js +11 -0
- package/dist/cjs/daml-lf/interpreter/daml-lf-trace-sink.interface.js +2 -0
- package/dist/cjs/daml-lf/model/daml-lf-builtin-type.js +20 -0
- package/dist/cjs/daml-lf/model/daml-lf-choice-parameter.js +14 -0
- package/dist/cjs/daml-lf/model/daml-lf-choice.js +22 -0
- package/dist/cjs/daml-lf/model/daml-lf-data-type.js +38 -0
- package/dist/cjs/daml-lf/model/daml-lf-definition.js +10 -0
- package/dist/cjs/daml-lf/model/daml-lf-expression-path.js +84 -0
- package/dist/cjs/daml-lf/model/daml-lf-expression.js +83 -0
- package/dist/cjs/daml-lf/model/daml-lf-field.js +12 -0
- package/dist/cjs/daml-lf/model/daml-lf-module.js +14 -0
- package/dist/cjs/daml-lf/model/daml-lf-node-kind.js +15 -0
- package/dist/cjs/daml-lf/model/daml-lf-package.js +20 -0
- package/dist/cjs/daml-lf/model/daml-lf-template-id.js +22 -0
- package/dist/cjs/daml-lf/model/daml-lf-template.js +22 -0
- package/dist/cjs/daml-lf/model/daml-lf-type.js +45 -0
- package/dist/cjs/daml-lf/model/daml-lf-value-definition.js +18 -0
- package/dist/cjs/daml-lf/model/lf-2-model-mapper.js +731 -0
- package/dist/cjs/daml-lf/model/module-reference.js +12 -0
- package/dist/cjs/daml-lf/model/type-con-reference.js +14 -0
- package/dist/cjs/daml-lf/semantics/daml-lf-semantic-model.js +27 -0
- package/dist/cjs/daml-lf/symbols/daml-lf-symbol.js +10 -0
- package/dist/cjs/daml-lf/symbols/module-symbol.js +14 -0
- package/dist/cjs/daml-lf/symbols/type-symbol.js +14 -0
- package/dist/cjs/debugger/errors/replay-determinism.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-missing-package.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-missing-source.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-source-map.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-state-hydration.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-unsupported-lf-construct.exception.js +7 -0
- package/dist/cjs/debugger/errors/replay-unsupported-update.exception.js +7 -0
- package/dist/cjs/debugger/index.js +65 -0
- package/dist/cjs/debugger/ledger-replay-debugger-client.js +57 -0
- package/dist/cjs/debugger/replay/ledger-replay-environment-builder.js +253 -0
- package/dist/cjs/debugger/replay/ledger-replay-session-loader.js +569 -0
- package/dist/cjs/debugger/replay/replay-artifact-resolver.js +213 -0
- package/dist/cjs/debugger/replay/replay-determinism-validator.js +165 -0
- package/dist/cjs/debugger/replay/replay-entrypoint-definition-resolver.js +341 -0
- package/dist/cjs/debugger/replay/replay-entrypoint.js +18 -0
- package/dist/cjs/debugger/replay/replay-ledger-value-normalizer.js +199 -0
- package/dist/cjs/debugger/replay/replay-update-loader.js +100 -0
- package/dist/cjs/debugger/replay/replay-update-visibility-validator.js +22 -0
- package/dist/cjs/debugger/session/in-memory-replay-session-store.js +113 -0
- package/dist/cjs/debugger/session/replay-phase.js +11 -0
- package/dist/cjs/debugger/session/replay-scope.js +14 -0
- package/dist/cjs/debugger/session/replay-session-metadata.js +14 -0
- package/dist/cjs/debugger/session/replay-session-request.js +14 -0
- package/dist/cjs/debugger/session/replay-session.js +14 -0
- package/dist/cjs/debugger/session/replay-source-location.js +20 -0
- package/dist/cjs/debugger/session/replay-stack-frame.js +12 -0
- package/dist/cjs/debugger/session/replay-state-delta.js +28 -0
- package/dist/cjs/debugger/session/replay-step-advance-result.js +20 -0
- package/dist/cjs/debugger/session/replay-step.js +28 -0
- package/dist/cjs/debugger/session/replay-value-preview.js +19 -0
- package/dist/cjs/debugger/source/daml-source-mapper.js +25 -0
- package/dist/cjs/debugger/source/dar-source-map-metadata.js +14 -0
- package/dist/cjs/debugger/source/source-coverage-validator.js +20 -0
- package/dist/cjs/debugger/source/source-indexed-compilation.js +114 -0
- package/dist/cjs/debugger/source/source-mapping-precision.js +7 -0
- package/dist/cjs/grpc/index.js +7 -0
- package/dist/cjs/index.js +600 -0
- package/dist/cjs/json/index.js +7 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/protobuf/index.js +2380 -0
- package/dist/cjs/query/cache/memory-query-cache.js +28 -0
- package/dist/cjs/query/cache/query-cache-store.js +2 -0
- package/dist/cjs/query/canton-manager-options.js +2 -0
- package/dist/cjs/query/canton-manager.js +46 -0
- package/dist/cjs/query/errors/pqs-query-error.js +15 -0
- package/dist/cjs/query/errors/pqs-schema-profile-error.js +7 -0
- package/dist/cjs/query/errors/query-capability-error.js +14 -0
- package/dist/cjs/query/grpc/grpc-contract-query-client.js +161 -0
- package/dist/cjs/query/model-types.js +18 -0
- package/dist/cjs/query/pqs/pqs-pool.js +22 -0
- package/dist/cjs/query/pqs/pqs-query-client.js +699 -0
- package/dist/cjs/query/pqs/pqs-relational-sql-compiler.js +150 -0
- package/dist/cjs/query/pqs/pqs-schema-profile.js +172 -0
- package/dist/cjs/query/pqs/pqs-sql-compiler.js +367 -0
- package/dist/cjs/query/pqs/read-only-sql.js +38 -0
- package/dist/cjs/query/query-client.js +2 -0
- package/dist/cjs/query/query-source.js +8 -0
- package/dist/cjs/services/command/command-service-client.js +21 -0
- package/dist/cjs/services/command-completion/command-completion-service-client.js +18 -0
- package/dist/cjs/services/command-inspection/command-inspection-service-client.js +15 -0
- package/dist/cjs/services/command-submission/command-submission-service-client.js +16 -0
- package/dist/cjs/services/commands/command-payload-builder.js +58 -0
- package/dist/cjs/services/commands/command-submission-pipeline.js +25 -0
- package/dist/cjs/services/contract/contract-service-client.js +15 -0
- package/dist/cjs/services/contracts/contract-observer.interface.js +2 -0
- package/dist/cjs/services/event-query/event-query-service-client.js +15 -0
- package/dist/cjs/services/events/transaction-observer.interface.js +2 -0
- package/dist/cjs/services/health/health-service-client.js +15 -0
- package/dist/cjs/services/identity-initialization/identity-initialization-service-client.js +19 -0
- package/dist/cjs/services/identity-provider-config/identity-provider-config-service-client.js +19 -0
- package/dist/cjs/services/package/package-service-client.js +27 -0
- package/dist/cjs/services/package-management/package-management-service-client.js +19 -0
- package/dist/cjs/services/participant-inspection/commitment-chunk-observer.interface.js +2 -0
- package/dist/cjs/services/participant-inspection/participant-inspection-service-client.js +43 -0
- package/dist/cjs/services/participant-package/participant-package-service-client.js +35 -0
- package/dist/cjs/services/participant-party-management/participant-party-management-service-client.js +23 -0
- package/dist/cjs/services/participant-repair/participant-repair-service-client.js +15 -0
- package/dist/cjs/services/participant-status/participant-status-service-client.js +15 -0
- package/dist/cjs/services/party-management/decentralized-party-lifecycle.js +163 -0
- package/dist/cjs/services/party-management/party-management-service-client.js +199 -0
- package/dist/cjs/services/pruning/pruning-service-client.js +27 -0
- package/dist/cjs/services/resource-management/resource-management-service-client.js +15 -0
- package/dist/cjs/services/state/state-service-client.js +31 -0
- package/dist/cjs/services/synchronizer-connectivity/synchronizer-connectivity-service-client.js +23 -0
- package/dist/cjs/services/topology-aggregation/topology-aggregation-service-client.js +19 -0
- package/dist/cjs/services/topology-manager-read/topology-manager-read-service-client.js +83 -0
- package/dist/cjs/services/topology-manager-write/topology-manager-write-service-client.js +48 -0
- package/dist/cjs/services/topology-manager-write/topology-signed-transaction-assembler.js +85 -0
- package/dist/cjs/services/traffic-control/traffic-control-service-client.js +15 -0
- package/dist/cjs/services/update/update-service-client.js +34 -0
- package/dist/cjs/services/user-management/user-management-service-client.js +27 -0
- package/dist/cjs/services/version/version-service-client.js +15 -0
- package/dist/cjs/testing/campaign/campaign-artifact.js +154 -0
- package/dist/cjs/testing/campaign/campaign-definition.js +81 -0
- package/dist/cjs/testing/campaign/campaign-metrics.js +30 -0
- package/dist/cjs/testing/campaign/campaign-model.js +26 -0
- package/dist/cjs/testing/campaign/campaign-runner.js +233 -0
- package/dist/cjs/testing/campaign/campaign-scheduler.js +113 -0
- package/dist/cjs/testing/campaign/campaign-types.js +14 -0
- package/dist/cjs/testing/daml/daml-action-arbitrary.js +60 -0
- package/dist/cjs/testing/daml/daml-choice-action-arbitrary.js +66 -0
- package/dist/cjs/testing/daml/daml-create-action-arbitrary.js +73 -0
- package/dist/cjs/testing/daml/daml-testing-catalog.js +43 -0
- package/dist/cjs/testing/daml/daml-value-arbitrary.js +79 -0
- package/dist/cjs/testing/daml/declarative-campaign-arbitrary.js +66 -0
- package/dist/cjs/testing/errors/invariant-campaign-failure.js +41 -0
- package/dist/cjs/testing/errors/testing-configuration-error.js +10 -0
- package/dist/cjs/testing/handlers/handler.js +36 -0
- package/dist/cjs/testing/index.js +69 -0
- package/dist/cjs/testing/runtime/campaign-isolation.js +26 -0
- package/dist/cjs/testing/runtime/canton-test-runtime.js +144 -0
- package/dist/cjs/testing/runtime/declarative-action-executor.js +45 -0
- package/dist/cjs/testing/targets/target.js +132 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/command_inspection_service.client.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/command_inspection_service.js +150 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/identity_provider_config_service.client.js +89 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/identity_provider_config_service.js +156 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/object_meta.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/package_management_service.client.js +70 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/package_management_service.js +242 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/participant_pruning_service.client.js +39 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/participant_pruning_service.js +42 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/party_management_alpha_service.client.js +85 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/party_management_alpha_service.js +198 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/party_management_service.client.js +156 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/party_management_service.js +271 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/user_management_service.client.js +130 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/admin/user_management_service.js +376 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_completion_service.client.js +53 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_completion_service.js +61 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_service.client.js +54 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_service.js +101 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_submission_service.client.js +51 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/command_submission_service.js +65 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/commands.js +145 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/completion.js +39 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/contract_service.client.js +34 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/contract_service.js +44 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/crypto.js +187 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/event.js +116 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/event_query_service.client.js +35 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/event_query_service.js +73 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/experimental_features.js +60 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/interactive/interactive_submission_common_data.js +41 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/interactive/interactive_submission_service.client.js +109 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/interactive/interactive_submission_service.js +461 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/interactive/transaction/v1/interactive_submission_data.js +143 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/offset_checkpoint.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/package_reference.js +71 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/package_service.client.js +57 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/package_service.js +176 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/reassignment.js +88 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/reassignment_commands.js +69 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/state_service.client.js +74 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/state_service.js +240 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/testing/time_service.client.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/testing/time_service.js +56 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/topology_transaction.js +101 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/trace_context.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/transaction.js +37 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/transaction_filter.js +174 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/update_service.client.js +91 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/update_service.js +142 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/value.js +184 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/version_service.client.js +29 -0
- package/dist/cjs/transports/grpc/generated/canton/com/daml/ledger/api/v2/version_service.js +109 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/crypto/v30/crypto.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/health/v30/status_service.client.js +36 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/health/v30/status_service.js +162 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/mediator/v30/mediator_status_service.client.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/mediator/v30/mediator_status_service.js +57 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/acs_import.js +55 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/active_contract.js +69 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/package_service.client.js +130 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/package_service.js +386 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_inspection_service.client.js +109 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_inspection_service.js +566 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_repair_service.client.js +170 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_repair_service.js +452 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_replication_service.client.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_replication_service.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_status_service.client.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/participant_status_service.js +89 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/party_management_service.client.js +131 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/party_management_service.js +200 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/ping_pong_service.client.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/ping_pong_service.js +75 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/pruning_service.client.js +147 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/pruning_service.js +153 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/reassignment_id.js +23 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/resource_management_service.client.js +37 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/resource_management_service.js +77 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/synchronizer_connectivity_service.client.js +137 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/synchronizer_connectivity_service.js +468 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/traffic_control_service.client.js +28 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/participant/v30/traffic_control_service.js +59 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/pruning/v30/pruning.js +335 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/sequencer/v30/sequencer_connection.js +134 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/sequencer/v30/sequencer_status_service.client.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/sequencer/v30/sequencer_status_service.js +110 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/time/v30/time_tracker_config.js +41 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/admin/topology/v30/common.js +26 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/connection/v30/api_info.client.js +28 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/connection/v30/api_info.js +40 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/crypto/admin/v30/vault_service.client.js +162 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/crypto/admin/v30/vault_service.js +443 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/crypto/v30/crypto.js +682 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_administration_service.client.js +89 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_administration_service.js +72 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_initialization_service.client.js +30 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_initialization_service.js +44 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_inspection_service.client.js +34 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/mediator_inspection_service.js +147 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/sequencer_connection_service.client.js +44 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/mediator/admin/v30/sequencer_connection_service.js +87 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/participant/protocol/v30/onboarding_clearance.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/participant/protocol/v30/party_replication.js +212 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/participant/protocol/v30/submission_tracking.js +92 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/participant/synchronizer/v30/synchronizer.js +23 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/acs_commitments.js +42 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/common.js +47 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/common_stable.js +51 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/confirmation_response.js +105 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/mediator.js +97 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/merkle.js +65 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/ordering_request.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/participant_reassignment.js +182 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/participant_transaction.js +412 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/quorum.js +37 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/sequencing.js +200 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/sequencing_parameters.js +23 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/signed_content.js +26 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/storage.js +23 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/synchronization.js +90 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/synchronizer_parameters.js +100 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/topology.js +566 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/traffic_control_parameters.js +107 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v30/versioned_google_rpc_status.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v31/common.js +25 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v31/common_stable.js +26 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v31/participant_transaction.js +196 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v31/sequencing.js +94 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v31/synchronization.js +38 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v32/acs_commitments.js +97 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v32/participant_transaction.js +114 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/protocol/v32/synchronization.js +42 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_administration_service.client.js +154 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_administration_service.js +469 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_bft_additional_snapshot_info.js +94 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_bft_administration_service.client.js +86 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_bft_administration_service.js +391 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_bft_pruning_administration_service.client.js +110 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_bft_pruning_administration_service.js +173 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_initialization_service.client.js +68 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_initialization_service.js +145 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_initialization_snapshot.js +130 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_pruning_administration_service.client.js +88 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_pruning_administration_service.js +64 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_traffic_inspection_service.client.js +29 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/admin/v30/sequencer_traffic_inspection_service.js +70 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_authentication_service.client.js +49 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_authentication_service.js +108 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_channel_service.client.js +40 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_channel_service.js +119 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_connect_service.client.js +53 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_connect_service.js +172 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_service.client.js +157 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/sequencer/api/v30/sequencer_service.js +240 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/protocol/v30/aggregation.js +36 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/standalone/v1/standalone_bft_ordering_service.client.js +32 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/standalone/v1/standalone_bft_ordering_service.js +82 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/v30/bft_ordering_sequencing_parameters.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/v30/bft_ordering_service.client.js +27 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/v30/bft_ordering_service.js +501 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/sequencing/sequencer/bftordering/v31/bft_ordering_sequencing_parameters.js +83 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/synchronizer/v30/synchronizer.js +26 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/time/admin/v30/synchronizer_time_service.client.js +36 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/time/admin/v30/synchronizer_time_service.js +70 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/common.js +89 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/initialization_service.client.js +57 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/initialization_service.js +113 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_aggregation_service.client.js +69 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_aggregation_service.js +135 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_read_service.client.js +193 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_read_service.js +889 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.client.js +90 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.js +359 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/v30/trace_context.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/canton/version/v1/untyped_versioned_message.js +24 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/daml/lf/archive/daml_lf.js +50 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/daml/lf/archive/daml_lf1.js +2638 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/daml/lf/archive/daml_lf2.js +2071 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/daml/lf/transaction.js +193 -0
- package/dist/cjs/transports/grpc/generated/canton/com/digitalasset/daml/lf/value.js +189 -0
- package/dist/cjs/transports/grpc/generated/canton/daml/platform/v1/acs_continuation.js +37 -0
- package/dist/cjs/transports/grpc/generated/canton/daml/platform/v1/acs_page_token.js +27 -0
- package/dist/cjs/transports/grpc/generated/canton/daml/platform/v1/index.js +31 -0
- package/dist/cjs/transports/grpc/generated/canton/daml/platform/v1/page_tokens.js +64 -0
- package/dist/cjs/transports/grpc/generated/canton/google/grpc/health/v1/health.client.js +39 -0
- package/dist/cjs/transports/grpc/generated/canton/google/grpc/health/v1/health.js +103 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/any.js +143 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/descriptor.js +1212 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/duration.js +96 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/empty.js +48 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/field_mask.js +82 -0
- package/dist/cjs/transports/grpc/generated/canton/google/protobuf/timestamp.js +124 -0
- package/dist/cjs/transports/grpc/generated/canton/google/rpc/status.js +37 -0
- package/dist/cjs/transports/grpc/grpc-call-options-factory.js +27 -0
- package/dist/cjs/transports/grpc/grpc-channel-factory.js +595 -0
- package/dist/cjs/transports/grpc/grpc-ledger-client.js +76 -0
- package/dist/cjs/transports/grpc/grpc-transport-factory.js +7 -0
- package/dist/cjs/transports/grpc/grpc-transport.js +574 -0
- package/dist/cjs/transports/grpc/mappers/admin-status-mapper.js +98 -0
- package/dist/cjs/transports/grpc/mappers/command-inspection-mapper.js +191 -0
- package/dist/cjs/transports/grpc/mappers/commands-mapper.js +229 -0
- package/dist/cjs/transports/grpc/mappers/completion-mapper.js +28 -0
- package/dist/cjs/transports/grpc/mappers/contracts-mapper.js +103 -0
- package/dist/cjs/transports/grpc/mappers/health-mapper.js +24 -0
- package/dist/cjs/transports/grpc/mappers/identity-provider-config-mapper.js +42 -0
- package/dist/cjs/transports/grpc/mappers/interactive-command-mapper.js +55 -0
- package/dist/cjs/transports/grpc/mappers/packages-mapper.js +167 -0
- package/dist/cjs/transports/grpc/mappers/participant-status-mapper.js +58 -0
- package/dist/cjs/transports/grpc/mappers/parties-mapper.js +73 -0
- package/dist/cjs/transports/grpc/mappers/pruning-mapper.js +47 -0
- package/dist/cjs/transports/grpc/mappers/state-read-mapper.js +79 -0
- package/dist/cjs/transports/grpc/mappers/system-mapper.js +10 -0
- package/dist/cjs/transports/grpc/mappers/topology-aggregation-mapper.js +33 -0
- package/dist/cjs/transports/grpc/mappers/topology-common-mapper.js +689 -0
- package/dist/cjs/transports/grpc/mappers/topology-manager-read-mapper.js +276 -0
- package/dist/cjs/transports/grpc/mappers/users-mapper.js +192 -0
- package/dist/cjs/transports/json/json-http-client.js +50 -0
- package/dist/cjs/transports/json/json-ledger-client.js +76 -0
- package/dist/cjs/transports/json/json-transport-factory.js +8 -0
- package/dist/cjs/transports/json/json-transport.js +466 -0
- package/dist/cjs/transports/json/mappers/commands-mapper.js +93 -0
- package/dist/cjs/transports/json/mappers/contracts-mapper.js +9 -0
- package/dist/cjs/transports/json/mappers/events-mapper.js +6 -0
- package/dist/cjs/transports/json/mappers/packages-mapper.js +9 -0
- package/dist/cjs/transports/json/mappers/parties-mapper.js +38 -0
- package/dist/cjs/transports/json/mappers/system-mapper.js +10 -0
- package/dist/cjs/transports/json/mappers/users-mapper.js +23 -0
- package/dist/daml-interface/analysis/analyzed-daml-type-definition.d.ts +6 -1
- package/dist/daml-interface/analysis/analyzed-daml-type.d.ts +7 -1
- package/dist/daml-interface/analysis/daml-interface-analyzer.d.ts +6 -0
- package/dist/daml-interface/analysis/daml-interface-analyzer.js +92 -25
- package/dist/daml-interface/cli/daml-interface-cli-options.d.ts +3 -0
- package/dist/daml-interface/cli/daml-interface-cli-options.js +12 -0
- package/dist/daml-interface/cli/daml-interface-cli.d.ts +5 -1
- package/dist/daml-interface/cli/daml-interface-cli.js +10 -4
- package/dist/daml-interface/daml-interface-generator-options.d.ts +3 -0
- package/dist/daml-interface/daml-interface-generator-options.js +3 -0
- package/dist/daml-interface/daml-interface-generator.js +2 -2
- package/dist/daml-interface/emission/daml-module-import-style.d.ts +7 -0
- package/dist/daml-interface/emission/daml-module-import-style.js +6 -0
- package/dist/daml-interface/emission/generated-spec-emitter.d.ts +29 -0
- package/dist/daml-interface/emission/generated-spec-emitter.js +363 -0
- package/dist/daml-interface/emission/generated-test-sample-emitter.d.ts +60 -0
- package/dist/daml-interface/emission/generated-test-sample-emitter.js +459 -0
- package/dist/daml-interface/emission/named-type-emitter.d.ts +11 -3
- package/dist/daml-interface/emission/named-type-emitter.js +102 -37
- package/dist/daml-interface/emission/project-emitter.d.ts +2 -1
- package/dist/daml-interface/emission/project-emitter.js +17 -7
- package/dist/daml-interface/emission/registry-emitter.d.ts +2 -1
- package/dist/daml-interface/emission/registry-emitter.js +6 -7
- package/dist/daml-interface/emission/relative-module-specifier.d.ts +7 -0
- package/dist/daml-interface/emission/relative-module-specifier.js +17 -0
- package/dist/daml-interface/emission/support-file-emitter.d.ts +5 -2
- package/dist/daml-interface/emission/support-file-emitter.js +52 -28
- package/dist/daml-interface/emission/template-binding-emitter.d.ts +6 -1
- package/dist/daml-interface/emission/template-binding-emitter.js +179 -72
- package/dist/daml-interface/emission/type-script-name-resolver.d.ts +8 -2
- package/dist/daml-interface/emission/type-script-name-resolver.js +41 -6
- package/dist/daml-interface/emission-model/generated-daml-interface-project.d.ts +9 -0
- package/dist/daml-interface/emission-model/generated-daml-interface-project.js +54 -5
- package/dist/daml-interface/emission-model/generated-spec-file.d.ts +7 -0
- package/dist/daml-interface/emission-model/generated-spec-file.js +11 -0
- package/dist/daml-interface/index.d.ts +5 -3
- package/dist/daml-interface/index.js +4 -3
- package/dist/daml-interface/runtime/daml-event-source-normalizer.d.ts +8 -11
- package/dist/daml-interface/runtime/daml-event-source-normalizer.js +176 -12
- package/dist/daml-interface/runtime/daml-type-descriptor.d.ts +2 -1
- package/dist/daml-interface/runtime/daml-value-converter.d.ts +5 -2
- package/dist/daml-interface/runtime/daml-value-converter.js +11 -5
- package/dist/daml-interface/runtime/daml-value-materializer.d.ts +4 -1
- package/dist/daml-interface/runtime/daml-value-materializer.js +7 -1
- package/dist/daml-interface/writing/daml-interface-writer.js +3 -6
- package/dist/daml-lf/daml-lf-compilation.d.ts +3 -0
- package/dist/daml-lf/daml-lf-compilation.js +4 -0
- package/dist/daml-lf/model/daml-lf-data-type.d.ts +19 -0
- package/dist/daml-lf/model/daml-lf-data-type.js +15 -0
- package/dist/daml-lf/model/daml-lf-type.d.ts +13 -0
- package/dist/daml-lf/model/daml-lf-type.js +24 -0
- package/dist/daml-lf/model/lf-2-model-mapper.d.ts +4 -0
- package/dist/daml-lf/model/lf-2-model-mapper.js +70 -2
- package/package.json +19 -10
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TemplateBindingEmitter = void 0;
|
|
4
|
+
const daml_lf_builtin_type_js_1 = require("../../daml-lf/model/daml-lf-builtin-type.js");
|
|
5
|
+
const generated_choice_binding_js_1 = require("../emission-model/generated-choice-binding.js");
|
|
6
|
+
const generated_template_binding_js_1 = require("../emission-model/generated-template-binding.js");
|
|
7
|
+
const generated_template_binding_file_js_1 = require("../emission-model/generated-template-binding-file.js");
|
|
8
|
+
const type_script_name_resolver_js_1 = require("./type-script-name-resolver.js");
|
|
9
|
+
const relative_module_specifier_js_1 = require("./relative-module-specifier.js");
|
|
10
|
+
/** Emits typed contract and exercise-event bindings for analyzed DAML templates. */
|
|
11
|
+
class TemplateBindingEmitter {
|
|
12
|
+
nameResolver;
|
|
13
|
+
constructor(nameResolver = new type_script_name_resolver_js_1.TypeScriptNameResolver()) {
|
|
14
|
+
this.nameResolver = nameResolver;
|
|
15
|
+
void this.nameResolver;
|
|
16
|
+
}
|
|
17
|
+
/** Prepares stable collision-safe names before emitting a complete project. */
|
|
18
|
+
prepareTemplatesOrThrow(templates) {
|
|
19
|
+
this.nameResolver.prepareTemplatesOrThrow(templates);
|
|
20
|
+
}
|
|
21
|
+
/** Emits a generated TypeScript file for one analyzed DAML template. */
|
|
22
|
+
emitTemplateFile(template, namedTypeFiles = [], moduleImportStyle) {
|
|
23
|
+
const namedReferences = this.resolveNamedReferences(template, namedTypeFiles, moduleImportStyle);
|
|
24
|
+
const binding = this.createBinding(template, namedReferences);
|
|
25
|
+
return new generated_template_binding_file_js_1.GeneratedTemplateBindingFile({
|
|
26
|
+
path: binding.path,
|
|
27
|
+
contents: this.emitContents(binding, namedReferences, moduleImportStyle),
|
|
28
|
+
binding,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/** Emits binding metadata without source, for resolving named declaration exports first. */
|
|
32
|
+
emitTemplateBindingFile(template) {
|
|
33
|
+
const namedReferences = this.resolveNamedReferences(template, []);
|
|
34
|
+
const binding = this.createBinding(template, namedReferences);
|
|
35
|
+
return new generated_template_binding_file_js_1.GeneratedTemplateBindingFile({
|
|
36
|
+
path: binding.path,
|
|
37
|
+
contents: "",
|
|
38
|
+
binding,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
createBinding(template, namedReferences) {
|
|
42
|
+
const className = this.nameResolver.getTemplateClassName(template);
|
|
43
|
+
const choices = template.choices.map((choice) => ({
|
|
44
|
+
choice,
|
|
45
|
+
exercisedEventTypeName: this.nameResolver.getExercisedEventTypeName(template, choice),
|
|
46
|
+
}));
|
|
47
|
+
const runtimeWrapperTypeNames = this.resolveRuntimeWrapperTypeNames(className, choices.map((entry) => entry.exercisedEventTypeName));
|
|
48
|
+
return new generated_template_binding_js_1.GeneratedTemplateBinding({
|
|
49
|
+
templateIdentityKey: this.nameResolver.getTemplateIdentityKey(template),
|
|
50
|
+
namespaceAlias: this.nameResolver.getNamespaceAlias(template),
|
|
51
|
+
className,
|
|
52
|
+
templateIdLiteral: this.nameResolver.getTemplateIdLiteral(template),
|
|
53
|
+
path: this.nameResolver.getTemplateFilePath(template),
|
|
54
|
+
createFieldsTypeName: this.nameResolver.getCreateFieldsTypeName(template),
|
|
55
|
+
createdEventTypeName: this.nameResolver.getCreatedEventTypeName(template),
|
|
56
|
+
createFields: template.createFields.map((field) => new generated_template_binding_js_1.GeneratedTemplateBindingField({
|
|
57
|
+
name: field.name,
|
|
58
|
+
propertyName: this.nameResolver.getFieldPropertyName(template, field),
|
|
59
|
+
constructorParameterName: this.nameResolver.getFieldConstructorParameterName(template, field),
|
|
60
|
+
type: this.normalizeType(field.type),
|
|
61
|
+
typeName: this.getTypeName(this.normalizeType(field.type), namedReferences, runtimeWrapperTypeNames),
|
|
62
|
+
})),
|
|
63
|
+
choices: choices.map(({ choice, exercisedEventTypeName }) => new generated_choice_binding_js_1.GeneratedChoiceBinding({
|
|
64
|
+
choiceIdentityKey: this.nameResolver.getChoiceIdentityKey(template, choice),
|
|
65
|
+
name: choice.name,
|
|
66
|
+
methodName: this.nameResolver.getChoiceMethodName(template, choice),
|
|
67
|
+
choiceTypeName: this.nameResolver.getChoiceTypeName(template, choice),
|
|
68
|
+
exercisedEventTypeName,
|
|
69
|
+
parameterName: this.nameResolver.getChoiceParameterName(template, choice),
|
|
70
|
+
parameterType: this.normalizeType(choice.parameterType),
|
|
71
|
+
parameterTypeName: this.getTypeName(this.normalizeType(choice.parameterType), namedReferences, runtimeWrapperTypeNames),
|
|
72
|
+
returnType: this.normalizeType(choice.returnType),
|
|
73
|
+
returnTypeName: this.getTypeName(this.normalizeType(choice.returnType), namedReferences, runtimeWrapperTypeNames),
|
|
74
|
+
})),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
emitContents(binding, namedReferences, moduleImportStyle) {
|
|
78
|
+
const runtimeWrapperTypeNames = this.resolveRuntimeWrapperTypeNames(binding.className, binding.choices.map((choice) => choice.exercisedEventTypeName));
|
|
79
|
+
const imports = this.emitImports(binding, namedReferences, runtimeWrapperTypeNames, moduleImportStyle);
|
|
80
|
+
const fields = binding.createFields.map((field) => ` readonly ${field.propertyName}: ${field.typeName};`);
|
|
81
|
+
const constructorParameters = binding.createFields.map((field) => `${field.constructorParameterName}: ${field.typeName}`);
|
|
82
|
+
const constructorAssignments = binding.createFields.map((field) => ` this.${field.propertyName} = ${field.constructorParameterName};`);
|
|
83
|
+
const orderedArguments = binding.createFields.map((field) => ` fields.${field.propertyName},`);
|
|
84
|
+
const exercisedReturnType = binding.choices.length === 0
|
|
85
|
+
? "never"
|
|
86
|
+
: binding.choices.map((choice) => choice.exercisedEventTypeName).join(" | ");
|
|
87
|
+
return [
|
|
88
|
+
...imports,
|
|
89
|
+
"",
|
|
90
|
+
`export interface ${binding.createFieldsTypeName} {`,
|
|
91
|
+
...fields,
|
|
92
|
+
"}",
|
|
93
|
+
"",
|
|
94
|
+
this.emitTemplateClass(binding, constructorParameters, constructorAssignments, orderedArguments, exercisedReturnType, runtimeWrapperTypeNames),
|
|
95
|
+
...(binding.choices.length === 0 ? [] : ["", ...binding.choices.flatMap((choice) => [
|
|
96
|
+
this.emitChoiceEventClass(binding, choice, runtimeWrapperTypeNames),
|
|
97
|
+
"",
|
|
98
|
+
])]),
|
|
99
|
+
].join("\n");
|
|
100
|
+
}
|
|
101
|
+
emitImports(binding, namedReferences, runtimeWrapperTypeNames, moduleImportStyle) {
|
|
102
|
+
const namedImports = new Map();
|
|
103
|
+
for (const reference of namedReferences.values()) {
|
|
104
|
+
const imported = namedImports.get(reference.path) ?? new Map();
|
|
105
|
+
imported.set(reference.exportedName, reference.alias);
|
|
106
|
+
namedImports.set(reference.path, imported);
|
|
107
|
+
}
|
|
108
|
+
return [
|
|
109
|
+
`import { ${[
|
|
110
|
+
"DamlEventSourceNormalizer",
|
|
111
|
+
"DamlMaterializationError",
|
|
112
|
+
"DamlTemplate",
|
|
113
|
+
"DamlValueConverter",
|
|
114
|
+
"DamlValueMaterializer",
|
|
115
|
+
].map((name) => this.emitImportedName(name, runtimeWrapperTypeNames)).join(", ")} } from "@distrohelena/canton-typescript-sdk/daml-interface";`,
|
|
116
|
+
`import type { ${[
|
|
117
|
+
"DamlCreatedEventSource",
|
|
118
|
+
"DamlDate",
|
|
119
|
+
"DamlExercisedEventMetadata",
|
|
120
|
+
"DamlExercisedEventSource",
|
|
121
|
+
"DamlNormalizedExercisedEvent",
|
|
122
|
+
"DamlNumeric",
|
|
123
|
+
"DamlParty",
|
|
124
|
+
"DamlTimestamp",
|
|
125
|
+
"DamlTypeDescriptor",
|
|
126
|
+
"DamlUnit",
|
|
127
|
+
].map((name) => this.emitImportedName(name, runtimeWrapperTypeNames)).join(", ")} } from "@distrohelena/canton-typescript-sdk/daml-interface";`,
|
|
128
|
+
`import { GeneratedDamlTypeDescriptorRegistry } from ${JSON.stringify(this.relativeFilePath(binding.path, "generated/support/descriptors.ts", moduleImportStyle))};`,
|
|
129
|
+
...[...namedImports.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([path, imported]) => `import type { ${[...imported.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([name, alias]) => name === alias ? name : `${name} as ${alias}`).join(", ")} } from ${JSON.stringify(path)};`),
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
emitTemplateClass(binding, constructorParameters, constructorAssignments, orderedArguments, exercisedReturnType, runtimeWrapperTypeNames) {
|
|
133
|
+
return [
|
|
134
|
+
`export class ${binding.className} extends ${this.getSdkName("DamlTemplate", runtimeWrapperTypeNames)} implements ${binding.createFieldsTypeName} {`,
|
|
135
|
+
` public static readonly templateId = ${JSON.stringify(binding.templateIdLiteral)};`,
|
|
136
|
+
` private static readonly descriptor: ${this.getSdkName("DamlTypeDescriptor", runtimeWrapperTypeNames)} = ${this.emitTemplateDescriptor(binding)};`,
|
|
137
|
+
"",
|
|
138
|
+
...binding.createFields.map((field) => ` public readonly ${field.propertyName}: ${field.typeName};`),
|
|
139
|
+
...(binding.createFields.length === 0 ? [] : [""]),
|
|
140
|
+
` public constructor(contractId: string${constructorParameters.length === 0 ? "" : `, ${constructorParameters.join(", ")}`}) {`,
|
|
141
|
+
" super(contractId);",
|
|
142
|
+
...constructorAssignments,
|
|
143
|
+
" }",
|
|
144
|
+
"",
|
|
145
|
+
` public static fromCreatedEvent(event: ${this.getSdkName("DamlCreatedEventSource", runtimeWrapperTypeNames)}): ${binding.className} {`,
|
|
146
|
+
` const normalized = ${this.getSdkName("DamlEventSourceNormalizer", runtimeWrapperTypeNames)}.normalizeCreated(event);`,
|
|
147
|
+
` ${binding.className}.assertTemplateIdentity(normalized.metadata.templateId);`,
|
|
148
|
+
` const fields = ${this.getSdkName("DamlValueMaterializer", runtimeWrapperTypeNames)}.materialize<${binding.createFieldsTypeName}>(${this.getSdkName("DamlValueConverter", runtimeWrapperTypeNames)}.decode(normalized.payload, ${binding.className}.descriptor, GeneratedDamlTypeDescriptorRegistry, "create arguments"));`,
|
|
149
|
+
` return new ${binding.className}(`,
|
|
150
|
+
" normalized.contractId,",
|
|
151
|
+
...orderedArguments,
|
|
152
|
+
" );",
|
|
153
|
+
" }",
|
|
154
|
+
"",
|
|
155
|
+
` public static fromExercisedEvent(event: ${this.getSdkName("DamlExercisedEventSource", runtimeWrapperTypeNames)}): ${exercisedReturnType} {`,
|
|
156
|
+
` const normalized = ${this.getSdkName("DamlEventSourceNormalizer", runtimeWrapperTypeNames)}.normalizeExercised(event);`,
|
|
157
|
+
` ${binding.className}.assertTemplateIdentity(normalized.metadata.templateId);`,
|
|
158
|
+
" switch (normalized.choice) {",
|
|
159
|
+
...binding.choices.map((choice) => ` case ${JSON.stringify(choice.name)}:\n return ${choice.exercisedEventTypeName}.fromNormalizedEvent(normalized);`),
|
|
160
|
+
" default:",
|
|
161
|
+
` throw new ${this.getSdkName("DamlMaterializationError", runtimeWrapperTypeNames)}("choice", \`Unexpected choice '\${normalized.choice}' for template '${binding.templateIdLiteral}'\`);`,
|
|
162
|
+
" }",
|
|
163
|
+
" }",
|
|
164
|
+
"",
|
|
165
|
+
" private static assertTemplateIdentity(identity: { readonly packageId: string; readonly moduleName: string; readonly entityName: string }): void {",
|
|
166
|
+
` if (identity.packageId !== ${JSON.stringify(this.packageId(binding))} || identity.moduleName !== ${JSON.stringify(this.moduleName(binding))} || identity.entityName !== ${JSON.stringify(this.entityName(binding))}) {`,
|
|
167
|
+
` throw new ${this.getSdkName("DamlMaterializationError", runtimeWrapperTypeNames)}("template ID", \`Expected template '${binding.templateIdLiteral}' but received '\${identity.packageId}:\${identity.moduleName}:\${identity.entityName}'\`);`,
|
|
168
|
+
" }",
|
|
169
|
+
" }",
|
|
170
|
+
"}",
|
|
171
|
+
].join("\n");
|
|
172
|
+
}
|
|
173
|
+
emitChoiceEventClass(binding, choice, runtimeWrapperTypeNames) {
|
|
174
|
+
return [
|
|
175
|
+
`export class ${choice.exercisedEventTypeName} {`,
|
|
176
|
+
` private static readonly argumentDescriptor: ${this.getSdkName("DamlTypeDescriptor", runtimeWrapperTypeNames)} = ${this.emitDescriptor(choice.parameterType)};`,
|
|
177
|
+
` private static readonly resultDescriptor: ${this.getSdkName("DamlTypeDescriptor", runtimeWrapperTypeNames)} = ${this.emitDescriptor(choice.returnType)};`,
|
|
178
|
+
"",
|
|
179
|
+
` public readonly choiceName = ${JSON.stringify(choice.name)} as const;`,
|
|
180
|
+
" public readonly contractId: string;",
|
|
181
|
+
` public readonly argument: ${choice.parameterTypeName};`,
|
|
182
|
+
` public readonly result: ${choice.returnTypeName};`,
|
|
183
|
+
" public readonly consuming: boolean;",
|
|
184
|
+
` public readonly metadata: ${this.getSdkName("DamlExercisedEventMetadata", runtimeWrapperTypeNames)};`,
|
|
185
|
+
"",
|
|
186
|
+
" public constructor(contractId: string, argument: " + choice.parameterTypeName + ", result: " + choice.returnTypeName + ", consuming: boolean, metadata: " + this.getSdkName("DamlExercisedEventMetadata", runtimeWrapperTypeNames) + ") {",
|
|
187
|
+
" this.contractId = contractId;",
|
|
188
|
+
" this.argument = argument;",
|
|
189
|
+
" this.result = result;",
|
|
190
|
+
" this.consuming = consuming;",
|
|
191
|
+
" this.metadata = metadata;",
|
|
192
|
+
" }",
|
|
193
|
+
"",
|
|
194
|
+
` public static fromExercisedEvent(event: ${this.getSdkName("DamlExercisedEventSource", runtimeWrapperTypeNames)}): ${choice.exercisedEventTypeName} {`,
|
|
195
|
+
` const normalized = ${this.getSdkName("DamlEventSourceNormalizer", runtimeWrapperTypeNames)}.normalizeExercised(event);`,
|
|
196
|
+
` ${choice.exercisedEventTypeName}.assertTemplateIdentity(normalized.metadata.templateId);`,
|
|
197
|
+
` return ${choice.exercisedEventTypeName}.fromNormalizedEvent(normalized);`,
|
|
198
|
+
" }",
|
|
199
|
+
"",
|
|
200
|
+
` public static fromNormalizedEvent(event: ${this.getSdkName("DamlNormalizedExercisedEvent", runtimeWrapperTypeNames)}): ${choice.exercisedEventTypeName} {`,
|
|
201
|
+
` ${choice.exercisedEventTypeName}.assertTemplateIdentity(event.metadata.templateId);`,
|
|
202
|
+
` if (event.choice !== ${JSON.stringify(choice.name)}) {`,
|
|
203
|
+
` throw new ${this.getSdkName("DamlMaterializationError", runtimeWrapperTypeNames)}("choice", \`Expected choice '${choice.name}' but received '\${event.choice}'\`);`,
|
|
204
|
+
" }",
|
|
205
|
+
` const argument = ${this.getSdkName("DamlValueMaterializer", runtimeWrapperTypeNames)}.materialize<${choice.parameterTypeName}>(${this.getSdkName("DamlValueConverter", runtimeWrapperTypeNames)}.decode(event.argument, ${choice.exercisedEventTypeName}.argumentDescriptor, GeneratedDamlTypeDescriptorRegistry, "choice argument"));`,
|
|
206
|
+
` const result = ${this.getSdkName("DamlValueMaterializer", runtimeWrapperTypeNames)}.materialize<${choice.returnTypeName}>(${this.getSdkName("DamlValueConverter", runtimeWrapperTypeNames)}.decode(event.result, ${choice.exercisedEventTypeName}.resultDescriptor, GeneratedDamlTypeDescriptorRegistry, "exercise result"));`,
|
|
207
|
+
` return new ${choice.exercisedEventTypeName}(event.contractId, argument, result, event.consuming, event.metadata);`,
|
|
208
|
+
" }",
|
|
209
|
+
"",
|
|
210
|
+
" private static assertTemplateIdentity(identity: { readonly packageId: string; readonly moduleName: string; readonly entityName: string }): void {",
|
|
211
|
+
` if (identity.packageId !== ${JSON.stringify(this.packageId(binding))} || identity.moduleName !== ${JSON.stringify(this.moduleName(binding))} || identity.entityName !== ${JSON.stringify(this.entityName(binding))}) {`,
|
|
212
|
+
` throw new ${this.getSdkName("DamlMaterializationError", runtimeWrapperTypeNames)}("template ID", \`Expected template '${binding.templateIdLiteral}' but received '\${identity.packageId}:\${identity.moduleName}:\${identity.entityName}'\`);`,
|
|
213
|
+
" }",
|
|
214
|
+
" }",
|
|
215
|
+
"}",
|
|
216
|
+
].join("\n");
|
|
217
|
+
}
|
|
218
|
+
emitTemplateDescriptor(binding) {
|
|
219
|
+
return `{ kind: "record", fields: [${binding.createFields.map((field) => `{ damlLabel: ${JSON.stringify(field.name)}, propertyName: ${JSON.stringify(field.propertyName)}, type: ${this.emitDescriptor(field.type)} }`).join(", ")}] }`;
|
|
220
|
+
}
|
|
221
|
+
emitDescriptor(type) {
|
|
222
|
+
switch (type.kind) {
|
|
223
|
+
case "primitive":
|
|
224
|
+
return `{ kind: "primitive", primitive: ${JSON.stringify(type.builtinType)}${type.numericScale === undefined ? "" : `, numericScale: ${type.numericScale}`} }`;
|
|
225
|
+
case "contractId":
|
|
226
|
+
return '{ kind: "contractId" }';
|
|
227
|
+
case "optional":
|
|
228
|
+
return `{ kind: "optional", element: ${this.emitDescriptor(type.element)} }`;
|
|
229
|
+
case "list":
|
|
230
|
+
return `{ kind: "list", element: ${this.emitDescriptor(type.element)} }`;
|
|
231
|
+
case "textMap":
|
|
232
|
+
return `{ kind: "textMap", value: ${this.emitDescriptor(type.value)} }`;
|
|
233
|
+
case "genMap":
|
|
234
|
+
return `{ kind: "genMap", key: ${this.emitDescriptor(type.key)}, value: ${this.emitDescriptor(type.value)} }`;
|
|
235
|
+
case "record":
|
|
236
|
+
return `{ kind: "record", fields: [${type.fields.map((field) => `{ damlLabel: ${JSON.stringify(field.damlLabel)}, propertyName: ${JSON.stringify(field.propertyName)}, type: ${this.emitDescriptor(field.type)} }`).join(", ")}] }`;
|
|
237
|
+
case "variant":
|
|
238
|
+
return `{ kind: "variant", constructors: [${type.constructors.map((constructor) => `{ constructor: ${JSON.stringify(constructor.constructor)}, payload: ${this.emitDescriptor(constructor.payload)} }`).join(", ")}] }`;
|
|
239
|
+
case "enum":
|
|
240
|
+
return `{ kind: "enum", constructors: [${type.constructors.map((constructor) => JSON.stringify(constructor)).join(", ")}] }`;
|
|
241
|
+
case "typeVariable":
|
|
242
|
+
throw new Error("Cannot emit generic DAML type variables");
|
|
243
|
+
case "namedReference":
|
|
244
|
+
return `{ kind: "namedReference", identity: { packageId: ${JSON.stringify(type.identity.packageId)}, moduleName: ${JSON.stringify(type.identity.moduleName)}, entityName: ${JSON.stringify(type.identity.name)} }, typeArguments: [${(type.typeArguments ?? []).map((argument) => this.emitDescriptor(argument)).join(", ")}] }`;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
getTypeName(type, namedReferences, runtimeWrapperTypeNames = new Map()) {
|
|
248
|
+
switch (type.kind) {
|
|
249
|
+
case "primitive":
|
|
250
|
+
return this.getPrimitiveTypeName(type.builtinType, runtimeWrapperTypeNames);
|
|
251
|
+
case "contractId":
|
|
252
|
+
return "string";
|
|
253
|
+
case "optional":
|
|
254
|
+
return `${this.getTypeName(type.element, namedReferences, runtimeWrapperTypeNames)} | undefined`;
|
|
255
|
+
case "list":
|
|
256
|
+
return `readonly ${this.getArrayElementTypeName(type.element, namedReferences, runtimeWrapperTypeNames)}[]`;
|
|
257
|
+
case "textMap":
|
|
258
|
+
return `ReadonlyMap<string, ${this.getTypeName(type.value, namedReferences, runtimeWrapperTypeNames)}>`;
|
|
259
|
+
case "genMap":
|
|
260
|
+
return `ReadonlyMap<${this.getTypeName(type.key, namedReferences, runtimeWrapperTypeNames)}, ${this.getTypeName(type.value, namedReferences, runtimeWrapperTypeNames)}>`;
|
|
261
|
+
case "record":
|
|
262
|
+
return `{ ${type.fields.map((field) => `readonly ${field.propertyName}: ${this.getTypeName(field.type, namedReferences, runtimeWrapperTypeNames)};`).join(" ")} }`;
|
|
263
|
+
case "variant":
|
|
264
|
+
return type.constructors.map((constructor) => `{ readonly tag: ${JSON.stringify(constructor.constructor)}; readonly value: ${this.getTypeName(constructor.payload, namedReferences, runtimeWrapperTypeNames)}; }`).join(" | ");
|
|
265
|
+
case "enum":
|
|
266
|
+
return type.constructors.map((constructor) => JSON.stringify(constructor)).join(" | ");
|
|
267
|
+
case "typeVariable":
|
|
268
|
+
throw new Error("Cannot emit generic DAML type variables");
|
|
269
|
+
case "namedReference": {
|
|
270
|
+
const name = this.getNamedReference(type.identity, namedReferences).alias;
|
|
271
|
+
return (type.typeArguments?.length ?? 0) === 0
|
|
272
|
+
? name
|
|
273
|
+
: `${name}<${(type.typeArguments ?? []).map((argument) => this.getTypeName(argument, namedReferences, runtimeWrapperTypeNames)).join(", ")}>`;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
getArrayElementTypeName(type, namedReferences, runtimeWrapperTypeNames) {
|
|
278
|
+
const name = this.getTypeName(type, namedReferences, runtimeWrapperTypeNames);
|
|
279
|
+
return type.kind === "optional" || type.kind === "variant" || type.kind === "enum"
|
|
280
|
+
? `(${name})`
|
|
281
|
+
: name;
|
|
282
|
+
}
|
|
283
|
+
getPrimitiveTypeName(type, runtimeWrapperTypeNames) {
|
|
284
|
+
switch (type) {
|
|
285
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.unit: return runtimeWrapperTypeNames.get("DamlUnit") ?? "DamlUnit";
|
|
286
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.bool: return "boolean";
|
|
287
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.int64: return "bigint";
|
|
288
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.date: return runtimeWrapperTypeNames.get("DamlDate") ?? "DamlDate";
|
|
289
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.timestamp: return runtimeWrapperTypeNames.get("DamlTimestamp") ?? "DamlTimestamp";
|
|
290
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.numeric: return runtimeWrapperTypeNames.get("DamlNumeric") ?? "DamlNumeric";
|
|
291
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.party: return runtimeWrapperTypeNames.get("DamlParty") ?? "DamlParty";
|
|
292
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.text: return "string";
|
|
293
|
+
default: throw new Error(`Cannot emit unsupported primitive DAML type '${type}'`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
resolveRuntimeWrapperTypeNames(className, exercisedEventTypeNames) {
|
|
297
|
+
const usedNames = new Set([className, ...exercisedEventTypeNames]);
|
|
298
|
+
const names = new Map();
|
|
299
|
+
for (const name of [
|
|
300
|
+
"DamlCreatedEventSource",
|
|
301
|
+
"DamlDate",
|
|
302
|
+
"DamlEventSourceNormalizer",
|
|
303
|
+
"DamlExercisedEventMetadata",
|
|
304
|
+
"DamlExercisedEventSource",
|
|
305
|
+
"DamlMaterializationError",
|
|
306
|
+
"DamlNormalizedExercisedEvent",
|
|
307
|
+
"DamlNumeric",
|
|
308
|
+
"DamlParty",
|
|
309
|
+
"DamlTemplate",
|
|
310
|
+
"DamlTimestamp",
|
|
311
|
+
"DamlTypeDescriptor",
|
|
312
|
+
"DamlUnit",
|
|
313
|
+
"DamlValueConverter",
|
|
314
|
+
"DamlValueMaterializer",
|
|
315
|
+
]) {
|
|
316
|
+
let localName = name;
|
|
317
|
+
let suffix = 2;
|
|
318
|
+
if (usedNames.has(localName)) {
|
|
319
|
+
localName = `GeneratedRuntime${name}`;
|
|
320
|
+
}
|
|
321
|
+
while (usedNames.has(localName)) {
|
|
322
|
+
localName = `GeneratedRuntime${name}_${suffix}`;
|
|
323
|
+
suffix += 1;
|
|
324
|
+
}
|
|
325
|
+
usedNames.add(localName);
|
|
326
|
+
names.set(name, localName);
|
|
327
|
+
}
|
|
328
|
+
return names;
|
|
329
|
+
}
|
|
330
|
+
getSdkName(name, runtimeWrapperTypeNames) {
|
|
331
|
+
return runtimeWrapperTypeNames.get(name) ?? name;
|
|
332
|
+
}
|
|
333
|
+
emitImportedName(name, runtimeWrapperTypeNames) {
|
|
334
|
+
const localName = this.getSdkName(name, runtimeWrapperTypeNames);
|
|
335
|
+
return localName === name ? name : `${name} as ${localName}`;
|
|
336
|
+
}
|
|
337
|
+
normalizeType(type) {
|
|
338
|
+
if ("kind" in type) {
|
|
339
|
+
return type;
|
|
340
|
+
}
|
|
341
|
+
else if (type.builtinType === daml_lf_builtin_type_js_1.DamlLfBuiltinType.contractId) {
|
|
342
|
+
if (type.typeArguments.length !== 1) {
|
|
343
|
+
throw new Error("DAML ContractId requires exactly one type argument");
|
|
344
|
+
}
|
|
345
|
+
return { kind: "contractId" };
|
|
346
|
+
}
|
|
347
|
+
else if (type.typeConReference !== undefined) {
|
|
348
|
+
if (type.typeArguments.length !== 0) {
|
|
349
|
+
throw new Error("Cannot emit generic DAML named type applications");
|
|
350
|
+
}
|
|
351
|
+
return {
|
|
352
|
+
kind: "namedReference",
|
|
353
|
+
identity: type.typeConReference,
|
|
354
|
+
typeArguments: [],
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
const arguments_ = type.typeArguments.map((argument) => this.normalizeType(argument));
|
|
358
|
+
switch (type.builtinType) {
|
|
359
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.optional:
|
|
360
|
+
return { kind: "optional", element: arguments_[0] ?? { kind: "primitive", builtinType: daml_lf_builtin_type_js_1.DamlLfBuiltinType.text } };
|
|
361
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.list:
|
|
362
|
+
return { kind: "list", element: arguments_[0] ?? { kind: "primitive", builtinType: daml_lf_builtin_type_js_1.DamlLfBuiltinType.text } };
|
|
363
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.textMap:
|
|
364
|
+
return { kind: "textMap", value: arguments_[0] ?? { kind: "primitive", builtinType: daml_lf_builtin_type_js_1.DamlLfBuiltinType.text } };
|
|
365
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.genMap:
|
|
366
|
+
return { kind: "genMap", key: arguments_[0] ?? { kind: "primitive", builtinType: daml_lf_builtin_type_js_1.DamlLfBuiltinType.text }, value: arguments_[1] ?? { kind: "primitive", builtinType: daml_lf_builtin_type_js_1.DamlLfBuiltinType.text } };
|
|
367
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.unit:
|
|
368
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.bool:
|
|
369
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.int64:
|
|
370
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.date:
|
|
371
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.timestamp:
|
|
372
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.numeric:
|
|
373
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.party:
|
|
374
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.text:
|
|
375
|
+
return { kind: "primitive", builtinType: type.builtinType, numericScale: type.numericScale };
|
|
376
|
+
case daml_lf_builtin_type_js_1.DamlLfBuiltinType.unknown:
|
|
377
|
+
throw new Error("Cannot emit an unknown DAML type");
|
|
378
|
+
default:
|
|
379
|
+
throw new Error("Cannot emit unsupported DAML type");
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
resolveNamedReferences(template, namedTypeFiles, moduleImportStyle) {
|
|
383
|
+
const identities = new Map();
|
|
384
|
+
for (const type of [
|
|
385
|
+
...template.createFields.map((field) => this.normalizeType(field.type)),
|
|
386
|
+
...template.choices.flatMap((choice) => [
|
|
387
|
+
this.normalizeType(choice.parameterType),
|
|
388
|
+
this.normalizeType(choice.returnType),
|
|
389
|
+
]),
|
|
390
|
+
]) {
|
|
391
|
+
for (const reference of this.walkNamedReferences(type)) {
|
|
392
|
+
identities.set(this.getNamedReferenceKey(reference.identity), reference);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
const aliases = new Map();
|
|
396
|
+
const usedAliases = new Set();
|
|
397
|
+
const exportedNameCounts = new Map();
|
|
398
|
+
for (const [key, reference] of identities) {
|
|
399
|
+
const file = namedTypeFiles.find((candidate) => candidate.packageId === reference.identity.packageId
|
|
400
|
+
&& candidate.moduleName === reference.identity.moduleName);
|
|
401
|
+
const exportedName = file?.exportedTypeNamesByIdentity.get(key);
|
|
402
|
+
if (exportedName !== undefined) {
|
|
403
|
+
exportedNameCounts.set(exportedName, (exportedNameCounts.get(exportedName) ?? 0) + 1);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
for (const [key, reference] of [...identities.entries()].sort(([, left], [, right]) => {
|
|
407
|
+
const leftIsLocal = left.identity.packageId === template.templateId.packageId
|
|
408
|
+
&& left.identity.moduleName === template.templateId.moduleName;
|
|
409
|
+
const rightIsLocal = right.identity.packageId === template.templateId.packageId
|
|
410
|
+
&& right.identity.moduleName === template.templateId.moduleName;
|
|
411
|
+
if (leftIsLocal !== rightIsLocal) {
|
|
412
|
+
return leftIsLocal ? -1 : 1;
|
|
413
|
+
}
|
|
414
|
+
return this.getNamedReferenceKey(left.identity)
|
|
415
|
+
.localeCompare(this.getNamedReferenceKey(right.identity));
|
|
416
|
+
})) {
|
|
417
|
+
const file = namedTypeFiles.find((candidate) => candidate.packageId === reference.identity.packageId
|
|
418
|
+
&& candidate.moduleName === reference.identity.moduleName);
|
|
419
|
+
const exportedName = file?.exportedTypeNamesByIdentity.get(key);
|
|
420
|
+
if (file === undefined || exportedName === undefined) {
|
|
421
|
+
if (namedTypeFiles.length !== 0) {
|
|
422
|
+
throw new Error(`Cannot emit unresolved named DAML type '${reference.identity.name}'`);
|
|
423
|
+
}
|
|
424
|
+
aliases.set(key, reference.identity.name);
|
|
425
|
+
continue;
|
|
426
|
+
}
|
|
427
|
+
const isLocal = reference.identity.packageId === template.templateId.packageId
|
|
428
|
+
&& reference.identity.moduleName === template.templateId.moduleName;
|
|
429
|
+
const baseAlias = exportedNameCounts.get(exportedName) === 1 || isLocal
|
|
430
|
+
? exportedName
|
|
431
|
+
: this.toTypeName(`${file.namespaceAlias} ${exportedName}`);
|
|
432
|
+
let alias = baseAlias;
|
|
433
|
+
let escalation = 2;
|
|
434
|
+
while (usedAliases.has(alias)) {
|
|
435
|
+
alias = `${baseAlias}_${this.shortHash(key)}_${escalation}`;
|
|
436
|
+
escalation += 1;
|
|
437
|
+
}
|
|
438
|
+
usedAliases.add(alias);
|
|
439
|
+
aliases.set(key, alias);
|
|
440
|
+
}
|
|
441
|
+
return new Map([...identities.entries()].map(([key, reference]) => {
|
|
442
|
+
const file = namedTypeFiles.find((candidate) => candidate.packageId === reference.identity.packageId
|
|
443
|
+
&& candidate.moduleName === reference.identity.moduleName);
|
|
444
|
+
const exportedName = file?.exportedTypeNamesByIdentity.get(key);
|
|
445
|
+
const alias = aliases.get(key);
|
|
446
|
+
if (file === undefined || exportedName === undefined) {
|
|
447
|
+
return [key, {
|
|
448
|
+
path: "",
|
|
449
|
+
exportedName: reference.identity.name,
|
|
450
|
+
alias: alias ?? reference.identity.name,
|
|
451
|
+
}];
|
|
452
|
+
}
|
|
453
|
+
return [key, {
|
|
454
|
+
path: this.relativeFilePath(this.nameResolver.getTemplateFilePath(template), file.path, moduleImportStyle),
|
|
455
|
+
exportedName,
|
|
456
|
+
alias: alias,
|
|
457
|
+
}];
|
|
458
|
+
}));
|
|
459
|
+
}
|
|
460
|
+
*walkNamedReferences(type) {
|
|
461
|
+
switch (type.kind) {
|
|
462
|
+
case "namedReference":
|
|
463
|
+
yield type;
|
|
464
|
+
for (const typeArgument of type.typeArguments ?? []) {
|
|
465
|
+
yield* this.walkNamedReferences(typeArgument);
|
|
466
|
+
}
|
|
467
|
+
return;
|
|
468
|
+
case "contractId": return;
|
|
469
|
+
case "optional":
|
|
470
|
+
case "list":
|
|
471
|
+
yield* this.walkNamedReferences(type.element);
|
|
472
|
+
return;
|
|
473
|
+
case "textMap":
|
|
474
|
+
yield* this.walkNamedReferences(type.value);
|
|
475
|
+
return;
|
|
476
|
+
case "genMap":
|
|
477
|
+
yield* this.walkNamedReferences(type.key);
|
|
478
|
+
yield* this.walkNamedReferences(type.value);
|
|
479
|
+
return;
|
|
480
|
+
case "record":
|
|
481
|
+
for (const field of type.fields) {
|
|
482
|
+
yield* this.walkNamedReferences(field.type);
|
|
483
|
+
}
|
|
484
|
+
return;
|
|
485
|
+
case "variant":
|
|
486
|
+
for (const constructor of type.constructors) {
|
|
487
|
+
yield* this.walkNamedReferences(constructor.payload);
|
|
488
|
+
}
|
|
489
|
+
return;
|
|
490
|
+
case "primitive":
|
|
491
|
+
case "enum":
|
|
492
|
+
case "typeVariable": return;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
getNamedReference(identity, namedReferences) {
|
|
496
|
+
const reference = namedReferences.get(this.getNamedReferenceKey(identity));
|
|
497
|
+
if (reference === undefined) {
|
|
498
|
+
throw new Error(`Cannot resolve named DAML type '${identity.name}'`);
|
|
499
|
+
}
|
|
500
|
+
return reference;
|
|
501
|
+
}
|
|
502
|
+
getNamedReferenceKey(identity) {
|
|
503
|
+
return `${identity.packageId}\u0000${identity.moduleName}\u0000${identity.name}`;
|
|
504
|
+
}
|
|
505
|
+
toTypeName(value) {
|
|
506
|
+
const normalized = value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[^A-Za-z0-9]+/g, " ").trim();
|
|
507
|
+
const name = normalized.split(/\s+/).map((part) => `${part[0]?.toUpperCase()}${part.slice(1)}`).join("");
|
|
508
|
+
return /^[0-9]/.test(name) ? `_${name}` : name;
|
|
509
|
+
}
|
|
510
|
+
shortHash(value) {
|
|
511
|
+
let hash = 0x811c9dc5;
|
|
512
|
+
for (const character of value) {
|
|
513
|
+
hash ^= character.charCodeAt(0);
|
|
514
|
+
hash = Math.imul(hash, 0x01000193);
|
|
515
|
+
}
|
|
516
|
+
return (hash >>> 0).toString(36).padStart(6, "0").slice(-6);
|
|
517
|
+
}
|
|
518
|
+
packageId(binding) {
|
|
519
|
+
return binding.templateIdLiteral.split(":")[0];
|
|
520
|
+
}
|
|
521
|
+
moduleName(binding) {
|
|
522
|
+
return binding.templateIdLiteral.split(":")[1];
|
|
523
|
+
}
|
|
524
|
+
entityName(binding) {
|
|
525
|
+
return binding.templateIdLiteral.split(":")[2];
|
|
526
|
+
}
|
|
527
|
+
relativeFilePath(fromPath, toPath, moduleImportStyle) {
|
|
528
|
+
return relative_module_specifier_js_1.RelativeModuleSpecifier.fromPaths(fromPath, toPath, moduleImportStyle);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
exports.TemplateBindingEmitter = TemplateBindingEmitter;
|