@dynamic-labs-wallet/node 1.1.15 → 1.1.17

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/index.cjs CHANGED
@@ -44,6 +44,43 @@ function _extends() {
44
44
  return _extends.apply(this, arguments);
45
45
  }
46
46
 
47
+ function _object_without_properties_loose(source, excluded) {
48
+ if (source == null) return {};
49
+ var target = {};
50
+ var sourceKeys = Object.keys(source);
51
+ var key, i;
52
+ for(i = 0; i < sourceKeys.length; i++){
53
+ key = sourceKeys[i];
54
+ if (excluded.indexOf(key) >= 0) continue;
55
+ target[key] = source[key];
56
+ }
57
+ return target;
58
+ }
59
+
60
+ /**
61
+ * Server SDK variant of {@link DynamicApiClient}. Defaults `isServerSdk` to `true`
62
+ * so routes use the `/api/v0/server` prefix.
63
+ * @see DYNT-537
64
+ */ class DynamicServerApiClient extends core$1.DynamicApiClient {
65
+ /**
66
+ * Refreshing only makes sense for a JWT-holding client — a server client
67
+ * already holds the raw API key and re-authenticates via
68
+ * `authenticateApiToken` instead. Never call this on a `DynamicServerApiClient`;
69
+ * construct a plain `DynamicApiClient` bearer-authenticated with the current
70
+ * JWT for the refresh call (see `DynamicWalletClient.refreshAuthToken`).
71
+ */ async refreshUser() {
72
+ throw new Error('refreshUser is not supported on DynamicServerApiClient. Use a plain DynamicApiClient instead.');
73
+ }
74
+ constructor(_param){
75
+ var { isServerSdk } = _param, options = _object_without_properties_loose(_param, [
76
+ "isServerSdk"
77
+ ]);
78
+ super(_extends({}, options, {
79
+ isServerSdk: isServerSdk != null ? isServerSdk : true
80
+ }));
81
+ }
82
+ }
83
+
47
84
  const createLogError = (clientTag)=>({ message, error, context })=>logError({
48
85
  message,
49
86
  error,
@@ -372,6 +409,67 @@ const getKey = async ({ password, salt, encryptionConfig })=>{
372
409
  // walletId resolution server-side.
373
410
  const CEREMONY_COMPLETE_WAIT_MS = 5000;
374
411
 
412
+ const subtle = crypto.webcrypto.subtle;
413
+ const ALGO = {
414
+ name: 'ECDSA',
415
+ namedCurve: 'P-256'
416
+ };
417
+ const SIGN_ALGO = {
418
+ name: 'ECDSA',
419
+ hash: 'SHA-256'
420
+ };
421
+ /** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
422
+ if (raw.length !== 65 || raw[0] !== 0x04) {
423
+ throw new Error('expected a 65-byte uncompressed P-256 public key');
424
+ }
425
+ const x = Buffer.from(raw.slice(1, 33));
426
+ const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
427
+ return Buffer.concat([
428
+ Buffer.from([
429
+ prefix
430
+ ]),
431
+ x
432
+ ]).toString('hex');
433
+ };
434
+ /**
435
+ * Generates a P-256 session key pair for the signed-session flow.
436
+ *
437
+ * Returns the compressed public-key hex (bind it into the Dynamic JWT via the
438
+ * `x-dyn-session-public-key` header when you sign in) and the private JWK.
439
+ *
440
+ * Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
441
+ * `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
442
+ * (so it can be handed back to you) and is therefore a convenience path, not a
443
+ * security boundary — if you need a non-extractable key (so a host/operator
444
+ * cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
445
+ * `getSessionSignature` that signs there.
446
+ */ async function generateSessionKeyPair() {
447
+ const keyPair = await subtle.generateKey(ALGO, true, [
448
+ 'sign',
449
+ 'verify'
450
+ ]);
451
+ const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
452
+ const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
453
+ const privateKeyJwk = exportedJwk;
454
+ return {
455
+ publicKeyHex: compress(new Uint8Array(rawPublicKey)),
456
+ privateKeyJwk
457
+ };
458
+ }
459
+ /**
460
+ * Signs a message with a P-256 session private JWK using the exact encoding the
461
+ * keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
462
+ * (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
463
+ * getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
464
+ * The JWK is imported non-extractable for signing.
465
+ */ async function signSessionMessage(message, privateKeyJwk) {
466
+ const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
467
+ 'sign'
468
+ ]);
469
+ const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
470
+ return Buffer.from(new Uint8Array(signature)).toString('hex');
471
+ }
472
+
375
473
  class DynamicWalletClient {
376
474
  ensureApiClientAuthenticated() {
377
475
  if (!this.isApiClientAuthenticated) {
@@ -410,7 +508,7 @@ class DynamicWalletClient {
410
508
  * and rebuilds the API client, preserving the forward-MPC client.
411
509
  */ setAuthenticatedJwt(jwt) {
412
510
  this.baseJWTAuthToken = jwt;
413
- this.apiClient = new core$1.DynamicServerApiClient({
511
+ this.apiClient = new DynamicServerApiClient({
414
512
  environmentId: this.environmentId,
415
513
  authToken: jwt,
416
514
  baseApiUrl: this.baseApiUrl,
@@ -422,19 +520,54 @@ class DynamicWalletClient {
422
520
  this.nonceCache.length = 0;
423
521
  this.nonceRefill = undefined;
424
522
  this.nonceAuthGeneration += 1;
523
+ // Deliberately does not touch nonceApiClient: refreshAuthToken installs a
524
+ // refreshed JWT for the *same* session and must keep using the raw-token
525
+ // client for nonces. authenticateJwt and authenticateApiToken manage
526
+ // nonceApiClient themselves since only they know whether a raw token
527
+ // still applies to the new session.
528
+ }
529
+ /**
530
+ * Resolves the session key to bind into `authenticateApiToken`'s JWT.
531
+ *
532
+ * Defaults to generating a fresh session key per call (never persisted),
533
+ * mirroring the browser's rotate-on-reauth behavior. Pass `sessionPublicKey`
534
+ * + `getSessionSignature` together to supply your own instead — e.g. a
535
+ * stable key reused across calls, or one backed by a KMS/HSM/enclave signer.
536
+ */ async resolveSessionKey(options) {
537
+ if ((options == null ? void 0 : options.sessionPublicKey) || (options == null ? void 0 : options.getSessionSignature)) {
538
+ if (!options.sessionPublicKey || !options.getSessionSignature) {
539
+ throw new Error('authenticateApiToken: sessionPublicKey and getSessionSignature must be supplied together, or both omitted to auto-generate a session key.');
540
+ }
541
+ return {
542
+ publicKeyHex: options.sessionPublicKey,
543
+ getSessionSignature: options.getSessionSignature
544
+ };
545
+ }
546
+ const { publicKeyHex, privateKeyJwk } = await generateSessionKeyPair();
547
+ return {
548
+ publicKeyHex,
549
+ getSessionSignature: (message)=>signSessionMessage(message, privateKeyJwk)
550
+ };
425
551
  }
426
- async authenticateApiToken(authToken) {
427
- const tmpClient = new core$1.DynamicServerApiClient({
552
+ async authenticateApiToken(authToken, options) {
553
+ const tmpClient = new DynamicServerApiClient({
428
554
  environmentId: this.environmentId,
429
555
  authToken,
430
556
  baseApiUrl: this.baseApiUrl,
431
557
  logger: this.logger
432
558
  });
559
+ // Binds the resulting JWT's session_public_key claim, which server-side
560
+ // BA operations (e.g. addSigner's client-keyshare backup grant) require present.
561
+ const { publicKeyHex, getSessionSignature } = await this.resolveSessionKey(options);
433
562
  const response = await tmpClient.authenticateApiToken({
434
- environmentId: this.environmentId
563
+ environmentId: this.environmentId,
564
+ sessionPublicKey: publicKeyHex
435
565
  });
436
566
  this.setAuthenticatedJwt(response.data.encodedJwts.minifiedJwt);
437
- this.getSessionSignature = undefined; // drop any signer left from a prior authenticateJwt
567
+ this.getSessionSignature = getSessionSignature;
568
+ // /nonces is authenticated via DYN_API_TOKEN only — reuse the client
569
+ // already holding the raw token instead of the JWT-authenticated one.
570
+ this.nonceApiClient = tmpClient;
438
571
  }
439
572
  /**
440
573
  * Authenticates the client with a Dynamic user JWT obtained outside the SDK —
@@ -453,6 +586,9 @@ class DynamicWalletClient {
453
586
  throw new Error('Invalid JWT: expected a compact JWS with three dot-separated segments');
454
587
  }
455
588
  this.setAuthenticatedJwt(jwt);
589
+ // No raw API token backs this session — drop any raw-token client left
590
+ // over from a prior authenticateApiToken call on this instance.
591
+ this.nonceApiClient = undefined;
456
592
  this.getSessionSignature = options == null ? void 0 : options.getSessionSignature;
457
593
  }
458
594
  async buildSignedSessionId() {
@@ -494,8 +630,8 @@ class DynamicWalletClient {
494
630
  // A refill that lands after a re-auth belongs to the old session — drop it
495
631
  // (and leave the new session's refill slot alone) so stale nonces are never used.
496
632
  const generation = this.nonceAuthGeneration;
497
- var _this_nonceRefill;
498
- (_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = this.apiClient.getNonces({
633
+ var _this_nonceApiClient, _this_nonceRefill;
634
+ (_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = ((_this_nonceApiClient = this.nonceApiClient) != null ? _this_nonceApiClient : this.apiClient).getNonces({
499
635
  count: this.nonceBatchSize
500
636
  }).then(({ nonces })=>{
501
637
  if (!(nonces == null ? void 0 : nonces.length)) throw new Error('No session nonce available');
@@ -514,7 +650,20 @@ class DynamicWalletClient {
514
650
  * must re-authenticate.
515
651
  */ async refreshAuthToken() {
516
652
  this.ensureApiClientAuthenticated();
517
- const data = await this.apiClient.refreshUser();
653
+ if (!this.baseJWTAuthToken) {
654
+ throw new Error('Client is not authenticated');
655
+ }
656
+ // refreshUser only makes sense for a JWT-holding client — this.apiClient is a
657
+ // DynamicServerApiClient, which throws if refreshUser is called on it (a server
658
+ // client re-authenticates via authenticateApiToken instead). Use a plain client
659
+ // bearer-authenticated with the current JWT for the refresh call itself.
660
+ const refreshClient = new core$1.DynamicApiClient({
661
+ environmentId: this.environmentId,
662
+ authToken: this.baseJWTAuthToken,
663
+ baseApiUrl: this.baseApiUrl,
664
+ logger: this.logger
665
+ });
666
+ const data = await refreshClient.refreshUser();
518
667
  var _data_minifiedJwt;
519
668
  const refreshedJwt = (_data_minifiedJwt = data == null ? void 0 : data.minifiedJwt) != null ? _data_minifiedJwt : data == null ? void 0 : data.jwt;
520
669
  if (typeof refreshedJwt !== 'string' || refreshedJwt.length === 0) {
@@ -524,6 +673,15 @@ class DynamicWalletClient {
524
673
  return refreshedJwt;
525
674
  }
526
675
  /**
676
+ * Resolves this environment's server identity — a real userId the server
677
+ * itself is authenticated as, with no email/externalUserId of its own.
678
+ * Feed the returned userId into a business-account `addMember` call to add
679
+ * the server as a member.
680
+ */ async getServerIdentity() {
681
+ this.ensureApiClientAuthenticated();
682
+ return this.apiClient.getServerIdentity();
683
+ }
684
+ /**
527
685
  * Fetches non-sensitive wallet identity (walletId, accountAddress, chainName,
528
686
  * derivationPath, thresholdSignatureScheme) from the Dynamic API by
529
687
  * `accountAddress`. SDK-scoped — works with the customer auth token from
@@ -857,7 +1015,7 @@ class DynamicWalletClient {
857
1015
  externalServerKeyShares: externalServerKeygenResults
858
1016
  };
859
1017
  }
860
- async dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId }) {
1018
+ async dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId, shareSetId }) {
861
1019
  const dynamicRequestId = providedRequestId || uuid.v4();
862
1020
  this.ensureApiClientAuthenticated();
863
1021
  // Create the room and sign the message
@@ -872,7 +1030,8 @@ class DynamicWalletClient {
872
1030
  context: context ? JSON.parse(JSON.stringify(context, (_key, value)=>typeof value === 'bigint' ? String(value) : value)) : undefined,
873
1031
  onError,
874
1032
  forwardMPCClientEnabled: this.forwardMPCEnabled,
875
- bitcoinConfig
1033
+ bitcoinConfig,
1034
+ shareSetId
876
1035
  });
877
1036
  return _extends({}, data, {
878
1037
  dynamicRequestId
@@ -1046,7 +1205,8 @@ class DynamicWalletClient {
1046
1205
  onError: (error)=>{
1047
1206
  sseErrorGate.reject(error);
1048
1207
  onError == null ? void 0 : onError(error);
1049
- }
1208
+ },
1209
+ shareSetId: walletMetadata.shareSetId
1050
1210
  });
1051
1211
  const derivationPath = derivationPathStr && derivationPathStr != '' ? new Uint32Array(Object.values(JSON.parse(derivationPathStr))) : undefined;
1052
1212
  // Try forward MPC first if enabled, with fallback to relay-based signing on attestation failure
@@ -2081,7 +2241,7 @@ class DynamicWalletClient {
2081
2241
  logger: this.logger
2082
2242
  });
2083
2243
  })();
2084
- this.apiClient = new core$1.DynamicServerApiClient({
2244
+ this.apiClient = new DynamicServerApiClient({
2085
2245
  environmentId,
2086
2246
  baseApiUrl,
2087
2247
  forwardMPCClient: this.resolvedForwardMPCClient,
@@ -2090,67 +2250,6 @@ class DynamicWalletClient {
2090
2250
  }
2091
2251
  }
2092
2252
 
2093
- const subtle = crypto.webcrypto.subtle;
2094
- const ALGO = {
2095
- name: 'ECDSA',
2096
- namedCurve: 'P-256'
2097
- };
2098
- const SIGN_ALGO = {
2099
- name: 'ECDSA',
2100
- hash: 'SHA-256'
2101
- };
2102
- /** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
2103
- if (raw.length !== 65 || raw[0] !== 0x04) {
2104
- throw new Error('expected a 65-byte uncompressed P-256 public key');
2105
- }
2106
- const x = Buffer.from(raw.slice(1, 33));
2107
- const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
2108
- return Buffer.concat([
2109
- Buffer.from([
2110
- prefix
2111
- ]),
2112
- x
2113
- ]).toString('hex');
2114
- };
2115
- /**
2116
- * Generates a P-256 session key pair for the signed-session flow.
2117
- *
2118
- * Returns the compressed public-key hex (bind it into the Dynamic JWT via the
2119
- * `x-dyn-session-public-key` header when you sign in) and the private JWK.
2120
- *
2121
- * Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
2122
- * `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
2123
- * (so it can be handed back to you) and is therefore a convenience path, not a
2124
- * security boundary — if you need a non-extractable key (so a host/operator
2125
- * cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
2126
- * `getSessionSignature` that signs there.
2127
- */ async function generateSessionKeyPair() {
2128
- const keyPair = await subtle.generateKey(ALGO, true, [
2129
- 'sign',
2130
- 'verify'
2131
- ]);
2132
- const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
2133
- const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
2134
- const privateKeyJwk = exportedJwk;
2135
- return {
2136
- publicKeyHex: compress(new Uint8Array(rawPublicKey)),
2137
- privateKeyJwk
2138
- };
2139
- }
2140
- /**
2141
- * Signs a message with a P-256 session private JWK using the exact encoding the
2142
- * keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
2143
- * (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
2144
- * getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
2145
- * The JWK is imported non-extractable for signing.
2146
- */ async function signSessionMessage(message, privateKeyJwk) {
2147
- const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
2148
- 'sign'
2149
- ]);
2150
- const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
2151
- return Buffer.from(new Uint8Array(signature)).toString('hex');
2152
- }
2153
-
2154
2253
  const createCore = ({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug = false, logger: logger$1 })=>{
2155
2254
  let coreLogger;
2156
2255
  if (logger$1) {
@@ -2162,7 +2261,7 @@ const createCore = ({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug = fal
2162
2261
  }
2163
2262
  core$1.Logger.configure(coreLogger);
2164
2263
  const createApiClient = (options = {})=>{
2165
- return new core$1.DynamicServerApiClient(_extends({
2264
+ return new DynamicServerApiClient(_extends({
2166
2265
  environmentId,
2167
2266
  baseApiUrl
2168
2267
  }, options, {
@@ -2729,6 +2828,7 @@ Object.defineProperty(exports, "SignMessageRawSignHashFunctionEnum", {
2729
2828
  enumerable: true,
2730
2829
  get: function () { return sdkApiCore.SignMessageRawSignHashFunctionEnum; }
2731
2830
  });
2831
+ exports.DynamicServerApiClient = DynamicServerApiClient;
2732
2832
  exports.DynamicWalletClient = DynamicWalletClient;
2733
2833
  exports.ERROR_RAW_SIGN_CONTEXT_REQUIRED = ERROR_RAW_SIGN_CONTEXT_REQUIRED;
2734
2834
  exports.base64ToBytes = base64ToBytes;
package/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from '#internal/core';
2
- import { MPC_RELAY_PROD_API_URL, DEFAULT_ED25519_VARIANT, getMPCChainConfig, BackupLocation, isAxiosError, handleAxiosError, Logger, DynamicServerApiClient, getClientThreshold, MPC_CONFIG, classifyForwardMpcError, getTSSConfig, serializeMessageForForwardMPC, getEnvironmentFromUrl, MPC_RELAY_URL_MAP, WalletOperation, createRejectablePromise, getServerWalletReshareConfig, getRequiredExternalKeyShareId, verifiedCredentialNameToChainEnum, ThresholdSignatureScheme, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_FORWARD_MPC_ENCLAVE_URL_MAP, DYNAMIC_FORWARD_MPC_ENCLAVE_ATTESTATION_CONFIG_MAP } from '@dynamic-labs-wallet/core';
2
+ import { MPC_RELAY_PROD_API_URL, DEFAULT_ED25519_VARIANT, getMPCChainConfig, DynamicApiClient, BackupLocation, isAxiosError, handleAxiosError, Logger, getClientThreshold, MPC_CONFIG, classifyForwardMpcError, getTSSConfig, serializeMessageForForwardMPC, getEnvironmentFromUrl, MPC_RELAY_URL_MAP, WalletOperation, createRejectablePromise, getServerWalletReshareConfig, getRequiredExternalKeyShareId, verifiedCredentialNameToChainEnum, ThresholdSignatureScheme, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_FORWARD_MPC_ENCLAVE_URL_MAP, DYNAMIC_FORWARD_MPC_ENCLAVE_ATTESTATION_CONFIG_MAP } from '@dynamic-labs-wallet/core';
3
3
  export { SOLANA_RPC_URL, ThresholdSignatureScheme, WalletOperation, getMPCChainConfig } from '@dynamic-labs-wallet/core';
4
4
  import { SigningAlgorithm } from '@dynamic-labs-wallet/primitives';
5
5
  import { BIP340, Ed25519, ExportableEd25519, Ecdsa, MessageHash, EcdsaSignature, EcdsaKeygenResult, ExportableEd25519KeygenResult, BIP340KeygenResult } from '#internal/node';
@@ -44,6 +44,43 @@ function _extends() {
44
44
  return _extends.apply(this, arguments);
45
45
  }
46
46
 
47
+ function _object_without_properties_loose(source, excluded) {
48
+ if (source == null) return {};
49
+ var target = {};
50
+ var sourceKeys = Object.keys(source);
51
+ var key, i;
52
+ for(i = 0; i < sourceKeys.length; i++){
53
+ key = sourceKeys[i];
54
+ if (excluded.indexOf(key) >= 0) continue;
55
+ target[key] = source[key];
56
+ }
57
+ return target;
58
+ }
59
+
60
+ /**
61
+ * Server SDK variant of {@link DynamicApiClient}. Defaults `isServerSdk` to `true`
62
+ * so routes use the `/api/v0/server` prefix.
63
+ * @see DYNT-537
64
+ */ class DynamicServerApiClient extends DynamicApiClient {
65
+ /**
66
+ * Refreshing only makes sense for a JWT-holding client — a server client
67
+ * already holds the raw API key and re-authenticates via
68
+ * `authenticateApiToken` instead. Never call this on a `DynamicServerApiClient`;
69
+ * construct a plain `DynamicApiClient` bearer-authenticated with the current
70
+ * JWT for the refresh call (see `DynamicWalletClient.refreshAuthToken`).
71
+ */ async refreshUser() {
72
+ throw new Error('refreshUser is not supported on DynamicServerApiClient. Use a plain DynamicApiClient instead.');
73
+ }
74
+ constructor(_param){
75
+ var { isServerSdk } = _param, options = _object_without_properties_loose(_param, [
76
+ "isServerSdk"
77
+ ]);
78
+ super(_extends({}, options, {
79
+ isServerSdk: isServerSdk != null ? isServerSdk : true
80
+ }));
81
+ }
82
+ }
83
+
47
84
  const createLogError = (clientTag)=>({ message, error, context })=>logError({
48
85
  message,
49
86
  error,
@@ -372,6 +409,67 @@ const getKey = async ({ password, salt, encryptionConfig })=>{
372
409
  // walletId resolution server-side.
373
410
  const CEREMONY_COMPLETE_WAIT_MS = 5000;
374
411
 
412
+ const subtle = webcrypto.subtle;
413
+ const ALGO = {
414
+ name: 'ECDSA',
415
+ namedCurve: 'P-256'
416
+ };
417
+ const SIGN_ALGO = {
418
+ name: 'ECDSA',
419
+ hash: 'SHA-256'
420
+ };
421
+ /** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
422
+ if (raw.length !== 65 || raw[0] !== 0x04) {
423
+ throw new Error('expected a 65-byte uncompressed P-256 public key');
424
+ }
425
+ const x = Buffer.from(raw.slice(1, 33));
426
+ const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
427
+ return Buffer.concat([
428
+ Buffer.from([
429
+ prefix
430
+ ]),
431
+ x
432
+ ]).toString('hex');
433
+ };
434
+ /**
435
+ * Generates a P-256 session key pair for the signed-session flow.
436
+ *
437
+ * Returns the compressed public-key hex (bind it into the Dynamic JWT via the
438
+ * `x-dyn-session-public-key` header when you sign in) and the private JWK.
439
+ *
440
+ * Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
441
+ * `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
442
+ * (so it can be handed back to you) and is therefore a convenience path, not a
443
+ * security boundary — if you need a non-extractable key (so a host/operator
444
+ * cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
445
+ * `getSessionSignature` that signs there.
446
+ */ async function generateSessionKeyPair() {
447
+ const keyPair = await subtle.generateKey(ALGO, true, [
448
+ 'sign',
449
+ 'verify'
450
+ ]);
451
+ const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
452
+ const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
453
+ const privateKeyJwk = exportedJwk;
454
+ return {
455
+ publicKeyHex: compress(new Uint8Array(rawPublicKey)),
456
+ privateKeyJwk
457
+ };
458
+ }
459
+ /**
460
+ * Signs a message with a P-256 session private JWK using the exact encoding the
461
+ * keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
462
+ * (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
463
+ * getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
464
+ * The JWK is imported non-extractable for signing.
465
+ */ async function signSessionMessage(message, privateKeyJwk) {
466
+ const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
467
+ 'sign'
468
+ ]);
469
+ const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
470
+ return Buffer.from(new Uint8Array(signature)).toString('hex');
471
+ }
472
+
375
473
  class DynamicWalletClient {
376
474
  ensureApiClientAuthenticated() {
377
475
  if (!this.isApiClientAuthenticated) {
@@ -422,19 +520,54 @@ class DynamicWalletClient {
422
520
  this.nonceCache.length = 0;
423
521
  this.nonceRefill = undefined;
424
522
  this.nonceAuthGeneration += 1;
523
+ // Deliberately does not touch nonceApiClient: refreshAuthToken installs a
524
+ // refreshed JWT for the *same* session and must keep using the raw-token
525
+ // client for nonces. authenticateJwt and authenticateApiToken manage
526
+ // nonceApiClient themselves since only they know whether a raw token
527
+ // still applies to the new session.
528
+ }
529
+ /**
530
+ * Resolves the session key to bind into `authenticateApiToken`'s JWT.
531
+ *
532
+ * Defaults to generating a fresh session key per call (never persisted),
533
+ * mirroring the browser's rotate-on-reauth behavior. Pass `sessionPublicKey`
534
+ * + `getSessionSignature` together to supply your own instead — e.g. a
535
+ * stable key reused across calls, or one backed by a KMS/HSM/enclave signer.
536
+ */ async resolveSessionKey(options) {
537
+ if ((options == null ? void 0 : options.sessionPublicKey) || (options == null ? void 0 : options.getSessionSignature)) {
538
+ if (!options.sessionPublicKey || !options.getSessionSignature) {
539
+ throw new Error('authenticateApiToken: sessionPublicKey and getSessionSignature must be supplied together, or both omitted to auto-generate a session key.');
540
+ }
541
+ return {
542
+ publicKeyHex: options.sessionPublicKey,
543
+ getSessionSignature: options.getSessionSignature
544
+ };
545
+ }
546
+ const { publicKeyHex, privateKeyJwk } = await generateSessionKeyPair();
547
+ return {
548
+ publicKeyHex,
549
+ getSessionSignature: (message)=>signSessionMessage(message, privateKeyJwk)
550
+ };
425
551
  }
426
- async authenticateApiToken(authToken) {
552
+ async authenticateApiToken(authToken, options) {
427
553
  const tmpClient = new DynamicServerApiClient({
428
554
  environmentId: this.environmentId,
429
555
  authToken,
430
556
  baseApiUrl: this.baseApiUrl,
431
557
  logger: this.logger
432
558
  });
559
+ // Binds the resulting JWT's session_public_key claim, which server-side
560
+ // BA operations (e.g. addSigner's client-keyshare backup grant) require present.
561
+ const { publicKeyHex, getSessionSignature } = await this.resolveSessionKey(options);
433
562
  const response = await tmpClient.authenticateApiToken({
434
- environmentId: this.environmentId
563
+ environmentId: this.environmentId,
564
+ sessionPublicKey: publicKeyHex
435
565
  });
436
566
  this.setAuthenticatedJwt(response.data.encodedJwts.minifiedJwt);
437
- this.getSessionSignature = undefined; // drop any signer left from a prior authenticateJwt
567
+ this.getSessionSignature = getSessionSignature;
568
+ // /nonces is authenticated via DYN_API_TOKEN only — reuse the client
569
+ // already holding the raw token instead of the JWT-authenticated one.
570
+ this.nonceApiClient = tmpClient;
438
571
  }
439
572
  /**
440
573
  * Authenticates the client with a Dynamic user JWT obtained outside the SDK —
@@ -453,6 +586,9 @@ class DynamicWalletClient {
453
586
  throw new Error('Invalid JWT: expected a compact JWS with three dot-separated segments');
454
587
  }
455
588
  this.setAuthenticatedJwt(jwt);
589
+ // No raw API token backs this session — drop any raw-token client left
590
+ // over from a prior authenticateApiToken call on this instance.
591
+ this.nonceApiClient = undefined;
456
592
  this.getSessionSignature = options == null ? void 0 : options.getSessionSignature;
457
593
  }
458
594
  async buildSignedSessionId() {
@@ -494,8 +630,8 @@ class DynamicWalletClient {
494
630
  // A refill that lands after a re-auth belongs to the old session — drop it
495
631
  // (and leave the new session's refill slot alone) so stale nonces are never used.
496
632
  const generation = this.nonceAuthGeneration;
497
- var _this_nonceRefill;
498
- (_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = this.apiClient.getNonces({
633
+ var _this_nonceApiClient, _this_nonceRefill;
634
+ (_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = ((_this_nonceApiClient = this.nonceApiClient) != null ? _this_nonceApiClient : this.apiClient).getNonces({
499
635
  count: this.nonceBatchSize
500
636
  }).then(({ nonces })=>{
501
637
  if (!(nonces == null ? void 0 : nonces.length)) throw new Error('No session nonce available');
@@ -514,7 +650,20 @@ class DynamicWalletClient {
514
650
  * must re-authenticate.
515
651
  */ async refreshAuthToken() {
516
652
  this.ensureApiClientAuthenticated();
517
- const data = await this.apiClient.refreshUser();
653
+ if (!this.baseJWTAuthToken) {
654
+ throw new Error('Client is not authenticated');
655
+ }
656
+ // refreshUser only makes sense for a JWT-holding client — this.apiClient is a
657
+ // DynamicServerApiClient, which throws if refreshUser is called on it (a server
658
+ // client re-authenticates via authenticateApiToken instead). Use a plain client
659
+ // bearer-authenticated with the current JWT for the refresh call itself.
660
+ const refreshClient = new DynamicApiClient({
661
+ environmentId: this.environmentId,
662
+ authToken: this.baseJWTAuthToken,
663
+ baseApiUrl: this.baseApiUrl,
664
+ logger: this.logger
665
+ });
666
+ const data = await refreshClient.refreshUser();
518
667
  var _data_minifiedJwt;
519
668
  const refreshedJwt = (_data_minifiedJwt = data == null ? void 0 : data.minifiedJwt) != null ? _data_minifiedJwt : data == null ? void 0 : data.jwt;
520
669
  if (typeof refreshedJwt !== 'string' || refreshedJwt.length === 0) {
@@ -524,6 +673,15 @@ class DynamicWalletClient {
524
673
  return refreshedJwt;
525
674
  }
526
675
  /**
676
+ * Resolves this environment's server identity — a real userId the server
677
+ * itself is authenticated as, with no email/externalUserId of its own.
678
+ * Feed the returned userId into a business-account `addMember` call to add
679
+ * the server as a member.
680
+ */ async getServerIdentity() {
681
+ this.ensureApiClientAuthenticated();
682
+ return this.apiClient.getServerIdentity();
683
+ }
684
+ /**
527
685
  * Fetches non-sensitive wallet identity (walletId, accountAddress, chainName,
528
686
  * derivationPath, thresholdSignatureScheme) from the Dynamic API by
529
687
  * `accountAddress`. SDK-scoped — works with the customer auth token from
@@ -857,7 +1015,7 @@ class DynamicWalletClient {
857
1015
  externalServerKeyShares: externalServerKeygenResults
858
1016
  };
859
1017
  }
860
- async dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId }) {
1018
+ async dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId, shareSetId }) {
861
1019
  const dynamicRequestId = providedRequestId || v4();
862
1020
  this.ensureApiClientAuthenticated();
863
1021
  // Create the room and sign the message
@@ -872,7 +1030,8 @@ class DynamicWalletClient {
872
1030
  context: context ? JSON.parse(JSON.stringify(context, (_key, value)=>typeof value === 'bigint' ? String(value) : value)) : undefined,
873
1031
  onError,
874
1032
  forwardMPCClientEnabled: this.forwardMPCEnabled,
875
- bitcoinConfig
1033
+ bitcoinConfig,
1034
+ shareSetId
876
1035
  });
877
1036
  return _extends({}, data, {
878
1037
  dynamicRequestId
@@ -1046,7 +1205,8 @@ class DynamicWalletClient {
1046
1205
  onError: (error)=>{
1047
1206
  sseErrorGate.reject(error);
1048
1207
  onError == null ? void 0 : onError(error);
1049
- }
1208
+ },
1209
+ shareSetId: walletMetadata.shareSetId
1050
1210
  });
1051
1211
  const derivationPath = derivationPathStr && derivationPathStr != '' ? new Uint32Array(Object.values(JSON.parse(derivationPathStr))) : undefined;
1052
1212
  // Try forward MPC first if enabled, with fallback to relay-based signing on attestation failure
@@ -2090,67 +2250,6 @@ class DynamicWalletClient {
2090
2250
  }
2091
2251
  }
2092
2252
 
2093
- const subtle = webcrypto.subtle;
2094
- const ALGO = {
2095
- name: 'ECDSA',
2096
- namedCurve: 'P-256'
2097
- };
2098
- const SIGN_ALGO = {
2099
- name: 'ECDSA',
2100
- hash: 'SHA-256'
2101
- };
2102
- /** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
2103
- if (raw.length !== 65 || raw[0] !== 0x04) {
2104
- throw new Error('expected a 65-byte uncompressed P-256 public key');
2105
- }
2106
- const x = Buffer.from(raw.slice(1, 33));
2107
- const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
2108
- return Buffer.concat([
2109
- Buffer.from([
2110
- prefix
2111
- ]),
2112
- x
2113
- ]).toString('hex');
2114
- };
2115
- /**
2116
- * Generates a P-256 session key pair for the signed-session flow.
2117
- *
2118
- * Returns the compressed public-key hex (bind it into the Dynamic JWT via the
2119
- * `x-dyn-session-public-key` header when you sign in) and the private JWK.
2120
- *
2121
- * Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
2122
- * `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
2123
- * (so it can be handed back to you) and is therefore a convenience path, not a
2124
- * security boundary — if you need a non-extractable key (so a host/operator
2125
- * cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
2126
- * `getSessionSignature` that signs there.
2127
- */ async function generateSessionKeyPair() {
2128
- const keyPair = await subtle.generateKey(ALGO, true, [
2129
- 'sign',
2130
- 'verify'
2131
- ]);
2132
- const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
2133
- const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
2134
- const privateKeyJwk = exportedJwk;
2135
- return {
2136
- publicKeyHex: compress(new Uint8Array(rawPublicKey)),
2137
- privateKeyJwk
2138
- };
2139
- }
2140
- /**
2141
- * Signs a message with a P-256 session private JWK using the exact encoding the
2142
- * keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
2143
- * (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
2144
- * getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
2145
- * The JWK is imported non-extractable for signing.
2146
- */ async function signSessionMessage(message, privateKeyJwk) {
2147
- const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
2148
- 'sign'
2149
- ]);
2150
- const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
2151
- return Buffer.from(new Uint8Array(signature)).toString('hex');
2152
- }
2153
-
2154
2253
  const createCore = ({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug = false, logger })=>{
2155
2254
  let coreLogger;
2156
2255
  if (logger) {
@@ -2709,4 +2808,4 @@ const asAuthError = async (error, operation)=>{
2709
2808
  };
2710
2809
  }
2711
2810
 
2712
- export { DynamicWalletClient, ERROR_RAW_SIGN_CONTEXT_REQUIRED, base64ToBytes, bytesToBase64, createAuthClient, createDelegatedWalletClient, createLogError, decryptDelegatedWebhookData, delegatedSignMessage, ensureBase64Padding, formatEvmMessage, formatMessage, generateSessionKeyPair, getExternalServerKeyShareBackupInfo, getMPCSignatureScheme, getMPCSigner, isHexString, logError, mergeUniqueKeyShares, parseIndexMapDerivationPath, resolveRawSignContext, retryPromise, revokeDelegation, signSessionMessage, stringToBytes, stripHexPrefix, withDelegatedServerAuth };
2811
+ export { DynamicServerApiClient, DynamicWalletClient, ERROR_RAW_SIGN_CONTEXT_REQUIRED, base64ToBytes, bytesToBase64, createAuthClient, createDelegatedWalletClient, createLogError, decryptDelegatedWebhookData, delegatedSignMessage, ensureBase64Padding, formatEvmMessage, formatMessage, generateSessionKeyPair, getExternalServerKeyShareBackupInfo, getMPCSignatureScheme, getMPCSigner, isHexString, logError, mergeUniqueKeyShares, parseIndexMapDerivationPath, resolveRawSignContext, retryPromise, revokeDelegation, signSessionMessage, stringToBytes, stripHexPrefix, withDelegatedServerAuth };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/node",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@dynamic-labs-wallet/core": "1.1.15",
7
+ "@dynamic-labs-wallet/core": "1.1.17",
8
8
  "@dynamic-labs-wallet/forward-mpc-client": "2.0.2",
9
- "@dynamic-labs-wallet/primitives": "1.1.15",
9
+ "@dynamic-labs-wallet/primitives": "1.1.17",
10
10
  "@dynamic-labs/logger": "^5.0.0",
11
11
  "@dynamic-labs/sdk-api-core": "^0.16.0",
12
12
  "uuid": "11.1.0",
package/src/api.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { DynamicApiClient, type DynamicApiClientOptions } from '@dynamic-labs-wallet/core';
2
+ /**
3
+ * Server SDK variant of {@link DynamicApiClient}. Defaults `isServerSdk` to `true`
4
+ * so routes use the `/api/v0/server` prefix.
5
+ * @see DYNT-537
6
+ */
7
+ export declare class DynamicServerApiClient extends DynamicApiClient {
8
+ constructor({ isServerSdk, ...options }: DynamicApiClientOptions);
9
+ /**
10
+ * Refreshing only makes sense for a JWT-holding client — a server client
11
+ * already holds the raw API key and re-authenticates via
12
+ * `authenticateApiToken` instead. Never call this on a `DynamicServerApiClient`;
13
+ * construct a plain `DynamicApiClient` bearer-authenticated with the current
14
+ * JWT for the refresh call (see `DynamicWalletClient.refreshAuthToken`).
15
+ */
16
+ refreshUser(): Promise<never>;
17
+ }
18
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../packages/src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE3F;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,EAAE,uBAAuB;IAOhE;;;;;;OAMG;IACY,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;CAG7C"}
package/src/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BIP340, Ecdsa, EcdsaKeygenResult, EcdsaSignature, ExportableEd25519, MessageHash, type EcdsaPublicKey } from '#internal/node';
2
- import { BackupLocation, type DynamicApiClient, ThresholdSignatureScheme, type ILogger, WalletOperation, type BitcoinConfig, type KeyShareBackupInfo, type RequestWithElevatedAccessToken, type ShareSetType } from '@dynamic-labs-wallet/core';
2
+ import { BackupLocation, DynamicApiClient, ThresholdSignatureScheme, type ILogger, WalletOperation, type BitcoinConfig, type KeyShareBackupInfo, type RequestWithElevatedAccessToken, type ShareSetType } from '@dynamic-labs-wallet/core';
3
3
  import { ForwardMPCClientV2 } from '@dynamic-labs-wallet/forward-mpc-client';
4
4
  import type { SignMessageContext } from '@dynamic-labs/sdk-api-core';
5
5
  import type { ServerKeyShare } from './mpc/index.js';
@@ -22,6 +22,7 @@ export declare class DynamicWalletClient {
22
22
  private readonly nonceCache;
23
23
  private nonceRefill?;
24
24
  private nonceAuthGeneration;
25
+ private nonceApiClient?;
25
26
  constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug, forwardMPCClient, enableMPCAccelerator, logger, }: DynamicWalletClientProps);
26
27
  private ensureApiClientAuthenticated;
27
28
  /**
@@ -40,7 +41,21 @@ export declare class DynamicWalletClient {
40
41
  * and rebuilds the API client, preserving the forward-MPC client.
41
42
  */
42
43
  private setAuthenticatedJwt;
43
- authenticateApiToken(authToken: string): Promise<void>;
44
+ /**
45
+ * Resolves the session key to bind into `authenticateApiToken`'s JWT.
46
+ *
47
+ * Defaults to generating a fresh session key per call (never persisted),
48
+ * mirroring the browser's rotate-on-reauth behavior. Pass `sessionPublicKey`
49
+ * + `getSessionSignature` together to supply your own instead — e.g. a
50
+ * stable key reused across calls, or one backed by a KMS/HSM/enclave signer.
51
+ */
52
+ private resolveSessionKey;
53
+ authenticateApiToken(authToken: string, options?: {
54
+ /** Compressed P-256 public key hex, bound into the JWT's `session_public_key` claim. Must be supplied together with `getSessionSignature`. */
55
+ sessionPublicKey?: string;
56
+ /** Signs with the private key backing `sessionPublicKey` (see `signSessionMessage`, or your own KMS/HSM/enclave signer). Must be supplied together with `sessionPublicKey`. */
57
+ getSessionSignature?: (message: string) => Promise<string>;
58
+ }): Promise<void>;
44
59
  /**
45
60
  * Authenticates the client with a Dynamic user JWT obtained outside the SDK —
46
61
  * e.g. by an agent that completed a Dynamic sign-in (external auth, email OTP)
@@ -66,6 +81,15 @@ export declare class DynamicWalletClient {
66
81
  * must re-authenticate.
67
82
  */
68
83
  refreshAuthToken(): Promise<string>;
84
+ /**
85
+ * Resolves this environment's server identity — a real userId the server
86
+ * itself is authenticated as, with no email/externalUserId of its own.
87
+ * Feed the returned userId into a business-account `addMember` call to add
88
+ * the server as a member.
89
+ */
90
+ getServerIdentity(): Promise<{
91
+ userId: string;
92
+ }>;
69
93
  /**
70
94
  * Fetches non-sensitive wallet identity (walletId, accountAddress, chainName,
71
95
  * derivationPath, thresholdSignatureScheme) from the Dynamic API by
@@ -175,7 +199,7 @@ export declare class DynamicWalletClient {
175
199
  rawPublicKey: RawPublicKey;
176
200
  externalServerKeyShares: ServerKeyShare[];
177
201
  }>;
178
- dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId, }: {
202
+ dynamicServerSign({ walletId, message, isFormatted, context, bitcoinConfig, onError, dynamicRequestId: providedRequestId, shareSetId, }: {
179
203
  walletId: string;
180
204
  message: string | Uint8Array;
181
205
  isFormatted?: boolean;
@@ -183,6 +207,7 @@ export declare class DynamicWalletClient {
183
207
  bitcoinConfig?: BitcoinConfig;
184
208
  onError?: (error: Error) => void;
185
209
  dynamicRequestId?: string;
210
+ shareSetId?: string;
186
211
  }): Promise<{
187
212
  dynamicRequestId: string;
188
213
  roomId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createCore.d.ts","sourceRoot":"","sources":["../../src/core/createCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAkC,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGhH,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,gBAAgB,CAAC;IACjF,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,UAAU,sEAMpB,UAAU,KAAG,IA4Bf,CAAC"}
1
+ {"version":3,"file":"createCore.d.ts","sourceRoot":"","sources":["../../src/core/createCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAU,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIxF,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,gBAAgB,CAAC;IACjF,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,UAAU,sEAMpB,UAAU,KAAG,IA4Bf,CAAC"}
package/src/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export type { TraceContext } from '@dynamic-labs-wallet/core';
4
4
  export { WalletOperation, SOLANA_RPC_URL, getMPCChainConfig } from '@dynamic-labs-wallet/core';
5
5
  export { getMPCSignatureScheme, getMPCSigner } from './mpc/index.js';
6
6
  export type { ServerInitKeygenResult, ServerKeyShare, SignMessage } from './mpc/index.js';
7
+ export { DynamicServerApiClient } from './api.js';
7
8
  export * from './client.js';
8
9
  export * from './types.js';
9
10
  export * from './utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG/F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1F,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG/F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}