aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/util.js
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-08-29 07:06:10 +0800
committerDan <danjm.com@gmail.com>2017-08-29 22:56:32 +0800
commitcd351e8aef59f314c170d0436d98aaf111db1c00 (patch)
tree202bab151cfebad2b199ea6d8b05489eedc5cfd8 /ui/app/util.js
parentdc72c4cc918934b8dafc253ca5e7c9674551aa51 (diff)
downloadtangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar.gz
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar.bz2
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar.lz
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar.xz
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.tar.zst
tangerine-wallet-browser-cd351e8aef59f314c170d0436d98aaf111db1c00.zip
Move getTaxBN and bnMultiplyByFraction to util.js
Diffstat (limited to 'ui/app/util.js')
-rw-r--r--ui/app/util.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/ui/app/util.js b/ui/app/util.js
index 4dd0e30f3..4b48db0ca 100644
--- a/ui/app/util.js
+++ b/ui/app/util.js
@@ -1,4 +1,5 @@
const ethUtil = require('ethereumjs-util')
+const hexToBn = require('../../app/scripts/lib/hex-to-bn')
const vreme = new (require('vreme'))()
// formatData :: ( date: <Unix Timestamp> ) -> String
@@ -43,6 +44,8 @@ module.exports = {
bnTable: bnTable,
isHex: isHex,
formatDate,
+ bnMultiplyByFraction,
+ getTxFeeBn,
}
function valuesFor (obj) {
@@ -222,3 +225,24 @@ function readableDate (ms) {
function isHex (str) {
return Boolean(str.match(/^(0x)?[0-9a-fA-F]+$/))
}
+
+function bnMultiplyByFraction (targetBN, numerator, denominator) {
+ const numBN = new ethUtil.BN(numerator)
+ const denomBN = new ethUtil.BN(denominator)
+ return targetBN.mul(numBN).div(denomBN)
+}
+
+function getTxFeeBn (gas, gasPrice = MIN_GAS_PRICE_BN.toString(16), blockGasLimit) {
+ const gasBn = hexToBn(gas)
+ const gasLimit = new ethUtil.BN(parseInt(blockGasLimit))
+ const safeGasLimit = bnMultiplyByFraction(gasLimit, 19, 20).toString(10)
+
+ // Gas Price
+ const gasPriceBn = hexToBn(gasPrice)
+ const txFeeBn = gasBn.mul(gasPriceBn)
+
+ const fiatMultiplier = hexToBn((1000000000).toString(16))
+ const txFeeAsFiatBn = txFeeBn.mul(fiatMultiplier)
+
+ return txFeeAsFiatBn;
+}