@dynamic-labs-wallet/browser 1.0.52 → 1.0.54
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 +214 -51
- package/index.esm.js +215 -53
- package/package.json +4 -4
- package/src/client.d.ts +10 -6
- package/src/client.d.ts.map +1 -1
- package/src/observability.d.ts +6 -0
- package/src/observability.d.ts.map +1 -0
- package/src/utils.d.ts +9 -0
- package/src/utils.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -1316,6 +1316,19 @@ const downloadStringAsFile = ({ filename, content, mimeType = 'application/json'
|
|
|
1316
1316
|
}
|
|
1317
1317
|
return error.code === 'STALE_CLIENT_SHARES';
|
|
1318
1318
|
};
|
|
1319
|
+
/**
|
|
1320
|
+
* Detects the server's 409 ROOM_ID_ALREADY_USED rejection. The client
|
|
1321
|
+
* may cache pre-created roomIds locally; if a cached roomId becomes
|
|
1322
|
+
* stale (e.g. localStorage restoration after an iframe reload, or a
|
|
1323
|
+
* write failure in a restricted storage context), the server rejects
|
|
1324
|
+
* the claim with this code. The SDK retries without the stale roomId
|
|
1325
|
+
* so the server creates a fresh room.
|
|
1326
|
+
*/ const isRoomIdAlreadyUsedError = (error)=>{
|
|
1327
|
+
if (!error || typeof error !== 'object') {
|
|
1328
|
+
return false;
|
|
1329
|
+
}
|
|
1330
|
+
return error.code === 'ROOM_ID_ALREADY_USED';
|
|
1331
|
+
};
|
|
1319
1332
|
/**
|
|
1320
1333
|
* Determines whether a reshare operation should reuse the wallet's existing backup locations.
|
|
1321
1334
|
*
|
|
@@ -1825,6 +1838,45 @@ const initializeCloudKit = async (config, signInButtonId, onSignInRequired, onSi
|
|
|
1825
1838
|
logger.info('[DynamicWaasWalletClient] Google Drive backup completed successfully', logContext);
|
|
1826
1839
|
};
|
|
1827
1840
|
|
|
1841
|
+
// The poll loop also surfaces errors that carry a status without being an
|
|
1842
|
+
// AxiosError instance (e.g. wrapped/normalized HTTP errors), so fall back to
|
|
1843
|
+
// the same duck-typed read it uses for its transient/terminal decision.
|
|
1844
|
+
const readHttpStatus = (error)=>{
|
|
1845
|
+
var _error_response;
|
|
1846
|
+
var _getHttpStatus, _ref;
|
|
1847
|
+
return (_ref = (_getHttpStatus = getHttpStatus(error)) != null ? _getHttpStatus : error == null ? void 0 : (_error_response = error.response) == null ? void 0 : _error_response.status) != null ? _ref : error == null ? void 0 : error.status;
|
|
1848
|
+
};
|
|
1849
|
+
// Shared structured-logging helpers for the HTTP-transport (HTTPS) WaaS create
|
|
1850
|
+
// ceremony, so the browser SDK emits dashboard-queryable fields (transport,
|
|
1851
|
+
// error taxonomy, durations) that join to the redcoast worker's ceremony logs.
|
|
1852
|
+
// Mirrors redcoast's waas-https/observability.ts (PR #10347): same `transport`,
|
|
1853
|
+
// `errorKind`, `durationMs` field names so client and server logs line up.
|
|
1854
|
+
const WAAS_HTTPS_TRANSPORT = 'http';
|
|
1855
|
+
const POLL_TIMEOUT_MESSAGE = 'Timed out waiting for wallet creation ceremony to complete';
|
|
1856
|
+
// Maps an error to a stable taxonomy so the dashboard can break down create
|
|
1857
|
+
// failures without parsing free text. Order matters: most specific first.
|
|
1858
|
+
const classifyWaasErrorKind = (error)=>{
|
|
1859
|
+
if (error instanceof WalletNotActiveError) return 'wallet_not_active';
|
|
1860
|
+
const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
|
|
1861
|
+
if (message.includes(POLL_TIMEOUT_MESSAGE.toLowerCase())) return 'poll_timeout';
|
|
1862
|
+
if (message.includes('timeout') || message.includes('timed out')) return 'mpc_timeout';
|
|
1863
|
+
return 'unknown';
|
|
1864
|
+
};
|
|
1865
|
+
// Classifies a single transient poll failure for the retry log. A poll that
|
|
1866
|
+
// fails with a transient HTTP status (5xx / 429 / no response) is exhausted
|
|
1867
|
+
// only if the deadline passes; per-attempt we just tag the kind.
|
|
1868
|
+
const classifyTransientPollError = (error)=>{
|
|
1869
|
+
const status = readHttpStatus(error);
|
|
1870
|
+
if (status === 429 || status !== undefined && status >= 500) return 'transient_exhausted';
|
|
1871
|
+
return classifyWaasErrorKind(error);
|
|
1872
|
+
};
|
|
1873
|
+
// Builds a structured log payload tagged with the HTTPS transport, dropping
|
|
1874
|
+
// undefined/null fields so log lines stay clean and consistently shaped.
|
|
1875
|
+
// `idempotencyKey` is the cross-repo join key — always pass it.
|
|
1876
|
+
const buildHttpCeremonyMeta = (fields)=>_extends({
|
|
1877
|
+
transport: WAAS_HTTPS_TRANSPORT
|
|
1878
|
+
}, Object.fromEntries(Object.entries(fields).filter(([, value])=>value !== undefined && value !== null)));
|
|
1879
|
+
|
|
1828
1880
|
/**
|
|
1829
1881
|
* Returns true for errors that represent expected user-facing conditions
|
|
1830
1882
|
* (e.g. wrong password). These are logged at `info` instead of `error`
|
|
@@ -2626,6 +2678,25 @@ const KNOWN_SHARE_SET_TYPES = new Set([
|
|
|
2626
2678
|
return ((_backupInfo_backups_BackupLocation_DYNAMIC = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : _backupInfo_backups[core.BackupLocation.DYNAMIC]) != null ? _backupInfo_backups_BackupLocation_DYNAMIC : []).map((backup)=>backup.keygenId).filter((keygenId)=>typeof keygenId === 'string' && keygenId.length > 0);
|
|
2627
2679
|
};
|
|
2628
2680
|
class DynamicWalletClient {
|
|
2681
|
+
connectForwardMPC() {
|
|
2682
|
+
const forwardMPCConnectStartedAt = Date.now();
|
|
2683
|
+
this.apiClient.forwardMPCClient.connect().then(()=>{
|
|
2684
|
+
this.logger.info('Optimistically Connected to ForwardMPC enclave', {
|
|
2685
|
+
environmentId: this.environmentId,
|
|
2686
|
+
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
2687
|
+
});
|
|
2688
|
+
}).catch((error)=>{
|
|
2689
|
+
const errorInfo = core.classifyForwardMpcError(error);
|
|
2690
|
+
// A rate-limited upgrade falls back to relay → warn, not error, so the
|
|
2691
|
+
// recovered case doesn't pollute error triage.
|
|
2692
|
+
const level = errorInfo.errorType === 'RATE_LIMITED' ? 'warn' : 'error';
|
|
2693
|
+
this.logger[level]('Error connecting to ForwardMPC enclave optimistically', _extends({}, errorInfo, {
|
|
2694
|
+
error,
|
|
2695
|
+
environmentId: this.environmentId,
|
|
2696
|
+
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
2697
|
+
}));
|
|
2698
|
+
});
|
|
2699
|
+
}
|
|
2629
2700
|
/**
|
|
2630
2701
|
* Check if wallet has heavy operations in progress
|
|
2631
2702
|
*/ static isHeavyOpInProgress(accountAddress) {
|
|
@@ -2653,6 +2724,7 @@ class DynamicWalletClient {
|
|
|
2653
2724
|
DynamicWalletClient.rooms = {};
|
|
2654
2725
|
DynamicWalletClient.roomsInitializing = {};
|
|
2655
2726
|
DynamicWalletClient.roomsGeneration += 1;
|
|
2727
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
2656
2728
|
}
|
|
2657
2729
|
/**
|
|
2658
2730
|
* Reset static state for testing purposes.
|
|
@@ -2732,7 +2804,7 @@ class DynamicWalletClient {
|
|
|
2732
2804
|
return;
|
|
2733
2805
|
}
|
|
2734
2806
|
// Decode the payload (second part)
|
|
2735
|
-
const base64Payload = parts[1].
|
|
2807
|
+
const base64Payload = parts[1].replaceAll('-', '+').replaceAll('_', '/');
|
|
2736
2808
|
const jsonPayload = decodeURIComponent(Buffer.from(base64Payload, 'base64').toString('utf-8'));
|
|
2737
2809
|
const payload = JSON.parse(jsonPayload);
|
|
2738
2810
|
if (!payload || typeof payload !== 'object') {
|
|
@@ -2802,6 +2874,16 @@ class DynamicWalletClient {
|
|
|
2802
2874
|
const useHttpTransport = this.featureFlags[core.FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
2803
2875
|
let data;
|
|
2804
2876
|
if (useHttpTransport) {
|
|
2877
|
+
this.logger.info('[DynamicWaasWalletClient] http create requested', buildHttpCeremonyMeta(_extends({
|
|
2878
|
+
outcome: 'started',
|
|
2879
|
+
operation: 'create',
|
|
2880
|
+
chain: chainName,
|
|
2881
|
+
idempotencyKey,
|
|
2882
|
+
dynamicRequestId,
|
|
2883
|
+
environmentId: this.environmentId,
|
|
2884
|
+
userId: this.userId,
|
|
2885
|
+
key: 'keyGen'
|
|
2886
|
+
}, this.getTraceContext(traceContext))));
|
|
2805
2887
|
data = await this.apiClient.requestWalletCreationJson({
|
|
2806
2888
|
chainName,
|
|
2807
2889
|
clientKeygenIds,
|
|
@@ -2850,8 +2932,11 @@ class DynamicWalletClient {
|
|
|
2850
2932
|
*/ async pollHttpCeremonyCompletion({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext }) {
|
|
2851
2933
|
const POLL_INTERVAL_MS = 1000;
|
|
2852
2934
|
const POLL_TIMEOUT_MS = 30000;
|
|
2853
|
-
const
|
|
2935
|
+
const startedAt = Date.now();
|
|
2936
|
+
const deadline = startedAt + POLL_TIMEOUT_MS;
|
|
2937
|
+
let attempt = 0;
|
|
2854
2938
|
while(Date.now() < deadline){
|
|
2939
|
+
attempt += 1;
|
|
2855
2940
|
try {
|
|
2856
2941
|
const data = await this.apiClient.requestWalletCreationJson({
|
|
2857
2942
|
chainName,
|
|
@@ -2868,6 +2953,17 @@ class DynamicWalletClient {
|
|
|
2868
2953
|
poll: true
|
|
2869
2954
|
});
|
|
2870
2955
|
if (data.walletId && data.accountAddress) {
|
|
2956
|
+
this.logger.info('[DynamicWaasWalletClient] http create completed', buildHttpCeremonyMeta(_extends({
|
|
2957
|
+
outcome: 'completed',
|
|
2958
|
+
chain: chainName,
|
|
2959
|
+
idempotencyKey,
|
|
2960
|
+
dynamicRequestId,
|
|
2961
|
+
durationMs: Date.now() - startedAt,
|
|
2962
|
+
attempt,
|
|
2963
|
+
walletId: data.walletId,
|
|
2964
|
+
walletActive: true,
|
|
2965
|
+
key: 'keyGen'
|
|
2966
|
+
}, this.getTraceContext(traceContext))));
|
|
2871
2967
|
return {
|
|
2872
2968
|
accountAddress: data.accountAddress,
|
|
2873
2969
|
walletId: data.walletId,
|
|
@@ -2885,15 +2981,30 @@ class DynamicWalletClient {
|
|
|
2885
2981
|
throw error;
|
|
2886
2982
|
}
|
|
2887
2983
|
// Transient failures (502, timeout) should not abort the entire keygen —
|
|
2888
|
-
// just retry the cheap poll until the deadline.
|
|
2889
|
-
|
|
2890
|
-
|
|
2984
|
+
// just retry the cheap poll until the deadline. Logged at info (not debug)
|
|
2985
|
+
// so the dashboard can chart per-attempt poll retries.
|
|
2986
|
+
this.logger.info('[DynamicWaasWalletClient] http create poll transient error, retrying', buildHttpCeremonyMeta(_extends({
|
|
2987
|
+
chain: chainName,
|
|
2988
|
+
idempotencyKey,
|
|
2891
2989
|
dynamicRequestId,
|
|
2892
|
-
|
|
2893
|
-
|
|
2990
|
+
attempt,
|
|
2991
|
+
errorKind: classifyTransientPollError(error),
|
|
2992
|
+
error: error.message,
|
|
2993
|
+
key: 'keyGen'
|
|
2994
|
+
}, this.getTraceContext(traceContext))));
|
|
2894
2995
|
}
|
|
2895
2996
|
await new Promise((resolve)=>setTimeout(resolve, POLL_INTERVAL_MS));
|
|
2896
2997
|
}
|
|
2998
|
+
this.logger.warn('[DynamicWaasWalletClient] http create failed', buildHttpCeremonyMeta(_extends({
|
|
2999
|
+
outcome: 'failed',
|
|
3000
|
+
chain: chainName,
|
|
3001
|
+
idempotencyKey,
|
|
3002
|
+
dynamicRequestId,
|
|
3003
|
+
errorKind: 'poll_timeout',
|
|
3004
|
+
durationMs: Date.now() - startedAt,
|
|
3005
|
+
attempt,
|
|
3006
|
+
key: 'keyGen'
|
|
3007
|
+
}, this.getTraceContext(traceContext))));
|
|
2897
3008
|
throw new Error('Timed out waiting for wallet creation ceremony to complete');
|
|
2898
3009
|
}
|
|
2899
3010
|
async clientInitializeKeyGen({ chainName, thresholdSignatureScheme, bitcoinConfig }) {
|
|
@@ -3075,13 +3186,12 @@ class DynamicWalletClient {
|
|
|
3075
3186
|
...serverKeygenIds,
|
|
3076
3187
|
...otherClientKeygenIds
|
|
3077
3188
|
];
|
|
3078
|
-
if (
|
|
3079
|
-
return mpcSigner.keygen(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3080
|
-
} else {
|
|
3189
|
+
if (mpcSigner instanceof web.ExportableEd25519) {
|
|
3081
3190
|
// One party joins the keygen room using acting as the sampler: (wallet-service)
|
|
3082
3191
|
// The remaining parties join the key sampling ceremony using: (browser)
|
|
3083
3192
|
return mpcSigner.receiveKey(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3084
3193
|
}
|
|
3194
|
+
return mpcSigner.keygen(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3085
3195
|
}));
|
|
3086
3196
|
// only need one client keygen result to derive the public key
|
|
3087
3197
|
const [clientKeygenResult] = clientKeygenResults;
|
|
@@ -3238,6 +3348,14 @@ class DynamicWalletClient {
|
|
|
3238
3348
|
// failure — log it at warn so it doesn't flood error dashboards. All
|
|
3239
3349
|
// other keygen failures stay at error.
|
|
3240
3350
|
const isExpectedRejection = error instanceof Error && error.message === ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
3351
|
+
// On the HTTP transport, tag the failure with the cross-repo join keys and
|
|
3352
|
+
// a stable errorKind so it lines up with the redcoast worker ceremony logs.
|
|
3353
|
+
const usedHttpTransport = this.featureFlags[core.FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
3354
|
+
const httpFailureContext = usedHttpTransport ? buildHttpCeremonyMeta({
|
|
3355
|
+
outcome: 'failed',
|
|
3356
|
+
idempotencyKey,
|
|
3357
|
+
errorKind: classifyWaasErrorKind(error)
|
|
3358
|
+
}) : {};
|
|
3241
3359
|
logError({
|
|
3242
3360
|
message: 'Error in keyGen',
|
|
3243
3361
|
error: error,
|
|
@@ -3246,7 +3364,7 @@ class DynamicWalletClient {
|
|
|
3246
3364
|
chainName,
|
|
3247
3365
|
thresholdSignatureScheme,
|
|
3248
3366
|
dynamicRequestId
|
|
3249
|
-
}, this.getTraceContext(traceContext))
|
|
3367
|
+
}, httpFailureContext, this.getTraceContext(traceContext))
|
|
3250
3368
|
});
|
|
3251
3369
|
throw error;
|
|
3252
3370
|
}
|
|
@@ -3733,7 +3851,25 @@ class DynamicWalletClient {
|
|
|
3733
3851
|
bitcoinConfig
|
|
3734
3852
|
}));
|
|
3735
3853
|
}
|
|
3736
|
-
async
|
|
3854
|
+
async getCachedRoomForSign(wallet, accountAddress, chainName, traceContext) {
|
|
3855
|
+
if (this.featureFlags[core.FEATURE_FLAGS.ENABLE_ROOM_CACHE_FLAG] !== true) {
|
|
3856
|
+
return undefined;
|
|
3857
|
+
}
|
|
3858
|
+
const room = await this.getRoom(sdkApiCore.RoomTypeEnum.Threshold, wallet.thresholdSignatureScheme);
|
|
3859
|
+
const roomId = room == null ? void 0 : room.roomId;
|
|
3860
|
+
if (roomId) {
|
|
3861
|
+
this.logger.info('[DynamicWaasWalletClient] Using cached room', _extends({
|
|
3862
|
+
key: 'sign',
|
|
3863
|
+
operation: 'cachedRoomFound',
|
|
3864
|
+
accountAddress,
|
|
3865
|
+
chainName,
|
|
3866
|
+
walletId: wallet.walletId,
|
|
3867
|
+
roomId
|
|
3868
|
+
}, this.getTraceContext(traceContext)));
|
|
3869
|
+
}
|
|
3870
|
+
return roomId;
|
|
3871
|
+
}
|
|
3872
|
+
async internalSign({ accountAddress, message, chainName, password = undefined, isFormatted = false, signedSessionId, mfaToken, elevatedAccessToken, context, onError, traceContext, bitcoinConfig, staleShareRetry = false, roomIdRetry = false }) {
|
|
3737
3873
|
const dynamicRequestId = uuid.v4();
|
|
3738
3874
|
try {
|
|
3739
3875
|
await this.verifyPassword({
|
|
@@ -3750,21 +3886,7 @@ class DynamicWalletClient {
|
|
|
3750
3886
|
const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
|
|
3751
3887
|
// Ensure client key shares exist before hitting the API
|
|
3752
3888
|
const clientKeyShares = await this.ensureClientShare(accountAddress);
|
|
3753
|
-
let roomId;
|
|
3754
|
-
if (this.featureFlags[core.FEATURE_FLAGS.ENABLE_ROOM_CACHE_FLAG] === true) {
|
|
3755
|
-
const room = await this.getRoom(sdkApiCore.RoomTypeEnum.Threshold, wallet.thresholdSignatureScheme);
|
|
3756
|
-
roomId = room == null ? void 0 : room.roomId;
|
|
3757
|
-
if (roomId) {
|
|
3758
|
-
this.logger.info('[DynamicWaasWalletClient] Using cached room', _extends({
|
|
3759
|
-
key: 'sign',
|
|
3760
|
-
operation: 'cachedRoomFound',
|
|
3761
|
-
accountAddress,
|
|
3762
|
-
chainName,
|
|
3763
|
-
walletId: wallet.walletId,
|
|
3764
|
-
roomId
|
|
3765
|
-
}, this.getTraceContext(traceContext)));
|
|
3766
|
-
}
|
|
3767
|
-
}
|
|
3889
|
+
let roomId = roomIdRetry ? undefined : await this.getCachedRoomForSign(wallet, accountAddress, chainName, traceContext);
|
|
3768
3890
|
// Create a rejection handler that will be wired up synchronously below.
|
|
3769
3891
|
// Promise executors run synchronously, so rejectOnSSEError is guaranteed
|
|
3770
3892
|
// to be assigned before serverSign is called.
|
|
@@ -3787,6 +3909,15 @@ class DynamicWalletClient {
|
|
|
3787
3909
|
});
|
|
3788
3910
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
3789
3911
|
staleSharesPromise.catch(()=>{});
|
|
3912
|
+
// Same pattern for 409 ROOM_ID_ALREADY_USED: the client sent a stale
|
|
3913
|
+
// cached roomId that was already claimed. Route through a dedicated
|
|
3914
|
+
// channel so the outer catch can retry without the cached room.
|
|
3915
|
+
let rejectOnRoomIdAlreadyUsed;
|
|
3916
|
+
const roomIdAlreadyUsedPromise = new Promise((_, reject)=>{
|
|
3917
|
+
rejectOnRoomIdAlreadyUsed = reject;
|
|
3918
|
+
});
|
|
3919
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
3920
|
+
roomIdAlreadyUsedPromise.catch(()=>{});
|
|
3790
3921
|
// Perform the server sign
|
|
3791
3922
|
const serverSignPromise = this.serverSign({
|
|
3792
3923
|
walletId: wallet.walletId,
|
|
@@ -3805,6 +3936,11 @@ class DynamicWalletClient {
|
|
|
3805
3936
|
rejectOnStaleShares(error);
|
|
3806
3937
|
return;
|
|
3807
3938
|
}
|
|
3939
|
+
// Stale cached roomId — retry transparently without the cache.
|
|
3940
|
+
if (isRoomIdAlreadyUsedError(error)) {
|
|
3941
|
+
rejectOnRoomIdAlreadyUsed(error);
|
|
3942
|
+
return;
|
|
3943
|
+
}
|
|
3808
3944
|
onError == null ? void 0 : onError(error);
|
|
3809
3945
|
rejectOnSSEError(error);
|
|
3810
3946
|
},
|
|
@@ -3906,13 +4042,13 @@ class DynamicWalletClient {
|
|
|
3906
4042
|
signature = await Promise.race([
|
|
3907
4043
|
clientSignPromise,
|
|
3908
4044
|
sseErrorPromise,
|
|
3909
|
-
staleSharesPromise
|
|
4045
|
+
staleSharesPromise,
|
|
4046
|
+
roomIdAlreadyUsedPromise
|
|
3910
4047
|
]);
|
|
3911
4048
|
} catch (signError) {
|
|
3912
|
-
//
|
|
3913
|
-
// catch (heal
|
|
3914
|
-
|
|
3915
|
-
if (isStaleClientSharesError(signError)) {
|
|
4049
|
+
// Stale-shares and room-already-used are both handled exclusively by
|
|
4050
|
+
// the outer catch (heal+retry / room retry) — skip generic heal here.
|
|
4051
|
+
if (isStaleClientSharesError(signError) || isRoomIdAlreadyUsedError(signError)) {
|
|
3916
4052
|
throw signError;
|
|
3917
4053
|
}
|
|
3918
4054
|
// Heal before rethrowing so the caller's retry succeeds. Run the
|
|
@@ -3989,7 +4125,34 @@ class DynamicWalletClient {
|
|
|
3989
4125
|
onError,
|
|
3990
4126
|
traceContext,
|
|
3991
4127
|
bitcoinConfig,
|
|
3992
|
-
staleShareRetry: true
|
|
4128
|
+
staleShareRetry: true,
|
|
4129
|
+
roomIdRetry
|
|
4130
|
+
});
|
|
4131
|
+
}
|
|
4132
|
+
// 409 ROOM_ID_ALREADY_USED: the cached roomId was already claimed by
|
|
4133
|
+
// a previous ceremony. Retry once without the room cache so the server
|
|
4134
|
+
// creates a fresh room.
|
|
4135
|
+
if (!roomIdRetry && isRoomIdAlreadyUsedError(error)) {
|
|
4136
|
+
this.logger.info('[RoomCache] retrying sign without cached room after 409 ROOM_ID_ALREADY_USED', _extends({
|
|
4137
|
+
accountAddress,
|
|
4138
|
+
chainName,
|
|
4139
|
+
dynamicRequestId
|
|
4140
|
+
}, this.getTraceContext(traceContext)));
|
|
4141
|
+
return await this.internalSign({
|
|
4142
|
+
accountAddress,
|
|
4143
|
+
message,
|
|
4144
|
+
chainName,
|
|
4145
|
+
password,
|
|
4146
|
+
isFormatted,
|
|
4147
|
+
signedSessionId,
|
|
4148
|
+
mfaToken,
|
|
4149
|
+
elevatedAccessToken,
|
|
4150
|
+
context,
|
|
4151
|
+
onError,
|
|
4152
|
+
traceContext,
|
|
4153
|
+
bitcoinConfig,
|
|
4154
|
+
staleShareRetry,
|
|
4155
|
+
roomIdRetry: true
|
|
3993
4156
|
});
|
|
3994
4157
|
}
|
|
3995
4158
|
logError({
|
|
@@ -8422,6 +8585,11 @@ class DynamicWalletClient {
|
|
|
8422
8585
|
if (hasExistingRooms) {
|
|
8423
8586
|
return DynamicWalletClient.rooms;
|
|
8424
8587
|
}
|
|
8588
|
+
// A previous persistRooms() write failed, meaning localStorage may contain
|
|
8589
|
+
// rooms that were already consumed in memory. Don't restore stale data.
|
|
8590
|
+
if (DynamicWalletClient.roomsPersistDirty) {
|
|
8591
|
+
return DynamicWalletClient.rooms;
|
|
8592
|
+
}
|
|
8425
8593
|
const roomData = await this.storage.getItem(`${this.storageKey}-rooms`);
|
|
8426
8594
|
if (!roomData) {
|
|
8427
8595
|
return {};
|
|
@@ -8459,7 +8627,13 @@ class DynamicWalletClient {
|
|
|
8459
8627
|
*/ persistRooms() {
|
|
8460
8628
|
DynamicWalletClient.roomsPersistChain = DynamicWalletClient.roomsPersistChain.catch(()=>{
|
|
8461
8629
|
// Recover from previous write failure so the chain stays alive
|
|
8462
|
-
}).then(()=>this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms)))
|
|
8630
|
+
}).then(()=>this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms))).then(()=>{
|
|
8631
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
8632
|
+
}).catch(()=>{
|
|
8633
|
+
// Storage write failed (e.g. restricted iframe context). Flag as
|
|
8634
|
+
// dirty so restoreRooms() won't resurrect stale localStorage data.
|
|
8635
|
+
DynamicWalletClient.roomsPersistDirty = true;
|
|
8636
|
+
});
|
|
8463
8637
|
return DynamicWalletClient.roomsPersistChain;
|
|
8464
8638
|
}
|
|
8465
8639
|
getNumberOfParties(roomType, thresholdSignatureScheme) {
|
|
@@ -8611,29 +8785,17 @@ class DynamicWalletClient {
|
|
|
8611
8785
|
}
|
|
8612
8786
|
this.forwardMPCEnabled = this.featureFlags && this.featureFlags[core.FEATURE_FLAGS.ENABLE_FORWARD_MPC_CLIENT_FLAG] === true;
|
|
8613
8787
|
if (this.forwardMPCEnabled) {
|
|
8614
|
-
|
|
8615
|
-
this.apiClient.forwardMPCClient.connect().then(()=>{
|
|
8616
|
-
this.logger.info('Optimistically Connected to ForwardMPC enclave', {
|
|
8617
|
-
environmentId: this.environmentId,
|
|
8618
|
-
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
8619
|
-
});
|
|
8620
|
-
}).catch((error)=>{
|
|
8621
|
-
const errorInfo = core.classifyForwardMpcError(error);
|
|
8622
|
-
// A rate-limited upgrade falls back to relay → warn, not error, so the
|
|
8623
|
-
// recovered case doesn't pollute error triage.
|
|
8624
|
-
const level = errorInfo.errorType === 'RATE_LIMITED' ? 'warn' : 'error';
|
|
8625
|
-
this.logger[level]('Error connecting to ForwardMPC enclave optimistically', _extends({}, errorInfo, {
|
|
8626
|
-
error,
|
|
8627
|
-
environmentId: this.environmentId,
|
|
8628
|
-
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
8629
|
-
}));
|
|
8630
|
-
});
|
|
8788
|
+
this.connectForwardMPC();
|
|
8631
8789
|
}
|
|
8632
8790
|
}
|
|
8633
8791
|
}
|
|
8634
8792
|
DynamicWalletClient.rooms = {};
|
|
8635
8793
|
DynamicWalletClient.roomsInitializing = {};
|
|
8636
8794
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
8795
|
+
// Set when a persistRooms write fails (e.g. storage-restricted iframe
|
|
8796
|
+
// context). When true, restoreRooms() trusts in-memory state over
|
|
8797
|
+
// potentially-stale localStorage to prevent resurrecting consumed rooms.
|
|
8798
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
8637
8799
|
// Bumped by clearRoomPool() so an in-flight createRooms() that started before
|
|
8638
8800
|
// a user switch can detect the clear and refuse to write the previous user's
|
|
8639
8801
|
// rooms back into the new user's storage (TOCTOU on the create→merge gap).
|
|
@@ -8766,6 +8928,7 @@ exports.isICloudAuthenticated = isICloudAuthenticated;
|
|
|
8766
8928
|
exports.isNonRetryableCeremonyError = isNonRetryableCeremonyError;
|
|
8767
8929
|
exports.isPublicKeyMismatchError = isPublicKeyMismatchError;
|
|
8768
8930
|
exports.isRecoverQueueOperation = isRecoverQueueOperation;
|
|
8931
|
+
exports.isRoomIdAlreadyUsedError = isRoomIdAlreadyUsedError;
|
|
8769
8932
|
exports.isSignQueueOperation = isSignQueueOperation;
|
|
8770
8933
|
exports.isStaleClientSharesError = isStaleClientSharesError;
|
|
8771
8934
|
exports.listICloudBackups = listICloudBackups;
|
package/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BitcoinAddressType, MPC_RELAY_PROD_API_URL, getMPCChainConfig, BackupLocation, ENCRYPTED_SHARES_STORAGE_SUFFIX, Logger, WalletApiError, handleAxiosError, WalletOperation, parseNamespacedVersion, WalletReadyState, FEATURE_FLAGS, ThresholdSignatureScheme, getClientThreshold, MPC_CONFIG,
|
|
1
|
+
import { BitcoinAddressType, MPC_RELAY_PROD_API_URL, getMPCChainConfig, BackupLocation, ENCRYPTED_SHARES_STORAGE_SUFFIX, Logger, WalletApiError, handleAxiosError, WalletOperation, parseNamespacedVersion, WalletReadyState, classifyForwardMpcError, FEATURE_FLAGS, ThresholdSignatureScheme, getClientThreshold, MPC_CONFIG, getTSSConfig, serializeMessageForForwardMPC, isEvmCompatibleChain, serializeError, getReshareConfig, getRequiredExternalKeyShareId, verifiedCredentialNameToChainEnum, AuthMode, NoopLogger, DynamicApiClient, BusinessAccountClient, getEnvironmentFromUrl, IFRAME_DOMAIN_MAP } from '@dynamic-labs-wallet/core';
|
|
2
2
|
export * from '@dynamic-labs-wallet/core';
|
|
3
3
|
export { Logger } from '@dynamic-labs-wallet/core';
|
|
4
4
|
import { EdBls12377, BIP340, ExportableEd25519, Ecdsa, MessageHash, EcdsaSignature, EcdsaKeygenResult, ExportableEd25519KeygenResult, BIP340KeygenResult } from '#internal/web';
|
|
@@ -1317,6 +1317,19 @@ const downloadStringAsFile = ({ filename, content, mimeType = 'application/json'
|
|
|
1317
1317
|
}
|
|
1318
1318
|
return error.code === 'STALE_CLIENT_SHARES';
|
|
1319
1319
|
};
|
|
1320
|
+
/**
|
|
1321
|
+
* Detects the server's 409 ROOM_ID_ALREADY_USED rejection. The client
|
|
1322
|
+
* may cache pre-created roomIds locally; if a cached roomId becomes
|
|
1323
|
+
* stale (e.g. localStorage restoration after an iframe reload, or a
|
|
1324
|
+
* write failure in a restricted storage context), the server rejects
|
|
1325
|
+
* the claim with this code. The SDK retries without the stale roomId
|
|
1326
|
+
* so the server creates a fresh room.
|
|
1327
|
+
*/ const isRoomIdAlreadyUsedError = (error)=>{
|
|
1328
|
+
if (!error || typeof error !== 'object') {
|
|
1329
|
+
return false;
|
|
1330
|
+
}
|
|
1331
|
+
return error.code === 'ROOM_ID_ALREADY_USED';
|
|
1332
|
+
};
|
|
1320
1333
|
/**
|
|
1321
1334
|
* Determines whether a reshare operation should reuse the wallet's existing backup locations.
|
|
1322
1335
|
*
|
|
@@ -1826,6 +1839,45 @@ const initializeCloudKit = async (config, signInButtonId, onSignInRequired, onSi
|
|
|
1826
1839
|
logger.info('[DynamicWaasWalletClient] Google Drive backup completed successfully', logContext);
|
|
1827
1840
|
};
|
|
1828
1841
|
|
|
1842
|
+
// The poll loop also surfaces errors that carry a status without being an
|
|
1843
|
+
// AxiosError instance (e.g. wrapped/normalized HTTP errors), so fall back to
|
|
1844
|
+
// the same duck-typed read it uses for its transient/terminal decision.
|
|
1845
|
+
const readHttpStatus = (error)=>{
|
|
1846
|
+
var _error_response;
|
|
1847
|
+
var _getHttpStatus, _ref;
|
|
1848
|
+
return (_ref = (_getHttpStatus = getHttpStatus(error)) != null ? _getHttpStatus : error == null ? void 0 : (_error_response = error.response) == null ? void 0 : _error_response.status) != null ? _ref : error == null ? void 0 : error.status;
|
|
1849
|
+
};
|
|
1850
|
+
// Shared structured-logging helpers for the HTTP-transport (HTTPS) WaaS create
|
|
1851
|
+
// ceremony, so the browser SDK emits dashboard-queryable fields (transport,
|
|
1852
|
+
// error taxonomy, durations) that join to the redcoast worker's ceremony logs.
|
|
1853
|
+
// Mirrors redcoast's waas-https/observability.ts (PR #10347): same `transport`,
|
|
1854
|
+
// `errorKind`, `durationMs` field names so client and server logs line up.
|
|
1855
|
+
const WAAS_HTTPS_TRANSPORT = 'http';
|
|
1856
|
+
const POLL_TIMEOUT_MESSAGE = 'Timed out waiting for wallet creation ceremony to complete';
|
|
1857
|
+
// Maps an error to a stable taxonomy so the dashboard can break down create
|
|
1858
|
+
// failures without parsing free text. Order matters: most specific first.
|
|
1859
|
+
const classifyWaasErrorKind = (error)=>{
|
|
1860
|
+
if (error instanceof WalletNotActiveError) return 'wallet_not_active';
|
|
1861
|
+
const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();
|
|
1862
|
+
if (message.includes(POLL_TIMEOUT_MESSAGE.toLowerCase())) return 'poll_timeout';
|
|
1863
|
+
if (message.includes('timeout') || message.includes('timed out')) return 'mpc_timeout';
|
|
1864
|
+
return 'unknown';
|
|
1865
|
+
};
|
|
1866
|
+
// Classifies a single transient poll failure for the retry log. A poll that
|
|
1867
|
+
// fails with a transient HTTP status (5xx / 429 / no response) is exhausted
|
|
1868
|
+
// only if the deadline passes; per-attempt we just tag the kind.
|
|
1869
|
+
const classifyTransientPollError = (error)=>{
|
|
1870
|
+
const status = readHttpStatus(error);
|
|
1871
|
+
if (status === 429 || status !== undefined && status >= 500) return 'transient_exhausted';
|
|
1872
|
+
return classifyWaasErrorKind(error);
|
|
1873
|
+
};
|
|
1874
|
+
// Builds a structured log payload tagged with the HTTPS transport, dropping
|
|
1875
|
+
// undefined/null fields so log lines stay clean and consistently shaped.
|
|
1876
|
+
// `idempotencyKey` is the cross-repo join key — always pass it.
|
|
1877
|
+
const buildHttpCeremonyMeta = (fields)=>_extends({
|
|
1878
|
+
transport: WAAS_HTTPS_TRANSPORT
|
|
1879
|
+
}, Object.fromEntries(Object.entries(fields).filter(([, value])=>value !== undefined && value !== null)));
|
|
1880
|
+
|
|
1829
1881
|
/**
|
|
1830
1882
|
* Returns true for errors that represent expected user-facing conditions
|
|
1831
1883
|
* (e.g. wrong password). These are logged at `info` instead of `error`
|
|
@@ -2627,6 +2679,25 @@ const KNOWN_SHARE_SET_TYPES = new Set([
|
|
|
2627
2679
|
return ((_backupInfo_backups_BackupLocation_DYNAMIC = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : _backupInfo_backups[BackupLocation.DYNAMIC]) != null ? _backupInfo_backups_BackupLocation_DYNAMIC : []).map((backup)=>backup.keygenId).filter((keygenId)=>typeof keygenId === 'string' && keygenId.length > 0);
|
|
2628
2680
|
};
|
|
2629
2681
|
class DynamicWalletClient {
|
|
2682
|
+
connectForwardMPC() {
|
|
2683
|
+
const forwardMPCConnectStartedAt = Date.now();
|
|
2684
|
+
this.apiClient.forwardMPCClient.connect().then(()=>{
|
|
2685
|
+
this.logger.info('Optimistically Connected to ForwardMPC enclave', {
|
|
2686
|
+
environmentId: this.environmentId,
|
|
2687
|
+
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
2688
|
+
});
|
|
2689
|
+
}).catch((error)=>{
|
|
2690
|
+
const errorInfo = classifyForwardMpcError(error);
|
|
2691
|
+
// A rate-limited upgrade falls back to relay → warn, not error, so the
|
|
2692
|
+
// recovered case doesn't pollute error triage.
|
|
2693
|
+
const level = errorInfo.errorType === 'RATE_LIMITED' ? 'warn' : 'error';
|
|
2694
|
+
this.logger[level]('Error connecting to ForwardMPC enclave optimistically', _extends({}, errorInfo, {
|
|
2695
|
+
error,
|
|
2696
|
+
environmentId: this.environmentId,
|
|
2697
|
+
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
2698
|
+
}));
|
|
2699
|
+
});
|
|
2700
|
+
}
|
|
2630
2701
|
/**
|
|
2631
2702
|
* Check if wallet has heavy operations in progress
|
|
2632
2703
|
*/ static isHeavyOpInProgress(accountAddress) {
|
|
@@ -2654,6 +2725,7 @@ class DynamicWalletClient {
|
|
|
2654
2725
|
DynamicWalletClient.rooms = {};
|
|
2655
2726
|
DynamicWalletClient.roomsInitializing = {};
|
|
2656
2727
|
DynamicWalletClient.roomsGeneration += 1;
|
|
2728
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
2657
2729
|
}
|
|
2658
2730
|
/**
|
|
2659
2731
|
* Reset static state for testing purposes.
|
|
@@ -2733,7 +2805,7 @@ class DynamicWalletClient {
|
|
|
2733
2805
|
return;
|
|
2734
2806
|
}
|
|
2735
2807
|
// Decode the payload (second part)
|
|
2736
|
-
const base64Payload = parts[1].
|
|
2808
|
+
const base64Payload = parts[1].replaceAll('-', '+').replaceAll('_', '/');
|
|
2737
2809
|
const jsonPayload = decodeURIComponent(Buffer.from(base64Payload, 'base64').toString('utf-8'));
|
|
2738
2810
|
const payload = JSON.parse(jsonPayload);
|
|
2739
2811
|
if (!payload || typeof payload !== 'object') {
|
|
@@ -2803,6 +2875,16 @@ class DynamicWalletClient {
|
|
|
2803
2875
|
const useHttpTransport = this.featureFlags[FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
2804
2876
|
let data;
|
|
2805
2877
|
if (useHttpTransport) {
|
|
2878
|
+
this.logger.info('[DynamicWaasWalletClient] http create requested', buildHttpCeremonyMeta(_extends({
|
|
2879
|
+
outcome: 'started',
|
|
2880
|
+
operation: 'create',
|
|
2881
|
+
chain: chainName,
|
|
2882
|
+
idempotencyKey,
|
|
2883
|
+
dynamicRequestId,
|
|
2884
|
+
environmentId: this.environmentId,
|
|
2885
|
+
userId: this.userId,
|
|
2886
|
+
key: 'keyGen'
|
|
2887
|
+
}, this.getTraceContext(traceContext))));
|
|
2806
2888
|
data = await this.apiClient.requestWalletCreationJson({
|
|
2807
2889
|
chainName,
|
|
2808
2890
|
clientKeygenIds,
|
|
@@ -2851,8 +2933,11 @@ class DynamicWalletClient {
|
|
|
2851
2933
|
*/ async pollHttpCeremonyCompletion({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext }) {
|
|
2852
2934
|
const POLL_INTERVAL_MS = 1000;
|
|
2853
2935
|
const POLL_TIMEOUT_MS = 30000;
|
|
2854
|
-
const
|
|
2936
|
+
const startedAt = Date.now();
|
|
2937
|
+
const deadline = startedAt + POLL_TIMEOUT_MS;
|
|
2938
|
+
let attempt = 0;
|
|
2855
2939
|
while(Date.now() < deadline){
|
|
2940
|
+
attempt += 1;
|
|
2856
2941
|
try {
|
|
2857
2942
|
const data = await this.apiClient.requestWalletCreationJson({
|
|
2858
2943
|
chainName,
|
|
@@ -2869,6 +2954,17 @@ class DynamicWalletClient {
|
|
|
2869
2954
|
poll: true
|
|
2870
2955
|
});
|
|
2871
2956
|
if (data.walletId && data.accountAddress) {
|
|
2957
|
+
this.logger.info('[DynamicWaasWalletClient] http create completed', buildHttpCeremonyMeta(_extends({
|
|
2958
|
+
outcome: 'completed',
|
|
2959
|
+
chain: chainName,
|
|
2960
|
+
idempotencyKey,
|
|
2961
|
+
dynamicRequestId,
|
|
2962
|
+
durationMs: Date.now() - startedAt,
|
|
2963
|
+
attempt,
|
|
2964
|
+
walletId: data.walletId,
|
|
2965
|
+
walletActive: true,
|
|
2966
|
+
key: 'keyGen'
|
|
2967
|
+
}, this.getTraceContext(traceContext))));
|
|
2872
2968
|
return {
|
|
2873
2969
|
accountAddress: data.accountAddress,
|
|
2874
2970
|
walletId: data.walletId,
|
|
@@ -2886,15 +2982,30 @@ class DynamicWalletClient {
|
|
|
2886
2982
|
throw error;
|
|
2887
2983
|
}
|
|
2888
2984
|
// Transient failures (502, timeout) should not abort the entire keygen —
|
|
2889
|
-
// just retry the cheap poll until the deadline.
|
|
2890
|
-
|
|
2891
|
-
|
|
2985
|
+
// just retry the cheap poll until the deadline. Logged at info (not debug)
|
|
2986
|
+
// so the dashboard can chart per-attempt poll retries.
|
|
2987
|
+
this.logger.info('[DynamicWaasWalletClient] http create poll transient error, retrying', buildHttpCeremonyMeta(_extends({
|
|
2988
|
+
chain: chainName,
|
|
2989
|
+
idempotencyKey,
|
|
2892
2990
|
dynamicRequestId,
|
|
2893
|
-
|
|
2894
|
-
|
|
2991
|
+
attempt,
|
|
2992
|
+
errorKind: classifyTransientPollError(error),
|
|
2993
|
+
error: error.message,
|
|
2994
|
+
key: 'keyGen'
|
|
2995
|
+
}, this.getTraceContext(traceContext))));
|
|
2895
2996
|
}
|
|
2896
2997
|
await new Promise((resolve)=>setTimeout(resolve, POLL_INTERVAL_MS));
|
|
2897
2998
|
}
|
|
2999
|
+
this.logger.warn('[DynamicWaasWalletClient] http create failed', buildHttpCeremonyMeta(_extends({
|
|
3000
|
+
outcome: 'failed',
|
|
3001
|
+
chain: chainName,
|
|
3002
|
+
idempotencyKey,
|
|
3003
|
+
dynamicRequestId,
|
|
3004
|
+
errorKind: 'poll_timeout',
|
|
3005
|
+
durationMs: Date.now() - startedAt,
|
|
3006
|
+
attempt,
|
|
3007
|
+
key: 'keyGen'
|
|
3008
|
+
}, this.getTraceContext(traceContext))));
|
|
2898
3009
|
throw new Error('Timed out waiting for wallet creation ceremony to complete');
|
|
2899
3010
|
}
|
|
2900
3011
|
async clientInitializeKeyGen({ chainName, thresholdSignatureScheme, bitcoinConfig }) {
|
|
@@ -3076,13 +3187,12 @@ class DynamicWalletClient {
|
|
|
3076
3187
|
...serverKeygenIds,
|
|
3077
3188
|
...otherClientKeygenIds
|
|
3078
3189
|
];
|
|
3079
|
-
if (
|
|
3080
|
-
return mpcSigner.keygen(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3081
|
-
} else {
|
|
3190
|
+
if (mpcSigner instanceof ExportableEd25519) {
|
|
3082
3191
|
// One party joins the keygen room using acting as the sampler: (wallet-service)
|
|
3083
3192
|
// The remaining parties join the key sampling ceremony using: (browser)
|
|
3084
3193
|
return mpcSigner.receiveKey(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3085
3194
|
}
|
|
3195
|
+
return mpcSigner.keygen(roomId, mpcConfig.numberOfParties, mpcConfig.threshold, currentInit, allOtherKeygenIds);
|
|
3086
3196
|
}));
|
|
3087
3197
|
// only need one client keygen result to derive the public key
|
|
3088
3198
|
const [clientKeygenResult] = clientKeygenResults;
|
|
@@ -3239,6 +3349,14 @@ class DynamicWalletClient {
|
|
|
3239
3349
|
// failure — log it at warn so it doesn't flood error dashboards. All
|
|
3240
3350
|
// other keygen failures stay at error.
|
|
3241
3351
|
const isExpectedRejection = error instanceof Error && error.message === ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
3352
|
+
// On the HTTP transport, tag the failure with the cross-repo join keys and
|
|
3353
|
+
// a stable errorKind so it lines up with the redcoast worker ceremony logs.
|
|
3354
|
+
const usedHttpTransport = this.featureFlags[FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
3355
|
+
const httpFailureContext = usedHttpTransport ? buildHttpCeremonyMeta({
|
|
3356
|
+
outcome: 'failed',
|
|
3357
|
+
idempotencyKey,
|
|
3358
|
+
errorKind: classifyWaasErrorKind(error)
|
|
3359
|
+
}) : {};
|
|
3242
3360
|
logError({
|
|
3243
3361
|
message: 'Error in keyGen',
|
|
3244
3362
|
error: error,
|
|
@@ -3247,7 +3365,7 @@ class DynamicWalletClient {
|
|
|
3247
3365
|
chainName,
|
|
3248
3366
|
thresholdSignatureScheme,
|
|
3249
3367
|
dynamicRequestId
|
|
3250
|
-
}, this.getTraceContext(traceContext))
|
|
3368
|
+
}, httpFailureContext, this.getTraceContext(traceContext))
|
|
3251
3369
|
});
|
|
3252
3370
|
throw error;
|
|
3253
3371
|
}
|
|
@@ -3734,7 +3852,25 @@ class DynamicWalletClient {
|
|
|
3734
3852
|
bitcoinConfig
|
|
3735
3853
|
}));
|
|
3736
3854
|
}
|
|
3737
|
-
async
|
|
3855
|
+
async getCachedRoomForSign(wallet, accountAddress, chainName, traceContext) {
|
|
3856
|
+
if (this.featureFlags[FEATURE_FLAGS.ENABLE_ROOM_CACHE_FLAG] !== true) {
|
|
3857
|
+
return undefined;
|
|
3858
|
+
}
|
|
3859
|
+
const room = await this.getRoom(RoomTypeEnum.Threshold, wallet.thresholdSignatureScheme);
|
|
3860
|
+
const roomId = room == null ? void 0 : room.roomId;
|
|
3861
|
+
if (roomId) {
|
|
3862
|
+
this.logger.info('[DynamicWaasWalletClient] Using cached room', _extends({
|
|
3863
|
+
key: 'sign',
|
|
3864
|
+
operation: 'cachedRoomFound',
|
|
3865
|
+
accountAddress,
|
|
3866
|
+
chainName,
|
|
3867
|
+
walletId: wallet.walletId,
|
|
3868
|
+
roomId
|
|
3869
|
+
}, this.getTraceContext(traceContext)));
|
|
3870
|
+
}
|
|
3871
|
+
return roomId;
|
|
3872
|
+
}
|
|
3873
|
+
async internalSign({ accountAddress, message, chainName, password = undefined, isFormatted = false, signedSessionId, mfaToken, elevatedAccessToken, context, onError, traceContext, bitcoinConfig, staleShareRetry = false, roomIdRetry = false }) {
|
|
3738
3874
|
const dynamicRequestId = v4();
|
|
3739
3875
|
try {
|
|
3740
3876
|
await this.verifyPassword({
|
|
@@ -3751,21 +3887,7 @@ class DynamicWalletClient {
|
|
|
3751
3887
|
const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
|
|
3752
3888
|
// Ensure client key shares exist before hitting the API
|
|
3753
3889
|
const clientKeyShares = await this.ensureClientShare(accountAddress);
|
|
3754
|
-
let roomId;
|
|
3755
|
-
if (this.featureFlags[FEATURE_FLAGS.ENABLE_ROOM_CACHE_FLAG] === true) {
|
|
3756
|
-
const room = await this.getRoom(RoomTypeEnum.Threshold, wallet.thresholdSignatureScheme);
|
|
3757
|
-
roomId = room == null ? void 0 : room.roomId;
|
|
3758
|
-
if (roomId) {
|
|
3759
|
-
this.logger.info('[DynamicWaasWalletClient] Using cached room', _extends({
|
|
3760
|
-
key: 'sign',
|
|
3761
|
-
operation: 'cachedRoomFound',
|
|
3762
|
-
accountAddress,
|
|
3763
|
-
chainName,
|
|
3764
|
-
walletId: wallet.walletId,
|
|
3765
|
-
roomId
|
|
3766
|
-
}, this.getTraceContext(traceContext)));
|
|
3767
|
-
}
|
|
3768
|
-
}
|
|
3890
|
+
let roomId = roomIdRetry ? undefined : await this.getCachedRoomForSign(wallet, accountAddress, chainName, traceContext);
|
|
3769
3891
|
// Create a rejection handler that will be wired up synchronously below.
|
|
3770
3892
|
// Promise executors run synchronously, so rejectOnSSEError is guaranteed
|
|
3771
3893
|
// to be assigned before serverSign is called.
|
|
@@ -3788,6 +3910,15 @@ class DynamicWalletClient {
|
|
|
3788
3910
|
});
|
|
3789
3911
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
3790
3912
|
staleSharesPromise.catch(()=>{});
|
|
3913
|
+
// Same pattern for 409 ROOM_ID_ALREADY_USED: the client sent a stale
|
|
3914
|
+
// cached roomId that was already claimed. Route through a dedicated
|
|
3915
|
+
// channel so the outer catch can retry without the cached room.
|
|
3916
|
+
let rejectOnRoomIdAlreadyUsed;
|
|
3917
|
+
const roomIdAlreadyUsedPromise = new Promise((_, reject)=>{
|
|
3918
|
+
rejectOnRoomIdAlreadyUsed = reject;
|
|
3919
|
+
});
|
|
3920
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
3921
|
+
roomIdAlreadyUsedPromise.catch(()=>{});
|
|
3791
3922
|
// Perform the server sign
|
|
3792
3923
|
const serverSignPromise = this.serverSign({
|
|
3793
3924
|
walletId: wallet.walletId,
|
|
@@ -3806,6 +3937,11 @@ class DynamicWalletClient {
|
|
|
3806
3937
|
rejectOnStaleShares(error);
|
|
3807
3938
|
return;
|
|
3808
3939
|
}
|
|
3940
|
+
// Stale cached roomId — retry transparently without the cache.
|
|
3941
|
+
if (isRoomIdAlreadyUsedError(error)) {
|
|
3942
|
+
rejectOnRoomIdAlreadyUsed(error);
|
|
3943
|
+
return;
|
|
3944
|
+
}
|
|
3809
3945
|
onError == null ? void 0 : onError(error);
|
|
3810
3946
|
rejectOnSSEError(error);
|
|
3811
3947
|
},
|
|
@@ -3907,13 +4043,13 @@ class DynamicWalletClient {
|
|
|
3907
4043
|
signature = await Promise.race([
|
|
3908
4044
|
clientSignPromise,
|
|
3909
4045
|
sseErrorPromise,
|
|
3910
|
-
staleSharesPromise
|
|
4046
|
+
staleSharesPromise,
|
|
4047
|
+
roomIdAlreadyUsedPromise
|
|
3911
4048
|
]);
|
|
3912
4049
|
} catch (signError) {
|
|
3913
|
-
//
|
|
3914
|
-
// catch (heal
|
|
3915
|
-
|
|
3916
|
-
if (isStaleClientSharesError(signError)) {
|
|
4050
|
+
// Stale-shares and room-already-used are both handled exclusively by
|
|
4051
|
+
// the outer catch (heal+retry / room retry) — skip generic heal here.
|
|
4052
|
+
if (isStaleClientSharesError(signError) || isRoomIdAlreadyUsedError(signError)) {
|
|
3917
4053
|
throw signError;
|
|
3918
4054
|
}
|
|
3919
4055
|
// Heal before rethrowing so the caller's retry succeeds. Run the
|
|
@@ -3990,7 +4126,34 @@ class DynamicWalletClient {
|
|
|
3990
4126
|
onError,
|
|
3991
4127
|
traceContext,
|
|
3992
4128
|
bitcoinConfig,
|
|
3993
|
-
staleShareRetry: true
|
|
4129
|
+
staleShareRetry: true,
|
|
4130
|
+
roomIdRetry
|
|
4131
|
+
});
|
|
4132
|
+
}
|
|
4133
|
+
// 409 ROOM_ID_ALREADY_USED: the cached roomId was already claimed by
|
|
4134
|
+
// a previous ceremony. Retry once without the room cache so the server
|
|
4135
|
+
// creates a fresh room.
|
|
4136
|
+
if (!roomIdRetry && isRoomIdAlreadyUsedError(error)) {
|
|
4137
|
+
this.logger.info('[RoomCache] retrying sign without cached room after 409 ROOM_ID_ALREADY_USED', _extends({
|
|
4138
|
+
accountAddress,
|
|
4139
|
+
chainName,
|
|
4140
|
+
dynamicRequestId
|
|
4141
|
+
}, this.getTraceContext(traceContext)));
|
|
4142
|
+
return await this.internalSign({
|
|
4143
|
+
accountAddress,
|
|
4144
|
+
message,
|
|
4145
|
+
chainName,
|
|
4146
|
+
password,
|
|
4147
|
+
isFormatted,
|
|
4148
|
+
signedSessionId,
|
|
4149
|
+
mfaToken,
|
|
4150
|
+
elevatedAccessToken,
|
|
4151
|
+
context,
|
|
4152
|
+
onError,
|
|
4153
|
+
traceContext,
|
|
4154
|
+
bitcoinConfig,
|
|
4155
|
+
staleShareRetry,
|
|
4156
|
+
roomIdRetry: true
|
|
3994
4157
|
});
|
|
3995
4158
|
}
|
|
3996
4159
|
logError({
|
|
@@ -8423,6 +8586,11 @@ class DynamicWalletClient {
|
|
|
8423
8586
|
if (hasExistingRooms) {
|
|
8424
8587
|
return DynamicWalletClient.rooms;
|
|
8425
8588
|
}
|
|
8589
|
+
// A previous persistRooms() write failed, meaning localStorage may contain
|
|
8590
|
+
// rooms that were already consumed in memory. Don't restore stale data.
|
|
8591
|
+
if (DynamicWalletClient.roomsPersistDirty) {
|
|
8592
|
+
return DynamicWalletClient.rooms;
|
|
8593
|
+
}
|
|
8426
8594
|
const roomData = await this.storage.getItem(`${this.storageKey}-rooms`);
|
|
8427
8595
|
if (!roomData) {
|
|
8428
8596
|
return {};
|
|
@@ -8460,7 +8628,13 @@ class DynamicWalletClient {
|
|
|
8460
8628
|
*/ persistRooms() {
|
|
8461
8629
|
DynamicWalletClient.roomsPersistChain = DynamicWalletClient.roomsPersistChain.catch(()=>{
|
|
8462
8630
|
// Recover from previous write failure so the chain stays alive
|
|
8463
|
-
}).then(()=>this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms)))
|
|
8631
|
+
}).then(()=>this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms))).then(()=>{
|
|
8632
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
8633
|
+
}).catch(()=>{
|
|
8634
|
+
// Storage write failed (e.g. restricted iframe context). Flag as
|
|
8635
|
+
// dirty so restoreRooms() won't resurrect stale localStorage data.
|
|
8636
|
+
DynamicWalletClient.roomsPersistDirty = true;
|
|
8637
|
+
});
|
|
8464
8638
|
return DynamicWalletClient.roomsPersistChain;
|
|
8465
8639
|
}
|
|
8466
8640
|
getNumberOfParties(roomType, thresholdSignatureScheme) {
|
|
@@ -8612,32 +8786,20 @@ class DynamicWalletClient {
|
|
|
8612
8786
|
}
|
|
8613
8787
|
this.forwardMPCEnabled = this.featureFlags && this.featureFlags[FEATURE_FLAGS.ENABLE_FORWARD_MPC_CLIENT_FLAG] === true;
|
|
8614
8788
|
if (this.forwardMPCEnabled) {
|
|
8615
|
-
|
|
8616
|
-
this.apiClient.forwardMPCClient.connect().then(()=>{
|
|
8617
|
-
this.logger.info('Optimistically Connected to ForwardMPC enclave', {
|
|
8618
|
-
environmentId: this.environmentId,
|
|
8619
|
-
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
8620
|
-
});
|
|
8621
|
-
}).catch((error)=>{
|
|
8622
|
-
const errorInfo = classifyForwardMpcError(error);
|
|
8623
|
-
// A rate-limited upgrade falls back to relay → warn, not error, so the
|
|
8624
|
-
// recovered case doesn't pollute error triage.
|
|
8625
|
-
const level = errorInfo.errorType === 'RATE_LIMITED' ? 'warn' : 'error';
|
|
8626
|
-
this.logger[level]('Error connecting to ForwardMPC enclave optimistically', _extends({}, errorInfo, {
|
|
8627
|
-
error,
|
|
8628
|
-
environmentId: this.environmentId,
|
|
8629
|
-
durationMs: Date.now() - forwardMPCConnectStartedAt
|
|
8630
|
-
}));
|
|
8631
|
-
});
|
|
8789
|
+
this.connectForwardMPC();
|
|
8632
8790
|
}
|
|
8633
8791
|
}
|
|
8634
8792
|
}
|
|
8635
8793
|
DynamicWalletClient.rooms = {};
|
|
8636
8794
|
DynamicWalletClient.roomsInitializing = {};
|
|
8637
8795
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
8796
|
+
// Set when a persistRooms write fails (e.g. storage-restricted iframe
|
|
8797
|
+
// context). When true, restoreRooms() trusts in-memory state over
|
|
8798
|
+
// potentially-stale localStorage to prevent resurrecting consumed rooms.
|
|
8799
|
+
DynamicWalletClient.roomsPersistDirty = false;
|
|
8638
8800
|
// Bumped by clearRoomPool() so an in-flight createRooms() that started before
|
|
8639
8801
|
// a user switch can detect the clear and refuse to write the previous user's
|
|
8640
8802
|
// rooms back into the new user's storage (TOCTOU on the create→merge gap).
|
|
8641
8803
|
DynamicWalletClient.roomsGeneration = 0;
|
|
8642
8804
|
|
|
8643
|
-
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_INCORRECT_PASSWORD, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_NO_KEY_SHARES_BACKED_UP, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, OperationSource, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, formatTronMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getDelegatedShareSet, getGoogleOAuthAccountId, getHttpStatus, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, isStaleClientSharesError, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
|
8805
|
+
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_INCORRECT_PASSWORD, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_NO_KEY_SHARES_BACKED_UP, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, OperationSource, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, formatTronMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getDelegatedShareSet, getGoogleOAuthAccountId, getHttpStatus, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isRoomIdAlreadyUsedError, isSignQueueOperation, isStaleClientSharesError, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.54",
|
|
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.0.
|
|
8
|
-
"@dynamic-labs-wallet/forward-mpc-client": "1.0.
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "1.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.0.54",
|
|
8
|
+
"@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "1.0.54",
|
|
10
10
|
"@dynamic-labs/sdk-api-core": "^0.0.984",
|
|
11
11
|
"argon2id": "1.0.1",
|
|
12
12
|
"axios": "1.16.0",
|
package/src/client.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { EncryptionVersion } from './backup/encryption/constants.js';
|
|
|
5
5
|
import type { ClientInitKeygenResult, ClientKeyShare, MPCSigner } from './mpc/types.js';
|
|
6
6
|
import { type SupportedStorage } from './services/localStorage.js';
|
|
7
7
|
import { OperationSource, type Room, type ShareDistribution, type WalletProperties } from './types.js';
|
|
8
|
+
type RawPublicKey = EcdsaPublicKey | Uint8Array | string | undefined;
|
|
8
9
|
type MessageToSign = string | Uint8Array | MessageHash;
|
|
9
10
|
/**
|
|
10
11
|
* Internal options for DynamicWalletClient constructor.
|
|
@@ -68,6 +69,7 @@ export declare class DynamicWalletClient {
|
|
|
68
69
|
protected static rooms: Record<number, Room[]>;
|
|
69
70
|
protected static roomsInitializing: Record<number, boolean>;
|
|
70
71
|
private static roomsPersistChain;
|
|
72
|
+
private static roomsPersistDirty;
|
|
71
73
|
private static roomsGeneration;
|
|
72
74
|
/**
|
|
73
75
|
* Internal secure storage adapter for mobile TEE-backed storage.
|
|
@@ -90,6 +92,7 @@ export declare class DynamicWalletClient {
|
|
|
90
92
|
/** Owns signed-session resolution, version-gating, and nonce-refresh retries. */
|
|
91
93
|
private readonly signedSession;
|
|
92
94
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, argon2idRebackupTargets, authMode, authToken, backupServiceAuthToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig, logger, }: DynamicWalletClientProps, internalOptions?: DynamicWalletClientInternalOptions);
|
|
95
|
+
private connectForwardMPC;
|
|
93
96
|
/**
|
|
94
97
|
* Check if wallet has heavy operations in progress
|
|
95
98
|
*/
|
|
@@ -185,7 +188,7 @@ export declare class DynamicWalletClient {
|
|
|
185
188
|
keyShare: ClientKeyShare;
|
|
186
189
|
derivationPath: Uint32Array | undefined;
|
|
187
190
|
bitcoinConfig?: BitcoinConfig;
|
|
188
|
-
}): Promise<
|
|
191
|
+
}): Promise<RawPublicKey>;
|
|
189
192
|
/**
|
|
190
193
|
* Drop-in replacement for clientKeygen that routes to forwardMPC keygen or receiveKey as appropriate,
|
|
191
194
|
* using identical params and matching clientKeygen toggling logic based on the chain.
|
|
@@ -211,7 +214,7 @@ export declare class DynamicWalletClient {
|
|
|
211
214
|
dynamicRequestId?: string;
|
|
212
215
|
traceContext?: TraceContext;
|
|
213
216
|
}): Promise<{
|
|
214
|
-
rawPublicKey:
|
|
217
|
+
rawPublicKey: RawPublicKey;
|
|
215
218
|
clientKeygenResults: ClientKeyShare[];
|
|
216
219
|
operationSource: OperationSource;
|
|
217
220
|
}>;
|
|
@@ -236,7 +239,7 @@ export declare class DynamicWalletClient {
|
|
|
236
239
|
serverKeygenIds: string[];
|
|
237
240
|
}>;
|
|
238
241
|
}): Promise<{
|
|
239
|
-
rawPublicKey:
|
|
242
|
+
rawPublicKey: RawPublicKey;
|
|
240
243
|
clientKeygenResults: ClientKeyShare[];
|
|
241
244
|
operationSource: OperationSource;
|
|
242
245
|
}>;
|
|
@@ -251,7 +254,7 @@ export declare class DynamicWalletClient {
|
|
|
251
254
|
password?: string;
|
|
252
255
|
signedSessionId: string;
|
|
253
256
|
}): Promise<{
|
|
254
|
-
rawPublicKey:
|
|
257
|
+
rawPublicKey: RawPublicKey;
|
|
255
258
|
clientKeyShares: ClientKeyShare[];
|
|
256
259
|
}>;
|
|
257
260
|
private runKeyGenAttempt;
|
|
@@ -268,7 +271,7 @@ export declare class DynamicWalletClient {
|
|
|
268
271
|
password?: string;
|
|
269
272
|
signedSessionId: string;
|
|
270
273
|
}): Promise<{
|
|
271
|
-
rawPublicKey:
|
|
274
|
+
rawPublicKey: RawPublicKey;
|
|
272
275
|
clientKeyShares: ClientKeyShare[];
|
|
273
276
|
}>;
|
|
274
277
|
private runImportRawPrivateKeyAttempt;
|
|
@@ -357,6 +360,7 @@ export declare class DynamicWalletClient {
|
|
|
357
360
|
traceContext?: TraceContext;
|
|
358
361
|
bitcoinConfig?: BitcoinConfig;
|
|
359
362
|
}): Promise<Uint8Array | EcdsaSignature>;
|
|
363
|
+
private getCachedRoomForSign;
|
|
360
364
|
private internalSign;
|
|
361
365
|
refreshWalletAccountShares({ accountAddress, chainName, password, signedSessionId, sessionPublicKey, mfaToken, elevatedAccessToken, traceContext, }: {
|
|
362
366
|
accountAddress: string;
|
|
@@ -496,7 +500,7 @@ export declare class DynamicWalletClient {
|
|
|
496
500
|
derivationPath?: string;
|
|
497
501
|
}): Promise<{
|
|
498
502
|
derivedPrivateKey: string | undefined;
|
|
499
|
-
rawPublicKey:
|
|
503
|
+
rawPublicKey: RawPublicKey;
|
|
500
504
|
}>;
|
|
501
505
|
/**
|
|
502
506
|
* Post-backup recoverability check (feature-flagged). Fetches the just-stored
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,EAGd,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAO9B,wBAAwB,EACxB,eAAe,EASf,KAAK,sBAAsB,EAE3B,KAAK,oCAAoC,EAEzC,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAG5B,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAA2B,MAAM,4BAA4B,CAAC;AAC5G,OAAO,EAA8B,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAkCjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAiBxF,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EASL,eAAe,EACf,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAiCpB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAYvD;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IACrE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtC,4EAA4E;IAC5E,SAAgB,gBAAgB,EAAE,qBAAqB,CAAC;IACxD,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,OAAO,EAAG,gBAAgB,CAAC;IACrC,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,UAAS;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAM;IACzC,6FAA6F;IAC7F,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,CAAM;IAC1E,sGAAsG;IACtG,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAqB;IACtE,yDAAyD;IACzD,OAAO,CAAC,wBAAwB,CAAS;IACzC,8GAA8G;IAC9G,OAAO,CAAC,eAAe,CAA6B;IACpD,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACjE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoC;IAIpE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IAEnC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IAEtD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAwB;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAoC;IAEjF,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAGnD,EACE,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,uBAAuB,EACvB,QAA0B,EAC1B,SAAqB,EACrB,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,YAAY,EACZ,MAAM,GACP,EAAE,wBAAwB,EAC3B,eAAe,CAAC,EAAE,kCAAkC;IA+GtD;;OAEG;WACW,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIlE;;OAEG;WACW,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAI3D;;OAEG;WACW,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAInE;;;;;;;;OAQG;WACW,aAAa,IAAI,IAAI;IAMnC;;;;OAIG;WACW,gBAAgB,IAAI,IAAI;IAKtC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIhF;;;;OAIG;cACa,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBjH;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAQpF,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACU,sBAAsB;IAInC;;;;OAIG;IACH,2CAA2C;IAC3C,OAAO,CAAC,uBAAuB;IAIzB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IA8CnC,UAAU,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYxE;;OAEG;cACa,WAAW,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB7E,sBAAsB,CAAC,EAC3B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9F;IAqDD;;;;;;;;OAQG;YACW,0BAA0B;IAsElC,sBAAsB,CAAC,EAC3B,SAAS,EACT,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAmB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAiB7D;;;;;;;;;;;;;;OAcG;IACG,sBAAsB,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;QACtC,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IAwEF,sFAAsF;IACtF,OAAO,CAAC,oBAAoB;IAKtB,YAAY,CAAC,EACjB,SAAS,EACT,MAAM,EAAE,aAAa,EACrB,eAAe,EAAE,sBAAsB,EACvC,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KAC5E,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;QACtC,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IA0HI,MAAM,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7F,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAkBY,gBAAgB;IAkLxB,mBAAmB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,4DAA4D;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAeY,6BAA6B;IAqJrC,UAAU,CAAC,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,0BAA0B;IAO5B,oBAAoB,CAAC,EACzB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,aAAa,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAsDlC,UAAU,CAAC,EACf,SAAS,EACT,OAAO,EACP,MAAM,EAAE,aAAa,EACrB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B;;;;;WAKG;QACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IA+GxC;;;;;;OAMG;YACW,eAAe;IA0C7B;;;;;;;OAOG;YACW,0BAA0B;IAwHxC;;;;;OAKG;YACW,uBAAuB;IAyB/B,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,EACpB,WAAmB,EACnB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;YAmB1B,YAAY;IAiUpB,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAeD;;;;;;;;;OASG;IACH,OAAO,CAAC,gCAAgC;IAsDxC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;YAclB,kCAAkC;YAsOlC,mBAAmB;IAQ3B,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,4BAA4B,CAAC,EAAE,OAAO,CAAC;KACxC,GAAG,OAAO,CAAC;QACV,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;QACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IAgDI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,cAAmB,EACnB,4BAAoC,EACpC,QAAQ,EACR,mBAAmB,EACnB,gBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,sBAAsB,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;KACtD;IAqBD;mFAC+E;IACzE,0BAA0B,CAAC,EAC/B,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,UAAmD,EACnD,oBAAoB,EACpB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,yBAAyB,CAAC;QACvC,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IA+NnC,OAAO,CAAC,6BAA6B;IA8CrC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;YAiFpB,6BAA6B;IA4C3C,OAAO,CAAC,iCAAiC;IAyEzC,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,oCAAoC;YAkC9B,eAAe;YAibf,0BAA0B;IA2ElC,iBAAiB,CAAC,EACtB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA0CK,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA0DD,OAAO,CAAC,kBAAkB;IAgBpB,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;YAiB5B,iBAAiB;cA8Jf,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;cAsBrE,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,cAAc,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;cA0BH,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAgBzG,gBAAgB,CAAC,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IAuDF;;;;;;;;;;;OAWG;YACW,2BAA2B;IA4FnC,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oFAAoF;QACpF,OAAO,CAAC,EAAE,iBAAiB,CAAC;KAC7B;IAaD;;OAEG;YACW,kCAAkC;IAsChD;;;OAGG;IACG,6BAA6B,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC9G;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,wBAAwB,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GAAG,IAAI;IAwBR;;;OAGG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;YAgBb,gCAAgC;IAe9C;;;;;;;OAOG;IACG,2BAA2B,CAAC,EAChC,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;;;;;;OAOG;YACW,iBAAiB;YAoBjB,sBAAsB;YAqFtB,0BAA0B;IAqCxC;;;;;;;OAOG;YACW,4BAA4B;YAY5B,qBAAqB;YA0DrB,qBAAqB;IA4DnC,OAAO,CAAC,gCAAgC;IAsBlC,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,yBAAiC,EACjC,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QAGzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,iBAAiB,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,sBAAsB,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;QACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gGAAgG;QAChG,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC;;;;;;;;;8BAhmJqB,CAAC;;;YAq8JT,yBAAyB;IAyFvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,cAAmB,EACnB,iBAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE,cAAc,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,sBAAsB,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;QACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gGAAgG;QAChG,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC;;;;;;;;;;;8BAzlKqB,CAAC;;;IAyrKvB,OAAO,CAAC,mBAAmB;YAUb,qBAAqB;IAcnC,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,2BAA2B;IAqB7B,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IAmDK,WAAW,CAAC,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IA0CK,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAuC/G;;;;;;;OAOG;IACH;;;;OAIG;YACW,sCAAsC;IAgEpD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;cAMd,uCAAuC,CAAC,EACtD,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjB;;;;OAIG;cACa,iCAAiC,CAAC,EAChD,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjB;;;;;OAKG;YACW,8BAA8B;YAmC9B,2BAA2B;IAKzC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG;QACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IA2CK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAsB,EACtB,oBAA2B,EAC3B,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAc7B;;;;;OAKG;YACW,oCAAoC;YAoCpC,sCAAsC;IAiG9C,cAAc;IAmCpB;;;;;OAKG;YACW,8BAA8B;IA+E5C;;;;;OAKG;YACW,6BAA6B;IA6D3C;;;;;OAKG;YACW,wBAAwB;IAwBtC;;;;;OAKG;YACW,iCAAiC;IAkC/C;;;;;;;;;;;OAWG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CjB;;;;;;;;OAQG;YACW,0BAA0B;IAyCxC;;;;;;;;;OASG;IACG,uBAAuB,CAAC,EAC5B,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjB;;;;;;;OAOG;YACW,qBAAqB;IA8BnC;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAsD1C;;;;;;OAMG;YACW,uBAAuB;IAkC/B,oCAAoC,CAAC,EACzC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGX,qBAAqB,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAmCK,kBAAkB,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;;;;OAKG;YACW,iBAAiB;IAsD/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAwBK,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;OAEG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpB;;OAEG;IACG,uCAAuC,CAAC,EAC5C,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;YAsBN,+BAA+B;IASvC,iCAAiC,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwBtG,0BAA0B;IAYlC,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8L7B;;;;;;;;;;;;;;;OAeG;IACG,sBAAsB,CAAC,EAC3B,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4ChC;;;;;OAKG;YACW,4BAA4B;IAiD1C;;;;;;;;OAQG;IACG,YAAY,CAAC,EACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmI7B;;OAEG;YACW,2BAA2B;IA8BnC,aAAa,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAInD;;;;OAIG;IACG,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAKnD,UAAU;IA6FhB;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,wBAAwB;IA8EtC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAQzB,WAAW,CAAC,EAChB,QAAQ,EACR,wBAAwB,EACxB,SAAa,GACd,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC;QACvB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAsEK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAiC/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,YAAY,EACvB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAQrC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAKrD;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,MAAM;IAKhG,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA8DpH,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQ3F"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const WAAS_HTTPS_TRANSPORT = "http";
|
|
2
|
+
export type WaasErrorKind = 'mpc_timeout' | 'poll_timeout' | 'transient_exhausted' | 'wallet_not_active' | 'unknown';
|
|
3
|
+
export declare const classifyWaasErrorKind: (error: unknown) => WaasErrorKind;
|
|
4
|
+
export declare const classifyTransientPollError: (error: unknown) => WaasErrorKind;
|
|
5
|
+
export declare const buildHttpCeremonyMeta: (fields: Record<string, unknown>) => Record<string, unknown>;
|
|
6
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../packages/src/observability.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,SAAS,CAAC;AAMrH,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,aAOtD,CAAC;AAKF,eAAO,MAAM,0BAA0B,UAAW,OAAO,KAAG,aAI3D,CAAC;AAKF,eAAO,MAAM,qBAAqB,WAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAG5F,CAAC"}
|
package/src/utils.d.ts
CHANGED
|
@@ -123,6 +123,15 @@ export declare const isPublicKeyMismatchError: (error: unknown) => boolean;
|
|
|
123
123
|
* object (see createErrorFromEventData), so `code` is available here.
|
|
124
124
|
*/
|
|
125
125
|
export declare const isStaleClientSharesError: (error: unknown) => boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Detects the server's 409 ROOM_ID_ALREADY_USED rejection. The client
|
|
128
|
+
* may cache pre-created roomIds locally; if a cached roomId becomes
|
|
129
|
+
* stale (e.g. localStorage restoration after an iframe reload, or a
|
|
130
|
+
* write failure in a restricted storage context), the server rejects
|
|
131
|
+
* the claim with this code. The SDK retries without the stale roomId
|
|
132
|
+
* so the server creates a fresh room.
|
|
133
|
+
*/
|
|
134
|
+
export declare const isRoomIdAlreadyUsedError: (error: unknown) => boolean;
|
|
126
135
|
/**
|
|
127
136
|
* Determines whether a reshare operation should reuse the wallet's existing backup locations.
|
|
128
137
|
*
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}
|