Skip to main content

Overview

Error.decodeParams decodes custom error revert data and validates the selector. Pass the full error data (selector + params).

Quick Start

import { Abi } from '@tevm/voltaire/Abi';

const InsufficientBalance = {
  type: 'error',
  name: 'InsufficientBalance',
  inputs: [
    { type: 'uint256', name: 'balance' },
    { type: 'uint256', name: 'required' }
  ]
} as const;

const revertData = Abi.Error.encodeParams(InsufficientBalance, [100n, 1000n]);
const decoded = Abi.Error.decodeParams(InsufficientBalance, revertData);
// [100n, 1000n]

Decode Without Selector

If you already sliced the selector, decode just the parameters:
const params = Abi.decodeParameters(InsufficientBalance.inputs, revertData.slice(4));

Error Handling

  • AbiDecodingError when data is too short or malformed
  • AbiInvalidSelectorError when the selector does not match the error definition

See Also