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
009aa35dfb
remove unused eraseReturnData
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
20a138c270
[skip ci] change 'accountsToDelete' to 'touchedAccounts'
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
7be6a4ea63
gather suicides from child to parent computation
2019-12-20 16:46:03 +02:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
andri lim
15f3a7fe37
remove unused .child from computation
2019-05-13 10:26:28 +03:00
andri lim
dd89af6d3d
implement EIP658: receipt status field
2019-04-26 07:31:09 +07:00
Ștefan Talpalaru
29a226da1e
more gcsafe pragmas for Nim HEAD
2019-04-26 00:18:51 +02:00
andri lim
1883472104
fix evm msg contract creation, GST +3
2019-04-18 12:42:37 +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
039256de6a
more on continuation passsing
2019-04-04 15:21:24 +07:00
andri lim
e5cca19e7f
tail call recursion with continuation passing
2019-04-04 11:44:35 +07:00
andri lim
4c0ba876ef
move exception handler deeper in the EVM
2019-04-04 10:50:25 +07:00
andri lim
d9a9459d95
reduce stack usage
2019-03-28 19:06:38 +07:00
andri lim
527891cdb8
integrate snapshot with computation
2019-03-28 19:06:31 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +07:00
andri lim
4cc318d948
fix block 668910 problem
2019-02-28 10:04:49 +02:00
andri lim
47a8089ff8
fixes #236
2019-02-21 13:09:36 +02:00
andri lim
927abdc142
bugfix: multi-depth transaction tracer storage
2019-02-18 13:16:04 +02:00
andri lim
9efef3829f
fixes storage tracer
2019-02-06 18:42:03 +01:00
Yuriy Glukhov
481c6cf4ed
Use nim-eth ( #224 )
2019-02-05 20:15:50 +01:00
andri lim
b93d809805
fix internal transactions account tracing
2019-01-06 13:17:25 +02:00
andri lim
e78fb72ef6
fixes #188
2019-01-06 13:16:45 +02:00
andri lim
5cf43c2909
implement dumpDebuggingMetaData
2019-01-06 11:43:38 +02:00
andri lim
8a6d351c22
add internal transactions dump
2019-01-06 11:43:38 +02:00
andri lim
3b5562d85b
rebase
2019-01-06 11:43:38 +02:00
andri lim
b159b5c945
remove lastOpCodeHasRetVal, make it simpler
2019-01-06 11:43:38 +02:00
andri lim
ad1202f98a
initial make_receipt
2018-12-16 15:38:51 +02:00
Ștefan Talpalaru
115843487c
general-state testsuite changes and better fork selection
...
- skipped the tests in allowedFailInCurrentBuild()
- replaced doAssert() with check() in testFixtureIndexes() so we can see
both hash values on failure
- checking filename extension for JSON tests to avoid editor swap files
- replaced the duplicated block values in the main net's ChainConfig
with values from forkBlocks
- allowed overriding the current fork in computations, because the old
strategy of only looking at the block number doesn't work with JSON tests
where the block number is usually 1
- explicitly pass the fork to gasCosts() and use it for conditional cost
calculation
- fixed a logic error in the CREATE opcode
- fixed VM selection based on current fork in updateOpcodeExec()
- single point of control for supported forks in tests (just one fork, at the
moment)
- 44 new test failures (that were probably passing for the wrong reasons)
2018-12-07 18:18:29 +01:00
andri lim
572de41507
tracing opcode return value
2018-12-05 22:01:29 +07:00
andri lim
0b7b577af6
add more options to debug_traceTransaction
2018-12-05 22:01:29 +07:00
andri lim
5509c66cce
implement transaction tracer
2018-12-05 22:01:28 +07:00
coffeepots
f99138dca6
Merge branch 'call-fixes-precompiles'
2018-11-12 15:57:54 +00:00
Yuriy Glukhov
bac452f589
Initial TransactionTracer impl
2018-10-28 14:38:05 +01:00
coffeepots
e2087f0922
Remove precompile hash table
2018-10-02 15:55:28 +01:00
coffeepots
7cd7a73a1f
Add opCodeExec to allow computation to execute code
2018-09-14 16:42:15 +01:00
Yuriy Glukhov
3a1ec035b3
Various fixes towards state reconstruction
2018-09-07 14:00:37 +03:00
Jacek Sieka
db202dc35f
replace logging module with nim-chronicles ( fixes #38 )
...
This blindly changes logging to nim-chronicles - issues that ensue:
* keeps gas cost computation logs hidden behind flag
* unclear if logScope is practical - for example, since vm is split over
many files, topics get lost when using simple top-level per-module
topics
* when passing named object around, scope should incliude the name of
the object but this is caught neither by logScope nor by dynamicLogScope
2018-08-29 16:13:03 -06:00
Dustin Brody
f91bb16bdd
Initial EVMC message type API matching: reorder overlapping fields to match EMVC; rename to to destination; replace isStatic with more general flags (with only one non-zero value); remove superfluous-seeming shouldTransferValue; keep internalFoo fields, which aren't in PyEVM either, so weren't per se part of PyEVM matching
2018-08-14 15:03:18 +03:00
Yuriy Glukhov
b2acf3a5e3
GasMeter is an object now ( #73 )
2018-07-18 14:18:17 +02:00
Mamy Ratsimbazafy
4dd75aee84
Delete utilities: address, padding, bytes ( #68 )
...
* Delete utilities: address, padding, bytes
* Remove bigEndianToInt
* Fix C compiler error: member reference base type 'char' is not a structure or union
* fix todo comment
2018-07-06 17:08:31 +02:00