Jordan Hrycaj
f159e67bba
renamed states*.nim => v2states*.nim
...
why:
these files provide part of the externally accessible interface
provided by vm_state*.nim. so the new filename indicates that the
source code belongs to vm2 (rather than vm).
2021-04-23 14:04:06 +03:00
Jordan Hrycaj
b4f8450968
provide identical copy of vm folder => vm2, activated by make flag ENABLE_VM2=1
...
why:
vm2 enabled by ENABLE_VM2=1 behaves as vm without ENABLE_EVMC=1 until
it doesn't in some future fatch set. this leaves some wiggle room
to work on a vm copy without degrading the original implementation.
details:
+ additional make flag ENABLE_VM2=1 (or ENABLE_VM2=0 to explicitely disable)
+ when both flags ENABLE_EVMC=1 and ENABLE_VM2=1 are present, the former
flag ENABLE_EVMC=1 takes precedence, this is implemented at the NIM
compiler level for -d:evmc_enabled and -d:vm2_enabled
2021-04-23 14:04:06 +03:00
Jordan Hrycaj
dfc93a74ad
moved validateTransaction() to executor
...
why:
not part of VM (see andri's requested change at #573 )
2021-04-07 15:13:28 +01:00
Jordan Hrycaj
9e365734e6
renamed nvm_ prefixed modules to its original names
...
why:
the nvm_ prefix was used inside the vm folder to hide them temporarily
from the outside world while writing export wrappers. now all
functionality is accessed via vm_*, rather than vm/* imports.
todo:
at a later stage the import headers of the vm modules need to get fixed
to meet style guide standards (as jacek kindly pointed out.)
2021-03-31 17:19:54 +01:00
Jordan Hrycaj
907465300f
isolate vm_state_transactions as import/export wrapper
...
details:
moved original vm_state_transactions.nim => vm/nvm_state_transactions.nim
2021-03-31 10:05:47 +01:00
jangko
71514a0a66
replace state_db with accounts_cache
2020-05-30 10:14:59 +07:00
Jacek Sieka
4ade5797ee
rlp: don't use ranges / experimental features ( #495 )
2020-04-20 20:12:44 +02:00
andri lim
0686bb4b6e
remove legacy unused code
2020-02-12 17:53:26 +02:00
andri lim
270854a5aa
simplify 'gasUsed' and 'refundGas'
2020-02-12 17:53:26 +02:00
andri lim
d9991b1e8b
simplify cash
2020-02-12 17:53:26 +02:00
andri lim
1cd9353faa
simplify computation
2020-02-12 17:53:26 +02:00
andri lim
55494f06e5
move 'validateTransaction' from GST into 'processTransaction'
2020-01-24 19:52:55 +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
577c7ca5aa
simplify 'execComputation'
2020-01-23 18:07:44 +02:00
andri lim
ea4f851f80
move create contract incNonce to 'applyMessage'
2020-01-23 18:07:44 +02:00
andri lim
ec8abf40e4
move 'tx.getRecipient' into 'setupComputation'
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
73c60fe694
unifying contract collision detection
2020-01-20 18:36:58 +02:00
andri lim
63e886655b
fixes coinbase suicide bugs
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
d30f434f03
get rid of computation child after execution
2020-01-19 19:17:37 +02:00
andri lim
ed62d1e217
[skip ci] more collectTouchAccounts reduction
2020-01-19 19:17:37 +02:00
andri lim
5e6018b20b
[skip ci] collectTouchedAccounts reduction
2020-01-19 19:17:37 +02:00
andri lim
8f7597e23b
[skip ci] add evmc CallKind to EVM Message
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
40ddbca1ee
[skip ci] simplify EVM message creation
2020-01-19 19:17:37 +02:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
andri lim
7c094a2a3e
initial implementation of transaction test
2019-08-29 19:54:38 +07:00
Jacek Sieka
2763bd0dd5
std_shims -> stew
2019-07-07 12:12:01 +02:00
andri lim
90e3a4320a
fix revert opcode at first level computation
2019-04-26 07:31:13 +07:00
andri lim
6295e6a7e4
fix touched miner problem, GST +25
2019-04-26 07:31:11 +07:00
andri lim
dd89af6d3d
implement EIP658: receipt status field
2019-04-26 07:31:09 +07:00
andri lim
1883472104
fix evm msg contract creation, GST +3
2019-04-18 12:42:37 +07:00
andri lim
f7338b7d76
include miner address in touchedAccounts, GST +7
2019-04-18 11:12:21 +07:00
andri lim
7c134b481e
split state clearing in execComputation to processTransaction, GST +5
2019-04-18 08:27:55 +07:00
andri lim
03435c7beb
gst and processTransaction unification
2019-04-18 07:56:57 +07:00
andri lim
6cf0cdf23a
implement EIP161 nonce incrementation, GST +65
2019-04-17 12:15:15 +07:00
andri lim
85d9bd3958
implement EIP158, GST -4 +81
2019-04-17 11:03:52 +07:00
andri lim
79630611c0
fixes #244
2019-04-15 11:34:41 +07:00
andri lim
0f8affb7c9
remove explicit return value from VM
2019-04-02 13:11:00 +07:00
Ștefan Talpalaru
348782ac6a
Merge branch 'fix_gaspricelimit' of github.com:jangko/nimbus into jangko-fix_gaspricelimit
2019-03-28 15:14:39 +01:00
andri lim
1ad4e256b2
fix self destruct refund gas problem
2019-03-28 19:07:30 +07:00
andri lim
62c1e668a9
fix tx_e1c174e2 problem, GST +1
2019-03-28 19:05:07 +07:00
andri lim
a02cbdd91b
turn getAccountsForDeletion into interator
2019-03-21 09:50:51 +07:00
andri lim
b6587bddfd
execComputation and applyMessage unification
2019-03-21 09:47:46 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +07:00
andri lim
9cc5db73c2
processTransaction simplification
2019-03-21 09:27:26 +07:00