Commit Graph

909 Commits

Author SHA1 Message Date
Robert Habermeier
7ca5c115d8 validate all compressed buffers 2016-06-15 19:18:49 +02:00
Robert Habermeier
25f1f22c86 use account_pair in feed 2016-06-15 18:41:02 +02:00
Robert Habermeier
0e3a15cadb add a state rebuilder 2016-06-15 17:46:40 +02:00
Robert Habermeier
d7498c1dd5 rename AccountReader to Account, give a separate module 2016-06-15 16:42:49 +02:00
Robert Habermeier
a2bb3f2832 account storage decoding implemented 2016-06-15 16:34:11 +02:00
Marek Kotewicz
549647b6f2 fixed #1261, overflow when calculating work (#1283)
* fixed #1261, overflow when calculating work

* tests for difficulty_to_boundary

* return !U256::zer() for boundary <= 1
2016-06-15 16:33:38 +02:00
Robert Habermeier
d26e038dc7 fix bug in account code storage, add to_thin_rlp for AccountReader 2016-06-15 15:59:21 +02:00
Robert Habermeier
9badb310ae remove snappy_buffer_size constant in favor of max_compressed_len 2016-06-15 13:05:00 +02:00
Robert Habermeier
53b3a6f0a1 use UntrustedRlp in to_block 2016-06-15 12:45:04 +02:00
Robert Habermeier
17a60920cb adjust comments 2016-06-14 19:14:41 +02:00
Robert Habermeier
3290f393bd block rlp compression 2016-06-14 18:34:27 +02:00
Robert Habermeier
874bc808cb add some missing header setters 2016-06-14 18:12:05 +02:00
Robert Habermeier
8ed2b9c7d9 refactor out common parts of write_chunk 2016-06-14 15:32:49 +02:00
Robert Habermeier
dfb603dd08 compress into reusable buffers 2016-06-14 13:22:15 +02:00
Robert Habermeier
16e58958c9 use snappy compression on buffers 2016-06-14 12:32:51 +02:00
Robert Habermeier
b88eef5374 use append_empty_data rather than fibbing it 2016-06-14 11:48:34 +02:00
debris
0b8710a2a1 removed redundant if condition 2016-06-14 03:04:06 +02:00
Robert Habermeier
835b158069 store account code if it exists 2016-06-13 21:05:06 +02:00
Robert Habermeier
5cc6a681c9 push pair onto block chunker buffer 2016-06-13 20:48:12 +02:00
Robert Habermeier
5b6ea41d9d no longer lock the state db 2016-06-13 20:02:20 +02:00
Robert Habermeier
c36f47bbbf rename pv64_snapshot trace target to snapshot 2016-06-13 20:00:47 +02:00
Robert Habermeier
22a19819c6 rename pv64 module to snapshot 2016-06-13 20:00:00 +02:00
Marek Kotewicz
4ef4819bf9 removed try_seal from MinerClient interface (#1262) 2016-06-13 18:51:14 +02:00
Robert Habermeier
6ec282fe98 Merge with latest master 2016-06-13 16:35:59 +02:00
Robert Habermeier
98c7677ce1 expose only chunk_blocks and chunk_state APIs 2016-06-13 16:29:26 +02:00
Robert Habermeier
446d59426a io error handling and slight blockchunker refactoring 2016-06-13 16:21:23 +02:00
Robert Habermeier
f478812441 remove spammy account trace 2016-06-13 15:36:02 +02:00
Robert Habermeier
4ded1cc3d4 chunk remainder at end of each stage 2016-06-13 15:25:06 +02:00
Robert Habermeier
10c2302b55 create an AccountDB to extract account storage 2016-06-13 14:43:27 +02:00
Robert Habermeier
f400da405a state chunk creation tracing 2016-06-13 14:17:47 +02:00
Robert Habermeier
d9743f166f AccountReader -> to_fat_rlp implementation 2016-06-13 13:22:42 +02:00
Robert Habermeier
e5ca5e0926 [REQUIRES DB UPGRADE] have account_db use address hash 2016-06-13 12:48:19 +02:00
Robert Habermeier
d696a66d71 add account reader. trie walking not functional yet 2016-06-13 12:39:09 +02:00
Robert Habermeier
c9846b8f48 skeleton for StateChunker 2016-06-11 19:28:18 +02:00
Robert Habermeier
5c252f2a60 output manifest to correct file 2016-06-11 13:08:22 +02:00
Robert Habermeier
3b1cca5622 add manifestdata struct, write manifest file at the end 2016-06-10 17:19:55 +02:00
Robert Habermeier
b047eb29a1 removed size tolerance 2016-06-10 15:05:20 +02:00
Robert Habermeier
f689792481 added tracing 2016-06-10 14:43:01 +02:00
Robert Habermeier
c6e83caddf fix warning 2016-06-10 13:33:43 +02:00
Robert Habermeier
f12add6958 take_snapshot now chunks blocks 2016-06-10 13:10:12 +02:00
Robert Habermeier
997fd93016 finish implementing basic block chunking 2016-06-10 12:45:46 +02:00
Robert Habermeier
5e0ba1c310 take_snapshot and block chunking skeleton 2016-06-10 12:19:50 +02:00
debris
2a92e10fcd Merge branch 'master' of github.com:ethcore/parity into simplified_block_opening 2016-06-09 11:09:12 -07:00
Gav Wood
293d9f15d5 Tests for JSON serialisation of statediff/vmtrace (#1241)
* Splitting RPC Apis into more fine-grained sets

* Remove old code/comment.

* Add test for VMTrace ser.

* Add StateDiff ser test.
2016-06-08 12:40:55 -07:00
Robert Habermeier
13968aaa38 Refactor triedb constructors to error on invalid state root (#1230)
* add TrieError, refactor Trie DB creation

* remove Result type alias due to glob import conflicts

* fix fallout in state.rs

* add debug, display impl for TrieError

* fix fallout in account.rs

* ethcore::Error::TrieError variant

* fix remaining fallout in ethcore crate

* added From<TrieError> impl for Error, removed map_err calls

* fix test breakages

* fix doc tests

* update docs

[ci skip]
2016-06-07 11:44:09 -07:00
Gav Wood
4efd658577 Merge branch 'master' into txtracingforcall 2016-06-06 19:19:32 -07:00
debris
79919bdc3c simplified block opening 2016-06-06 14:34:23 +02:00
Tomasz Drwięga
18ffd94674 Fixing warnings 2016-06-06 12:18:17 +02:00
Arkadiy Paronyan
98d9752097 Merge pull request #1219 from ethcore/clippy-bump
Clippy bump & fixing warnings
2016-06-06 11:46:59 +02:00
Marek Kotewicz
b93c83b8a0 Merge pull request #1216 from ethcore/serde-bump
Bumping serde & syntex
2016-06-06 11:32:13 +02:00
Marek Kotewicz
ba8c7bc959 Merge pull request #1217 from rphmeier/state_at_state_root
Verify the state root exists before creating a State
2016-06-06 11:29:39 +02:00
Tomasz Drwięga
a7de430193 Merge branch 'master' into clippy-bump
Conflicts:
	dapps/Cargo.toml
2016-06-06 10:13:42 +02:00
Tomasz Drwięga
67b9e08ff0 Ignoring tests 2016-06-06 10:13:01 +02:00
Robert Habermeier
64b74eae43 fix travis build 2016-06-05 23:50:27 +02:00
Robert Habermeier
3dff5a9f3f add early exit for pruned blocks 2016-06-05 22:14:40 +02:00
Robert Habermeier
e6921144dc simplify conditional in state_at 2016-06-05 22:05:01 +02:00
Gav Wood
4675b7408f Merge branch 'switchrpcns' into txtracingforcall 2016-06-05 21:35:58 +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
Gav Wood
d39b9506d2 Minor code refactor. 2016-06-05 18:24:17 +02:00
Gav Wood
4153052148 Fix fn call in miner.rs same as client.rs. 2016-06-05 17:23:27 +02:00
Robert Habermeier
aa465fa2cd conditional style fix 2016-06-03 12:15:27 +02:00
Robert Habermeier
6f850ebdac does_pruning -> is_pruned 2016-06-03 12:10:10 +02:00
Gav Wood
4dc9aedfb5 Merge branch 'master' into txtracingforcall 2016-06-03 12:06:39 +02:00
Tomasz Drwięga
3905717d5d Fixing warnings 2016-06-03 11:36:30 +02:00
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
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
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
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