@dynamic-labs-wallet/node-evm 0.0.194 → 0.0.195

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.js CHANGED
@@ -164,7 +164,14 @@ class DynamicEvmWalletClient extends node.DynamicWalletClient {
164
164
  const resolvedContext = context != null ? context : {
165
165
  evmMessage: message
166
166
  };
167
- // Sign the message using MPC
167
+ // Attempt to recover key shares from backup if not provided
168
+ await this.ensureKeySharesRecovered({
169
+ accountAddress,
170
+ password,
171
+ walletOperation: node.WalletOperation.SIGN_MESSAGE,
172
+ externalServerKeyShares,
173
+ errorMessage: 'External server key shares are required to sign a message. No backup shares available for recovery.'
174
+ });
168
175
  const signatureEcdsa = await this.sign({
169
176
  message: formattedMessage,
170
177
  accountAddress: accountAddress,
@@ -189,6 +196,14 @@ class DynamicEvmWalletClient extends node.DynamicWalletClient {
189
196
  }
190
197
  const digest = utils.hashAuthorization(authorization);
191
198
  const prehashed = digest.startsWith('0x') ? digest.slice(2) : digest;
199
+ // Attempt to recover key shares from backup if not provided
200
+ await this.ensureKeySharesRecovered({
201
+ accountAddress,
202
+ password,
203
+ walletOperation: node.WalletOperation.SIGN_MESSAGE,
204
+ externalServerKeyShares,
205
+ errorMessage: 'External server key shares are required to sign authorization. No backup shares available for recovery.'
206
+ });
192
207
  const signatureEcdsa = await this.sign({
193
208
  message: prehashed,
194
209
  accountAddress: accountAddress,
@@ -215,6 +230,14 @@ class DynamicEvmWalletClient extends node.DynamicWalletClient {
215
230
  throw new Error(ERROR_ACCOUNT_ADDRESS_REQUIRED);
216
231
  }
217
232
  const formattedTypedData = formatTypedData(typedData);
233
+ // Attempt to recover key shares from backup if not provided
234
+ await this.ensureKeySharesRecovered({
235
+ accountAddress,
236
+ password,
237
+ walletOperation: node.WalletOperation.SIGN_MESSAGE,
238
+ externalServerKeyShares,
239
+ errorMessage: 'External server key shares are required to sign typed data. No backup shares available for recovery.'
240
+ });
218
241
  const signatureEcdsa = await this.sign({
219
242
  message: formattedTypedData,
220
243
  accountAddress: accountAddress,
@@ -257,6 +280,14 @@ class DynamicEvmWalletClient extends node.DynamicWalletClient {
257
280
  password,
258
281
  walletOperation: node.WalletOperation.SIGN_TRANSACTION
259
282
  });
283
+ // Attempt to recover key shares from backup if not provided
284
+ await this.ensureKeySharesRecovered({
285
+ accountAddress: senderAddress,
286
+ password,
287
+ walletOperation: node.WalletOperation.SIGN_TRANSACTION,
288
+ externalServerKeyShares,
289
+ errorMessage: 'External server key shares are required to sign transaction. No backup shares available for recovery.'
290
+ });
260
291
  const serializedTx = viem.serializeTransaction(transaction);
261
292
  const serializedTxBytes = Uint8Array.from(Buffer.from(serializedTx.slice(2), 'hex'));
262
293
  if (!(serializedTxBytes instanceof Uint8Array)) {
@@ -295,6 +326,14 @@ class DynamicEvmWalletClient extends node.DynamicWalletClient {
295
326
  password,
296
327
  walletOperation: node.WalletOperation.EXPORT_PRIVATE_KEY
297
328
  });
329
+ // Attempt to recover key shares from backup if not provided
330
+ await this.ensureKeySharesRecovered({
331
+ accountAddress,
332
+ password,
333
+ walletOperation: node.WalletOperation.EXPORT_PRIVATE_KEY,
334
+ externalServerKeyShares,
335
+ errorMessage: 'External server key shares are required to export private key. No backup shares available for recovery.'
336
+ });
298
337
  const { derivedPrivateKey } = await this.exportKey({
299
338
  accountAddress,
300
339
  chainName: this.chainName,
package/index.esm.js CHANGED
@@ -162,7 +162,14 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
162
162
  const resolvedContext = context != null ? context : {
163
163
  evmMessage: message
164
164
  };
165
- // Sign the message using MPC
165
+ // Attempt to recover key shares from backup if not provided
166
+ await this.ensureKeySharesRecovered({
167
+ accountAddress,
168
+ password,
169
+ walletOperation: WalletOperation.SIGN_MESSAGE,
170
+ externalServerKeyShares,
171
+ errorMessage: 'External server key shares are required to sign a message. No backup shares available for recovery.'
172
+ });
166
173
  const signatureEcdsa = await this.sign({
167
174
  message: formattedMessage,
168
175
  accountAddress: accountAddress,
@@ -187,6 +194,14 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
187
194
  }
188
195
  const digest = hashAuthorization(authorization);
189
196
  const prehashed = digest.startsWith('0x') ? digest.slice(2) : digest;
197
+ // Attempt to recover key shares from backup if not provided
198
+ await this.ensureKeySharesRecovered({
199
+ accountAddress,
200
+ password,
201
+ walletOperation: WalletOperation.SIGN_MESSAGE,
202
+ externalServerKeyShares,
203
+ errorMessage: 'External server key shares are required to sign authorization. No backup shares available for recovery.'
204
+ });
190
205
  const signatureEcdsa = await this.sign({
191
206
  message: prehashed,
192
207
  accountAddress: accountAddress,
@@ -213,6 +228,14 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
213
228
  throw new Error(ERROR_ACCOUNT_ADDRESS_REQUIRED);
214
229
  }
215
230
  const formattedTypedData = formatTypedData(typedData);
231
+ // Attempt to recover key shares from backup if not provided
232
+ await this.ensureKeySharesRecovered({
233
+ accountAddress,
234
+ password,
235
+ walletOperation: WalletOperation.SIGN_MESSAGE,
236
+ externalServerKeyShares,
237
+ errorMessage: 'External server key shares are required to sign typed data. No backup shares available for recovery.'
238
+ });
216
239
  const signatureEcdsa = await this.sign({
217
240
  message: formattedTypedData,
218
241
  accountAddress: accountAddress,
@@ -255,6 +278,14 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
255
278
  password,
256
279
  walletOperation: WalletOperation.SIGN_TRANSACTION
257
280
  });
281
+ // Attempt to recover key shares from backup if not provided
282
+ await this.ensureKeySharesRecovered({
283
+ accountAddress: senderAddress,
284
+ password,
285
+ walletOperation: WalletOperation.SIGN_TRANSACTION,
286
+ externalServerKeyShares,
287
+ errorMessage: 'External server key shares are required to sign transaction. No backup shares available for recovery.'
288
+ });
258
289
  const serializedTx = serializeTransaction(transaction);
259
290
  const serializedTxBytes = Uint8Array.from(Buffer.from(serializedTx.slice(2), 'hex'));
260
291
  if (!(serializedTxBytes instanceof Uint8Array)) {
@@ -293,6 +324,14 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
293
324
  password,
294
325
  walletOperation: WalletOperation.EXPORT_PRIVATE_KEY
295
326
  });
327
+ // Attempt to recover key shares from backup if not provided
328
+ await this.ensureKeySharesRecovered({
329
+ accountAddress,
330
+ password,
331
+ walletOperation: WalletOperation.EXPORT_PRIVATE_KEY,
332
+ externalServerKeyShares,
333
+ errorMessage: 'External server key shares are required to export private key. No backup shares available for recovery.'
334
+ });
296
335
  const { derivedPrivateKey } = await this.exportKey({
297
336
  accountAddress,
298
337
  chainName: this.chainName,
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/node-evm",
3
- "version": "0.0.194",
3
+ "version": "0.0.195",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@dynamic-labs-wallet/node": "0.0.194",
7
+ "@dynamic-labs-wallet/node": "0.0.195",
8
8
  "@dynamic-labs/sdk-api-core": "^0.0.801",
9
9
  "@dynamic-labs-sdk/client": "^0.1.0-alpha.22",
10
10
  "@dynamic-labs-sdk/zerodev": "^0.1.0-alpha.22",
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}