@dynamic-labs-wallet/evm 0.0.215 → 0.0.217
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 +13 -9
- package/index.esm.js +13 -9
- package/package.json +2 -2
- package/src/client/client.d.ts +11 -6
- package/src/client/client.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -78,7 +78,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
78
78
|
transport: viem.http(rpcUrl)
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
-
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError, signedSessionId }) {
|
|
81
|
+
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError, signedSessionId, traceContext }) {
|
|
82
82
|
try {
|
|
83
83
|
// Create a promise that will resolve when the ceremony is complete
|
|
84
84
|
let ceremonyCeremonyCompleteResolver;
|
|
@@ -145,7 +145,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
145
145
|
throw new Error(browser.ERROR_CREATE_WALLET_ACCOUNT);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context, onError }) {
|
|
148
|
+
async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context, onError, traceContext }) {
|
|
149
149
|
await this.verifyPassword({
|
|
150
150
|
accountAddress,
|
|
151
151
|
password,
|
|
@@ -170,7 +170,8 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
170
170
|
signedSessionId,
|
|
171
171
|
mfaToken,
|
|
172
172
|
context: resolvedContext,
|
|
173
|
-
onError
|
|
173
|
+
onError,
|
|
174
|
+
traceContext
|
|
174
175
|
});
|
|
175
176
|
// Serialize the signature
|
|
176
177
|
const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
|
|
@@ -197,7 +198,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
197
198
|
throw new Error(browser.ERROR_VERIFY_MESSAGE_SIGNATURE);
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
|
-
async signTransaction({ senderAddress, transaction, password = undefined, signedSessionId, mfaToken, context, onError }) {
|
|
201
|
+
async signTransaction({ senderAddress, transaction, password = undefined, signedSessionId, mfaToken, context, onError, traceContext }) {
|
|
201
202
|
await this.verifyPassword({
|
|
202
203
|
accountAddress: senderAddress,
|
|
203
204
|
password,
|
|
@@ -220,7 +221,8 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
220
221
|
context: _extends({}, context, {
|
|
221
222
|
evmTransaction: mapTransactionToEvmTransaction(transaction)
|
|
222
223
|
}),
|
|
223
|
-
onError
|
|
224
|
+
onError,
|
|
225
|
+
traceContext
|
|
224
226
|
});
|
|
225
227
|
if (!('r' in signatureEcdsa && 's' in signatureEcdsa && 'v' in signatureEcdsa)) {
|
|
226
228
|
throw new Error('Invalid signature format returned from MPC signing');
|
|
@@ -241,7 +243,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
241
243
|
throw error;
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
|
-
async signTypedData({ accountAddress, typedData, password = undefined, signedSessionId, mfaToken, onError }) {
|
|
246
|
+
async signTypedData({ accountAddress, typedData, password = undefined, signedSessionId, mfaToken, onError, traceContext }) {
|
|
245
247
|
await this.verifyPassword({
|
|
246
248
|
accountAddress,
|
|
247
249
|
password,
|
|
@@ -264,7 +266,8 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
264
266
|
context: {
|
|
265
267
|
evmTypedData: typedData
|
|
266
268
|
},
|
|
267
|
-
onError
|
|
269
|
+
onError,
|
|
270
|
+
traceContext
|
|
268
271
|
});
|
|
269
272
|
const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
|
|
270
273
|
return serializedSignature;
|
|
@@ -285,7 +288,7 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
285
288
|
publicKeyHex
|
|
286
289
|
};
|
|
287
290
|
}
|
|
288
|
-
async exportPrivateKey({ accountAddress, password = undefined, signedSessionId, mfaToken }) {
|
|
291
|
+
async exportPrivateKey({ accountAddress, password = undefined, signedSessionId, mfaToken, traceContext }) {
|
|
289
292
|
await this.verifyPassword({
|
|
290
293
|
accountAddress,
|
|
291
294
|
password,
|
|
@@ -297,7 +300,8 @@ class DynamicEvmWalletClient extends browser.DynamicWalletClient {
|
|
|
297
300
|
chainName: this.chainName,
|
|
298
301
|
password,
|
|
299
302
|
signedSessionId,
|
|
300
|
-
mfaToken
|
|
303
|
+
mfaToken,
|
|
304
|
+
traceContext
|
|
301
305
|
});
|
|
302
306
|
return derivedPrivateKey;
|
|
303
307
|
}
|
package/index.esm.js
CHANGED
|
@@ -76,7 +76,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
76
76
|
transport: http(rpcUrl)
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
|
-
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError, signedSessionId }) {
|
|
79
|
+
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError, signedSessionId, traceContext }) {
|
|
80
80
|
try {
|
|
81
81
|
// Create a promise that will resolve when the ceremony is complete
|
|
82
82
|
let ceremonyCeremonyCompleteResolver;
|
|
@@ -143,7 +143,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
143
143
|
throw new Error(ERROR_CREATE_WALLET_ACCOUNT);
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context, onError }) {
|
|
146
|
+
async signMessage({ message, accountAddress, password = undefined, signedSessionId, mfaToken, context, onError, traceContext }) {
|
|
147
147
|
await this.verifyPassword({
|
|
148
148
|
accountAddress,
|
|
149
149
|
password,
|
|
@@ -168,7 +168,8 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
168
168
|
signedSessionId,
|
|
169
169
|
mfaToken,
|
|
170
170
|
context: resolvedContext,
|
|
171
|
-
onError
|
|
171
|
+
onError,
|
|
172
|
+
traceContext
|
|
172
173
|
});
|
|
173
174
|
// Serialize the signature
|
|
174
175
|
const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
|
|
@@ -195,7 +196,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
195
196
|
throw new Error(ERROR_VERIFY_MESSAGE_SIGNATURE);
|
|
196
197
|
}
|
|
197
198
|
}
|
|
198
|
-
async signTransaction({ senderAddress, transaction, password = undefined, signedSessionId, mfaToken, context, onError }) {
|
|
199
|
+
async signTransaction({ senderAddress, transaction, password = undefined, signedSessionId, mfaToken, context, onError, traceContext }) {
|
|
199
200
|
await this.verifyPassword({
|
|
200
201
|
accountAddress: senderAddress,
|
|
201
202
|
password,
|
|
@@ -218,7 +219,8 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
218
219
|
context: _extends({}, context, {
|
|
219
220
|
evmTransaction: mapTransactionToEvmTransaction(transaction)
|
|
220
221
|
}),
|
|
221
|
-
onError
|
|
222
|
+
onError,
|
|
223
|
+
traceContext
|
|
222
224
|
});
|
|
223
225
|
if (!('r' in signatureEcdsa && 's' in signatureEcdsa && 'v' in signatureEcdsa)) {
|
|
224
226
|
throw new Error('Invalid signature format returned from MPC signing');
|
|
@@ -239,7 +241,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
239
241
|
throw error;
|
|
240
242
|
}
|
|
241
243
|
}
|
|
242
|
-
async signTypedData({ accountAddress, typedData, password = undefined, signedSessionId, mfaToken, onError }) {
|
|
244
|
+
async signTypedData({ accountAddress, typedData, password = undefined, signedSessionId, mfaToken, onError, traceContext }) {
|
|
243
245
|
await this.verifyPassword({
|
|
244
246
|
accountAddress,
|
|
245
247
|
password,
|
|
@@ -262,7 +264,8 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
262
264
|
context: {
|
|
263
265
|
evmTypedData: typedData
|
|
264
266
|
},
|
|
265
|
-
onError
|
|
267
|
+
onError,
|
|
268
|
+
traceContext
|
|
266
269
|
});
|
|
267
270
|
const serializedSignature = serializeECDSASignature(signatureEcdsa, this.logger);
|
|
268
271
|
return serializedSignature;
|
|
@@ -283,7 +286,7 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
283
286
|
publicKeyHex
|
|
284
287
|
};
|
|
285
288
|
}
|
|
286
|
-
async exportPrivateKey({ accountAddress, password = undefined, signedSessionId, mfaToken }) {
|
|
289
|
+
async exportPrivateKey({ accountAddress, password = undefined, signedSessionId, mfaToken, traceContext }) {
|
|
287
290
|
await this.verifyPassword({
|
|
288
291
|
accountAddress,
|
|
289
292
|
password,
|
|
@@ -295,7 +298,8 @@ class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
295
298
|
chainName: this.chainName,
|
|
296
299
|
password,
|
|
297
300
|
signedSessionId,
|
|
298
|
-
mfaToken
|
|
301
|
+
mfaToken,
|
|
302
|
+
traceContext
|
|
299
303
|
});
|
|
300
304
|
return derivedPrivateKey;
|
|
301
305
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/evm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.217",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/browser": "0.0.
|
|
7
|
+
"@dynamic-labs-wallet/browser": "0.0.217",
|
|
8
8
|
"@dynamic-labs/sdk-api-core": "^0.0.818",
|
|
9
9
|
"@faker-js/faker": "^9.5.0"
|
|
10
10
|
},
|
package/src/client/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DynamicWalletClient, type DynamicWalletClientProps, type EcdsaKeygenResult, type EcdsaPublicKey, type Ed25519KeygenResult, type ThresholdSignatureScheme } from '@dynamic-labs-wallet/browser';
|
|
1
|
+
import { DynamicWalletClient, type DynamicWalletClientProps, type EcdsaKeygenResult, type EcdsaPublicKey, type Ed25519KeygenResult, type ThresholdSignatureScheme, type TraceContext } from '@dynamic-labs-wallet/browser';
|
|
2
2
|
import type { SignMessageContext } from '@dynamic-labs/sdk-api-core';
|
|
3
3
|
import { type Chain, type PublicClient, type SignableMessage, type TransactionSerializable, type TypedData } from 'viem';
|
|
4
4
|
export declare class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
@@ -8,17 +8,18 @@ export declare class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
8
8
|
chain: Chain;
|
|
9
9
|
rpcUrl?: string;
|
|
10
10
|
}): PublicClient;
|
|
11
|
-
createWalletAccount({ thresholdSignatureScheme, password, onError, signedSessionId, }: {
|
|
11
|
+
createWalletAccount({ thresholdSignatureScheme, password, onError, signedSessionId, traceContext, }: {
|
|
12
12
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
13
13
|
password?: string;
|
|
14
14
|
onError?: (error: Error) => void;
|
|
15
15
|
signedSessionId: string;
|
|
16
|
+
traceContext?: TraceContext;
|
|
16
17
|
}): Promise<{
|
|
17
18
|
accountAddress: string;
|
|
18
19
|
publicKeyHex: string;
|
|
19
20
|
rawPublicKey: EcdsaPublicKey | Uint8Array | string | undefined;
|
|
20
21
|
}>;
|
|
21
|
-
signMessage({ message, accountAddress, password, signedSessionId, mfaToken, context, onError, }: {
|
|
22
|
+
signMessage({ message, accountAddress, password, signedSessionId, mfaToken, context, onError, traceContext, }: {
|
|
22
23
|
message: string;
|
|
23
24
|
accountAddress: string;
|
|
24
25
|
password?: string;
|
|
@@ -26,13 +27,14 @@ export declare class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
26
27
|
mfaToken?: string;
|
|
27
28
|
context?: SignMessageContext;
|
|
28
29
|
onError?: (error: Error) => void;
|
|
30
|
+
traceContext?: TraceContext;
|
|
29
31
|
}): Promise<`0x${string}`>;
|
|
30
32
|
verifyMessageSignature({ accountAddress, message, signature, }: {
|
|
31
33
|
accountAddress: string;
|
|
32
34
|
message: SignableMessage;
|
|
33
35
|
signature: any;
|
|
34
36
|
}): Promise<boolean>;
|
|
35
|
-
signTransaction({ senderAddress, transaction, password, signedSessionId, mfaToken, context, onError, }: {
|
|
37
|
+
signTransaction({ senderAddress, transaction, password, signedSessionId, mfaToken, context, onError, traceContext, }: {
|
|
36
38
|
senderAddress: string;
|
|
37
39
|
transaction: TransactionSerializable;
|
|
38
40
|
password?: string;
|
|
@@ -40,14 +42,16 @@ export declare class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
40
42
|
mfaToken?: string;
|
|
41
43
|
context?: SignMessageContext;
|
|
42
44
|
onError?: (error: Error) => void;
|
|
45
|
+
traceContext?: TraceContext;
|
|
43
46
|
}): Promise<string>;
|
|
44
|
-
signTypedData({ accountAddress, typedData, password, signedSessionId, mfaToken, onError, }: {
|
|
47
|
+
signTypedData({ accountAddress, typedData, password, signedSessionId, mfaToken, onError, traceContext, }: {
|
|
45
48
|
accountAddress: string;
|
|
46
49
|
typedData: TypedData;
|
|
47
50
|
password?: string;
|
|
48
51
|
signedSessionId: string;
|
|
49
52
|
mfaToken?: string;
|
|
50
53
|
onError?: (error: Error) => void;
|
|
54
|
+
traceContext?: TraceContext;
|
|
51
55
|
}): Promise<`0x${string}`>;
|
|
52
56
|
deriveAccountAddress({ rawPublicKey }: {
|
|
53
57
|
rawPublicKey: EcdsaPublicKey;
|
|
@@ -55,11 +59,12 @@ export declare class DynamicEvmWalletClient extends DynamicWalletClient {
|
|
|
55
59
|
accountAddress: `0x${string}`;
|
|
56
60
|
publicKeyHex: string;
|
|
57
61
|
};
|
|
58
|
-
exportPrivateKey({ accountAddress, password, signedSessionId, mfaToken, }: {
|
|
62
|
+
exportPrivateKey({ accountAddress, password, signedSessionId, mfaToken, traceContext, }: {
|
|
59
63
|
accountAddress: string;
|
|
60
64
|
password?: string;
|
|
61
65
|
signedSessionId: string;
|
|
62
66
|
mfaToken?: string;
|
|
67
|
+
traceContext?: TraceContext;
|
|
63
68
|
}): Promise<string | undefined>;
|
|
64
69
|
offlineExportPrivateKey({ keyShares, derivationPath, }: {
|
|
65
70
|
keyShares: (EcdsaKeygenResult | Ed25519KeygenResult)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EAUxB,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|