diff --git a/lib/wallet.js b/lib/wallet.js index 580c3173e..131fd80ca 100644 --- a/lib/wallet.js +++ b/lib/wallet.js @@ -236,12 +236,14 @@ var zero = new utils.BN(0); var negative1 = new utils.BN(-1); var tenPower18 = new utils.BN('1000000000000000000'); utils.defineProperty(Wallet, 'formatEther', function(wei, options) { + if (typeof(wei) === 'number') { // @TODO: Warn if truncation will occur? wei = new utils.BN(wei); } else if (utils.isHexString(wei)) { - wei = new utils.BN(wei.substring(2)); + wei = new utils.BN(wei.substring(2), 16); } + if (!options) { options = {}; } if (!(wei instanceof utils.BN)) { throw new Error('invalid wei'); }