Commit Graph

897 Commits

Author SHA1 Message Date
Robert Habermeier
1e10445f82 exists -> contains 2016-06-02 21:23:43 +02:00
Robert Habermeier
6c6229c963 check if state root is valid for old blocks 2016-06-02 20:52:21 +02:00
Robert Habermeier
d7b79c1274 don't return a state in state_at if the db prunes and the block is before guaranteed history 2016-06-02 20:34:38 +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
a132fefcc7 Transaction tracing for eth_call. 2016-06-02 13:50:50 +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
5c63311268 Add missing types. 2016-06-01 20:02:23 +02:00
Nikolay Volf
1ef4db82e8 doctest fixes 2016-06-01 14:50:06 +02:00
Nikolay Volf
c00b84e10b merge fixes 2016-06-01 12:54:47 +02:00
Nikolay Volf
0c782bf34b Merge branch 'master' into client-refact 2016-06-01 12:45:04 +02:00
Nikolay Volf
db749dc564 fix remaining tests & doctest 2016-06-01 12:44:11 +02:00
Nikolay Volf
d45a676dc0 all tests fixed 2016-05-31 22:24:32 +02:00
Robert Habermeier
bbb858b386 address small syntax breakages 2016-05-31 21:38:05 +02:00
Nikolay Volf
2a08fb8fe3 and conditional dispatch 2016-05-31 21:17:46 +02:00
Gav Wood
34edecd59d State diffing, exposed through JSONRPC. 2016-05-31 21:03:44 +02:00
Robert Habermeier
ec7af964ab correct map macro invocation 2016-05-31 21:01:47 +02:00
Nikolay Volf
a845e08bc6 rename of the trait 2016-05-31 20:33:26 +02:00
Nikolay Volf
8e252d5f1b refactored to merge client & client 2016-05-31 19:52:53 +02:00
Nikolay Volf
4f732972bc refactoring to hold miner within the client 2016-05-31 19:01:37 +02:00
Robert Habermeier
da9d6bf8d5 rename [hash_]mapx to [hash_]map_into 2016-05-31 17:29:01 +02:00
Robert Habermeier
3abaeadcf3 finish purging x! from ethcore 2016-05-31 17:18:21 +02:00
Robert Habermeier
ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
Nikolay Volf
0cd8644292 split interfaces 2016-05-31 16:41:15 +02:00
Gav Wood
f9a0cc47a0 Enable PoD sutff. 2016-05-31 12:59:00 +02:00
Gav Wood
649767b911 Merge remote-tracking branch 'origin/master' into vmtracing 2016-05-31 12:05:23 +02:00
Gav Wood
5766354c19 Tests for VM tracing. 2016-05-31 12:04:53 +02:00
Arkadiy Paronyan
6d25e7f8b4 Merge pull request #1164 from ethcore/sync
Sync fixes and tweaks
2016-05-30 22:29:29 +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
79503e4f14 Added VM trace information for post-execution stuff. 2016-05-30 17:19:15 +02:00
Gav Wood
af05939d74 Fix consensus test code. 2016-05-29 14:01:34 +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
a5808833b1 Merge remote-tracking branch 'origin/master' into vmtracing 2016-05-29 11:13:48 +02:00
Gav Wood
cd16828fef Integrated VM tracing into JSONRPC. 2016-05-29 00:58:52 +02:00
Arkadiy Paronyan
b9f7ed9185 Merge pull request #1141 from rphmeier/rpc-tests
Framework for improved RPC unit tests
2016-05-29 00:50:19 +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
d4a06b27ed Create VMTracer trait. 2016-05-28 17:50:20 +02:00
arkpar
1e8bf8c89d More tweaks 2016-05-28 17:17:10 +02:00
arkpar
d1fc5a5611 Tweaked some constansts for slower machines 2016-05-28 17:17:10 +02:00
Gav Wood
c1ed520de0 RPC endpoint for VM tracing and ser/de types ready. 2016-05-28 16:52:33 +02:00
Gav Wood
42e4c2d51c Groundwork for basic VM tracing. 2016-05-27 20:41:29 +02:00
Robert Habermeier
1de7ea090c add informative comment on transaction::Action 2016-05-27 18:18:44 +02:00
Tomasz Drwięga
58039fb420 Fixing few clippy warnings 2016-05-27 17:56:25 +02:00
Robert Habermeier
3f89362630 rename x_latest to latest_x in BlockChainClient 2016-05-27 16:35:42 +02:00
Robert Habermeier
a3b1cdb175 add docs for nonce_latest 2016-05-27 16:35:41 +02:00
Robert Habermeier
5afa4621f9 added balance_latest, storage_at_latest utilities
with modus ponens panickers
2016-05-27 16:35:41 +02:00
Robert Habermeier
3c7e4b8c6c added nonce, nonce_latest 2016-05-27 16:35:41 +02:00
Robert Habermeier
86eab79d9d consolidate [balance/storage]_at and _at_id functionality 2016-05-27 16:35:41 +02:00
Robert Habermeier
3405f3eab1 implement storage_at_id 2016-05-27 16:35:41 +02:00
Robert Habermeier
2b7fae8fa6 add state_at_id and balance_at_id, integrate with RPC 2016-05-27 16:35:41 +02:00
Arkadiy Paronyan
8872558e0d Merge pull request #1153 from ethcore/mordenbootnodes
More bootnodes for morden.
2016-05-26 21:49:09 +02:00
Marek Kotewicz
7370776af1 Bloomchain (#1014)
* use bloomchain crate in blockchain module. remove obsole chainfilter submodule

* update database version to 6.0

* removed redundant line

* simple db migration

* make migration slightly more functional

* bloomchain migration

* migration version is just a single unsigned integer

* updated migration v6

* parity migration

* db migration

* removed hardcoded migration dir

* replace ptr::copy with clone_from_slice, removed potential endianess problem from trace/db.rs

* removed superfluous line

* blockchains log blooms config is not exposed any more
2016-05-26 18:24:51 +02:00
Tomasz Drwięga
fa6b35ec8d Bumping clippy. Fixing warnings (#1139)
* Bumping clippy. Fixing warnings

* Removing unused import

* Fixing complexity and arguments warning on two functions
2016-05-25 17:03:58 +02:00
Gav Wood
75d0606bc0 More bootnodes for morden. 2016-05-25 11:37:19 +02:00
Arkadiy Paronyan
fba5082b00 Propagate uncles (#1134) 2016-05-24 21:56:17 +02:00
Marek Kotewicz
bf46531372 Merge pull request #1116 from rphmeier/die_display
Have `die_with_error` use `fmt::Display` rather than Debug
2016-05-24 20:00:50 +02:00
Gav Wood
564a996620 Basic hex block exporting. 2016-05-23 09:51:36 +02:00
Robert Habermeier
6fb54f4c9d remove extraneous braces in ExecutionError Display impl 2016-05-22 12:47:42 -04:00
Robert Habermeier
5d997ef099 address match style concerns 2016-05-22 12:41:45 -04:00
Gav Wood
828bf7cb9e Make receipt's gasUsed property work properly.
Fixes #1111
2016-05-21 14:49:21 +02:00
Robert Habermeier
a7d7cb9ecb add Display impl for ethcore::Error, UtilError 2016-05-20 18:13:16 -04:00
Robert Habermeier
b0452cf309 add DIsplay impl for ExecutionError, CryptoError, and NetworkError 2016-05-20 18:12:51 -04:00
Marek Kotewicz
852155959d Merge pull request #1098 from ethcore/trace_err
pretty print trace error
2016-05-19 18:00:39 +02:00
arkpar
ca6c91f591 New sync algorithm 2016-05-19 16:16:11 +02:00
debris
95365670e4 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 14:15:05 +02:00
debris
506ca15a15 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 11:07:53 +02:00
debris
634679966e Make Id/ID and db/Db/DB usage consistent 2016-05-19 11:00:32 +02:00
Nikolay Volf
6c6bbe9c57 Merge branch 'master' into miner-spec-refact
Conflicts:
	ethcore/src/client/client.rs
	ethcore/src/client/mod.rs
	ethcore/src/client/test_client.rs
	miner/src/miner.rs
2016-05-19 03:51:05 +03:00
debris
7f0d1173ba fixed weird line breaking 2016-05-19 01:05:24 +02:00
debris
55ebab2392 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 01:03:55 +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
Gav Wood
46f3b5f913 Fix up the seal fields in RPC output. (#1096)
Make Ethash::extra_info() work.
Seal fields now decode the RLP.
2016-05-19 00:41:41 +02:00
debris
407f046b9c fixed compilation errors 2016-05-18 13:49:23 +02:00
Tomasz Drwięga
44c29ece17 Merge branch 'master' into fixing-warnings 2016-05-18 11:59:55 +02:00
debris
14b6b389f2 propagate trace error to the top 2016-05-18 11:34:15 +02:00
Marek Kotewicz
dcc695dda5 Merge pull request #1094 from ethcore/seal_fields_fix
fixed incorrect decoding of header seal_fields. added tests. #1090
2016-05-17 11:47:07 +02:00
debris
28fc0aacc0 header seal fields should be post-RLP-encoded, not pre 2016-05-17 11:07:51 +02:00
debris
fa7944ce3d fixed incorrect decoding of header seal_fields. added tests. #1090 2016-05-17 10:50:11 +02:00
Tomasz Drwięga
a950b81ee8 Fixing clippy warnings 2016-05-17 10:32:05 +02:00
Tomasz Drwięga
f7929ffdd4 Disabling some lints to clear the output 2016-05-17 09:38:21 +02:00
Tomasz Drwięga
9b9ea93ff7 Bumping clippy & crossbeam 2016-05-17 09:33:01 +02:00
Nikolay Volf
caec38d533 Merge branch 'master' into miner-spec-refact
Conflicts:
	ethcore/build.rs
2016-05-16 19:46:56 +03:00
Nikolay Volf
8cc321fe24 fix warnings 2016-05-16 19:45:16 +03:00
Nikolay Volf
7c28b1cef9 removed engine retrieval from client public api 2016-05-16 19:43:48 +03: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
994d056922 miner will use separate spec 2016-05-16 19:16:56 +03:00
Nikolay Volf
71278def5e Merge branch 'master' into types-binary 2016-05-16 17:48:18 +03:00
Gav Wood
f4d5c7b48e Fix uncle getter
Uncle blocks don't necessarily have BlockDetails, so can't get total
difficulty directly.
Closes #1057
2016-05-16 12:46:09 +02:00
Nikolay Volf
96e92f1c38 add missing attributes 2016-05-15 02:34:27 +03:00
Nikolay Volf
d67d1eb355 ids attr 2016-05-15 02:32:53 +03:00
Nikolay Volf
9e7968c92e fix warnings 2016-05-15 02:13:45 +03:00
Nikolay Volf
326e1b3a42 json-tests util import 2016-05-15 01:56:18 +03:00
Nikolay Volf
483687b6bf resolved remaining issues & error binary serialization 2016-05-15 00:51:02 +03:00
Nikolay Volf
2d992d0c29 Merge branch 'master' into types-binary
Conflicts:
	ethcore/src/error.rs
2016-05-14 23:12:18 +03: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
Nikolay Volf
889642c3d4 special case for u8 & transaction binary attribute 2016-05-11 13:23:11 +03:00
Nikolay Volf
79d6c84a43 binary for receipt 2016-05-06 17:41:17 +04:00
Nikolay Volf
e7c4e5273a binary for log entries & executed 2016-05-06 17:38:00 +04:00
Nikolay Volf
f9c08df235 trace filters binary ser 2016-05-06 17:30:36 +04:00
Nikolay Volf
c622fc62d5 binary for trace 2016-05-06 17:19:53 +04:00
Nikolay Volf
29531ae72f binary for blockstatus, blockchaininfo 2016-05-06 17:16:03 +04:00
Nikolay Volf
00ce4aaa26 build scripts and codegen refs 2016-05-06 01:10:50 +04:00
Nikolay Volf
14bcca54d2 block status moved 2016-05-06 00:47:47 +04:00
Nikolay Volf
e95f610195 localized trace moved 2016-05-06 00:38:13 +04:00
Nikolay Volf
25c88b7529 executed & trace moved 2016-05-06 00:33:43 +04:00
Nikolay Volf
2a721b4eda trace filter moved 2016-05-06 00:17:03 +04:00
Nikolay Volf
a8affa6dee log_entry move 2016-05-05 23:57:10 +04:00
Nikolay Volf
beb33672bd blockchain info 2016-05-05 23:47:07 +04:00
Nikolay Volf
b6d1801e12 tree-route 2016-05-05 23:04:59 +04:00
Nikolay Volf
7e9779e334 receipt 2016-05-05 22:56:44 +04:00
Nikolay Volf
271d3f3e57 ids move 2016-05-05 22:37:30 +04:00
Nikolay Volf
7d27aceee4 trash remove 2016-05-05 22:21:40 +04:00
Nikolay Volf
23f1a8fd48 transaction moved 2016-05-05 22:20:34 +04:00
Tomasz Drwięga
15a8860e8a Fixing clippy warnings 2016-05-04 15:22:22 +02:00
Gav Wood
ac73b2628a Basic Authority (#991)
* Firt commit.

* First non-functional but correct implementation of BasicAuthority.

Still needs:
- Sealing infrastructure.

* Punch a hole to give miner access to key store.

* Fix test built.

* Basic version of synchronous mining.

This will seal a block whenever a new transaction comes through.
To be made better we need a timer which will wait for one second after the
last block before sealing a new one - better still would be to cooperatively
interleave blocks with other sealing nodes.

* Add tests.

* Fix minor issues from repotting.

* Address grumbles.
2016-05-03 17:23:53 +02:00
arkpar
008d009e3e Version 1.2 2016-05-02 15:02:26 +02: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
7c2adc4137 Tracedb interface && cli (#997)
* traces cli and jsonrpc api

* missing if in docs

* adding traces to modules
2016-05-02 12:17:30 +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
Gav Wood
242b986196 Fix spelling of "omitted" 2016-04-24 22:16:34 +01:00
Gav Wood
0810de4415 Fix spelling of "omitted" 2016-04-24 22:16:06 +01:00
debris
d5555de1b9 import route contains ommited blocks 2016-04-24 19:40:04 +02:00
Arkadiy Paronyan
f2a5630fdf Merge pull request #972 from ethcore/db_writer
querying extras separated to its own module
2016-04-21 11:26:13 +02:00
Arkadiy Paronyan
e47af7f745 Merge pull request #966 from ethcore/from-bytes-extend
Addressing binary serialization for db types
2016-04-20 18:17:00 +02:00
debris
273e4d6f32 removed db/module, a single file is enoguh 2016-04-20 15:53:01 +02:00
debris
bffa1e1ec9 simplified writing and reading from database with cache 2016-04-20 15:45:42 +02:00
debris
9ce9fd390d Merge branch 'master' of github.com:ethcore/parity into db_writer 2016-04-20 13:45:53 +02:00
Marek Kotewicz
225a5ee825 removed redundant unwraps (#935)
* removed redundant unwraps

* fixed compilation error, removed warnings

* fixed transaction queue merge conflict

* fixed failing ethminer doc test
2016-04-19 10:35:32 -07:00
Tomasz Drwięga
caf4d179a2 Even more detailed errors for transaction queue (#969)
* Even more detailed errors for transaction queue

* Small rename

* Removing macros in favour of functions+try!()
2016-04-18 10:34:59 -07:00
debris
62455a4094 separated from blockchain and made reusable db reader and batch writer 2016-04-18 18:15:03 +02:00
debris
524a495ffd temporary fix of panic in blockchain garbage collection 2016-04-18 15:18:14 +02:00
Nikolay Volf
3138584320 generalized fixedsized structs with macro 2016-04-17 18:52:44 +03:00
Nikolay Volf
17f26ad588 finished for BlockLocation 2016-04-17 18:30:42 +03:00
Nikolay Volf
bd2149406d from/to for BlockLocation 2016-04-17 18:18:25 +03:00
debris
5c4086bf8e log errors when db queries fails 2016-04-15 19:32:30 +02:00
debris
295efdba55 refactored blockchain extras keys building 2016-04-15 18:54:35 +02:00
Tomasz Drwięga
00372cf747 Removing a transaction from queue now removes all from this sender with lower nonces. (#950)
* Changing  to wipe-out all transactions from particular sender lower then given nonce.

* Changing given nonce to be client_nonce

* Fixing test_client to support proper nonces when transactions are added to blockchain

* Fixing logic for transactions from new blocks in chain
2016-04-14 22:38:23 -07:00
Gav Wood
32ca8066e9 Tracing and docs. (#952) 2016-04-13 11:26:41 -07:00
Arkadiy Paronyan
c7d6444ae0 Merge pull request #936 from ethcore/bumping-clippy
Bumping clippy and fixing warnings.
2016-04-12 16:49:30 +02:00
Nikolay Volf
bdb35cfaed Merge pull request #927 from ethcore/pruning_auto
Pruning auto
2016-04-12 16:00:39 +03:00
Tomasz Drwięga
7fbe3f4721 Fixing clippy warnings 2016-04-12 13:54:34 +02:00
Tomasz Drwięga
6b03a3218c Bumping clippy version 2016-04-12 13:51:39 +02:00
Gav Wood
fa95419c27 --pruning=auto option. 2016-04-11 18:42:50 -07:00
debris
4bfbb56701 added explanatory comments 2016-04-11 11:36:39 +02:00
debris
610251fdf7 Merge branch 'master' into tracing 2016-04-11 11:35:07 +02:00