Skip to content

Commit f13a7c6

Browse files
committed
Added verifyMessage helper.
1 parent 453d235 commit f13a7c6

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src.ts/ethers.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export {
4949
export {
5050
id,
5151
isValidName, namehash, dnsEncode,
52-
hashMessage,
52+
hashMessage, verifyMessage,
5353
solidityPacked, solidityPackedKeccak256, solidityPackedSha256,
5454
TypedDataEncoder
5555
} from "./hash/index.js";
@@ -59,6 +59,8 @@ export {
5959

6060
Block, FeeData, Log, TransactionReceipt, TransactionResponse,
6161

62+
AbstractSigner, VoidSigner,
63+
6264
AbstractProvider,
6365

6466
FallbackProvider,

src.ts/hash/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
export { id } from "./id.js"
88
export { isValidName, namehash, dnsEncode } from "./namehash.js";
9-
export { hashMessage } from "./message.js";
9+
export { hashMessage, verifyMessage } from "./message.js";
1010
export {
1111
solidityPacked, solidityPackedKeccak256, solidityPackedSha256
1212
} from "./solidity.js";

src.ts/hash/message.ts

+7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { keccak256 } from "../crypto/index.js";
22
import { MessagePrefix } from "../constants/index.js";
3+
import { recoverAddress } from "../transaction/index.js";
34
import { concat, toUtf8Bytes } from "../utils/index.js";
45

6+
import type { SignatureLike } from "../crypto/index.js";
57
/**
68
* Computes the [[link-eip-191]] personal-sign message digest to sign.
79
*
@@ -38,3 +40,8 @@ export function hashMessage(message: Uint8Array | string): string {
3840
message
3941
]));
4042
}
43+
44+
export function verifyMessage(message: Uint8Array | string, sig: SignatureLike): string {
45+
const digest = hashMessage(message);
46+
return recoverAddress(digest, sig);
47+
}

0 commit comments

Comments
 (0)