diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-08-09 07:23:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-09 07:23:14 +0800 |
commit | 922ecb914963c420ef2acdb9e2db91444065f62f (patch) | |
tree | 9135982572ae502242d5cce39890593f1fec68f8 /app/scripts/lib/util.js | |
parent | 67e4855b9d79afb3046c6499f4610cb5a8b70837 (diff) | |
parent | 7db1f30590c9dbd01456517ebf0a24e1f76ddd40 (diff) | |
download | tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar.gz tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar.bz2 tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar.lz tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar.xz tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.tar.zst tangerine-wallet-browser-922ecb914963c420ef2acdb9e2db91444065f62f.zip |
Merge branch 'master' into greenkeeper/initial
Diffstat (limited to 'app/scripts/lib/util.js')
-rw-r--r-- | app/scripts/lib/util.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/scripts/lib/util.js b/app/scripts/lib/util.js index bddd60ee8..70390e95c 100644 --- a/app/scripts/lib/util.js +++ b/app/scripts/lib/util.js @@ -1,8 +1,39 @@ +const ethUtil = require('ethereumjs-util') +const BN = ethUtil.BN + module.exports = { getStack, + sufficientBalance, + hexToBn, + bnToHex, + BnMultiplyByFraction, } function getStack () { const stack = new Error('Stack trace generator - not an error').stack return stack } + +function sufficientBalance (txParams, hexBalance) { + const balance = hexToBn(hexBalance) + const value = hexToBn(txParams.value) + const gasLimit = hexToBn(txParams.gas) + const gasPrice = hexToBn(txParams.gasPrice) + + const maxCost = value.add(gasLimit.mul(gasPrice)) + return balance.gte(maxCost) +} + +function bnToHex (inputBn) { + return ethUtil.addHexPrefix(inputBn.toString(16)) +} + +function hexToBn (inputHex) { + return new BN(ethUtil.stripHexPrefix(inputHex), 16) +} + +function BnMultiplyByFraction (targetBN, numerator, denominator) { + const numBN = new BN(numerator) + const denomBN = new BN(denominator) + return targetBN.mul(numBN).div(denomBN) +} |