diff options
author | Fabio Berger <me@fabioberger.com> | 2018-09-27 17:03:54 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-09-27 17:03:54 +0800 |
commit | 0591f1d32a4696924d9b063b09ec8a373e6757c7 (patch) | |
tree | 18155fe5a4ef127f3ecc11caac80df1fdcce3048 /packages/order-utils/src | |
parent | 1402119c840dcb634efd99c02e76007ed013b54a (diff) | |
download | dexon-0x-contracts-0591f1d32a4696924d9b063b09ec8a373e6757c7.tar.gz dexon-0x-contracts-0591f1d32a4696924d9b063b09ec8a373e6757c7.tar.zst dexon-0x-contracts-0591f1d32a4696924d9b063b09ec8a373e6757c7.zip |
Add address normalization to isValidECSignature method
Diffstat (limited to 'packages/order-utils/src')
-rw-r--r-- | packages/order-utils/src/signature_utils.ts | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/order-utils/src/signature_utils.ts b/packages/order-utils/src/signature_utils.ts index c0c9e71a7..3b656d3fc 100644 --- a/packages/order-utils/src/signature_utils.ts +++ b/packages/order-utils/src/signature_utils.ts @@ -174,6 +174,7 @@ export const signatureUtils = { assert.isHexString('data', data); assert.doesConformToSchema('signature', signature, schemas.ecSignatureSchema); assert.isETHAddressHex('signerAddress', signerAddress); + const normalizedSignerAddress = signerAddress.toLowerCase(); const msgHashBuff = ethUtil.toBuffer(data); try { @@ -184,7 +185,8 @@ export const signatureUtils = { ethUtil.toBuffer(signature.s), ); const retrievedAddress = ethUtil.bufferToHex(ethUtil.pubToAddress(pubKey)); - return retrievedAddress === signerAddress; + const normalizedRetrievedAddress = retrievedAddress.toLowerCase(); + return normalizedRetrievedAddress === normalizedSignerAddress; } catch (err) { return false; } |