From 9ff1d87a8d3285d70c6fee49c2067e11a9d08611 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Fri, 9 Jul 2021 15:03:23 +1000 Subject: [PATCH] Use util function --- examples/eth-dm/src/crypto.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/examples/eth-dm/src/crypto.ts b/examples/eth-dm/src/crypto.ts index 1dd7c7b0f8..792fb03251 100644 --- a/examples/eth-dm/src/crypto.ts +++ b/examples/eth-dm/src/crypto.ts @@ -4,7 +4,7 @@ import * as EthCrypto from 'eth-crypto'; import { ethers } from 'ethers'; import { Signer } from '@ethersproject/abstract-signer'; import { DirectMessage, PublicKeyMessage } from './messaging/wire'; -import { byteArrayToHex, hexToBuf } from './utils'; +import { byteArrayToHex, equalByteArrays, hexToBuf } from './utils'; export interface KeyPair { privateKey: string; @@ -49,15 +49,7 @@ export function validatePublicKeyMessage(msg: PublicKeyMessage): boolean { const formattedMsg = formatPublicKeyForSignature(msg.ethDmPublicKey); try { const sigAddress = ethers.utils.verifyMessage(formattedMsg, msg.signature); - const sigAddressBytes = hexToBuf(sigAddress); - // Compare the actual byte arrays instead of strings that may differ in casing or prefixing. - const cmp = sigAddressBytes.compare(new Buffer(msg.ethAddress)); - console.log( - `Buffer comparison result: ${cmp} for (signature address, message address)`, - sigAddressBytes, - msg.ethAddress - ); - return cmp === 0; + return equalByteArrays(sigAddress, msg.ethAddress); } catch (e) { console.log( 'Failed to verify signature for Public Key Message',