Commit Graph

712 Commits

Author SHA1 Message Date
Robert Habermeier ce84215d93 naive and bad request dispatcher 2016-12-16 15:26:39 +01:00
arkpar 65f07e5aa7 Renamed some functions 2016-12-16 14:54:26 +01:00
Robert Habermeier 0d7b638a2d ancestor search response handler 2016-12-16 14:53:36 +01:00
arkpar 6c9de9e6f8 Merge branch 'master' of github.com:ethcore/parity into tx-block 2016-12-16 13:36:07 +01:00
Gav Wood 6e5a583cb4 Merge pull request #3505 from ethcore/check-updates
Auto-updating
2016-12-16 13:01:49 +01:00
Gav Wood b437265082
Fix build. 2016-12-16 11:27:00 +01:00
Gav Wood 396ab5b361
Refactor and make is_syncing. 2016-12-16 10:31:10 +01:00
Robert Habermeier a1f32de2d9 Merge branch 'master' into lightsync 2016-12-15 23:55:04 +01:00
keorn 447196398a fix start_step 2016-12-15 23:36:06 +01:00
Robert Habermeier 8622ab66dc skeleton for maintain_sync: all but dispatch 2016-12-15 22:42:24 +01:00
Robert Habermeier 9c7340307e handle events, minimal state machine 2016-12-15 21:51:08 +01:00
arkpar f8961484c1 Merge branch 'master' of github.com:ethcore/parity into tx-block 2016-12-15 19:10:33 +01:00
Robert Habermeier 5346539ef8 minimal header import and client service 2016-12-15 18:47:26 +01:00
arkpar 2952ea1b85 Delayed transactions 2016-12-15 18:19:19 +01:00
Robert Habermeier f776f48023 drain prepared headers from sync round 2016-12-15 17:33:25 +01:00
Robert Habermeier 71e96aca10 handle abandoned requests 2016-12-15 16:19:28 +01:00
Robert Habermeier ec88a992e3 provide response context to response handler 2016-12-15 15:50:36 +01:00
Jaco Greeff 054a6a9daf Merge branch 'master' into check-updates
# Conflicts:
#	.gitlab-ci.yml
#	js/webpack/dev.server.js
2016-12-15 13:52:28 +01:00
Robert Habermeier 5d8bfd8758 handle responses for round scaffold and frames 2016-12-15 13:05:38 +01:00
Robert Habermeier 0768a61944 light: add LightChainClient trait 2016-12-14 23:26:15 +01:00
Robert Habermeier 1bcfc9348d light: specialize Downloader to SyncRound 2016-12-14 23:25:51 +01:00
Robert Habermeier 91b8fa7039 light: downloader state machine stub 2016-12-14 22:57:30 +01:00
Robert Habermeier 0d466fa8d0 light: tests for response module 2016-12-14 20:27:03 +01:00
Robert Habermeier 887bcfb88a light: response decoding and verification module 2016-12-14 19:36:48 +01:00
Robert Habermeier 359d433292 light: pass incoming responses to peer state machine 2016-12-13 22:26:06 +01:00
Robert Habermeier 6fb71527e4 light: search for common ancestor with peers 2016-12-13 21:09:57 +01:00
Robert Habermeier 8c64400654 light: change sync module name 2016-12-13 21:09:43 +01:00
arkpar 49ae375605 Don't coneect peers on each sync 2016-12-13 13:23:10 +01:00
Robert Habermeier c2264bed27 light: skeleton for sync service 2016-12-13 00:08:39 +01:00
keorn fa504e510f Merge branch 'master' into auth-bft 2016-12-12 21:28:46 +01:00
keorn 19adb84527 TestNet flushing and cleanup 2016-12-12 19:44:24 +01:00
keorn 722cd4d086 AuthorityRound fork test 2016-12-12 17:24:48 +01:00
Gav Wood ab4d666681
Merge remote-tracking branch 'origin/master' into check-updates 2016-12-12 16:35:11 +01:00
keorn 8ed89bb74f propagate proposal to all peers 2016-12-12 13:00:51 +01:00
Gav Wood c0a2d5c8f5 Merge pull request #3796 from ethcore/tx-broadcast
Avoid broadcasting transactions to peers that send them
2016-12-12 04:13:56 +01:00
Gav Wood 94f5501c61
authors & homepage => Parity 2016-12-11 19:43:58 +01:00
Gav Wood 58b72c521d
Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
Gav Wood 17cc2be4b5
Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
Gav Wood 10b0898bdf
Crate tidyups.
- Move Updater into its own crate.
- Change ethcore -> parity in authors, homepages and licenses.
2016-12-11 19:14:42 +01:00
keorn a4bf914683 Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft 2016-12-11 18:23:54 +01:00
Tomasz Drwięga b56f12adc6 Merge branch 'master' into tx-broadcast
Conflicts:
	ethcore/light/src/net/context.rs
	ethcore/light/src/net/tests/mod.rs
2016-12-11 17:31:56 +01:00
Gav Wood e09b1faf20
Fix semver version issues. 2016-12-11 17:13:26 +01:00
arkpar c777362d02 Sync channel for consensus test 2016-12-11 12:32:01 +01:00
Tomasz Drwięga 19ca9ad460 Prevent broadcasting transactions to peer that send them. 2016-12-10 21:22:19 +01:00
keorn f3af0f46be Merge branch 'master' into auth-bft 2016-12-10 18:14:35 +01:00
keorn 1611d190ba initial tendetmint consensus test 2016-12-10 17:40:53 +01:00
Tomasz Drwięga aaf6da4c00 Returning persistent node id 2016-12-10 16:55:29 +01:00
Robert Habermeier a6fcd8a0d9 Merge pull request #3794 from ethcore/net-fix
Network connectivity fixes
2016-12-10 16:55:17 +01:00
Tomasz Drwięga 704054ef40 Merge branch 'master' into tx-broadcast
Conflicts:
	ethcore/src/client/traits.rs
2016-12-10 15:23:53 +01:00
Tomasz Drwięga e1ade5b375 Maintaining a list of transactions propagated from other peers 2016-12-10 15:18:44 +01:00
arkpar 02c788a403 Network connectivity fixes 2016-12-10 14:20:34 +01:00
Gav Wood 82efa2675e
Merge remote-tracking branch 'origin/master' into consistent-id 2016-12-10 13:36:30 +01:00
keorn e5f8044cad Merge branch 'master' into auth-bft 2016-12-10 11:01:23 +01:00
Gav Wood 5f1fcf95e0
Make *ID names consistent with std Rust (Id) 2016-12-09 23:01:43 +01:00
Robert Habermeier 503b126c93 Merge branch 'master' into lightserv 2016-12-09 21:37:55 +01:00
arkpar 97f358ced9 AuthorityRound network simulation test 2016-12-09 20:38:06 +01:00
arkpar ca7406773f AuthorityRound network simulation test 2016-12-09 19:27:16 +01:00
keorn 762e5f1e3e proposed block sync tests 2016-12-09 12:05:56 +01:00
Robert Habermeier e7ce8c9558 light: broadcast status updates to peers 2016-12-08 23:57:09 +01:00
Robert Habermeier 6f5f1f5e26 light: integrate with sync + serve_light CLI 2016-12-08 23:21:47 +01:00
Robert Habermeier efd66f566d ethsync: optional ipc codegen 2016-12-08 19:52:48 +01:00
keorn 3ebfa1481d better proposal block handling 2016-12-08 12:03:34 +01:00
Robert Habermeier cdc758368a les: flesh out event handler 2016-12-07 13:52:45 +01:00
keorn 6fc943ca6d Merge branch 'master' into auth-bft 2016-12-05 16:37:35 +00:00
Gav Wood 43ec3d8f79
network_id -> u64 2016-12-05 06:54:31 -08:00
keorn c946ffebf3 Merge branch 'master' into auth-bft 2016-12-05 11:30:11 +00:00
arkpar 4eca687bbb Fixed network context 2016-12-01 15:49:26 +01:00
arkpar b7dc60ace5 Don't share the snapshot while downloading old blocks 2016-11-30 23:33:17 +01:00
arkpar 84cf27c3ef Advertise protocol version 2 2016-11-30 16:48:30 +01:00
keorn 61f1699c0e fix merge 2016-11-30 13:39:28 +00:00
keorn 155da50fcd Merge branch 'master' into auth-bft 2016-11-30 13:06:21 +00:00
Gav Wood d525a6d7f0 Merge pull request #3654 from ethcore/clippy-bump
Bumping clippy
2016-11-29 18:00:13 +01:00
arkpar 95f81b2a2f Moved consensus networking into Parity handler 2016-11-29 16:54:30 +01:00
Gav Wood 7c2cccc60c Merge pull request #3655 from ethcore/sync
Disable peer if no common block found
2016-11-29 12:10:19 +01:00
Tomasz Drwięga 44314c5d02 Merge branch 'master' into clippy-bump
Conflicts:
	rpc/src/v1/types/filter.rs
2016-11-29 11:56:55 +01:00
Tomasz Drwięga 64b1b898f1 Fixing compilation on stable 2016-11-28 17:43:38 +01:00
arkpar bae8acee74 Allow pv62 peers 2016-11-28 17:24:02 +01:00
arkpar cf5b409fed Disaable peer if no common block found 2016-11-28 16:30:36 +01:00
Tomasz Drwięga 2b3d100de2 Fixing some clippy warnings 2016-11-28 15:54:22 +01:00
Tomasz Drwięga e1e7886918 Bumping clippy 2016-11-28 12:23:06 +01:00
keorn a143da2cb8 fix complete build 2016-11-25 11:36:25 +00:00
keorn 1692c07ba6 Merge branch 'master' into auth-bft 2016-11-25 10:51:06 +00:00
arkpar 7da8f019d5 --no-ancient-blocks 2016-11-22 18:15:55 +01:00
keorn 6e0bd4072b Merge branch 'master' into auth-bft 2016-11-21 12:17:00 +00:00
Gav Wood 0848a9ec3c
Merge branch 'master' into transactions-propagate 2016-11-20 13:24:08 +01:00
Arkadiy Paronyan 9c62dd3916 Limit sync reorg to 20 blocks (#3519)
* Limit sync reorg

* Fixed tests
2016-11-18 19:17:35 +01:00
Arkadiy Paronyan 51012d1fae Revert "Limit sync reorganization to 20 blocks" (#3517) 2016-11-18 17:50:27 +01:00
Arkadiy Paronyan 15702a875c Limit sync reorg (#3509) 2016-11-18 17:45:00 +01:00
keorn 9d61071dd7 Merge branch 'miner-no-ap' into auth-bft 2016-11-17 22:04:07 +00:00
Tomasz Drwięga 5c62e38a7c Cleanup 2016-11-17 13:52:09 +01:00
arkpar d890dd6f42 Updated sync algo desription 2016-11-17 13:02:44 +01:00
arkpar 5bddcd8003 Sync bandwidth optimization 2016-11-16 19:34:58 +01:00
keorn 3b0d5503b1 fix compilation 2016-11-16 13:13:21 +00:00
Tomasz Drwięga 78b5c743f6 Stats RPC 2016-11-16 13:54:58 +01:00
Tomasz Drwięga 4febd0eb93 Maintaining the statistics for propagation of pending transactions 2016-11-16 10:45:55 +01:00
keorn d19e8c5505 Merge remote-tracking branch 'parity/master' into bft 2016-11-15 10:26:37 +00:00
Tomasz Drwięga 8dc7fcbe07 Don't clear propagated transactions 2016-11-15 11:20:54 +01:00
Robert Habermeier 37f49aac1b abort snapshot restoration faster (#3356)
* abort snapshot restoration faster

* flag-checking tests
2016-11-13 13:52:53 +01:00
Robert Habermeier 3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
Arkadiy Paronyan eba0dd5023 Additional snapshot sync checks (#3318)
* Additional snapshot sync checks

* Proper checks

* Proper highset block check
2016-11-09 19:40:36 +01:00
keorn ea960f1c27 Merge remote-tracking branch 'parity/master' into bft 2016-11-07 11:34:45 +00:00
Arkadiy Paronyan d37f4cc82f v1.5 (#3195) 2016-11-04 17:27:11 +01:00
Gav Wood d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
keorn 36d17d5c28 Add RPC enode lookup (#3096)
* add enode rpc

* spaces -> tabs
2016-11-02 19:43:21 +01:00
Arkadiy Paronyan b7bebdbc75 Restart sync if no more peers with snapshots (#3007) 2016-10-31 14:59:41 +01:00
Arkadiy Paronyan 6931878ff1 Networking and syncing tweaks (#2990)
* Reduce periodic snapshot delay

* Prevent connecting to peers over the min_peers limit

* Smaller block requests for slower connections
2016-10-30 15:39:36 +01:00
Arkadiy Paronyan 4ded10fcbe Fixed transaction propagation (#2984) 2016-10-30 12:19:20 +01:00
Tomasz Drwięga f17cad9dff Fixing clippy warnings 2 (#2961) 2016-10-29 13:08:49 +02:00
Arkadiy Paronyan 9e82eeccfe Snapshot sync improvements (#2960)
* Status packet timeout

* Snapshot collection state

* Pause snapshot download

* Updated tests
2016-10-29 13:07:06 +02:00
Robert Habermeier 2806f1d4c9 Even more snapshot validity checks (#2935)
* clarify "cancelled periodic snapshot" message

* more rigorous checks for snapshot validity

* verify ancient blocks on import

* limit number of fed blocks

* make it possible to feed snapshot service canonical hashes

* fix failing test build

* swap ethash DAG only when more recent
2016-10-28 16:10:30 +02:00
Arkadiy Paronyan 3edd9e4bee Fixed GetNodeData output (#2892) 2016-10-27 15:25:54 +02:00
Arkadiy Paronyan bdc372462a Change sync protocol ID (#2912) 2016-10-27 13:49:44 +02:00
Tomasz Drwięga 88997801d0 Clippy bump (#2877)
* Bumping clippy

* Fixing warnings

* Fix the "fix"
2016-10-27 08:28:12 +02:00
Arkadiy Paronyan 135d5d0e4c Snapshot fixes and optimizations (#2863) 2016-10-25 18:40:01 +02:00
keorn 8d0cff3599 Nicer port in use errors (#2859)
* dapps port

* rpc port

* signer port

* different instance as possible cause

* network port
2016-10-25 15:55:53 +02:00
Arkadiy Paronyan 1a5bae8ef1 Extended network options (#2845)
* More network configuration options

* Filter UDP requests

* Fixed tests

* Fixed test warning
2016-10-24 18:25:27 +02:00
Arkadiy Paronyan 9ec091e0cf Move snapshot sync to a subprotocol (#2820) 2016-10-24 16:24:35 +02:00
keorn 866ab9c7a3 Check queue to determine major importing (#2763)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state

* remove Blocks synced state

* move is_major_importing to rpc crate and check queue

* add tests
2016-10-20 23:36:18 +02:00
Arkadiy Paronyan 7db42df1db Fixed stalled sync (#2747) 2016-10-20 12:56:37 +02:00
Arkadiy Paronyan 20e1d575da Frontport commits from beta to master (#2743)
* Remove count limit for local transactions (#2634)

* Fixed stalled sync
2016-10-20 00:33:00 +02:00
Robert Habermeier 146cefdb32 bump parking_lot to 0.3.x series (#2702) 2016-10-19 18:35:56 +02:00
keorn aa52b04e31 Unify major syncing detection (#2699)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state
2016-10-19 18:35:39 +02:00
Arkadiy Paronyan 487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Svyatoslav Nikolsky c9ce25c8f3 Added peers details to ethcore_netPeers RPC (#2580)
* added peers details to ethcore_netPeers RPC

* fixed build (traits autoimplemented)

* - documentation fixes
- spaces -> tabs
- Rust-way Option's handling

* prepare for new protocols in ethcore_netPeers

* commas & documentation
2016-10-12 20:18:59 +02:00
keorn e343153f06 mixed merge and changes... 2016-10-11 18:37:31 +01:00
Arkadiy Paronyan 193cdb1326 Don't activate peers on connect; Test (#2537) 2016-10-10 23:05:41 +02:00
Arkadiy Paronyan ae6c965176 Removing unwarps from sync module (#2551) 2016-10-10 17:43:05 +02:00
Arkadiy Paronyan f200eb2cfe Backports to master (#2530)
* Transaction queue limited by gas (#2528)

* Use global state cache when mining (#2529)
2016-10-08 10:35:54 +02:00
Nikolay Volf 7526b1d44b Derive IPC interface only when ipc feature is on (#2463)
* derive -> ipc

* accident repair

* conditional ipc deriving

* fix test
2016-10-05 19:42:57 +02:00
keorn 1f56588b87 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
2016-10-05 14:57:14 +01:00
Nikolay Volf 2b147616fd derive -> ipc 2016-10-04 19:20:16 +03:00
keorn 9ca938f740 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
	sync/src/api.rs
2016-09-30 12:44:52 +01:00
Robert Habermeier f4dfbada0a correct sync memory usage calculation (#2385) 2016-09-28 23:00:12 +02:00
Gav Wood 15a14a5f49 Expanse compatibility (#2369)
* Add support for Expanse.

* Fix build.

* Refactor to be able to alter the eth subprotocol name

* Fix JSON.

* Support exp hardfork.

* Fix exp json again.

* Fixed test

* Fix tests.
2016-09-28 14:21:59 +02:00
keorn fd6900bbb3 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	Cargo.lock
2016-09-27 12:37:43 +02:00
Robert Habermeier 723d837d05 Snapshot format changes (#2234)
Closes #2213
Omit transaction and receipt roots from abridged block.
No longer use RLP compression.

Make ordered_trie_root generic over an iterator to save an allocation.

Breaks snapshot format backwards compatibility (with other 1.4 snapshots -- it's already been broken with 1.3).

Documentation will need updating
2016-09-22 19:47:03 +02:00
arkpar 302f8a190f Fix syncing with pv63 peers 2016-09-20 17:36:56 +08:00
Tomasz Drwięga 7f7e74869c Bump clippy & Fix warnings (#2109)
* Bump clippy

* Fixing warnings
2016-09-16 23:03:26 +02:00
keorn 4ccbec1148 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	sync/src/api.rs
	sync/src/lib.rs
2016-09-07 16:54:39 +02:00
Arkadiy Paronyan 5c5d9c8ccd Snapshot sync (#2047)
* PV64 sync

* Tests

* Client DB restore

* Snapshot restoration over IPC

* Upating test

* Minor tweaks

* Upating test
2016-09-06 15:31:13 +02:00
keorn 91fbaf935c Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
2016-09-05 18:16:09 +02:00
Tomasz Drwięga c0b097832b Skipping log when there are no transactions were sent (#2045) 2016-09-03 01:33:34 +02:00
Robert Habermeier e0feaa9d4d Merge pull request #2034 from ethcore/rlp-crate
rlp as separate crate
2016-09-02 13:48:09 +02:00
Tomasz Drwięga 5b27ea3b4d Fixing new transactions without alternating (#2039) 2016-09-02 11:37:45 +02:00
Tomasz Drwięga cabb028c1c Propagating transactions to peers on timer. (#2035) 2016-09-01 19:07:58 +02:00
Robert Habermeier bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier d763664d16 port network, sync, rpc 2016-09-01 14:49:12 +02:00
Robert Habermeier 9a5668f802 get rid of populatable and bytesconvertable traits (#2019) 2016-09-01 12:23:31 +02:00
keorn 2f3d162f57 Merge remote-tracking branch 'parity/master' into bft 2016-08-31 18:19:24 +02:00
Nipunn Koorapati 4389742ca3 Make the block header struct's internals private (#2000)
* Make the block header struct's internals private

Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.

I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.

* Drop some unnecessary cloning by comparing references

* Fix compiler errors from callsites in tests.
2016-08-29 11:35:23 +02:00
keorn a4ba7262ad update Signature and ipc usage 2016-08-26 13:16:56 +02:00
keorn 8bd0034ced Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/error.rs
2016-08-25 19:24:29 +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
keorn 99a143eb37 change broadcast interface, add basic message handling 2016-08-23 17:19:23 +02:00
arkpar 207f9d02f2 Started inf networking 2016-08-23 15:52:05 +02:00
Nikolay Volf f2be2aec68 Merge pull request #1983 from ethcore/ipc-rel-dir
Use relative path for IPC sockets
2016-08-23 16:36:23 +04:00
Tomasz Drwięga f4826d1b2a Bump clippy (#1982) 2016-08-23 10:10:19 +02:00
Nikolay Volf 7c5435d3bb fix to use relative socket path 2016-08-22 19:41:58 +03:00
Tomasz Drwięga f69b3f8522 Create network-specific nodes files (#1970) 2016-08-21 11:23:47 +02:00
Tomasz Drwięga bcf6b0b7d8 Bump clippy, fix warnings (#1939)
* Bumping clippy

* Fixing warnings
2016-08-17 16:06:41 +02:00
Nikolay Volf 46f029e65c Use explicit global namespaces in codegen (#1928)
* ipc as a deault feature

* first part of purge

* second part of ns purge
2016-08-17 15:54:24 +02:00
Tomasz Drwięga f114a933a3 Peers RPC + UI displaying active/connected/max peers (#1915)
* Peers API

* Bumping Parity-UI

* Fixing tests
2016-08-11 17:19:20 +02:00
Tomasz Drwięga a427208f79 Purging .derefs, fixing clippy warnings. (#1890)
* Fixing clippy warnings

* Purging derefs

* Simplifying engine derefs

* Simplifying more engine derefs
2016-08-10 16:29:40 +02:00
arkpar 69d1c1f237 v1.4.0 2016-08-09 11:40:57 +02:00
Arkadiy Paronyan 2e5a6ea1ff Send new block hashes to all peers (#1875) 2016-08-08 17:18:10 +02:00
Arkadiy Paronyan 4f32a9ccc1 Sync to peers with confirmed fork block only (#1863) 2016-08-07 22:42:35 +02:00
Robert Habermeier e72fc5398a miner and client take spec reference (#1853)
* miner and client take spec reference

* fix tests
2016-08-05 23:33:55 +02:00
Arkadiy Paronyan 46a988ddd4 Fixed reported max height and transaction propagation (#1852)
* Fixed max height and transaction propagation

* Fixed tests
2016-08-05 17:01:08 +02:00
Robert Habermeier 76a7246369 Snapshot creation and restoration (#1679)
* to_rlp takes self by-reference

* clean up some derefs

* out-of-order insertion for blockchain

* implement block rebuilder without verification

* group block chunk header into struct

* block rebuilder does verification

* integrate snapshot service with client service; flesh out implementation more

* initial implementation of snapshot service

* remove snapshottaker trait

* snapshot writer trait with packed and loose implementations

* write chunks using "snapshotwriter" in service

* have snapshot taking use snapshotwriter

* implement snapshot readers

* back up client dbs when replacing

* use snapshot reader in snapshot service

* describe offset format

* use new get_db_path in parity, allow some errors in service

* blockchain formatting

* implement parity snapshot

* implement snapshot restore

* force blocks to be submitted in order

* fix bug loading block hashes in packed reader

* fix seal field loading

* fix uncle hash computation

* fix a few bugs

* store genesis state in db. reverse block chunk order in packed writer

* allow out-of-order import for blocks

* bring restoration types together

* only snapshot the last 30000 blocks

* restore into overlaydb instead of journaldb

* commit version to database

* use memorydbs and commit directly

* fix trie test compilation

* fix failing tests

* sha3_null_rlp, not H256::zero

* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc

* port archivedb to new overlaydb

* add deletion mode tests for overlaydb

* use new overlaydb, check state root at end

* share chain info between state and block snapshotting

* create blocks snapshot using blockchain directly

* allow snapshot from arbitrary block, remove panickers from snapshot creation

* begin test framework

* blockchain chunking test

* implement stateproducer::tick

* state snapshot test

* create block and state chunks concurrently, better restoration informant

* fix tests

* add deletion mode tests for overlaydb

* address comments

* more tests

* Fix up tests.

* remove a few printlns

* add a little more documentation to `commit`

* fix tests

* fix ref_overlaydb test names

* snapshot command skeleton

* revert ref_overlaydb renaming

* reimplement snapshot commands

* fix many errors

* everything but inject

* get ethcore compiling

* get snapshot tests passing again

* instrument snapshot commands again

* fix fallout from other changes, mark snapshots as experimental

* optimize injection patterns

* do two injections

* fix up tests

* take snapshots from 1000 blocks efore

* address minor comments

* fix a few io crate related errors

* clarify names about total difficulty

[ci skip]
2016-08-05 17:00:46 +02:00
Arkadiy Paronyan 05bfdc508e Split IO and network crates (#1828)
* Abort on panic

* Split IO and network crates

* Restore panic handler

* Fixed doc tests
2016-08-05 10:32:04 +02:00
Tomasz Drwięga deceb5fd56 Bumping clippy & fixing warnings (#1823)
* Bumping clippy

* Fixing clippy warnings

* Cargo.lock (latest nightly?)
2016-08-03 19:01:48 +02:00
NikVolf fbfcd48483 drying sync 2016-08-01 19:55:38 +02:00
arkpar 8c47240248 Min and Max peers setting 2016-07-29 17:30:02 +02:00
Arkadiy Paronyan 6b1e722a6b Disconnect peers on a fork (#1738) 2016-07-27 21:38:22 +02:00
Arkadiy Paronyan d0e79be5c6 Parallel block body download (#1659) 2016-07-25 18:38:36 +02:00
Arkadiy Paronyan 247495fba2 Prevent syncing to ancient blocks (#1693)
* Don't try to sync to ancient blocks

* Fixed test
2016-07-23 17:27:23 +02:00
Nikolay Volf 8ab56ea3d1 IPC (feature-gated) (#1654)
* moving ipc deriving to trait

* refactoring of the client

* all compiled

* proved all working

* warnings purged

* allow hypervisor to specify initialization payload in two ways

* using binary initialisation payload for sync

* some docs

* logger to separate crate

* log settings for sync bin

* forwarding logging arguments to the sync
2016-07-20 18:13:56 +02:00
Arkadiy Paronyan b007770ba8 Moved syncing log out of the client (#1670) 2016-07-20 12:36:20 +02:00
gregg dourgarian d67369a01c fix typos (#1644) 2016-07-19 20:42:23 +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 507a4ea26c basic layout of sync executable and minor fixes in the api 2016-07-15 15:32:29 +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
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
Tomasz Drwięga fbc0e0039a Bump clippy (#1587)
* Bumping clippy

* Fixing warnings
2016-07-12 10:34:08 +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
Gav Wood ee253c7a3f Fix tests again. 2016-07-09 17:22:20 +02:00
Gav Wood 716de21873 Address review grumble. 2016-07-09 16:59:15 +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
Gav Wood 25e6b2b827 Initial implementation of dynamic gas pricer. 2016-07-08 17:26:06 +02:00
Gav Wood 3b662c285f Switch out .X().unwrap() for .unwrapped_X 2016-07-07 09:37:31 +02:00
Robert Habermeier f8b56317b4 Merge pull request #1548 from ethcore/remove-soft
Remove soft-fork stuff.
2016-07-06 13:05:43 +02: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 488ff88562 Remove soft-fork stuff. 2016-07-05 18:18:35 +02: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
Tomasz Drwięga 5c438cc58a Bumping clippy (#1532) 2016-07-04 11:52:59 +02:00
NikVolf 0f7b66f557 fixed compilation & warnings 2016-07-01 22:40:54 +03:00
arkpar ee01ad1324 Shortcut sealed block into the chain 2016-06-29 21:49:22 +02:00
Gav Wood 495e56034f Merge branch 'master' into miner-improvements 2016-06-27 21:02:55 +02:00
Arkadiy Paronyan 60b70dada1 Reduced IO messages; removed panics on IO notifications (#1457) 2016-06-27 19:30:13 +02:00