Skip to content

Commit affd252

Browse files
committed
refactor: change hdkeyring type
1 parent cfc72a6 commit affd252

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

packages/keyring-eth-hd/src/index.ts

+10-7
Original file line numberDiff line numberDiff line change
@@ -349,16 +349,19 @@ class HdKeyring {
349349
* @param opts - The options for signing the message.
350350
* @returns The signature of the message.
351351
*/
352-
async signTypedData<Types extends MessageTypes>(
352+
async signTypedData<
353+
Version extends SignTypedDataVersion,
354+
Types extends MessageTypes,
355+
Options extends { version: Version },
356+
>(
353357
withAccount: Hex,
354-
typedData: TypedDataV1 | TypedMessage<Types>,
355-
opts: HDKeyringAccountSelectionOptions & {
356-
version: SignTypedDataVersion;
357-
} = { version: SignTypedDataVersion.V1 },
358+
typedData: Version extends 'V1' ? TypedDataV1 : TypedMessage<Types>,
359+
opts?: HDKeyringAccountSelectionOptions & Options,
358360
): Promise<string> {
361+
const options = opts ?? { version: SignTypedDataVersion.V1 };
359362
// Treat invalid versions as "V1"
360-
const version = Object.keys(SignTypedDataVersion).includes(opts.version)
361-
? opts.version
363+
const version = Object.keys(SignTypedDataVersion).includes(options.version)
364+
? options.version
362365
: SignTypedDataVersion.V1;
363366

364367
const privateKey = this.#getPrivateKeyFor(withAccount, opts);

packages/keyring-eth-simple/src/simple-keyring.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,7 @@ export default class SimpleKeyring implements Keyring {
156156
Options extends { version: Version } & KeyringOpt,
157157
>(
158158
address: Hex,
159-
typedData: Version extends SignTypedDataVersion.V1
160-
? TypedDataV1
161-
: TypedMessage<Types>,
159+
typedData: Version extends 'V1' ? TypedDataV1 : TypedMessage<Types>,
162160
opts?: Options,
163161
): Promise<string> {
164162
const options = opts ?? { version: SignTypedDataVersion.V1 };

0 commit comments

Comments
 (0)