Skip to content

InvalidJumpError

Represents an invalid bytecode/contract error that occurs when an invalid JUMP operation is executed within the EVM. This error is typically encountered when the jump destination in the bytecode is invalid or does not exist.

Invalid JUMP errors can occur due to:

  • Incorrect jump destinations in the bytecode.
  • Bugs in the smart contract code causing jumps to non-existent locations.
  • Conditional logic errors leading to unexpected jump destinations.

To debug an invalid JUMP error:

  1. Double Check Bytecode: Ensure that the bytecode provided is valid.
  2. Verify Common Configuration: Ensure you are using a common with the correct hardfork and EIPs that support the EVM version you are targeting.
  3. Use TEVM Tracing: Utilize TEVM tracing to step through the bytecode execution and identify where the invalid JUMP occurs.

Example

import { InvalidJumpError } from '@tevm/errors'
try {
// Some operation that can throw an InvalidJumpError
} catch (error) {
if (error instanceof InvalidJumpError) {
console.error(error.message);
// Handle the invalid JUMP error
}
}

Param

A human-readable error message.

Param

Additional parameters for the BaseError.

Extends

Constructors

new InvalidJumpError()

new InvalidJumpError(message?, args?): InvalidJumpError

Constructs an InvalidJumpError. Represents an invalid bytecode/contract error that occurs when an invalid JUMP operation is executed within the EVM. This error is typically encountered when the jump destination in the bytecode is invalid or does not exist.

Invalid JUMP errors can occur due to:

  • Incorrect jump destinations in the bytecode.
  • Bugs in the smart contract code causing jumps to non-existent locations.
  • Conditional logic errors leading to unexpected jump destinations.

To debug an invalid JUMP error:

  1. Double Check Bytecode: Ensure that the bytecode provided is valid.
  2. Verify Common Configuration: Ensure you are using a common with the correct hardfork and EIPs that support the EVM version you are targeting.
  3. Use TEVM Tracing: Utilize TEVM tracing to step through the bytecode execution and identify where the invalid JUMP occurs.

Parameters

message?: string= 'Invalid JUMP error occurred.'

Human-readable error message.

args?: InvalidJumpErrorParameters= {}

Additional parameters for the BaseError.

Returns

InvalidJumpError

Overrides

ExecutionError.constructor

Source

packages/errors/src/ethereum/ethereumjs/InvalidJumpError.js:73

Properties

_tag

_tag: string = 'ExecutionError'

Same as name, used internally.

Inherited from

ExecutionError._tag

Source

packages/errors/src/ethereum/ExecutionErrorError.js:76


cause

cause: any

Inherited from

ExecutionError.cause

Source

packages/errors/src/ethereum/BaseError.js:114


code

code: number

Error code, analogous to the code in JSON RPC error.

Inherited from

ExecutionError.code

Source

packages/errors/src/ethereum/BaseError.js:112


details

details: string

Inherited from

ExecutionError.details

Source

packages/errors/src/ethereum/BaseError.js:91


docsPath

docsPath: undefined | string

Path to the documentation for this error.

Inherited from

ExecutionError.docsPath

Source

packages/errors/src/ethereum/BaseError.js:96


message

message: string

Human-readable error message.

Inherited from

ExecutionError.message

Source

node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1077


meta

meta: undefined | object

Optional object containing additional information about the error.

Inherited from

ExecutionError.meta

Source

packages/errors/src/ethereum/ExecutionErrorError.js:69


metaMessages

metaMessages: undefined | string[]

Additional meta messages for more context.

Inherited from

ExecutionError.metaMessages

Source

packages/errors/src/ethereum/BaseError.js:100


name

name: "ExecutionError" = 'ExecutionError'

The name of the error, used to discriminate errors.

Inherited from

ExecutionError.name

Source

packages/errors/src/ethereum/ExecutionErrorError.js:82


shortMessage

shortMessage: string

Inherited from

ExecutionError.shortMessage

Source

packages/errors/src/ethereum/BaseError.js:104


stack?

optional stack: string

Inherited from

ExecutionError.stack

Source

node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1078


version

version: string

Inherited from

ExecutionError.version

Source

packages/errors/src/ethereum/BaseError.js:108


EVMErrorMessage

static EVMErrorMessage: EvmErrorMessage = EVMErrorMessage.INVALID_JUMP

Source

packages/errors/src/ethereum/ethereumjs/InvalidJumpError.js:54


prepareStackTrace()?

static optional prepareStackTrace: (err, stackTraces) => any

Optional override for formatting stack traces

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Parameters

err: Error

stackTraces: CallSite[]

Returns

any

Inherited from

ExecutionError.prepareStackTrace

Source

node_modules/.pnpm/@types+node@20.14.2/node_modules/@types/node/globals.d.ts:28


stackTraceLimit

static stackTraceLimit: number

Inherited from

ExecutionError.stackTraceLimit

Source

node_modules/.pnpm/@types+node@20.14.2/node_modules/@types/node/globals.d.ts:30

Methods

walk()

walk(fn?): unknown

Walks through the error chain.

Parameters

fn?: Function

A function to execute on each error in the chain.

Returns

unknown

The first error that matches the function, or the original error.

Inherited from

ExecutionError.walk

Source

packages/errors/src/ethereum/BaseError.js:137


captureStackTrace()

captureStackTrace(targetObject, constructorOpt)

static captureStackTrace(targetObject, constructorOpt?): void

Create .stack property on a target object

Parameters

targetObject: object

constructorOpt?: Function

Returns

void

Inherited from

ExecutionError.captureStackTrace

Source

node_modules/.pnpm/@types+node@20.14.2/node_modules/@types/node/globals.d.ts:21

captureStackTrace(targetObject, constructorOpt)

static captureStackTrace(targetObject, constructorOpt?): void

Create .stack property on a target object

Parameters

targetObject: object

constructorOpt?: Function

Returns

void

Inherited from

ExecutionError.captureStackTrace

Source

node_modules/.pnpm/bun-types@1.1.12/node_modules/bun-types/globals.d.ts:1613