aboutsummaryrefslogtreecommitdiffstats
path: root/dist/ethereum.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/ethereum.js')
-rw-r--r--dist/ethereum.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/dist/ethereum.js b/dist/ethereum.js
index f3d53ed30..66865ffb7 100644
--- a/dist/ethereum.js
+++ b/dist/ethereum.js
@@ -252,7 +252,7 @@ var formatOutputAddress = function (value) {
};
var dynamicBytesLength = function (type) {
- if (arrayType(type) || prefixedType('string')(type))
+ if (arrayType(type) || type == 'string') // only string itself that is dynamic; stringX is static length.
return ETH_PADDING * 2;
return 0;
};
@@ -501,6 +501,7 @@ var contract = function (address, desc) {
options.data = signature + parsed;
var isTransact = result._isTransact === true || (result._isTransact !== false && !method.constant);
+ var collapse = options.collapse !== false;
// reset
result._options = {};
@@ -518,7 +519,15 @@ var contract = function (address, desc) {
}
var output = web3.eth.call(options);
- return outputParser[displayName][typeName](output);
+ var ret = outputParser[displayName][typeName](output);
+ if (collapse)
+ {
+ if (ret.length == 1)
+ ret = ret[0];
+ else if (ret.length == 0)
+ ret = null;
+ }
+ return ret;
};
if (result[displayName] === undefined) {