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:
- Double Check Bytecode: Ensure that the bytecode provided is valid.
- Verify Common Configuration: Ensure you are using a
common
with the correct hardfork and EIPs that support the EVM version you are targeting. - Use TEVM Tracing: Utilize TEVM tracing to step through the bytecode execution and identify where the invalid JUMP occurs.
Example
Param
A human-readable error message.
Param
Additional parameters for the BaseError.
Extends
Constructors
new InvalidJumpError()
new InvalidJumpError(
message
?,args
?,tag
?):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:
- Double Check Bytecode: Ensure that the bytecode provided is valid.
- Verify Common Configuration: Ensure you are using a
common
with the correct hardfork and EIPs that support the EVM version you are targeting. - 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.
• tag?: string
= 'InvalidJumpError'
Optionally override the name/tag for the error.
Returns
Overrides
Defined in
packages/errors/src/ethereum/ethereumjs/InvalidJumpError.js:75
Properties
_tag
_tag:
string
Same as name, used internally.
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:82
cause
cause:
any
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:114
code
code:
number
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:112
details
details:
string
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:91
docsPath
docsPath:
undefined
|string
Path to the documentation for this error.
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:96
message
message:
string
Human-readable error message.
Inherited from
Defined in
node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts:1077
metaMessages
metaMessages:
undefined
|string
[]
Additional meta messages for more context.
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:100
name
name:
string
The name of the error, used to discriminate errors.
Inherited from
Defined in
node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts:1076
shortMessage
shortMessage:
string
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:104
stack?
optional
stack:string
Inherited from
Defined in
node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts:1078
version
version:
string
Inherited from
Defined in
packages/errors/src/ethereum/BaseError.js:108
code
static
code:number
=-32000
Error code, analogous to the code in JSON RPC error.
Inherited from
Defined in
packages/errors/src/ethereum/ExecutionErrorError.js:46
EVMErrorMessage
static
EVMErrorMessage:EvmErrorMessage
=EVMErrorMessage.INVALID_JUMP
Defined in
packages/errors/src/ethereum/ethereumjs/InvalidJumpError.js:54
prepareStackTrace()?
static
optional
prepareStackTrace: (err
,stackTraces
) =>any
Optional override for formatting stack traces
Parameters
• err: Error
• stackTraces: CallSite
[]
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
ExecutionError
.prepareStackTrace
Defined in
node_modules/.pnpm/@types+node@22.7.3/node_modules/@types/node/globals.d.ts:143
stackTraceLimit
static
stackTraceLimit:number
Inherited from
ExecutionError
.stackTraceLimit
Defined in
node_modules/.pnpm/@types+node@22.7.3/node_modules/@types/node/globals.d.ts:145
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
Defined in
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
Defined in
node_modules/.pnpm/@types+node@22.7.3/node_modules/@types/node/globals.d.ts:136
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
Defined in
node_modules/.pnpm/bun-types@1.1.29/node_modules/bun-types/globals.d.ts:1630
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
Defined in
node_modules/.pnpm/@types+node@20.12.14/node_modules/@types/node/globals.d.ts:21