Commit Graph

95 Commits

Author SHA1 Message Date
Arkadiy Paronyan
7093651d70 More performance optimizations (#1814)
* Buffered DB

* Use identity hash for MemoryDB

* Various tweaks

* Delayed DB compression

* Reduce last_hashes cloning

* Keep state cache

* Updating tests

* Optimized to_big_int

* Fixing build with stable

* Safer code
2016-08-03 22:03:40 +02:00
keorn
11cb544c24 Collect consensus/null engines into a single module (#1754)
* collect consesnsus engine code into module

* move Engine to mod

* fix json test
2016-07-28 20:32:20 +02:00
Marek Kotewicz
9746b944f1 Stackoverflow fix (#1742)
* executive tracer builds flat traces without intermediate struct

* temporarilt commented out tests for traces

* fixed new way of building trace address

* fixed new way of building trace address

* updating state tests with flat tracing in progress

* fixed flat tracing tests

* fixed compiling ethcore-rpc with new flat traces

* removed warnings from ethcore module

* remove unused data structures
2016-07-28 20:31:29 +02:00
Gav Wood
ccb62d3b55 Trace other types of calls (#1727)
* Trace through DELEGATECALL and CALLCODE

Add them to the JSON output and RLP database store.

* Fix tests.

* Fix all tests.

* Fix one more test.
2016-07-27 17:41:21 +02:00
Tomasz Drwięga
3f41186b2e Fixing some clippy warnings (#1728)
* Fixing warnings

* Fixing unnecessary ref

* Removing unnecessary operation
2016-07-26 20:31:25 +02:00
Marek Kotewicz
63dbb527cc Suicides tracing (#1688)
* tracing suicide

* fixed #1635

* fixed typo
2016-07-22 14:47:23 +02:00
debris
a1857bf139 cleaning up substate 2016-07-21 16:50:24 +02:00
debris
77babe6226 added suicide details 2016-07-21 16:26:49 +02:00
Tomasz Drwięga
b304ce5838 Uncommenting simple Miner tests (#1571) 2016-07-09 11:23:06 +02:00
Gav Wood
488ff88562 Remove soft-fork stuff. 2016-07-05 18:18:35 +02:00
Gav Wood
2582253f95 Install trigger for DAO-rescue soft-fork.
Soft-fork should only be primed to trigger if the gas-limit of
block #1760000 is at most 4,000,000.

To accomplish this we pass in the gas limit of that block to
EnvInfo so it can inform Schedule. This gets marshalled through
`OpenBlock`/`ClosedBlock` and the `enact` functions much like
`last_hashes`. `block.rs`'s `env_info()` takes care to ensure
that if the current block happens to be #1760000, then we
populate with the current `gas_limit`.
2016-06-18 20:26:44 +02:00
Robert Habermeier
0318bb9fe9 Have Ext::ret take self by value (#1187)
* refactor externalities::ret to take self by-value, add GasLeft enum, and alter evm::Result.

* remove unused imports, StopExecutionWithGasLeft variant

* adjust tests

* remove extraneous call to reserve

* update json_tests Ext to match new trait

* adjust executive json_test

* have evms own their memory for their entire lifetime

* make finalize API more friendly

* indentation fix

[ci skip]
2016-06-02 19:04:15 +02:00
Gav Wood
b17581d7de VM tracing and JSON RPC endpoint for it. (#1169)
* Groundwork for basic VM tracing.

* RPC endpoint for VM tracing and ser/de types ready.

* Create VMTracer trait.

* Rearchitected VM tracing to reflect existing tracing.

Should more or less work now.

* Integrated VM tracing into JSONRPC.

* Fix ethcore module tests.

* Add tests for VM tracing.

* Fix consensus test code.

* Fix mock tests.

* Added VM trace information for post-execution stuff.

* Fix max-value calls and add "creates" field to getTransaction.

* Tests for VM tracing.

* Don't implement the trait with unimplemented.

* Remove invlaid comment.

* Fix tests.
2016-06-02 12:40:31 +02:00
Robert Habermeier
ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
Marek Kotewicz
6cff58055d CLI option for using JITEVM (#1103)
* easily configurable vm (in progress)

* completely removed vm_factory from engine

* --jitvm command line flag
2016-05-19 00:44:49 +02:00
Marek Kotewicz
66477a9476 Core tracedb functionality. (#996)
* fixed encoding 0u8

* simplified if else stmt

* tracedb core

* more comprehensive tracedb tests

* fixed minor review issues

* addresses filter

* fixed typos

* replace malformed with corrupted

* trace switch

* db key is generic and can be made smaller

* smaller tracedb keys

* tracedb version

* fixed ignored tests

* rename Tracedb -> TraceDB

* fixed typos

* proves

* trace only top level calls to builtins to avoid DDoS attacks

* fixed tracedb config switches

* fix comments fat replaced with trace

* vector-addressing scheme for localized traces

* removed comments

* removed first, redundant 0 from trace address

* updated db.trace method

* additional tests for tracedb.trace()
2016-04-30 16:41:24 +01:00
Tomasz Drwięga
7fbe3f4721 Fixing clippy warnings 2016-04-12 13:54:34 +02:00
debris
610251fdf7 Merge branch 'master' into tracing 2016-04-11 11:35:07 +02:00
Marek Kotewicz
373284ca0a spec loading cleanup (#858)
* spec loading cleanup in progress

* changed engine field in json spec

* refactored engine params

* polishing spec loading refactor

* fixed compiling json tests

* fixed compiling parity

* removed warnings

* removed commented out code

* fixed failing test

* bringing back removed TODO in spec.
2016-04-09 10:20:35 -07:00
debris
64294853cc separated tracing logic to its own trait 2016-04-08 01:50:55 +02:00
Gav Wood
6ac350a996 Tests for lots more configurations. 2016-03-20 16:24:19 +01:00
Gav Wood
a2fc006ee5 First test. 2016-03-19 21:02:44 +01:00
Gav Wood
ab9b8c7bf3 Output data (code) for creates. 2016-03-19 18:46:41 +01:00
Gav Wood
7d93fa2533 Output stored for calls. 2016-03-19 18:37:55 +01:00
Gav Wood
203438fb42 Fix tests. 2016-03-19 13:07:49 +01:00
Tomasz Drwięga
4b6e1dd4d2 Fixing warnings 2016-03-12 10:25:51 +01:00
Tomasz Drwięga
d84e008e00 Removing superflous check for nightly 2016-03-11 11:16:49 +01:00
Tomasz Drwięga
cbc2c0cf0c Fixing clippy warnings. When building on nightly it is required to enable clippy 2016-03-07 14:34:17 +01:00
debris
8113c689fc Merge branch 'master' into jsonrpc2 2016-02-19 14:07:11 +01:00
debris
b5d6359030 fixed allow warnings in ethcore 2016-02-19 12:40:23 +01:00
debris
b01652f3e7 LocalizedLogEntry and Filter in ethcore module 2016-02-16 18:21:45 +01:00
Tomusdrw
2c4700f4c1 Fixing clippy warnings 2016-02-15 00:55:45 +01:00
debris
f1b39ee1e5 nightly fixes 2016-02-14 12:54:27 +01:00
Nikolay Volf
dabce9ab45 cleanup, warnings 2016-02-10 01:11:22 +03:00
Nikolay Volf
2982c7973e externalities suicide test 2016-02-10 01:02:31 +03:00
Nikolay Volf
2b6eb97f66 log test 2016-02-10 00:41:45 +03:00
Nikolay Volf
71786dd172 should_panic test 2016-02-10 00:32:47 +03:00
Nikolay Volf
3b01ca93cd call fail test 2016-02-09 22:30:35 +03:00
Nikolay Volf
1603b2bf64 flush 2016-02-09 19:47:14 +03:00
Nikolay Volf
5767931df6 dried out tests 2016-02-09 19:29:52 +03:00
Nikolay Volf
b42f5145a6 check env_info 2016-02-09 07:54:58 -08:00
Nikolay Volf
7f607905ed moving around setups 2016-02-09 07:31:57 -08:00
Nikolay Volf
cc4206f690 initial test setup 2016-02-09 06:28:27 -08:00
debris
c90d64662a added license in every *.rs file 2016-02-05 13:40:41 +01:00
debris
8fe0d74b64 moved src to ethcore 2016-01-31 10:36:48 +01:00