Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/RevertReason

primitives/RevertReason

Type Aliases

CustomRevertReason

CustomRevertReason = object
Defined in: src/primitives/RevertReason/RevertReasonType.ts:31 Custom error with selector and data

Properties

data
readonly data: Uint8Array
Defined in: src/primitives/RevertReason/RevertReasonType.ts:34
selector
readonly selector: string
Defined in: src/primitives/RevertReason/RevertReasonType.ts:33
type
readonly type: "Custom"
Defined in: src/primitives/RevertReason/RevertReasonType.ts:32

ErrorRevertReason

ErrorRevertReason = object
Defined in: src/primitives/RevertReason/RevertReasonType.ts:14 Standard Error(string) revert

Properties

message
readonly message: string
Defined in: src/primitives/RevertReason/RevertReasonType.ts:16
type
readonly type: "Error"
Defined in: src/primitives/RevertReason/RevertReasonType.ts:15

PanicCode

PanicCode = keyof typeof PANIC_CODES
Defined in: src/primitives/RevertReason/constants.ts:23

PanicRevertReason

PanicRevertReason = object
Defined in: src/primitives/RevertReason/RevertReasonType.ts:22 Solidity 0.8+ Panic(uint256) revert

Properties

code
readonly code: number
Defined in: src/primitives/RevertReason/RevertReasonType.ts:24
description
readonly description: string
Defined in: src/primitives/RevertReason/RevertReasonType.ts:25
type
readonly type: "Panic"
Defined in: src/primitives/RevertReason/RevertReasonType.ts:23

RevertReasonType

RevertReasonType = ErrorRevertReason | PanicRevertReason | CustomRevertReason | UnknownRevertReason
Defined in: src/primitives/RevertReason/RevertReasonType.ts:48 RevertReason union type

UnknownRevertReason

UnknownRevertReason = object
Defined in: src/primitives/RevertReason/RevertReasonType.ts:40 Unknown/unrecognized revert

Properties

data
readonly data: Uint8Array
Defined in: src/primitives/RevertReason/RevertReasonType.ts:42
type
readonly type: "Unknown"
Defined in: src/primitives/RevertReason/RevertReasonType.ts:41

Variables

ERROR_SELECTOR

const ERROR_SELECTOR: "0x08c379a0" = "0x08c379a0"
Defined in: src/primitives/RevertReason/constants.ts:4 Standard error selectors

PANIC_CODES

const PANIC_CODES: object
Defined in: src/primitives/RevertReason/constants.ts:10 Solidity 0.8+ panic codes

Type Declaration

0
readonly 0: "Generic panic" = "Generic panic"
1
readonly 1: "Assertion failed" = "Assertion failed"
17
readonly 17: "Arithmetic overflow/underflow" = "Arithmetic overflow/underflow"
18
readonly 18: "Division by zero" = "Division by zero"
33
readonly 33: "Invalid enum value" = "Invalid enum value"
34
readonly 34: "Invalid storage encoding" = "Invalid storage encoding"
49
readonly 49: "Array pop on empty array" = "Array pop on empty array"
50
readonly 50: "Array out of bounds" = "Array out of bounds"
65
readonly 65: "Out of memory" = "Out of memory"
81
readonly 81: "Invalid internal function" = "Invalid internal function"

PANIC_SELECTOR

const PANIC_SELECTOR: "0x4e487b71" = "0x4e487b71"
Defined in: src/primitives/RevertReason/constants.ts:5

Functions

_from()

_from(value): RevertReasonType
Defined in: src/primitives/RevertReason/from.js:15 Create RevertReason from various inputs

Parameters

value
Return data string | Uint8Array<ArrayBufferLike> | ReturnDataType

Returns

RevertReasonType Decoded revert reason

Example

const reason = RevertReason.from("0x08c379a0...");

_fromReturnData()

_fromReturnData(returnData): RevertReasonType
Defined in: src/primitives/RevertReason/fromReturnData.js:24 Decode RevertReason from ReturnData

Parameters

returnData
ReturnDataType Return data from failed call

Returns

RevertReasonType Decoded revert reason

Example

const returnData = ReturnData.fromHex("0x08c379a0...");
const reason = RevertReason.fromReturnData(returnData);
if (reason.type === "Error") {
  console.log(reason.message);
}

_toString()

_toString(reason): string
Defined in: src/primitives/RevertReason/toString.js:17 Convert RevertReason to string representation

Parameters

reason
RevertReasonType Revert reason

Returns

string String representation

Example

const str = RevertReason.toString(reason);
// "Error: Insufficient balance"
// "Panic(0x11): Arithmetic overflow/underflow"

from()

from(value): RevertReasonType
Defined in: src/primitives/RevertReason/index.ts:19 Create RevertReason from various inputs

Parameters

value
string | Uint8Array<ArrayBufferLike> | ReturnDataType

Returns

RevertReasonType

fromReturnData()

fromReturnData(returnData): RevertReasonType
Defined in: src/primitives/RevertReason/index.ts:28 Decode RevertReason from ReturnData

Parameters

returnData
ReturnDataType

Returns

RevertReasonType

getPanicDescription()

getPanicDescription(code): string
Defined in: src/primitives/RevertReason/constants.ts:28 Get panic code description

Parameters

code
number

Returns

string

toString()

toString(reason): string
Defined in: src/primitives/RevertReason/index.ts:36 Convert RevertReason to string representation

Parameters

reason
RevertReasonType

Returns

string