nimbus-eth1/nimbus/vm/interpreter.nim
Jordan Hrycaj 827b8c9c81
reset explicit import paths for local modules
why:
  it was convenient to have relocatable source modules when writing the
  vm interface wrappers. this patch moves it back to the standard.

also:
  there are no deep links into the vm folder anymore which leaves some
  room for manoeuvring inside
2021-04-01 12:53:22 +01:00

131 lines
2.2 KiB
Nim

# Nimbus
# Copyright (c) 2018 Status Research & Development GmbH
# Licensed under either of
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
# http://www.apache.org/licenses/LICENSE-2.0)
# * MIT license ([LICENSE-MIT](LICENSE-MIT) or
# http://opensource.org/licenses/MIT)
# at your option. This file may not be copied, modified, or distributed except
# according to those terms.
# see vm_opcode_value
import
./interpreter/opcode_values as vmo
export
vmo.Op
# see vm_forks
import
./interpreter/vm_forks as vmf
export
vmf.Fork
# see vm_message
import
./message as vmm
export
vmm.isCreate
# Used in vm_types. Beware of recursive dependencies
# see vm_computation
import
./computation as vmc
export
vmc.accountExists,
vmc.addLogEntry,
vmc.commit,
vmc.dispose,
vmc.execCall,
vmc.execCreate,
vmc.execSelfDestruct,
vmc.executeOpcodes,
vmc.fork,
vmc.getBalance,
vmc.getBlockHash,
vmc.getBlockNumber,
vmc.getChainId,
vmc.getCode,
vmc.getCodeHash,
vmc.getCodeSize,
vmc.getCoinbase,
vmc.getDifficulty,
vmc.getGasLimit,
vmc.getGasPrice,
vmc.getGasRefund,
vmc.getOrigin,
vmc.getStorage,
vmc.getTimestamp,
vmc.isError,
vmc.isOriginComputation,
vmc.isSuccess,
vmc.isSuicided,
vmc.merge,
vmc.newComputation,
vmc.prepareTracer,
vmc.refundSelfDestruct,
vmc.rollback,
vmc.selfDestruct,
vmc.setError,
vmc.shouldBurnGas,
vmc.snapshot,
vmc.traceError,
vmc.traceOpCodeEnded,
vmc.traceOpCodeStarted,
vmc.tracingEnabled,
vmc.writeContract
import
./interpreter/gas_meter as gmt
export
gmt.consumeGas,
gmt.init,
gmt.refundGas,
gmt.returnGas
import
./code_stream as cst
export
cst.CodeStream,
cst.`$`,
cst.newCodeStream,
cst.newCodeStreamFromUnescaped,
cst.read,
cst.readVmWord,
cst.len,
cst.next,
cst.items,
cst.`[]`,
cst.peek,
cst.updatePc,
cst.isValidOpcode,
cst.decompile,
cst.displayDecompiled,
cst.hasSStore,
cst.atEnd
import
./stack as stk
export
stk.Stack,
stk.`$`,
stk.`[]`,
stk.dup,
stk.len,
stk.newStack,
stk.peek,
stk.peekInt,
stk.popAddress,
stk.popInt,
stk.popTopic,
stk.push,
stk.swap,
stk.top
# End