@distrohelena/canton-typescript-sdk 0.1.0 → 0.1.1

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 (104) hide show
  1. package/README.md +60 -0
  2. package/dist/client/canton-client.d.ts +2 -0
  3. package/dist/client/canton-client.js +2 -0
  4. package/dist/client/service-registry.d.ts +2 -0
  5. package/dist/client/service-registry.js +104 -0
  6. package/dist/core/transports/transport.interface.d.ts +40 -0
  7. package/dist/core/types/external-party/external-party-crypto-key-format.d.ts +6 -0
  8. package/dist/core/types/external-party/external-party-crypto-key-format.js +7 -0
  9. package/dist/core/types/external-party/external-party-onboarding-transaction.d.ts +9 -0
  10. package/dist/core/types/external-party/external-party-onboarding-transaction.js +8 -0
  11. package/dist/core/types/external-party/external-party-signature-format.d.ts +7 -0
  12. package/dist/core/types/external-party/external-party-signature-format.js +8 -0
  13. package/dist/core/types/external-party/external-party-signature.d.ts +14 -0
  14. package/dist/core/types/external-party/external-party-signature.js +16 -0
  15. package/dist/core/types/external-party/external-party-signing-algorithm-spec.d.ts +7 -0
  16. package/dist/core/types/external-party/external-party-signing-algorithm-spec.js +8 -0
  17. package/dist/core/types/external-party/external-party-signing-key-spec.d.ts +8 -0
  18. package/dist/core/types/external-party/external-party-signing-key-spec.js +9 -0
  19. package/dist/core/types/external-party/external-party-signing-public-key.d.ts +12 -0
  20. package/dist/core/types/external-party/external-party-signing-public-key.js +12 -0
  21. package/dist/core/types/requests/add-topology-transactions-request.d.ts +16 -0
  22. package/dist/core/types/requests/add-topology-transactions-request.js +12 -0
  23. package/dist/core/types/requests/allocate-external-party-request.d.ts +18 -0
  24. package/dist/core/types/requests/allocate-external-party-request.js +16 -0
  25. package/dist/core/types/requests/assemble-signed-topology-transactions-request.d.ts +10 -0
  26. package/dist/core/types/requests/assemble-signed-topology-transactions-request.js +8 -0
  27. package/dist/core/types/requests/authorize-topology-transactions-request.d.ts +37 -0
  28. package/dist/core/types/requests/authorize-topology-transactions-request.js +35 -0
  29. package/dist/core/types/requests/create-temporary-topology-store-request.d.ts +8 -0
  30. package/dist/core/types/requests/create-temporary-topology-store-request.js +8 -0
  31. package/dist/core/types/requests/drop-temporary-topology-store-request.d.ts +7 -0
  32. package/dist/core/types/requests/drop-temporary-topology-store-request.js +6 -0
  33. package/dist/core/types/requests/generate-external-party-topology-request.d.ts +19 -0
  34. package/dist/core/types/requests/generate-external-party-topology-request.js +21 -0
  35. package/dist/core/types/requests/generate-topology-transactions-request.d.ts +26 -0
  36. package/dist/core/types/requests/generate-topology-transactions-request.js +22 -0
  37. package/dist/core/types/requests/import-topology-snapshot-request.d.ts +12 -0
  38. package/dist/core/types/requests/import-topology-snapshot-request.js +10 -0
  39. package/dist/core/types/requests/import-topology-snapshot-v2-request.d.ts +12 -0
  40. package/dist/core/types/requests/import-topology-snapshot-v2-request.js +10 -0
  41. package/dist/core/types/requests/sign-topology-transactions-request.d.ts +15 -0
  42. package/dist/core/types/requests/sign-topology-transactions-request.js +12 -0
  43. package/dist/core/types/responses/add-topology-transactions-response.d.ts +3 -0
  44. package/dist/core/types/responses/add-topology-transactions-response.js +5 -0
  45. package/dist/core/types/responses/allocate-external-party-response.d.ts +6 -0
  46. package/dist/core/types/responses/allocate-external-party-response.js +6 -0
  47. package/dist/core/types/responses/authorize-topology-transactions-response.d.ts +7 -0
  48. package/dist/core/types/responses/authorize-topology-transactions-response.js +6 -0
  49. package/dist/core/types/responses/create-temporary-topology-store-response.d.ts +7 -0
  50. package/dist/core/types/responses/create-temporary-topology-store-response.js +6 -0
  51. package/dist/core/types/responses/drop-temporary-topology-store-response.d.ts +3 -0
  52. package/dist/core/types/responses/drop-temporary-topology-store-response.js +5 -0
  53. package/dist/core/types/responses/generate-external-party-topology-response.d.ts +12 -0
  54. package/dist/core/types/responses/generate-external-party-topology-response.js +12 -0
  55. package/dist/core/types/responses/generate-topology-transactions-response.d.ts +7 -0
  56. package/dist/core/types/responses/generate-topology-transactions-response.js +6 -0
  57. package/dist/core/types/responses/import-topology-snapshot-response.d.ts +3 -0
  58. package/dist/core/types/responses/import-topology-snapshot-response.js +5 -0
  59. package/dist/core/types/responses/import-topology-snapshot-v2-response.d.ts +3 -0
  60. package/dist/core/types/responses/import-topology-snapshot-v2-response.js +5 -0
  61. package/dist/core/types/responses/sign-topology-transactions-response.d.ts +7 -0
  62. package/dist/core/types/responses/sign-topology-transactions-response.js +6 -0
  63. package/dist/core/types/topology/external-topology-signature.d.ts +18 -0
  64. package/dist/core/types/topology/external-topology-signature.js +16 -0
  65. package/dist/core/types/topology/generated-topology-transaction.d.ts +8 -0
  66. package/dist/core/types/topology/generated-topology-transaction.js +8 -0
  67. package/dist/core/types/topology/multi-topology-transaction-signature.d.ts +9 -0
  68. package/dist/core/types/topology/multi-topology-transaction-signature.js +8 -0
  69. package/dist/core/types/topology/prepared-topology-transaction.d.ts +10 -0
  70. package/dist/core/types/topology/prepared-topology-transaction.js +10 -0
  71. package/dist/core/types/topology/signed-topology-transaction.d.ts +14 -0
  72. package/dist/core/types/topology/signed-topology-transaction.js +14 -0
  73. package/dist/core/types/topology/topology-force-flag.d.ts +8 -0
  74. package/dist/core/types/topology/topology-force-flag.js +9 -0
  75. package/dist/core/types/topology/topology-mapping.d.ts +16 -0
  76. package/dist/core/types/topology/topology-mapping.js +1 -0
  77. package/dist/core/types/topology/topology-signature-delegation.d.ts +18 -0
  78. package/dist/core/types/topology/topology-signature-delegation.js +20 -0
  79. package/dist/core/types/topology/topology-signature-format.d.ts +3 -0
  80. package/dist/core/types/topology/topology-signature-format.js +4 -0
  81. package/dist/core/types/topology/topology-transaction-signature.d.ts +15 -0
  82. package/dist/core/types/topology/topology-transaction-signature.js +14 -0
  83. package/dist/daml-lf/container/dar-archive-loader.js +9 -0
  84. package/dist/index.d.ts +41 -0
  85. package/dist/index.js +40 -0
  86. package/dist/services/party-management/party-management-service-client.d.ts +8 -0
  87. package/dist/services/party-management/party-management-service-client.js +8 -0
  88. package/dist/services/topology-manager-write/topology-manager-write-service-client.d.ts +42 -0
  89. package/dist/services/topology-manager-write/topology-manager-write-service-client.js +44 -0
  90. package/dist/services/topology-manager-write/topology-signed-transaction-assembler.d.ts +3 -0
  91. package/dist/services/topology-manager-write/topology-signed-transaction-assembler.js +78 -0
  92. package/dist/transports/grpc/grpc-channel-factory.d.ts +13 -1
  93. package/dist/transports/grpc/grpc-channel-factory.js +48 -0
  94. package/dist/transports/grpc/grpc-transport.d.ts +14 -0
  95. package/dist/transports/grpc/grpc-transport.js +52 -0
  96. package/dist/transports/grpc/mappers/external-party-management-mapper.d.ts +9 -0
  97. package/dist/transports/grpc/mappers/external-party-management-mapper.js +126 -0
  98. package/dist/transports/grpc/mappers/topology-manager-write-mapper.d.ts +33 -0
  99. package/dist/transports/grpc/mappers/topology-manager-write-mapper.js +436 -0
  100. package/dist/transports/json/json-transport.d.ts +14 -0
  101. package/dist/transports/json/json-transport.js +43 -6
  102. package/dist/transports/json/mappers/parties-mapper.d.ts +13 -2
  103. package/dist/transports/json/mappers/parties-mapper.js +15 -1
  104. package/package.json +3 -2
@@ -0,0 +1,436 @@
1
+ import { ValidationError } from "../../../core/errors/validation-error.js";
2
+ import { AddTopologyTransactionsResponse } from "../../../core/types/responses/add-topology-transactions-response.js";
3
+ import { AuthorizeTopologyTransactionsResponse } from "../../../core/types/responses/authorize-topology-transactions-response.js";
4
+ import { CreateTemporaryTopologyStoreResponse } from "../../../core/types/responses/create-temporary-topology-store-response.js";
5
+ import { DropTemporaryTopologyStoreResponse } from "../../../core/types/responses/drop-temporary-topology-store-response.js";
6
+ import { GenerateTopologyTransactionsResponse } from "../../../core/types/responses/generate-topology-transactions-response.js";
7
+ import { ImportTopologySnapshotResponse } from "../../../core/types/responses/import-topology-snapshot-response.js";
8
+ import { ImportTopologySnapshotV2Response } from "../../../core/types/responses/import-topology-snapshot-v2-response.js";
9
+ import { SignTopologyTransactionsResponse } from "../../../core/types/responses/sign-topology-transactions-response.js";
10
+ import { GeneratedTopologyTransaction } from "../../../core/types/topology/generated-topology-transaction.js";
11
+ import { MultiTopologyTransactionSignature } from "../../../core/types/topology/multi-topology-transaction-signature.js";
12
+ import { PartyToParticipant, PartyToParticipantOnboarding, } from "../../../core/types/topology/party-to-participant.js";
13
+ import { SignedTopologyTransaction } from "../../../core/types/topology/signed-topology-transaction.js";
14
+ import { TopologyForceFlag } from "../../../core/types/topology/topology-force-flag.js";
15
+ import { TopologySignatureDelegation } from "../../../core/types/topology/topology-signature-delegation.js";
16
+ import { TopologyStoreTemporary } from "../../../core/types/topology/topology-store-id.js";
17
+ import { TopologyTransactionSignature } from "../../../core/types/topology/topology-transaction-signature.js";
18
+ import { CryptoKeyFormat, SignatureFormat as GrpcSignatureFormat, SigningAlgorithmSpec, SigningKeySpec, SigningKeyUsage, } from "../generated/canton/com/digitalasset/canton/crypto/v30/crypto.js";
19
+ import { ForceFlag, } from "../generated/canton/com/digitalasset/canton/topology/admin/v30/topology_manager_write_service.js";
20
+ import { Enums_ParticipantPermission, } from "../generated/canton/com/digitalasset/canton/protocol/v30/topology.js";
21
+ import { mapGrpcTopologyChangeOp, mapGrpcTopologyStoreId, } from "./topology-common-mapper.js";
22
+ export function mapGrpcGenerateTopologyTransactionsRequest(request) {
23
+ return {
24
+ proposals: request.proposals.map(mapGrpcGenerateTopologyTransactionsProposal),
25
+ };
26
+ }
27
+ export function mapGrpcGenerateTopologyTransactionsResponse(payload) {
28
+ return new GenerateTopologyTransactionsResponse({
29
+ generatedTransactions: (payload.generatedTransactions ?? []).map((item) => new GeneratedTopologyTransaction({
30
+ serializedTransaction: item.serializedTransaction,
31
+ transactionHash: item.transactionHash,
32
+ })),
33
+ });
34
+ }
35
+ export function mapGrpcAuthorizeTopologyTransactionsRequest(request) {
36
+ return {
37
+ type: request.proposal !== undefined
38
+ ? {
39
+ oneofKind: "proposal",
40
+ proposal: mapGrpcAuthorizeTopologyTransactionsProposal(request.proposal),
41
+ }
42
+ : request.transactionHash !== undefined
43
+ ? {
44
+ oneofKind: "transactionHash",
45
+ transactionHash: request.transactionHash,
46
+ }
47
+ : {
48
+ oneofKind: undefined,
49
+ },
50
+ mustFullyAuthorize: request.mustFullyAuthorize,
51
+ forceChanges: request.forceChanges.map(mapGrpcForceFlag),
52
+ signedBy: [...request.signedBy],
53
+ store: mapGrpcTopologyStoreId(request.store),
54
+ waitToBecomeEffective: mapGrpcDuration(request.waitToBecomeEffective),
55
+ };
56
+ }
57
+ export function mapGrpcAuthorizeTopologyTransactionsResponse(payload) {
58
+ return new AuthorizeTopologyTransactionsResponse({
59
+ transaction: payload.transaction === undefined
60
+ ? undefined
61
+ : mapSdkSignedTopologyTransaction(payload.transaction),
62
+ });
63
+ }
64
+ export function mapGrpcAddTopologyTransactionsRequest(request) {
65
+ return {
66
+ transactions: request.transactions.map(mapGrpcSignedTopologyTransaction),
67
+ forceChanges: request.forceChanges.map(mapGrpcForceFlag),
68
+ store: mapGrpcTopologyStoreId(request.store),
69
+ waitToBecomeEffective: mapGrpcDuration(request.waitToBecomeEffective),
70
+ };
71
+ }
72
+ export function mapGrpcAddTopologyTransactionsResponse(_payload) {
73
+ return new AddTopologyTransactionsResponse();
74
+ }
75
+ export function mapGrpcImportTopologySnapshotRequest(request) {
76
+ return {
77
+ topologySnapshot: new Uint8Array(request.topologySnapshot),
78
+ store: mapGrpcTopologyStoreId(request.store),
79
+ waitToBecomeEffective: mapGrpcDuration(request.waitToBecomeEffective),
80
+ };
81
+ }
82
+ export function mapGrpcImportTopologySnapshotResponse(_payload) {
83
+ return new ImportTopologySnapshotResponse();
84
+ }
85
+ export function mapGrpcImportTopologySnapshotV2Request(request) {
86
+ return {
87
+ topologySnapshot: new Uint8Array(request.topologySnapshot),
88
+ store: mapGrpcTopologyStoreId(request.store),
89
+ waitToBecomeEffective: mapGrpcDuration(request.waitToBecomeEffective),
90
+ };
91
+ }
92
+ export function mapGrpcImportTopologySnapshotV2Response(_payload) {
93
+ return new ImportTopologySnapshotV2Response();
94
+ }
95
+ export function mapGrpcSignTopologyTransactionsRequest(request) {
96
+ return {
97
+ transactions: request.transactions.map(mapGrpcSignedTopologyTransaction),
98
+ signedBy: [...request.signedBy],
99
+ store: mapGrpcTopologyStoreId(request.store),
100
+ forceFlags: request.forceFlags.map(mapGrpcForceFlag),
101
+ };
102
+ }
103
+ export function mapGrpcSignTopologyTransactionsResponse(payload) {
104
+ return new SignTopologyTransactionsResponse({
105
+ transactions: (payload.transactions ?? []).map(mapSdkSignedTopologyTransaction),
106
+ });
107
+ }
108
+ export function mapGrpcCreateTemporaryTopologyStoreRequest(request) {
109
+ return {
110
+ name: request.name,
111
+ protocolVersion: request.protocolVersion,
112
+ };
113
+ }
114
+ export function mapGrpcCreateTemporaryTopologyStoreResponse(payload) {
115
+ return new CreateTemporaryTopologyStoreResponse({
116
+ storeId: payload.storeId === undefined
117
+ ? undefined
118
+ : new TopologyStoreTemporary({
119
+ name: payload.storeId.name,
120
+ }),
121
+ });
122
+ }
123
+ export function mapGrpcDropTemporaryTopologyStoreRequest(request) {
124
+ return {
125
+ storeId: mapGrpcTemporaryStoreId(request.storeId),
126
+ };
127
+ }
128
+ export function mapGrpcDropTemporaryTopologyStoreResponse(_payload) {
129
+ return new DropTemporaryTopologyStoreResponse();
130
+ }
131
+ function mapGrpcGenerateTopologyTransactionsProposal(proposal) {
132
+ return {
133
+ operation: mapGrpcTopologyChangeOp(proposal.operation),
134
+ serial: proposal.serial,
135
+ mapping: mapGrpcTopologyMapping(proposal.mapping),
136
+ store: mapGrpcTopologyStoreId(proposal.store),
137
+ };
138
+ }
139
+ function mapGrpcAuthorizeTopologyTransactionsProposal(proposal) {
140
+ return {
141
+ change: mapGrpcTopologyChangeOp(proposal.operation),
142
+ serial: proposal.serial,
143
+ mapping: mapGrpcTopologyMapping(proposal.mapping),
144
+ };
145
+ }
146
+ function mapGrpcTopologyMapping(mapping) {
147
+ if (mapping === undefined) {
148
+ return undefined;
149
+ }
150
+ else if (mapping instanceof PartyToParticipant) {
151
+ return {
152
+ mapping: {
153
+ oneofKind: "partyToParticipant",
154
+ partyToParticipant: mapGrpcPartyToParticipant(mapping),
155
+ },
156
+ };
157
+ }
158
+ throw new ValidationError(`Unsupported topology write mapping type: ${mapping.constructor.name}.`);
159
+ }
160
+ function mapGrpcPartyToParticipant(value) {
161
+ return {
162
+ party: value.party,
163
+ threshold: value.threshold,
164
+ participants: value.participants.map(mapGrpcPartyToParticipantParticipant),
165
+ partySigningKeys: mapGrpcSigningKeysWithThreshold(value.partySigningKeys),
166
+ };
167
+ }
168
+ function mapGrpcPartyToParticipantParticipant(value) {
169
+ return {
170
+ participantUid: value.participantUid,
171
+ permission: mapGrpcParticipantPermission(value.permission),
172
+ onboarding: value.onboarding instanceof PartyToParticipantOnboarding
173
+ ? {}
174
+ : undefined,
175
+ };
176
+ }
177
+ function mapGrpcSigningKeysWithThreshold(value) {
178
+ if (value === undefined) {
179
+ return undefined;
180
+ }
181
+ return {
182
+ threshold: value.threshold,
183
+ keys: value.keys.map(mapGrpcSigningPublicKey),
184
+ };
185
+ }
186
+ function mapGrpcSigningPublicKey(value) {
187
+ return {
188
+ format: mapGrpcCryptoKeyFormat(value.format),
189
+ publicKey: new Uint8Array(value.publicKey),
190
+ scheme: undefined,
191
+ usage: value.usage.map(mapGrpcSigningKeyUsage),
192
+ keySpec: mapGrpcSigningKeySpec(value.keySpec),
193
+ };
194
+ }
195
+ function mapGrpcSignedTopologyTransaction(value) {
196
+ return {
197
+ transaction: new Uint8Array(value.transaction),
198
+ signatures: value.signatures.map(mapGrpcTopologyTransactionSignature),
199
+ proposal: value.proposal,
200
+ multiTransactionSignatures: value.multiTransactionSignatures.map(mapGrpcMultiTopologyTransactionSignature),
201
+ };
202
+ }
203
+ function mapSdkSignedTopologyTransaction(value) {
204
+ return new SignedTopologyTransaction({
205
+ transaction: value.transaction,
206
+ signatures: (value.signatures ?? []).map(mapSdkTopologyTransactionSignature),
207
+ proposal: value.proposal ?? false,
208
+ multiTransactionSignatures: (value.multiTransactionSignatures ?? []).map(mapSdkMultiTopologyTransactionSignature),
209
+ });
210
+ }
211
+ function mapGrpcTopologyTransactionSignature(value) {
212
+ return {
213
+ format: mapGrpcSignatureFormat(value.format),
214
+ signature: new Uint8Array(value.signature),
215
+ signedBy: value.signedByFingerprint,
216
+ signingAlgorithmSpec: mapGrpcSigningAlgorithmSpec(value.signingAlgorithmSpec),
217
+ signatureDelegation: value.signatureDelegation === undefined
218
+ ? undefined
219
+ : mapGrpcSignatureDelegation(value.signatureDelegation),
220
+ };
221
+ }
222
+ function mapSdkTopologyTransactionSignature(value) {
223
+ return new TopologyTransactionSignature({
224
+ format: mapSdkSignatureFormat(value.format),
225
+ signature: value.signature,
226
+ signedByFingerprint: value.signedBy ?? "",
227
+ signingAlgorithmSpec: mapSdkSigningAlgorithmSpec(value.signingAlgorithmSpec),
228
+ signatureDelegation: value.signatureDelegation === undefined
229
+ ? undefined
230
+ : mapSdkSignatureDelegation(value.signatureDelegation),
231
+ });
232
+ }
233
+ function mapGrpcMultiTopologyTransactionSignature(value) {
234
+ return {
235
+ transactionHashes: value.transactionHashes.map((item) => new Uint8Array(item)),
236
+ signatures: value.signatures.map(mapGrpcTopologyTransactionSignature),
237
+ };
238
+ }
239
+ function mapSdkMultiTopologyTransactionSignature(value) {
240
+ return new MultiTopologyTransactionSignature({
241
+ transactionHashes: (value.transactionHashes ?? []).map((item) => new Uint8Array(item)),
242
+ signatures: (value.signatures ?? []).map(mapSdkTopologyTransactionSignature),
243
+ });
244
+ }
245
+ function mapGrpcSignatureDelegation(value) {
246
+ return {
247
+ sessionKey: new Uint8Array(value.sessionKey),
248
+ sessionKeySpec: mapGrpcSigningKeySpec(value.sessionKeySpec),
249
+ validityPeriodFromInclusive: value.validityPeriodFromInclusive,
250
+ validityPeriodDurationSeconds: value.validityPeriodDurationSeconds,
251
+ format: mapGrpcSignatureFormat(value.format),
252
+ signature: new Uint8Array(value.signature),
253
+ signingAlgorithmSpec: mapGrpcSigningAlgorithmSpec(value.signingAlgorithmSpec),
254
+ };
255
+ }
256
+ function mapSdkSignatureDelegation(value) {
257
+ return new TopologySignatureDelegation({
258
+ sessionKey: value.sessionKey,
259
+ sessionKeySpec: mapSdkSigningKeySpec(value.sessionKeySpec),
260
+ validityPeriodFromInclusive: value.validityPeriodFromInclusive ?? "0",
261
+ validityPeriodDurationSeconds: value.validityPeriodDurationSeconds ?? 0,
262
+ format: mapSdkSignatureFormat(value.format),
263
+ signature: value.signature,
264
+ signingAlgorithmSpec: mapSdkSigningAlgorithmSpec(value.signingAlgorithmSpec),
265
+ });
266
+ }
267
+ function mapGrpcDuration(value) {
268
+ if (value === undefined) {
269
+ return undefined;
270
+ }
271
+ return {
272
+ seconds: value.seconds,
273
+ nanos: value.nanos,
274
+ };
275
+ }
276
+ function mapGrpcForceFlag(value) {
277
+ switch (value) {
278
+ case TopologyForceFlag.alienMember:
279
+ return ForceFlag.ALIEN_MEMBER;
280
+ case TopologyForceFlag.ledgerTimeRecordTimeToleranceIncrease:
281
+ return ForceFlag.LEDGER_TIME_RECORD_TIME_TOLERANCE_INCREASE;
282
+ case TopologyForceFlag.allowUnknownPackage:
283
+ return ForceFlag.ALLOW_UNKNOWN_PACKAGE;
284
+ case TopologyForceFlag.allowUnvettedDependencies:
285
+ return ForceFlag.ALLOW_UNVETTED_DEPENDENCIES;
286
+ case TopologyForceFlag.disablePartyWithActiveContracts:
287
+ return ForceFlag.DISABLE_PARTY_WITH_ACTIVE_CONTRACTS;
288
+ case TopologyForceFlag.unspecified:
289
+ default:
290
+ return ForceFlag.UNSPECIFIED;
291
+ }
292
+ }
293
+ function mapGrpcParticipantPermission(value) {
294
+ switch (value) {
295
+ case "submission":
296
+ return Enums_ParticipantPermission.SUBMISSION;
297
+ case "confirmation":
298
+ return Enums_ParticipantPermission.CONFIRMATION;
299
+ case "observation":
300
+ return Enums_ParticipantPermission.OBSERVATION;
301
+ case "unspecified":
302
+ default:
303
+ return Enums_ParticipantPermission.UNSPECIFIED;
304
+ }
305
+ }
306
+ function mapGrpcSignatureFormat(value) {
307
+ switch (value) {
308
+ case "raw":
309
+ return GrpcSignatureFormat.RAW;
310
+ case "der":
311
+ return GrpcSignatureFormat.DER;
312
+ case "concat":
313
+ return GrpcSignatureFormat.CONCAT;
314
+ case "symbolic":
315
+ return GrpcSignatureFormat.SYMBOLIC;
316
+ default:
317
+ return GrpcSignatureFormat.UNSPECIFIED;
318
+ }
319
+ }
320
+ function mapSdkSignatureFormat(value) {
321
+ switch (value) {
322
+ case GrpcSignatureFormat.RAW:
323
+ return "raw";
324
+ case GrpcSignatureFormat.DER:
325
+ return "der";
326
+ case GrpcSignatureFormat.CONCAT:
327
+ return "concat";
328
+ case GrpcSignatureFormat.SYMBOLIC:
329
+ return "symbolic";
330
+ case GrpcSignatureFormat.UNSPECIFIED:
331
+ default:
332
+ return "unspecified";
333
+ }
334
+ }
335
+ function mapGrpcSigningAlgorithmSpec(value) {
336
+ switch (value) {
337
+ case "ed25519":
338
+ return SigningAlgorithmSpec.ED25519;
339
+ case "ecDsaSha256":
340
+ return SigningAlgorithmSpec.EC_DSA_SHA_256;
341
+ case "ecDsaSha384":
342
+ return SigningAlgorithmSpec.EC_DSA_SHA_384;
343
+ case "mlDsa65":
344
+ return SigningAlgorithmSpec.ML_DSA_65;
345
+ default:
346
+ return SigningAlgorithmSpec.UNSPECIFIED;
347
+ }
348
+ }
349
+ function mapSdkSigningAlgorithmSpec(value) {
350
+ switch (value) {
351
+ case SigningAlgorithmSpec.ED25519:
352
+ return "ed25519";
353
+ case SigningAlgorithmSpec.EC_DSA_SHA_256:
354
+ return "ecDsaSha256";
355
+ case SigningAlgorithmSpec.EC_DSA_SHA_384:
356
+ return "ecDsaSha384";
357
+ case SigningAlgorithmSpec.ML_DSA_65:
358
+ return "mlDsa65";
359
+ case SigningAlgorithmSpec.UNSPECIFIED:
360
+ default:
361
+ return "unspecified";
362
+ }
363
+ }
364
+ function mapGrpcCryptoKeyFormat(value) {
365
+ switch (value) {
366
+ case "der":
367
+ return CryptoKeyFormat.DER;
368
+ case "raw":
369
+ return CryptoKeyFormat.RAW;
370
+ case "derX509SubjectPublicKeyInfo":
371
+ return CryptoKeyFormat.DER_X509_SUBJECT_PUBLIC_KEY_INFO;
372
+ case "derPkcs8PrivateKeyInfo":
373
+ return CryptoKeyFormat.DER_PKCS8_PRIVATE_KEY_INFO;
374
+ case "symbolic":
375
+ return CryptoKeyFormat.SYMBOLIC;
376
+ default:
377
+ return CryptoKeyFormat.UNSPECIFIED;
378
+ }
379
+ }
380
+ function mapGrpcSigningKeyUsage(value) {
381
+ switch (value) {
382
+ case "namespace":
383
+ return SigningKeyUsage.NAMESPACE;
384
+ case "identityDelegation":
385
+ return SigningKeyUsage.IDENTITY_DELEGATION;
386
+ case "sequencerAuthentication":
387
+ return SigningKeyUsage.SEQUENCER_AUTHENTICATION;
388
+ case "protocol":
389
+ return SigningKeyUsage.PROTOCOL;
390
+ case "proofOfOwnership":
391
+ return SigningKeyUsage.PROOF_OF_OWNERSHIP;
392
+ default:
393
+ return SigningKeyUsage.UNSPECIFIED;
394
+ }
395
+ }
396
+ function mapGrpcSigningKeySpec(value) {
397
+ switch (value) {
398
+ case "ecCurve25519":
399
+ return SigningKeySpec.EC_CURVE25519;
400
+ case "ecP256":
401
+ return SigningKeySpec.EC_P256;
402
+ case "ecP384":
403
+ return SigningKeySpec.EC_P384;
404
+ case "ecSecp256k1":
405
+ return SigningKeySpec.EC_SECP256K1;
406
+ case "mlDsa65":
407
+ return SigningKeySpec.ML_DSA_65;
408
+ default:
409
+ return SigningKeySpec.UNSPECIFIED;
410
+ }
411
+ }
412
+ function mapSdkSigningKeySpec(value) {
413
+ switch (value) {
414
+ case SigningKeySpec.EC_CURVE25519:
415
+ return "ecCurve25519";
416
+ case SigningKeySpec.EC_P256:
417
+ return "ecP256";
418
+ case SigningKeySpec.EC_P384:
419
+ return "ecP384";
420
+ case SigningKeySpec.EC_SECP256K1:
421
+ return "ecSecp256k1";
422
+ case SigningKeySpec.ML_DSA_65:
423
+ return "mlDsa65";
424
+ case SigningKeySpec.UNSPECIFIED:
425
+ default:
426
+ return "unspecified";
427
+ }
428
+ }
429
+ function mapGrpcTemporaryStoreId(value) {
430
+ if (value === undefined) {
431
+ return undefined;
432
+ }
433
+ return {
434
+ name: value.name,
435
+ };
436
+ }
@@ -1,3 +1,4 @@
1
+ import { AllocateExternalPartyRequest } from "../../core/types/requests/allocate-external-party-request.js";
1
2
  import { AllocatePartyRequest } from "../../core/types/requests/allocate-party-request.js";
2
3
  import { GetCompletionsRequest } from "../../core/types/requests/get-completions-request.js";
3
4
  import { GetConnectedSynchronizersRequest } from "../../core/types/requests/get-connected-synchronizers-request.js";
@@ -39,6 +40,7 @@ import { GrantUserRightsRequest } from "../../core/types/requests/grant-user-rig
39
40
  import { GetUpdatesRequest } from "../../core/types/requests/get-updates-request.js";
40
41
  import { GetUpdatesPageRequest } from "../../core/types/requests/get-updates-page-request.js";
41
42
  import { GetUserRequest } from "../../core/types/requests/get-user-request.js";
43
+ import { GenerateExternalPartyTopologyRequest } from "../../core/types/requests/generate-external-party-topology-request.js";
42
44
  import { HealthCheckRequest } from "../../core/types/requests/health-check-request.js";
43
45
  import { ListPackagesRequest } from "../../core/types/requests/list-packages-request.js";
44
46
  import { ListVettedPackagesRequest } from "../../core/types/requests/list-vetted-packages-request.js";
@@ -61,6 +63,7 @@ import { TrafficControlStateRequest } from "../../core/types/requests/traffic-co
61
63
  import { UploadDarFileRequest } from "../../core/types/requests/upload-dar-file-request.js";
62
64
  import { SignCommandResult } from "../../core/signing/sign-command-result.js";
63
65
  import { AllocatePartyResponse } from "../../core/types/responses/allocate-party-response.js";
66
+ import { AllocateExternalPartyResponse } from "../../core/types/responses/allocate-external-party-response.js";
64
67
  import { GetConnectedSynchronizersResponse } from "../../core/types/responses/get-connected-synchronizers-response.js";
65
68
  import { CountInFlightResponse } from "../../core/types/responses/count-in-flight-response.js";
66
69
  import { CurrentTimeResponse } from "../../core/types/responses/current-time-response.js";
@@ -98,6 +101,7 @@ import { GetUpdateByOffsetResponse } from "../../core/types/responses/get-update
98
101
  import { GetUpdatesPageResponse } from "../../core/types/responses/get-updates-page-response.js";
99
102
  import { GetUserResponse } from "../../core/types/responses/get-user-response.js";
100
103
  import { GrantUserRightsResponse } from "../../core/types/responses/grant-user-rights-response.js";
104
+ import { GenerateExternalPartyTopologyResponse } from "../../core/types/responses/generate-external-party-topology-response.js";
101
105
  import { HealthCheckResponse } from "../../core/types/responses/health-check-response.js";
102
106
  import { ListKnownPackagesResponse } from "../../core/types/responses/list-known-packages-response.js";
103
107
  import { ListDarsResponse } from "../../core/types/responses/list-dars-response.js";
@@ -139,6 +143,8 @@ export declare class JsonTransport implements ITransport {
139
143
  listKnownPartiesAsync(request: ListKnownPartiesRequest, options?: RequestOptions): Promise<ListKnownPartiesResponse>;
140
144
  getParticipantIdAsync(_request: GetParticipantIdRequest, _options?: RequestOptions): Promise<GetParticipantIdResponse>;
141
145
  getPartiesAsync(_request: GetPartiesRequest, _options?: RequestOptions): Promise<GetPartiesResponse>;
146
+ generateExternalPartyTopologyAsync(_request: GenerateExternalPartyTopologyRequest, _options?: RequestOptions): Promise<GenerateExternalPartyTopologyResponse>;
147
+ allocateExternalPartyAsync(_request: AllocateExternalPartyRequest, _options?: RequestOptions): Promise<AllocateExternalPartyResponse>;
142
148
  grantUserRightsAsync(request: GrantUserRightsRequest, options?: RequestOptions): Promise<GrantUserRightsResponse>;
143
149
  getCommandStatusAsync(_request: GetCommandStatusRequest, _options?: RequestOptions): Promise<GetCommandStatusResponse>;
144
150
  getUserAsync(_request: GetUserRequest, _options?: RequestOptions): Promise<GetUserResponse>;
@@ -188,6 +194,14 @@ export declare class JsonTransport implements ITransport {
188
194
  listPartyToKeyMappingAsync(_request: any, _options?: RequestOptions): Promise<any>;
189
195
  listSynchronizerTrustCertificateAsync(_request: any, _options?: RequestOptions): Promise<any>;
190
196
  listParticipantSynchronizerPermissionAsync(_request: any, _options?: RequestOptions): Promise<any>;
197
+ authorizeTopologyTransactionsAsync(_request: any, _options?: RequestOptions): Promise<any>;
198
+ addTopologyTransactionsAsync(_request: any, _options?: RequestOptions): Promise<any>;
199
+ importTopologySnapshotAsync(_request: any, _options?: RequestOptions): Promise<any>;
200
+ importTopologySnapshotV2Async(_request: any, _options?: RequestOptions): Promise<any>;
201
+ signTopologyTransactionsAsync(_request: any, _options?: RequestOptions): Promise<any>;
202
+ generateTopologyTransactionsAsync(_request: any, _options?: RequestOptions): Promise<any>;
203
+ createTemporaryTopologyStoreAsync(_request: any, _options?: RequestOptions): Promise<any>;
204
+ dropTemporaryTopologyStoreAsync(_request: any, _options?: RequestOptions): Promise<any>;
191
205
  listPartyHostingLimitsAsync(_request: any, _options?: RequestOptions): Promise<any>;
192
206
  topologyListVettedPackagesAsync(_request: any, _options?: RequestOptions): Promise<any>;
193
207
  listPartyToParticipantAsync(_request: any, _options?: RequestOptions): Promise<any>;
@@ -7,7 +7,7 @@ import { NotSupportedError } from "../../core/errors/not-supported-error.js";
7
7
  import { ObjectDisposedError } from "../../core/errors/object-disposed-error.js";
8
8
  import { mapJsonSubmitCommand } from "./mappers/commands-mapper.js";
9
9
  import { mapJsonUploadPackage } from "./mappers/packages-mapper.js";
10
- import { mapJsonCreateParty, mapJsonListParties } from "./mappers/parties-mapper.js";
10
+ import { mapJsonAllocatePartyRequest, mapJsonCreateParty, mapJsonListParties, } from "./mappers/parties-mapper.js";
11
11
  import { mapJsonQueryContracts } from "./mappers/contracts-mapper.js";
12
12
  import { mapJsonTransactionEvents } from "./mappers/events-mapper.js";
13
13
  import { mapJsonGrantRights } from "./mappers/users-mapper.js";
@@ -25,7 +25,7 @@ export class JsonTransport {
25
25
  }
26
26
  async getLedgerApiVersionAsync(_request, options) {
27
27
  this.throwIfDisposed();
28
- const payload = await this.httpClient.getAsync("/livez", options);
28
+ const payload = await this.httpClient.getAsync("/v2/version", options);
29
29
  return new GetLedgerApiVersionResponse({
30
30
  version: payload.version
31
31
  ?? "unknown",
@@ -37,10 +37,7 @@ export class JsonTransport {
37
37
  }
38
38
  async allocatePartyAsync(request, options) {
39
39
  this.throwIfDisposed();
40
- const payload = await this.httpClient.postAsync("/v1/parties/allocate", {
41
- identifierHint: request.partyIdHint,
42
- displayName: request.displayName,
43
- }, options);
40
+ const payload = await this.httpClient.postAsync("/v2/parties", mapJsonAllocatePartyRequest(request), options);
44
41
  const response = mapJsonCreateParty(payload);
45
42
  return new AllocatePartyResponse({
46
43
  party: response.party,
@@ -77,6 +74,14 @@ export class JsonTransport {
77
74
  this.throwIfDisposed();
78
75
  throw new NotSupportedError("PartyManagementService.GetParties is not supported by json transport");
79
76
  }
77
+ async generateExternalPartyTopologyAsync(_request, _options) {
78
+ this.throwIfDisposed();
79
+ throw new NotSupportedError("PartyManagementService.GenerateExternalPartyTopology is not supported by json transport");
80
+ }
81
+ async allocateExternalPartyAsync(_request, _options) {
82
+ this.throwIfDisposed();
83
+ throw new NotSupportedError("PartyManagementService.AllocateExternalParty is not supported by json transport");
84
+ }
80
85
  async grantUserRightsAsync(request, options) {
81
86
  this.throwIfDisposed();
82
87
  const payload = await this.httpClient.postAsync("/v1/user/rights/grant", {
@@ -287,6 +292,38 @@ export class JsonTransport {
287
292
  this.throwIfDisposed();
288
293
  throw new NotSupportedError("TopologyManagerReadService.ListParticipantSynchronizerPermission is not supported by json transport");
289
294
  }
295
+ async authorizeTopologyTransactionsAsync(_request, _options) {
296
+ this.throwIfDisposed();
297
+ throw new NotSupportedError("TopologyManagerWriteService.Authorize is not supported by json transport");
298
+ }
299
+ async addTopologyTransactionsAsync(_request, _options) {
300
+ this.throwIfDisposed();
301
+ throw new NotSupportedError("TopologyManagerWriteService.AddTransactions is not supported by json transport");
302
+ }
303
+ async importTopologySnapshotAsync(_request, _options) {
304
+ this.throwIfDisposed();
305
+ throw new NotSupportedError("TopologyManagerWriteService.ImportTopologySnapshot is not supported by json transport");
306
+ }
307
+ async importTopologySnapshotV2Async(_request, _options) {
308
+ this.throwIfDisposed();
309
+ throw new NotSupportedError("TopologyManagerWriteService.ImportTopologySnapshotV2 is not supported by json transport");
310
+ }
311
+ async signTopologyTransactionsAsync(_request, _options) {
312
+ this.throwIfDisposed();
313
+ throw new NotSupportedError("TopologyManagerWriteService.SignTransactions is not supported by json transport");
314
+ }
315
+ async generateTopologyTransactionsAsync(_request, _options) {
316
+ this.throwIfDisposed();
317
+ throw new NotSupportedError("TopologyManagerWriteService.GenerateTransactions is not supported by json transport");
318
+ }
319
+ async createTemporaryTopologyStoreAsync(_request, _options) {
320
+ this.throwIfDisposed();
321
+ throw new NotSupportedError("TopologyManagerWriteService.CreateTemporaryTopologyStore is not supported by json transport");
322
+ }
323
+ async dropTemporaryTopologyStoreAsync(_request, _options) {
324
+ this.throwIfDisposed();
325
+ throw new NotSupportedError("TopologyManagerWriteService.DropTemporaryTopologyStore is not supported by json transport");
326
+ }
290
327
  async listPartyHostingLimitsAsync(_request, _options) {
291
328
  this.throwIfDisposed();
292
329
  throw new NotSupportedError("TopologyManagerReadService.ListPartyHostingLimits is not supported by json transport");
@@ -1,11 +1,22 @@
1
1
  import { CreatePartyResponse } from "../../../core/types/responses/create-party-response.js";
2
+ import { AllocatePartyRequest } from "../../../core/types/requests/allocate-party-request.js";
2
3
  import { ListPartiesResponse } from "../../../core/types/responses/list-parties-response.js";
3
4
  export declare function mapJsonCreateParty(payload: {
4
5
  result?: {
5
- identifier?: string;
6
+ partyDetails?: {
7
+ party?: string;
8
+ };
9
+ };
10
+ partyDetails?: {
11
+ party?: string;
6
12
  };
7
- identifier?: string;
8
13
  }): CreatePartyResponse;
14
+ export declare function mapJsonAllocatePartyRequest(request: AllocatePartyRequest): {
15
+ partyIdHint?: string;
16
+ localMetadata?: {
17
+ attributes: Record<string, string>;
18
+ };
19
+ };
9
20
  export declare function mapJsonListParties(payload: {
10
21
  partyDetails?: Array<{
11
22
  party?: string;
@@ -3,9 +3,23 @@ import { ListPartiesResponse } from "../../../core/types/responses/list-parties-
3
3
  import { PartyDetails } from "../../../core/types/party-details.js";
4
4
  export function mapJsonCreateParty(payload) {
5
5
  return new CreatePartyResponse({
6
- party: payload.result?.identifier ?? payload.identifier ?? "",
6
+ party: payload.result?.partyDetails?.party
7
+ ?? payload.partyDetails?.party
8
+ ?? "",
7
9
  });
8
10
  }
11
+ export function mapJsonAllocatePartyRequest(request) {
12
+ return {
13
+ partyIdHint: request.partyIdHint,
14
+ localMetadata: request.displayName === undefined
15
+ ? undefined
16
+ : {
17
+ attributes: {
18
+ displayName: request.displayName,
19
+ },
20
+ },
21
+ };
22
+ }
9
23
  export function mapJsonListParties(payload) {
10
24
  return new ListPartiesResponse({
11
25
  partyDetails: (payload.partyDetails ?? []).map(item => new PartyDetails({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@distrohelena/canton-typescript-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -58,7 +58,8 @@
58
58
  "lint:fix": "eslint . --fix --max-warnings=0",
59
59
  "start:local-ledger": "bash node/start-local.sh",
60
60
  "stop:local-ledger": "bash node/stop-local.sh",
61
- "test": "vitest run",
61
+ "test": "vitest run --maxWorkers=1 --testTimeout=15000",
62
+ "test:live": "vitest run tests/live --maxWorkers=1 --testTimeout=15000",
62
63
  "test:unit": "vitest run tests/unit",
63
64
  "verify:pack": "node ./scripts/verify-npm-pack.mjs"
64
65
  },