@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.
- package/README.md +76 -0
- package/dist/client/canton-client.d.ts +4 -0
- package/dist/client/canton-client.js +5 -0
- package/dist/client/canton-hashing-client.d.ts +8 -0
- package/dist/client/canton-hashing-client.js +16 -0
- package/dist/client/external-party-activation-client.d.ts +15 -0
- package/dist/client/external-party-activation-client.js +126 -0
- package/dist/client/external-party-activation-request.d.ts +15 -0
- package/dist/client/external-party-activation-request.js +14 -0
- package/dist/client/external-party-activation-response.d.ts +13 -0
- package/dist/client/external-party-activation-response.js +12 -0
- package/dist/client/service-registry.d.ts +2 -0
- package/dist/client/service-registry.js +124 -0
- package/dist/core/hashing/canton-hash.d.ts +3 -0
- package/dist/core/hashing/canton-hash.js +24 -0
- package/dist/core/transports/transport.interface.d.ts +48 -0
- package/dist/core/types/canton-hash-purpose.d.ts +4 -0
- package/dist/core/types/canton-hash-purpose.js +5 -0
- package/dist/core/types/external-party/external-party-crypto-key-format.d.ts +6 -0
- package/dist/core/types/external-party/external-party-crypto-key-format.js +7 -0
- package/dist/core/types/external-party/external-party-onboarding-transaction.d.ts +9 -0
- package/dist/core/types/external-party/external-party-onboarding-transaction.js +8 -0
- package/dist/core/types/external-party/external-party-signature-format.d.ts +7 -0
- package/dist/core/types/external-party/external-party-signature-format.js +8 -0
- package/dist/core/types/external-party/external-party-signature.d.ts +14 -0
- package/dist/core/types/external-party/external-party-signature.js +16 -0
- package/dist/core/types/external-party/external-party-signing-algorithm-spec.d.ts +7 -0
- package/dist/core/types/external-party/external-party-signing-algorithm-spec.js +8 -0
- package/dist/core/types/external-party/external-party-signing-key-spec.d.ts +8 -0
- package/dist/core/types/external-party/external-party-signing-key-spec.js +9 -0
- package/dist/core/types/external-party/external-party-signing-public-key.d.ts +12 -0
- package/dist/core/types/external-party/external-party-signing-public-key.js +12 -0
- package/dist/core/types/requests/add-party-async-request.d.ts +27 -0
- package/dist/core/types/requests/add-party-async-request.js +25 -0
- package/dist/core/types/requests/add-topology-transactions-request.d.ts +16 -0
- package/dist/core/types/requests/add-topology-transactions-request.js +12 -0
- package/dist/core/types/requests/allocate-external-party-request.d.ts +18 -0
- package/dist/core/types/requests/allocate-external-party-request.js +16 -0
- package/dist/core/types/requests/assemble-signed-topology-transactions-request.d.ts +10 -0
- package/dist/core/types/requests/assemble-signed-topology-transactions-request.js +8 -0
- package/dist/core/types/requests/authorize-topology-transactions-request.d.ts +37 -0
- package/dist/core/types/requests/authorize-topology-transactions-request.js +35 -0
- package/dist/core/types/requests/clear-party-onboarding-flag-request.d.ts +13 -0
- package/dist/core/types/requests/clear-party-onboarding-flag-request.js +12 -0
- package/dist/core/types/requests/create-temporary-topology-store-request.d.ts +8 -0
- package/dist/core/types/requests/create-temporary-topology-store-request.js +8 -0
- package/dist/core/types/requests/drop-temporary-topology-store-request.d.ts +7 -0
- package/dist/core/types/requests/drop-temporary-topology-store-request.js +6 -0
- package/dist/core/types/requests/generate-external-party-topology-request.d.ts +19 -0
- package/dist/core/types/requests/generate-external-party-topology-request.js +21 -0
- package/dist/core/types/requests/generate-topology-transactions-request.d.ts +26 -0
- package/dist/core/types/requests/generate-topology-transactions-request.js +22 -0
- package/dist/core/types/requests/get-active-contracts-page-request.d.ts +12 -0
- package/dist/core/types/requests/get-active-contracts-page-request.js +12 -0
- package/dist/core/types/requests/import-topology-snapshot-request.d.ts +12 -0
- package/dist/core/types/requests/import-topology-snapshot-request.js +10 -0
- package/dist/core/types/requests/import-topology-snapshot-v2-request.d.ts +12 -0
- package/dist/core/types/requests/import-topology-snapshot-v2-request.js +10 -0
- package/dist/core/types/requests/sign-topology-transactions-request.d.ts +15 -0
- package/dist/core/types/requests/sign-topology-transactions-request.js +12 -0
- package/dist/core/types/responses/add-party-async-response.d.ts +6 -0
- package/dist/core/types/responses/add-party-async-response.js +6 -0
- package/dist/core/types/responses/add-topology-transactions-response.d.ts +3 -0
- package/dist/core/types/responses/add-topology-transactions-response.js +5 -0
- package/dist/core/types/responses/allocate-external-party-response.d.ts +6 -0
- package/dist/core/types/responses/allocate-external-party-response.js +6 -0
- package/dist/core/types/responses/authorize-topology-transactions-response.d.ts +7 -0
- package/dist/core/types/responses/authorize-topology-transactions-response.js +6 -0
- package/dist/core/types/responses/clear-party-onboarding-flag-response.d.ts +8 -0
- package/dist/core/types/responses/clear-party-onboarding-flag-response.js +8 -0
- package/dist/core/types/responses/create-temporary-topology-store-response.d.ts +7 -0
- package/dist/core/types/responses/create-temporary-topology-store-response.js +6 -0
- package/dist/core/types/responses/drop-temporary-topology-store-response.d.ts +3 -0
- package/dist/core/types/responses/drop-temporary-topology-store-response.js +5 -0
- package/dist/core/types/responses/generate-external-party-topology-response.d.ts +12 -0
- package/dist/core/types/responses/generate-external-party-topology-response.js +12 -0
- package/dist/core/types/responses/generate-topology-transactions-response.d.ts +7 -0
- package/dist/core/types/responses/generate-topology-transactions-response.js +6 -0
- package/dist/core/types/responses/get-active-contracts-page-response.d.ts +4 -0
- package/dist/core/types/responses/get-active-contracts-page-response.js +4 -0
- package/dist/core/types/responses/import-topology-snapshot-response.d.ts +3 -0
- package/dist/core/types/responses/import-topology-snapshot-response.js +5 -0
- package/dist/core/types/responses/import-topology-snapshot-v2-response.d.ts +3 -0
- package/dist/core/types/responses/import-topology-snapshot-v2-response.js +5 -0
- package/dist/core/types/responses/sign-topology-transactions-response.d.ts +7 -0
- package/dist/core/types/responses/sign-topology-transactions-response.js +6 -0
- package/dist/core/types/topology/external-topology-signature.d.ts +18 -0
- package/dist/core/types/topology/external-topology-signature.js +16 -0
- package/dist/core/types/topology/generated-topology-transaction.d.ts +8 -0
- package/dist/core/types/topology/generated-topology-transaction.js +8 -0
- package/dist/core/types/topology/multi-topology-transaction-signature.d.ts +9 -0
- package/dist/core/types/topology/multi-topology-transaction-signature.js +8 -0
- package/dist/core/types/topology/prepared-topology-transaction.d.ts +10 -0
- package/dist/core/types/topology/prepared-topology-transaction.js +10 -0
- package/dist/core/types/topology/signed-topology-transaction.d.ts +14 -0
- package/dist/core/types/topology/signed-topology-transaction.js +14 -0
- package/dist/core/types/topology/topology-force-flag.d.ts +8 -0
- package/dist/core/types/topology/topology-force-flag.js +9 -0
- package/dist/core/types/topology/topology-mapping.d.ts +16 -0
- package/dist/core/types/topology/topology-mapping.js +1 -0
- package/dist/core/types/topology/topology-public-key.d.ts +4 -0
- package/dist/core/types/topology/topology-public-key.js +4 -0
- package/dist/core/types/topology/topology-signature-delegation.d.ts +18 -0
- package/dist/core/types/topology/topology-signature-delegation.js +20 -0
- package/dist/core/types/topology/topology-signature-format.d.ts +3 -0
- package/dist/core/types/topology/topology-signature-format.js +4 -0
- package/dist/core/types/topology/topology-transaction-signature.d.ts +15 -0
- package/dist/core/types/topology/topology-transaction-signature.js +14 -0
- package/dist/daml-lf/container/dar-archive-loader.js +9 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.js +50 -0
- package/dist/services/participant-party-management/participant-party-management-service-client.d.ts +8 -0
- package/dist/services/participant-party-management/participant-party-management-service-client.js +8 -0
- package/dist/services/party-management/party-management-service-client.d.ts +8 -0
- package/dist/services/party-management/party-management-service-client.js +8 -0
- package/dist/services/state/state-service-client.d.ts +1 -1
- package/dist/services/state/state-service-client.js +1 -1
- package/dist/services/topology-manager-write/topology-manager-write-service-client.d.ts +42 -0
- package/dist/services/topology-manager-write/topology-manager-write-service-client.js +44 -0
- package/dist/services/topology-manager-write/topology-signed-transaction-assembler.d.ts +3 -0
- package/dist/services/topology-manager-write/topology-signed-transaction-assembler.js +78 -0
- package/dist/transports/grpc/grpc-channel-factory.d.ts +16 -2
- package/dist/transports/grpc/grpc-channel-factory.js +56 -0
- package/dist/transports/grpc/grpc-transport.d.ts +20 -0
- package/dist/transports/grpc/grpc-transport.js +72 -1
- package/dist/transports/grpc/mappers/contracts-mapper.d.ts +6 -0
- package/dist/transports/grpc/mappers/contracts-mapper.js +40 -19
- package/dist/transports/grpc/mappers/external-party-management-mapper.d.ts +9 -0
- package/dist/transports/grpc/mappers/external-party-management-mapper.js +126 -0
- package/dist/transports/grpc/mappers/participant-party-management-mapper.d.ts +9 -2
- package/dist/transports/grpc/mappers/participant-party-management-mapper.js +56 -1
- package/dist/transports/grpc/mappers/topology-common-mapper.js +3 -0
- package/dist/transports/grpc/mappers/topology-manager-write-mapper.d.ts +33 -0
- package/dist/transports/grpc/mappers/topology-manager-write-mapper.js +451 -0
- package/dist/transports/json/json-transport.d.ts +20 -0
- package/dist/transports/json/json-transport.js +59 -6
- package/dist/transports/json/mappers/parties-mapper.d.ts +13 -2
- package/dist/transports/json/mappers/parties-mapper.js +15 -1
- 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
|
-
|
|
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(
|
|
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
|
|
40
|
-
|
|
41
|
-
|
|
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: "
|
|
44
|
-
|
|
45
|
-
|
|
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: "
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
includeCreatedEventBlob: false,
|
|
74
|
+
oneofKind: "wildcardFilter",
|
|
75
|
+
wildcardFilter: {
|
|
76
|
+
includeCreatedEventBlob,
|
|
56
77
|
},
|
|
57
78
|
},
|
|
58
79
|
};
|
|
59
80
|
}
|
|
60
|
-
function
|
|
61
|
-
const parts =
|
|
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(
|
|
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;
|