@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.
- package/index.cjs.d.ts +1 -0
- package/index.cjs.js +1151 -0
- package/index.esm.d.ts +1 -0
- package/index.esm.js +1087 -0
- package/internal/core/bip340.d.ts +22 -0
- package/internal/core/bip340.js +1 -0
- package/internal/core/common.d.ts +1 -0
- package/internal/core/common.js +1 -0
- package/internal/core/ecdsa.d.ts +23 -0
- package/internal/core/ecdsa.js +1 -0
- package/internal/core/ed25519.d.ts +22 -0
- package/internal/core/ed25519.js +1 -0
- package/internal/core/index.d.ts +6 -0
- package/internal/core/index.js +1 -0
- package/internal/core/native.d.ts +103 -0
- package/internal/core/native.js +1 -0
- package/internal/core/types.d.ts +58 -0
- package/internal/core/types.js +1 -0
- package/internal/node/index.d.ts +11 -0
- package/internal/node/index.js +1 -0
- package/internal/node/native/libmpc_executor_linux_arm64_nodejs.node +0 -0
- package/internal/node/native/libmpc_executor_linux_x86_64_nodejs.node +0 -0
- package/internal/node/native/libmpc_executor_macos_arm64_nodejs.node +0 -0
- package/internal/node/native/libmpc_executor_macos_x86_64_nodejs.node +0 -0
- package/internal/node/native.d.ts +2 -0
- package/internal/node/native.js +1 -0
- package/package.json +34 -0
- package/src/backup/encryption.d.ts +22 -0
- package/src/backup/encryption.d.ts.map +1 -0
- package/src/client.d.ts +249 -0
- package/src/client.d.ts.map +1 -0
- package/src/constants.d.ts +2 -0
- package/src/constants.d.ts.map +1 -0
- package/src/index.d.ts +6 -0
- package/src/index.d.ts.map +1 -0
- package/src/mpc/index.d.ts +3 -0
- package/src/mpc/index.d.ts.map +1 -0
- package/src/mpc/mpc.d.ts +12 -0
- package/src/mpc/mpc.d.ts.map +1 -0
- package/src/mpc/types.d.ts +6 -0
- package/src/mpc/types.d.ts.map +1 -0
- package/src/services/logger.d.ts +3 -0
- package/src/services/logger.d.ts.map +1 -0
- package/src/types.d.ts +12 -0
- package/src/types.d.ts.map +1 -0
- package/src/utils.d.ts +34 -0
- package/src/utils.d.ts.map +1 -0
package/src/client.d.ts
ADDED
|
@@ -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":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EAGd,cAAc,EAIf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAIhB,eAAe,EACf,kBAAkB,EAClB,cAAc,EAGf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAU3C,KAAK,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAE7D,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,wCAAU;IAE1B,SAAS,CAAC,SAAS,EAAG,gBAAgB,CAAC;IACvC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,wBAAwB,UAAS;gBAE/B,EACV,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,KAAK,GACN,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IASD,OAAO,CAAC,4BAA4B;IAQ9B,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAoBtC,6BAA6B,CAAC,EAClC,SAAS,EACT,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,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;KACzE;IAoBK,8BAA8B,CAAC,EACnC,SAAS,EACT,wBAAwB,GACzB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;KACpD,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAyB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;KACzC;IAyBK,oBAAoB,CAAC,EACzB,SAAS,EACT,MAAM,EACN,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,GACzB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,+BAA+B,EAAE,sBAAsB,EAAE,CAAC;QAC1D,wBAAwB,EAAE,wBAAwB,CAAC;KACpD,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;QACtD,2BAA2B,EAAE,cAAc,EAAE,CAAC;KAC/C,CAAC;IAwDI,MAAM,CAAC,EACX,SAAS,EACT,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,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;KACzE,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;QACtD,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IAmCI,mBAAmB,CAAC,EACxB,SAAS,EACT,UAAU,EACV,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,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;KACzE,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;QACtD,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IA0EI,iBAAiB,CAAC,EACtB,QAAQ,EACR,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;KAC9B;IAYK,kBAAkB,CAAC,EACvB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,GACf,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;KACzC,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAwClC,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAkClC,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA6CK,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;KAChC;IASD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,2BAA2B,EAC3B,2BAA2B,GAC5B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;KACvD,GAAG,OAAO,CAAC;QACV,kCAAkC,EAAE,sBAAsB,EAAE,CAAC;QAC7D,0BAA0B,EAAE,MAAM,EAAE,CAAC;QACrC,+BAA+B,EAAE,MAAM,EAAE,CAAC;QAC1C,+BAA+B,EAAE,cAAc,EAAE,CAAC;KACnD,CAAC;IA4CI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,GACrB,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;KACnB;IAkGK,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,QAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;;;IAyDK,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;;;IA+DK,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAaK,oCAAoC,CAAC,EACzC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB;IAoBK,4BAA4B,CAAC,EACjC,cAAc,EACd,uBAAmC,EACnC,QAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAuDK,qCAAqC,CAAC,EAC1C,cAAc,EACd,uBAAuB,EACvB,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,CAAC,EAAE,cAAc,EAAE,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAoBK,0BAA0B,CAAC,EAC/B,cAAc,EACd,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IASK,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAaK,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,CAAC;IAa3B;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,iCAAiC,EACjC,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,iCAAiC,EAAE,kBAAkB,CAAC;QACtD,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;IA6BK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAsB,EACtB,oBAA2B,GAC5B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;IAmDK,6BAA6B,CAAC,EAClC,cAAc,EACd,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAcD;;;;;OAKG;YACW,iBAAiB;IA8D/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAA8C,GAC/C,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC;IA6CK,mBAAmB,CAAC,EACxB,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQpB;;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;IA+Bd,yCAAyC,CAAC,EAC9C,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoBzB,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAgEK,UAAU;CAuCjB"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
|
package/src/mpc/mpc.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|