aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils
diff options
context:
space:
mode:
authorJacob Evans <jacob@dekz.net>2018-08-14 06:32:16 +0800
committerJacob Evans <jacob@dekz.net>2018-08-14 07:18:13 +0800
commita3517574936aa6a4911003dbff06302926b04cb4 (patch)
tree86e4c20aee5ddf4e3641d6b13e1379d1b7c26930 /packages/order-utils
parentca4905c3436931684d113ec66882836a4d0b265b (diff)
downloaddexon-sol-tools-a3517574936aa6a4911003dbff06302926b04cb4.tar.gz
dexon-sol-tools-a3517574936aa6a4911003dbff06302926b04cb4.tar.zst
dexon-sol-tools-a3517574936aa6a4911003dbff06302926b04cb4.zip
Update version numbers.
Add source for Metamask future fix. Consolidate switch statement to one return
Diffstat (limited to 'packages/order-utils')
-rw-r--r--packages/order-utils/CHANGELOG.json2
-rw-r--r--packages/order-utils/src/signature_utils.ts14
2 files changed, 9 insertions, 7 deletions
diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json
index c70448d69..6f59580b3 100644
--- a/packages/order-utils/CHANGELOG.json
+++ b/packages/order-utils/CHANGELOG.json
@@ -1,6 +1,6 @@
[
{
- "version": "pending",
+ "version": "1.0.1-rc.4",
"changes": [
{
"pr": 914,
diff --git a/packages/order-utils/src/signature_utils.ts b/packages/order-utils/src/signature_utils.ts
index 5a58edf38..870aef2ed 100644
--- a/packages/order-utils/src/signature_utils.ts
+++ b/packages/order-utils/src/signature_utils.ts
@@ -216,6 +216,7 @@ export async function ecSignOrderHashAsync(
let msgHashHex = orderHash;
const prefixedMsgHashHex = addSignedMessagePrefix(orderHash, signerType);
// Metamask incorrectly implements eth_sign and does not prefix the message as per the spec
+ // Source: https://github.com/MetaMask/metamask-extension/commit/a9d36860bec424dcee8db043d3e7da6a5ff5672e
if (signerType === SignerType.Metamask) {
msgHashHex = prefixedMsgHashHex;
}
@@ -260,22 +261,23 @@ export function convertECSignatureToSignatureHex(ecSignature: ECSignature, signe
ethUtil.toBuffer(ecSignature.s),
]);
const signatureHex = `0x${signatureBuffer.toString('hex')}`;
+ let signatureType;
switch (signerType) {
case SignerType.Metamask:
case SignerType.Ledger:
case SignerType.Default: {
- const signatureType = SignatureType.EthSign;
- const signatureWithType = convertToSignatureWithType(signatureHex, signatureType);
- return signatureWithType;
+ signatureType = SignatureType.EthSign;
+ break;
}
case SignerType.Trezor: {
- const signatureType = SignatureType.Trezor;
- const signatureWithType = convertToSignatureWithType(signatureHex, signatureType);
- return signatureWithType;
+ signatureType = SignatureType.Trezor;
+ break;
}
default:
throw new Error(`Unrecognized SignerType: ${signerType}`);
}
+ const signatureWithType = convertToSignatureWithType(signatureHex, signatureType);
+ return signatureWithType;
}
/**
* Combines the signature proof and the Signature Type.