@dynamic-labs-wallet/node 0.0.0-beta.146.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 (47) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +1151 -0
  3. package/index.esm.d.ts +1 -0
  4. package/index.esm.js +1087 -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/index.d.ts +6 -0
  14. package/internal/core/index.js +1 -0
  15. package/internal/core/native.d.ts +103 -0
  16. package/internal/core/native.js +1 -0
  17. package/internal/core/types.d.ts +58 -0
  18. package/internal/core/types.js +1 -0
  19. package/internal/node/index.d.ts +11 -0
  20. package/internal/node/index.js +1 -0
  21. package/internal/node/native/libmpc_executor_linux_arm64_nodejs.node +0 -0
  22. package/internal/node/native/libmpc_executor_linux_x86_64_nodejs.node +0 -0
  23. package/internal/node/native/libmpc_executor_macos_arm64_nodejs.node +0 -0
  24. package/internal/node/native/libmpc_executor_macos_x86_64_nodejs.node +0 -0
  25. package/internal/node/native.d.ts +2 -0
  26. package/internal/node/native.js +1 -0
  27. package/package.json +34 -0
  28. package/src/backup/encryption.d.ts +22 -0
  29. package/src/backup/encryption.d.ts.map +1 -0
  30. package/src/client.d.ts +249 -0
  31. package/src/client.d.ts.map +1 -0
  32. package/src/constants.d.ts +2 -0
  33. package/src/constants.d.ts.map +1 -0
  34. package/src/index.d.ts +6 -0
  35. package/src/index.d.ts.map +1 -0
  36. package/src/mpc/index.d.ts +3 -0
  37. package/src/mpc/index.d.ts.map +1 -0
  38. package/src/mpc/mpc.d.ts +12 -0
  39. package/src/mpc/mpc.d.ts.map +1 -0
  40. package/src/mpc/types.d.ts +6 -0
  41. package/src/mpc/types.d.ts.map +1 -0
  42. package/src/services/logger.d.ts +3 -0
  43. package/src/services/logger.d.ts.map +1 -0
  44. package/src/types.d.ts +12 -0
  45. package/src/types.d.ts.map +1 -0
  46. package/src/utils.d.ts +34 -0
  47. package/src/utils.d.ts.map +1 -0
@@ -0,0 +1,249 @@
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, }: {
81
+ accountAddress: string;
82
+ message: string | Uint8Array;
83
+ chainName: string;
84
+ password?: string;
85
+ }): Promise<Uint8Array | EcdsaSignature>;
86
+ refreshWalletAccountShares({ accountAddress, chainName, password, }: {
87
+ accountAddress: string;
88
+ chainName: string;
89
+ password?: string;
90
+ }): Promise<(EcdsaKeygenResult | BIP340KeygenResult)[]>;
91
+ getExportId({ chainName, serverKeyShare, }: {
92
+ chainName: string;
93
+ serverKeyShare: ServerKeyShare;
94
+ }): Promise<string>;
95
+ /**
96
+ * Helper function to create client shares required to complete a reshare ceremony.
97
+ * @param {string} chainName - The chain to create shares for
98
+ * @param {WalletProperties} wallet - The wallet to reshare
99
+ * @param {ThresholdSignatureScheme} oldThresholdSignatureScheme - The current threshold signature scheme
100
+ * @param {ThresholdSignatureScheme} newThresholdSignatureScheme - The target threshold signature scheme
101
+ * @returns {Promise<{
102
+ * newClientInitKeygenResults: ClientInitKeygenResult[],
103
+ * newClientKeygenIds: string[],
104
+ * existingClientKeygenIds: string[],
105
+ * existingClientKeyShares: ClientKeyShare[]
106
+ * }>} Object containing new and existing client keygen results, IDs and shares
107
+ * @todo Support higher to lower reshare strategies
108
+ */
109
+ reshareStrategy({ chainName, wallet, oldThresholdSignatureScheme, newThresholdSignatureScheme, }: {
110
+ chainName: string;
111
+ wallet: WalletProperties;
112
+ oldThresholdSignatureScheme: ThresholdSignatureScheme;
113
+ newThresholdSignatureScheme: ThresholdSignatureScheme;
114
+ }): Promise<{
115
+ newExternalServerInitKeygenResults: ServerInitKeygenResult[];
116
+ newExternalServerKeygenIds: string[];
117
+ existingExternalServerKeygenIds: string[];
118
+ existingExternalServerKeyShares: ServerKeyShare[];
119
+ }>;
120
+ reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password, }: {
121
+ chainName: string;
122
+ accountAddress: string;
123
+ oldThresholdSignatureScheme: ThresholdSignatureScheme;
124
+ newThresholdSignatureScheme: ThresholdSignatureScheme;
125
+ password?: string;
126
+ }): Promise<(EcdsaKeygenResult | BIP340KeygenResult)[]>;
127
+ exportKey({ accountAddress, chainName, password, }: {
128
+ accountAddress: string;
129
+ chainName: string;
130
+ password?: string;
131
+ }): Promise<{
132
+ derivedPrivateKey: string | undefined;
133
+ }>;
134
+ offlineExportKey({ chainName, keyShares, derivationPath, }: {
135
+ chainName: string;
136
+ keyShares: ServerKeyShare[];
137
+ derivationPath?: string;
138
+ }): Promise<{
139
+ derivedPrivateKey: string | undefined;
140
+ }>;
141
+ encryptKeyShare({ keyShare, password, }: {
142
+ keyShare: ServerKeyShare;
143
+ password?: string;
144
+ }): Promise<string>;
145
+ ensureCeremonyCompletionBeforeBackup({ accountAddress, }: {
146
+ accountAddress: string;
147
+ }): Promise<void>;
148
+ storeEncryptedBackupByWallet({ accountAddress, externalServerKeyShares, password, }: {
149
+ accountAddress: string;
150
+ externalServerKeyShares?: ServerKeyShare[];
151
+ password?: string;
152
+ }): Promise<any>;
153
+ storeEncryptedBackupByWalletWithRetry({ accountAddress, externalServerKeyShares, password, }: {
154
+ accountAddress: string;
155
+ externalServerKeyShares?: ServerKeyShare[];
156
+ password?: string;
157
+ }): Promise<void>;
158
+ getExternalServerKeyShares({ accountAddress, password, }: {
159
+ accountAddress: string;
160
+ password?: string;
161
+ }): Promise<import("./mpc").ServerKeyShare[]>;
162
+ updatePassword({ accountAddress, existingPassword, newPassword, }: {
163
+ accountAddress: string;
164
+ existingPassword?: string;
165
+ newPassword?: string;
166
+ }): Promise<void>;
167
+ decryptKeyShare({ keyShare, password, }: {
168
+ keyShare: string;
169
+ password?: string;
170
+ }): Promise<ServerKeyShare>;
171
+ /**
172
+ * Helper function to determine keyshare recovery strategy for dynamic shares.
173
+ * For REFRESH operations, retrieves enough shares to meet the client threshold.
174
+ * For all other operations, retrieves just 1 share.
175
+ *
176
+ * @param clientKeyShareBackupInfo - Information about backed up key shares
177
+ * @param thresholdSignatureScheme - The signature scheme being used (2-of-2, 2-of-3, etc)
178
+ * @param walletOperation - The operation being performed (REFRESH, SIGN_MESSAGE, etc)
179
+ * @param shareCount - The number of shares to recover if specified for reshare operations
180
+ * @returns @shares: Object mapping backup locations to arrays of share IDs to recover
181
+ * @returns @requiredShareCount: The number of shares required to recover
182
+ */
183
+ recoverStrategy({ externalServerKeySharesBackupInfo, thresholdSignatureScheme, walletOperation, shareCount, }: {
184
+ externalServerKeySharesBackupInfo: KeyShareBackupInfo;
185
+ thresholdSignatureScheme: ThresholdSignatureScheme;
186
+ walletOperation: WalletOperation;
187
+ shareCount?: number;
188
+ }): {
189
+ shares: Partial<Record<BackupLocation, string[]>>;
190
+ requiredShareCount: number;
191
+ };
192
+ recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, shareCount, storeRecoveredShares, }: {
193
+ accountAddress: string;
194
+ password?: string;
195
+ walletOperation: WalletOperation;
196
+ shareCount?: number;
197
+ storeRecoveredShares?: boolean;
198
+ }): Promise<any[]>;
199
+ exportExternalServerKeyShares({ accountAddress, password, }: {
200
+ accountAddress: string;
201
+ password?: string;
202
+ }): Promise<import("./mpc").ServerKeyShare[]>;
203
+ /**
204
+ * Helper function to check if the required wallet fields are present and valid
205
+ * @param accountAddress - The account address of the wallet to check
206
+ * @param walletOperation - The wallet operation that determines required fields
207
+ * @returns boolean indicating if wallet needs to be re-fetched and restored from server
208
+ */
209
+ private checkWalletFields;
210
+ /**
211
+ * verifyPassword attempts to recover and decrypt a single client key share using the provided password.
212
+ * If successful, the key share is encrypted with the new password. This method solely performs the recovery
213
+ * and decryption without storing the restored key shares. If unsuccessful, it throws an error.
214
+ */
215
+ verifyPassword({ accountAddress, password, walletOperation, }: {
216
+ accountAddress: string;
217
+ password?: string;
218
+ walletOperation?: WalletOperation;
219
+ }): Promise<void>;
220
+ isPasswordEncrypted({ accountAddress, }: {
221
+ accountAddress: string;
222
+ }): Promise<boolean>;
223
+ /**
224
+ * check if the operation requires a password
225
+ */
226
+ requiresPasswordForOperation({ accountAddress, walletOperation, }: {
227
+ accountAddress: string;
228
+ walletOperation?: WalletOperation;
229
+ }): Promise<boolean>;
230
+ /**
231
+ * check if the operation requires restoring backup shares
232
+ */
233
+ requiresRestoreBackupSharesForOperation({ accountAddress, walletOperation, }: {
234
+ accountAddress: string;
235
+ walletOperation?: WalletOperation;
236
+ }): Promise<boolean>;
237
+ getWalletExternalServerKeyShareBackupInfo({ accountAddress, }: {
238
+ accountAddress: string;
239
+ }): Promise<KeyShareBackupInfo>;
240
+ getWallet({ accountAddress, walletOperation, shareCount, password, }: {
241
+ accountAddress: string;
242
+ walletOperation?: WalletOperation;
243
+ shareCount?: number;
244
+ password?: string;
245
+ }): Promise<WalletProperties>;
246
+ getWallets(): Promise<any>;
247
+ }
248
+ export {};
249
+ //# 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"}