@dynamic-labs-wallet/evm 0.0.125 → 0.0.127

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
@@ -55,6 +55,19 @@ const checkRawPublicKeyInstance = (rawPublicKey)=>{
55
55
  throw new Error('Invalid raw public key');
56
56
  }
57
57
  };
58
+ const mapTransactionToEvmTransaction = (transaction)=>{
59
+ var _transaction_to;
60
+ return {
61
+ to: (_transaction_to = transaction.to) != null ? _transaction_to : undefined,
62
+ data: transaction.data,
63
+ gas: transaction.gas ? `0x${transaction.gas.toString(16)}` : undefined,
64
+ gasPrice: transaction.gasPrice ? `0x${transaction.gasPrice.toString(16)}` : undefined,
65
+ maxFeePerGas: transaction.maxFeePerGas ? `0x${transaction.maxFeePerGas.toString(16)}` : undefined,
66
+ maxPriorityFeePerGas: transaction.maxPriorityFeePerGas ? `0x${transaction.maxPriorityFeePerGas.toString(16)}` : undefined,
67
+ nonce: transaction.nonce,
68
+ value: transaction.value ? `0x${transaction.value.toString(16)}` : undefined
69
+ };
70
+ };
58
71
 
59
72
  class DynamicEvmWalletClient extends browser.DynamicWalletClient {
60
73
  createViemPublicClient({ chain, rpcUrl }) {
@@ -130,7 +143,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
130
143
  throw new Error(browser.ERROR_CREATE_WALLET_ACCOUNT);
131
144
  }
132
145
  }
133
- async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken }) {
146
+ async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context }) {
134
147
  await this.verifyPassword({
135
148
  accountAddress,
136
149
  password,
@@ -150,7 +163,8 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
150
163
  chainName: this.chainName,
151
164
  password,
152
165
  signedSessionId,
153
- mfaToken
166
+ mfaToken,
167
+ context
154
168
  });
155
169
  // Serialize the signature
156
170
  const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
@@ -196,7 +210,10 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
196
210
  chainName: this.chainName,
197
211
  password,
198
212
  signedSessionId,
199
- mfaToken
213
+ mfaToken,
214
+ context: {
215
+ evmTransaction: mapTransactionToEvmTransaction(transaction)
216
+ }
200
217
  });
201
218
  if (!('r' in signatureEcdsa && 's' in signatureEcdsa && 'v' in signatureEcdsa)) {
202
219
  throw new Error('Invalid signature format returned from MPC signing');
package/index.esm.js CHANGED
@@ -53,6 +53,19 @@ const checkRawPublicKeyInstance = (rawPublicKey)=>{
53
53
  throw new Error('Invalid raw public key');
54
54
  }
55
55
  };
56
+ const mapTransactionToEvmTransaction = (transaction)=>{
57
+ var _transaction_to;
58
+ return {
59
+ to: (_transaction_to = transaction.to) != null ? _transaction_to : undefined,
60
+ data: transaction.data,
61
+ gas: transaction.gas ? `0x${transaction.gas.toString(16)}` : undefined,
62
+ gasPrice: transaction.gasPrice ? `0x${transaction.gasPrice.toString(16)}` : undefined,
63
+ maxFeePerGas: transaction.maxFeePerGas ? `0x${transaction.maxFeePerGas.toString(16)}` : undefined,
64
+ maxPriorityFeePerGas: transaction.maxPriorityFeePerGas ? `0x${transaction.maxPriorityFeePerGas.toString(16)}` : undefined,
65
+ nonce: transaction.nonce,
66
+ value: transaction.value ? `0x${transaction.value.toString(16)}` : undefined
67
+ };
68
+ };
56
69
 
57
70
  class DynamicEvmWalletClient extends DynamicWalletClient {
58
71
  createViemPublicClient({ chain, rpcUrl }) {
@@ -128,7 +141,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
128
141
  throw new Error(ERROR_CREATE_WALLET_ACCOUNT);
129
142
  }
130
143
  }
131
- async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken }) {
144
+ async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context }) {
132
145
  await this.verifyPassword({
133
146
  accountAddress,
134
147
  password,
@@ -148,7 +161,8 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
148
161
  chainName: this.chainName,
149
162
  password,
150
163
  signedSessionId,
151
- mfaToken
164
+ mfaToken,
165
+ context
152
166
  });
153
167
  // Serialize the signature
154
168
  const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
@@ -194,7 +208,10 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
194
208
  chainName: this.chainName,
195
209
  password,
196
210
  signedSessionId,
197
- mfaToken
211
+ mfaToken,
212
+ context: {
213
+ evmTransaction: mapTransactionToEvmTransaction(transaction)
214
+ }
198
215
  });
199
216
  if (!('r' in signatureEcdsa && 's' in signatureEcdsa && 'v' in signatureEcdsa)) {
200
217
  throw new Error('Invalid signature format returned from MPC signing');
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/evm",
3
- "version": "0.0.125",
3
+ "version": "0.0.127",
4
4
  "license": "MIT",
5
5
  "type": "commonjs",
6
6
  "dependencies": {
7
- "@dynamic-labs-wallet/browser": "0.0.125"
7
+ "@dynamic-labs-wallet/browser": "0.0.127",
8
+ "@dynamic-labs/sdk-api-core": "^0.0.745"
8
9
  },
9
10
  "peerDependencies": {
10
11
  "viem": "^2.22.1"
@@ -1,4 +1,5 @@
1
1
  import { DynamicWalletClient, DynamicWalletClientProps, EcdsaKeygenResult, EcdsaPublicKey, Ed25519KeygenResult, ThresholdSignatureScheme } from '@dynamic-labs-wallet/browser';
2
+ import type { SignMessageContext } from '@dynamic-labs/sdk-api-core';
2
3
  import { type Chain, type PublicClient, type SignableMessage, type TransactionSerializable, type TypedData } from 'viem';
3
4
  export declare class DynamicEvmWalletClient extends DynamicWalletClient {
4
5
  readonly chainName = "EVM";
@@ -17,12 +18,13 @@ export declare class DynamicEvmWalletClient extends DynamicWalletClient {
17
18
  publicKeyHex: string;
18
19
  rawPublicKey: EcdsaPublicKey | Uint8Array | string | undefined;
19
20
  }>;
20
- signMessage({ message, accountAddress, password, signedSessionId, mfaToken, }: {
21
+ signMessage({ message, accountAddress, password, signedSessionId, mfaToken, context, }: {
21
22
  message: string;
22
23
  accountAddress: string;
23
24
  password?: string;
24
25
  signedSessionId: string;
25
26
  mfaToken?: string;
27
+ context?: SignMessageContext;
26
28
  }): Promise<`0x${string}`>;
27
29
  verifyMessageSignature({ accountAddress, message, signature, }: {
28
30
  accountAddress: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EAEd,mBAAmB,EAUnB,wBAAwB,EAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,KAAK,EAIV,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AASd,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,SAAS,SAAS;gBAEf,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,GACb,EAAE,wBAAwB;IAY3B,sBAAsB,CAAC,EACrB,KAAK,EACL,MAAM,GACP,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,YAAY;IAOV,mBAAmB,CAAC,EACxB,wBAAwB,EACxB,QAAoB,EACpB,OAAO,EACP,eAAe,GAChB,EAAE;QACD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IA6EI,WAAW,CAAC,EAChB,OAAO,EACP,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAuCK,sBAAsB,CAAC,EAC3B,cAAc,EACd,OAAO,EACP,SAAS,GACV,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,eAAe,CAAC;QACzB,SAAS,EAAE,GAAG,CAAC;KAChB;IAmBK,eAAe,CAAC,EACpB,aAAa,EACb,WAAW,EACX,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,uBAAuB,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsDb,aAAa,CAAC,EAClB,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAqCD,oBAAoB,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,cAAc,CAAA;KAAE;;;;IAUjE,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmBzB,uBAAuB,CAAC,EAC5B,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,EAAE,CAAC;QACvD,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;;;IAUK,gBAAgB,CAAC,EACrB,UAAU,EACV,SAAS,EACT,wBAAwB,EACxB,QAAoB,EACpB,OAAO,EACP,eAAe,GAChB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IA+EI,aAAa;CAOpB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
+ import type { SignMessageEvmTransaction } from '@dynamic-labs/sdk-api-core';
2
+ import type { TransactionSerializable } from 'viem';
1
3
  export declare const checkRawPublicKeyInstance: (rawPublicKey: any) => void;
4
+ export declare const mapTransactionToEvmTransaction: (transaction: TransactionSerializable) => SignMessageEvmTransaction;
2
5
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,iBAAkB,GAAG,SAI1D,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAEpD,eAAO,MAAM,yBAAyB,iBAAkB,GAAG,SAI1D,CAAC;AAEF,eAAO,MAAM,8BAA8B,gBAC5B,uBAAuB,KACnC,yBAeD,CAAC"}