From f10072c932e287b29f94c09b2c9aae1ba5fb10c8 Mon Sep 17 00:00:00 2001 From: Kagami Hiiragi Date: Tue, 6 Jan 2015 14:21:46 +0300 Subject: [PATCH] Do not overwrite global variables Also do not use Promise shim in browsers since it's supported natively by new browsers (and we can use only new browsers because of the WebCryptoAPI). --- browser.js | 1 - index.js | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/browser.js b/browser.js index e752ced..57be0ce 100644 --- a/browser.js +++ b/browser.js @@ -4,7 +4,6 @@ "use strict"; -require("es6-promise").polyfill(); var EC = require("elliptic").ec; var ec = new EC("secp256k1"); diff --git a/index.js b/index.js index 9250951..e54bf23 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,9 @@ "use strict"; -require("es6-promise").polyfill(); +var promise = typeof Promise === "undefined" ? + require("es6-promise").Promise : + Promise; var secp256k1 = require("secp256k1"); /** @@ -25,7 +27,7 @@ var getPublic = exports.getPublic = secp256k1.createPublicKey; */ // FIXME(Kagami): What to do in case of invalid nonce? exports.sign = function(privateKey, msg) { - return new Promise(function(resolve, reject) { + return new promise(function(resolve, reject) { try { secp256k1.sign(privateKey, msg, function(code, sig) { if (code === 1) { @@ -50,7 +52,7 @@ exports.sign = function(privateKey, msg) { */ exports.verify = function(key, msg, sig) { var publicKey = key.length === 32 ? getPublic(key) : key; - return new Promise(function(resolve, reject) { + return new promise(function(resolve, reject) { secp256k1.verify(publicKey, msg, sig, function(code) { if (code === 1) { resolve();