@dynamic-labs-wallet/node 0.0.0-beta-191.1

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.
Files changed (51) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +1176 -0
  3. package/index.esm.d.ts +1 -0
  4. package/index.esm.js +1112 -0
  5. package/internal/core/bip340.d.ts +22 -0
  6. package/internal/core/bip340.js +1 -0
  7. package/internal/core/common.d.ts +1 -0
  8. package/internal/core/common.js +1 -0
  9. package/internal/core/ecdsa.d.ts +23 -0
  10. package/internal/core/ecdsa.js +1 -0
  11. package/internal/core/ed25519.d.ts +22 -0
  12. package/internal/core/ed25519.js +1 -0
  13. package/internal/core/ed25519_exportable.d.ts +21 -0
  14. package/internal/core/ed25519_exportable.js +1 -0
  15. package/internal/core/index.d.ts +8 -0
  16. package/internal/core/index.js +1 -0
  17. package/internal/core/native.d.ts +168 -0
  18. package/internal/core/native.js +1 -0
  19. package/internal/core/sr25519.d.ts +22 -0
  20. package/internal/core/sr25519.js +1 -0
  21. package/internal/core/types.d.ts +78 -0
  22. package/internal/core/types.js +1 -0
  23. package/internal/node/index.d.ts +17 -0
  24. package/internal/node/index.js +1 -0
  25. package/internal/node/native/libmpc_executor_linux_arm64_nodejs.node +0 -0
  26. package/internal/node/native/libmpc_executor_linux_x86_64_nodejs.node +0 -0
  27. package/internal/node/native/libmpc_executor_macos_arm64_nodejs.node +0 -0
  28. package/internal/node/native/libmpc_executor_macos_x86_64_nodejs.node +0 -0
  29. package/internal/node/native.d.ts +2 -0
  30. package/internal/node/native.js +1 -0
  31. package/package.json +34 -0
  32. package/src/backup/encryption.d.ts +22 -0
  33. package/src/backup/encryption.d.ts.map +1 -0
  34. package/src/client.d.ts +261 -0
  35. package/src/client.d.ts.map +1 -0
  36. package/src/constants.d.ts +2 -0
  37. package/src/constants.d.ts.map +1 -0
  38. package/src/index.d.ts +6 -0
  39. package/src/index.d.ts.map +1 -0
  40. package/src/mpc/index.d.ts +3 -0
  41. package/src/mpc/index.d.ts.map +1 -0
  42. package/src/mpc/mpc.d.ts +12 -0
  43. package/src/mpc/mpc.d.ts.map +1 -0
  44. package/src/mpc/types.d.ts +6 -0
  45. package/src/mpc/types.d.ts.map +1 -0
  46. package/src/services/logger.d.ts +3 -0
  47. package/src/services/logger.d.ts.map +1 -0
  48. package/src/types.d.ts +12 -0
  49. package/src/types.d.ts.map +1 -0
  50. package/src/utils.d.ts +34 -0
  51. package/src/utils.d.ts.map +1 -0
@@ -0,0 +1,261 @@
1
+ import { EcdsaKeygenResult, BIP340KeygenResult, EcdsaPublicKey, EcdsaSignature } from '../../internal/node';
2
+ import { ThresholdSignatureScheme, DynamicApiClient, WalletOperation, KeyShareBackupInfo, BackupLocation } from '@dynamic-labs-wallet/core';
3
+ import { ServerInitKeygenResult } from './mpc/types';
4
+ import { WalletProperties } from './types';
5
+ type ServerKeyShare = EcdsaKeygenResult | BIP340KeygenResult;
6
+ export declare class DynamicWalletClient {
7
+ environmentId: string;
8
+ debug: boolean;
9
+ protected logger: import("@dynamic-labs/logger").Logger;
10
+ protected apiClient: DynamicApiClient;
11
+ protected walletMap: Record<string, WalletProperties>;
12
+ protected baseMPCRelayApiUrl?: string;
13
+ protected baseJWTAuthToken?: string;
14
+ protected baseApiUrl?: string;
15
+ protected isApiClientAuthenticated: boolean;
16
+ constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, debug, }: {
17
+ environmentId: string;
18
+ baseApiUrl?: string;
19
+ baseMPCRelayApiUrl?: string;
20
+ debug?: boolean;
21
+ });
22
+ private ensureApiClientAuthenticated;
23
+ authenticateApiToken(authToken: string): Promise<void>;
24
+ dynamicServerInitializeKeyGen({ chainName, externalServerKeygenIds, thresholdSignatureScheme, onError, onCeremonyComplete, }: {
25
+ chainName: string;
26
+ externalServerKeygenIds: string[];
27
+ thresholdSignatureScheme: ThresholdSignatureScheme;
28
+ onError?: (error: Error) => void;
29
+ onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
30
+ }): Promise<import("@dynamic-labs-wallet/core").KeygenCompleteResponse>;
31
+ externalServerInitializeKeyGen({ chainName, thresholdSignatureScheme, }: {
32
+ chainName: string;
33
+ thresholdSignatureScheme: ThresholdSignatureScheme;
34
+ }): Promise<ServerInitKeygenResult[]>;
35
+ derivePublicKey({ chainName, keyShare, derivationPath, }: {
36
+ chainName: string;
37
+ keyShare: ServerKeyShare;
38
+ derivationPath: Uint32Array | undefined;
39
+ }): Promise<EcdsaPublicKey | Uint8Array | undefined>;
40
+ externalServerKeyGen({ chainName, roomId, dynamicServerKeygenIds, externalServerInitKeygenResults, thresholdSignatureScheme, }: {
41
+ chainName: string;
42
+ roomId: string;
43
+ dynamicServerKeygenIds: string[];
44
+ externalServerInitKeygenResults: ServerInitKeygenResult[];
45
+ thresholdSignatureScheme: ThresholdSignatureScheme;
46
+ }): Promise<{
47
+ rawPublicKey: EcdsaPublicKey | Uint8Array | undefined;
48
+ externalServerKeyGenResults: ServerKeyShare[];
49
+ }>;
50
+ keyGen({ chainName, thresholdSignatureScheme, onError, onCeremonyComplete, }: {
51
+ chainName: string;
52
+ thresholdSignatureScheme: ThresholdSignatureScheme;
53
+ onError?: (error: Error) => void;
54
+ onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
55
+ }): Promise<{
56
+ rawPublicKey: EcdsaPublicKey | Uint8Array | undefined;
57
+ externalServerKeyShares: ServerKeyShare[];
58
+ }>;
59
+ importRawPrivateKey({ chainName, privateKey, thresholdSignatureScheme, onError, onCeremonyComplete, }: {
60
+ chainName: string;
61
+ privateKey: string;
62
+ thresholdSignatureScheme: ThresholdSignatureScheme;
63
+ onError?: (error: Error) => void;
64
+ onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
65
+ }): Promise<{
66
+ rawPublicKey: EcdsaPublicKey | Uint8Array | undefined;
67
+ externalServerKeyShares: ServerKeyShare[];
68
+ }>;
69
+ dynamicServerSign({ walletId, message, }: {
70
+ walletId: string;
71
+ message: string | Uint8Array;
72
+ }): Promise<import("@dynamic-labs-wallet/core").OpenRoomResponse>;
73
+ externalServerSign({ chainName, message, roomId, keyShare, derivationPath, }: {
74
+ chainName: string;
75
+ message: string | Uint8Array;
76
+ roomId: string;
77
+ keyShare: ServerKeyShare;
78
+ derivationPath: Uint32Array | undefined;
79
+ }): Promise<Uint8Array | EcdsaSignature>;
80
+ sign({ accountAddress, message, chainName, password, signedSessionId, }: {
81
+ accountAddress: string;
82
+ message: string | Uint8Array;
83
+ chainName: string;
84
+ password?: string;
85
+ signedSessionId?: string;
86
+ }): Promise<Uint8Array | EcdsaSignature>;
87
+ refreshWalletAccountShares({ accountAddress, chainName, password, signedSessionId, }: {
88
+ accountAddress: string;
89
+ chainName: string;
90
+ password?: string;
91
+ signedSessionId?: string;
92
+ }): Promise<(EcdsaKeygenResult | BIP340KeygenResult)[]>;
93
+ getExportId({ chainName, serverKeyShare, }: {
94
+ chainName: string;
95
+ serverKeyShare: ServerKeyShare;
96
+ }): Promise<string>;
97
+ /**
98
+ * Helper function to create client shares required to complete a reshare ceremony.
99
+ * @param {string} chainName - The chain to create shares for
100
+ * @param {WalletProperties} wallet - The wallet to reshare
101
+ * @param {ThresholdSignatureScheme} oldThresholdSignatureScheme - The current threshold signature scheme
102
+ * @param {ThresholdSignatureScheme} newThresholdSignatureScheme - The target threshold signature scheme
103
+ * @returns {Promise<{
104
+ * newClientInitKeygenResults: ClientInitKeygenResult[],
105
+ * newClientKeygenIds: string[],
106
+ * existingClientKeygenIds: string[],
107
+ * existingClientKeyShares: ClientKeyShare[]
108
+ * }>} Object containing new and existing client keygen results, IDs and shares
109
+ * @todo Support higher to lower reshare strategies
110
+ */
111
+ reshareStrategy({ chainName, wallet, oldThresholdSignatureScheme, newThresholdSignatureScheme, }: {
112
+ chainName: string;
113
+ wallet: WalletProperties;
114
+ oldThresholdSignatureScheme: ThresholdSignatureScheme;
115
+ newThresholdSignatureScheme: ThresholdSignatureScheme;
116
+ }): Promise<{
117
+ newExternalServerInitKeygenResults: ServerInitKeygenResult[];
118
+ newExternalServerKeygenIds: string[];
119
+ existingExternalServerKeygenIds: string[];
120
+ existingExternalServerKeyShares: ServerKeyShare[];
121
+ }>;
122
+ reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password, signedSessionId, }: {
123
+ chainName: string;
124
+ accountAddress: string;
125
+ oldThresholdSignatureScheme: ThresholdSignatureScheme;
126
+ newThresholdSignatureScheme: ThresholdSignatureScheme;
127
+ password?: string;
128
+ signedSessionId?: string;
129
+ }): Promise<(EcdsaKeygenResult | BIP340KeygenResult)[]>;
130
+ exportKey({ accountAddress, chainName, password, signedSessionId, }: {
131
+ accountAddress: string;
132
+ chainName: string;
133
+ password?: string;
134
+ signedSessionId?: string;
135
+ }): Promise<{
136
+ derivedPrivateKey: string | undefined;
137
+ }>;
138
+ offlineExportKey({ chainName, keyShares, derivationPath, }: {
139
+ chainName: string;
140
+ keyShares: ServerKeyShare[];
141
+ derivationPath?: string;
142
+ }): Promise<{
143
+ derivedPrivateKey: string | undefined;
144
+ }>;
145
+ encryptKeyShare({ keyShare, password, }: {
146
+ keyShare: ServerKeyShare;
147
+ password?: string;
148
+ }): Promise<string>;
149
+ ensureCeremonyCompletionBeforeBackup({ accountAddress, }: {
150
+ accountAddress: string;
151
+ }): Promise<void>;
152
+ storeEncryptedBackupByWallet({ accountAddress, externalServerKeyShares, password, signedSessionId, }: {
153
+ accountAddress: string;
154
+ externalServerKeyShares?: ServerKeyShare[];
155
+ password?: string;
156
+ signedSessionId?: string;
157
+ }): Promise<any>;
158
+ storeEncryptedBackupByWalletWithRetry({ accountAddress, externalServerKeyShares, password, signedSessionId, }: {
159
+ accountAddress: string;
160
+ externalServerKeyShares?: ServerKeyShare[];
161
+ password?: string;
162
+ signedSessionId?: string;
163
+ }): Promise<void>;
164
+ getExternalServerKeyShares({ accountAddress, password, signedSessionId, }: {
165
+ accountAddress: string;
166
+ password?: string;
167
+ signedSessionId?: string;
168
+ }): Promise<import("./mpc").ServerKeyShare[]>;
169
+ updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, }: {
170
+ accountAddress: string;
171
+ existingPassword?: string;
172
+ newPassword?: string;
173
+ signedSessionId?: string;
174
+ }): Promise<void>;
175
+ decryptKeyShare({ keyShare, password, }: {
176
+ keyShare: string;
177
+ password?: string;
178
+ }): Promise<ServerKeyShare>;
179
+ /**
180
+ * Helper function to determine keyshare recovery strategy for dynamic shares.
181
+ * For REFRESH operations, retrieves enough shares to meet the client threshold.
182
+ * For all other operations, retrieves just 1 share.
183
+ *
184
+ * @param clientKeyShareBackupInfo - Information about backed up key shares
185
+ * @param thresholdSignatureScheme - The signature scheme being used (2-of-2, 2-of-3, etc)
186
+ * @param walletOperation - The operation being performed (REFRESH, SIGN_MESSAGE, etc)
187
+ * @param shareCount - The number of shares to recover if specified for reshare operations
188
+ * @returns @shares: Object mapping backup locations to arrays of share IDs to recover
189
+ * @returns @requiredShareCount: The number of shares required to recover
190
+ */
191
+ recoverStrategy({ externalServerKeySharesBackupInfo, thresholdSignatureScheme, walletOperation, shareCount, }: {
192
+ externalServerKeySharesBackupInfo: KeyShareBackupInfo;
193
+ thresholdSignatureScheme: ThresholdSignatureScheme;
194
+ walletOperation: WalletOperation;
195
+ shareCount?: number;
196
+ }): {
197
+ shares: Partial<Record<BackupLocation, string[]>>;
198
+ requiredShareCount: number;
199
+ };
200
+ recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, signedSessionId, shareCount, storeRecoveredShares, }: {
201
+ accountAddress: string;
202
+ password?: string;
203
+ walletOperation: WalletOperation;
204
+ signedSessionId?: string;
205
+ shareCount?: number;
206
+ storeRecoveredShares?: boolean;
207
+ }): Promise<any[]>;
208
+ exportExternalServerKeyShares({ accountAddress, password, signedSessionId, }: {
209
+ accountAddress: string;
210
+ password?: string;
211
+ signedSessionId?: string;
212
+ }): Promise<import("./mpc").ServerKeyShare[]>;
213
+ /**
214
+ * Helper function to check if the required wallet fields are present and valid
215
+ * @param accountAddress - The account address of the wallet to check
216
+ * @param walletOperation - The wallet operation that determines required fields
217
+ * @returns boolean indicating if wallet needs to be re-fetched and restored from server
218
+ */
219
+ private checkWalletFields;
220
+ /**
221
+ * verifyPassword attempts to recover and decrypt a single client key share using the provided password.
222
+ * If successful, the key share is encrypted with the new password. This method solely performs the recovery
223
+ * and decryption without storing the restored key shares. If unsuccessful, it throws an error.
224
+ */
225
+ verifyPassword({ accountAddress, password, walletOperation, signedSessionId, }: {
226
+ accountAddress: string;
227
+ password?: string;
228
+ walletOperation?: WalletOperation;
229
+ signedSessionId?: string;
230
+ }): Promise<void>;
231
+ isPasswordEncrypted({ accountAddress, }: {
232
+ accountAddress: string;
233
+ }): Promise<boolean>;
234
+ /**
235
+ * check if the operation requires a password
236
+ */
237
+ requiresPasswordForOperation({ accountAddress, walletOperation, }: {
238
+ accountAddress: string;
239
+ walletOperation?: WalletOperation;
240
+ }): Promise<boolean>;
241
+ /**
242
+ * check if the operation requires restoring backup shares
243
+ */
244
+ requiresRestoreBackupSharesForOperation({ accountAddress, walletOperation, }: {
245
+ accountAddress: string;
246
+ walletOperation?: WalletOperation;
247
+ }): Promise<boolean>;
248
+ getWalletExternalServerKeyShareBackupInfo({ accountAddress, }: {
249
+ accountAddress: string;
250
+ }): Promise<KeyShareBackupInfo>;
251
+ getWallet({ accountAddress, walletOperation, signedSessionId, shareCount, password, }: {
252
+ accountAddress: string;
253
+ walletOperation?: WalletOperation;
254
+ signedSessionId?: string;
255
+ shareCount?: number;
256
+ password?: string;
257
+ }): Promise<WalletProperties>;
258
+ getWallets(): Promise<any>;
259
+ }
260
+ export {};
261
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_LOG_LEVEL = "INFO";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../packages/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,SAAS,CAAC"}
package/src/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export * from '@dynamic-labs-wallet/core';
2
+ export * from './mpc/index';
3
+ export * from './client';
4
+ export * from './types';
5
+ export * from './utils';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAE1C,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './mpc';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { SigningAlgorithm } from '@dynamic-labs-wallet/core';
2
+ import { Ecdsa, Ed25519, BIP340, BIP340KeygenResult, EcdsaPublicKey, Ed25519KeygenResult, EcdsaKeygenResult, MessageHash, EcdsaInitKeygenResult, Ed25519InitKeygenResult, BIP340InitKeygenResult, EcdsaSignature } from '../../../internal/node';
3
+ export { Ecdsa, Ed25519, BIP340, EcdsaPublicKey, EcdsaKeygenResult, Ed25519KeygenResult, BIP340KeygenResult, MessageHash, EcdsaInitKeygenResult, Ed25519InitKeygenResult, BIP340InitKeygenResult, EcdsaSignature, };
4
+ export declare const getMPCSignatureScheme: ({ signingAlgorithm, baseRelayUrl, }: {
5
+ signingAlgorithm: SigningAlgorithm;
6
+ baseRelayUrl?: string;
7
+ }) => Ecdsa | Ed25519 | BIP340;
8
+ export declare const getMPCSigner: ({ chainName, baseRelayUrl, }: {
9
+ chainName: string;
10
+ baseRelayUrl?: string;
11
+ }) => Ecdsa | Ed25519 | BIP340;
12
+ //# sourceMappingURL=mpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpc.d.ts","sourceRoot":"","sources":["../../src/mpc/mpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,qBAAqB,wCAG/B;IACD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,6BAWA,CAAC;AAEF,eAAO,MAAM,YAAY,iCAGtB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,6BAOA,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BIP340InitKeygenResult, BIP340KeygenResult, Ed25519InitKeygenResult, EcdsaInitKeygenResult, EcdsaKeygenResult, Ed25519KeygenResult, MessageHash } from '../../../internal/node';
2
+ export type ServerInitKeygenResult = EcdsaInitKeygenResult | Ed25519InitKeygenResult | BIP340InitKeygenResult;
3
+ export type ServerKeyShare = EcdsaKeygenResult | Ed25519KeygenResult | BIP340KeygenResult;
4
+ export type SignMessage = MessageHash | Uint8Array;
5
+ export type { Ecdsa, Ed25519, BIP340, EcdsaPublicKey, EcdsaKeygenResult, Ed25519KeygenResult, BIP340KeygenResult, MessageHash, EcdsaSignature, } from '../../../internal/node';
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAEnD,YAAY,EACV,KAAK,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Logger } from '@dynamic-labs/logger';
2
+ export declare const logger: Logger;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,eAAO,MAAM,MAAM,QAAwC,CAAC"}
package/src/types.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { ThresholdSignatureScheme, KeyShareBackupInfo } from '@dynamic-labs-wallet/core';
2
+ import { ServerKeyShare } from './mpc/types';
3
+ export interface WalletProperties {
4
+ chainName: string;
5
+ walletId: string;
6
+ accountAddress: string;
7
+ externalServerKeyShares: ServerKeyShare[];
8
+ thresholdSignatureScheme: ThresholdSignatureScheme;
9
+ derivationPath?: string;
10
+ externalServerKeySharesBackupInfo: KeyShareBackupInfo;
11
+ }
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,cAAc,EAAE,CAAC;IAC1C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC,EAAE,kBAAkB,CAAC;CACvD"}
package/src/utils.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ import { WaasWalletProperties, KeyShareBackupInfo } from '@dynamic-labs-wallet/core';
2
+ import { ServerKeyShare } from './mpc/types';
3
+ export declare const bytesToBase64: (arr: Uint8Array) => string;
4
+ export declare const stringToBytes: (str: string) => Uint8Array;
5
+ export declare const base64ToBytes: (base64: string) => Uint8Array;
6
+ export declare const ensureBase64Padding: (str: string) => string;
7
+ export declare const isHexString: (str: string) => boolean;
8
+ export declare const getExternalServerKeyShareBackupInfo: (params?: {
9
+ walletProperties: WaasWalletProperties;
10
+ }) => KeyShareBackupInfo;
11
+ /**
12
+ * Helper function to merge keyshares and remove duplicates based on pubkey and secretShare
13
+ * @param existingKeyShares - Array of existing keyshares
14
+ * @param newKeyShares - Array of new keyshares to merge
15
+ * @returns Array of merged unique keyshares
16
+ */
17
+ export declare const mergeUniqueKeyShares: (existingKeyShares: ServerKeyShare[], newKeyShares: ServerKeyShare[]) => ServerKeyShare[];
18
+ interface RetryConfig {
19
+ maxAttempts?: number;
20
+ retryInterval?: number;
21
+ operationName?: string;
22
+ logContext?: Record<string, unknown>;
23
+ }
24
+ /**
25
+ * Generic helper function to retry a promise-based operations
26
+ *
27
+ * @param operation - The async operation to retry
28
+ * @param config - Configuration options for retry behavior
29
+ * @returns Promise with the operation result
30
+ * @throws Last error encountered after all retries are exhausted
31
+ */
32
+ export declare function retryPromise<T>(operation: () => Promise<T>, { maxAttempts, retryInterval, operationName, logContext, }?: RetryConfig): Promise<T>;
33
+ export {};
34
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,aAAa,QAAS,UAAU,WAE5C,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,eAExC,CAAC;AAEF,eAAO,MAAM,aAAa,WAAY,MAAM,eAE3C,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAEjD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,MAAM,YAKtC,CAAC;AAEF,eAAO,MAAM,mCAAmC,YAAa;IAC3D,gBAAgB,EAAE,oBAAoB,CAAC;CACxC,KAAG,kBAgCH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,sBACZ,cAAc,EAAE,gBACrB,cAAc,EAAE,KAC7B,cAAc,EAchB,CAAC;AAEF,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,EACE,WAAe,EACf,aAAmB,EACnB,aAA2B,EAC3B,UAAe,GAChB,GAAE,WAAgB,GAClB,OAAO,CAAC,CAAC,CAAC,CA0BZ"}