Socket
Socket
Sign inDemoInstall

ethjs-rpc

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ethjs-rpc - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

8

CHANGELOG.md

@@ -0,1 +1,9 @@

# 0.1.3 -- handle 405
1. Handle 405 errors better form the provider
# 0.1.2 -- louder errors
1. Louder errors
# 0.1.1 -- handle errors better

@@ -2,0 +10,0 @@

26

dist/ethjs-rpc.js

@@ -121,14 +121,20 @@ /* eslint-disable */

var parsedPayload = createPayload(payload, self.idCounter++);
self.currentProvider.sendAsync(parsedPayload, function (err, response) {
var responseObject = response || {};
try {
self.currentProvider.sendAsync(parsedPayload, function (err, response) {
var responseObject = response || {};
if (err || responseObject.error) {
var payloadErrorMessage = '[ethjs-rpc] ' + (responseObject.error && 'rpc' || '') + ' error with payload ' + JSON.stringify(parsedPayload, null, self.options.jsonSpace) + ' ' + (String(err) || JSON.stringify(responseObject.error, null, self.options.jsonSpace));
var payloadError = new Error(payloadErrorMessage);
payloadError.value = err || responseObject.error;
return cb(payloadError, null);
}
if (err || responseObject.error) {
var payloadErrorMessage = '[ethjs-rpc] ' + (responseObject.error && 'rpc' || '') + ' error with payload ' + JSON.stringify(parsedPayload, null, self.options.jsonSpace) + ' ' + (String(err) || JSON.stringify(responseObject.error, null, self.options.jsonSpace));
var payloadError = new Error(payloadErrorMessage);
payloadError.value = err || responseObject.error;
return cb(payloadError, null);
}
return cb(null, responseObject.result);
});
return cb(null, responseObject.result);
});
} catch (errorValue) {
var sendAsyncError = new Error('[ethjs-rpc] error while sending async request to provider..');
sendAsyncError.value = errorValue;
cb(sendAsyncError, null);
}
};

@@ -135,0 +141,0 @@

@@ -1,1 +0,1 @@

!function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("EthRPC",[],r):"object"==typeof exports?exports.EthRPC=r():t.EthRPC=r()}(this,function(){return function(t){function r(o){if(e[o])return e[o].exports;var n=e[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var e={};return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,r,e){Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:e})},r.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},r.p="",r(r.s=0)}([function(t,r){"use strict";function e(t,r){var o=this,n=r||{};if(!(this instanceof e))throw Error('[ethjs-rpc] the EthRPC object requires the "new" flag in order to function normally (i.e. `const eth = new EthRPC(provider);`).');o.options=Object.assign({jsonSpace:n.jsonSpace||0,max:n.max||9999999999999}),o.idCounter=Math.floor(Math.random()*o.options.max),(o.setProvider=function(t){if("object"!=typeof t)throw Error("[ethjs-rpc] the EthRPC object requires that the first input 'provider' must be an object, got '"+typeof t+"' (i.e. 'const eth = new EthRPC(provider);')");o.currentProvider=t})(t)}function o(t,r){return Object.assign({},{id:r,jsonrpc:"2.0",params:[]},t)}t.exports=e,e.prototype.sendAsync=function(t,r){var e=this;e.idCounter=e.idCounter%e.options.max;var n=o(t,e.idCounter++);e.currentProvider.sendAsync(n,function(t,o){var i=o||{};if(t||i.error){var s="[ethjs-rpc] "+(i.error&&"rpc"||"")+" error with payload "+JSON.stringify(n,null,e.options.jsonSpace)+" "+(t+""||JSON.stringify(i.error,null,e.options.jsonSpace)),c=Error(s);return c.value=t||i.error,r(c,null)}return r(null,i.result)})}}])});
!function(r,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("EthRPC",[],t):"object"==typeof exports?exports.EthRPC=t():r.EthRPC=t()}(this,function(){return function(r){function t(o){if(e[o])return e[o].exports;var n=e[o]={i:o,l:!1,exports:{}};return r[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var e={};return t.m=r,t.c=e,t.i=function(r){return r},t.d=function(r,t,e){Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:e})},t.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},t.p="",t(t.s=0)}([function(r,t){"use strict";function e(r,t){var o=this,n=t||{};if(!(this instanceof e))throw Error('[ethjs-rpc] the EthRPC object requires the "new" flag in order to function normally (i.e. `const eth = new EthRPC(provider);`).');o.options=Object.assign({jsonSpace:n.jsonSpace||0,max:n.max||9999999999999}),o.idCounter=Math.floor(Math.random()*o.options.max),(o.setProvider=function(r){if("object"!=typeof r)throw Error("[ethjs-rpc] the EthRPC object requires that the first input 'provider' must be an object, got '"+typeof r+"' (i.e. 'const eth = new EthRPC(provider);')");o.currentProvider=r})(r)}function o(r,t){return Object.assign({},{id:t,jsonrpc:"2.0",params:[]},r)}r.exports=e,e.prototype.sendAsync=function(r,t){var e=this;e.idCounter=e.idCounter%e.options.max;var n=o(r,e.idCounter++);try{e.currentProvider.sendAsync(n,function(r,o){var i=o||{};if(r||i.error){var s="[ethjs-rpc] "+(i.error&&"rpc"||"")+" error with payload "+JSON.stringify(n,null,e.options.jsonSpace)+" "+(r+""||JSON.stringify(i.error,null,e.options.jsonSpace)),c=Error(s);return c.value=r||i.error,t(c,null)}return t(null,i.result)})}catch(i){var s=Error("[ethjs-rpc] error while sending async request to provider..");s.value=i,t(s,null)}}}])});

@@ -48,14 +48,20 @@ 'use strict';

var parsedPayload = createPayload(payload, self.idCounter++);
self.currentProvider.sendAsync(parsedPayload, function (err, response) {
var responseObject = response || {};
try {
self.currentProvider.sendAsync(parsedPayload, function (err, response) {
var responseObject = response || {};
if (err || responseObject.error) {
var payloadErrorMessage = '[ethjs-rpc] ' + (responseObject.error && 'rpc' || '') + ' error with payload ' + JSON.stringify(parsedPayload, null, self.options.jsonSpace) + ' ' + (String(err) || JSON.stringify(responseObject.error, null, self.options.jsonSpace));
var payloadError = new Error(payloadErrorMessage);
payloadError.value = err || responseObject.error;
return cb(payloadError, null);
}
if (err || responseObject.error) {
var payloadErrorMessage = '[ethjs-rpc] ' + (responseObject.error && 'rpc' || '') + ' error with payload ' + JSON.stringify(parsedPayload, null, self.options.jsonSpace) + ' ' + (String(err) || JSON.stringify(responseObject.error, null, self.options.jsonSpace));
var payloadError = new Error(payloadErrorMessage);
payloadError.value = err || responseObject.error;
return cb(payloadError, null);
}
return cb(null, responseObject.result);
});
return cb(null, responseObject.result);
});
} catch (errorValue) {
var sendAsyncError = new Error('[ethjs-rpc] error while sending async request to provider..');
sendAsyncError.value = errorValue;
cb(sendAsyncError, null);
}
};

@@ -62,0 +68,0 @@

@@ -70,2 +70,13 @@ 'use strict';

it('should handle 405 invalid errors', function (done) {
var eth = new EthRPC({ sendAsync: function sendAsync() {
throw new Error('something!');
} });
eth.sendAsync({ method: 'eth_accounts' }, function (err, accounts1) {
assert.equal(typeof err, 'object');
assert.equal(accounts1, null);
done();
});
});
it('should handle invalid errors', function (done) {

@@ -72,0 +83,0 @@ var eth = new EthRPC({ sendAsync: function sendAsync(payload, cb) {

{
"name": "ethjs-rpc",
"version": "0.1.2",
"version": "0.1.3",
"description": "A super simple module for querying the Ethereum RPC layer without formatting.",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -42,14 +42,20 @@ module.exports = EthRPC;

const parsedPayload = createPayload(payload, self.idCounter++);
self.currentProvider.sendAsync(parsedPayload, (err, response) => {
const responseObject = response || {};
try {
self.currentProvider.sendAsync(parsedPayload, (err, response) => {
const responseObject = response || {};
if (err || responseObject.error) {
const payloadErrorMessage = `[ethjs-rpc] ${(responseObject.error && 'rpc' || '')} error with payload ${JSON.stringify(parsedPayload, null, self.options.jsonSpace)} ${String(err) || (JSON.stringify(responseObject.error, null, self.options.jsonSpace))}`;
const payloadError = new Error(payloadErrorMessage);
payloadError.value = (err || responseObject.error);
return cb(payloadError, null);
}
if (err || responseObject.error) {
const payloadErrorMessage = `[ethjs-rpc] ${(responseObject.error && 'rpc' || '')} error with payload ${JSON.stringify(parsedPayload, null, self.options.jsonSpace)} ${String(err) || (JSON.stringify(responseObject.error, null, self.options.jsonSpace))}`;
const payloadError = new Error(payloadErrorMessage);
payloadError.value = (err || responseObject.error);
return cb(payloadError, null);
}
return cb(null, responseObject.result);
});
return cb(null, responseObject.result);
});
} catch (errorValue) {
const sendAsyncError = new Error('[ethjs-rpc] error while sending async request to provider..');
sendAsyncError.value = errorValue;
cb(sendAsyncError, null);
}
};

@@ -56,0 +62,0 @@

@@ -64,2 +64,13 @@ const EthRPC = require('../index.js');

it('should handle 405 invalid errors', (done) => {
const eth = new EthRPC({ sendAsync: () => {
throw new Error('something!');
} });
eth.sendAsync({ method: 'eth_accounts' }, (err, accounts1) => {
assert.equal(typeof err, 'object');
assert.equal(accounts1, null);
done();
});
});
it('should handle invalid errors', (done) => {

@@ -66,0 +77,0 @@ const eth = new EthRPC({ sendAsync: (payload, cb) => {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc