package
0.0.0-20250212134004-7f39a0d186f8
Repository: https://github.com/0xsoniclabs/tosca.git
Documentation: pkg.go.dev
# Functions
No description provided by the author
NewConverter creates a new code converter with the provided configuration.
NewInterpreter creates a new LFVM interpreter instance with the official configuration for production purposes.
No description provided by the author
NewMockrunner creates a new mock instance.
NewStack returns a new stack instance from the a reuse pool.
RegisterExperimentalInterpreterConfigurations registers all experimental LFVM interpreter configurations to Tosca's interpreter registry.
ReturnStack returns the stack to the reuse pool.
# Constants
Arithmetic.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
System level instructions.
Bit-pattern operations.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Blockchain instructions.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Paid for CALL when the destination address didn't exist prior.
Free gas given at beginning of call.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Paid for CALL when the value transfer is non-zero.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Cost of cold account access after EIP 2929.
Cost of cold SLOAD after EIP 2929.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
DATA is a special instruction that is used to extend the size of OpCodes that require more than the available 2-byte immediate arguments.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Invalid instruction.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
Control flow.
JUMP_TO is a special instruction that is used to jump to the end of the current basic block.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
LOG.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Comparison operations.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Memory.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
NOOP is a special instruction that does nothing.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Stack operations.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Complex function.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Storage.
Cost of SLOAD after EIP 2200 (part of Istanbul).
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
Once per SSTORE operation for clearing an originally existing storage slot.
Once per SSTORE operation from clean non-zero to something else.
Once per SSTORE operation from clean zero to non-zero.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the extended set of OpCodes for the long-form EVM.
The following constants define the extended set of OpCodes for the long-form EVM.
Super-instructions.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
No description provided by the author
Cost of reading warm storage after EIP 2929.
The following constants define the original EVM OpCodes, in the lfvm OpCode space.
# Structs
Config provides a set of user-definable options for the LFVM interpreter.
ConversionConfig contains a set of configuration options for the code conversion.
Converter converts EVM code to LFVM code.
Instruction encodes an instruction for the long-form virtual machine (LFVM).
No description provided by the author
Mockrunner is a mock of runner interface.
MockrunnerMockRecorder is the mock recorder for Mockrunner.