From b301c0fb48f8a6ba464c7ed48d009166ea1fc230 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Jan 2017 12:04:26 -0800 Subject: [PATCH 1/4] deps - replace promise-request with fetch --- app/scripts/lib/config-manager.js | 7 +++---- package.json | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js index 93501c859..3a1f12ac0 100644 --- a/app/scripts/lib/config-manager.js +++ b/app/scripts/lib/config-manager.js @@ -1,7 +1,6 @@ const Migrator = require('pojo-migrator') const MetamaskConfig = require('../config.js') const migrations = require('./migrations') -const rp = require('request-promise') const ethUtil = require('ethereumjs-util') const normalize = require('./sig-util').normalize @@ -301,9 +300,9 @@ ConfigManager.prototype.getCurrentFiat = function () { ConfigManager.prototype.updateConversionRate = function () { var data = this.getData() - return rp(`https://www.cryptonator.com/api/ticker/eth-${data.fiatCurrency}`) - .then((response) => { - const parsedResponse = JSON.parse(response) + return fetch(`https://www.cryptonator.com/api/ticker/eth-${data.fiatCurrency}`) + .then(response => response.json()) + .then((parsedResponse) => { this.setConversionPrice(parsedResponse.ticker.price) this.setConversionDate(parsedResponse.timestamp) }).catch((err) => { diff --git a/package.json b/package.json index 6f0fe00c7..23070cceb 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,6 @@ "redux": "^3.0.5", "redux-logger": "^2.3.1", "redux-thunk": "^1.0.2", - "request-promise": "^4.1.1", "sandwich-expando": "^1.0.5", "textarea-caret": "^3.0.1", "three.js": "^0.73.2", From bd382f4705ffdc10d193d02dfaa9d1b5ff2f1488 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Jan 2017 12:39:01 -0800 Subject: [PATCH 2/4] tests - add fetch polyfill --- package.json | 1 + test/unit/config-manager-test.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 23070cceb..3a02c64df 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,7 @@ "gulp-util": "^3.0.7", "gulp-watch": "^4.3.5", "gulp-zip": "^3.2.0", + "isomorphic-fetch": "^2.2.1", "jsdom": "^8.1.0", "jsdom-global": "^1.7.0", "jshint-stylish": "~0.1.5", diff --git a/test/unit/config-manager-test.js b/test/unit/config-manager-test.js index 075abbe65..77d431d5f 100644 --- a/test/unit/config-manager-test.js +++ b/test/unit/config-manager-test.js @@ -1,8 +1,10 @@ +// polyfill fetch +global.fetch = global.fetch || require('isomorphic-fetch') const assert = require('assert') const extend = require('xtend') const rp = require('request-promise') const nock = require('nock') -var configManagerGen = require('../lib/mock-config-manager') +const configManagerGen = require('../lib/mock-config-manager') const STORAGE_KEY = 'metamask-persistance-key' describe('config-manager', function() { From 21e2e4efd803c8c904cecf039ee73fead0e6c4c1 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Tue, 10 Jan 2017 14:20:46 -0800 Subject: [PATCH 3/4] Remove erroneous OOG estimation logic. --- app/scripts/lib/tx-utils.js | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/app/scripts/lib/tx-utils.js b/app/scripts/lib/tx-utils.js index a976173f5..d1fb98f42 100644 --- a/app/scripts/lib/tx-utils.js +++ b/app/scripts/lib/tx-utils.js @@ -20,7 +20,6 @@ module.exports = class txProviderUtils { if (err) return cb(err) async.waterfall([ self.estimateTxGas.bind(self, txData, block.gasLimit), - self.checkForTxGasError.bind(self, txData), self.setTxGas.bind(self, txData, block.gasLimit), ], cb) }) @@ -38,22 +37,10 @@ module.exports = class txProviderUtils { this.query.estimateGas(txParams, cb) } - checkForTxGasError (txData, estimatedGasHex, cb) { + setTxGas (txData, blockGasLimitHex, estimatedGasHex, cb) { txData.estimatedGas = estimatedGasHex - // all gas used - must be an error - if (estimatedGasHex === txData.txParams.gas) { - txData.simulationFails = true - } - cb() - } - - setTxGas (txData, blockGasLimitHex, cb) { const txParams = txData.txParams - // if OOG, nothing more to do - if (txData.simulationFails) { - cb() - return - } + // if gasLimit was specified and doesnt OOG, // use original specified amount if (txData.gasLimitSpecified) { From 55a55754d02672982bb57c496b5773e8ea1b8869 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Tue, 10 Jan 2017 14:20:51 -0800 Subject: [PATCH 4/4] Bump changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 420296bbd..9cd13e102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Remove certain non-essential permissions from certain builds. - Add a check for when a tx is included in a block. +- Fix bug where browser-solidity would sometimes warn of a contract creation error when there was none. - Minor modifications to network display. - Network now displays properly for pending transactions. - Implement replay attack protections allowed by EIP 155.