Module eof

Expand description

EOF bytecode.

Contains body, header and raw bytes.

Also contains verification logic and pretty printer.

Modules§

printer
Pritty printer for the EOF bytecode. Enabled by std feature. Module that contains the printer for the EOF bytecode.
verification
Verification logic for the EOF bytecode. Module that contains the verification logic for the EOF bytecode.

Structs§

AccessTracker
Tracker status of verification of code sections and subcontainers. Used in validating EOF container.
CodeInfo
Types section that contains stack information for matching code section
Eof
EVM Object Format (EOF) container
EofBody
EOF container body
EofHeader
EOF header structure that contains section sizes and metadata

Enums§

CodeType
Types of code sections in EOF container
EofDecodeError
EOF decode errors
EofError
EOF Error
EofValidationError
EOF Validation Error

Constants§

CODE_SECTION_SIZE
EOF header code section size length.
CONTAINER_SECTION_SIZE
EOF header container section size length.
EOF_MAGIC
EOF Magic in u16 form
EOF_MAGIC_HASH
Hash of EF00 bytes that is used for EXTCODEHASH when called from legacy bytecode
KIND_CODE
EOF header code kind, marking code section.
KIND_CODE_INFO
EOF header code info kind, marking code info section.
KIND_CONTAINER
EOF header container kind, marking container section.
KIND_DATA
EOF header data kind, marking data section.
KIND_TERMINAL
EOF header terminal kind, marking end of header.

Statics§

EOF_MAGIC_BYTES
EOF magic number in array form

Functions§

validate_eof
Fully validates an Eof container.
validate_eof_code
Validates that:
validate_eof_codes
Validates an Eof structure, without recursing into containers.
validate_eof_inner
Fully validates an Eof container. If first_code_type is None it will be auto deduced in verification process.
validate_raw_eof
Decodes raw into an Eof container and validates it.
validate_raw_eof_inner
Decodes raw into an Eof container and validates it.