diff options
author | frankiebee <frankie.diamond@gmail.com> | 2017-08-05 01:55:00 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2017-08-05 01:55:00 +0800 |
commit | caee2a9e35c0e80efed9da0798cb75044db6c920 (patch) | |
tree | 56184228fcb8dd9cb74027ca9ea4a1c5be12ddf1 | |
parent | 3dcc199845f4026cc4d02f9f760332ac9752ff69 (diff) | |
download | tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar.gz tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar.bz2 tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar.lz tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar.xz tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.tar.zst tangerine-wallet-browser-caee2a9e35c0e80efed9da0798cb75044db6c920.zip |
move util functions to util.js
-rw-r--r-- | app/scripts/lib/tx-utils.js | 41 | ||||
-rw-r--r-- | app/scripts/lib/util.js | 31 |
2 files changed, 40 insertions, 32 deletions
diff --git a/app/scripts/lib/tx-utils.js b/app/scripts/lib/tx-utils.js index 3687a9652..a2db4abd8 100644 --- a/app/scripts/lib/tx-utils.js +++ b/app/scripts/lib/tx-utils.js @@ -1,7 +1,11 @@ -const ethUtil = require('ethereumjs-util') +const EthQuery = require('ethjs-query') const Transaction = require('ethereumjs-tx') const normalize = require('eth-sig-util').normalize -const BN = ethUtil.BN +const { + hexToBn, + BnMultiplyByFraction, + bnToHex, +} = require('./util') /* tx-utils are utility methods for Transaction manager @@ -10,8 +14,8 @@ and used to do things like calculate gas of a tx. */ module.exports = class txProvideUtils { - constructor (ethQuery) { - this.query = ethQuery + constructor (provider) { + this.query = new EthQuery(provider) } async analyzeGasUsage (txMeta) { @@ -91,31 +95,4 @@ module.exports = class txProvideUtils { throw new Error(`Invalid transaction value of ${txParams.value} not a positive number.`) } } - - 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) - } - -} - -// util - -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) -} +}
\ No newline at end of file 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) +} |