@fairmint/canton-node-sdk 0.0.218 → 0.0.220

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 (27) hide show
  1. package/build/src/core/config/CantonRuntimeCredentials.d.ts +63 -0
  2. package/build/src/core/config/CantonRuntimeCredentials.d.ts.map +1 -0
  3. package/build/src/core/config/CantonRuntimeCredentials.js +146 -0
  4. package/build/src/core/config/CantonRuntimeCredentials.js.map +1 -0
  5. package/build/src/core/config/index.d.ts +1 -0
  6. package/build/src/core/config/index.d.ts.map +1 -1
  7. package/build/src/core/config/index.js +1 -0
  8. package/build/src/core/config/index.js.map +1 -1
  9. package/build/src/utils/amulet/external-party-transfer-offer.d.ts.map +1 -1
  10. package/build/src/utils/amulet/external-party-transfer-offer.js +10 -36
  11. package/build/src/utils/amulet/external-party-transfer-offer.js.map +1 -1
  12. package/build/src/utils/external-signing/external-party-onboarding.d.ts +53 -0
  13. package/build/src/utils/external-signing/external-party-onboarding.d.ts.map +1 -1
  14. package/build/src/utils/external-signing/external-party-onboarding.js +109 -0
  15. package/build/src/utils/external-signing/external-party-onboarding.js.map +1 -1
  16. package/build/src/utils/external-signing/external-party-wallet.d.ts.map +1 -1
  17. package/build/src/utils/external-signing/external-party-wallet.js +5 -30
  18. package/build/src/utils/external-signing/external-party-wallet.js.map +1 -1
  19. package/build/src/utils/index.d.ts +1 -0
  20. package/build/src/utils/index.d.ts.map +1 -1
  21. package/build/src/utils/index.js +1 -0
  22. package/build/src/utils/index.js.map +1 -1
  23. package/build/src/utils/party-readiness/index.d.ts +65 -0
  24. package/build/src/utils/party-readiness/index.d.ts.map +1 -0
  25. package/build/src/utils/party-readiness/index.js +238 -0
  26. package/build/src/utils/party-readiness/index.js.map +1 -0
  27. package/package.json +1 -1
@@ -0,0 +1,63 @@
1
+ import { type ClientConfig, type NetworkType, type ProviderType } from '../types';
2
+ /** Env-var suffixes used for explicit Canton runtime credentials. */
3
+ export declare const CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES: readonly ["PARTY_ID", "USER_ID", "VALIDATOR_ADMIN_TOKEN", "VALIDATOR_JSON_API_ENDPOINT", "LEDGER_JSON_API_ENDPOINT", "SPLICE_SCAN_API_ENDPOINT"];
4
+ /** Supported env-var suffix for explicit Canton runtime credentials. */
5
+ export type CantonRuntimeCredentialEnvSuffix = (typeof CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES)[number];
6
+ /** Env-var prefix emitted for one network/provider runtime credential set. */
7
+ export type CantonRuntimeCredentialEnvPrefix = `CANTON_${string}_${string}`;
8
+ /** Env-var key emitted for one network/provider runtime credential set. */
9
+ export type CantonRuntimeCredentialEnvKey = `${CantonRuntimeCredentialEnvPrefix}_${CantonRuntimeCredentialEnvSuffix}`;
10
+ /** Env-var map for one explicit Canton runtime credential set. */
11
+ export type CantonRuntimeCredentialEnvMap = Readonly<Record<CantonRuntimeCredentialEnvKey, string>>;
12
+ /** Raw Canton runtime credential values loaded by an application from SSM, env, or another explicit source. */
13
+ export interface CantonRuntimeCredentialsInput {
14
+ readonly partyId: string;
15
+ readonly userId: string;
16
+ readonly validatorAdminToken: string;
17
+ readonly validatorJsonApiEndpoint: string;
18
+ readonly ledgerJsonApiEndpoint: string;
19
+ readonly spliceScanApiEndpoint: string;
20
+ }
21
+ /** Normalized, validated Canton runtime credential values. */
22
+ export interface CantonRuntimeCredentials {
23
+ readonly partyId: string;
24
+ readonly userId: string;
25
+ readonly validatorAdminToken: string;
26
+ readonly validatorJsonApiEndpoint: string;
27
+ readonly ledgerJsonApiEndpoint: string;
28
+ readonly spliceScanApiEndpoint: string;
29
+ }
30
+ /** Target network/provider prefix for emitted Canton runtime credential env keys. */
31
+ export interface CantonRuntimeCredentialTarget {
32
+ readonly network: NetworkType;
33
+ readonly provider: ProviderType;
34
+ }
35
+ /** Options for emitting a Canton runtime credential env map. */
36
+ export interface CantonRuntimeCredentialEnvMapOptions extends CantonRuntimeCredentialTarget {
37
+ readonly credentials: CantonRuntimeCredentialsInput;
38
+ }
39
+ /** Options for building an explicit SDK client config from Canton runtime credentials. */
40
+ export interface CantonRuntimeCredentialClientConfigOptions extends CantonRuntimeCredentialTarget {
41
+ readonly credentials: CantonRuntimeCredentialsInput;
42
+ }
43
+ /**
44
+ * Normalize and validate one explicit Canton runtime credential set.
45
+ *
46
+ * This helper is intentionally pure: it does not read from or write to `process.env`.
47
+ */
48
+ export declare function normalizeCantonRuntimeCredentials(credentials: CantonRuntimeCredentialsInput): CantonRuntimeCredentials;
49
+ /** Build the env-var keys for one network/provider Canton runtime credential prefix. */
50
+ export declare function buildCantonRuntimeCredentialEnvKeys(target: CantonRuntimeCredentialTarget): readonly CantonRuntimeCredentialEnvKey[];
51
+ /**
52
+ * Emit an env-var map for one explicit Canton runtime credential set.
53
+ *
54
+ * Callers can pass the returned map through their own runtime boundary without mutating global process state.
55
+ */
56
+ export declare function buildCantonRuntimeCredentialEnvMap(options: CantonRuntimeCredentialEnvMapOptions): CantonRuntimeCredentialEnvMap;
57
+ /**
58
+ * Build an explicit SDK client config from Canton runtime credentials.
59
+ *
60
+ * This avoids environment lookup entirely for the SDK clients configured here.
61
+ */
62
+ export declare function buildCantonRuntimeCredentialClientConfig(options: CantonRuntimeCredentialClientConfigOptions): ClientConfig;
63
+ //# sourceMappingURL=CantonRuntimeCredentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CantonRuntimeCredentials.d.ts","sourceRoot":"","sources":["../../../../src/core/config/CantonRuntimeCredentials.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAInH,qEAAqE;AACrE,eAAO,MAAM,sCAAsC,kJAOzC,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,gCAAgC,GAAG,CAAC,OAAO,sCAAsC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvG,8EAA8E;AAC9E,MAAM,MAAM,gCAAgC,GAAG,UAAU,MAAM,IAAI,MAAM,EAAE,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,MAAM,6BAA6B,GAAG,GAAG,gCAAgC,IAAI,gCAAgC,EAAE,CAAC;AAEtH,kEAAkE;AAClE,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpG,+GAA+G;AAC/G,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,8DAA8D;AAC9D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,qFAAqF;AACrF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED,gEAAgE;AAChE,MAAM,WAAW,oCAAqC,SAAQ,6BAA6B;IACzF,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAC;CACrD;AAED,0FAA0F;AAC1F,MAAM,WAAW,0CAA2C,SAAQ,6BAA6B;IAC/F,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAC;CACrD;AAcD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,6BAA6B,GACzC,wBAAwB,CAS1B;AAED,wFAAwF;AACxF,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,6BAA6B,GACpC,SAAS,6BAA6B,EAAE,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,oCAAoC,GAC5C,6BAA6B,CAY/B;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,0CAA0C,GAClD,YAAY,CAed"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES = void 0;
4
+ exports.normalizeCantonRuntimeCredentials = normalizeCantonRuntimeCredentials;
5
+ exports.buildCantonRuntimeCredentialEnvKeys = buildCantonRuntimeCredentialEnvKeys;
6
+ exports.buildCantonRuntimeCredentialEnvMap = buildCantonRuntimeCredentialEnvMap;
7
+ exports.buildCantonRuntimeCredentialClientConfig = buildCantonRuntimeCredentialClientConfig;
8
+ const errors_1 = require("../errors");
9
+ const CANTON_RUNTIME_ENV_SEGMENT_REGEX = /^[A-Za-z0-9_-]+$/;
10
+ /** Env-var suffixes used for explicit Canton runtime credentials. */
11
+ exports.CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES = [
12
+ 'PARTY_ID',
13
+ 'USER_ID',
14
+ 'VALIDATOR_ADMIN_TOKEN',
15
+ 'VALIDATOR_JSON_API_ENDPOINT',
16
+ 'LEDGER_JSON_API_ENDPOINT',
17
+ 'SPLICE_SCAN_API_ENDPOINT',
18
+ ];
19
+ const CANTON_RUNTIME_CREDENTIAL_FIELD_BY_SUFFIX = {
20
+ PARTY_ID: 'partyId',
21
+ USER_ID: 'userId',
22
+ VALIDATOR_ADMIN_TOKEN: 'validatorAdminToken',
23
+ VALIDATOR_JSON_API_ENDPOINT: 'validatorJsonApiEndpoint',
24
+ LEDGER_JSON_API_ENDPOINT: 'ledgerJsonApiEndpoint',
25
+ SPLICE_SCAN_API_ENDPOINT: 'spliceScanApiEndpoint',
26
+ };
27
+ /**
28
+ * Normalize and validate one explicit Canton runtime credential set.
29
+ *
30
+ * This helper is intentionally pure: it does not read from or write to `process.env`.
31
+ */
32
+ function normalizeCantonRuntimeCredentials(credentials) {
33
+ return {
34
+ partyId: normalizeRequiredString('partyId', credentials.partyId),
35
+ userId: normalizeRequiredString('userId', credentials.userId),
36
+ validatorAdminToken: normalizeRequiredString('validatorAdminToken', credentials.validatorAdminToken),
37
+ validatorJsonApiEndpoint: normalizeHttpEndpoint('validatorJsonApiEndpoint', credentials.validatorJsonApiEndpoint),
38
+ ledgerJsonApiEndpoint: normalizeHttpEndpoint('ledgerJsonApiEndpoint', credentials.ledgerJsonApiEndpoint),
39
+ spliceScanApiEndpoint: normalizeHttpEndpoint('spliceScanApiEndpoint', credentials.spliceScanApiEndpoint),
40
+ };
41
+ }
42
+ /** Build the env-var keys for one network/provider Canton runtime credential prefix. */
43
+ function buildCantonRuntimeCredentialEnvKeys(target) {
44
+ const prefix = buildCantonRuntimeCredentialEnvPrefix(target);
45
+ return exports.CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES.map((suffix) => buildCantonRuntimeCredentialEnvKey(prefix, suffix));
46
+ }
47
+ /**
48
+ * Emit an env-var map for one explicit Canton runtime credential set.
49
+ *
50
+ * Callers can pass the returned map through their own runtime boundary without mutating global process state.
51
+ */
52
+ function buildCantonRuntimeCredentialEnvMap(options) {
53
+ const credentials = normalizeCantonRuntimeCredentials(options.credentials);
54
+ const prefix = buildCantonRuntimeCredentialEnvPrefix(options);
55
+ const envMap = {};
56
+ for (const suffix of exports.CANTON_RUNTIME_CREDENTIAL_ENV_SUFFIXES) {
57
+ const envKey = buildCantonRuntimeCredentialEnvKey(prefix, suffix);
58
+ const credentialField = CANTON_RUNTIME_CREDENTIAL_FIELD_BY_SUFFIX[suffix];
59
+ envMap[envKey] = credentials[credentialField];
60
+ }
61
+ return envMap;
62
+ }
63
+ /**
64
+ * Build an explicit SDK client config from Canton runtime credentials.
65
+ *
66
+ * This avoids environment lookup entirely for the SDK clients configured here.
67
+ */
68
+ function buildCantonRuntimeCredentialClientConfig(options) {
69
+ const credentials = normalizeCantonRuntimeCredentials(options.credentials);
70
+ const adminTokenAuth = buildBearerTokenAuth(credentials.validatorAdminToken);
71
+ return {
72
+ network: options.network,
73
+ provider: options.provider,
74
+ partyId: credentials.partyId,
75
+ userId: credentials.userId,
76
+ apis: {
77
+ LEDGER_JSON_API: buildApiConfig(credentials.ledgerJsonApiEndpoint, credentials, adminTokenAuth),
78
+ VALIDATOR_API: buildApiConfig(credentials.validatorJsonApiEndpoint, credentials, adminTokenAuth),
79
+ SCAN_API: buildApiConfig(credentials.spliceScanApiEndpoint, credentials, buildNoAuthConfig()),
80
+ },
81
+ };
82
+ }
83
+ function buildCantonRuntimeCredentialEnvPrefix(target) {
84
+ const network = normalizeEnvSegment('network', target.network);
85
+ const provider = normalizeEnvSegment('provider', target.provider);
86
+ return `CANTON_${network}_${provider}`;
87
+ }
88
+ function buildCantonRuntimeCredentialEnvKey(prefix, suffix) {
89
+ return `${prefix}_${suffix}`;
90
+ }
91
+ function buildApiConfig(apiUrl, credentials, auth) {
92
+ return {
93
+ apiUrl,
94
+ auth,
95
+ partyId: credentials.partyId,
96
+ userId: credentials.userId,
97
+ };
98
+ }
99
+ function buildBearerTokenAuth(token) {
100
+ return {
101
+ grantType: 'client_credentials',
102
+ clientId: '',
103
+ bearerToken: token,
104
+ };
105
+ }
106
+ function buildNoAuthConfig() {
107
+ return {
108
+ grantType: 'client_credentials',
109
+ clientId: '',
110
+ };
111
+ }
112
+ function normalizeHttpEndpoint(name, value) {
113
+ const normalized = trimTrailingSlashes(normalizeRequiredString(name, value));
114
+ try {
115
+ const parsed = new URL(normalized);
116
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
117
+ throw new Error('Unsupported protocol');
118
+ }
119
+ }
120
+ catch {
121
+ throw new errors_1.ConfigurationError(`Invalid Canton runtime credential ${name}: expected an http(s) URL`);
122
+ }
123
+ return normalized;
124
+ }
125
+ function normalizeRequiredString(name, value) {
126
+ const normalized = typeof value === 'string' ? value.trim() : '';
127
+ if (!normalized) {
128
+ throw new errors_1.ConfigurationError(`Missing Canton runtime credential: ${name}`);
129
+ }
130
+ return normalized;
131
+ }
132
+ function normalizeEnvSegment(name, value) {
133
+ const normalized = normalizeRequiredString(name, value).toUpperCase();
134
+ if (!CANTON_RUNTIME_ENV_SEGMENT_REGEX.test(normalized)) {
135
+ throw new errors_1.ConfigurationError(`Invalid Canton runtime credential ${name}: expected only letters, numbers, underscores, and hyphens`);
136
+ }
137
+ return normalized;
138
+ }
139
+ function trimTrailingSlashes(value) {
140
+ let end = value.length;
141
+ while (end > 0 && value.charCodeAt(end - 1) === 47) {
142
+ end -= 1;
143
+ }
144
+ return value.slice(0, end);
145
+ }
146
+ //# sourceMappingURL=CantonRuntimeCredentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CantonRuntimeCredentials.js","sourceRoot":"","sources":["../../../../src/core/config/CantonRuntimeCredentials.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export * from './CantonRuntimeCredentials';
1
2
  export * from './EnvLoader';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC"}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./CantonRuntimeCredentials"), exports);
17
18
  __exportStar(require("./EnvLoader"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,8CAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-party-transfer-offer.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/external-party-transfer-offer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-party-transfer-offer.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/external-party-transfer-offer.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const canton_protocol_1 = require("../external-signing/canton-protocol");
14
14
  const execute_external_transaction_1 = require("../external-signing/execute-external-transaction");
15
15
  const external_party_onboarding_1 = require("../external-signing/external-party-onboarding");
16
16
  const prepare_external_transaction_1 = require("../external-signing/prepare-external-transaction");
17
+ const party_readiness_1 = require("../party-readiness");
17
18
  exports.CANTON_TRANSFER_OFFER_TEMPLATE_ID = '#splice-wallet:Splice.Wallet.TransferOffer:TransferOffer';
18
19
  /**
19
20
  * Prepares `TransferOffer_Accept` for an externally hosted party.
@@ -243,45 +244,18 @@ function readDisclosedContractFromPossibleOffer(source, offerContractId, default
243
244
  }
244
245
  async function readRequiredConnectedSynchronizerId(ledgerClient, providerPartyId) {
245
246
  const raw = await ledgerClient.getConnectedSynchronizers({ party: providerPartyId });
246
- const synchronizerId = parseRequiredSingleSynchronizerId(raw);
247
- if (synchronizerId)
248
- return synchronizerId;
249
- throw new errors_1.OperationError('Canton provider did not report a connected synchronizer', errors_1.OperationErrorCode.MISSING_DOMAIN_ID);
250
- }
251
- function parseRequiredSingleSynchronizerId(raw) {
252
- if (!(0, utils_1.isRecord)(raw) && !Array.isArray(raw))
253
- return null;
254
- const direct = (0, utils_1.isRecord)(raw) ? raw['connectedSynchronizers'] : undefined;
255
- const itemsField = (0, utils_1.isRecord)(raw) ? raw['items'] : undefined;
256
- const items = Array.isArray(raw)
257
- ? raw
258
- : Array.isArray(direct)
259
- ? direct
260
- : Array.isArray(itemsField)
261
- ? itemsField
262
- : [];
263
- const synchronizerIds = [];
264
- for (const item of items) {
265
- if (typeof item === 'string' && item.trim()) {
266
- synchronizerIds.push(item);
267
- continue;
268
- }
269
- if (!(0, utils_1.isRecord)(item)) {
270
- continue;
247
+ try {
248
+ return (0, party_readiness_1.assertSingleConnectedSynchronizerId)(raw);
249
+ }
250
+ catch (error) {
251
+ if (error instanceof errors_1.OperationError && error.message === 'Canton party did not report a connected synchronizer') {
252
+ throw new errors_1.OperationError('Canton provider did not report a connected synchronizer', errors_1.OperationErrorCode.MISSING_DOMAIN_ID);
271
253
  }
272
- for (const key of ['synchronizerId', 'synchronizer', 'domainId', 'id']) {
273
- const value = item[key];
274
- if (typeof value === 'string' && value.trim()) {
275
- synchronizerIds.push(value);
276
- break;
277
- }
254
+ if (error instanceof errors_1.OperationError && error.message === 'Canton party reported multiple connected synchronizers') {
255
+ throw new errors_1.OperationError('Canton provider reported multiple connected synchronizers', errors_1.OperationErrorCode.MISSING_DOMAIN_ID, error.context);
278
256
  }
257
+ throw error;
279
258
  }
280
- const uniqueSynchronizerIds = new Set(synchronizerIds);
281
- if (uniqueSynchronizerIds.size > 1) {
282
- throw new errors_1.OperationError('Canton provider reported multiple connected synchronizers', errors_1.OperationErrorCode.MISSING_DOMAIN_ID, { synchronizerIds });
283
- }
284
- return synchronizerIds[0] ?? null;
285
259
  }
286
260
  function validateRequiredString(name, value) {
287
261
  if (!value.trim()) {
@@ -1 +1 @@
1
- {"version":3,"file":"external-party-transfer-offer.js","sourceRoot":"","sources":["../../../../src/utils/amulet/external-party-transfer-offer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-party-transfer-offer.js","sourceRoot":"","sources":["../../../../src/utils/amulet/external-party-transfer-offer.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,14 @@ export interface PrepareExternalPartyOnboardingOptions {
9
9
  readonly synchronizerId: string;
10
10
  readonly partyHint: string;
11
11
  readonly publicKeyBase64: string;
12
+ /** If true, the local participant will only observe, not confirm (default: false). */
13
+ readonly localParticipantObservationOnly?: boolean;
14
+ /** Other participant UIDs that should confirm for this party. */
15
+ readonly otherConfirmingParticipantUids?: readonly string[];
16
+ /** Confirmation threshold for multi-hosted party (default: all confirmers). */
17
+ readonly confirmationThreshold?: number;
18
+ /** Other participant UIDs that should only observe. */
19
+ readonly observingParticipantUids?: readonly string[];
12
20
  }
13
21
  export interface PreparedExternalPartyOnboarding {
14
22
  readonly partyId: string;
@@ -41,12 +49,57 @@ export interface SubmittedExternalPartyOnboarding {
41
49
  readonly raw: Record<string, unknown>;
42
50
  readonly alreadyExisted: boolean;
43
51
  }
52
+ export interface ExternalPartyHashSigningRequest {
53
+ readonly partyHint: string;
54
+ readonly partyId: string;
55
+ readonly publicKeyBase64: string;
56
+ readonly publicKeyFingerprint: string;
57
+ readonly synchronizerId: string;
58
+ readonly multiHashHex: string;
59
+ readonly multiHashBase64: string;
60
+ readonly topologyTransactions: readonly string[];
61
+ readonly signingAlgorithmSpec: typeof CANTON_ED25519_SIGNATURE_ALGORITHM;
62
+ }
63
+ export type ExternalPartyHashSignature = {
64
+ readonly signatureBase64: string;
65
+ } | {
66
+ readonly signatureHex: string;
67
+ } | {
68
+ readonly signatureBytes: Buffer | Uint8Array;
69
+ };
70
+ export type ExternalPartyHashSigner = (request: ExternalPartyHashSigningRequest) => ExternalPartyHashSignature | Promise<ExternalPartyHashSignature>;
71
+ export interface CreateExternalPartyWithSignerOptions extends PrepareExternalPartyOnboardingOptions {
72
+ readonly signMultiHash: ExternalPartyHashSigner;
73
+ readonly identityProviderId?: string;
74
+ /**
75
+ * Treat a 409 allocation conflict as success when the party already exists and the party details endpoint confirms
76
+ * it.
77
+ */
78
+ readonly allowAlreadyExists?: boolean;
79
+ }
80
+ export interface CreatedExternalPartyWithSigner {
81
+ readonly partyId: string;
82
+ readonly publicKeyFingerprint: string;
83
+ readonly publicKeyBase64: string;
84
+ readonly synchronizerId: string;
85
+ readonly prepared: PreparedExternalPartyOnboarding;
86
+ readonly submitted: SubmittedExternalPartyOnboarding;
87
+ readonly alreadyExisted: boolean;
88
+ }
44
89
  /**
45
90
  * Prepares external-party topology for a raw or DER-wrapped Ed25519 public key.
46
91
  *
47
92
  * The caller should ask the end-user wallet to sign `multiHashHex` before calling {@link submitExternalPartyOnboarding}.
48
93
  */
49
94
  export declare function prepareExternalPartyOnboarding(options: PrepareExternalPartyOnboardingOptions): Promise<PreparedExternalPartyOnboarding>;
95
+ /**
96
+ * Creates an external party using an external Ed25519 signer.
97
+ *
98
+ * Use this when the private key is held by a wallet service or browser wallet. The SDK prepares Canton topology, passes
99
+ * the multihash to `signMultiHash`, validates the returned signature against the submitted public key, and submits the
100
+ * allocation.
101
+ */
102
+ export declare function createExternalPartyWithSigner(options: CreateExternalPartyWithSignerOptions): Promise<CreatedExternalPartyWithSigner>;
50
103
  /** Verifies the end-user Ed25519 signature and submits prepared external-party topology to Canton. */
51
104
  export declare function submitExternalPartyOnboarding(options: SubmitExternalPartyOnboardingOptions): Promise<SubmittedExternalPartyOnboarding>;
52
105
  /** Lists party ids whose suffix matches the supplied Ed25519 public key fingerprint. */
@@ -1 +1 @@
1
- {"version":3,"file":"external-party-onboarding.d.ts","sourceRoot":"","sources":["../../../../src/utils/external-signing/external-party-onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-party-onboarding.d.ts","sourceRoot":"","sources":["../../../../src/utils/external-signing/external-party-onboarding.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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
4
  exports.prepareExternalPartyOnboarding = prepareExternalPartyOnboarding;
5
+ exports.createExternalPartyWithSigner = createExternalPartyWithSigner;
5
6
  exports.submitExternalPartyOnboarding = submitExternalPartyOnboarding;
6
7
  exports.listExternalPartyIdsForPublicKey = listExternalPartyIdsForPublicKey;
7
8
  exports.getExternalPartyIdForHintAndPublicKey = getExternalPartyIdForHintAndPublicKey;
@@ -33,6 +34,16 @@ async function prepareExternalPartyOnboarding(options) {
33
34
  keyData: (0, canton_protocol_1.normalizeEd25519PublicKeyForCanton)(options.publicKeyBase64),
34
35
  keySpec: exports.CANTON_EC_CURVE25519_PUBLIC_KEY_SPEC,
35
36
  },
37
+ ...(options.localParticipantObservationOnly !== undefined
38
+ ? { localParticipantObservationOnly: options.localParticipantObservationOnly }
39
+ : {}),
40
+ ...(options.otherConfirmingParticipantUids !== undefined
41
+ ? { otherConfirmingParticipantUids: options.otherConfirmingParticipantUids }
42
+ : {}),
43
+ ...(options.confirmationThreshold !== undefined ? { confirmationThreshold: options.confirmationThreshold } : {}),
44
+ ...(options.observingParticipantUids !== undefined
45
+ ? { observingParticipantUids: options.observingParticipantUids }
46
+ : {}),
36
47
  });
37
48
  const partyId = (0, canton_response_utils_1.readRequiredString)(topology, 'partyId', 'topology generation');
38
49
  const publicKeyFingerprint = assertGeneratedPartyMatchesPublicKey({
@@ -50,6 +61,64 @@ async function prepareExternalPartyOnboarding(options) {
50
61
  raw: topology,
51
62
  };
52
63
  }
64
+ /**
65
+ * Creates an external party using an external Ed25519 signer.
66
+ *
67
+ * Use this when the private key is held by a wallet service or browser wallet. The SDK prepares Canton topology, passes
68
+ * the multihash to `signMultiHash`, validates the returned signature against the submitted public key, and submits the
69
+ * allocation.
70
+ */
71
+ async function createExternalPartyWithSigner(options) {
72
+ const publicKeyBase64 = (0, canton_protocol_1.normalizeEd25519PublicKeyForCanton)(options.publicKeyBase64);
73
+ const prepared = await prepareExternalPartyOnboarding({
74
+ ledgerClient: options.ledgerClient,
75
+ synchronizerId: options.synchronizerId,
76
+ partyHint: options.partyHint,
77
+ publicKeyBase64,
78
+ ...(options.localParticipantObservationOnly !== undefined
79
+ ? { localParticipantObservationOnly: options.localParticipantObservationOnly }
80
+ : {}),
81
+ ...(options.otherConfirmingParticipantUids !== undefined
82
+ ? { otherConfirmingParticipantUids: options.otherConfirmingParticipantUids }
83
+ : {}),
84
+ ...(options.confirmationThreshold !== undefined ? { confirmationThreshold: options.confirmationThreshold } : {}),
85
+ ...(options.observingParticipantUids !== undefined
86
+ ? { observingParticipantUids: options.observingParticipantUids }
87
+ : {}),
88
+ });
89
+ const signature = await options.signMultiHash({
90
+ partyHint: options.partyHint,
91
+ partyId: prepared.partyId,
92
+ publicKeyBase64,
93
+ publicKeyFingerprint: prepared.publicKeyFingerprint,
94
+ synchronizerId: prepared.synchronizerId,
95
+ multiHashHex: prepared.multiHashHex,
96
+ multiHashBase64: (0, canton_protocol_1.hashHexToBase64)(prepared.multiHashHex),
97
+ topologyTransactions: prepared.topologyTransactions,
98
+ signingAlgorithmSpec: prepared.signingAlgorithmSpec,
99
+ });
100
+ const submitted = await submitExternalPartyOnboarding({
101
+ ledgerClient: options.ledgerClient,
102
+ synchronizerId: prepared.synchronizerId,
103
+ partyId: prepared.partyId,
104
+ publicKeyBase64,
105
+ publicKeyFingerprint: prepared.publicKeyFingerprint,
106
+ multiHashHex: prepared.multiHashHex,
107
+ topologyTransactions: prepared.topologyTransactions,
108
+ multiHashSignatureBase64: normalizeExternalPartyHashSignature(signature),
109
+ ...(options.identityProviderId !== undefined ? { identityProviderId: options.identityProviderId } : {}),
110
+ ...(options.allowAlreadyExists !== undefined ? { allowAlreadyExists: options.allowAlreadyExists } : {}),
111
+ });
112
+ return {
113
+ partyId: submitted.partyId,
114
+ publicKeyFingerprint: prepared.publicKeyFingerprint,
115
+ publicKeyBase64,
116
+ synchronizerId: prepared.synchronizerId,
117
+ prepared,
118
+ submitted,
119
+ alreadyExisted: submitted.alreadyExisted,
120
+ };
121
+ }
53
122
  /** Verifies the end-user Ed25519 signature and submits prepared external-party topology to Canton. */
54
123
  async function submitExternalPartyOnboarding(options) {
55
124
  validateRequiredString('synchronizerId', options.synchronizerId);
@@ -104,6 +173,46 @@ async function submitExternalPartyOnboarding(options) {
104
173
  };
105
174
  }
106
175
  }
176
+ function normalizeExternalPartyHashSignature(signature) {
177
+ if ('signatureBase64' in signature) {
178
+ return encodeSignatureBytes(decodeBase64Signature(signature.signatureBase64));
179
+ }
180
+ if ('signatureHex' in signature) {
181
+ return encodeSignatureBytes(decodeHexSignature(signature.signatureHex));
182
+ }
183
+ return encodeSignatureBytes(Buffer.from(signature.signatureBytes));
184
+ }
185
+ function decodeBase64Signature(value) {
186
+ const normalized = value.trim().replace(/-/g, '+').replace(/_/g, '/');
187
+ if (!/^[A-Za-z0-9+/]+={0,2}$/.test(normalized) || normalized.length % 4 === 1) {
188
+ throw invalidExternalPartySignature();
189
+ }
190
+ const padded = normalized.padEnd(normalized.length + ((4 - (normalized.length % 4)) % 4), '=');
191
+ const decoded = Buffer.from(padded, 'base64');
192
+ if (decoded.toString('base64').replace(/=+$/, '') !== normalized.replace(/=+$/, '')) {
193
+ throw invalidExternalPartySignature();
194
+ }
195
+ return decoded;
196
+ }
197
+ function decodeHexSignature(value) {
198
+ const normalized = value.trim().replace(/^0x/i, '');
199
+ if (!/^[0-9a-fA-F]+$/.test(normalized) || normalized.length % 2 !== 0) {
200
+ throw invalidExternalPartySignature();
201
+ }
202
+ return Buffer.from(normalized, 'hex');
203
+ }
204
+ function encodeSignatureBytes(signature) {
205
+ if (signature.length !== 64) {
206
+ throw invalidExternalPartySignature(signature.length);
207
+ }
208
+ return signature.toString('base64');
209
+ }
210
+ function invalidExternalPartySignature(actualLength) {
211
+ return new errors_1.ValidationError('External-party signer must return a 64-byte Ed25519 signature', {
212
+ ...(actualLength !== undefined ? { actualLength } : {}),
213
+ expectedLength: 64,
214
+ });
215
+ }
107
216
  /** Lists party ids whose suffix matches the supplied Ed25519 public key fingerprint. */
108
217
  async function listExternalPartyIdsForPublicKey(ledgerClient, publicKeyBase64) {
109
218
  const publicKeyFingerprint = (0, canton_protocol_1.deriveCantonEd25519PublicKeyFingerprint)(publicKeyBase64);