aboutsummaryrefslogtreecommitdiffstats
path: root/lib/web3.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/web3.js')
-rw-r--r--lib/web3.js96
1 files changed, 61 insertions, 35 deletions
diff --git a/lib/web3.js b/lib/web3.js
index f071eea49..58bcc0c3f 100644
--- a/lib/web3.js
+++ b/lib/web3.js
@@ -169,22 +169,32 @@ var shhWatchMethods = function () {
var setupMethods = function (obj, methods) {
methods.forEach(function (method) {
obj[method.name] = function () {
- return flattenPromise(Array.prototype.slice.call(arguments)).then(function (args) {
- var call = typeof method.call === "function" ? method.call(args) : method.call;
- return {call: call, args: args};
- }).then(function (request) {
- return new Promise(function (resolve, reject) {
- web3.provider.send(request, function (err, result) {
- if (!err) {
- resolve(result);
- return;
- }
- reject(err);
- });
- });
- }).catch(function(err) {
- console.error(err);
+ var args = Array.prototype.slice.call(arguments);
+ var call = typeof method.call === 'function' ? method.call(args) : method.call;
+ var result = web3.provider.send({
+ call: call,
+ args: args
});
+
+ result = JSON.parse(result);
+ return result.result;
+
+ //return flattenPromise(Array.prototype.slice.call(arguments)).then(function (args) {
+ //var call = typeof method.call === "function" ? method.call(args) : method.call;
+ //return {call: call, args: args};
+ //}).then(function (request) {
+ //return new Promise(function (resolve, reject) {
+ //web3.provider.send(request, function (err, result) {
+ //if (!err) {
+ //resolve(result);
+ //return;
+ //}
+ //reject(err);
+ //});
+ //});
+ //}).catch(function(err) {
+ //console.error(err);
+ //});
};
});
};
@@ -195,31 +205,47 @@ var setupProperties = function (obj, properties) {
properties.forEach(function (property) {
var proto = {};
proto.get = function () {
- return new Promise(function(resolve, reject) {
- web3.provider.send({call: property.getter}, function(err, result) {
- if (!err) {
- resolve(result);
- return;
- }
- reject(err);
- });
+ var result = web3.provider.send({
+ call: property.getter
});
+
+ result = JSON.parse(result);
+ return result.result;
+
+
+ //return new Promise(function(resolve, reject) {
+ //web3.provider.send({call: property.getter}, function(err, result) {
+ //if (!err) {
+ //resolve(result);
+ //return;
+ //}
+ //reject(err);
+ //});
+ //});
};
if (property.setter) {
proto.set = function (val) {
- return flattenPromise([val]).then(function (args) {
- return new Promise(function (resolve) {
- web3.provider.send({call: property.setter, args: args}, function (err, result) {
- if (!err) {
- resolve(result);
- return;
- }
- reject(err);
- });
- });
- }).catch(function (err) {
- console.error(err);
+ var result = web3.provider.send({
+ call: property.setter,
+ args: [val]
});
+
+ result = JSON.parse(result);
+ return result.result;
+
+ //return flattenPromise([val]).then(function (args) {
+ //return new Promise(function (resolve) {
+ //web3.provider.send({call: property.setter, args: args}, function (err, result) {
+ //if (!err) {
+ //resolve(result);
+ //return;
+ //}
+ //reject(err);
+ //});
+ //});
+ //}).catch(function (err) {
+ //console.error(err);
+ //});
};
}
Object.defineProperty(obj, property.name, proto);