Commit Graph

643 Commits

Author SHA1 Message Date
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
Gav Wood a102015ecf Fix doc test. 2016-06-27 19:16:26 +02:00
Gav Wood 2a51a30d41 Fix up the pending set stuff. 2016-06-27 19:06:54 +02:00
Gav Wood 6c1802e412 Allow configuration of when to reseal blocks. 2016-06-27 17:23:54 +02:00
Tomasz Drwięga 6bbaced3cd Merge branch 'master' into miner-no-default
Conflicts:
	ethcore/src/miner/miner.rs
	parity/main.rs
2016-06-26 22:44:34 +02:00
Arkadiy Paronyan a72d8ee0e7 v1.3.0 (#1421) 2016-06-25 10:32:05 +02:00
Tomasz Drwięga 4ece68349c Fixing sync doctests 2016-06-24 12:41:48 +02:00
arkpar e77cce66a1 Update highest block progress 2016-06-23 22:40:44 +02:00
Tomasz Drwięga 6edb981bfa Merge branch 'master' into miner-no-default
Conflicts:
	sync/src/lib.rs
2016-06-23 21:18:43 +02:00
Tomasz Drwięga 5bf906625b Fixing warnings 2016-06-23 12:19:38 +02:00
Tomasz Drwięga a76e3a134f Bumping clippy 2016-06-23 10:54:25 +02:00
Arkadiy Paronyan 11314a660d Sync optimization (#1385)
* Minor sync fixes

* Fixed session count sub

* handle NewBlock when downloading

* Accept new blocks right away

* block collection update fixed
2016-06-22 12:10:26 +02:00
Arkadiy Paronyan 7c94b1495e Merge pull request #1329 from ethcore/softforktrigger
Install trigger for DAO-rescue soft-fork.
2016-06-21 22:25:24 +02:00
Arkadiy Paronyan f58e211b11 Merge pull request #1335 from ethcore/tx_perf
Transaction processing queue
2016-06-20 23:47:35 +02:00
arkpar 09b8116cde TX processing queue 2016-06-20 18:42:50 +02:00
arkpar 1ffe0c185c Reduce locking 2016-06-20 17:28:48 +02:00
Arkadiy Paronyan f5682737d3 Merge pull request #1345 from ethcore/sync-bodies
Sync attack defense: Deactivate peers on invalid block bodies
2016-06-20 14:03:53 +02:00
arkpar 5e9c8db4c9 Deactivate peers on invalid block bodies 2016-06-20 11:07:22 +02:00
Tomasz Drwięga a2f24a0083 Removing Default from Miner 2016-06-20 10:28:38 +02:00
arkpar 6d435d038f Fixed empty block body composition 2016-06-20 01:26:40 +02:00
Arkadiy Paronyan bf6308312e Sync: Cache last sync round block parents (#1331)
* Cache last sync round block parents

* Limit incoming transactions and new hashes
2016-06-20 00:40:11 +02:00
Gav Wood 3ee3171b8c Merge branch 'master' into softforktrigger 2016-06-20 00:37:40 +02:00
Marek Kotewicz 6b074e8fb2 secret store separated from util (#1304)
* bump rust-crypto

* initial version of account provider utilizing secret store

* update lazy_static to latest version

* AccountProvider accounts method

* new AccountProvider tests in progress

* basic tests for new AccountProvider

* ethcore compiles with new account provider and secret store

* ethcore-rpc build now compiling with new AccountProvider

* most rpc tests passing with new accounts_provider

* fixed basic_authority tests

* fixed eth_transaction_count rpc test

* fixed mocked/eth.rs tests

* fixed personal tests

* fixed personal signer rpc tests

* removed warnings

* parity compiling fine with new sstore

* fixed import direction

* do not unlock temporarily when we have the password

* removed TODO in account import

* display warning on auto account import failure

* fixed compiling of ethstore on windows

* ethstore as a part of parity repo

* added ethkey
2016-06-20 00:10:34 +02:00
Gav Wood 2245baaaab Provide CLI options to disable aspects of soft-fork.
Soft-fork will remain default behaviour, but you can now disable
either the whole mechanism (you'll lose money if you mine with this
when the majority network doesn't) or just vote against it but
otherwise go with the flow.
2016-06-19 13:20:14 +02:00
Marek Kotewicz 3617923d3c Merge pull request #1324 from ethcore/renamefield
Update default gas limit, rename field
2016-06-18 20:22:05 +02:00
Gav Wood 47cd9ff34c Remove code no longer in master :-S 2016-06-18 15:18:36 +02:00
Gav Wood 7208f9f95c Unsaved file. Duh. 2016-06-18 15:12:13 +02:00
Tomasz Drwięga 81df97a737 Fixing warnings (#1321) 2016-06-18 15:11:10 +02:00
Arkadiy Paronyan ec654feaf8 Syncing fix (#1320)
* Fixed aborting peer for expired session

* Don't ban for usesless
2016-06-18 15:10:24 +02:00
Gav Wood d416e5d9bc Merge branch 'master' into renamefield 2016-06-18 15:05:43 +02:00
Tomasz Drwięga e957565144 Disabling ethcore_set* APIs by default (+ Status page update) (#1315)
* More meaningful errors when sending transaction

* Fixing returned value

* Consolidating all RPC error codes

* Fixed loosing peers on incoming connections. (#1293)

* Deactivate peer if it has no new data

* Fixed node table timer registration

* Fixed handshake timeout expiration

* Extra trace

* Fixed session count calculation

* Only deactivate incapable peers in ChainHead state

* Timer registration is not needed

* x64 path

* firewall rules

* Fix read-ahead bug.

Re-ahead 8 bytes rather than 3 to ensure large blocks import fine.

* Refactor to use a const.

* Update README.md

* Gas price statistics. (#1291)

* Gas price statistics.

Affects eth_gasPrice.
Added ethcore_gasPriceStatistics.

Closes #1265

* Fix a bug in eth_gasPrice

* Fix tests.

* Revert minor alteration.

* Tests for gas_price_statistics.

- Tests;
- Additional infrastructure for generating test blocks with
transactions.

* Key load avoid warning (#1303)

* avoid warning with key

* fix intendations

* more intendation fix

* ok() instead of expect()

* Appveyor config for windows build+installer (#1302)

* appveyor

* proper dist name

* quote

* win-build config

* proper build section

* tests in release

* plugin dir

* cache binaries

* quotes

* escaped quotes

* forces user dir

* fixes

* syntax

* proper cahce dir

* quotes?

* root nsis instead of bin

* submodules init

* artifact path fix

* no submodule

* raw link here

* another way to force cargo cache

* include vc++ 2015 redist

* fix name of the dist

* ETHCORE -> Ethcore

* Disabling ethcore_set* APIs (+ Status page)
2016-06-18 12:33:45 +02:00
Arkadiy Paronyan 591fa9625d Merge pull request #1313 from ethcore/net
Network start/stop
2016-06-18 11:04:24 +02:00
Arkadiy Paronyan 29e286572c Fixed loosing peers on incoming connections. (#1293)
* Deactivate peer if it has no new data

* Fixed node table timer registration

* Fixed handshake timeout expiration

* Extra trace

* Fixed session count calculation

* Only deactivate incapable peers in ChainHead state

* Timer registration is not needed
2016-06-18 10:52:46 +02:00
arkpar c340d8a34f Tests 2016-06-17 18:26:54 +02:00
arkpar 67ffac1df9 Check for session expiration on peer registration 2016-06-17 16:01:33 +02:00
arkpar b38488dd07 Network shutdown 2016-06-17 12:58:28 +02:00
Arkadiy Paronyan 7284df9bf5 Fixed loosing peers on incoming connections. (#1293)
* Deactivate peer if it has no new data

* Fixed node table timer registration

* Fixed handshake timeout expiration

* Extra trace

* Fixed session count calculation

* Only deactivate incapable peers in ChainHead state

* Timer registration is not needed
2016-06-15 19:01:58 +02:00
arkpar 65d42d6a5a Fixed valid response condition 2016-06-14 13:25:06 +02:00
arkpar 9ed2122ae2 Style + comments 2016-06-14 12:18:20 +02:00
arkpar 5c019b74e4 Validate header response 2016-06-14 11:30:51 +02:00
arkpar 1dac2e3b23 Fixed NewHashes response 2016-06-13 20:57:15 +02:00
arkpar 925869d462 Fix returning non-canonical headers 2016-06-13 20:56:55 +02:00
arkpar bee3669e9b Deactivate peers giving us invalid/empty headers 2016-06-13 20:56:44 +02:00
Tomasz Drwięga fca22e92ce Bumping clippy 2016-06-12 11:26:07 +02:00
Tomasz Drwięga 3905717d5d Fixing warnings 2016-06-03 11:36:30 +02:00
Tomasz Drwięga ae2deaaf72 Bumping clippy version 2016-06-03 11:15:38 +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
Nikolay Volf 77cef76518 rpc bindings resolved 2016-05-31 21:31:42 +02:00
Nikolay Volf 495e7feb62 dispatching message return 2016-05-31 21:13:32 +02:00
Nikolay Volf 10d914d6c6 restored chain_new_blocks 2016-05-31 20:58:33 +02:00
Nikolay Volf f5ed31792f fixed sync with client only 2016-05-31 20:54:02 +02:00
Nikolay Volf 4f732972bc refactoring to hold miner within the client 2016-05-31 19:01:37 +02:00
Robert Habermeier c62bfcddef finish purging x! from parity, remove x! and xx! macros 2016-05-31 17:25:25 +02:00
arkpar 7f3ba85a3f Fixed block/hashes propagation 2016-05-29 00:38:10 +02:00
arkpar 1e8bf8c89d More tweaks 2016-05-28 17:17:10 +02:00
arkpar 0e905a06d9 Tweaked propagation order 2016-05-28 17:17:10 +02:00
arkpar d1fc5a5611 Tweaked some constansts for slower machines 2016-05-28 17:17:10 +02:00
arkpar f85e409ff7 Make sure downloaded blocks are unmarked on send error 2016-05-28 17:17:10 +02:00
Robert Habermeier 3f89362630 rename x_latest to latest_x in BlockChainClient 2016-05-27 16:35:42 +02:00
Robert Habermeier c2a4ed6fc4 change nonce, balance, storage_at to *_latest counterparts 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
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
Marek Kotewicz ebd0cdbc7a Fixpending (#1074)
* Fix --geth IPC for MacOS.

* fix pending_* methods in MinerService, add pending_receipts

* pending logs

* include pending logs when polling

* fixed returning pending logs multiple timees

* log type

* transactionHash is supplied to pending logs

* miner returns receipts together with hashes

* bring back miners all_transactions used by sync module
2016-05-24 21:56:32 +02:00
Arkadiy Paronyan fba5082b00 Propagate uncles (#1134) 2016-05-24 21:56:17 +02: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 55ebab2392 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 01:03:55 +02:00
debris 8f6febae18 fixed docs compilation error 2016-05-18 16:44:11 +02:00
Tomasz Drwięga a950b81ee8 Fixing clippy warnings 2016-05-17 10:32:05 +02:00
Tomasz Drwięga 9b9ea93ff7 Bumping clippy & crossbeam 2016-05-17 09:33:01 +02:00
Nikolay Volf d424194bbf test spec explicitly 2016-05-16 22:32:18 +03:00
arkpar 9d2823da89 style 2016-05-16 19:46:09 +02:00
Nikolay Volf f3f45a1dd9 ethsync tests fixed 2016-05-16 20:25:05 +03:00
arkpar b5e10a53af Sync block collection 2016-05-16 14:42:04 +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
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
Tomasz Drwięga 1583f7d434 Prioritizing of local transaction (#1023)
* Changing is_local flag to TransactionOrigin enum

* Prioritize local transactions
2016-05-03 16:14:33 +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
arkpar 45b908f6ba Inrease timeout, decrease number of requested blocks 2016-04-26 14:04:00 +02:00
arkpar fe14f6f160 Track import errors and restart sync 2016-04-25 10:53:28 +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 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
Tomasz Drwięga 6b03a3218c Bumping clippy version 2016-04-12 13:51:39 +02:00
Gav Wood c48374dbc6 Parameter to allow user to force the sealing mechanism (#918)
* Allow block sealing mechanism to be forced, even when not mining.

* Fix deadlock in dispatch_transaction. Fix tests.

* Horrible workaround for transaction importing.

* Reduce tracing. Cleanups.

* Remove logging.

* Remove broken code inherited from dodgy implementation.

* pre-query tx queue nonce also if any

* remove outside nonce queries

* remove queue nonces
2016-04-11 11:52:33 -07:00
arkpar 3438cda432 Propagate transaction queue 2016-04-06 23:03:07 +02:00
Tomasz Drwięga 85da55a537 Fixing warnings 2016-04-06 10:55:40 +02:00
Tomasz Drwięga e8fa429438 Bumping clippy 2016-04-06 09:53:56 +02:00
arkpar 4854f6923b Full restart on bad block 2016-04-02 09:29:12 +02:00
arkpar a8772ed5c1 Track import errors and restart sync 2016-04-02 09:01:53 +02:00
Gav Wood 9592ccc0df Publish locally-made transactions to peers. 2016-03-28 18:11:00 +02:00
Gav Wood f231440480 Use network id for the web3_net_version return. 2016-03-26 00:23:07 +01:00
Tomasz Drwięga 62c32eb288 Merge branch 'master' into tx_queue_live
Conflicts:
	miner/src/miner.rs
2016-03-18 19:31:14 +01:00
Tomasz Drwięga 338e5fadb9 Bumping clippy 2016-03-18 10:08:47 +01:00
Tomasz Drwięga cee45e1a8e Merge branch 'master' into tx_queue_live
Conflicts:
	miner/src/miner.rs
2016-03-18 09:48:35 +01:00
Tomasz Drwięga 2dc314f993 Removing update_seal when new transactions arrives 2016-03-17 18:30:26 +01:00
Tomasz Drwięga 7ae60056b2 Common error handling 2016-03-17 16:13:00 +01:00
Nikolay Volf 85b08e6e7b get rid of the function 2016-03-17 15:09:08 +01:00
Nikolay Volf 7929af67c8 propagation is out 2016-03-17 15:02:18 +01:00
Nikolay Volf 0f96ce9bd2 no flag also 2016-03-17 14:56:19 +01:00
Nikolay Volf 0b35a36cb0 Merge branch 'master' into tq-stop-sync
Conflicts:
	sync/src/chain.rs
2016-03-17 14:19:12 +01:00
Nikolay Volf a285fbab6d overhaul to flag 2016-03-17 14:11:32 +01:00
Tomasz Drwięga 833c5fdd31 Merge branch 'master' into tx_queue_live
Conflicts:
	sync/src/chain.rs
2016-03-17 13:35:01 +01:00
Gav Wood a76eb022d0 Merge pull request #746 from ethcore/tx_queue
Verify sender's balance before importing transaction to queue
2016-03-17 13:32:48 +01:00
Nikolay Volf 83f5cc6aa6 adding helper can_sync 2016-03-17 13:14:06 +01:00
Tomasz Drwięga e1c3ab1846 Renaming status fields to something more descriptive. 2016-03-17 13:07:34 +01:00
Tomasz Drwięga b684bc9ba0 Updating sealing when new transactions are received 2016-03-17 12:52:26 +01:00
Nikolay Volf 5c4edbdd6b Merge branch 'master' into tq-stop-sync 2016-03-17 12:25:14 +01:00
Nikolay Volf 03ca9d2c06 adding message from client to sync and disabling sending transactions to the queue while syncing 2016-03-17 12:17:53 +01:00
Tomasz Drwięga bc04e0c713 Adding missing commas 2016-03-17 11:49:56 +01:00
Tomasz Drwięga 0e7778a7b7 Increasing balance in tests 2016-03-17 11:27:38 +01:00
Tomasz Drwięga 81c36499ea Fixing sync test 2016-03-17 10:20:35 +01:00
Tomasz Drwięga 10c309fccb Merge branch 'master' into tx_queue 2016-03-17 10:20:21 +01:00
arkpar b9584b7ec9 restart sync on getting old unknown header 2016-03-16 18:25:32 +01:00
Tomasz Drwięga fdba8de600 Validating senders balance before importing transaction to queue 2016-03-16 10:45:55 +01:00
arkpar e538b417f0 Missing return 2016-03-15 18:35:07 +01:00
arkpar 85833d228a Ignore new blocks while seeking 2016-03-15 01:22:58 +01:00
Nikolay Volf 8cdb013f9f Merge branch 'master' into pv63-receipts
Conflicts:
	ethcore/src/client/client.rs
2016-03-14 17:36:51 +01:00
Nikolay Volf 8f4323f3bb Merge branch 'master' into pv63-receipts
Conflicts:
	ethcore/src/client/test_client.rs
2016-03-14 11:06:28 +01:00
arkpar 9e7ff2c00e Version 1.1 2016-03-14 01:00:17 +01:00
Tomasz Drwięga 4cf18c728d Fixing sync invalid sync test 2016-03-13 20:53:47 +01:00
Nikolay Volf 809c239ff8 fix rev 2016-03-13 15:59:25 +01:00
Gav Wood 08b9cc2c41 Merge changes from #674 into branch. 2016-03-13 15:29:55 +01:00
Gav Wood 4a58e142bd Remove duplicate ciippys. 2016-03-13 15:02:08 +01:00
Gav Wood 02f43f2e8c Merge branch 'ethminer_crate' 2016-03-13 15:00:47 +01:00
Gav Wood 94932386e3 Merge pull request #685 from ethcore/sync
More sync fixes
2016-03-13 12:14:24 +01:00
arkpar 0a6fea1b77 Silenced some non-important warnings 2016-03-13 10:33:55 +01:00
Gav Wood e7574d4516 Update lib.rs 2016-03-12 19:29:18 +01:00
Nikolay Volf 0684abd345 fixed to return receipts grouped by requested block 2016-03-12 19:23:17 +01:00
arkpar 1e23a4c888 Don't redownload queued blocks on restart 2016-03-12 16:01:34 +01:00
arkpar 16618094f5 Cleanup header_ids 2016-03-12 16:01:34 +01:00
arkpar 1fe575bf7b Download bodies for validated hash chain only 2016-03-12 16:01:34 +01:00
arkpar 7ad7996144 Fixed common block detection 2016-03-12 16:01:34 +01:00
Tomasz Drwięga e10457d235 Bumping clippy 2016-03-12 10:06:50 +01:00
Tomasz Drwięga aebc91d96f Merge branch 'master' into ethminer_crate
Conflicts:
	Cargo.toml
	rpc/Cargo.toml
	sync/Cargo.toml
2016-03-12 09:50:18 +01:00
Tomasz Drwięga f724cab92d Merge branch 'master' into updating_clippy
Conflicts:
	ethcore/src/lib.rs
	sync/src/chain.rs
	sync/src/lib.rs
	util/src/keys/store.rs
	util/src/lib.rs
2016-03-11 19:17:09 +01:00
Nikolay Volf eaf22198e2 Merge pull request #676 from ethcore/fix-tx-warnings
fix warning for transaction_queue.add usage
2016-03-11 19:48:05 +03:00
Tomasz Drwięga 03da6c991f Merge branch 'master' into ethminer_crate
Conflicts:
	Cargo.lock
	Cargo.toml
	ethcore/src/client/client.rs
	hook.sh
	parity/main.rs
	rpc/Cargo.toml
	rpc/src/v1/impls/eth.rs
	sync/Cargo.toml
	sync/src/tests/helpers.rs
2016-03-11 14:37:07 +01:00
Gav Wood b25551be7b Merge pull request #671 from ethcore/clippy_hook
Removing running clippy by default on nightly.
2016-03-11 14:03:16 +01:00
Nikolay Volf 99c5794929 fix warning for transaction_queue.add usage 2016-03-11 16:00:30 +04:00
debris 389d17974e Merge branch 'client_submodules' into rpc_tests 2016-03-11 11:17:28 +01:00
debris ebd2a92267 Merge branch 'master' of github.com:ethcore/parity into client_submodules 2016-03-11 11:17:08 +01:00
Tomasz Drwięga d84e008e00 Removing superflous check for nightly 2016-03-11 11:16:49 +01:00
Marek Kotewicz eb2171e287 Merge pull request #652 from ethcore/tx_queue_rpc
Transaction queue exposed via JSON rpc.
2016-03-11 11:08:16 +01:00
Tomasz Drwięga 8709dd28f8 Fixing clippy warnings 2016-03-11 10:58:51 +01:00
Tomasz Drwięga 3a4a7ac822 Bumping clippy version 2016-03-11 10:35:26 +01:00
Tomasz Drwięga 5b204a5ff5 Merge branch 'master' into ethminer_crate
Conflicts:
	parity/main.rs
	rpc/src/v1/impls/eth.rs
	sync/src/lib.rs
2016-03-11 10:31:07 +01:00
Tomasz Drwięga 3bbdc03d0c Fixing doctest. 2016-03-11 10:17:51 +01:00
debris 34a120e127 net tests 2016-03-11 10:17:20 +01:00
debris 87dd42f7bc Merge branch 'master' of github.com:ethcore/parity into client_submodules 2016-03-10 21:17:58 +01:00
debris c5c8851b50 moved TestBlockChainClient to ethcore 2016-03-10 20:27:50 +01:00
Nikolay Volf 25a63611f8 extend sync status interface to sync provider 2016-03-10 20:32:17 +04:00
Tomasz Drwięga 92022ac14d Merge branch 'master' into ethminer_crate
Conflicts:
	ethcore/src/client.rs
	parity/main.rs
	rpc/src/v1/impls/eth.rs
	sync/src/chain.rs
2016-03-10 16:38:58 +01:00
Gav Wood 8dd41bfe0c Merge pull request #641 from ethcore/jsonrpc_interfaces
jsonrpc uses client and sync interfaces
2016-03-10 15:44:05 +01:00
Gav Wood 5764ec5ddc Merge pull request #609 from ethcore/tx-rpc-expose
Expose transaction insertion in sync lib
2016-03-10 15:28:43 +01:00
Tomasz Drwięga 9db4720162 Fixing clippy warnings. 2016-03-10 14:15:47 +01:00
Gav Wood 4cfcaf8521 Merge pull request #657 from ethcore/tx_queue_update_height_bug
Tx queue update height bug
2016-03-10 13:20:00 +01:00
Tomasz Drwięga 2e72173620 Merge branch 'master' into ethminer_crate
Conflicts:
	Cargo.lock
	Cargo.toml
	hook.sh
	miner/src/transaction_queue.rs
	rpc/Cargo.toml
	sync/Cargo.toml
	sync/src/chain.rs
2016-03-10 12:25:36 +01:00
Tomasz Drwięga d4e7eafede Merge branch 'master' into tx_queue_integration
Conflicts:
	sync/src/transaction_queue.rs
2016-03-10 11:23:39 +01:00
Tomasz Drwięga 0cf405527e Fixing update height bug 2016-03-10 11:14:25 +01:00
Gav Wood 99e577ad2f Merge pull request #650 from ethcore/tx_queue_validation
Validate sender before importing to queue
2016-03-10 11:14:22 +01:00
Tomasz Drwięga 276768a826 Failing test case for #656 2016-03-10 11:11:59 +01:00
Gav Wood 249a89fc2d Merge pull request #627 from ethcore/clippy-dev
`dev` feature enabled when compiling without `--release`
2016-03-10 11:05:56 +01:00
Nikolay Volf a2046b429f exposing only one func 2016-03-10 13:27:33 +04:00