evm.logic package

Submodules

evm.logic.arithmetic module

evm.logic.arithmetic.add(computation)

Addition

evm.logic.arithmetic.addmod(computation)

Modulo Addition

evm.logic.arithmetic.div(computation)

Division

evm.logic.arithmetic.exp

Exponentiation

evm.logic.arithmetic.mod(computation)

Modulo

evm.logic.arithmetic.mul(computation)

Multiplication

evm.logic.arithmetic.mulmod(computation)

Modulo Multiplication

evm.logic.arithmetic.sdiv(computation)

Signed Division

evm.logic.arithmetic.signextend(computation)

Signed Extend

evm.logic.arithmetic.smod(computation)

Signed Modulo

evm.logic.arithmetic.sub(computation)

Subtraction

evm.logic.block module

evm.logic.block.blockhash(computation)
evm.logic.block.coinbase(computation)
evm.logic.block.difficulty(computation)
evm.logic.block.gaslimit(computation)
evm.logic.block.number(computation)
evm.logic.block.timestamp(computation)

evm.logic.call module

class evm.logic.call.BaseCall

Bases: evm.opcode.Opcode

compute_msg_extra_gas(computation, gas, to, value)
compute_msg_gas(computation, gas, to, value)
get_call_params(computation)
class evm.logic.call.Call

Bases: evm.logic.call.BaseCall

compute_msg_extra_gas(computation, gas, to, value)
get_call_params(computation)
class evm.logic.call.CallByzantium

Bases: evm.logic.call.CallEIP161

get_call_params(computation)
class evm.logic.call.CallCode

Bases: evm.logic.call.BaseCall

compute_msg_extra_gas(computation, gas, to, value)
get_call_params(computation)
class evm.logic.call.CallCodeEIP150

Bases: evm.logic.call.CallCode

compute_msg_gas(computation, gas, to, value)
class evm.logic.call.CallEIP150

Bases: evm.logic.call.Call

compute_msg_gas(computation, gas, to, value)
class evm.logic.call.CallEIP161

Bases: evm.logic.call.CallEIP150

compute_msg_extra_gas(computation, gas, to, value)
class evm.logic.call.DelegateCall

Bases: evm.logic.call.BaseCall

compute_msg_extra_gas(computation, gas, to, value)
compute_msg_gas(computation, gas, to, value)
get_call_params(computation)
class evm.logic.call.DelegateCallEIP150

Bases: evm.logic.call.DelegateCall

compute_msg_gas(computation, gas, to, value)
class evm.logic.call.StaticCall

Bases: evm.logic.call.CallEIP161

get_call_params(computation)
evm.logic.call.compute_eip150_msg_gas(computation, gas, extra_gas, value, mnemonic, callstipend)
evm.logic.call.max_child_gas_eip150(gas)

evm.logic.comparison module

evm.logic.comparison.and_op(computation)

Bitwise And

evm.logic.comparison.byte_op(computation)

Bitwise And

evm.logic.comparison.eq(computation)

Equality

evm.logic.comparison.gt(computation)

Greater Comparison

evm.logic.comparison.iszero(computation)

Not

evm.logic.comparison.lt(computation)

Lesser Comparison

evm.logic.comparison.not_op(computation)

Not

evm.logic.comparison.or_op(computation)

Bitwise Or

evm.logic.comparison.sgt(computation)

Signed Greater Comparison

evm.logic.comparison.slt(computation)

Signed Lesser Comparison

evm.logic.comparison.xor(computation)

Bitwise XOr

evm.logic.context module

evm.logic.context.address(computation)
evm.logic.context.balance(computation)
evm.logic.context.calldatacopy(computation)
evm.logic.context.calldataload(computation)

Load call data into memory.

evm.logic.context.calldatasize(computation)
evm.logic.context.caller(computation)
evm.logic.context.callvalue(computation)
evm.logic.context.codecopy(computation)
evm.logic.context.codesize(computation)
evm.logic.context.extcodecopy(computation)
evm.logic.context.extcodesize(computation)
evm.logic.context.gasprice(computation)
evm.logic.context.origin(computation)
evm.logic.context.returndatacopy(computation)
evm.logic.context.returndatasize(computation)

evm.logic.duplication module

evm.logic.duplication.dup_XX(computation, position)

Stack item duplication.

evm.logic.flow module

evm.logic.flow.gas(computation)
evm.logic.flow.jump(computation)
evm.logic.flow.jumpdest(computation)
evm.logic.flow.jumpi(computation)
evm.logic.flow.pc(computation)
evm.logic.flow.stop(computation)

evm.logic.invalid module

class evm.logic.invalid.InvalidOpcode(value)

Bases: evm.opcode.Opcode

gas_cost = 0
mnemonic = 'INVALID'

evm.logic.logging module

evm.logic.logging.log_XX(computation, topic_count)

evm.logic.memory module

evm.logic.memory.mload(computation)
evm.logic.memory.msize(computation)
evm.logic.memory.mstore(computation)
evm.logic.memory.mstore8(computation)

evm.logic.sha3 module

evm.logic.sha3.sha3(computation)

evm.logic.stack module

evm.logic.stack.pop(computation)
evm.logic.stack.push_XX(computation, size)

evm.logic.storage module

evm.logic.storage.sload(computation)
evm.logic.storage.sstore(computation)

evm.logic.swap module

evm.logic.swap.swap_XX(computation, position)

Stack item swapping

evm.logic.system module

class evm.logic.system.Create

Bases: evm.opcode.Opcode

max_child_gas_modifier(gas)
class evm.logic.system.CreateByzantium

Bases: evm.logic.system.CreateEIP150

class evm.logic.system.CreateEIP150

Bases: evm.logic.system.Create

max_child_gas_modifier(gas)
evm.logic.system.return_op(computation)
evm.logic.system.revert(computation)
evm.logic.system.selfdestruct(computation)
evm.logic.system.selfdestruct_eip150(computation)
evm.logic.system.selfdestruct_eip161(computation)

Module contents