text: const ethUtil = require('ethereumjs-util')
  const { conversionUtil, multiplyCurrencies } = require('../../conversion-util')
  
  const MIN_GAS_PRICE_DEC = '0'
  const MIN_GAS_PRICE_HEX = (parseInt(MIN_GAS_PRICE_DEC)).toString(16)
  const MIN_GAS_LIMIT_DEC = '21000'
  const MIN_GAS_LIMIT_HEX = (parseInt(MIN_GAS_LIMIT_DEC)).toString(16)
  
  const MIN_GAS_PRICE_GWEI = ethUtil.addHexPrefix(conversionUtil(MIN_GAS_PRICE_HEX, {
    fromDenomination: 'WEI',
    toDenomination: 'GWEI',
    fromNumericBase: 'hex',
    toNumericBase: 'hex',
    numberOfDecimals: 1,
  }))
  
  const MIN_GAS_TOTAL = multiplyCurrencies(MIN_GAS_LIMIT_HEX, MIN_GAS_PRICE_HEX, {
    toNumericBase: 'hex',
    multiplicandBase: 16,
    multiplierBase: 16,
  })
  
  const TOKEN_TRANSFER_FUNCTION_SIGNATURE = '0xa9059cbb'
  
  const INSUFFICIENT_FUNDS_ERROR = 'insufficientFunds'
  const INSUFFICIENT_TOKENS_ERROR = 'insufficientTokens'
  const NEGATIVE_ETH_ERROR = 'negativeETH'
  const INVALID_RECIPIENT_ADDRESS_ERROR = 'invalidAddressRecipient'
  const REQUIRED_ERROR = 'required'
  const KNOWN_RECIPIENT_ADDRESS_ERROR = 'knownAddressRecipient'
  
  const ONE_GWEI_IN_WEI_HEX = ethUtil.addHexPrefix(conversionUtil('0x1', {
    fromDenomination: 'GWEI',
    toDenomination: 'WEI',
    fromNumericBase: 'hex',
    toNumericBase: 'hex',
  }))
  
  const SIMPLE_GAS_COST = '0x5208' // Hex for 21000, cost of a simple send.
  const BASE_TOKEN_GAS_COST = '0x186a0' // Hex for 100000, a base estimate for token transfers.
  
  module.exports = {
    INSUFFICIENT_FUNDS_ERROR,
    INSUFFICIENT_TOKENS_ERROR,
    INVALID_RECIPIENT_ADDRESS_ERROR,
    KNOWN_RECIPIENT_ADDRESS_ERROR,
    MIN_GAS_LIMIT_DEC,
    MIN_GAS_LIMIT_HEX,
    MIN_GAS_PRICE_DEC,
    MIN_GAS_PRICE_GWEI,
    MIN_GAS_PRICE_HEX,
    MIN_GAS_TOTAL,
    NEGATIVE_ETH_ERROR,
    ONE_GWEI_IN_WEI_HEX,
    REQUIRED_ERROR,
    SIMPLE_GAS_COST,
    TOKEN_TRANSFER_FUNCTION_SIGNATURE,
    BASE_TOKEN_GAS_COST,
  }
  