@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 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.44";
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
- this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
1013
- if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
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 for cookie authentication');
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
- // Cookie based auth will not have an authToken
1052
- // so we need to pass the backupServiceAuthToken to the clientRelayApiClient
1053
- // This was requested from the backend during initWaasWalletClient
1054
- if (authMode === AuthMode.COOKIE && backupServiceAuthToken && !authToken) {
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.44";
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
- this.clientRelayApiClient.defaults.headers.common['Authorization'] = authHeader;
1013
- if (this.apiClient.defaults.headers['Authorization'] !== authHeader || this.clientRelayApiClient.defaults.headers['Authorization'] !== authHeader) {
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 for cookie authentication');
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
- // Cookie based auth will not have an authToken
1052
- // so we need to pass the backupServiceAuthToken to the clientRelayApiClient
1053
- // This was requested from the backend during initWaasWalletClient
1054
- if (authMode === AuthMode.COOKIE && backupServiceAuthToken && !authToken) {
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.44",
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.44",
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>;
@@ -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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"}
@@ -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;IAmDD;;;;;;;;;;;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;IA2B/B,0BAA0B,CAAC,sBAAsB,EAAE,MAAM;CAW1D"}
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"}
@@ -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
@@ -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"}