You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-wallet/src/utils/fiatConverter.js

39 lines
1.0 KiB

5 years ago
import BigNumber from 'bignumber.js';
const toFiatCurrency = (amount, fiatCurrency, networkRates) => {
// calculate amount in local currency
if (!networkRates || !networkRates.rates || !amount) {
return '';
}
const rate = networkRates.rates[fiatCurrency];
if (!rate) {
return '';
}
const formattedAmount = amount.replace(',', '.');
let localAmount = BigNumber(formattedAmount).times(rate);
5 years ago
localAmount = localAmount.isNaN() ? '' : localAmount.toFixed(2);
return localAmount;
};
const fromFiatCurrency = (localAmount, fiatCurrency, networkRates, decimals) => {
if (!networkRates || !networkRates.rates || !localAmount) {
return '';
}
const rate = networkRates.rates[fiatCurrency];
if (!rate) {
return '';
}
const formattedLocalAmount = localAmount.replace(',', '.');
let amount = BigNumber(formattedLocalAmount).div(rate);
5 years ago
amount = amount.isNaN() ? '' : amount.toFixed(decimals);
return amount;
};
export { toFiatCurrency, fromFiatCurrency };