var errorSpec = [
  {
    name: 'INVALID_BACKUP',
    message: 'Invalid Backup.',
  },
  {
    name: 'OBSOLETE_BACKUP',
    message: 'Wallet backup is obsolete.',
  },
  {
    name: 'WALLET_DOES_NOT_EXIST',
    message: 'Wallet does not exist.',
  },
  {
    name: 'MISSING_PRIVATE_KEY',
    message: 'Missing private keys to sign.',
  },
  {
    name: 'ENCRYPTED_PRIVATE_KEY',
    message: 'Private key is encrypted, cannot sign transaction.',
  },
  {
    name: 'SERVER_COMPROMISED',
    message: 'Server response could not be verified.',
  },
  {
    name: 'COULD_NOT_BUILD_TRANSACTION',
    message: 'Could not build the transaction.',
  },
  {
    name: 'INSUFFICIENT_FUNDS',
    message: 'Insufficient funds.',
  },
  {
    name: 'CONNECTION_ERROR',
    message: 'Wallet service connection error.',
  },
  {
    name: 'MAINTENANCE_ERROR',
    message: 'Wallet service is under maintenance.',
  },
  {
    name: 'NOT_FOUND',
    message: 'Wallet service not found.',
  },
  {
    name: 'ECONNRESET_ERROR',
    message: 'ECONNRESET, body: {0}',
  },
  {
    name: 'WALLET_ALREADY_EXISTS',
    message: 'Wallet already exists.',
  },
  {
    name: 'COPAYER_IN_WALLET',
    message: 'Copayer in wallet.',
  },
  {
    name: 'WALLET_FULL',
    message: 'Wallet is full.',
  },
  {
    name: 'WALLET_NOT_FOUND',
    message: 'Wallet not found.',
  },
  {
    name: 'INSUFFICIENT_FUNDS_FOR_FEE',
    message: 'Insufficient funds for fee.',
  },
  {
    name: 'INSUFFICIENT_ETH_FEE',
    message: 'Your linked ETH wallet does not have enough ETH for fee.',
  },
  {
    name: 'INSUFFICIENT_DUCX_FEE',
    message: 'Your linked DUCX wallet does not have enough DUCX for fee.',
  },
  {
    name: 'LOCKED_FUNDS',
    message: 'Locked funds.',
  },
  {
    name: 'LOCKED_ETH_FEE',
    message: 'Your ETH linked wallet funds are locked by pending spend proposals.',
  },
  {
    name: 'LOCKED_DUCX_FEE',
    message: 'Your DUCX linked wallet funds are locked by pending spend proposals.',
  },
  {
    name: 'DUST_AMOUNT',
    message: 'Amount below dust threshold.',
  },
  {
    name: 'COPAYER_VOTED',
    message: 'Copayer already voted on this transaction proposal.',
  },
  {
    name: 'NOT_AUTHORIZED',
    message: 'Not authorized.',
  },
  {
    name: 'UNAVAILABLE_UTXOS',
    message: 'Unavailable unspent outputs.',
  },
  {
    name: 'TX_NOT_FOUND',
    message: 'Transaction proposal not found.',
  },
  {
    name: 'MAIN_ADDRESS_GAP_REACHED',
    message: 'Maximum number of consecutive addresses without activity reached.',
  },
  {
    name: 'COPAYER_REGISTERED',
    message: 'Copayer already register on server.',
  },
  {
    name: 'INPUT_NOT_FOUND',
    message:
      "We could not find one or more inputs for your transaction on the blockchain. Make sure you're not trying to use unconfirmed change.",
  },
  {
    name: 'UNCONFIRMED_INPUTS_NOT_ACCEPTED',
    message: 'Can not pay this invoice using unconfirmed inputs.',
  },
  {
    name: 'INVOICE_NOT_AVAILABLE',
    message: 'The invoice is no available.',
  },
  {
    name: 'INVOICE_EXPIRED',
    message: 'The invoice is no longer receiving payments.',
  },
  {
    name: 'UNABLE_TO_PARSE_PAYMENT',
    message: 'We were unable to parse your payment. Please try again or contact your wallet provider.',
  },
  {
    name: 'NO_TRASACTION',
    message: 'Your request did not include a transaction. Please try again or contact your wallet provider.',
  },
  {
    name: 'INVALID_TX_FORMAT',
    message:
      'Your transaction was an in an invalid format, it must be a hexadecimal string. Contact your wallet provider.',
  },
  {
    name: 'UNABLE_TO_PARSE_TX',
    message: 'We were unable to parse the transaction you sent. Please try again or contact your wallet provider.',
  },
  {
    name: 'WRONG_ADDRESS',
    message: 'The transaction you sent does not have any output to the address on the invoice',
  },
  {
    name: 'WRONG_AMOUNT',
    message: 'The amount on the transaction does not match the amount requested. This payment will not be accepted.',
  },
  {
    name: 'NOT_ENOUGH_FEE',
    message: 'Transaction fee is below the current minimum threshold.',
  },
  {
    name: 'BTC_NOT_BCH',
    message: 'This invoice is priced in BTC, not BCH. Please try with a BTC wallet instead.',
  },
  {
    name: 'REQUEST_TIMEOUT',
    message: 'The PayPro request has timed out. Please connect to the internet or try again later.',
  },
  {
    name: 'INVALID_REQUEST',
    message: 'The PayPro request was invalid. Please try again later.',
  },
];
module.exports = errorSpec;
