aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src
diff options
context:
space:
mode:
authorSteve Klebanoff <steve.klebanoff@gmail.com>2018-12-13 09:34:14 +0800
committerSteve Klebanoff <steve.klebanoff@gmail.com>2018-12-13 09:35:04 +0800
commit8d54772389b28dec021aa81423ac84795e132581 (patch)
treec8f4838b25bd041b7e4d9ead65b6c5da03e69210 /packages/instant/src
parent167a3fbc112120b6a583f3ec3c8fdd70d39df078 (diff)
downloaddexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar.gz
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar.bz2
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar.lz
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar.xz
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.tar.zst
dexon-sol-tools-8d54772389b28dec021aa81423ac84795e132581.zip
show < 0.00001 ETH when amount gets really small
Diffstat (limited to 'packages/instant/src')
-rw-r--r--packages/instant/src/util/format.ts21
1 files changed, 16 insertions, 5 deletions
diff --git a/packages/instant/src/util/format.ts b/packages/instant/src/util/format.ts
index 3aaf9a3a7..4adb63e21 100644
--- a/packages/instant/src/util/format.ts
+++ b/packages/instant/src/util/format.ts
@@ -20,14 +20,24 @@ export const format = {
ethUnitAmount?: BigNumber,
decimalPlaces: number = 4,
defaultText: React.ReactNode = '0 ETH',
+ minUnitAmountToDisplay: BigNumber = new BigNumber('0.00001'),
): React.ReactNode => {
if (_.isUndefined(ethUnitAmount)) {
return defaultText;
}
- const roundedAmount = ethUnitAmount.round(decimalPlaces).toDigits(decimalPlaces);
- // Sometimes for small ETH amounts (i.e. 0.000045) the amount rounded to 4 decimalPlaces is 0
- // If that is the case, show to 1 significant digit
- const displayAmount = roundedAmount.eq(BIG_NUMBER_ZERO) ? ethUnitAmount.toPrecision(1) : roundedAmount;
+ let roundedAmount = ethUnitAmount.round(decimalPlaces).toDigits(decimalPlaces);
+
+ if (roundedAmount.eq(BIG_NUMBER_ZERO) && ethUnitAmount.greaterThan(BIG_NUMBER_ZERO)) {
+ // Sometimes for small ETH amounts (i.e. 0.000045) the amount rounded to 4 decimalPlaces is 0
+ // If that is the case, show to 1 significant digit
+ roundedAmount = new BigNumber(ethUnitAmount.toPrecision(1));
+ }
+
+ const displayAmount =
+ roundedAmount.greaterThan(BIG_NUMBER_ZERO) && roundedAmount.lessThan(minUnitAmountToDisplay)
+ ? `< ${minUnitAmountToDisplay.toString()}`
+ : roundedAmount.toString();
+
return `${displayAmount} ETH`;
},
ethBaseUnitAmountInUsd: (
@@ -35,12 +45,13 @@ export const format = {
ethUsdPrice?: BigNumber,
decimalPlaces: number = 2,
defaultText: React.ReactNode = '$0.00',
+ minUnitAmountToDisplay: BigNumber = new BigNumber('0.00001'),
): React.ReactNode => {
if (_.isUndefined(ethBaseUnitAmount) || _.isUndefined(ethUsdPrice)) {
return defaultText;
}
const ethUnitAmount = Web3Wrapper.toUnitAmount(ethBaseUnitAmount, ETH_DECIMALS);
- return format.ethUnitAmountInUsd(ethUnitAmount, ethUsdPrice, decimalPlaces);
+ return format.ethUnitAmountInUsd(ethUnitAmount, ethUsdPrice, decimalPlaces, minUnitAmountToDisplay);
},
ethUnitAmountInUsd: (
ethUnitAmount?: BigNumber,