@distrohelena/canton-typescript-sdk 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +76 -0
  2. package/dist/client/canton-client.d.ts +4 -0
  3. package/dist/client/canton-client.js +5 -0
  4. package/dist/client/canton-hashing-client.d.ts +8 -0
  5. package/dist/client/canton-hashing-client.js +16 -0
  6. package/dist/client/external-party-activation-client.d.ts +15 -0
  7. package/dist/client/external-party-activation-client.js +126 -0
  8. package/dist/client/external-party-activation-request.d.ts +15 -0
  9. package/dist/client/external-party-activation-request.js +14 -0
  10. package/dist/client/external-party-activation-response.d.ts +13 -0
  11. package/dist/client/external-party-activation-response.js +12 -0
  12. package/dist/client/service-registry.d.ts +2 -0
  13. package/dist/client/service-registry.js +124 -0
  14. package/dist/core/hashing/canton-hash.d.ts +3 -0
  15. package/dist/core/hashing/canton-hash.js +24 -0
  16. package/dist/core/transports/transport.interface.d.ts +48 -0
  17. package/dist/core/types/canton-hash-purpose.d.ts +4 -0
  18. package/dist/core/types/canton-hash-purpose.js +5 -0
  19. package/dist/core/types/external-party/external-party-crypto-key-format.d.ts +6 -0
  20. package/dist/core/types/external-party/external-party-crypto-key-format.js +7 -0
  21. package/dist/core/types/external-party/external-party-onboarding-transaction.d.ts +9 -0
  22. package/dist/core/types/external-party/external-party-onboarding-transaction.js +8 -0
  23. package/dist/core/types/external-party/external-party-signature-format.d.ts +7 -0
  24. package/dist/core/types/external-party/external-party-signature-format.js +8 -0
  25. package/dist/core/types/external-party/external-party-signature.d.ts +14 -0
  26. package/dist/core/types/external-party/external-party-signature.js +16 -0
  27. package/dist/core/types/external-party/external-party-signing-algorithm-spec.d.ts +7 -0
  28. package/dist/core/types/external-party/external-party-signing-algorithm-spec.js +8 -0
  29. package/dist/core/types/external-party/external-party-signing-key-spec.d.ts +8 -0
  30. package/dist/core/types/external-party/external-party-signing-key-spec.js +9 -0
  31. package/dist/core/types/external-party/external-party-signing-public-key.d.ts +12 -0
  32. package/dist/core/types/external-party/external-party-signing-public-key.js +12 -0
  33. package/dist/core/types/requests/add-party-async-request.d.ts +27 -0
  34. package/dist/core/types/requests/add-party-async-request.js +25 -0
  35. package/dist/core/types/requests/add-topology-transactions-request.d.ts +16 -0
  36. package/dist/core/types/requests/add-topology-transactions-request.js +12 -0
  37. package/dist/core/types/requests/allocate-external-party-request.d.ts +18 -0
  38. package/dist/core/types/requests/allocate-external-party-request.js +16 -0
  39. package/dist/core/types/requests/assemble-signed-topology-transactions-request.d.ts +10 -0
  40. package/dist/core/types/requests/assemble-signed-topology-transactions-request.js +8 -0
  41. package/dist/core/types/requests/authorize-topology-transactions-request.d.ts +37 -0
  42. package/dist/core/types/requests/authorize-topology-transactions-request.js +35 -0
  43. package/dist/core/types/requests/clear-party-onboarding-flag-request.d.ts +13 -0
  44. package/dist/core/types/requests/clear-party-onboarding-flag-request.js +12 -0
  45. package/dist/core/types/requests/create-temporary-topology-store-request.d.ts +8 -0
  46. package/dist/core/types/requests/create-temporary-topology-store-request.js +8 -0
  47. package/dist/core/types/requests/drop-temporary-topology-store-request.d.ts +7 -0
  48. package/dist/core/types/requests/drop-temporary-topology-store-request.js +6 -0
  49. package/dist/core/types/requests/generate-external-party-topology-request.d.ts +19 -0
  50. package/dist/core/types/requests/generate-external-party-topology-request.js +21 -0
  51. package/dist/core/types/requests/generate-topology-transactions-request.d.ts +26 -0
  52. package/dist/core/types/requests/generate-topology-transactions-request.js +22 -0
  53. package/dist/core/types/requests/get-active-contracts-page-request.d.ts +12 -0
  54. package/dist/core/types/requests/get-active-contracts-page-request.js +12 -0
  55. package/dist/core/types/requests/import-topology-snapshot-request.d.ts +12 -0
  56. package/dist/core/types/requests/import-topology-snapshot-request.js +10 -0
  57. package/dist/core/types/requests/import-topology-snapshot-v2-request.d.ts +12 -0
  58. package/dist/core/types/requests/import-topology-snapshot-v2-request.js +10 -0
  59. package/dist/core/types/requests/sign-topology-transactions-request.d.ts +15 -0
  60. package/dist/core/types/requests/sign-topology-transactions-request.js +12 -0
  61. package/dist/core/types/responses/add-party-async-response.d.ts +6 -0
  62. package/dist/core/types/responses/add-party-async-response.js +6 -0
  63. package/dist/core/types/responses/add-topology-transactions-response.d.ts +3 -0
  64. package/dist/core/types/responses/add-topology-transactions-response.js +5 -0
  65. package/dist/core/types/responses/allocate-external-party-response.d.ts +6 -0
  66. package/dist/core/types/responses/allocate-external-party-response.js +6 -0
  67. package/dist/core/types/responses/authorize-topology-transactions-response.d.ts +7 -0
  68. package/dist/core/types/responses/authorize-topology-transactions-response.js +6 -0
  69. package/dist/core/types/responses/clear-party-onboarding-flag-response.d.ts +8 -0
  70. package/dist/core/types/responses/clear-party-onboarding-flag-response.js +8 -0
  71. package/dist/core/types/responses/create-temporary-topology-store-response.d.ts +7 -0
  72. package/dist/core/types/responses/create-temporary-topology-store-response.js +6 -0
  73. package/dist/core/types/responses/drop-temporary-topology-store-response.d.ts +3 -0
  74. package/dist/core/types/responses/drop-temporary-topology-store-response.js +5 -0
  75. package/dist/core/types/responses/generate-external-party-topology-response.d.ts +12 -0
  76. package/dist/core/types/responses/generate-external-party-topology-response.js +12 -0
  77. package/dist/core/types/responses/generate-topology-transactions-response.d.ts +7 -0
  78. package/dist/core/types/responses/generate-topology-transactions-response.js +6 -0
  79. package/dist/core/types/responses/get-active-contracts-page-response.d.ts +4 -0
  80. package/dist/core/types/responses/get-active-contracts-page-response.js +4 -0
  81. package/dist/core/types/responses/import-topology-snapshot-response.d.ts +3 -0
  82. package/dist/core/types/responses/import-topology-snapshot-response.js +5 -0
  83. package/dist/core/types/responses/import-topology-snapshot-v2-response.d.ts +3 -0
  84. package/dist/core/types/responses/import-topology-snapshot-v2-response.js +5 -0
  85. package/dist/core/types/responses/sign-topology-transactions-response.d.ts +7 -0
  86. package/dist/core/types/responses/sign-topology-transactions-response.js +6 -0
  87. package/dist/core/types/topology/external-topology-signature.d.ts +18 -0
  88. package/dist/core/types/topology/external-topology-signature.js +16 -0
  89. package/dist/core/types/topology/generated-topology-transaction.d.ts +8 -0
  90. package/dist/core/types/topology/generated-topology-transaction.js +8 -0
  91. package/dist/core/types/topology/multi-topology-transaction-signature.d.ts +9 -0
  92. package/dist/core/types/topology/multi-topology-transaction-signature.js +8 -0
  93. package/dist/core/types/topology/prepared-topology-transaction.d.ts +10 -0
  94. package/dist/core/types/topology/prepared-topology-transaction.js +10 -0
  95. package/dist/core/types/topology/signed-topology-transaction.d.ts +14 -0
  96. package/dist/core/types/topology/signed-topology-transaction.js +14 -0
  97. package/dist/core/types/topology/topology-force-flag.d.ts +8 -0
  98. package/dist/core/types/topology/topology-force-flag.js +9 -0
  99. package/dist/core/types/topology/topology-mapping.d.ts +16 -0
  100. package/dist/core/types/topology/topology-mapping.js +1 -0
  101. package/dist/core/types/topology/topology-public-key.d.ts +4 -0
  102. package/dist/core/types/topology/topology-public-key.js +4 -0
  103. package/dist/core/types/topology/topology-signature-delegation.d.ts +18 -0
  104. package/dist/core/types/topology/topology-signature-delegation.js +20 -0
  105. package/dist/core/types/topology/topology-signature-format.d.ts +3 -0
  106. package/dist/core/types/topology/topology-signature-format.js +4 -0
  107. package/dist/core/types/topology/topology-transaction-signature.d.ts +15 -0
  108. package/dist/core/types/topology/topology-transaction-signature.js +14 -0
  109. package/dist/daml-lf/container/dar-archive-loader.js +9 -0
  110. package/dist/index.d.ts +51 -0
  111. package/dist/index.js +50 -0
  112. package/dist/services/participant-party-management/participant-party-management-service-client.d.ts +8 -0
  113. package/dist/services/participant-party-management/participant-party-management-service-client.js +8 -0
  114. package/dist/services/party-management/party-management-service-client.d.ts +8 -0
  115. package/dist/services/party-management/party-management-service-client.js +8 -0
  116. package/dist/services/state/state-service-client.d.ts +1 -1
  117. package/dist/services/state/state-service-client.js +1 -1
  118. package/dist/services/topology-manager-write/topology-manager-write-service-client.d.ts +42 -0
  119. package/dist/services/topology-manager-write/topology-manager-write-service-client.js +44 -0
  120. package/dist/services/topology-manager-write/topology-signed-transaction-assembler.d.ts +3 -0
  121. package/dist/services/topology-manager-write/topology-signed-transaction-assembler.js +78 -0
  122. package/dist/transports/grpc/grpc-channel-factory.d.ts +16 -2
  123. package/dist/transports/grpc/grpc-channel-factory.js +56 -0
  124. package/dist/transports/grpc/grpc-transport.d.ts +20 -0
  125. package/dist/transports/grpc/grpc-transport.js +72 -1
  126. package/dist/transports/grpc/mappers/contracts-mapper.d.ts +6 -0
  127. package/dist/transports/grpc/mappers/contracts-mapper.js +40 -19
  128. package/dist/transports/grpc/mappers/external-party-management-mapper.d.ts +9 -0
  129. package/dist/transports/grpc/mappers/external-party-management-mapper.js +126 -0
  130. package/dist/transports/grpc/mappers/participant-party-management-mapper.d.ts +9 -2
  131. package/dist/transports/grpc/mappers/participant-party-management-mapper.js +56 -1
  132. package/dist/transports/grpc/mappers/topology-common-mapper.js +3 -0
  133. package/dist/transports/grpc/mappers/topology-manager-write-mapper.d.ts +33 -0
  134. package/dist/transports/grpc/mappers/topology-manager-write-mapper.js +451 -0
  135. package/dist/transports/json/json-transport.d.ts +20 -0
  136. package/dist/transports/json/json-transport.js +59 -6
  137. package/dist/transports/json/mappers/parties-mapper.d.ts +13 -2
  138. package/dist/transports/json/mappers/parties-mapper.js +15 -1
  139. package/package.json +4 -2
@@ -0,0 +1,78 @@
1
+ import { ValidationError } from "../../core/errors/validation-error.js";
2
+ import { SignedTopologyTransaction } from "../../core/types/topology/signed-topology-transaction.js";
3
+ import { TopologySignatureFormat } from "../../core/types/topology/topology-signature-format.js";
4
+ import { TopologyTransactionSignature } from "../../core/types/topology/topology-transaction-signature.js";
5
+ export function assembleSignedTopologyTransactions(request) {
6
+ const preparedTransactionsByHash = new Map(request.preparedTransactions.map((preparedTransaction) => [
7
+ toHex(preparedTransaction.transactionHash),
8
+ preparedTransaction,
9
+ ]));
10
+ const signaturesByHash = new Map();
11
+ const seenSignerPairs = new Set();
12
+ for (const signature of request.signatures) {
13
+ validateExternalSignature(signature);
14
+ const signatureFormat = signature.signatureFormat;
15
+ const hashKey = toHex(signature.transactionHash);
16
+ const preparedTransaction = preparedTransactionsByHash.get(hashKey);
17
+ if (preparedTransaction === undefined) {
18
+ throw new ValidationError(`No prepared transaction matches detached signature hash ${hashKey}.`);
19
+ }
20
+ const signerKey = `${hashKey}:${signature.signedByFingerprint}`;
21
+ if (seenSignerPairs.has(signerKey)) {
22
+ throw new ValidationError(`Duplicate detached signature for signer ${signature.signedByFingerprint} on transaction ${hashKey}.`);
23
+ }
24
+ seenSignerPairs.add(signerKey);
25
+ const mappedSignature = new TopologyTransactionSignature({
26
+ format: mapExternalSignatureFormatToRawFormat(signatureFormat),
27
+ signature: signature.signature,
28
+ signedByFingerprint: signature.signedByFingerprint,
29
+ signingAlgorithmSpec: signature.signingAlgorithmSpec
30
+ ?? mapExternalSignatureFormatToAlgorithmSpec(signatureFormat),
31
+ signatureDelegation: signature.signatureDelegation,
32
+ });
33
+ const existing = signaturesByHash.get(hashKey) ?? [];
34
+ existing.push(mappedSignature);
35
+ signaturesByHash.set(hashKey, existing);
36
+ }
37
+ return request.preparedTransactions.map((preparedTransaction) => new SignedTopologyTransaction({
38
+ transaction: preparedTransaction.serializedTransaction,
39
+ signatures: signaturesByHash.get(toHex(preparedTransaction.transactionHash)) ?? [],
40
+ proposal: preparedTransaction.proposal,
41
+ multiTransactionSignatures: [],
42
+ }));
43
+ }
44
+ function validateExternalSignature(signature) {
45
+ if (signature.transactionHash.length === 0) {
46
+ throw new ValidationError("Detached topology signatures require a transactionHash.");
47
+ }
48
+ else if (signature.signature.length === 0) {
49
+ throw new ValidationError("Detached topology signatures require signature bytes.");
50
+ }
51
+ else if (signature.signedByFingerprint.length === 0) {
52
+ throw new ValidationError("Detached topology signatures require signedByFingerprint.");
53
+ }
54
+ else if (signature.signatureFormat === undefined) {
55
+ throw new ValidationError("Detached topology signatures require signatureFormat.");
56
+ }
57
+ }
58
+ function mapExternalSignatureFormatToRawFormat(signatureFormat) {
59
+ switch (signatureFormat) {
60
+ case TopologySignatureFormat.ed25519:
61
+ return "concat";
62
+ default:
63
+ return "unspecified";
64
+ }
65
+ }
66
+ function mapExternalSignatureFormatToAlgorithmSpec(signatureFormat) {
67
+ switch (signatureFormat) {
68
+ case TopologySignatureFormat.ed25519:
69
+ return "ed25519";
70
+ default:
71
+ return "unspecified";
72
+ }
73
+ }
74
+ function toHex(bytes) {
75
+ return [...bytes]
76
+ .map((value) => value.toString(16).padStart(2, "0"))
77
+ .join("");
78
+ }
@@ -11,6 +11,7 @@ import { ITrafficControlServiceClient } from "./generated/canton/com/digitalasse
11
11
  import { IIdentityInitializationServiceClient } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/initialization_service.client.js";
12
12
  import { ITopologyAggregationServiceClient } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_aggregation_service.client.js";
13
13
  import { ITopologyManagerReadServiceClient } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_read_service.client.js";
14
+ import { ITopologyManagerWriteServiceClient } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.client.js";
14
15
  import { ICommandInspectionServiceClient } from "./generated/canton/com/daml/ledger/api/v2/admin/command_inspection_service.client.js";
15
16
  import { IIdentityProviderConfigServiceClient } from "./generated/canton/com/daml/ledger/api/v2/admin/identity_provider_config_service.client.js";
16
17
  import { IPackageManagementServiceClient } from "./generated/canton/com/daml/ledger/api/v2/admin/package_management_service.client.js";
@@ -33,6 +34,8 @@ export interface GrpcOperations {
33
34
  getHealthAsync(options?: RequestOptions): Promise<unknown>;
34
35
  createPartyAsync(request: unknown, options?: RequestOptions): Promise<unknown>;
35
36
  listPartiesAsync(request: unknown, options?: RequestOptions): Promise<unknown>;
37
+ generateExternalPartyTopologyAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
38
+ allocateExternalPartyAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
36
39
  getParticipantIdAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
37
40
  getPartiesAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
38
41
  grantUserRightsAsync(request: unknown, options?: RequestOptions): Promise<unknown>;
@@ -63,6 +66,8 @@ export interface GrpcOperations {
63
66
  getIntervalsBehindForCounterParticipantsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
64
67
  lookupSentAcsCommitmentsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
65
68
  lookupReceivedAcsCommitmentsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
69
+ addPartyAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
70
+ clearPartyOnboardingFlagAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
66
71
  getHighestOffsetByTimestampAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
67
72
  getSafePruningOffsetAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
68
73
  getPruningScheduleAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
@@ -82,6 +87,14 @@ export interface GrpcOperations {
82
87
  listPartyToKeyMappingAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
83
88
  listSynchronizerTrustCertificateAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
84
89
  listParticipantSynchronizerPermissionAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
90
+ authorizeTopologyTransactionsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
91
+ addTopologyTransactionsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
92
+ importTopologySnapshotAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
93
+ importTopologySnapshotV2Async?(request: unknown, options?: RequestOptions): Promise<unknown>;
94
+ signTopologyTransactionsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
95
+ generateTopologyTransactionsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
96
+ createTemporaryTopologyStoreAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
97
+ dropTemporaryTopologyStoreAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
85
98
  listPartyHostingLimitsAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
86
99
  topologyListVettedPackagesAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
87
100
  listPartyToParticipantAsync?(request: unknown, options?: RequestOptions): Promise<unknown>;
@@ -113,7 +126,7 @@ export interface GrpcOperations {
113
126
  export interface GrpcOperationDependencies {
114
127
  versionServiceClient?: Pick<IVersionServiceClient, "getLedgerApiVersion">;
115
128
  healthClient?: Pick<IHealthClient, "check">;
116
- partyManagementServiceClient?: Pick<IPartyManagementServiceClient, "allocateParty" | "listKnownParties" | "getParticipantId" | "getParties">;
129
+ partyManagementServiceClient?: Pick<IPartyManagementServiceClient, "allocateParty" | "listKnownParties" | "generateExternalPartyTopology" | "allocateExternalParty" | "getParticipantId" | "getParties">;
117
130
  userManagementServiceClient?: Pick<IUserManagementServiceClient, "grantUserRights" | "getUser" | "listUsers" | "listUserRights">;
118
131
  commandInspectionServiceClient?: Pick<ICommandInspectionServiceClient, "getCommandStatus">;
119
132
  identityProviderConfigServiceClient?: Pick<IIdentityProviderConfigServiceClient, "getIdentityProviderConfig" | "listIdentityProviderConfigs">;
@@ -121,7 +134,7 @@ export interface GrpcOperationDependencies {
121
134
  ledgerPackageServiceClient?: Pick<ILedgerPackageServiceClient, "listPackages" | "getPackage" | "getPackageStatus" | "listVettedPackages">;
122
135
  participantPackageServiceClient?: Pick<IParticipantPackageServiceClient, "listPackages" | "getPackageContents" | "getPackageReferences" | "getDar" | "listDars" | "getDarContents">;
123
136
  participantInspectionServiceClient?: Pick<IParticipantInspectionServiceClient, "lookupOffsetByTime" | "openCommitment" | "inspectCommitmentContracts" | "countInFlight" | "getConfigForSlowCounterParticipants" | "getIntervalsBehindForCounterParticipants" | "lookupSentAcsCommitments" | "lookupReceivedAcsCommitments">;
124
- participantPartyManagementServiceClient?: Pick<IParticipantPartyManagementServiceClient, "getHighestOffsetByTimestamp">;
137
+ participantPartyManagementServiceClient?: Pick<IParticipantPartyManagementServiceClient, "addPartyAsync" | "clearPartyOnboardingFlag" | "getHighestOffsetByTimestamp">;
125
138
  participantRepairServiceClient?: Pick<IParticipantRepairServiceClient, "listPendingOperations">;
126
139
  pruningServiceClient?: Pick<IPruningServiceClient, "getSafePruningOffset" | "getSchedule" | "getParticipantSchedule" | "getNoWaitCommitmentsFrom">;
127
140
  participantStatusServiceClient?: Pick<IParticipantStatusServiceClient, "participantStatus">;
@@ -130,6 +143,7 @@ export interface GrpcOperationDependencies {
130
143
  resourceManagementServiceClient?: Pick<IResourceManagementServiceClient, "getResourceLimits">;
131
144
  identityInitializationServiceClient?: Pick<IIdentityInitializationServiceClient, "getId" | "currentTime">;
132
145
  topologyManagerReadServiceClient?: Pick<ITopologyManagerReadServiceClient, "listNamespaceDelegation" | "listDecentralizedNamespaceDefinition" | "listOwnerToKeyMapping" | "listPartyToKeyMapping" | "listSynchronizerTrustCertificate" | "listParticipantSynchronizerPermission" | "listPartyHostingLimits" | "listVettedPackages" | "listPartyToParticipant" | "listSynchronizerParametersState" | "listSequencingParametersState" | "listMediatorSynchronizerState" | "listSequencerSynchronizerState" | "listLsuAnnouncement" | "listLsuSequencerConnectionSuccessor" | "listAvailableStores" | "listAll" | "listAllV2">;
146
+ topologyManagerWriteServiceClient?: Pick<ITopologyManagerWriteServiceClient, "authorize" | "addTransactions" | "importTopologySnapshot" | "importTopologySnapshotV2" | "signTransactions" | "generateTransactions" | "createTemporaryTopologyStore" | "dropTemporaryTopologyStore">;
133
147
  topologyAggregationServiceClient?: Pick<ITopologyAggregationServiceClient, "listParties" | "listKeyOwners">;
134
148
  contractServiceClient?: Pick<IContractServiceClient, "getContract">;
135
149
  eventQueryServiceClient?: Pick<IEventQueryServiceClient, "getEventsByContractId">;
@@ -11,6 +11,7 @@ import { TrafficControlServiceClient, } from "./generated/canton/com/digitalasse
11
11
  import { IdentityInitializationServiceClient, } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/initialization_service.client.js";
12
12
  import { TopologyAggregationServiceClient, } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_aggregation_service.client.js";
13
13
  import { TopologyManagerReadServiceClient, } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_read_service.client.js";
14
+ import { TopologyManagerWriteServiceClient, } from "./generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.client.js";
14
15
  import { CommandInspectionServiceClient, } from "./generated/canton/com/daml/ledger/api/v2/admin/command_inspection_service.client.js";
15
16
  import { IdentityProviderConfigServiceClient, } from "./generated/canton/com/daml/ledger/api/v2/admin/identity_provider_config_service.client.js";
16
17
  import { PackageManagementServiceClient, } from "./generated/canton/com/daml/ledger/api/v2/admin/package_management_service.client.js";
@@ -72,6 +73,8 @@ export function createGrpcOperations(options, endpoint, grpcChannelSecurity, dep
72
73
  ?? new TrafficControlServiceClient(rpcTransport);
73
74
  const topologyManagerReadServiceClient = dependencies.topologyManagerReadServiceClient
74
75
  ?? new TopologyManagerReadServiceClient(rpcTransport);
76
+ const topologyManagerWriteServiceClient = dependencies.topologyManagerWriteServiceClient
77
+ ?? new TopologyManagerWriteServiceClient(rpcTransport);
75
78
  const topologyAggregationServiceClient = dependencies.topologyAggregationServiceClient
76
79
  ?? new TopologyAggregationServiceClient(rpcTransport);
77
80
  const contractServiceClient = dependencies.contractServiceClient
@@ -104,6 +107,14 @@ export function createGrpcOperations(options, endpoint, grpcChannelSecurity, dep
104
107
  const callOptions = await buildCallOptionsForLedgerAdminSurfaceAsync(options, requestOptions);
105
108
  return await unwrapUnaryResponse(partyManagementServiceClient.listKnownParties(request, callOptions));
106
109
  },
110
+ async generateExternalPartyTopologyAsync(request, requestOptions) {
111
+ const callOptions = await buildCallOptionsForLedgerAdminSurfaceAsync(options, requestOptions);
112
+ return await unwrapUnaryResponse(partyManagementServiceClient.generateExternalPartyTopology(request, callOptions));
113
+ },
114
+ async allocateExternalPartyAsync(request, requestOptions) {
115
+ const callOptions = await buildCallOptionsForLedgerAdminSurfaceAsync(options, requestOptions);
116
+ return await unwrapUnaryResponse(partyManagementServiceClient.allocateExternalParty(request, callOptions));
117
+ },
107
118
  async getParticipantIdAsync(request, requestOptions) {
108
119
  const callOptions = await buildCallOptionsForLedgerAdminSurfaceAsync(options, requestOptions);
109
120
  return await unwrapUnaryResponse(partyManagementServiceClient.getParticipantId(request, callOptions));
@@ -224,6 +235,14 @@ export function createGrpcOperations(options, endpoint, grpcChannelSecurity, dep
224
235
  const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
225
236
  return await unwrapUnaryResponse(participantInspectionServiceClient.lookupReceivedAcsCommitments(request, callOptions));
226
237
  },
238
+ async addPartyAsync(request, requestOptions) {
239
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
240
+ return await unwrapUnaryResponse(participantPartyManagementServiceClient.addPartyAsync(request, callOptions));
241
+ },
242
+ async clearPartyOnboardingFlagAsync(request, requestOptions) {
243
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
244
+ return await unwrapUnaryResponse(participantPartyManagementServiceClient.clearPartyOnboardingFlag(request, callOptions));
245
+ },
227
246
  async getHighestOffsetByTimestampAsync(request, requestOptions) {
228
247
  const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
229
248
  return await unwrapUnaryResponse(participantPartyManagementServiceClient.getHighestOffsetByTimestamp(request, callOptions));
@@ -348,6 +367,38 @@ export function createGrpcOperations(options, endpoint, grpcChannelSecurity, dep
348
367
  const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
349
368
  return await unwrapUnaryResponse(topologyManagerReadServiceClient.listAllV2(request, callOptions));
350
369
  },
370
+ async authorizeTopologyTransactionsAsync(request, requestOptions) {
371
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
372
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.authorize(request, callOptions));
373
+ },
374
+ async addTopologyTransactionsAsync(request, requestOptions) {
375
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
376
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.addTransactions(request, callOptions));
377
+ },
378
+ async importTopologySnapshotAsync(request, requestOptions) {
379
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
380
+ return await sendClientStreamRequestAndReadResponseAsync(topologyManagerWriteServiceClient.importTopologySnapshot(callOptions), request);
381
+ },
382
+ async importTopologySnapshotV2Async(request, requestOptions) {
383
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
384
+ return await sendClientStreamRequestAndReadResponseAsync(topologyManagerWriteServiceClient.importTopologySnapshotV2(callOptions), request);
385
+ },
386
+ async signTopologyTransactionsAsync(request, requestOptions) {
387
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
388
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.signTransactions(request, callOptions));
389
+ },
390
+ async generateTopologyTransactionsAsync(request, requestOptions) {
391
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
392
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.generateTransactions(request, callOptions));
393
+ },
394
+ async createTemporaryTopologyStoreAsync(request, requestOptions) {
395
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
396
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.createTemporaryTopologyStore(request, callOptions));
397
+ },
398
+ async dropTemporaryTopologyStoreAsync(request, requestOptions) {
399
+ const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
400
+ return await unwrapUnaryResponse(topologyManagerWriteServiceClient.dropTemporaryTopologyStore(request, callOptions));
401
+ },
351
402
  async topologyListPartiesAsync(request, requestOptions) {
352
403
  const callOptions = await buildCallOptionsForParticipantAdminSurfaceAsync(options, requestOptions);
353
404
  return await unwrapUnaryResponse(topologyAggregationServiceClient.listParties(request, callOptions));
@@ -428,6 +479,11 @@ function normalizeGrpcHost(endpoint) {
428
479
  async function unwrapUnaryResponse(call) {
429
480
  return await call.response;
430
481
  }
482
+ async function sendClientStreamRequestAndReadResponseAsync(call, request) {
483
+ await call.requests.send(request);
484
+ await call.requests.complete();
485
+ return await call.response;
486
+ }
431
487
  async function collectServerResponsesAsync(call) {
432
488
  const responses = [];
433
489
  for await (const response of call.responses) {
@@ -1,9 +1,12 @@
1
1
  import { CantonClientOptions } from "../../client/canton-client-options.js";
2
+ import { AllocateExternalPartyRequest } from "../../core/types/requests/allocate-external-party-request.js";
2
3
  import { AllocatePartyRequest } from "../../core/types/requests/allocate-party-request.js";
4
+ import { AddPartyAsyncRequest } from "../../core/types/requests/add-party-async-request.js";
3
5
  import { GetCompletionsRequest } from "../../core/types/requests/get-completions-request.js";
4
6
  import { GetConnectedSynchronizersRequest } from "../../core/types/requests/get-connected-synchronizers-request.js";
5
7
  import { CountInFlightRequest } from "../../core/types/requests/count-in-flight-request.js";
6
8
  import { CurrentTimeRequest } from "../../core/types/requests/current-time-request.js";
9
+ import { ClearPartyOnboardingFlagRequest } from "../../core/types/requests/clear-party-onboarding-flag-request.js";
7
10
  import { GetDarContentsRequest } from "../../core/types/requests/get-dar-contents-request.js";
8
11
  import { GetDarRequest } from "../../core/types/requests/get-dar-request.js";
9
12
  import { GetActiveContractsPageRequest } from "../../core/types/requests/get-active-contracts-page-request.js";
@@ -37,6 +40,7 @@ import { GetUpdateByHashRequest } from "../../core/types/requests/get-update-by-
37
40
  import { GetUpdateByIdRequest } from "../../core/types/requests/get-update-by-id-request.js";
38
41
  import { GetUpdateByOffsetRequest } from "../../core/types/requests/get-update-by-offset-request.js";
39
42
  import { GrantUserRightsRequest } from "../../core/types/requests/grant-user-rights-request.js";
43
+ import { GenerateExternalPartyTopologyRequest } from "../../core/types/requests/generate-external-party-topology-request.js";
40
44
  import { GetUpdatesRequest } from "../../core/types/requests/get-updates-request.js";
41
45
  import { GetUpdatesPageRequest } from "../../core/types/requests/get-updates-page-request.js";
42
46
  import { GetUserRequest } from "../../core/types/requests/get-user-request.js";
@@ -82,6 +86,8 @@ import { TrafficControlStateRequest } from "../../core/types/requests/traffic-co
82
86
  import { UploadDarFileRequest } from "../../core/types/requests/upload-dar-file-request.js";
83
87
  import { SignCommandResult } from "../../core/signing/sign-command-result.js";
84
88
  import { AllocatePartyResponse as SdkAllocatePartyResponse } from "../../core/types/responses/allocate-party-response.js";
89
+ import { AllocateExternalPartyResponse } from "../../core/types/responses/allocate-external-party-response.js";
90
+ import { AddPartyAsyncResponse } from "../../core/types/responses/add-party-async-response.js";
85
91
  import { GetPackageContentsResponse } from "../../core/types/responses/get-package-contents-response.js";
86
92
  import { GetPackageReferencesResponse } from "../../core/types/responses/get-package-references-response.js";
87
93
  import { GetConnectedSynchronizersResponse } from "../../core/types/responses/get-connected-synchronizers-response.js";
@@ -119,7 +125,9 @@ import { GetUpdateByOffsetResponse } from "../../core/types/responses/get-update
119
125
  import { GetUpdatesPageResponse } from "../../core/types/responses/get-updates-page-response.js";
120
126
  import { GetUserResponse } from "../../core/types/responses/get-user-response.js";
121
127
  import { GrantUserRightsResponse } from "../../core/types/responses/grant-user-rights-response.js";
128
+ import { GenerateExternalPartyTopologyResponse } from "../../core/types/responses/generate-external-party-topology-response.js";
122
129
  import { HealthCheckResponse } from "../../core/types/responses/health-check-response.js";
130
+ import { ClearPartyOnboardingFlagResponse } from "../../core/types/responses/clear-party-onboarding-flag-response.js";
123
131
  import { ListAllResponse } from "../../core/types/responses/list-all-response.js";
124
132
  import { ListAllV2Response } from "../../core/types/responses/list-all-v2-response.js";
125
133
  import { ListAvailableStoresResponse } from "../../core/types/responses/list-available-stores-response.js";
@@ -179,6 +187,8 @@ export declare class GrpcTransport implements ITransport {
179
187
  checkHealthAsync(request: HealthCheckRequest, options?: RequestOptions): Promise<HealthCheckResponse>;
180
188
  allocatePartyAsync(request: AllocatePartyRequest, options?: RequestOptions): Promise<SdkAllocatePartyResponse>;
181
189
  listKnownPartiesAsync(request: ListKnownPartiesRequest, options?: RequestOptions): Promise<SdkListKnownPartiesResponse>;
190
+ generateExternalPartyTopologyAsync(request: GenerateExternalPartyTopologyRequest, options?: RequestOptions): Promise<GenerateExternalPartyTopologyResponse>;
191
+ allocateExternalPartyAsync(request: AllocateExternalPartyRequest, options?: RequestOptions): Promise<AllocateExternalPartyResponse>;
182
192
  getParticipantIdAsync(request: GetParticipantIdRequest, options?: RequestOptions): Promise<GetParticipantIdResponse>;
183
193
  getPartiesAsync(request: GetPartiesRequest, options?: RequestOptions): Promise<GetPartiesResponse>;
184
194
  grantUserRightsAsync(request: GrantUserRightsRequest, options?: RequestOptions): Promise<GrantUserRightsResponse>;
@@ -209,6 +219,8 @@ export declare class GrpcTransport implements ITransport {
209
219
  getIntervalsBehindForCounterParticipantsAsync(request: GetIntervalsBehindForCounterParticipantsRequest, options?: RequestOptions): Promise<GetIntervalsBehindForCounterParticipantsResponse>;
210
220
  lookupSentAcsCommitmentsAsync(request: LookupSentAcsCommitmentsRequest, options?: RequestOptions): Promise<LookupSentAcsCommitmentsResponse>;
211
221
  lookupReceivedAcsCommitmentsAsync(request: LookupReceivedAcsCommitmentsRequest, options?: RequestOptions): Promise<LookupReceivedAcsCommitmentsResponse>;
222
+ addPartyAsync(request: AddPartyAsyncRequest, options?: RequestOptions): Promise<AddPartyAsyncResponse>;
223
+ clearPartyOnboardingFlagAsync(request: ClearPartyOnboardingFlagRequest, options?: RequestOptions): Promise<ClearPartyOnboardingFlagResponse>;
212
224
  getHighestOffsetByTimestampAsync(request: GetHighestOffsetByTimestampRequest, options?: RequestOptions): Promise<GetHighestOffsetByTimestampResponse>;
213
225
  getSafePruningOffsetAsync(request: GetSafePruningOffsetRequest, options?: RequestOptions): Promise<GetSafePruningOffsetResponse>;
214
226
  getPruningScheduleAsync(request: GetPruningScheduleRequest, options?: RequestOptions): Promise<GetPruningScheduleResponse>;
@@ -230,6 +242,14 @@ export declare class GrpcTransport implements ITransport {
230
242
  listPartyToKeyMappingAsync(request: ListPartyToKeyMappingRequest, options?: RequestOptions): Promise<ListPartyToKeyMappingResponse>;
231
243
  listSynchronizerTrustCertificateAsync(request: ListSynchronizerTrustCertificateRequest, options?: RequestOptions): Promise<ListSynchronizerTrustCertificateResponse>;
232
244
  listParticipantSynchronizerPermissionAsync(request: ListParticipantSynchronizerPermissionRequest, options?: RequestOptions): Promise<ListParticipantSynchronizerPermissionResponse>;
245
+ authorizeTopologyTransactionsAsync(request: any, options?: RequestOptions): Promise<any>;
246
+ addTopologyTransactionsAsync(request: any, options?: RequestOptions): Promise<any>;
247
+ importTopologySnapshotAsync(request: any, options?: RequestOptions): Promise<any>;
248
+ importTopologySnapshotV2Async(request: any, options?: RequestOptions): Promise<any>;
249
+ signTopologyTransactionsAsync(request: any, options?: RequestOptions): Promise<any>;
250
+ generateTopologyTransactionsAsync(request: any, options?: RequestOptions): Promise<any>;
251
+ createTemporaryTopologyStoreAsync(request: any, options?: RequestOptions): Promise<any>;
252
+ dropTemporaryTopologyStoreAsync(request: any, options?: RequestOptions): Promise<any>;
233
253
  listPartyHostingLimitsAsync(request: ListPartyHostingLimitsRequest, options?: RequestOptions): Promise<ListPartyHostingLimitsResponse>;
234
254
  topologyListVettedPackagesAsync(request: TopologyListVettedPackagesRequest, options?: RequestOptions): Promise<TopologyListVettedPackagesResponse>;
235
255
  listPartyToParticipantAsync(request: ListPartyToParticipantRequest, options?: RequestOptions): Promise<ListPartyToParticipantResponse>;
@@ -12,6 +12,7 @@ import { mapGrpcGetContract, mapGrpcGetContractRequest, mapGrpcQueryContracts, m
12
12
  import { mapGrpcCompletionStreamResponse, mapGrpcGetCompletionsRequest, } from "./mappers/command-completion-mapper.js";
13
13
  import { mapGrpcGetCommandStatus, mapGrpcGetCommandStatusRequest, } from "./mappers/command-inspection-mapper.js";
14
14
  import { mapGrpcGetEventsByContractId, mapGrpcGetEventsByContractIdRequest, } from "./mappers/event-query-mapper.js";
15
+ import { mapGrpcAllocateExternalPartyRequest, mapGrpcAllocateExternalPartyResponse, mapGrpcGenerateExternalPartyTopologyRequest, mapGrpcGenerateExternalPartyTopologyResponse, } from "./mappers/external-party-management-mapper.js";
15
16
  import { mapGrpcCurrentTime, mapGrpcCurrentTimeRequest, mapGrpcGetId, mapGrpcGetIdRequest, } from "./mappers/identity-initialization-mapper.js";
16
17
  import { mapGrpcGetIdentityProviderConfig, mapGrpcGetIdentityProviderConfigRequest, mapGrpcListIdentityProviderConfigs, mapGrpcListIdentityProviderConfigsRequest, } from "./mappers/identity-provider-config-mapper.js";
17
18
  import { mapGrpcStreamTransactionsRequest, mapGrpcTransactionEvents, } from "./mappers/events-mapper.js";
@@ -19,7 +20,7 @@ import { mapGrpcGetUpdateByHash, mapGrpcGetUpdateByHashRequest, mapGrpcGetUpdate
19
20
  import { mapGrpcListKnownPackages, mapGrpcListKnownPackagesRequest, mapGrpcGetPackage, mapGrpcGetPackageRequest, mapGrpcGetPackageStatus, mapGrpcGetPackageStatusRequest, mapGrpcGetParticipantPackageContents, mapGrpcGetParticipantPackageContentsRequest, mapGrpcGetParticipantDar, mapGrpcGetParticipantDarContents, mapGrpcGetParticipantDarContentsRequest, mapGrpcGetParticipantDarRequest, mapGrpcGetParticipantPackageReferences, mapGrpcGetParticipantPackageReferencesRequest, mapGrpcListParticipantDars, mapGrpcListParticipantDarsRequest, mapGrpcListPackages, mapGrpcListPackagesRequest, mapGrpcListVettedPackages, mapGrpcListVettedPackagesRequest, mapGrpcParticipantListPackages, mapGrpcParticipantListPackagesRequest, mapGrpcUploadPackage, mapGrpcUploadPackageRequest, } from "./mappers/packages-mapper.js";
20
21
  import { mapGrpcGetParticipantStatusRequest, mapGrpcParticipantStatusResponse, } from "./mappers/participant-status-mapper.js";
21
22
  import { mapGrpcCountInFlight, mapGrpcCountInFlightRequest, mapGrpcGetConfigForSlowCounterParticipants, mapGrpcGetConfigForSlowCounterParticipantsRequest, mapGrpcGetIntervalsBehindForCounterParticipants, mapGrpcGetIntervalsBehindForCounterParticipantsRequest, mapGrpcInspectCommitmentContracts, mapGrpcInspectCommitmentContractsRequest, mapGrpcLookupReceivedAcsCommitments, mapGrpcLookupReceivedAcsCommitmentsRequest, mapGrpcLookupOffsetByTime, mapGrpcLookupOffsetByTimeRequest, mapGrpcLookupSentAcsCommitments, mapGrpcLookupSentAcsCommitmentsRequest, mapGrpcOpenCommitment, mapGrpcOpenCommitmentRequest, } from "./mappers/participant-inspection-mapper.js";
22
- import { mapGrpcGetHighestOffsetByTimestamp, mapGrpcGetHighestOffsetByTimestampRequest, } from "./mappers/participant-party-management-mapper.js";
23
+ import { mapGrpcAddPartyAsyncRequest, mapGrpcAddPartyAsyncResponse, mapGrpcClearPartyOnboardingFlagRequest, mapGrpcClearPartyOnboardingFlagResponse, mapGrpcGetHighestOffsetByTimestamp, mapGrpcGetHighestOffsetByTimestampRequest, } from "./mappers/participant-party-management-mapper.js";
23
24
  import { mapGrpcListPendingOperations, mapGrpcListPendingOperationsRequest, } from "./mappers/participant-repair-mapper.js";
24
25
  import { mapGrpcGetNoWaitCommitmentsFrom, mapGrpcGetNoWaitCommitmentsFromRequest, mapGrpcGetParticipantPruningSchedule, mapGrpcGetParticipantPruningScheduleRequest, mapGrpcGetPruningSchedule, mapGrpcGetPruningScheduleRequest, mapGrpcGetSafePruningOffset, mapGrpcGetSafePruningOffsetRequest, } from "./mappers/pruning-mapper.js";
25
26
  import { mapGrpcGetSynchronizerId, mapGrpcGetSynchronizerIdRequest, mapGrpcListConnectedSynchronizers, mapGrpcListConnectedSynchronizersRequest, mapGrpcListRegisteredSynchronizers, mapGrpcListRegisteredSynchronizersRequest, } from "./mappers/synchronizer-connectivity-mapper.js";
@@ -30,6 +31,7 @@ import { mapGrpcListKeyOwnersRequest, mapGrpcListKeyOwnersResponse, mapGrpcTopol
30
31
  import { mapGrpcGetResourceLimits, mapGrpcGetResourceLimitsRequest, } from "./mappers/resource-management-mapper.js";
31
32
  import { mapGrpcGetConnectedSynchronizers, mapGrpcGetConnectedSynchronizersRequest, mapGrpcGetLatestPrunedOffsets, mapGrpcGetLatestPrunedOffsetsRequest, mapGrpcGetLedgerEnd, mapGrpcGetLedgerEndRequest, } from "./mappers/state-read-mapper.js";
32
33
  import { mapGrpcListAllRequest, mapGrpcListAllResponse, mapGrpcListAllV2Request, mapGrpcListAllV2Response, mapGrpcListAvailableStoresRequest, mapGrpcListAvailableStoresResponse, mapGrpcListDecentralizedNamespaceDefinitionRequest, mapGrpcListDecentralizedNamespaceDefinitionResponse, mapGrpcListLsuAnnouncementRequest, mapGrpcListLsuAnnouncementResponse, mapGrpcListLsuSequencerConnectionSuccessorRequest, mapGrpcListLsuSequencerConnectionSuccessorResponse, mapGrpcListMediatorSynchronizerStateRequest, mapGrpcListMediatorSynchronizerStateResponse, mapGrpcListNamespaceDelegationRequest, mapGrpcListNamespaceDelegationResponse, mapGrpcListOwnerToKeyMappingRequest, mapGrpcListOwnerToKeyMappingResponse, mapGrpcListParticipantSynchronizerPermissionRequest, mapGrpcListParticipantSynchronizerPermissionResponse, mapGrpcListPartyHostingLimitsRequest, mapGrpcListPartyHostingLimitsResponse, mapGrpcListPartyToKeyMappingRequest, mapGrpcListPartyToKeyMappingResponse, mapGrpcListPartyToParticipantRequest, mapGrpcListPartyToParticipantResponse, mapGrpcListSequencerSynchronizerStateRequest, mapGrpcListSequencerSynchronizerStateResponse, mapGrpcListSequencingParametersStateRequest, mapGrpcListSequencingParametersStateResponse, mapGrpcListSynchronizerParametersStateRequest, mapGrpcListSynchronizerParametersStateResponse, mapGrpcListSynchronizerTrustCertificateRequest, mapGrpcListSynchronizerTrustCertificateResponse, mapGrpcTopologyListVettedPackagesRequest, mapGrpcTopologyListVettedPackagesResponse, } from "./mappers/topology-manager-read-mapper.js";
34
+ import { mapGrpcAddTopologyTransactionsRequest, mapGrpcAddTopologyTransactionsResponse, mapGrpcAuthorizeTopologyTransactionsRequest, mapGrpcAuthorizeTopologyTransactionsResponse, mapGrpcCreateTemporaryTopologyStoreRequest, mapGrpcCreateTemporaryTopologyStoreResponse, mapGrpcDropTemporaryTopologyStoreRequest, mapGrpcDropTemporaryTopologyStoreResponse, mapGrpcGenerateTopologyTransactionsRequest, mapGrpcGenerateTopologyTransactionsResponse, mapGrpcImportTopologySnapshotRequest, mapGrpcImportTopologySnapshotResponse, mapGrpcImportTopologySnapshotV2Request, mapGrpcImportTopologySnapshotV2Response, mapGrpcSignTopologyTransactionsRequest, mapGrpcSignTopologyTransactionsResponse, } from "./mappers/topology-manager-write-mapper.js";
33
35
  import { mapGrpcGetUser, mapGrpcGetUserRequest, mapGrpcGrantUserRights, mapGrpcGrantUserRightsRequest, mapGrpcListUserRights, mapGrpcListUserRightsRequest, mapGrpcListUsers, mapGrpcListUsersRequest, } from "./mappers/users-mapper.js";
34
36
  import { mapGrpcHealthCheckResponse } from "./mappers/health-mapper.js";
35
37
  import { ObjectDisposedError } from "../../core/errors/object-disposed-error.js";
@@ -83,6 +85,16 @@ export class GrpcTransport {
83
85
  nextPageToken: response.nextPageToken,
84
86
  });
85
87
  }
88
+ async generateExternalPartyTopologyAsync(request, options) {
89
+ this.throwIfDisposed();
90
+ const payload = await this.operations.generateExternalPartyTopologyAsync(mapGrpcGenerateExternalPartyTopologyRequest(request), options);
91
+ return mapGrpcGenerateExternalPartyTopologyResponse(payload);
92
+ }
93
+ async allocateExternalPartyAsync(request, options) {
94
+ this.throwIfDisposed();
95
+ const payload = await this.operations.allocateExternalPartyAsync(mapGrpcAllocateExternalPartyRequest(request), options);
96
+ return mapGrpcAllocateExternalPartyResponse(payload);
97
+ }
86
98
  async getParticipantIdAsync(request, options) {
87
99
  this.throwIfDisposed();
88
100
  const payload = await this.operations.getParticipantIdAsync(mapGrpcGetParticipantIdRequest(request), options);
@@ -243,6 +255,16 @@ export class GrpcTransport {
243
255
  const payload = await this.operations.lookupReceivedAcsCommitmentsAsync(mapGrpcLookupReceivedAcsCommitmentsRequest(request), options);
244
256
  return mapGrpcLookupReceivedAcsCommitments(payload);
245
257
  }
258
+ async addPartyAsync(request, options) {
259
+ this.throwIfDisposed();
260
+ const payload = await this.operations.addPartyAsync(mapGrpcAddPartyAsyncRequest(request), options);
261
+ return mapGrpcAddPartyAsyncResponse(payload);
262
+ }
263
+ async clearPartyOnboardingFlagAsync(request, options) {
264
+ this.throwIfDisposed();
265
+ const payload = await this.operations.clearPartyOnboardingFlagAsync(mapGrpcClearPartyOnboardingFlagRequest(request), options);
266
+ return mapGrpcClearPartyOnboardingFlagResponse(payload);
267
+ }
246
268
  async getHighestOffsetByTimestampAsync(request, options) {
247
269
  this.throwIfDisposed();
248
270
  const payload = await this.operations.getHighestOffsetByTimestampAsync(mapGrpcGetHighestOffsetByTimestampRequest(request), options);
@@ -354,6 +376,46 @@ export class GrpcTransport {
354
376
  const payload = await this.operations.listParticipantSynchronizerPermissionAsync(mapGrpcListParticipantSynchronizerPermissionRequest(request), options);
355
377
  return mapGrpcListParticipantSynchronizerPermissionResponse(payload);
356
378
  }
379
+ async authorizeTopologyTransactionsAsync(request, options) {
380
+ this.throwIfDisposed();
381
+ const payload = await this.operations.authorizeTopologyTransactionsAsync(mapGrpcAuthorizeTopologyTransactionsRequest(request), options);
382
+ return mapGrpcAuthorizeTopologyTransactionsResponse(payload);
383
+ }
384
+ async addTopologyTransactionsAsync(request, options) {
385
+ this.throwIfDisposed();
386
+ const payload = await this.operations.addTopologyTransactionsAsync(mapGrpcAddTopologyTransactionsRequest(request), options);
387
+ return mapGrpcAddTopologyTransactionsResponse(payload);
388
+ }
389
+ async importTopologySnapshotAsync(request, options) {
390
+ this.throwIfDisposed();
391
+ const payload = await this.operations.importTopologySnapshotAsync(mapGrpcImportTopologySnapshotRequest(request), options);
392
+ return mapGrpcImportTopologySnapshotResponse(payload);
393
+ }
394
+ async importTopologySnapshotV2Async(request, options) {
395
+ this.throwIfDisposed();
396
+ const payload = await this.operations.importTopologySnapshotV2Async(mapGrpcImportTopologySnapshotV2Request(request), options);
397
+ return mapGrpcImportTopologySnapshotV2Response(payload);
398
+ }
399
+ async signTopologyTransactionsAsync(request, options) {
400
+ this.throwIfDisposed();
401
+ const payload = await this.operations.signTopologyTransactionsAsync(mapGrpcSignTopologyTransactionsRequest(request), options);
402
+ return mapGrpcSignTopologyTransactionsResponse(payload);
403
+ }
404
+ async generateTopologyTransactionsAsync(request, options) {
405
+ this.throwIfDisposed();
406
+ const payload = await this.operations.generateTopologyTransactionsAsync(mapGrpcGenerateTopologyTransactionsRequest(request), options);
407
+ return mapGrpcGenerateTopologyTransactionsResponse(payload);
408
+ }
409
+ async createTemporaryTopologyStoreAsync(request, options) {
410
+ this.throwIfDisposed();
411
+ const payload = await this.operations.createTemporaryTopologyStoreAsync(mapGrpcCreateTemporaryTopologyStoreRequest(request), options);
412
+ return mapGrpcCreateTemporaryTopologyStoreResponse(payload);
413
+ }
414
+ async dropTemporaryTopologyStoreAsync(request, options) {
415
+ this.throwIfDisposed();
416
+ const payload = await this.operations.dropTemporaryTopologyStoreAsync(mapGrpcDropTemporaryTopologyStoreRequest(request), options);
417
+ return mapGrpcDropTemporaryTopologyStoreResponse(payload);
418
+ }
357
419
  async listPartyHostingLimitsAsync(request, options) {
358
420
  this.throwIfDisposed();
359
421
  const payload = await this.operations.listPartyHostingLimitsAsync(mapGrpcListPartyHostingLimitsRequest(request), options);
@@ -435,10 +497,19 @@ export class GrpcTransport {
435
497
  const payload = await this.operations.queryContractsAsync(mapGrpcQueryContractsRequest({
436
498
  party: request.party,
437
499
  templateId: request.templateId,
500
+ interfaceId: request.interfaceId,
501
+ includeInterfaceView: request.includeInterfaceView,
502
+ includeCreatedEventBlob: request.includeCreatedEventBlob,
503
+ activeAtOffset: request.activeAtOffset,
504
+ maxPageSize: request.maxPageSize,
505
+ pageToken: request.pageToken,
438
506
  }), options);
439
507
  const response = mapGrpcQueryContracts(payload);
508
+ const pagePayload = payload;
440
509
  return new GetActiveContractsPageResponse({
441
510
  contracts: response.contracts,
511
+ activeAtOffset: pagePayload.activeAtOffset,
512
+ nextPageToken: pagePayload.nextPageToken,
442
513
  });
443
514
  }
444
515
  async getConnectedSynchronizersAsync(request, options) {
@@ -7,6 +7,12 @@ import { GetActiveContractsPageRequest } from "../generated/canton/com/daml/ledg
7
7
  export declare function mapGrpcQueryContractsRequest(request: {
8
8
  party: string;
9
9
  templateId?: string;
10
+ interfaceId?: string;
11
+ includeInterfaceView?: boolean;
12
+ includeCreatedEventBlob?: boolean;
13
+ activeAtOffset?: string;
14
+ maxPageSize?: number;
15
+ pageToken?: Uint8Array;
10
16
  }): GetActiveContractsPageRequest;
11
17
  export declare function mapGrpcQueryContracts(payload: {
12
18
  contracts?: unknown[];
@@ -3,7 +3,10 @@ import { GetContractResponse } from "../../../core/types/responses/get-contract-
3
3
  import { QueryContractsResponse } from "../../../core/types/responses/query-contracts-response.js";
4
4
  export function mapGrpcQueryContractsRequest(request) {
5
5
  return {
6
- eventFormat: createEventFormat(request.party, request.templateId),
6
+ activeAtOffset: request.activeAtOffset,
7
+ eventFormat: createEventFormat(request),
8
+ maxPageSize: request.maxPageSize,
9
+ pageToken: request.pageToken,
7
10
  };
8
11
  }
9
12
  export function mapGrpcQueryContracts(payload) {
@@ -26,39 +29,57 @@ export function mapGrpcGetContract(payload) {
26
29
  createdEvent: payload.createdEvent,
27
30
  });
28
31
  }
29
- function createEventFormat(party, templateId) {
32
+ function createEventFormat(request) {
30
33
  return {
31
34
  filtersByParty: {
32
- [party]: {
33
- cumulative: [createTemplateFilter(templateId)],
34
- },
35
+ [request.party]: createFilters(request),
35
36
  },
36
37
  verbose: true,
37
38
  };
38
39
  }
39
- function createTemplateFilter(templateId) {
40
- if (!templateId) {
41
- return {
40
+ function createFilters(request) {
41
+ const cumulative = [];
42
+ const includeCreatedEventBlob = request.includeCreatedEventBlob ?? false;
43
+ if (request.templateId) {
44
+ cumulative.push({
42
45
  identifierFilter: {
43
- oneofKind: "wildcardFilter",
44
- wildcardFilter: {
45
- includeCreatedEventBlob: false,
46
+ oneofKind: "templateFilter",
47
+ templateFilter: {
48
+ templateId: parseIdentifier(request.templateId, "templateId"),
49
+ includeCreatedEventBlob,
46
50
  },
47
51
  },
48
- };
52
+ });
49
53
  }
54
+ if (request.interfaceId) {
55
+ cumulative.push({
56
+ identifierFilter: {
57
+ oneofKind: "interfaceFilter",
58
+ interfaceFilter: {
59
+ interfaceId: parseIdentifier(request.interfaceId, "interfaceId"),
60
+ includeInterfaceView: request.includeInterfaceView ?? false,
61
+ includeCreatedEventBlob,
62
+ },
63
+ },
64
+ });
65
+ }
66
+ if (cumulative.length === 0) {
67
+ cumulative.push(createWildcardFilter(includeCreatedEventBlob));
68
+ }
69
+ return { cumulative };
70
+ }
71
+ function createWildcardFilter(includeCreatedEventBlob) {
50
72
  return {
51
73
  identifierFilter: {
52
- oneofKind: "templateFilter",
53
- templateFilter: {
54
- templateId: parseTemplateIdentifier(templateId),
55
- includeCreatedEventBlob: false,
74
+ oneofKind: "wildcardFilter",
75
+ wildcardFilter: {
76
+ includeCreatedEventBlob,
56
77
  },
57
78
  },
58
79
  };
59
80
  }
60
- function parseTemplateIdentifier(templateId) {
61
- const parts = templateId.split(":");
81
+ function parseIdentifier(value, propertyName) {
82
+ const parts = value.split(":");
62
83
  if (parts.length === 2) {
63
84
  return {
64
85
  packageId: "",
@@ -73,5 +94,5 @@ function parseTemplateIdentifier(templateId) {
73
94
  entityName: parts[2],
74
95
  };
75
96
  }
76
- throw new ValidationError(`templateId must be '<module>:<entity>' or '<package>:<module>:<entity>', but was '${templateId}'.`);
97
+ throw new ValidationError(`${propertyName} must be '<module>:<entity>' or '<package>:<module>:<entity>', but was '${value}'.`);
77
98
  }
@@ -0,0 +1,9 @@
1
+ import { AllocateExternalPartyRequest as SdkAllocateExternalPartyRequest } from "../../../core/types/requests/allocate-external-party-request.js";
2
+ import { GenerateExternalPartyTopologyRequest as SdkGenerateExternalPartyTopologyRequest } from "../../../core/types/requests/generate-external-party-topology-request.js";
3
+ import { AllocateExternalPartyResponse as SdkAllocateExternalPartyResponse } from "../../../core/types/responses/allocate-external-party-response.js";
4
+ import { GenerateExternalPartyTopologyResponse as SdkGenerateExternalPartyTopologyResponse } from "../../../core/types/responses/generate-external-party-topology-response.js";
5
+ import { AllocateExternalPartyRequest, AllocateExternalPartyResponse, GenerateExternalPartyTopologyRequest, GenerateExternalPartyTopologyResponse } from "../generated/canton/com/daml/ledger/api/v2/admin/party_management_service.js";
6
+ export declare function mapGrpcGenerateExternalPartyTopologyRequest(request: SdkGenerateExternalPartyTopologyRequest): GenerateExternalPartyTopologyRequest;
7
+ export declare function mapGrpcGenerateExternalPartyTopologyResponse(response: GenerateExternalPartyTopologyResponse): SdkGenerateExternalPartyTopologyResponse;
8
+ export declare function mapGrpcAllocateExternalPartyRequest(request: SdkAllocateExternalPartyRequest): AllocateExternalPartyRequest;
9
+ export declare function mapGrpcAllocateExternalPartyResponse(response: AllocateExternalPartyResponse): SdkAllocateExternalPartyResponse;