Commit Graph

1247 Commits

Author SHA1 Message Date
Arkadiy Paronyan
4e447ccc68 More performance optimizations (#1649)
* Use tree index for DB

* Set uncles_hash, tx_root, receipts_root from verified block

* Use Filth instead of a bool

* Fix empty root check

* Flush block queue properly

* Expunge deref
2016-07-19 09:23:53 +02:00
Nikolay Volf
459dcbcef1 Removing unused client code (#1645)
* moving ipc deriving to trait

* refactoring of the client
2016-07-19 09:21:41 +02:00
NikVolf
028d6f6853 Merge branch 'master' into sync-svc 2016-07-18 15:20:57 +02:00
Tomasz Drwięga
605d9d24a4 Adding more details to miner log 2016-07-18 13:50:45 +02:00
Arkadiy Paronyan
dd17c766b8 Blockchain repair on missing state root (#1646)
* BC locking; Recovery batch

* Missing state root recovery

* Test
2016-07-17 23:03:29 +02:00
Gav Wood
0d2f516ad7 Multi-mode logging. (#1643)
* Multi-mode logging.

Better for miners (they get immediate notification of new block).
Better for general use (less superfluous information shown).

* Remove comment.

[ci:skip]

* Minor string change

[ci:skip]

* Minor message tweak.

* Minor tweaks and indentation fix.
2016-07-17 23:00:57 +02:00
Arkadiy Paronyan
5ab18d1313 Performance optimizations (#1642)
* Optimize ethash verification

* disable WAL for puts

* Clear account cache after commit

* Commit only modified accounts

* Optimize existing block check

* Cache last hashes
2016-07-17 09:18:15 +02:00
Arkadiy Paronyan
5dba43178b Removed DAO soft fork traces (#1639) 2016-07-16 19:49:52 +02:00
NikVolf
c3ef5c10a3 got rid of the generic parameter for ipc interface 2016-07-16 19:24:45 +02:00
NikVolf
77bbab009e got rid of Arc<T> dispatch 2016-07-16 19:09:14 +02:00
NikVolf
a74b72faa2 submodules update 2016-07-16 16:51:03 +02:00
NikVolf
be25e930e5 Merge branch 'master' into sync-svc 2016-07-16 15:57:30 +02:00
NikVolf
4cb1c906b0 rpc dependencies relayout 2016-07-16 15:51:06 +02:00
Gav Wood
799c69c8d5 DAO hard-fork (#1483)
* Minor additions to allow resetting of code.

* Add test.

* Provisional DAO hard-fork proposal.

* Change to reflect latest HF spec.

* Include extradata restrictions and overrides.

* Introduce new tests.

* Update tests to new spec format.

* Allow JSON chain spec fields to be optional.

* Remove superfluous definitions. Fix overflow risk.

* Fix build.

* Add missing file.

* Remove old flag.

* Update to latest address set.

* Update tests and test spec to latest.

Change the mining default to release only on own transactions.
2016-07-16 13:02:56 +02:00
Nikolay Volf
7b5d39e0a1 fix network_start regression (#1629)
* fix network_start regression

* network io handler

* move registration to the network start
2016-07-16 11:31:59 +02:00
Gav Wood
d14b6871a5 Cleanup of colour code. Use is_a_tty. (#1621)
* Cleanup of colour code. Use is_a_tty.

* Fix test build.

* Another fix.
2016-07-15 10:11:14 +02:00
Robert Habermeier
d5d0cb0b47 don't batch best block for branches (#1623) 2016-07-14 19:16:01 +02:00
Gav Wood
598833d1ea Fix "pending" parameter on RPC block requests (#1602)
* Initial commit.

* Pending blocks work.

* Address grumbles.

* Fix up for new API.
2016-07-14 15:24:12 +02:00
Tomasz Drwięga
6c205067b1 Miner tests (#1597)
* Un-ignoring RPC test

* Additional tests for importing transactions
2016-07-14 12:16:53 +02:00
Nikolay Volf
44bc8a08fb Sync IPC interface (#1584)
* chain notify trait

* replaced network service with io service

* fix ethcore crate warnings

* refactored network service without generic

* ethcore fix

* ethsync refactoring

* proper linking of notify

* manage network interface

* rpc crate rebinding

* full rewire

* sync internal io service

* fix deadlock

* fix warnings and removed async io

* sync imported message propagation

* fix rpc warnings

* binart warnings

* test fixes

* rpc mocks and tests

* fix util doctest

* fix message name and removed empty notifier

* pointers mess & dark mode fixed

* fixed sync doctest

* added few warnings

* fix review

* new convention match

* fix error unwraps

* doctest fix

* basic library re-layout

* missing files to relayout

* duplicating network config on sync level

* binary serializers for config

* ipc endpoint for manage

* ipc endpoint for sync

* handshake sorting out

* sorting out the multi-interface dispatch scenario

* fixing tests

* fix doctest
2016-07-14 12:07:33 +02:00
Nikolay Volf
50c43bd819 Merge pull request #1610 from ethcore/db-repair
Fix bloomchain on blockchain repair
2016-07-14 01:14:57 +02:00
Marek Kotewicz
1053f3610c fixed #1606 (#1615) 2016-07-13 21:10:20 +02:00
Robert Habermeier
36d3d0d7d7 replace synchronization primitives with those from parking_lot (#1593)
* parking_lot in cargo.toml

* replace all lock invocations with parking_lot ones

* use parking_lot synchronization primitives
2016-07-13 19:59:59 +02:00
arkpar
80d59949ff Fix bloomchain on blockchain repair 2016-07-13 14:28:46 +02:00
Robert Habermeier
ab44168e1c Merge pull request #1595 from ethcore/evm-instructions
Optimizing InstructionInfo access.
2016-07-12 19:21:41 +02:00
Tomasz Drwięga
4cf8df87e5 Merge pull request #1594 from rphmeier/migration_progress
V7 Migration progress indicator
2016-07-12 17:23:03 +02:00
Nikolay Volf
d956b7cea3 Merge pull request #1577 from ethcore/pv64
bring snapshotting work into master
2016-07-12 13:46:55 +02:00
Robert Habermeier
60302acb94 merge with master 2016-07-12 13:09:42 +02:00
Robert Habermeier
c26627d968 Merge branch 'master' into migration_progress 2016-07-12 12:46:34 +02:00
Robert Habermeier
86df371a72 dots on same line 2016-07-12 12:20:43 +02:00
Tomasz Drwięga
fbc0e0039a Bump clippy (#1587)
* Bumping clippy

* Fixing warnings
2016-07-12 10:34:08 +02:00
Tomasz Drwięga
2746c1c18c Merge branch 'master' into evm-instructions
Conflicts:
	evmbin/bench.sh
2016-07-12 10:32:40 +02:00
Tomasz Drwięga
c7a11418bb Getting rid of get_info 2016-07-12 10:28:42 +02:00
Robert Habermeier
7200cfcbc9 expunge &Vec<T> pattern (#1579)
* expunge &Vec<T> pattern

* fix travis
2016-07-12 10:28:35 +02:00
Tomasz Drwięga
92fd00f41e EVM gas for memory tiny optimization (#1578)
* EVM bin benches

* Optimizing mem gas cost

* Removing overflow_div since it's not used

* More benchmarks
2016-07-12 09:49:16 +02:00
Robert Habermeier
4269867ca4 remove unnecessary assertion 2016-07-11 19:56:27 +02:00
Robert Habermeier
7e13ce6185 v7 migration progress 2016-07-11 19:39:06 +02:00
Robert Habermeier
673cde6c7f add block tests 2016-07-11 18:31:18 +02:00
Nikolay Volf
d3695d0b72 Major sync <-> client interactions refactoring (#1572)
* chain notify trait

* replaced network service with io service

* fix ethcore crate warnings

* refactored network service without generic

* ethcore fix

* ethsync refactoring

* proper linking of notify

* manage network interface

* rpc crate rebinding

* full rewire

* sync internal io service

* fix deadlock

* fix warnings and removed async io

* sync imported message propagation

* fix rpc warnings

* binart warnings

* test fixes

* rpc mocks and tests

* fix util doctest

* fix message name and removed empty notifier

* pointers mess & dark mode fixed

* fixed sync doctest

* added few warnings

* fix review

* new convention match

* fix error unwraps

* doctest fix
2016-07-11 17:02:42 +02:00
Robert Habermeier
49ba117f13 add account tests 2016-07-11 16:54:50 +02:00
Tomasz Drwięga
2d5d632d74 Optimizing instruction info 2016-07-11 16:18:27 +02:00
Robert Habermeier
24ec696062 rebuild uncles hash from uncle headers 2016-07-11 15:19:01 +02:00
Tomasz Drwięga
cca4efb861 Removing overflow_div since it's not used 2016-07-11 14:52:56 +02:00
Tomasz Drwięga
f1edd3d683 Optimizing mem gas cost 2016-07-11 13:22:25 +02:00
Robert Habermeier
da9e9692dc remove outdated comment; prove panickers; update manifest 2016-07-11 13:17:26 +02:00
Robert Habermeier
b91d339bf2 merge with master 2016-07-11 11:19:19 +02:00
Robert Habermeier
c7af950992 ignore warnings temporarily 2016-07-11 11:10:08 +02:00
Robert Habermeier
3dd7ce5566 merge accountdb_migration 2016-07-11 11:08:41 +02:00
Robert Habermeier
bdf4446173 have AccountDB use address hash for uniqueness (#1533)
* partially done alternate migration scheme

* finish altering migration framework

* migrate tests to new migration framework

* address comments

* remove superfluous newline
[ci skip]

* TempIdx -> TempIndex
[ci skip]

* modify account_db to work on address hash, not address

* add a database migration for new accountdb

* preserve first 96 bits of keys when combining

* handle metadata keys in migration and preserve first 96 bits

* fix comments and hash address instead of hash

* different migrations based on pruning

* migrations mutably borrow self

* batch abstraction for migration

* added missing licence headers

* overlay recent v7 migration

* better error handling, migrate version key as well

* fix migration tests

* commit final batch and migrate journaled insertions

* two passes on journal to migrate all possible deleted keys
2016-07-11 09:46:33 +02:00
Tomasz Drwięga
2ed09de38e Very basic EVM binary. (#1574)
* EVM binary - initial version

* Adding missing documentation

* Fixing warnings

* Basic evmbin options

* EVMbin crate.
2016-07-11 09:42:41 +02:00
Robert Habermeier
c8b565805e merge with master 2016-07-10 21:43:16 +02:00
Nikolay Volf
e15f631ec7 Some obvious evm & uint optimizations (#1576)
* fix name and tests for endians

* using renamed func

* zero and sign opt
2016-07-10 20:18:23 +02:00
Tomasz Drwięga
d7caae2241 Fixing clippy warnings (#1568)
* Fixing clippy warnings

* Fixing more warnings
2016-07-10 13:18:33 +02:00
Robert Habermeier
895b027527 two passes on journal to migrate all possible deleted keys 2016-07-09 17:56:09 +02:00
Robert Habermeier
36dfa4743e merge accountdb migration 2016-07-09 17:33:14 +02:00
Gav Wood
716de21873 Address review grumble. 2016-07-09 16:59:15 +02:00
Robert Habermeier
1f885254e1 commit final batch and migrate journaled insertions 2016-07-09 15:22:59 +02:00
Gav Wood
9a70f717ad Merge remote-tracking branch 'origin/master' into dynamic-gas-price 2016-07-09 12:29:23 +02:00
Gav Wood
d4d63a5688 Merge branches 'kill_unwraps' and 'dynamic-gas-price' of github.com:ethcore/parity into dynamic-gas-price 2016-07-09 12:29:06 +02:00
Tomasz Drwięga
b304ce5838 Uncommenting simple Miner tests (#1571) 2016-07-09 11:23:06 +02:00
Gav Wood
9b1d1dc336 Merge remote-tracking branch 'origin/master' into kill_unwraps 2016-07-08 20:42:11 +02:00
Gav Wood
c648171f91 Fix the HTTP client for getting price. 2016-07-08 20:01:20 +02:00
Gav Wood
ef0a41c7b3 Merge remote-tracking branch 'origin/master' into dynamic-gas-price 2016-07-08 17:36:21 +02:00
Gav Wood
9afbc9816d Merge branch 'master' into kill_unwraps 2016-07-08 17:31:30 +02:00
Gav Wood
25e6b2b827 Initial implementation of dynamic gas pricer. 2016-07-08 17:26:06 +02:00
Tomasz Drwięga
eef9586c57 Fixing deadlock in miner (#1569)
* Fixing deadlock in miner

* Adding more comments [ci skip]
2016-07-08 17:19:14 +02:00
Robert Habermeier
3b0b1375f2 better error handling, migrate version key as well 2016-07-08 16:45:04 +02:00
Robert Habermeier
aaf9490c91 Merge branch 'master' into accountdb_migration 2016-07-08 16:14:53 +02:00
Robert Habermeier
171e93752c overlay recent v7 migration 2016-07-08 16:07:06 +02:00
Robert Habermeier
fe027e872c added missing licence headers 2016-07-08 15:58:36 +02:00
Robert Habermeier
3e61d6f3f9 migrations mutably borrow self 2016-07-08 13:08:51 +02:00
Gav Wood
d7077c8ef7 Fix build. 2016-07-07 11:28:33 +02:00
NikVolf
3c046556b5 fix test url 2016-07-07 11:14:37 +03:00
Gav Wood
9f43526c88 Merge branch 'master' into kill_unwraps 2016-07-07 09:40:12 +02:00
Nikolay Volf
8282c7dd50 Client IPC Interface (#1493)
* btree map serializer

* serde tests

* state diff serialization

* basic layout

* more missing serializaers

* uncle returns rlp

* block queue info

* sorting with transaction result

* sorting out util imports

* transaction import result sorting also

* sorting filters & ranges

* error sorting out

* deriving ipc service compiling

* rpc & sync recompile

* sorting rpc using uncles

* fix compilation

* fix merging bugs

* fix unused imports

* fix all warnings

* tests stub

* some merge bugs

* ethcore compilation

* fix rpc compilation

* deriving attribute

* tests (and fixes)

* rpc test working

* fix warnings again

* rs.in -> rs

* missing attribute

* refactored tree changes

* paste reformat mess fix

* pub mod actually

* intendation fix
2016-07-07 09:39:32 +02:00
Gav Wood
3b662c285f Switch out .X().unwrap() for .unwrapped_X 2016-07-07 09:37:31 +02:00
NikVolf
1f1b420230 Merge branch 'client-ipc-refact' into client-ipc-tests 2016-07-07 10:00:41 +03:00
Gav Wood
456ad9e21b Remove .lock().unwrap() idiom into locked(). 2016-07-06 19:52:34 +02:00
NikVolf
f06cff48b9 intendation fix 2016-07-06 20:33:20 +03:00
NikVolf
b1ca41dea8 pub mod actually 2016-07-06 20:31:48 +03:00
NikVolf
5dd5983568 paste reformat mess fix 2016-07-06 20:25:42 +03:00
NikVolf
2abf1df667 Merge branch 'master' into client-ipc-refact 2016-07-06 20:20:44 +03:00
NikVolf
1ac2987437 refactored tree changes 2016-07-06 20:07:24 +03:00
Gav Wood
cd7b046d80 Fix and add info messages (#1552)
* Display information on journal database on startup.

* Minor restyling.

* Client handles the enode message to avoid repeats.

* Avoid unneeded copies *and* reduce code.

* Fix up typo.
2016-07-06 18:28:11 +02:00
Gav Wood
095e51c39c Fix indent of #1541 (#1555) 2016-07-06 17:42:01 +02:00
Nipunn Koorapati
4a9b9dc305 Update sealing just once when externally importing many blocks (#1541)
Fixes Issue #1372
2016-07-06 17:15:59 +02:00
NikVolf
baababea02 missing attribute 2016-07-06 14:49:27 +03:00
NikVolf
b25a37eb38 Merge branch 'master' into client-ipc-refact 2016-07-06 14:43:36 +03:00
Robert Habermeier
f8b56317b4 Merge pull request #1548 from ethcore/remove-soft
Remove soft-fork stuff.
2016-07-06 13:05:43 +02:00
Robert Habermeier
aaad0e87ae merge with latest master 2016-07-06 12:26:03 +02:00
Robert Habermeier
a7103e2870 different migrations based on pruning 2016-07-06 12:15:03 +02:00
Robert Habermeier
e151fbb071 fix comments and hash address instead of hash 2016-07-06 12:15:03 +02:00
Robert Habermeier
e411399f13 handle metadata keys in migration and preserve first 96 bits 2016-07-06 12:15:03 +02:00
Robert Habermeier
0bbdcb13b3 preserve first 96 bits of keys when combining 2016-07-06 12:15:03 +02:00
Robert Habermeier
9b28e97ca8 add a database migration for new accountdb 2016-07-06 12:15:03 +02:00
Robert Habermeier
7df0aa2b60 modify account_db to work on address hash, not address 2016-07-06 12:15:03 +02:00
Robert Habermeier
b7d243368b Extend migration framework (#1546)
* partially done alternate migration scheme

* finish altering migration framework

* migrate tests to new migration framework

* address comments

* remove superfluous newline
[ci skip]

* TempIdx -> TempIndex
[ci skip]
2016-07-06 12:05:23 +02:00
NikVolf
9783c93564 Merge branch 'master' into client-ipc-refact 2016-07-06 12:47:52 +03:00
NikVolf
29de69e39d failing blockid test 2016-07-06 12:40:10 +03:00
Marek Kotewicz
bcb63bce12 serde is no longer util dependency (#1534)
* removed old json-tests

* simplify folds in triehash.rs

* removed unused json_aid

* removed unused squeeze.rs

* json branching tests for trie

* removing todos from util

* separated UsingQueue and Table

* further cleanup, removing unused code

* serde serialization of hash moved to rpc module

* uint wrapper for rpc in progress

* serialization of uint moved to rpc module

* updated eth-secp256k1

* updated igd, serde is no longer dependency of util

* loading trie consensus tests

* renamed aliases in rpc imports
2016-07-06 11:23:29 +02:00
Gav Wood
a084969d55 Fix tests. 2016-07-06 10:40:45 +02:00
Gav Wood
488ff88562 Remove soft-fork stuff. 2016-07-05 18:18:35 +02:00
Tomasz Drwięga
b8b55be0be Skipping transactions with invalid nonces when pushing to block. (#1545)
* Changing some logging levels

* Skipping invalid nonce errors
2016-07-05 17:51:41 +02:00
Gav Wood
c26cfc1c5a Silent running operating modes (#1477)
* Command=line options.

* Keep alive for the eth protocol.

* Wire up final pieces.

* No network when dark.

* Passive and dark mode work.

* Ensure all RPCs keep alive.

* Fix tests.

* Fix minor bug.

* Minor whitespace.

* Split out some of the sleep-state.

* Fix help text.
2016-07-05 17:50:46 +02:00
Robert Habermeier
2ea7a8d666 partially done alternate migration scheme 2016-07-05 17:15:01 +02:00
NikVolf
747818a349 rs.in -> rs 2016-07-05 17:12:06 +03:00
Marek Kotewicz
62b9c1b14f util cleanup (#1474)
* removed old json-tests

* simplify folds in triehash.rs

* removed unused json_aid

* removed unused squeeze.rs

* json branching tests for trie

* loading trie consensus tests
2016-07-05 15:16:27 +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
NikVolf
fb0076d262 fix warnings again 2016-07-05 12:50:42 +03:00
NikVolf
78e7101f85 rpc test working 2016-07-05 12:48:32 +03:00
NikVolf
8052824f3f tests (and fixes) 2016-07-05 12:23:56 +03:00
NikVolf
c96686620a deriving attribute 2016-07-05 11:49:29 +03:00
NikVolf
a9a671dfc0 ethcore compilation 2016-07-05 11:45:31 +03:00
NikVolf
b58754cd26 some merge bugs 2016-07-05 11:33:38 +03:00
NikVolf
b873d3befb Merge branch 'master' into client-ipc-refact 2016-07-05 11:29:46 +03:00
Nikolay Volf
bbf20c3637 Merge pull request #1538 from ethcore/bc-restore
Attempt to fix blochchain/extras DBs sync
2016-07-05 12:16:15 +04:00
Nikolay Volf
a2b4997888 Merge pull request #1525 from ethcore/client-api-refact2
Client API refactoring - limiting errors to crate-level error types
2016-07-05 12:15:38 +04:00
arkpar
548b4e164e Attempt to fix blochchain DB sync 2016-07-04 18:24:14 +02:00
NikVolf
cfcf061e41 tests stub 2016-07-04 14:51:50 +03:00
Robert Habermeier
465aae71e7 merge branch accountdb_migration into pv64 2016-07-04 12:53:01 +02:00
Robert Habermeier
601ebcf3cc add a database migration for new accountdb 2016-07-04 12:47:03 +02:00
Tomasz Drwięga
5c438cc58a Bumping clippy (#1532) 2016-07-04 11:52:59 +02:00
NikVolf
8f6e48e4c3 fix tests 2016-07-02 20:08:52 +03:00
NikVolf
43027b36ea Merge branch 'master' into client-api-refact2 2016-07-01 22:43:51 +03:00
NikVolf
edb8663195 ethcore finished 2016-07-01 22:34:50 +03:00
NikVolf
46b0af6121 flush work 2016-07-01 22:13:56 +03:00
Arkadiy Paronyan
d91e8ccd34 Save the block reference in the queue on notification (#1501) 2016-07-01 19:38:37 +01:00
Nikolay Volf
8102fb9306 Client api cleaning - uncles are returned as rlp (#1516)
* uncle as rlp in the api

* uncle rlp in block view

* fix warning
2016-07-01 19:37:17 +01:00
NikVolf
07521c17b4 dedicated types 2016-07-01 21:33:59 +03:00
Marek Kotewicz
d8a4cca817 Fatdb integration with CLI (#1464)
* fatdb integration

* --fat-db

* rerun with --pruning=archive comment
2016-07-01 19:29:56 +01:00
NikVolf
0907722fc8 fix warning 2016-07-01 16:34:15 +03:00
NikVolf
d4ff3e51e9 uncle rlp in block view 2016-07-01 16:33:37 +03:00
Robert Habermeier
d42ea6b69e modify account_db to work on address hash, not address 2016-07-01 14:36:07 +02:00
Nikolay Volf
c71dff04c5 Merge pull request #1514 from ethcore/fix-warnings
Fix warnings
2016-07-01 14:55:17 +04:00
NikVolf
7ad8599324 uncle as rlp in the api 2016-07-01 13:26:44 +03:00
Tomasz Drwięga
52f4034bdd Formatting 2016-07-01 02:21:22 +02:00
Tomasz Drwięga
5c2ca9a0cb Fixing warnings 2016-07-01 02:08:14 +02:00
Gav Wood
1d780f456a Fix is_new. 2016-06-30 23:14:54 +02:00
Gav Wood
29b6ba4a87 Fix the reseal mechanism. 2016-06-30 22:35:59 +02:00
Robert Habermeier
456619001a parallelize account trie creation 2016-06-30 20:43:54 +02:00
NikVolf
ba38cc0ccc fix all warnings 2016-06-30 21:00:52 +03:00
NikVolf
cdd1c6dd90 fix unused imports 2016-06-30 20:57:07 +03:00
NikVolf
bad02d65a1 fix merging bugs 2016-06-30 20:44:24 +03:00
NikVolf
97eb311cb0 Merge branch 'master' into client-ipc-refact 2016-06-30 20:32:13 +03:00
Gav Wood
9c58ebf2d2 Merge branch 'master' into clone-work 2016-06-30 13:16:48 +02:00
Arkadiy Paronyan
ff29c82c9e Merge pull request #1495 from ethcore/work-notify
Workaround for hyper panic
2016-06-30 13:14:24 +02:00
Gav Wood
dff7d9603c Fix for fake new work packages. 2016-06-30 13:12:15 +02:00
Gav Wood
9c07e5c355 Optionally clone block behind work-package. 2016-06-30 12:56:58 +02:00
arkpar
51c6b85f80 Workaround hyper panic 2016-06-30 10:07:33 +02:00
Gav Wood
5a794b21cf Make output less green. 2016-06-30 08:20:34 +02:00