@fairmint/canton-node-sdk 0.0.210 → 0.0.211

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 (29) hide show
  1. package/build/src/utils/amulet/external-party-transfer-offer.d.ts +73 -0
  2. package/build/src/utils/amulet/external-party-transfer-offer.d.ts.map +1 -0
  3. package/build/src/utils/amulet/external-party-transfer-offer.js +308 -0
  4. package/build/src/utils/amulet/external-party-transfer-offer.js.map +1 -0
  5. package/build/src/utils/amulet/index.d.ts +1 -0
  6. package/build/src/utils/amulet/index.d.ts.map +1 -1
  7. package/build/src/utils/amulet/index.js +1 -0
  8. package/build/src/utils/amulet/index.js.map +1 -1
  9. package/build/src/utils/canton-response-utils.d.ts +3 -0
  10. package/build/src/utils/canton-response-utils.d.ts.map +1 -0
  11. package/build/src/utils/canton-response-utils.js +18 -0
  12. package/build/src/utils/canton-response-utils.js.map +1 -0
  13. package/build/src/utils/external-signing/canton-protocol.d.ts +57 -0
  14. package/build/src/utils/external-signing/canton-protocol.d.ts.map +1 -0
  15. package/build/src/utils/external-signing/canton-protocol.js +339 -0
  16. package/build/src/utils/external-signing/canton-protocol.js.map +1 -0
  17. package/build/src/utils/external-signing/execute-external-transaction.d.ts +11 -0
  18. package/build/src/utils/external-signing/execute-external-transaction.d.ts.map +1 -1
  19. package/build/src/utils/external-signing/execute-external-transaction.js +24 -2
  20. package/build/src/utils/external-signing/execute-external-transaction.js.map +1 -1
  21. package/build/src/utils/external-signing/external-party-onboarding.d.ts +65 -0
  22. package/build/src/utils/external-signing/external-party-onboarding.d.ts.map +1 -0
  23. package/build/src/utils/external-signing/external-party-onboarding.js +249 -0
  24. package/build/src/utils/external-signing/external-party-onboarding.js.map +1 -0
  25. package/build/src/utils/external-signing/index.d.ts +2 -0
  26. package/build/src/utils/external-signing/index.d.ts.map +1 -1
  27. package/build/src/utils/external-signing/index.js +2 -0
  28. package/build/src/utils/external-signing/index.js.map +1 -1
  29. package/package.json +1 -1
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CANTON_IDENTITY_PROVIDER_ID = exports.CANTON_ED25519_SIGNATURE_ALGORITHM = exports.CANTON_RAW_SIGNATURE_FORMAT = exports.CANTON_EC_CURVE25519_PUBLIC_KEY_SPEC = exports.CANTON_DER_X509_PUBLIC_KEY_FORMAT = void 0;
4
+ exports.prepareExternalPartyOnboarding = prepareExternalPartyOnboarding;
5
+ exports.submitExternalPartyOnboarding = submitExternalPartyOnboarding;
6
+ exports.listExternalPartyIdsForPublicKey = listExternalPartyIdsForPublicKey;
7
+ exports.getExternalPartyIdForHintAndPublicKey = getExternalPartyIdForHintAndPublicKey;
8
+ const errors_1 = require("../../core/errors");
9
+ const utils_1 = require("../../core/utils");
10
+ const canton_response_utils_1 = require("../canton-response-utils");
11
+ const allocate_external_party_1 = require("./allocate-external-party");
12
+ const canton_protocol_1 = require("./canton-protocol");
13
+ const generate_external_party_1 = require("./generate-external-party");
14
+ exports.CANTON_DER_X509_PUBLIC_KEY_FORMAT = 'CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO';
15
+ exports.CANTON_EC_CURVE25519_PUBLIC_KEY_SPEC = 'SIGNING_KEY_SPEC_EC_CURVE25519';
16
+ exports.CANTON_RAW_SIGNATURE_FORMAT = 'SIGNATURE_FORMAT_RAW';
17
+ exports.CANTON_ED25519_SIGNATURE_ALGORITHM = 'SIGNING_ALGORITHM_SPEC_ED25519';
18
+ exports.DEFAULT_CANTON_IDENTITY_PROVIDER_ID = '';
19
+ /**
20
+ * Prepares external-party topology for a raw or DER-wrapped Ed25519 public key.
21
+ *
22
+ * The caller should ask the end-user wallet to sign `multiHashHex` before calling {@link submitExternalPartyOnboarding}.
23
+ */
24
+ async function prepareExternalPartyOnboarding(options) {
25
+ validateRequiredString('synchronizerId', options.synchronizerId);
26
+ validateRequiredString('partyHint', options.partyHint);
27
+ const topology = await (0, generate_external_party_1.generateExternalPartyTopology)({
28
+ ledgerClient: options.ledgerClient,
29
+ synchronizerId: options.synchronizerId,
30
+ partyHint: options.partyHint,
31
+ publicKey: {
32
+ format: exports.CANTON_DER_X509_PUBLIC_KEY_FORMAT,
33
+ keyData: (0, canton_protocol_1.normalizeEd25519PublicKeyForCanton)(options.publicKeyBase64),
34
+ keySpec: exports.CANTON_EC_CURVE25519_PUBLIC_KEY_SPEC,
35
+ },
36
+ });
37
+ const partyId = (0, canton_response_utils_1.readRequiredString)(topology, 'partyId', 'topology generation');
38
+ const publicKeyFingerprint = assertGeneratedPartyMatchesPublicKey({
39
+ partyId,
40
+ publicKeyBase64: options.publicKeyBase64,
41
+ });
42
+ return {
43
+ partyId,
44
+ publicKeyFingerprint,
45
+ multiHashHex: (0, canton_protocol_1.normalizeCantonHashToHex)((0, canton_response_utils_1.readRequiredString)(topology, 'multiHash', 'topology generation'), 'topology generation'),
46
+ synchronizerId: options.synchronizerId,
47
+ topologyTransactions: readRequiredStringArray(topology, 'topologyTransactions', 'topology generation'),
48
+ publicKeyFormat: exports.CANTON_DER_X509_PUBLIC_KEY_FORMAT,
49
+ signingAlgorithmSpec: exports.CANTON_ED25519_SIGNATURE_ALGORITHM,
50
+ raw: topology,
51
+ };
52
+ }
53
+ /** Verifies the end-user Ed25519 signature and submits prepared external-party topology to Canton. */
54
+ async function submitExternalPartyOnboarding(options) {
55
+ validateRequiredString('synchronizerId', options.synchronizerId);
56
+ const publicKeyFingerprint = (0, canton_protocol_1.assertCantonPartyMatchesPublicKey)({
57
+ partyId: options.partyId,
58
+ publicKeyBase64: options.publicKeyBase64,
59
+ ...(options.publicKeyFingerprint !== undefined ? { publicKeyFingerprint: options.publicKeyFingerprint } : {}),
60
+ });
61
+ const multiHashHex = (0, canton_protocol_1.assertCantonSha256MultihashHex)(options.multiHashHex);
62
+ (0, canton_protocol_1.assertCantonHashSignature)({
63
+ publicKeyBase64: options.publicKeyBase64,
64
+ hashHex: multiHashHex,
65
+ signatureBase64: options.multiHashSignatureBase64,
66
+ });
67
+ try {
68
+ const raw = await (0, allocate_external_party_1.allocateExternalParty)({
69
+ ledgerClient: options.ledgerClient,
70
+ synchronizerId: options.synchronizerId,
71
+ identityProviderId: options.identityProviderId ?? exports.DEFAULT_CANTON_IDENTITY_PROVIDER_ID,
72
+ onboardingTransactions: options.topologyTransactions.map((transaction) => ({ transaction })),
73
+ multiHashSignatures: [
74
+ {
75
+ format: exports.CANTON_RAW_SIGNATURE_FORMAT,
76
+ signature: options.multiHashSignatureBase64,
77
+ signedBy: publicKeyFingerprint,
78
+ signingAlgorithmSpec: exports.CANTON_ED25519_SIGNATURE_ALGORITHM,
79
+ },
80
+ ],
81
+ });
82
+ const partyId = readAllocatedExternalPartyId(raw);
83
+ if (partyId !== options.partyId) {
84
+ throw new errors_1.OperationError('Canton external-party allocation response did not match the prepared party ID', errors_1.OperationErrorCode.TRANSACTION_FAILED, { expectedPartyId: options.partyId, partyId });
85
+ }
86
+ return {
87
+ partyId,
88
+ raw: (0, canton_response_utils_1.objectOrEmpty)(raw),
89
+ alreadyExisted: false,
90
+ };
91
+ }
92
+ catch (error) {
93
+ if (!options.allowAlreadyExists) {
94
+ throw error;
95
+ }
96
+ const existing = await readExistingExternalPartyAfterAllocationConflict(options.ledgerClient, options.partyId, options.identityProviderId ?? exports.DEFAULT_CANTON_IDENTITY_PROVIDER_ID, error);
97
+ if (!existing) {
98
+ throw error;
99
+ }
100
+ return {
101
+ partyId: options.partyId,
102
+ raw: existing,
103
+ alreadyExisted: true,
104
+ };
105
+ }
106
+ }
107
+ /** Lists party ids whose suffix matches the supplied Ed25519 public key fingerprint. */
108
+ async function listExternalPartyIdsForPublicKey(ledgerClient, publicKeyBase64) {
109
+ const publicKeyFingerprint = (0, canton_protocol_1.deriveCantonEd25519PublicKeyFingerprint)(publicKeyBase64);
110
+ const raw = await ledgerClient.listParties({});
111
+ return {
112
+ publicKeyFingerprint,
113
+ parties: readPartyIdsByFingerprint(raw, publicKeyFingerprint),
114
+ raw,
115
+ };
116
+ }
117
+ /** Checks one exact external-party id built from party hint and public key. */
118
+ async function getExternalPartyIdForHintAndPublicKey(ledgerClient, partyHint, publicKeyBase64, identityProviderId = exports.DEFAULT_CANTON_IDENTITY_PROVIDER_ID) {
119
+ const publicKeyFingerprint = (0, canton_protocol_1.deriveCantonEd25519PublicKeyFingerprint)(publicKeyBase64);
120
+ const partyId = (0, canton_protocol_1.buildExternalPartyId)(partyHint, publicKeyFingerprint);
121
+ try {
122
+ const raw = await ledgerClient.getPartyDetails({ party: partyId, identityProviderId });
123
+ return {
124
+ publicKeyFingerprint,
125
+ partyId,
126
+ exists: Boolean(readMatchingPartyDetails(raw, partyId)),
127
+ raw,
128
+ };
129
+ }
130
+ catch (error) {
131
+ if (isNotFound(error)) {
132
+ return {
133
+ publicKeyFingerprint,
134
+ partyId,
135
+ exists: false,
136
+ raw: null,
137
+ };
138
+ }
139
+ throw error;
140
+ }
141
+ }
142
+ function validateRequiredString(name, value) {
143
+ if (!value.trim()) {
144
+ throw new errors_1.ValidationError(`${name} is required`, { [name]: value });
145
+ }
146
+ }
147
+ function assertGeneratedPartyMatchesPublicKey(input) {
148
+ try {
149
+ return (0, canton_protocol_1.assertCantonPartyMatchesPublicKey)(input);
150
+ }
151
+ catch (error) {
152
+ throw new errors_1.OperationError('Canton topology generation response did not include a party ID matching the submitted public key', errors_1.OperationErrorCode.TRANSACTION_FAILED, { cause: error instanceof Error ? error.message : String(error) });
153
+ }
154
+ }
155
+ async function readExistingExternalPartyAfterAllocationConflict(ledgerClient, partyId, identityProviderId, error) {
156
+ if (!isConflict(error))
157
+ return null;
158
+ try {
159
+ const partyDetailsResponse = await ledgerClient.getPartyDetails({
160
+ party: partyId,
161
+ identityProviderId,
162
+ });
163
+ const partyDetails = readMatchingPartyDetails(partyDetailsResponse, partyId);
164
+ if (!partyDetails)
165
+ return null;
166
+ return {
167
+ alreadyExisted: true,
168
+ partyDetails,
169
+ allocationError: readErrorDetails(error),
170
+ };
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
176
+ function readAllocatedExternalPartyId(source) {
177
+ const directPartyId = (0, utils_1.isRecord)(source) ? source['partyId'] : undefined;
178
+ if (typeof directPartyId === 'string' && directPartyId.trim()) {
179
+ return directPartyId;
180
+ }
181
+ const partyDetails = readMatchingPartyDetails(source);
182
+ const party = partyDetails?.['party'];
183
+ if (typeof party === 'string' && party.trim()) {
184
+ return party;
185
+ }
186
+ throw new errors_1.OperationError('Canton external-party allocation response did not include partyId', errors_1.OperationErrorCode.TRANSACTION_FAILED);
187
+ }
188
+ function readMatchingPartyDetails(source, partyId) {
189
+ if (!(0, utils_1.isRecord)(source))
190
+ return null;
191
+ const { partyDetails } = source;
192
+ const details = Array.isArray(partyDetails) ? partyDetails : [partyDetails];
193
+ for (const detail of details) {
194
+ if (!(0, utils_1.isRecord)(detail))
195
+ continue;
196
+ if (partyId && detail['party'] !== partyId)
197
+ continue;
198
+ const { party } = detail;
199
+ if (typeof party === 'string' && party.trim())
200
+ return detail;
201
+ }
202
+ return null;
203
+ }
204
+ function readPartyIdsByFingerprint(source, publicKeyFingerprint) {
205
+ const partyDetails = (0, utils_1.isRecord)(source) ? source['partyDetails'] : undefined;
206
+ if (!Array.isArray(partyDetails))
207
+ return [];
208
+ const seen = new Set();
209
+ for (const detail of partyDetails) {
210
+ const party = (0, utils_1.isRecord)(detail) ? detail['party'] : undefined;
211
+ if (typeof party !== 'string')
212
+ continue;
213
+ const partyId = party.trim();
214
+ if (!partyId.endsWith(`::${publicKeyFingerprint}`))
215
+ continue;
216
+ seen.add(partyId);
217
+ }
218
+ return [...seen].sort((left, right) => left.localeCompare(right));
219
+ }
220
+ function readRequiredStringArray(source, key, operation) {
221
+ if ((0, utils_1.isRecord)(source) && key in source) {
222
+ const value = source[key];
223
+ if (Array.isArray(value) && value.every((item) => typeof item === 'string' && item.trim())) {
224
+ return [...value];
225
+ }
226
+ }
227
+ throw new errors_1.OperationError(`Canton ${operation} response did not include ${key}`, errors_1.OperationErrorCode.TRANSACTION_FAILED);
228
+ }
229
+ function isConflict(error) {
230
+ return readErrorStatus(error) === 409;
231
+ }
232
+ function isNotFound(error) {
233
+ return readErrorStatus(error) === 404;
234
+ }
235
+ function readErrorStatus(error) {
236
+ if (error instanceof errors_1.ApiError)
237
+ return error.status;
238
+ if (!(0, utils_1.isRecord)(error))
239
+ return undefined;
240
+ const { status } = error;
241
+ return typeof status === 'number' ? status : undefined;
242
+ }
243
+ function readErrorDetails(error) {
244
+ if (!(0, utils_1.isRecord)(error)) {
245
+ return { message: error instanceof Error ? error.message : String(error) };
246
+ }
247
+ return (0, canton_response_utils_1.objectOrEmpty)(error);
248
+ }
249
+ //# sourceMappingURL=external-party-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-party-onboarding.js","sourceRoot":"","sources":["../../../../src/utils/external-signing/external-party-onboarding.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export * from './allocate-external-party';
2
+ export * from './canton-protocol';
2
3
  export * from './create-external-party';
3
4
  export * from './execute-external-transaction';
5
+ export * from './external-party-onboarding';
4
6
  export * from './generate-external-party';
5
7
  export * from './prepare-external-transaction';
6
8
  export * from './stellar-utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/external-signing/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/external-signing/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC"}
@@ -15,8 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./allocate-external-party"), exports);
18
+ __exportStar(require("./canton-protocol"), exports);
18
19
  __exportStar(require("./create-external-party"), exports);
19
20
  __exportStar(require("./execute-external-transaction"), exports);
21
+ __exportStar(require("./external-party-onboarding"), exports);
20
22
  __exportStar(require("./generate-external-party"), exports);
21
23
  __exportStar(require("./prepare-external-transaction"), exports);
22
24
  __exportStar(require("./stellar-utils"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/external-signing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,0DAAwC;AACxC,iEAA+C;AAC/C,4DAA0C;AAC1C,iEAA+C;AAC/C,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/external-signing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,oDAAkC;AAClC,0DAAwC;AACxC,iEAA+C;AAC/C,8DAA4C;AAC5C,4DAA0C;AAC1C,iEAA+C;AAC/C,kDAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/canton-node-sdk",
3
- "version": "0.0.210",
3
+ "version": "0.0.211",
4
4
  "description": "Canton Node SDK",
5
5
  "keywords": [
6
6
  "canton",