Commit Graph

173 Commits

Author SHA1 Message Date
Robert Habermeier 5dd56aa070 port ethcore 2016-09-01 14:29:59 +02:00
Marek Kotewicz b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

* new module - ethcrypto used by ethstore and ethcore-network

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Robert Habermeier eed7d006f1 Fix up tests, remove dead state-diff code 2016-08-18 18:13:32 +02:00
Gav Wood 9bb9a84d40 Fix test. 2016-08-03 23:23:45 +02:00
Gav Wood 52355855fc Fix up the VM trace. 2016-08-03 20:07:30 +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 eaa41ea568 Add RPC & client call to replay a transaction. (#1734)
* Add RPC & client call to replay a transaction.

* Address grumbles
2016-07-27 21:34:32 +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
Gav Wood 3f841cc578 Name and meta in accounts (#1695)
* Introduce persistent name() and meta() in SecretStore.

* Quick stash.

* Fix build.

* Add ethcore_set methods.

* Bug fixes for default values.

* Move to personal to ensure set API exposed.

* Add UUID to accounts info.

* Add tests.
2016-07-24 17:38:21 +02:00
Tomasz Drwięga 4c1b74a42e Calculating gas using usize (if supplied gaslimit fits in usize) (#1518)
* Spliting gasometer out of interpreter

* Choosing right gas calculations implementation based on supplied gas

* Moving verification out of gasometer

* MemGasCost benchmark.

Conflicts:
	ethcore/src/evm/benches/mod.rs

* Some simple benchmarks

* Benchmark for simple loop

* Calculating gas_for_memory only when it's actually needed

* Removing superfluous newline [ci skip]
2016-07-05 15:15:44 +02:00
Tomasz Drwięga a7de430193 Merge branch 'master' into clippy-bump
Conflicts:
	dapps/Cargo.toml
2016-06-06 10:13:42 +02:00
Marek Kotewicz c8c47ebe32 Merge pull request #1206 from ethcore/diffing
Integrate state diffing into the ethcore JSONRPC
2016-06-05 21:35:36 +02:00
Tomasz Drwięga 3905717d5d Fixing warnings 2016-06-03 11:36:30 +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
Gav Wood b9ec87548d Minor renaming diff -> state_diff 2016-06-02 12:39:25 +02:00
Gav Wood bc5c3da2af Merge branch 'vmtracing' into diffing 2016-06-02 12:28:09 +02:00
Gav Wood d40a038f37 Fix tests. 2016-06-02 11:49:27 +02:00
Gav Wood 26da38a439 Merge remote-tracking branch 'origin/master' into vmtracing 2016-06-02 11:40:39 +02:00
Gav Wood 34edecd59d State diffing, exposed through JSONRPC. 2016-05-31 21:03:44 +02:00
Robert Habermeier ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
Gav Wood 5766354c19 Tests for VM tracing. 2016-05-31 12:04:53 +02:00
Gav Wood 8082fdb3ff Fix max-value calls and add "creates" field to getTransaction. 2016-05-30 22:27:28 +02:00
Gav Wood 22c4298bee Add tests for VM tracing. 2016-05-29 13:05:41 +02:00
Gav Wood c20eaf98ec Fix ethcore module tests. 2016-05-29 11:37:35 +02:00
Gav Wood cd16828fef Integrated VM tracing into JSONRPC. 2016-05-29 00:58:52 +02:00
Gav Wood 86fdcabd0e Rearchitected VM tracing to reflect existing tracing.
Should more or less work now.
2016-05-28 23:57:16 +02:00
Gav Wood c1ed520de0 RPC endpoint for VM tracing and ser/de types ready. 2016-05-28 16:52:33 +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
Nikolay Volf 4e41cbca81 Moving all Client public API types to separate mod & binary serialization codegen for that mod (#1051)
* transaction moved

* trash remove

* ids move

* receipt

* tree-route

* blockchain info

* log_entry move

* trace filter moved

* executed & trace moved

* localized trace moved

* block status moved

* build scripts and codegen refs

* Cargo.lock update

* binary for blockstatus, blockchaininfo

* binary for trace

* trace filters binary ser

* binary for log entries & executed

* binary for receipt

* special case for u8 & transaction binary attribute

* resolved remaining issues & error binary serialization

* json-tests util import

* fix warnings

* ids attr

* add missing attributes

* Update build.rs
2016-05-16 18:33:32 +02:00
Nikolay Volf 354ac7d6e5 Limiting result of the execution to execution-specific errors (#1071)
* execution error/result limiting

* missing trailing comma

* fix executive tests

* adding original error as string to the generic transaction error

* 'mallformed'-s all around
2016-05-14 13:28:44 +01:00
Tomasz Drwięga e2465b1eab Bumping clippy & fixing warnings (#1024)
* Bumping clippy

* Fixing warnings found by clippy
2016-05-02 13:13:12 +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
Arkadiy Paronyan 8f7624f5cb Support 'pending' block in RPC (#1007)
* Support `pending` block in RPC

* Forward calls from miner to client in case no pending block is available
2016-04-28 20:47:44 +01:00
Tomasz Drwięga 7fbe3f4721 Fixing clippy warnings 2016-04-12 13:54:34 +02:00
debris fcf7f392f0 fixed failing tests 2016-04-08 11:48:37 +02:00
debris 64294853cc separated tracing logic to its own trait 2016-04-08 01:50:55 +02:00
debris 09beeaba8e trace result is a structure; 2016-04-06 21:23:52 +02:00
arkpar 9b7c48110a Fixed eth_call nonce and gas handling 2016-04-06 13:05:58 +02:00
Gav Wood 845fa97da1 Fix eth_call so it doesn't need the secret of the sender. 2016-03-26 13:30:02 +01:00
Gav Wood 8906b78b07 Revert break. 2016-03-21 11:56:11 +01:00
Gav Wood 8ed8652296 Reuse should_Trace. 2016-03-21 11:53:52 +01:00
Gav Wood c4d45e0cf0 Trace basic calls! And tests. 2016-03-21 11:24:03 +01:00
Gav Wood 72b604b8e8 Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it. 2016-03-20 19:20:37 +01:00
Gav Wood b4c2505eab Merge branch 'master' into tracing 2016-03-20 16:30:59 +01:00
Gav Wood 6ac350a996 Tests for lots more configurations. 2016-03-20 16:24:19 +01:00
Gav Wood d2d5806e9b Test for failed create transactions, failed actions are logged as such. 2016-03-20 12:04:31 +01:00
debris aa47d944e1 implemented rpc eth_estimateGas method, added tests for rpc eth_call and eth_estimateGas 2016-03-20 11:34:19 +01:00
Gav Wood f75fb6a59f Create transaction tracing test. 2016-03-20 11:33:36 +01:00
debris 9fb19e6dd0 Merge branch 'master' of github.com:ethcore/parity into call 2016-03-20 10:04:27 +01:00
Gav Wood bc6a892f2b Test outer create. 2016-03-19 22:12:52 +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 bd7cd68c32 Track depth. 2016-03-19 14:35:09 +01:00
debris bc5df9c908 added output to execution result 2016-03-19 14:29:09 +01:00
Gav Wood 203438fb42 Fix tests. 2016-03-19 13:07:49 +01:00
Gav Wood 1bfcbca8af Add doumentation, make tracing optional and expose at OpenBlock level. 2016-03-19 12:54:34 +01:00
Gav Wood d6f94c4ad7 Fix test and first part of optionality. 2016-03-19 08:31:19 +01:00
Gav Wood bd338a5741 Tracing implemented.
TODO:
- make it optional;
- track output;
- usher through to level higher than ExecutionResult.
2016-03-18 23:49:12 +01:00
Nikolay Volf 7f607905ed moving around setups 2016-02-09 07:31:57 -08:00
Nikolay Volf fc0153a5a4 returning client to the place it should be, cleanup 2016-02-09 00:54:33 +03:00
Marek Kotewicz 720c280fde Merge pull request #350 from ethcore/signed_transaction
SignedTransaction structure
2016-02-05 14:11:12 +01:00
Gav Wood 105f4262dd Merge pull request #354 from ethcore/license
License
2016-02-05 14:06:10 +01:00
debris c90d64662a added license in every *.rs file 2016-02-05 13:40:41 +01:00
debris eab8410402 finishe signed transactions 2016-02-04 23:48:29 +01:00
arkpar b9af3f9260 State copy optimization 2016-02-03 19:34:51 +01:00
debris 808e517ff0 removing unused functions in progress 2016-02-02 23:06:34 +01:00
debris cb98cbcd4b ethcore public interface cleanup 2016-02-02 15:55:44 +01:00
Nikolay Volf 5837b6e131 Merge branch 'master' into coverage-effort
Conflicts:
	ethcore/res/ethereum/tests
2016-01-31 18:40:59 +04:00
debris 8fe0d74b64 moved src to ethcore 2016-01-31 10:36:48 +01:00