Commit Graph

418 Commits

Author SHA1 Message Date
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
3905717d5d Fixing warnings 2016-06-03 11:36:30 +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
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
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
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
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
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
8f4323f3bb Merge branch 'master' into pv63-receipts
Conflicts:
	ethcore/src/client/test_client.rs
2016-03-14 11:06:28 +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
02f43f2e8c Merge branch 'ethminer_crate' 2016-03-13 15:00:47 +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
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
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