mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-24 02:58:09 +01:00
badebe017f
* Add UnitInput component * Add CurrencyInput component * Add UserPreferencedCurrencyInput component * Add UserPreferencedCurrencyDisplay component * Add updatePreferences action * Add styles for CurrencyInput, CurrencyDisplay, and UnitInput * Update SettingsTab page with Primary Currency toggle * Refactor currency displays and inputs to use UserPreferenced displays and inputs * Add TokenInput component * Add UserPreferencedTokenInput component * Use TokenInput in the send screen * Fix unit tests * Fix e2e and integration tests * Remove send/CurrencyDisplay component * Replace diamond unicode character with Eth logo. Fix typos
83 lines
1.8 KiB
JavaScript
83 lines
1.8 KiB
JavaScript
import ethUtil from 'ethereumjs-util'
|
|
import { conversionUtil } from '../conversion-util'
|
|
import { ETH, GWEI, WEI } from '../constants/common'
|
|
|
|
export function bnToHex (inputBn) {
|
|
return ethUtil.addHexPrefix(inputBn.toString(16))
|
|
}
|
|
|
|
export function hexToDecimal (hexValue) {
|
|
return conversionUtil(hexValue, {
|
|
fromNumericBase: 'hex',
|
|
toNumericBase: 'dec',
|
|
})
|
|
}
|
|
|
|
export function decimalToHex (decimal) {
|
|
return conversionUtil(decimal, {
|
|
fromNumericBase: 'dec',
|
|
toNumericBase: 'hex',
|
|
})
|
|
}
|
|
|
|
export function getEthConversionFromWeiHex ({ value, conversionRate, numberOfDecimals = 6 }) {
|
|
const denominations = [ETH, GWEI, WEI]
|
|
|
|
let nonZeroDenomination
|
|
|
|
for (let i = 0; i < denominations.length; i++) {
|
|
const convertedValue = getValueFromWeiHex({
|
|
value,
|
|
conversionRate,
|
|
toCurrency: ETH,
|
|
numberOfDecimals,
|
|
toDenomination: denominations[i],
|
|
})
|
|
|
|
if (convertedValue !== '0' || i === denominations.length - 1) {
|
|
nonZeroDenomination = `${convertedValue} ${denominations[i]}`
|
|
break
|
|
}
|
|
}
|
|
|
|
return nonZeroDenomination
|
|
}
|
|
|
|
export function getValueFromWeiHex ({
|
|
value,
|
|
toCurrency,
|
|
conversionRate,
|
|
numberOfDecimals,
|
|
toDenomination,
|
|
}) {
|
|
return conversionUtil(value, {
|
|
fromNumericBase: 'hex',
|
|
toNumericBase: 'dec',
|
|
fromCurrency: ETH,
|
|
toCurrency,
|
|
numberOfDecimals,
|
|
fromDenomination: WEI,
|
|
toDenomination,
|
|
conversionRate,
|
|
})
|
|
}
|
|
|
|
export function getWeiHexFromDecimalValue ({
|
|
value,
|
|
fromCurrency,
|
|
conversionRate,
|
|
fromDenomination,
|
|
invertConversionRate,
|
|
}) {
|
|
return conversionUtil(value, {
|
|
fromNumericBase: 'dec',
|
|
toNumericBase: 'hex',
|
|
toCurrency: ETH,
|
|
fromCurrency,
|
|
conversionRate,
|
|
invertConversionRate,
|
|
fromDenomination,
|
|
toDenomination: WEI,
|
|
})
|
|
}
|