CodeSizeExceedsMaximumError
Represents an error that occurs when the code size exceeds the maximum limit. This error is typically encountered when the contract size to be deployed exceeds the maximum allowed size.
Code size exceeds maximum errors can occur due to:
- Deployment of contracts with large bytecode.
- Contracts with a significant amount of embedded data or logic.
- Incorrect settings for contract size limits in TEVM configuration.
To debug a code size exceeds maximum error:
- Review Contract Size: Ensure that the contract bytecode size is within the allowed limits. Consider refactoring the contract to reduce its size.
- Optimize Contract Code: Break down large contracts into smaller, modular contracts and use libraries or inheritance to share code.
- Configure TEVM Memory Client: When creating a TEVM MemoryClient instance, set
allowUnlimitedContractSize
totrue
if necessary. Note that even with this setting, you may still encounter block limits. - Use TEVM Tracing: Utilize TEVM tracing to step through the contract deployment process and inspect the bytecode size.
- Use Other Tools: Use other tools to analyze and optimize contract bytecode.
Example
Param
A human-readable error message.
Param
Additional parameters for the BaseError.
Extends
Constructors
new CodeSizeExceedsMaximumError()
new CodeSizeExceedsMaximumError(
message
?,args
?):CodeSizeExceedsMaximumError
Constructs a CodeSizeExceedsMaximumError.
Parameters
• message?: string
= 'Code size exceeds maximum error occurred.'
Human-readable error message.
• args?: CodeSizeExceedsMaximumErrorParameters
= {}
Additional parameters for the BaseError.
Returns
Overrides
GasLimitExceededError
.constructor
Source
packages/errors/src/ethereum/ethereumjs/CodeSizeExceedsMaximumError.js:68
Properties
_tag
_tag:
string
='GasLimitExceeded'
Same as name, used internally.
Inherited from
Source
packages/errors/src/ethereum/GasLimitExceededError.js:76
cause
cause:
any
Inherited from
Source
packages/errors/src/ethereum/BaseError.js:115
code
code:
number
Error code, analogous to the code in JSON RPC error.
Inherited from
Source
packages/errors/src/ethereum/BaseError.js:113
details
details:
string
Inherited from
Source
packages/errors/src/ethereum/BaseError.js:92
docsPath
docsPath:
undefined
|string
Path to the documentation for this error.
Inherited from
GasLimitExceededError
.docsPath
Source
packages/errors/src/ethereum/BaseError.js:97
message
message:
string
Human-readable error message.
Inherited from
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
Source
packages/errors/src/ethereum/GasLimitExceededError.js:68
metaMessages
metaMessages:
undefined
|string
[]
Additional meta messages for more context.
Inherited from
GasLimitExceededError
.metaMessages
Source
packages/errors/src/ethereum/BaseError.js:101
name
name:
string
='GasLimitExceeded'
The name of the error, used to discriminate errors.
Inherited from
Source
packages/errors/src/ethereum/GasLimitExceededError.js:83
shortMessage
shortMessage:
string
Inherited from
GasLimitExceededError
.shortMessage
Source
packages/errors/src/ethereum/BaseError.js:105
stack?
optional
stack:string
Inherited from
Source
node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1078
version
version:
string
Inherited from
Source
packages/errors/src/ethereum/BaseError.js:109
EVMErrorMessage
static
EVMErrorMessage:EvmErrorMessage
=EVMErrorMessage.CODESIZE_EXCEEDS_MAXIMUM
Source
packages/errors/src/ethereum/ethereumjs/CodeSizeExceedsMaximumError.js:61
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
GasLimitExceededError
.prepareStackTrace
Source
node_modules/.pnpm/@types+node@20.14.2/node_modules/@types/node/globals.d.ts:28
stackTraceLimit
static
stackTraceLimit:number
Inherited from
GasLimitExceededError
.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
Source
packages/errors/src/ethereum/BaseError.js:138
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
GasLimitExceededError
.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
GasLimitExceededError
.captureStackTrace
Source
node_modules/.pnpm/bun-types@1.1.12/node_modules/bun-types/globals.d.ts:1613