fix(dapps): normalize addresses to lowercase when validating signatures

fix(dapp-v2): normalize addresses to lowercase when validating signatures

chore: updates yarn.lock

fix(with-ethers): normalize addresses to lowercase for sig validation

fix(with-web3js): normalize addresses to lowercase for sig validation

Fixes #18
This commit is contained in:
Ben Kremer
2022-04-08 17:09:37 +02:00
parent c36bbd3357
commit 3a2ac70f1f
4 changed files with 115 additions and 89 deletions
+8 -8
View File
@@ -64,6 +64,9 @@ export default function App() {
web3Provider,
} = useWalletConnectClient();
const verifyEip155MessageSignature = (message: string, signature: string, address: string) =>
utils.verifyMessage(message, signature).toLowerCase() === address.toLowerCase();
const ping = async () => {
if (typeof client === "undefined") {
throw new Error("WalletConnect Client is not initialized");
@@ -149,7 +152,7 @@ export default function App() {
const hexMsg = encoding.utf8ToHex(msg, true);
const [address] = await web3Provider.eth.getAccounts();
const signature = await web3Provider.eth.personal.sign(hexMsg, address, "");
const valid = utils.verifyMessage(msg, signature) === address;
const valid = verifyEip155MessageSignature(msg, signature, address);
return {
method: "personal_sign",
address,
@@ -166,7 +169,7 @@ export default function App() {
const hexMsg = encoding.utf8ToHex(msg, true);
const [address] = await web3Provider.eth.getAccounts();
const signature = await web3Provider.eth.sign(hexMsg, address);
const valid = utils.verifyMessage(msg, signature) === address;
const valid = verifyEip155MessageSignature(msg, signature, address);
return {
method: "eth_sign (standard)",
address,
@@ -206,12 +209,9 @@ export default function App() {
eip712.example.types;
const valid =
utils.verifyTypedData(
eip712.example.domain,
nonDomainTypes,
eip712.example.message,
signature,
) === address;
utils
.verifyTypedData(eip712.example.domain, nonDomainTypes, eip712.example.message, signature)
.toLowerCase() === address.toLowerCase();
return {
method: "eth_signTypedData",