Commit Graph

596 Commits

Author SHA1 Message Date
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
Tomasz Drwięga
cc47c80243 Merge branch 'master' into tx_queue_rpc 2016-03-10 09:44:46 +01:00
Tomasz Drwięga
2f9b955210 Merge branch 'master' into ethminer_crate
Conflicts:
	parity/main.rs
2016-03-10 09:39:26 +01:00
Tomasz Drwięga
6864a08000 Merge branch 'master' into tx_queue_validation 2016-03-10 09:26:57 +01:00
Gav Wood
2ecad23fab Merge pull request #647 from ethcore/sync
Fixed sync handling large forks
2016-03-10 00:53:20 +01:00
Nikolay Volf
ddc3440712 Merge branch 'master' into tx-rpc-expose
Conflicts:
	sync/src/chain.rs
2016-03-10 03:22:32 +04:00
Nikolay Volf
663eec8a76 Merge branch 'master' into tx-rpc-expose 2016-03-10 03:03:27 +04:00
arkpar
d7e729a4ea Fixed sync handling large forks 2016-03-09 23:55:56 +01:00
debris
082a4d9078 jsonrpc uses client and sync interfaces as a preparetion for jsonrpc tests 2016-03-09 17:31:43 +01:00
Tomasz Drwięga
363de973c9 Adding documentation and ditching EthMiner 2016-03-09 14:26:28 +01:00
Tomasz Drwięga
9d664336b5 Tratifying Miner 2016-03-09 13:30:59 +01:00
Tomasz Drwięga
5db84c3233 Adding transactions to block 2016-03-09 13:09:34 +01:00
Tomasz Drwięga
f84d40734d Validating sender before importing to queuue 2016-03-09 10:26:51 +01:00
Tomasz Drwięga
9acb36af87 Fixing tests compilation. Removing ethminer dependency on client 2016-03-08 16:23:32 +01:00
Tomasz Drwięga
99a6802b61 Moving block sealing and transaction_queue to separate create 2016-03-08 15:46:44 +01:00
Tomasz Drwięga
799d3bd2c8 Fixing doc test for queue 2016-03-08 12:42:32 +01:00
Tomasz Drwięga
655bb0ed5d Additional documentation for transaction queue 2016-03-08 12:36:06 +01:00
Tomasz Drwięga
1184679d23 Merge branch 'tx_queue_integration' into tx_queue_rpc 2016-03-08 10:17:01 +01:00
Tomasz Drwięga
f973610b38 Merge branch 'master' into tx_queue_integration 2016-03-08 10:15:11 +01:00
Tomasz Drwięga
69db469d39 Merge branch 'master' into clippy-dev
Conflicts:
	util/src/journaldb.rs
2016-03-07 14:35:42 +01:00
Tomasz Drwięga
cbc2c0cf0c Fixing clippy warnings. When building on nightly it is required to enable clippy 2016-03-07 14:34:17 +01:00
Tomasz Drwięga
e83f856104 Merging chain_blocks_verified to chain_new_blocks 2016-03-07 12:16:37 +01:00
arkpar
58721475ff Do not remove the peer immediatelly on send error 2016-03-07 11:34:07 +01:00
Tomasz Drwięga
b0ac103900 Merge branch 'master' into tx_queue_integration 2016-03-07 09:54:07 +01:00
Tomasz Drwięga
c49258e866 Merge branch 'tx_queue_integration' into tx_queue_rpc 2016-03-06 11:15:16 +01:00
Tomasz Drwięga
e91de78528 Renaming back bad as retracted 2016-03-06 11:12:02 +01:00
Tomasz Drwięga
64b5e23ba5 Merge branch 'tx_queue_integration' of github.com:ethcore/parity into tx_queue_integration 2016-03-06 11:05:13 +01:00
Tomasz Drwięga
aaf2e0c3fb Locking outside of loop 2016-03-06 11:04:24 +01:00
arkpar
003d1fd0cc Network tracing improvements 2016-03-05 23:32:38 +01:00
Nikolay Volf
ad81356683 fix namespace 2016-03-06 00:48:00 +03:00
Nikolay Volf
e100ecbeac exposing in lib 2016-03-05 23:47:28 +03:00
Nikolay Volf
57e6e1e1b5 [ci ship] redundant lines 2016-03-05 20:15:19 +03:00
Tomasz Drwięga
3f493ab118 Merge branch 'tx_queue_integration' into tx_queue_rpc 2016-03-05 17:46:45 +01:00
Tomasz Drwięga
4a53d62be4 Fixing inconsistency when replacing transactions in queue 2016-03-05 17:41:35 +01:00
Tomasz Drwięga
18cbea394d Small renaming 2016-03-05 17:14:48 +01:00
Tomasz Drwięga
c13afcf404 Removing assertion and just comparing fees 2016-03-05 17:06:04 +01:00
Tomasz Drwięga
ae1c1b918f Fixing compilation 2016-03-05 16:51:01 +01:00
Tomasz Drwięga
67f2bc40e6 Merge remote-tracking branch 'origin/tx_queue_integration' into tx_queue_rpc 2016-03-05 16:49:13 +01:00
Tomasz Drwięga
8915974cf0 Fixing compilation 2016-03-05 16:48:03 +01:00
Tomasz Drwięga
cc3839ae57 Revert "Revert "Transaction Queue integration""
This reverts commit d330f0b7b7.

Conflicts:
	sync/src/transaction_queue.rs
2016-03-05 16:46:04 +01:00
Tomasz Drwięga
5ac7b9f812 Merge branch 'master' into tx_queue_integration
Conflicts:
	sync/src/transaction_queue.rs
2016-03-05 16:44:35 +01:00
Tomasz Drwięga
0a7fc4af73 Recalculating heights in future when removing transaction 2016-03-05 16:42:34 +01:00
Tomasz Drwięga
6afa1c85b7 Replacing transactions instead of just inserting 2016-03-05 16:20:41 +01:00
Tomasz Drwięga
765d7179f5 Failing tests for transaction queue 2016-03-05 15:43:04 +01:00
Tomasz Drwięga
78a39d3ac9 Avoid importing same transaction twice (especially with different nonce_height) 2016-03-05 14:34:15 +01:00
Tomasz Drwięga
0109e5e9d4 Removing memory leak when transactions are dropped from set 2016-03-05 13:03:34 +01:00
Gav Wood
d330f0b7b7 Revert "Transaction Queue integration" 2016-03-05 12:53:54 +01:00
Tomasz Drwięga
b9a6a70ced Renaming bad blocks as retracted 2016-03-05 11:37:19 +01:00