provide vm_interpreter as import/export wrapper

details:
  moved original vm/interpreter.nim => vm/nvm_interpreter.nim
This commit is contained in:
Jordan Hrycaj 2021-03-31 12:22:37 +01:00
parent eee24de450
commit 5ce7ca6b32
No known key found for this signature in database
GPG Key ID: 4101B9BC5A0DB080
8 changed files with 27 additions and 6 deletions

View File

@ -9,7 +9,7 @@ import
options, sets, options, sets,
eth/common, chronicles, db/accounts_cache, eth/common, chronicles, db/accounts_cache,
transaction, transaction,
vm/[nvm_computation, interpreter, nvm_state, nvm_types] vm/[nvm_computation, nvm_interpreter, nvm_state, nvm_types]
proc validateTransaction*(vmState: BaseVMState, tx: Transaction, sender: EthAddress, fork: Fork): bool = proc validateTransaction*(vmState: BaseVMState, tx: Transaction, sender: EthAddress, fork: Fork): bool =
let balance = vmState.readOnlyStateDB.getBalance(sender) let balance = vmState.readOnlyStateDB.getBalance(sender)

21
nimbus/vm_interpreter.nim Normal file
View File

@ -0,0 +1,21 @@
# 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.
# Wrapper for a wrapper -- lol
# At the moment, this header file interface is only used for testing, so it
# might be worth merging it into a vm_internals.nim (or so) header file.
import
./vm/nvm_interpreter as vmi
export
vmi
# End

View File

@ -6,7 +6,7 @@
# at your option. This file may not be copied, modified, or distributed except according to those terms. # at your option. This file may not be copied, modified, or distributed except according to those terms.
import unittest2, sequtils, import unittest2, sequtils,
../nimbus/vm/interpreter ../nimbus/vm_interpreter
proc codeStreamMain*() = proc codeStreamMain*() =
suite "parse bytecode": suite "parse bytecode":

View File

@ -8,7 +8,7 @@
import import
unittest2, macros, strformat, unittest2, macros, strformat,
eth/common/eth_types, eth/common/eth_types,
../nimbus/[vm_types, errors, vm/interpreter] ../nimbus/[vm_types, errors, vm_interpreter]
# TODO: quicktest # TODO: quicktest
# PS: parametrize can be easily immitated, but still quicktests would be even more useful # PS: parametrize can be easily immitated, but still quicktests would be even more useful

View File

@ -13,7 +13,7 @@ import
../nimbus/p2p/executor, test_config, ../nimbus/p2p/executor, test_config,
../nimbus/transaction, ../nimbus/transaction,
../nimbus/[vm_state, vm_types, utils], ../nimbus/[vm_state, vm_types, utils],
../nimbus/vm/interpreter, ../nimbus/vm_interpreter,
../nimbus/db/[db_chain, accounts_cache] ../nimbus/db/[db_chain, accounts_cache]
type type

View File

@ -8,7 +8,7 @@
import import
unittest2, unittest2,
eth/common/eth_types, eth/common/eth_types,
../nimbus/[constants, errors, vm/interpreter] ../nimbus/[constants, errors, vm_interpreter]
template testPush(value: untyped, expected: untyped): untyped = template testPush(value: untyped, expected: untyped): untyped =

View File

@ -8,7 +8,7 @@
import import
unittest2, strformat, strutils, tables, json, os, times, sequtils, unittest2, strformat, strutils, tables, json, os, times, sequtils,
stew/byteutils, eth/[rlp, common], eth/trie/db, stew/byteutils, eth/[rlp, common], eth/trie/db,
./test_helpers, ./test_allowed_to_fail, ../nimbus/vm/interpreter, ./test_helpers, ./test_allowed_to_fail, ../nimbus/vm_interpreter,
../nimbus/[constants, vm_state, vm_types, utils], ../nimbus/[constants, vm_state, vm_types, utils],
../nimbus/db/[db_chain] ../nimbus/db/[db_chain]