@dynamic-labs-wallet/core 1.0.44 → 1.0.45
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 +104 -12
- package/index.esm.js +102 -13
- package/package.json +2 -2
- package/src/api/api.d.ts +16 -0
- package/src/api/api.d.ts.map +1 -1
- package/src/api/client.d.ts.map +1 -1
- package/src/utils/index.d.ts +1 -0
- package/src/utils/index.d.ts.map +1 -1
- package/src/utils/jwt.d.ts +19 -0
- package/src/utils/jwt.d.ts.map +1 -0
package/index.cjs
CHANGED
|
@@ -939,6 +939,47 @@ const getElapsedTime = (startTime)=>{
|
|
|
939
939
|
};
|
|
940
940
|
};
|
|
941
941
|
|
|
942
|
+
/**
|
|
943
|
+
* Decodes a JWT payload without verifying the signature. Returns undefined
|
|
944
|
+
* when the token is missing or malformed. Decode-only — never use this for
|
|
945
|
+
* trust decisions, only for reading client-side claims (e.g. user id, or
|
|
946
|
+
* `exp` for proactive token refresh).
|
|
947
|
+
*/ const decodeJwtPayload = (token)=>{
|
|
948
|
+
if (!token || typeof token !== 'string') return undefined;
|
|
949
|
+
const parts = token.split('.');
|
|
950
|
+
if (parts.length !== 3 || !parts[1]) return undefined;
|
|
951
|
+
const payloadBase64 = parts[1];
|
|
952
|
+
// Accept base64url (- _ no padding) or standard base64 (+ / with = padding).
|
|
953
|
+
if (!/^[A-Za-z0-9_\-+/]+={0,2}$/.test(payloadBase64)) return undefined;
|
|
954
|
+
// Guard against pathologically large payloads.
|
|
955
|
+
if (payloadBase64.length > 16384) return undefined;
|
|
956
|
+
try {
|
|
957
|
+
// base64url -> base64 (atob in browsers, Buffer in node)
|
|
958
|
+
const base64 = payloadBase64.replace(/-/g, '+').replace(/_/g, '/');
|
|
959
|
+
const json = typeof atob === 'function' ? atob(base64) : Buffer.from(base64, 'base64').toString('utf-8');
|
|
960
|
+
return JSON.parse(json);
|
|
961
|
+
} catch (e) {
|
|
962
|
+
return undefined;
|
|
963
|
+
}
|
|
964
|
+
};
|
|
965
|
+
/**
|
|
966
|
+
* Extracts the `exp` claim (unix seconds) from a JWT. Returns undefined when
|
|
967
|
+
* the token is missing, malformed, or has no numeric `exp`.
|
|
968
|
+
*/ const getJwtExpiresAt = (token)=>{
|
|
969
|
+
var _decodeJwtPayload;
|
|
970
|
+
const exp = (_decodeJwtPayload = decodeJwtPayload(token)) == null ? void 0 : _decodeJwtPayload['exp'];
|
|
971
|
+
return typeof exp === 'number' ? exp : undefined;
|
|
972
|
+
};
|
|
973
|
+
/**
|
|
974
|
+
* True when the token's `exp` falls within the next `withinMs` milliseconds
|
|
975
|
+
* (or is already past). Tokens without a parsable `exp` are treated as NOT
|
|
976
|
+
* expiring so callers don't refresh-loop on unparsable tokens.
|
|
977
|
+
*/ const isJwtExpiringSoon = (token, withinMs)=>{
|
|
978
|
+
const exp = getJwtExpiresAt(token);
|
|
979
|
+
if (exp === undefined) return false;
|
|
980
|
+
return exp * 1000 - Date.now() <= withinMs;
|
|
981
|
+
};
|
|
982
|
+
|
|
942
983
|
const getRequiredExternalKeyShareId = (ks)=>{
|
|
943
984
|
if (!ks.externalKeyShareId) {
|
|
944
985
|
throw new Error(`Missing externalKeyShareId for key share (id: ${ks.id}, keygenId: ${ks.keygenId})`);
|
|
@@ -953,7 +994,7 @@ const getRequiredExternalKeyShareId = (ks)=>{
|
|
|
953
994
|
* before it is posted and surfaces in Datadog exactly as the recovery path does.
|
|
954
995
|
*/ const assertDynamicLocationsHaveExternalKeyShareId = (locations)=>locations.filter((location)=>location.location === BackupLocation.DYNAMIC).forEach((location)=>getRequiredExternalKeyShareId(location));
|
|
955
996
|
|
|
956
|
-
var version = "1.0.
|
|
997
|
+
var version = "1.0.45";
|
|
957
998
|
|
|
958
999
|
class BaseClient {
|
|
959
1000
|
/**
|
|
@@ -1007,19 +1048,20 @@ class BaseClient {
|
|
|
1007
1048
|
}
|
|
1008
1049
|
const authHeader = `Bearer ${authToken}`;
|
|
1009
1050
|
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
1010
|
-
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
1011
1051
|
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
1012
|
-
|
|
1013
|
-
|
|
1052
|
+
// Don't overwrite a scoped relay token on clientRelayApiClient —
|
|
1053
|
+
// it is refreshed only via syncBackupServiceAuthToken.
|
|
1054
|
+
if (!this.backupServiceAuthToken) {
|
|
1055
|
+
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
1056
|
+
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
1057
|
+
}
|
|
1058
|
+
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || !this.backupServiceAuthToken && this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
1014
1059
|
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
1015
1060
|
}
|
|
1016
1061
|
}
|
|
1017
1062
|
syncBackupServiceAuthToken(backupServiceAuthToken) {
|
|
1018
|
-
if (this.authMode === AuthMode.HEADER) {
|
|
1019
|
-
return;
|
|
1020
|
-
}
|
|
1021
1063
|
if (!backupServiceAuthToken) {
|
|
1022
|
-
throw new Error('Backup service auth token is required
|
|
1064
|
+
throw new Error('Backup service auth token is required to sync the relay token');
|
|
1023
1065
|
}
|
|
1024
1066
|
this.backupServiceAuthToken = backupServiceAuthToken;
|
|
1025
1067
|
this.clientRelayApiClient.defaults.headers['Authorization'] = `Bearer ${backupServiceAuthToken}`;
|
|
@@ -1048,10 +1090,11 @@ class BaseClient {
|
|
|
1048
1090
|
} : {});
|
|
1049
1091
|
this.apiClient = axios.create(axiosConfig);
|
|
1050
1092
|
this.clientKeysharesRelayBaseApiUrl = baseClientKeysharesRelayApiUrl != null ? baseClientKeysharesRelayApiUrl : DYNAMIC_KEYSHARES_RELAY_MAP[environment];
|
|
1051
|
-
//
|
|
1052
|
-
//
|
|
1053
|
-
//
|
|
1054
|
-
if (
|
|
1093
|
+
// Always use the scoped relay token for CKS when one is available —
|
|
1094
|
+
// both COOKIE and HEADER auth modes now fetch a waas_backup_token-scoped
|
|
1095
|
+
// JWT during init and pass it here.
|
|
1096
|
+
if (backupServiceAuthToken) {
|
|
1097
|
+
this.backupServiceAuthToken = backupServiceAuthToken;
|
|
1055
1098
|
headers['Authorization'] = `Bearer ${backupServiceAuthToken}`;
|
|
1056
1099
|
}
|
|
1057
1100
|
this.clientRelayApiClient = axios.create({
|
|
@@ -1068,6 +1111,50 @@ class BaseClient {
|
|
|
1068
1111
|
}
|
|
1069
1112
|
|
|
1070
1113
|
class DynamicApiClient extends BaseClient {
|
|
1114
|
+
/**
|
|
1115
|
+
* The relay token is minted once at init and inherits the user JWT's `exp`,
|
|
1116
|
+
* so on a long-lived session it goes stale while the user JWT keeps rotating
|
|
1117
|
+
* via syncAuthToken. Before each CKS request, refresh it proactively when it
|
|
1118
|
+
* expires within the next 5 minutes — the refresh rides apiClient, which
|
|
1119
|
+
* always carries the latest user JWT. A failed refresh is logged and the
|
|
1120
|
+
* request proceeds with the existing token: a genuinely expired token still
|
|
1121
|
+
* 401s and the unauthorized interceptor notifies the host as before.
|
|
1122
|
+
*/ installRelayTokenRefreshInterceptor() {
|
|
1123
|
+
this.clientRelayApiClient.interceptors.request.use(async (config)=>{
|
|
1124
|
+
if (!this.backupServiceAuthToken || !isJwtExpiringSoon(this.backupServiceAuthToken, DynamicApiClient.RELAY_TOKEN_REFRESH_WINDOW_MS)) {
|
|
1125
|
+
return config;
|
|
1126
|
+
}
|
|
1127
|
+
// A caller may set a per-request Authorization (e.g. the single-use
|
|
1128
|
+
// on-behalf backup grant in backupOnBehalfOfAddedSigner). Only the
|
|
1129
|
+
// default relay token should be refreshed here — never clobber a
|
|
1130
|
+
// caller-supplied credential.
|
|
1131
|
+
const currentAuth = config.headers['Authorization'];
|
|
1132
|
+
if (currentAuth && currentAuth !== `Bearer ${this.backupServiceAuthToken}`) {
|
|
1133
|
+
return config;
|
|
1134
|
+
}
|
|
1135
|
+
var _this_relayTokenRefreshPromise;
|
|
1136
|
+
(_this_relayTokenRefreshPromise = this.relayTokenRefreshPromise) != null ? _this_relayTokenRefreshPromise : this.relayTokenRefreshPromise = this.refreshRelayToken();
|
|
1137
|
+
await this.relayTokenRefreshPromise;
|
|
1138
|
+
// Defaults were merged into config before this interceptor ran, so stamp
|
|
1139
|
+
// the (possibly refreshed) token on the in-flight request explicitly.
|
|
1140
|
+
config.headers['Authorization'] = `Bearer ${this.backupServiceAuthToken}`;
|
|
1141
|
+
return config;
|
|
1142
|
+
});
|
|
1143
|
+
}
|
|
1144
|
+
/** Fetches and stores a fresh relay token. Failures are logged, never thrown. */ async refreshRelayToken() {
|
|
1145
|
+
try {
|
|
1146
|
+
const token = await this.getBackupRelayToken({});
|
|
1147
|
+
if (token) {
|
|
1148
|
+
this.syncBackupServiceAuthToken(token);
|
|
1149
|
+
}
|
|
1150
|
+
} catch (error) {
|
|
1151
|
+
this.logger.warn('[DynamicApiClient] Proactive relay token refresh failed', {
|
|
1152
|
+
message: error instanceof Error ? error.message : String(error)
|
|
1153
|
+
});
|
|
1154
|
+
} finally{
|
|
1155
|
+
this.relayTokenRefreshPromise = undefined;
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1071
1158
|
async getBackupRelayToken({ traceContext }) {
|
|
1072
1159
|
const { data } = await this.apiClient.get(`${this.waasRoutePrefix}/keyShares/backup/token`, {
|
|
1073
1160
|
headers: {
|
|
@@ -1828,8 +1915,10 @@ class DynamicApiClient extends BaseClient {
|
|
|
1828
1915
|
this.sdkRoutePrefix = isServerSdk ? SERVER_SDK_ROUTE_PREFIX : BROWSER_SDK_ROUTE_PREFIX;
|
|
1829
1916
|
this.waasRoutePrefix = `${this.sdkRoutePrefix}/${this.environmentId}/waas`;
|
|
1830
1917
|
this.businessAccountsRoutePrefix = `${this.sdkRoutePrefix}/${this.environmentId}/businessAccounts`;
|
|
1918
|
+
this.installRelayTokenRefreshInterceptor();
|
|
1831
1919
|
}
|
|
1832
1920
|
}
|
|
1921
|
+
/** Relay tokens expiring within this window are refreshed before use. */ DynamicApiClient.RELAY_TOKEN_REFRESH_WINDOW_MS = 5 * 60 * 1000;
|
|
1833
1922
|
|
|
1834
1923
|
// Local mirror of the business-account models generated into
|
|
1835
1924
|
// `@dynamic-labs/sdk-api-core`. Swap these for the generated imports once that
|
|
@@ -2254,11 +2343,13 @@ exports.WalletReadyState = WalletReadyState;
|
|
|
2254
2343
|
exports.assertDynamicLocationsHaveExternalKeyShareId = assertDynamicLocationsHaveExternalKeyShareId;
|
|
2255
2344
|
exports.chain = chain;
|
|
2256
2345
|
exports.chainEnumToVerifiedCredentialName = chainEnumToVerifiedCredentialName;
|
|
2346
|
+
exports.decodeJwtPayload = decodeJwtPayload;
|
|
2257
2347
|
exports.formatNamespacedVersion = formatNamespacedVersion;
|
|
2258
2348
|
exports.getBitcoinChainConfig = getBitcoinChainConfig;
|
|
2259
2349
|
exports.getClientThreshold = getClientThreshold;
|
|
2260
2350
|
exports.getDynamicServerThreshold = getDynamicServerThreshold;
|
|
2261
2351
|
exports.getEnvironmentFromUrl = getEnvironmentFromUrl;
|
|
2352
|
+
exports.getJwtExpiresAt = getJwtExpiresAt;
|
|
2262
2353
|
exports.getMPCChainConfig = getMPCChainConfig;
|
|
2263
2354
|
exports.getRequiredExternalKeyShareId = getRequiredExternalKeyShareId;
|
|
2264
2355
|
exports.getReshareConfig = getReshareConfig;
|
|
@@ -2268,6 +2359,7 @@ exports.getVersionNamespace = getVersionNamespace;
|
|
|
2268
2359
|
exports.getVersionWithoutNamespace = getVersionWithoutNamespace;
|
|
2269
2360
|
exports.handleAxiosError = handleAxiosError;
|
|
2270
2361
|
exports.isEvmCompatibleChain = isEvmCompatibleChain;
|
|
2362
|
+
exports.isJwtExpiringSoon = isJwtExpiringSoon;
|
|
2271
2363
|
exports.parseNamespacedVersion = parseNamespacedVersion;
|
|
2272
2364
|
exports.serializeMessageForForwardMPC = serializeMessageForForwardMPC;
|
|
2273
2365
|
exports.verifiedCredentialNameToChainEnum = verifiedCredentialNameToChainEnum;
|
package/index.esm.js
CHANGED
|
@@ -939,6 +939,47 @@ const getElapsedTime = (startTime)=>{
|
|
|
939
939
|
};
|
|
940
940
|
};
|
|
941
941
|
|
|
942
|
+
/**
|
|
943
|
+
* Decodes a JWT payload without verifying the signature. Returns undefined
|
|
944
|
+
* when the token is missing or malformed. Decode-only — never use this for
|
|
945
|
+
* trust decisions, only for reading client-side claims (e.g. user id, or
|
|
946
|
+
* `exp` for proactive token refresh).
|
|
947
|
+
*/ const decodeJwtPayload = (token)=>{
|
|
948
|
+
if (!token || typeof token !== 'string') return undefined;
|
|
949
|
+
const parts = token.split('.');
|
|
950
|
+
if (parts.length !== 3 || !parts[1]) return undefined;
|
|
951
|
+
const payloadBase64 = parts[1];
|
|
952
|
+
// Accept base64url (- _ no padding) or standard base64 (+ / with = padding).
|
|
953
|
+
if (!/^[A-Za-z0-9_\-+/]+={0,2}$/.test(payloadBase64)) return undefined;
|
|
954
|
+
// Guard against pathologically large payloads.
|
|
955
|
+
if (payloadBase64.length > 16384) return undefined;
|
|
956
|
+
try {
|
|
957
|
+
// base64url -> base64 (atob in browsers, Buffer in node)
|
|
958
|
+
const base64 = payloadBase64.replace(/-/g, '+').replace(/_/g, '/');
|
|
959
|
+
const json = typeof atob === 'function' ? atob(base64) : Buffer.from(base64, 'base64').toString('utf-8');
|
|
960
|
+
return JSON.parse(json);
|
|
961
|
+
} catch (e) {
|
|
962
|
+
return undefined;
|
|
963
|
+
}
|
|
964
|
+
};
|
|
965
|
+
/**
|
|
966
|
+
* Extracts the `exp` claim (unix seconds) from a JWT. Returns undefined when
|
|
967
|
+
* the token is missing, malformed, or has no numeric `exp`.
|
|
968
|
+
*/ const getJwtExpiresAt = (token)=>{
|
|
969
|
+
var _decodeJwtPayload;
|
|
970
|
+
const exp = (_decodeJwtPayload = decodeJwtPayload(token)) == null ? void 0 : _decodeJwtPayload['exp'];
|
|
971
|
+
return typeof exp === 'number' ? exp : undefined;
|
|
972
|
+
};
|
|
973
|
+
/**
|
|
974
|
+
* True when the token's `exp` falls within the next `withinMs` milliseconds
|
|
975
|
+
* (or is already past). Tokens without a parsable `exp` are treated as NOT
|
|
976
|
+
* expiring so callers don't refresh-loop on unparsable tokens.
|
|
977
|
+
*/ const isJwtExpiringSoon = (token, withinMs)=>{
|
|
978
|
+
const exp = getJwtExpiresAt(token);
|
|
979
|
+
if (exp === undefined) return false;
|
|
980
|
+
return exp * 1000 - Date.now() <= withinMs;
|
|
981
|
+
};
|
|
982
|
+
|
|
942
983
|
const getRequiredExternalKeyShareId = (ks)=>{
|
|
943
984
|
if (!ks.externalKeyShareId) {
|
|
944
985
|
throw new Error(`Missing externalKeyShareId for key share (id: ${ks.id}, keygenId: ${ks.keygenId})`);
|
|
@@ -953,7 +994,7 @@ const getRequiredExternalKeyShareId = (ks)=>{
|
|
|
953
994
|
* before it is posted and surfaces in Datadog exactly as the recovery path does.
|
|
954
995
|
*/ const assertDynamicLocationsHaveExternalKeyShareId = (locations)=>locations.filter((location)=>location.location === BackupLocation.DYNAMIC).forEach((location)=>getRequiredExternalKeyShareId(location));
|
|
955
996
|
|
|
956
|
-
var version = "1.0.
|
|
997
|
+
var version = "1.0.45";
|
|
957
998
|
|
|
958
999
|
class BaseClient {
|
|
959
1000
|
/**
|
|
@@ -1007,19 +1048,20 @@ class BaseClient {
|
|
|
1007
1048
|
}
|
|
1008
1049
|
const authHeader = `Bearer ${authToken}`;
|
|
1009
1050
|
this.apiClient.defaults.headers['Authorization'] = authHeader;
|
|
1010
|
-
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
1011
1051
|
this.apiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
1012
|
-
|
|
1013
|
-
|
|
1052
|
+
// Don't overwrite a scoped relay token on clientRelayApiClient —
|
|
1053
|
+
// it is refreshed only via syncBackupServiceAuthToken.
|
|
1054
|
+
if (!this.backupServiceAuthToken) {
|
|
1055
|
+
this.clientRelayApiClient.defaults.headers['Authorization'] = authHeader;
|
|
1056
|
+
this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
|
|
1057
|
+
}
|
|
1058
|
+
if (this.apiClient.defaults.headers['Authorization'] !== authHeader || !this.backupServiceAuthToken && this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
|
|
1014
1059
|
throw new Error('Failed to sync auth token, auth header is not set to the expected auth token after sync, there is likely a race condition, contact Dynamic devs to investigate');
|
|
1015
1060
|
}
|
|
1016
1061
|
}
|
|
1017
1062
|
syncBackupServiceAuthToken(backupServiceAuthToken) {
|
|
1018
|
-
if (this.authMode === AuthMode.HEADER) {
|
|
1019
|
-
return;
|
|
1020
|
-
}
|
|
1021
1063
|
if (!backupServiceAuthToken) {
|
|
1022
|
-
throw new Error('Backup service auth token is required
|
|
1064
|
+
throw new Error('Backup service auth token is required to sync the relay token');
|
|
1023
1065
|
}
|
|
1024
1066
|
this.backupServiceAuthToken = backupServiceAuthToken;
|
|
1025
1067
|
this.clientRelayApiClient.defaults.headers['Authorization'] = `Bearer ${backupServiceAuthToken}`;
|
|
@@ -1048,10 +1090,11 @@ class BaseClient {
|
|
|
1048
1090
|
} : {});
|
|
1049
1091
|
this.apiClient = axios.create(axiosConfig);
|
|
1050
1092
|
this.clientKeysharesRelayBaseApiUrl = baseClientKeysharesRelayApiUrl != null ? baseClientKeysharesRelayApiUrl : DYNAMIC_KEYSHARES_RELAY_MAP[environment];
|
|
1051
|
-
//
|
|
1052
|
-
//
|
|
1053
|
-
//
|
|
1054
|
-
if (
|
|
1093
|
+
// Always use the scoped relay token for CKS when one is available —
|
|
1094
|
+
// both COOKIE and HEADER auth modes now fetch a waas_backup_token-scoped
|
|
1095
|
+
// JWT during init and pass it here.
|
|
1096
|
+
if (backupServiceAuthToken) {
|
|
1097
|
+
this.backupServiceAuthToken = backupServiceAuthToken;
|
|
1055
1098
|
headers['Authorization'] = `Bearer ${backupServiceAuthToken}`;
|
|
1056
1099
|
}
|
|
1057
1100
|
this.clientRelayApiClient = axios.create({
|
|
@@ -1068,6 +1111,50 @@ class BaseClient {
|
|
|
1068
1111
|
}
|
|
1069
1112
|
|
|
1070
1113
|
class DynamicApiClient extends BaseClient {
|
|
1114
|
+
/**
|
|
1115
|
+
* The relay token is minted once at init and inherits the user JWT's `exp`,
|
|
1116
|
+
* so on a long-lived session it goes stale while the user JWT keeps rotating
|
|
1117
|
+
* via syncAuthToken. Before each CKS request, refresh it proactively when it
|
|
1118
|
+
* expires within the next 5 minutes — the refresh rides apiClient, which
|
|
1119
|
+
* always carries the latest user JWT. A failed refresh is logged and the
|
|
1120
|
+
* request proceeds with the existing token: a genuinely expired token still
|
|
1121
|
+
* 401s and the unauthorized interceptor notifies the host as before.
|
|
1122
|
+
*/ installRelayTokenRefreshInterceptor() {
|
|
1123
|
+
this.clientRelayApiClient.interceptors.request.use(async (config)=>{
|
|
1124
|
+
if (!this.backupServiceAuthToken || !isJwtExpiringSoon(this.backupServiceAuthToken, DynamicApiClient.RELAY_TOKEN_REFRESH_WINDOW_MS)) {
|
|
1125
|
+
return config;
|
|
1126
|
+
}
|
|
1127
|
+
// A caller may set a per-request Authorization (e.g. the single-use
|
|
1128
|
+
// on-behalf backup grant in backupOnBehalfOfAddedSigner). Only the
|
|
1129
|
+
// default relay token should be refreshed here — never clobber a
|
|
1130
|
+
// caller-supplied credential.
|
|
1131
|
+
const currentAuth = config.headers['Authorization'];
|
|
1132
|
+
if (currentAuth && currentAuth !== `Bearer ${this.backupServiceAuthToken}`) {
|
|
1133
|
+
return config;
|
|
1134
|
+
}
|
|
1135
|
+
var _this_relayTokenRefreshPromise;
|
|
1136
|
+
(_this_relayTokenRefreshPromise = this.relayTokenRefreshPromise) != null ? _this_relayTokenRefreshPromise : this.relayTokenRefreshPromise = this.refreshRelayToken();
|
|
1137
|
+
await this.relayTokenRefreshPromise;
|
|
1138
|
+
// Defaults were merged into config before this interceptor ran, so stamp
|
|
1139
|
+
// the (possibly refreshed) token on the in-flight request explicitly.
|
|
1140
|
+
config.headers['Authorization'] = `Bearer ${this.backupServiceAuthToken}`;
|
|
1141
|
+
return config;
|
|
1142
|
+
});
|
|
1143
|
+
}
|
|
1144
|
+
/** Fetches and stores a fresh relay token. Failures are logged, never thrown. */ async refreshRelayToken() {
|
|
1145
|
+
try {
|
|
1146
|
+
const token = await this.getBackupRelayToken({});
|
|
1147
|
+
if (token) {
|
|
1148
|
+
this.syncBackupServiceAuthToken(token);
|
|
1149
|
+
}
|
|
1150
|
+
} catch (error) {
|
|
1151
|
+
this.logger.warn('[DynamicApiClient] Proactive relay token refresh failed', {
|
|
1152
|
+
message: error instanceof Error ? error.message : String(error)
|
|
1153
|
+
});
|
|
1154
|
+
} finally{
|
|
1155
|
+
this.relayTokenRefreshPromise = undefined;
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1071
1158
|
async getBackupRelayToken({ traceContext }) {
|
|
1072
1159
|
const { data } = await this.apiClient.get(`${this.waasRoutePrefix}/keyShares/backup/token`, {
|
|
1073
1160
|
headers: {
|
|
@@ -1828,8 +1915,10 @@ class DynamicApiClient extends BaseClient {
|
|
|
1828
1915
|
this.sdkRoutePrefix = isServerSdk ? SERVER_SDK_ROUTE_PREFIX : BROWSER_SDK_ROUTE_PREFIX;
|
|
1829
1916
|
this.waasRoutePrefix = `${this.sdkRoutePrefix}/${this.environmentId}/waas`;
|
|
1830
1917
|
this.businessAccountsRoutePrefix = `${this.sdkRoutePrefix}/${this.environmentId}/businessAccounts`;
|
|
1918
|
+
this.installRelayTokenRefreshInterceptor();
|
|
1831
1919
|
}
|
|
1832
1920
|
}
|
|
1921
|
+
/** Relay tokens expiring within this window are refreshed before use. */ DynamicApiClient.RELAY_TOKEN_REFRESH_WINDOW_MS = 5 * 60 * 1000;
|
|
1833
1922
|
|
|
1834
1923
|
// Local mirror of the business-account models generated into
|
|
1835
1924
|
// `@dynamic-labs/sdk-api-core`. Swap these for the generated imports once that
|
|
@@ -2167,4 +2256,4 @@ const handleAxiosError = (error, message, context, _logger)=>{
|
|
|
2167
2256
|
throw new WalletApiError(resolvedStatus, STATUS_MESSAGES[resolvedStatus]);
|
|
2168
2257
|
};
|
|
2169
2258
|
|
|
2170
|
-
export { AuthMode, BITCOIN_ADDRESS_TYPE_CONFIG, BITCOIN_DERIVATION_PATHS, BROWSER_SDK_ROUTE_PREFIX, BackupLocation, BitcoinAddressType, BitcoinNetwork, BusinessAccountClient, BusinessAccountMemberRole, BusinessAccountSignerType, CreateRoomPartiesOptions, DELEGATED_SHARE_COUNT, DYNAMIC_AUTH_BASE_API_URL_MAP, DYNAMIC_AUTH_DEV_BASE_API_URL, DYNAMIC_AUTH_PREPROD_BASE_API_URL, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_REDCOAST_API_KEY_MAP, DYNAMIC_CLIENT_RELAY_REDCOAST_APP_ID_MAP, DYNAMIC_FORWARD_MPC_DEV_ENCLAVE_URL, DYNAMIC_FORWARD_MPC_ENCLAVE_ATTESTATION_CONFIG_MAP, DYNAMIC_FORWARD_MPC_ENCLAVE_URL_MAP, DYNAMIC_FORWARD_MPC_PREPROD_ENCLAVE_URL, DYNAMIC_FORWARD_MPC_PROD_ENCLAVE_URL, DYNAMIC_KEYSHARES_RELAY_MAP, DYNAMIC_KEYSHARES_RELAY_PREPROD_BASE_API_URL, DYNAMIC_KEYSHARES_RELAY_PROD_BASE_API_URL, DynamicApiClient, DynamicClientSessionSignature, DynamicElevatedAccessTokenHeader, DynamicForwardMPCHeader, DynamicMfaTokenHeader, DynamicRequestIdHeader, DynamicSessionPublicKeyHeader, DynamicTraceElapsedTimeHeader, DynamicTraceIdHeader, ENCRYPTED_SHARES_STORAGE_SUFFIX, ENVIRONMENT_ENUM, EVM_COMPATIBLE_CHAINS, FEATURE_FLAGS, IFRAME_DOMAIN_MAP, Logger, MIDNIGHT_DERIVATION_PATHS, MPC_CHAIN_CONFIG, MPC_CONFIG, MPC_RELAY_DEV_API_URL, MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, MPC_RELAY_URL_MAP, NoopLogger, PREPROD_RELAY_API_KEY, PREPROD_RELAY_APP_ID, PROD_RELAY_API_KEY, PROD_RELAY_APP_ID, RELAY_API_KEY_HEADER, RELAY_APP_ID_HEADER, SDK_NAMESPACE, SERVER_SDK_ROUTE_PREFIX, SOLANA_RPC_URL, SuccessEventType, ThresholdSignatureScheme, URL_PATTERNS, WalletApiError, WalletOperation, WalletReadyState, assertDynamicLocationsHaveExternalKeyShareId, chain, chainEnumToVerifiedCredentialName, formatNamespacedVersion, getBitcoinChainConfig, getClientThreshold, getDynamicServerThreshold, getEnvironmentFromUrl, getMPCChainConfig, getRequiredExternalKeyShareId, getReshareConfig, getServerWalletReshareConfig, getTSSConfig, getVersionNamespace, getVersionWithoutNamespace, handleAxiosError, isEvmCompatibleChain, parseNamespacedVersion, serializeMessageForForwardMPC, verifiedCredentialNameToChainEnum };
|
|
2259
|
+
export { AuthMode, BITCOIN_ADDRESS_TYPE_CONFIG, BITCOIN_DERIVATION_PATHS, BROWSER_SDK_ROUTE_PREFIX, BackupLocation, BitcoinAddressType, BitcoinNetwork, BusinessAccountClient, BusinessAccountMemberRole, BusinessAccountSignerType, CreateRoomPartiesOptions, DELEGATED_SHARE_COUNT, DYNAMIC_AUTH_BASE_API_URL_MAP, DYNAMIC_AUTH_DEV_BASE_API_URL, DYNAMIC_AUTH_PREPROD_BASE_API_URL, DYNAMIC_AUTH_PROD_BASE_API_URL, DYNAMIC_CLIENT_RELAY_REDCOAST_API_KEY_MAP, DYNAMIC_CLIENT_RELAY_REDCOAST_APP_ID_MAP, DYNAMIC_FORWARD_MPC_DEV_ENCLAVE_URL, DYNAMIC_FORWARD_MPC_ENCLAVE_ATTESTATION_CONFIG_MAP, DYNAMIC_FORWARD_MPC_ENCLAVE_URL_MAP, DYNAMIC_FORWARD_MPC_PREPROD_ENCLAVE_URL, DYNAMIC_FORWARD_MPC_PROD_ENCLAVE_URL, DYNAMIC_KEYSHARES_RELAY_MAP, DYNAMIC_KEYSHARES_RELAY_PREPROD_BASE_API_URL, DYNAMIC_KEYSHARES_RELAY_PROD_BASE_API_URL, DynamicApiClient, DynamicClientSessionSignature, DynamicElevatedAccessTokenHeader, DynamicForwardMPCHeader, DynamicMfaTokenHeader, DynamicRequestIdHeader, DynamicSessionPublicKeyHeader, DynamicTraceElapsedTimeHeader, DynamicTraceIdHeader, ENCRYPTED_SHARES_STORAGE_SUFFIX, ENVIRONMENT_ENUM, EVM_COMPATIBLE_CHAINS, FEATURE_FLAGS, IFRAME_DOMAIN_MAP, Logger, MIDNIGHT_DERIVATION_PATHS, MPC_CHAIN_CONFIG, MPC_CONFIG, MPC_RELAY_DEV_API_URL, MPC_RELAY_PREPROD_API_URL, MPC_RELAY_PROD_API_URL, MPC_RELAY_URL_MAP, NoopLogger, PREPROD_RELAY_API_KEY, PREPROD_RELAY_APP_ID, PROD_RELAY_API_KEY, PROD_RELAY_APP_ID, RELAY_API_KEY_HEADER, RELAY_APP_ID_HEADER, SDK_NAMESPACE, SERVER_SDK_ROUTE_PREFIX, SOLANA_RPC_URL, SuccessEventType, ThresholdSignatureScheme, URL_PATTERNS, WalletApiError, WalletOperation, WalletReadyState, assertDynamicLocationsHaveExternalKeyShareId, chain, chainEnumToVerifiedCredentialName, decodeJwtPayload, formatNamespacedVersion, getBitcoinChainConfig, getClientThreshold, getDynamicServerThreshold, getEnvironmentFromUrl, getJwtExpiresAt, getMPCChainConfig, getRequiredExternalKeyShareId, getReshareConfig, getServerWalletReshareConfig, getTSSConfig, getVersionNamespace, getVersionWithoutNamespace, handleAxiosError, isEvmCompatibleChain, isJwtExpiringSoon, parseNamespacedVersion, serializeMessageForForwardMPC, verifiedCredentialNameToChainEnum };
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.45",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@dynamic-labs/sdk-api-core": "^0.0.984",
|
|
8
|
-
"@dynamic-labs-wallet/primitives": "1.0.
|
|
8
|
+
"@dynamic-labs-wallet/primitives": "1.0.45",
|
|
9
9
|
"axios": "1.16.0",
|
|
10
10
|
"uuid": "11.1.0"
|
|
11
11
|
},
|
package/src/api/api.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
17
17
|
private readonly waasRoutePrefix;
|
|
18
18
|
/** Cached `${sdkRoutePrefix}/${environmentId}/businessAccounts` — business-account endpoints sit beside `/waas`, not under it. */
|
|
19
19
|
private readonly businessAccountsRoutePrefix;
|
|
20
|
+
/** Relay tokens expiring within this window are refreshed before use. */
|
|
21
|
+
private static readonly RELAY_TOKEN_REFRESH_WINDOW_MS;
|
|
22
|
+
/** Dedupes concurrent proactive relay-token refreshes. */
|
|
23
|
+
private relayTokenRefreshPromise?;
|
|
20
24
|
constructor({ environmentId, authToken, backupServiceAuthToken, baseApiUrl, authMode, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, logger, isServerSdk, onUnauthorized, }: {
|
|
21
25
|
environmentId: string;
|
|
22
26
|
authToken?: string;
|
|
@@ -32,6 +36,18 @@ export declare class DynamicApiClient extends BaseClient {
|
|
|
32
36
|
/** Fired when a backend call returns 401. See BaseClient. */
|
|
33
37
|
onUnauthorized?: () => void;
|
|
34
38
|
});
|
|
39
|
+
/**
|
|
40
|
+
* The relay token is minted once at init and inherits the user JWT's `exp`,
|
|
41
|
+
* so on a long-lived session it goes stale while the user JWT keeps rotating
|
|
42
|
+
* via syncAuthToken. Before each CKS request, refresh it proactively when it
|
|
43
|
+
* expires within the next 5 minutes — the refresh rides apiClient, which
|
|
44
|
+
* always carries the latest user JWT. A failed refresh is logged and the
|
|
45
|
+
* request proceeds with the existing token: a genuinely expired token still
|
|
46
|
+
* 401s and the unauthorized interceptor notifies the host as before.
|
|
47
|
+
*/
|
|
48
|
+
private installRelayTokenRefreshInterceptor;
|
|
49
|
+
/** Fetches and stores a fresh relay token. Failures are logged, never thrown. */
|
|
50
|
+
private refreshRelayToken;
|
|
35
51
|
getBackupRelayToken({ traceContext }: {
|
|
36
52
|
traceContext?: TraceContext;
|
|
37
53
|
}): Promise<any>;
|
package/src/api/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
|
package/src/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAWlD,OAAO,EAAE,QAAQ,EAAc,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAElF,qBAAa,UAAU;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B,EAAE,MAAM,CAAC;IACvC,oBAAoB,EAAE,aAAa,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAC1C,sEAAsE;IACtE,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;gBAE1B,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,8BAA8B,EAC9B,QAA0B,EAE1B,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,cAAc,GACf,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;KAC7B;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAWlD,OAAO,EAAE,QAAQ,EAAc,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAElF,qBAAa,UAAU;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B,EAAE,MAAM,CAAC;IACvC,oBAAoB,EAAE,aAAa,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAC1C,sEAAsE;IACtE,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;gBAE1B,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,8BAA8B,EAC9B,QAA0B,EAE1B,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,cAAc,GACf,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;QACtC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;KAC7B;IAoDD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,8BAA8B;IAuBtC,IAAI,gBAAgB,IAAI,kBAAkB,CAKzC;IAED,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,SAAS,EAEpE;IAED,aAAa,CAAC,SAAS,EAAE,MAAM;IA+B/B,0BAA0B,CAAC,sBAAsB,EAAE,MAAM;CAO1D"}
|
package/src/utils/index.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export * from './sdkVersion.js';
|
|
|
2
2
|
export * from './messageSerialization.js';
|
|
3
3
|
export * from './keyShare.js';
|
|
4
4
|
export * from './forwardMpcErrorHandling.js';
|
|
5
|
+
export { decodeJwtPayload, getJwtExpiresAt, isJwtExpiringSoon } from './jwt.js';
|
|
5
6
|
export { EVM_COMPATIBLE_CHAINS, isEvmCompatibleChain, type EvmCompatibleChain } from './isEvmCompatibleChain/index.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/src/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decodes a JWT payload without verifying the signature. Returns undefined
|
|
3
|
+
* when the token is missing or malformed. Decode-only — never use this for
|
|
4
|
+
* trust decisions, only for reading client-side claims (e.g. user id, or
|
|
5
|
+
* `exp` for proactive token refresh).
|
|
6
|
+
*/
|
|
7
|
+
export declare const decodeJwtPayload: (token?: string) => Record<string, unknown> | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Extracts the `exp` claim (unix seconds) from a JWT. Returns undefined when
|
|
10
|
+
* the token is missing, malformed, or has no numeric `exp`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const getJwtExpiresAt: (token?: string) => number | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* True when the token's `exp` falls within the next `withinMs` milliseconds
|
|
15
|
+
* (or is already past). Tokens without a parsable `exp` are treated as NOT
|
|
16
|
+
* expiring so callers don't refresh-loop on unparsable tokens.
|
|
17
|
+
*/
|
|
18
|
+
export declare const isJwtExpiringSoon: (token: string | undefined, withinMs: number) => boolean;
|
|
19
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAoB3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,MAAM,GAAG,SAGzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,UAAW,MAAM,GAAG,SAAS,YAAY,MAAM,KAAG,OAI/E,CAAC"}
|