Jamie Lokier
d2586c3a73
Assembler: Make macro_assembler tests use new function asmCallEvm
...
Move the EVM setup and call in `macro_assembler` (`runVM`) entirely to new
function `asmCallEvm` in `call_evm`. Extra return values needed for
testing are returned specially from `asmCallEvm`.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-05-04 01:36:00 +01:00
Jamie Lokier
834449d943
Assembler: Second asmSetupComputation, calls the first
...
The second `asmSetupComputation looks up state by block number and preceding
block number, modifies the first transaction with code for testing, and uses
some parts of that transaction to setup an an EVM test.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-05-04 01:03:55 +01:00
Jamie Lokier
5728491d60
Assembler: First asmSetupComputation to support asmCallEvm
...
In the `macro_assembler` test code, `initComputation` is another variant of
`rpcSetupComputation` and `txSetupComputation` with slightly different
paremeters. The similarity is obvious.
It is a special setup for testing, though, as it requires a contract-creation
transaction for parameters, but sets up a `CALL` execution not `CREATE`.
Gather this into `call_evm`: `initComputation` -> `asmSetupComputation`.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-05-04 01:03:55 +01:00
Jordan Hrycaj
c8582583ef
merge vm_memory, vm_interpreter, and vm_utils_numeric => vm_internals
...
why:
currently used for tests only
2021-03-31 18:15:27 +01:00
Jordan Hrycaj
00ba7a2718
merge vm_forks and vm_opcode_values => vm_type2
...
why:
all types, but they cannot be merged int vm_types because of a circular
dependency.
2021-03-31 17:53:15 +01:00
Jordan Hrycaj
99568c9b46
provide vm_opcode_values as import/export wrapper
...
details:
moved original vm/interpreter/opcode_values.nim => vm/interpreter/nvm_opcode_values.nim
2021-03-31 16:49:03 +01:00
Jordan Hrycaj
cf63b9b03f
provide vm_memory as import/export wrapper
...
details:
moved original vm/memory.nim => vm/nvm_memory.nim
2021-03-31 16:48:44 +01:00
Jordan Hrycaj
eee24de450
provide vm_message as import/export wrapper
...
details:
moved original vm/message.nim => vm/nvm_message.nim
2021-03-31 16:47:02 +01:00
Jordan Hrycaj
cf3a356d76
provide vm_computation as import/export wrapper
...
details:
moved original vm/computation.nim => vm/nvm_computation.nim
2021-03-31 16:38:10 +01:00
Jordan Hrycaj
3a3e4d5707
provide vm_forks as import/export wrapper
...
details:
moved original vm/interpreter/vm_forks.nim => vm/interpreter/nvm_forks.nim
2021-03-31 16:03:34 +01:00
jangko
a263e6b1a6
implement EIP2315 tests
2020-11-25 18:23:02 +07:00
jangko
d089a61539
add compiletime evm bytecode generator to macro_assembler
2020-07-24 19:54:27 +07:00
jangko
165f9fea2e
reduce warnings
2020-07-21 13:15:06 +07:00
jangko
8ee0ab4e89
fix macro_assembler -> add call to acounts_cache.persist
2020-06-01 13:58:14 +07:00
jangko
844071033a
fix at various places related to missing accounts_cache.persist call
2020-06-01 13:45:32 +07:00
Jacek Sieka
4ade5797ee
rlp: don't use ranges / experimental features ( #495 )
2020-04-20 20:12:44 +02:00
andri lim
af02a3b1b2
reduce unused import warnings
2020-04-15 19:05:57 +07:00
andri lim
87bae2bb78
switch to new toFork
2020-04-12 18:02:59 +07:00
andri lim
d656f7f701
rename 'txContext' to 'setupTxContext'
2020-01-23 18:07:44 +02:00
andri lim
933b2dad78
remove code from EVM Message and load code in 'Computation'
2020-01-23 18:07:44 +02:00
andri lim
c1ef8632b2
move fork and gasCosts from Computation to vmState
2020-01-20 18:36:58 +02:00
andri lim
bab359cabf
move origin and gasPrice from Message to vmState
2020-01-20 18:36:58 +02:00
andri lim
0b99b76cd1
change 'BaseComputation' to 'Computation'
2020-01-20 18:36:58 +02:00
andri lim
79df931234
simplifies computation.getFork
2020-01-20 18:36:58 +02:00
andri lim
8f7597e23b
[skip ci] add evmc CallKind to EVM Message
2020-01-19 19:17:37 +02:00
andri lim
dfa2f0099f
[skip ci] fixes macro_assembler
2020-01-19 19:17:37 +02:00
andri lim
836e087984
[skip ci] change storageAddress to contractAddres
2020-01-19 19:17:37 +02:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
Ștefan Talpalaru
d84e4810d5
unittest2 (parallelism disabled)
...
This is https://github.com/status-im/nimbus/pull/332 with parallelism
disabled, while some threadpool deadlock is being debugged.
2019-10-31 06:17:01 +01:00
Jacek Sieka
2763bd0dd5
std_shims -> stew
2019-07-07 12:12:01 +02:00
andri lim
480a3d2cab
implement constantinople bitwise opcode test
2019-05-13 10:26:28 +03:00
andri lim
90e3a4320a
fix revert opcode at first level computation
2019-04-26 07:31:13 +07:00
andri lim
1383a87e10
make test green
2019-04-18 16:10:31 +07:00
Ștefan Talpalaru
a67edd693a
assert() -> doAssert()
2019-03-13 22:36:54 +01:00
andri lim
2c032ad1ab
refactor utils
2019-02-27 13:30:18 +02:00
andri lim
7ff9a7f02e
remove add stop from macro assembler
2019-02-22 13:10:22 +02:00
andri lim
fdc34a4cf6
fixes vmState construction
2019-02-15 17:20:51 +02:00
Yuriy Glukhov
481c6cf4ed
Use nim-eth ( #224 )
2019-02-05 20:15:50 +01:00
andri lim
2bc880d395
use 'newLitFixed' from std_shims, reduce LOC further
2019-01-31 20:16:47 +02:00
andri lim
99a5eefcce
simplifies code, remove globals and double layer macro, employ macrocache
2019-01-31 20:16:47 +02:00
andri lim
fff049abe8
fix path again
2019-01-31 20:16:47 +02:00
andri lim
c92bc7c4e4
fix path when load test data
2019-01-31 20:16:47 +02:00
andri lim
58b5aa5f39
implement macro_assembler and opcodes test suite
2019-01-31 20:16:47 +02:00