mirror of
https://github.com/status-im/web3.js.git
synced 2025-02-24 03:58:13 +00:00
commit
ac696408f2
86
dist/web3-light.js
vendored
86
dist/web3-light.js
vendored
@ -1621,24 +1621,24 @@ module.exports = {
|
||||
* @date 2015
|
||||
*/
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
|
||||
module.exports = {
|
||||
InvalidNumberOfParams: new Error('Invalid number of input parameters'),
|
||||
InvalidProvider: new Error('Providor not set or invalid'),
|
||||
InvalidResponse: function(result){
|
||||
var message = 'Invalid JSON RPC response';
|
||||
|
||||
if(utils.isObject(result) && result.error && result.error.message) {
|
||||
message = result.error.message;
|
||||
}
|
||||
|
||||
InvalidNumberOfParams: function () {
|
||||
return new Error('Invalid number of input parameters');
|
||||
},
|
||||
InvalidConnection: function (host){
|
||||
return new Error('CONNECTION ERROR: Couldn\'t connect to node '+ host +', is it running?');
|
||||
},
|
||||
InvalidProvider: function () {
|
||||
return new Error('Providor not set or invalid');
|
||||
},
|
||||
InvalidResponse: function (result){
|
||||
var message = !!result && !!result.error && !!result.error.message ? result.error.message : 'Invalid JSON RPC response';
|
||||
return new Error(message);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
},{"../utils/utils":7}],13:[function(require,module,exports){
|
||||
},{}],13:[function(require,module,exports){
|
||||
/*
|
||||
This file is part of ethereum.js.
|
||||
|
||||
@ -2123,6 +2123,20 @@ Filter.prototype.watch = function (callback) {
|
||||
});
|
||||
};
|
||||
|
||||
// call getFilterLogs on start
|
||||
if (!utils.isString(this.options)) {
|
||||
this.get(function (err, messages) {
|
||||
// don't send all the responses to all the watches again... just to this one
|
||||
if (err) {
|
||||
callback(err);
|
||||
}
|
||||
|
||||
messages.forEach(function (message) {
|
||||
callback(null, message);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
RequestManager.getInstance().startPolling({
|
||||
method: this.implementation.poll.call,
|
||||
params: [this.filterId],
|
||||
@ -2135,12 +2149,24 @@ Filter.prototype.stopWatching = function () {
|
||||
this.callbacks = [];
|
||||
};
|
||||
|
||||
Filter.prototype.get = function () {
|
||||
var logs = this.implementation.getLogs(this.filterId);
|
||||
Filter.prototype.get = function (callback) {
|
||||
var self = this;
|
||||
return logs.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
});
|
||||
if (utils.isFunction(callback)) {
|
||||
this.implementation.getLogs(this.filterId, function(err, res){
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
callback(null, res.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
}));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var logs = this.implementation.getLogs(this.filterId);
|
||||
return logs.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = Filter;
|
||||
@ -2387,6 +2413,7 @@ module.exports = {
|
||||
"use strict";
|
||||
|
||||
var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest; // jshint ignore:line
|
||||
var errors = require('./errors');
|
||||
|
||||
var HttpProvider = function (host) {
|
||||
this.host = host || 'http://localhost:8080';
|
||||
@ -2396,7 +2423,13 @@ HttpProvider.prototype.send = function (payload) {
|
||||
var request = new XMLHttpRequest();
|
||||
|
||||
request.open('POST', this.host, false);
|
||||
request.send(JSON.stringify(payload));
|
||||
|
||||
try {
|
||||
request.send(JSON.stringify(payload));
|
||||
} catch(error) {
|
||||
throw errors.InvalidConnection(this.host);
|
||||
}
|
||||
|
||||
|
||||
// check request.status
|
||||
// TODO: throw an error here! it cannot silently fail!!!
|
||||
@ -2416,13 +2449,18 @@ HttpProvider.prototype.sendAsync = function (payload, callback) {
|
||||
};
|
||||
|
||||
request.open('POST', this.host, true);
|
||||
request.send(JSON.stringify(payload));
|
||||
|
||||
try {
|
||||
request.send(JSON.stringify(payload));
|
||||
} catch(error) {
|
||||
callback(errors.InvalidConnection(this.host));
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = HttpProvider;
|
||||
|
||||
|
||||
},{"xmlhttprequest":5}],18:[function(require,module,exports){
|
||||
},{"./errors":12,"xmlhttprequest":5}],18:[function(require,module,exports){
|
||||
/*
|
||||
This file is part of ethereum.js.
|
||||
|
||||
@ -2584,7 +2622,7 @@ Method.prototype.extractCallback = function (args) {
|
||||
*/
|
||||
Method.prototype.validateArgs = function (args) {
|
||||
if (args.length !== this.params) {
|
||||
throw errors.InvalidNumberOfParams;
|
||||
throw errors.InvalidNumberOfParams();
|
||||
}
|
||||
};
|
||||
|
||||
@ -2935,7 +2973,7 @@ RequestManager.getInstance = function () {
|
||||
*/
|
||||
RequestManager.prototype.send = function (data) {
|
||||
if (!this.provider) {
|
||||
console.error(errors.InvalidProvider);
|
||||
console.error(errors.InvalidProvider());
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -2958,7 +2996,7 @@ RequestManager.prototype.send = function (data) {
|
||||
*/
|
||||
RequestManager.prototype.sendAsync = function (data, callback) {
|
||||
if (!this.provider) {
|
||||
return callback(errors.InvalidProvider);
|
||||
return callback(errors.InvalidProvider());
|
||||
}
|
||||
|
||||
var payload = Jsonrpc.getInstance().toPayload(data.method, data.params);
|
||||
@ -3049,7 +3087,7 @@ RequestManager.prototype.poll = function () {
|
||||
}
|
||||
|
||||
if (!this.provider) {
|
||||
console.error(errors.InvalidProvider);
|
||||
console.error(errors.InvalidProvider());
|
||||
return;
|
||||
}
|
||||
|
||||
|
12
dist/web3-light.js.map
vendored
12
dist/web3-light.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/web3-light.min.js
vendored
2
dist/web3-light.min.js
vendored
File diff suppressed because one or more lines are too long
5438
dist/web3.js
vendored
5438
dist/web3.js
vendored
File diff suppressed because it is too large
Load Diff
16
dist/web3.js.map
vendored
16
dist/web3.js.map
vendored
File diff suppressed because one or more lines are too long
5
dist/web3.min.js
vendored
5
dist/web3.min.js
vendored
File diff suppressed because one or more lines are too long
@ -20,18 +20,18 @@
|
||||
* @date 2015
|
||||
*/
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
|
||||
module.exports = {
|
||||
InvalidNumberOfParams: new Error('Invalid number of input parameters'),
|
||||
InvalidProvider: new Error('Providor not set or invalid'),
|
||||
InvalidResponse: function(result){
|
||||
var message = 'Invalid JSON RPC response';
|
||||
|
||||
if(utils.isObject(result) && result.error && result.error.message) {
|
||||
message = result.error.message;
|
||||
}
|
||||
|
||||
InvalidNumberOfParams: function () {
|
||||
return new Error('Invalid number of input parameters');
|
||||
},
|
||||
InvalidConnection: function (host){
|
||||
return new Error('CONNECTION ERROR: Couldn\'t connect to node '+ host +', is it running?');
|
||||
},
|
||||
InvalidProvider: function () {
|
||||
return new Error('Providor not set or invalid');
|
||||
},
|
||||
InvalidResponse: function (result){
|
||||
var message = !!result && !!result.error && !!result.error.message ? result.error.message : 'Invalid JSON RPC response';
|
||||
return new Error(message);
|
||||
}
|
||||
};
|
||||
|
@ -86,6 +86,20 @@ Filter.prototype.watch = function (callback) {
|
||||
});
|
||||
};
|
||||
|
||||
// call getFilterLogs on start
|
||||
if (!utils.isString(this.options)) {
|
||||
this.get(function (err, messages) {
|
||||
// don't send all the responses to all the watches again... just to this one
|
||||
if (err) {
|
||||
callback(err);
|
||||
}
|
||||
|
||||
messages.forEach(function (message) {
|
||||
callback(null, message);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
RequestManager.getInstance().startPolling({
|
||||
method: this.implementation.poll.call,
|
||||
params: [this.filterId],
|
||||
@ -98,12 +112,24 @@ Filter.prototype.stopWatching = function () {
|
||||
this.callbacks = [];
|
||||
};
|
||||
|
||||
Filter.prototype.get = function () {
|
||||
var logs = this.implementation.getLogs(this.filterId);
|
||||
Filter.prototype.get = function (callback) {
|
||||
var self = this;
|
||||
return logs.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
});
|
||||
if (utils.isFunction(callback)) {
|
||||
this.implementation.getLogs(this.filterId, function(err, res){
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
callback(null, res.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
}));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var logs = this.implementation.getLogs(this.filterId);
|
||||
return logs.map(function (log) {
|
||||
return self.formatter ? self.formatter(log) : log;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = Filter;
|
||||
|
@ -25,6 +25,7 @@
|
||||
"use strict";
|
||||
|
||||
var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest; // jshint ignore:line
|
||||
var errors = require('./errors');
|
||||
|
||||
var HttpProvider = function (host) {
|
||||
this.host = host || 'http://localhost:8080';
|
||||
@ -34,7 +35,13 @@ HttpProvider.prototype.send = function (payload) {
|
||||
var request = new XMLHttpRequest();
|
||||
|
||||
request.open('POST', this.host, false);
|
||||
request.send(JSON.stringify(payload));
|
||||
|
||||
try {
|
||||
request.send(JSON.stringify(payload));
|
||||
} catch(error) {
|
||||
throw errors.InvalidConnection(this.host);
|
||||
}
|
||||
|
||||
|
||||
// check request.status
|
||||
// TODO: throw an error here! it cannot silently fail!!!
|
||||
@ -54,7 +61,12 @@ HttpProvider.prototype.sendAsync = function (payload, callback) {
|
||||
};
|
||||
|
||||
request.open('POST', this.host, true);
|
||||
request.send(JSON.stringify(payload));
|
||||
|
||||
try {
|
||||
request.send(JSON.stringify(payload));
|
||||
} catch(error) {
|
||||
callback(errors.InvalidConnection(this.host));
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = HttpProvider;
|
||||
|
@ -66,7 +66,7 @@ Method.prototype.extractCallback = function (args) {
|
||||
*/
|
||||
Method.prototype.validateArgs = function (args) {
|
||||
if (args.length !== this.params) {
|
||||
throw errors.InvalidNumberOfParams;
|
||||
throw errors.InvalidNumberOfParams();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -65,7 +65,7 @@ RequestManager.getInstance = function () {
|
||||
*/
|
||||
RequestManager.prototype.send = function (data) {
|
||||
if (!this.provider) {
|
||||
console.error(errors.InvalidProvider);
|
||||
console.error(errors.InvalidProvider());
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ RequestManager.prototype.send = function (data) {
|
||||
*/
|
||||
RequestManager.prototype.sendAsync = function (data, callback) {
|
||||
if (!this.provider) {
|
||||
return callback(errors.InvalidProvider);
|
||||
return callback(errors.InvalidProvider());
|
||||
}
|
||||
|
||||
var payload = Jsonrpc.getInstance().toPayload(data.method, data.params);
|
||||
@ -179,7 +179,7 @@ RequestManager.prototype.poll = function () {
|
||||
}
|
||||
|
||||
if (!this.provider) {
|
||||
console.error(errors.InvalidProvider);
|
||||
console.error(errors.InvalidProvider());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,22 @@ describe('web3.eth.contract', function () {
|
||||
],
|
||||
address: '0x1234567890123456789012345678901234567890'
|
||||
});
|
||||
} else if (step === 2 && utils.isArray(payload)) {
|
||||
} else if (step === 2) {
|
||||
step = 3;
|
||||
provider.injectResult([{
|
||||
address: address,
|
||||
topics: [
|
||||
sha3,
|
||||
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000001'
|
||||
],
|
||||
number: 2,
|
||||
data: '0x0000000000000000000000000000000000000000000000000000000000000001' +
|
||||
'0000000000000000000000000000000000000000000000000000000000000008'
|
||||
}]);
|
||||
assert.equal(payload.jsonrpc, '2.0');
|
||||
assert.equal(payload.method, 'eth_getFilterLogs');
|
||||
} else if (step === 3 && utils.isArray(payload)) {
|
||||
provider.injectBatchResults([[{
|
||||
address: address,
|
||||
topics: [
|
||||
@ -89,12 +104,16 @@ describe('web3.eth.contract', function () {
|
||||
var Contract = web3.eth.contract(desc);
|
||||
var contract = new Contract(address);
|
||||
|
||||
var res = 0;
|
||||
contract.Changed({from: address}).watch(function(err, result) {
|
||||
assert.equal(result.args.from, address);
|
||||
assert.equal(result.args.amount, 1);
|
||||
assert.equal(result.args.t1, 1);
|
||||
assert.equal(result.args.t2, 8);
|
||||
done();
|
||||
res++;
|
||||
if (res === 2) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -39,8 +39,8 @@ describe('lib/web3/method', function () {
|
||||
var test2 = function () { method.validateArgs(args2); };
|
||||
|
||||
// then
|
||||
assert.throws(test, errors.InvalidNumberOfParams);
|
||||
assert.throws(test2, errors.InvalidNumberOfParams);
|
||||
assert.throws(test, errors.InvalidNumberOfParams().message);
|
||||
assert.throws(test2, errors.InvalidNumberOfParams().message);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user