@dynamic-labs-wallet/node 1.1.15 → 1.1.16
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 +113 -66
- package/index.esm.js +113 -66
- package/package.json +3 -3
- package/src/client.d.ts +25 -1
- package/src/client.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -372,6 +372,67 @@ const getKey = async ({ password, salt, encryptionConfig })=>{
|
|
|
372
372
|
// walletId resolution server-side.
|
|
373
373
|
const CEREMONY_COMPLETE_WAIT_MS = 5000;
|
|
374
374
|
|
|
375
|
+
const subtle = crypto.webcrypto.subtle;
|
|
376
|
+
const ALGO = {
|
|
377
|
+
name: 'ECDSA',
|
|
378
|
+
namedCurve: 'P-256'
|
|
379
|
+
};
|
|
380
|
+
const SIGN_ALGO = {
|
|
381
|
+
name: 'ECDSA',
|
|
382
|
+
hash: 'SHA-256'
|
|
383
|
+
};
|
|
384
|
+
/** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
|
|
385
|
+
if (raw.length !== 65 || raw[0] !== 0x04) {
|
|
386
|
+
throw new Error('expected a 65-byte uncompressed P-256 public key');
|
|
387
|
+
}
|
|
388
|
+
const x = Buffer.from(raw.slice(1, 33));
|
|
389
|
+
const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
|
|
390
|
+
return Buffer.concat([
|
|
391
|
+
Buffer.from([
|
|
392
|
+
prefix
|
|
393
|
+
]),
|
|
394
|
+
x
|
|
395
|
+
]).toString('hex');
|
|
396
|
+
};
|
|
397
|
+
/**
|
|
398
|
+
* Generates a P-256 session key pair for the signed-session flow.
|
|
399
|
+
*
|
|
400
|
+
* Returns the compressed public-key hex (bind it into the Dynamic JWT via the
|
|
401
|
+
* `x-dyn-session-public-key` header when you sign in) and the private JWK.
|
|
402
|
+
*
|
|
403
|
+
* Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
|
|
404
|
+
* `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
|
|
405
|
+
* (so it can be handed back to you) and is therefore a convenience path, not a
|
|
406
|
+
* security boundary — if you need a non-extractable key (so a host/operator
|
|
407
|
+
* cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
|
|
408
|
+
* `getSessionSignature` that signs there.
|
|
409
|
+
*/ async function generateSessionKeyPair() {
|
|
410
|
+
const keyPair = await subtle.generateKey(ALGO, true, [
|
|
411
|
+
'sign',
|
|
412
|
+
'verify'
|
|
413
|
+
]);
|
|
414
|
+
const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
|
|
415
|
+
const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
|
|
416
|
+
const privateKeyJwk = exportedJwk;
|
|
417
|
+
return {
|
|
418
|
+
publicKeyHex: compress(new Uint8Array(rawPublicKey)),
|
|
419
|
+
privateKeyJwk
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Signs a message with a P-256 session private JWK using the exact encoding the
|
|
424
|
+
* keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
|
|
425
|
+
* (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
|
|
426
|
+
* getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
|
|
427
|
+
* The JWK is imported non-extractable for signing.
|
|
428
|
+
*/ async function signSessionMessage(message, privateKeyJwk) {
|
|
429
|
+
const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
|
|
430
|
+
'sign'
|
|
431
|
+
]);
|
|
432
|
+
const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
|
|
433
|
+
return Buffer.from(new Uint8Array(signature)).toString('hex');
|
|
434
|
+
}
|
|
435
|
+
|
|
375
436
|
class DynamicWalletClient {
|
|
376
437
|
ensureApiClientAuthenticated() {
|
|
377
438
|
if (!this.isApiClientAuthenticated) {
|
|
@@ -422,19 +483,54 @@ class DynamicWalletClient {
|
|
|
422
483
|
this.nonceCache.length = 0;
|
|
423
484
|
this.nonceRefill = undefined;
|
|
424
485
|
this.nonceAuthGeneration += 1;
|
|
486
|
+
// Deliberately does not touch nonceApiClient: refreshAuthToken installs a
|
|
487
|
+
// refreshed JWT for the *same* session and must keep using the raw-token
|
|
488
|
+
// client for nonces. authenticateJwt and authenticateApiToken manage
|
|
489
|
+
// nonceApiClient themselves since only they know whether a raw token
|
|
490
|
+
// still applies to the new session.
|
|
425
491
|
}
|
|
426
|
-
|
|
492
|
+
/**
|
|
493
|
+
* Resolves the session key to bind into `authenticateApiToken`'s JWT.
|
|
494
|
+
*
|
|
495
|
+
* Defaults to generating a fresh session key per call (never persisted),
|
|
496
|
+
* mirroring the browser's rotate-on-reauth behavior. Pass `sessionPublicKey`
|
|
497
|
+
* + `getSessionSignature` together to supply your own instead — e.g. a
|
|
498
|
+
* stable key reused across calls, or one backed by a KMS/HSM/enclave signer.
|
|
499
|
+
*/ async resolveSessionKey(options) {
|
|
500
|
+
if ((options == null ? void 0 : options.sessionPublicKey) || (options == null ? void 0 : options.getSessionSignature)) {
|
|
501
|
+
if (!options.sessionPublicKey || !options.getSessionSignature) {
|
|
502
|
+
throw new Error('authenticateApiToken: sessionPublicKey and getSessionSignature must be supplied together, or both omitted to auto-generate a session key.');
|
|
503
|
+
}
|
|
504
|
+
return {
|
|
505
|
+
publicKeyHex: options.sessionPublicKey,
|
|
506
|
+
getSessionSignature: options.getSessionSignature
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
const { publicKeyHex, privateKeyJwk } = await generateSessionKeyPair();
|
|
510
|
+
return {
|
|
511
|
+
publicKeyHex,
|
|
512
|
+
getSessionSignature: (message)=>signSessionMessage(message, privateKeyJwk)
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
async authenticateApiToken(authToken, options) {
|
|
427
516
|
const tmpClient = new core$1.DynamicServerApiClient({
|
|
428
517
|
environmentId: this.environmentId,
|
|
429
518
|
authToken,
|
|
430
519
|
baseApiUrl: this.baseApiUrl,
|
|
431
520
|
logger: this.logger
|
|
432
521
|
});
|
|
522
|
+
// Binds the resulting JWT's session_public_key claim, which server-side
|
|
523
|
+
// BA operations (e.g. addSigner's client-keyshare backup grant) require present.
|
|
524
|
+
const { publicKeyHex, getSessionSignature } = await this.resolveSessionKey(options);
|
|
433
525
|
const response = await tmpClient.authenticateApiToken({
|
|
434
|
-
environmentId: this.environmentId
|
|
526
|
+
environmentId: this.environmentId,
|
|
527
|
+
sessionPublicKey: publicKeyHex
|
|
435
528
|
});
|
|
436
529
|
this.setAuthenticatedJwt(response.data.encodedJwts.minifiedJwt);
|
|
437
|
-
this.getSessionSignature =
|
|
530
|
+
this.getSessionSignature = getSessionSignature;
|
|
531
|
+
// /nonces is authenticated via DYN_API_TOKEN only — reuse the client
|
|
532
|
+
// already holding the raw token instead of the JWT-authenticated one.
|
|
533
|
+
this.nonceApiClient = tmpClient;
|
|
438
534
|
}
|
|
439
535
|
/**
|
|
440
536
|
* Authenticates the client with a Dynamic user JWT obtained outside the SDK —
|
|
@@ -453,6 +549,9 @@ class DynamicWalletClient {
|
|
|
453
549
|
throw new Error('Invalid JWT: expected a compact JWS with three dot-separated segments');
|
|
454
550
|
}
|
|
455
551
|
this.setAuthenticatedJwt(jwt);
|
|
552
|
+
// No raw API token backs this session — drop any raw-token client left
|
|
553
|
+
// over from a prior authenticateApiToken call on this instance.
|
|
554
|
+
this.nonceApiClient = undefined;
|
|
456
555
|
this.getSessionSignature = options == null ? void 0 : options.getSessionSignature;
|
|
457
556
|
}
|
|
458
557
|
async buildSignedSessionId() {
|
|
@@ -494,8 +593,8 @@ class DynamicWalletClient {
|
|
|
494
593
|
// A refill that lands after a re-auth belongs to the old session — drop it
|
|
495
594
|
// (and leave the new session's refill slot alone) so stale nonces are never used.
|
|
496
595
|
const generation = this.nonceAuthGeneration;
|
|
497
|
-
var _this_nonceRefill;
|
|
498
|
-
(_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = this.apiClient.getNonces({
|
|
596
|
+
var _this_nonceApiClient, _this_nonceRefill;
|
|
597
|
+
(_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = ((_this_nonceApiClient = this.nonceApiClient) != null ? _this_nonceApiClient : this.apiClient).getNonces({
|
|
499
598
|
count: this.nonceBatchSize
|
|
500
599
|
}).then(({ nonces })=>{
|
|
501
600
|
if (!(nonces == null ? void 0 : nonces.length)) throw new Error('No session nonce available');
|
|
@@ -524,6 +623,15 @@ class DynamicWalletClient {
|
|
|
524
623
|
return refreshedJwt;
|
|
525
624
|
}
|
|
526
625
|
/**
|
|
626
|
+
* Resolves this environment's server identity — a real userId the server
|
|
627
|
+
* itself is authenticated as, with no email/externalUserId of its own.
|
|
628
|
+
* Feed the returned userId into a business-account `addMember` call to add
|
|
629
|
+
* the server as a member.
|
|
630
|
+
*/ async getServerIdentity() {
|
|
631
|
+
this.ensureApiClientAuthenticated();
|
|
632
|
+
return this.apiClient.getServerIdentity();
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
527
635
|
* Fetches non-sensitive wallet identity (walletId, accountAddress, chainName,
|
|
528
636
|
* derivationPath, thresholdSignatureScheme) from the Dynamic API by
|
|
529
637
|
* `accountAddress`. SDK-scoped — works with the customer auth token from
|
|
@@ -2090,67 +2198,6 @@ class DynamicWalletClient {
|
|
|
2090
2198
|
}
|
|
2091
2199
|
}
|
|
2092
2200
|
|
|
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
2201
|
const createCore = ({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug = false, logger: logger$1 })=>{
|
|
2155
2202
|
let coreLogger;
|
|
2156
2203
|
if (logger$1) {
|
package/index.esm.js
CHANGED
|
@@ -372,6 +372,67 @@ const getKey = async ({ password, salt, encryptionConfig })=>{
|
|
|
372
372
|
// walletId resolution server-side.
|
|
373
373
|
const CEREMONY_COMPLETE_WAIT_MS = 5000;
|
|
374
374
|
|
|
375
|
+
const subtle = webcrypto.subtle;
|
|
376
|
+
const ALGO = {
|
|
377
|
+
name: 'ECDSA',
|
|
378
|
+
namedCurve: 'P-256'
|
|
379
|
+
};
|
|
380
|
+
const SIGN_ALGO = {
|
|
381
|
+
name: 'ECDSA',
|
|
382
|
+
hash: 'SHA-256'
|
|
383
|
+
};
|
|
384
|
+
/** Compress a 65-byte uncompressed SEC1 P-256 point to 33-byte compressed lowercase hex. */ const compress = (raw)=>{
|
|
385
|
+
if (raw.length !== 65 || raw[0] !== 0x04) {
|
|
386
|
+
throw new Error('expected a 65-byte uncompressed P-256 public key');
|
|
387
|
+
}
|
|
388
|
+
const x = Buffer.from(raw.slice(1, 33));
|
|
389
|
+
const prefix = (raw[64] & 1) === 0 ? 0x02 : 0x03;
|
|
390
|
+
return Buffer.concat([
|
|
391
|
+
Buffer.from([
|
|
392
|
+
prefix
|
|
393
|
+
]),
|
|
394
|
+
x
|
|
395
|
+
]).toString('hex');
|
|
396
|
+
};
|
|
397
|
+
/**
|
|
398
|
+
* Generates a P-256 session key pair for the signed-session flow.
|
|
399
|
+
*
|
|
400
|
+
* Returns the compressed public-key hex (bind it into the Dynamic JWT via the
|
|
401
|
+
* `x-dyn-session-public-key` header when you sign in) and the private JWK.
|
|
402
|
+
*
|
|
403
|
+
* Stateless and custody-agnostic: the SDK does NOT persist the key. YOU store
|
|
404
|
+
* `privateKeyJwk` wherever you keep secrets. The returned JWK is extractable
|
|
405
|
+
* (so it can be handed back to you) and is therefore a convenience path, not a
|
|
406
|
+
* security boundary — if you need a non-extractable key (so a host/operator
|
|
407
|
+
* cannot exfiltrate it), generate it in a KMS/HSM/enclave instead and supply a
|
|
408
|
+
* `getSessionSignature` that signs there.
|
|
409
|
+
*/ async function generateSessionKeyPair() {
|
|
410
|
+
const keyPair = await subtle.generateKey(ALGO, true, [
|
|
411
|
+
'sign',
|
|
412
|
+
'verify'
|
|
413
|
+
]);
|
|
414
|
+
const rawPublicKey = await subtle.exportKey('raw', keyPair.publicKey);
|
|
415
|
+
const exportedJwk = await subtle.exportKey('jwk', keyPair.privateKey);
|
|
416
|
+
const privateKeyJwk = exportedJwk;
|
|
417
|
+
return {
|
|
418
|
+
publicKeyHex: compress(new Uint8Array(rawPublicKey)),
|
|
419
|
+
privateKeyJwk
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Signs a message with a P-256 session private JWK using the exact encoding the
|
|
424
|
+
* keyshares relay expects: ECDSA P-256 / SHA-256 over UTF-8(message), raw r‖s
|
|
425
|
+
* (64 bytes), lowercase hex. Use it to implement `getSessionSignature`:
|
|
426
|
+
* getSessionSignature: (message) => signSessionMessage(message, privateKeyJwk)
|
|
427
|
+
* The JWK is imported non-extractable for signing.
|
|
428
|
+
*/ async function signSessionMessage(message, privateKeyJwk) {
|
|
429
|
+
const key = await subtle.importKey('jwk', privateKeyJwk, ALGO, false, [
|
|
430
|
+
'sign'
|
|
431
|
+
]);
|
|
432
|
+
const signature = await subtle.sign(SIGN_ALGO, key, new TextEncoder().encode(message));
|
|
433
|
+
return Buffer.from(new Uint8Array(signature)).toString('hex');
|
|
434
|
+
}
|
|
435
|
+
|
|
375
436
|
class DynamicWalletClient {
|
|
376
437
|
ensureApiClientAuthenticated() {
|
|
377
438
|
if (!this.isApiClientAuthenticated) {
|
|
@@ -422,19 +483,54 @@ class DynamicWalletClient {
|
|
|
422
483
|
this.nonceCache.length = 0;
|
|
423
484
|
this.nonceRefill = undefined;
|
|
424
485
|
this.nonceAuthGeneration += 1;
|
|
486
|
+
// Deliberately does not touch nonceApiClient: refreshAuthToken installs a
|
|
487
|
+
// refreshed JWT for the *same* session and must keep using the raw-token
|
|
488
|
+
// client for nonces. authenticateJwt and authenticateApiToken manage
|
|
489
|
+
// nonceApiClient themselves since only they know whether a raw token
|
|
490
|
+
// still applies to the new session.
|
|
425
491
|
}
|
|
426
|
-
|
|
492
|
+
/**
|
|
493
|
+
* Resolves the session key to bind into `authenticateApiToken`'s JWT.
|
|
494
|
+
*
|
|
495
|
+
* Defaults to generating a fresh session key per call (never persisted),
|
|
496
|
+
* mirroring the browser's rotate-on-reauth behavior. Pass `sessionPublicKey`
|
|
497
|
+
* + `getSessionSignature` together to supply your own instead — e.g. a
|
|
498
|
+
* stable key reused across calls, or one backed by a KMS/HSM/enclave signer.
|
|
499
|
+
*/ async resolveSessionKey(options) {
|
|
500
|
+
if ((options == null ? void 0 : options.sessionPublicKey) || (options == null ? void 0 : options.getSessionSignature)) {
|
|
501
|
+
if (!options.sessionPublicKey || !options.getSessionSignature) {
|
|
502
|
+
throw new Error('authenticateApiToken: sessionPublicKey and getSessionSignature must be supplied together, or both omitted to auto-generate a session key.');
|
|
503
|
+
}
|
|
504
|
+
return {
|
|
505
|
+
publicKeyHex: options.sessionPublicKey,
|
|
506
|
+
getSessionSignature: options.getSessionSignature
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
const { publicKeyHex, privateKeyJwk } = await generateSessionKeyPair();
|
|
510
|
+
return {
|
|
511
|
+
publicKeyHex,
|
|
512
|
+
getSessionSignature: (message)=>signSessionMessage(message, privateKeyJwk)
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
async authenticateApiToken(authToken, options) {
|
|
427
516
|
const tmpClient = new DynamicServerApiClient({
|
|
428
517
|
environmentId: this.environmentId,
|
|
429
518
|
authToken,
|
|
430
519
|
baseApiUrl: this.baseApiUrl,
|
|
431
520
|
logger: this.logger
|
|
432
521
|
});
|
|
522
|
+
// Binds the resulting JWT's session_public_key claim, which server-side
|
|
523
|
+
// BA operations (e.g. addSigner's client-keyshare backup grant) require present.
|
|
524
|
+
const { publicKeyHex, getSessionSignature } = await this.resolveSessionKey(options);
|
|
433
525
|
const response = await tmpClient.authenticateApiToken({
|
|
434
|
-
environmentId: this.environmentId
|
|
526
|
+
environmentId: this.environmentId,
|
|
527
|
+
sessionPublicKey: publicKeyHex
|
|
435
528
|
});
|
|
436
529
|
this.setAuthenticatedJwt(response.data.encodedJwts.minifiedJwt);
|
|
437
|
-
this.getSessionSignature =
|
|
530
|
+
this.getSessionSignature = getSessionSignature;
|
|
531
|
+
// /nonces is authenticated via DYN_API_TOKEN only — reuse the client
|
|
532
|
+
// already holding the raw token instead of the JWT-authenticated one.
|
|
533
|
+
this.nonceApiClient = tmpClient;
|
|
438
534
|
}
|
|
439
535
|
/**
|
|
440
536
|
* Authenticates the client with a Dynamic user JWT obtained outside the SDK —
|
|
@@ -453,6 +549,9 @@ class DynamicWalletClient {
|
|
|
453
549
|
throw new Error('Invalid JWT: expected a compact JWS with three dot-separated segments');
|
|
454
550
|
}
|
|
455
551
|
this.setAuthenticatedJwt(jwt);
|
|
552
|
+
// No raw API token backs this session — drop any raw-token client left
|
|
553
|
+
// over from a prior authenticateApiToken call on this instance.
|
|
554
|
+
this.nonceApiClient = undefined;
|
|
456
555
|
this.getSessionSignature = options == null ? void 0 : options.getSessionSignature;
|
|
457
556
|
}
|
|
458
557
|
async buildSignedSessionId() {
|
|
@@ -494,8 +593,8 @@ class DynamicWalletClient {
|
|
|
494
593
|
// A refill that lands after a re-auth belongs to the old session — drop it
|
|
495
594
|
// (and leave the new session's refill slot alone) so stale nonces are never used.
|
|
496
595
|
const generation = this.nonceAuthGeneration;
|
|
497
|
-
var _this_nonceRefill;
|
|
498
|
-
(_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = this.apiClient.getNonces({
|
|
596
|
+
var _this_nonceApiClient, _this_nonceRefill;
|
|
597
|
+
(_this_nonceRefill = this.nonceRefill) != null ? _this_nonceRefill : this.nonceRefill = ((_this_nonceApiClient = this.nonceApiClient) != null ? _this_nonceApiClient : this.apiClient).getNonces({
|
|
499
598
|
count: this.nonceBatchSize
|
|
500
599
|
}).then(({ nonces })=>{
|
|
501
600
|
if (!(nonces == null ? void 0 : nonces.length)) throw new Error('No session nonce available');
|
|
@@ -524,6 +623,15 @@ class DynamicWalletClient {
|
|
|
524
623
|
return refreshedJwt;
|
|
525
624
|
}
|
|
526
625
|
/**
|
|
626
|
+
* Resolves this environment's server identity — a real userId the server
|
|
627
|
+
* itself is authenticated as, with no email/externalUserId of its own.
|
|
628
|
+
* Feed the returned userId into a business-account `addMember` call to add
|
|
629
|
+
* the server as a member.
|
|
630
|
+
*/ async getServerIdentity() {
|
|
631
|
+
this.ensureApiClientAuthenticated();
|
|
632
|
+
return this.apiClient.getServerIdentity();
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
527
635
|
* Fetches non-sensitive wallet identity (walletId, accountAddress, chainName,
|
|
528
636
|
* derivationPath, thresholdSignatureScheme) from the Dynamic API by
|
|
529
637
|
* `accountAddress`. SDK-scoped — works with the customer auth token from
|
|
@@ -2090,67 +2198,6 @@ class DynamicWalletClient {
|
|
|
2090
2198
|
}
|
|
2091
2199
|
}
|
|
2092
2200
|
|
|
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
2201
|
const createCore = ({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug = false, logger })=>{
|
|
2155
2202
|
let coreLogger;
|
|
2156
2203
|
if (logger) {
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/node",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.16",
|
|
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.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.1.16",
|
|
8
8
|
"@dynamic-labs-wallet/forward-mpc-client": "2.0.2",
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "1.1.
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "1.1.16",
|
|
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/client.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
package/src/client.d.ts.map
CHANGED
|
@@ -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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"}
|