Fix for JS API formatting.

This commit is contained in:
Gav Wood 2015-01-13 11:04:31 +00:00
parent 9a9987aeed
commit e95bb34ea0
1 changed files with 15 additions and 11 deletions

View File

@ -84,6 +84,18 @@ var calcRealPadding = function (type, expected) {
var setupInputTypes = function () {
// convert from int, decimal-string, prefixed hex string whatever into a bare hex string.
var formatStandard = function (value) {
if (typeof value === "number")
return value.toString(16);
else if (typeof value === "string" && value.indexOf('0x') === 0)
return value.substr(2);
else if (typeof value === "string")
return web3.toHex(value);
else
return (+value).toString(16);
};
var prefixedType = function (prefix, calcPadding) {
return function (type, value) {
var expected = prefix;
@ -98,15 +110,7 @@ var setupInputTypes = function () {
if (prefix === "string")
return web3.fromAscii(value, padding).substr(2);
if (typeof value === "number")
value = value.toString(16);
else if (typeof value === "string")
value = web3.toHex(value);
else if (value.indexOf('0x') === 0)
value = value.substr(2);
else
value = (+value).toString(16);
return padLeft(value, padding * 2);
return padLeft(formatStandard(value), padding * 2);
};
};
@ -123,7 +127,7 @@ var setupInputTypes = function () {
};
var formatBool = function (value) {
return value ? '0x1' : '0x0';
return value ? '01' : '00';
};
return [
@ -133,7 +137,7 @@ var setupInputTypes = function () {
prefixedType('string', calcBytePadding),
prefixedType('real', calcRealPadding),
prefixedType('ureal', calcRealPadding),
namedType('address', 20),
namedType('address', 20, formatStandard),
namedType('bool', 1, formatBool),
];
};