From ec74fc05d438806ece64fe34b0f28c8f45f5167e Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Thu, 15 Jan 2015 16:01:58 +0100 Subject: gulp --- dist/ethereum.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'dist/ethereum.js') diff --git a/dist/ethereum.js b/dist/ethereum.js index 204eb0dde..f4e0e6eac 100644 --- a/dist/ethereum.js +++ b/dist/ethereum.js @@ -58,9 +58,10 @@ var findMethodIndex = function (json, methodName) { /// @param string string to be padded /// @param number of characters that result string should have +/// @param sign, by default 0 /// @returns right aligned string -var padLeft = function (string, chars) { - return new Array(chars - string.length + 1).join("0") + string; +var padLeft = function (string, chars, sign) { + return new Array(chars - string.length + 1).join(sign ? sign : "0") + string; }; /// @param expected type prefix (string) @@ -87,8 +88,17 @@ var setupInputTypes = function () { /// @returns right-aligned byte representation of int var formatInt = function (value) { var padding = 32 * 2; - if (typeof value === 'number') + if (typeof value === 'number') { + if (value < 0) { + + // two's complement + // TODO: fix big numbers support + value = ((value) >>> 0).toString(16); + return padLeft(value, padding, 'f'); + } value = value.toString(16); + + } else if (value.indexOf('0x') === 0) value = value.substr(2); else if (typeof value === 'string') -- cgit v1.2.3