From bf8f3b014a1b6c1aa8b238f9d32ada4b98e062d4 Mon Sep 17 00:00:00 2001 From: Fabian Vogelsteller Date: Mon, 6 Mar 2017 19:02:27 +0100 Subject: [PATCH] added better error reporting for subscription errors --- packages/web3-core-method/src/index.js | 7 +++---- packages/web3-core-requestManager/src/index.js | 2 +- packages/web3-providers-http/src/index.js | 4 ++-- packages/web3-providers-ipc/src/index.js | 2 +- packages/web3-providers-ws/src/index.js | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index b9a6357..fe92bc8 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -168,8 +168,7 @@ Method.prototype._confirmTransaction = function (defer, result, payload, extraFo isContractDeployment = _.isObject(payload.params[0]) && payload.params[0].data && payload.params[0].from && - !payload.params[0].to, - receiptError = 'Failed to check for transaction receipt:'; + !payload.params[0].to; // fire "receipt" and confirmation events and resolve after @@ -181,7 +180,7 @@ Method.prototype._confirmTransaction = function (defer, result, payload, extraFo .catch(function (err) { sub.unsubscribe(); promiseResolved = true; - utils._fireError({message: receiptError, data: err}, defer.eventEmitter, defer.reject); + utils._fireError({message: 'Failed to check for transaction receipt:', data: err}, defer.eventEmitter, defer.reject); }) // if CONFIRMATION listener exists check for confirmations, by setting canUnsubscribe = false .then(function(receipt) { @@ -294,7 +293,7 @@ Method.prototype._confirmTransaction = function (defer, result, payload, extraFo } else { sub.unsubscribe(); promiseResolved = true; - utils._fireError({message: receiptError, data: err}, defer.eventEmitter, defer.reject); + utils._fireError({message: 'Failed to subscribe to new newBlockHeaders to confirm the transactions receipt. Are you using HttpProvider? Please switch to Websockets.', data: err}, defer.eventEmitter, defer.reject); } }); }; diff --git a/packages/web3-core-requestManager/src/index.js b/packages/web3-core-requestManager/src/index.js index 168ab31..84a7d64 100644 --- a/packages/web3-core-requestManager/src/index.js +++ b/packages/web3-core-requestManager/src/index.js @@ -128,7 +128,7 @@ RequestManager.prototype.addSubscription = function (id, name, type, callback) { }; } else { - throw new Error('This provider doesn\'t support subscriptions', this.provider); + throw new Error('The provider doesn\'t support subscriptions: '+ this.provider.constructor.name); } }; diff --git a/packages/web3-providers-http/src/index.js b/packages/web3-providers-http/src/index.js index 2a04796..9e9d889 100644 --- a/packages/web3-providers-http/src/index.js +++ b/packages/web3-providers-http/src/index.js @@ -28,7 +28,7 @@ var XHR2 = require('xhr2'); // jshint ignore: line /** * HttpProvider should be used to send rpc calls over http */ -var HttpProvider = function (host, timeout) { +var HttpProvider = function HttpProvider(host, timeout) { this.host = host || 'http://localhost:8545'; this.timeout = timeout || 0; this.connected = false; @@ -38,7 +38,7 @@ var HttpProvider = function (host, timeout) { /** * Should be used to make async request * - * @method sendAsync + * @method send * @param {Object} payload * @param {Function} callback triggered on end with (err, result) */ diff --git a/packages/web3-providers-ipc/src/index.js b/packages/web3-providers-ipc/src/index.js index f2acf80..0662b5a 100644 --- a/packages/web3-providers-ipc/src/index.js +++ b/packages/web3-providers-ipc/src/index.js @@ -27,7 +27,7 @@ var errors = require('web3-core-helpers').errors; var oboe = require('oboe'); -var IpcProvider = function (path, net) { +var IpcProvider = function IpcProvider(path, net) { var _this = this; this.responseCallbacks = {}; this.notificationCallbacks = []; diff --git a/packages/web3-providers-ws/src/index.js b/packages/web3-providers-ws/src/index.js index db61676..156aaa5 100644 --- a/packages/web3-providers-ws/src/index.js +++ b/packages/web3-providers-ws/src/index.js @@ -29,7 +29,7 @@ if (typeof global !== 'undefined') // Default connection ws://localhost:8546 -var WebsocketProvider = function (path) { +var WebsocketProvider = function WebsocketProvider(path) { var _this = this; this.responseCallbacks = {}; this.notificationCallbacks = [];