Tomasz Drwięga
08abf67a51
Fix packet count when talking with PAR2 peers ( #8555 )
...
* Support diferent packet counts in different protocol versions.
* Fix light timeouts and eclipse protection.
* Fix devp2p tests.
* Fix whisper-cli compilation.
* Fix compilation.
* Fix ethcore-sync tests.
* Revert "Fix light timeouts and eclipse protection."
This reverts commit 06285ea8c1d9d184d809f64b5507aece633da6cc.
* Increase timeouts.
2018-05-14 10:09:05 +02:00
Andrew Jones
a04c5b180a
Replace legacy Rlp with UntrustedRlp and use in ethcore rlp views ( #8316 )
...
* WIP
* Replace Rlp with UntrustedRlp in views, explicity unwrap with expect
First pass to get it to compile. Need to figure out whether to do this or to propogate Errors upstream, which would require many more changes to dependent code. If we do this way we are assuming that the views are always used in a context where the rlp is trusted to be valid e.g. when reading from our own DB. So need to fid out whether views are used with data received from an untrusted (e.g. extrernal peer).
* Remove original Rlp impl, rename UntrustedRlp -> Rlp
* Create rlp views with view! macro to record debug info
Views are assumed to be over valid rlp, so if there is a decoding error we record where the view was created in the first place and report it in the expect
* Use $crate in view! macro to avoid import, fix tests
* Expect valid rlp in decode functions for now
* Replace spaces with tabs in new file
* Add doc tests for creating views with macro
* Update rlp docs to reflect removing of UntrustedRlp
* Replace UntrustedRlp usages in private-tx merge
2018-04-16 15:52:12 +02:00
Pierre Krieger
fac356c701
More code refactoring to integrate Duration ( #8322 )
...
* More code refactoring to integrate Duration
* Fix typo
* Fix tests
* More test fix
2018-04-14 21:35:58 +02:00
Ryan Leung
9c9ddaccec
use constant durations ( #8278 )
...
* use constant durations
* fix CI
* address comments
2018-04-02 10:47:56 +02:00
Pierre Krieger
113c35af0a
Remove the time dependency where possible ( #8100 )
2018-03-14 12:29:52 +01:00
Pierre Krieger
eeee90def5
Abstract devp2p ( #8048 )
...
* Rename ethcore-network to ethcore-network-devp2p
* Fix typo
* Extract generic traits into util/network
* Simplify util/network
* Fix devp2p tests
* Remove old feature
* Fix RPC tests
2018-03-05 11:56:35 +01:00
Tomasz Drwięga
f044b61f42
Extract some parts of miner from ethcore. ( #7353 )
...
* Move miner away from ethcore.
* Fix ethcore to use miner/transaction.
* Fix tests and warnings.
* fixed incorrect merge of the test in the documentation
2018-01-11 17:49:10 +01:00
Marek Kotewicz
e95b093483
dissolve util ( #7460 )
...
* ethereum-types refactor in progress
* ethereum-types refactor in progress
* ethereum-types refactor in progress
* ethereum-types refactor in progress
* ethereum-types refactor finished
* removed obsolete util/src/lib.rs
* removed commented out code
2018-01-10 15:35:18 +03:00
Robert Habermeier
b010fb5004
Light Client: fetch transactions/receipts by transaction hash ( #6641 )
...
* rpc: transaction/receipt requests made async
* rpc: light client fetches transaction and uncle by hash/index
* on_demand: request type for transaction index
* serve transaction index requests in light protocol
* add a test for transaction index serving
* fetch transaction and receipts by hash on light client
* fix decoding tests
* light: more lenient cost table parsing (backwards compatible)
* fix tests and warnings
* LES -> PIP
* Update provider.rs
* proper doc comments for public functions
2017-10-08 18:19:27 +02:00
Lorenzo Manacorda
5f025cc1b8
Rename Requests to Batch
2017-09-24 20:09:30 +02:00
Robert Habermeier
ad39446e87
Revert "fixed master ( #6465 )"
...
This reverts commit 899538ae25
.
2017-09-05 17:54:05 +02:00
Marek Kotewicz
899538ae25
fixed master ( #6465 )
...
* fixed master
* Revert "Merge pull request #6370 from paritytech/light-poa"
This reverts commit 3c60f99def
, reversing
changes made to b731ccea18
.
2017-09-05 14:53:09 +02:00
Fredrik Harrysson
dccdedc001
Merge branch 'master' into fo-6418-dont-export-bigint
2017-09-05 10:48:54 +02:00
Fredrik
e54784bfeb
Merge branch 'master' into fo-6418-dont-export-bigint
...
# Conflicts:
# dapps/src/tests/helpers/registrar.rs
# ethcore/evm/src/interpreter/shared_cache.rs
# ethcore/light/src/client/header_chain.rs
# ethcore/light/src/client/mod.rs
# ethcore/light/src/net/mod.rs
# ethcore/light/src/on_demand/request.rs
# ethcore/light/src/on_demand/tests.rs
# ethcore/light/src/provider.rs
# ethcore/node_filter/src/lib.rs
# ethcore/src/block.rs
# ethcore/src/blockchain/blockchain.rs
# ethcore/src/client/test_client.rs
# ethcore/src/engines/authority_round/mod.rs
# ethcore/src/engines/basic_authority.rs
# ethcore/src/engines/mod.rs
# ethcore/src/engines/tendermint/mod.rs
# ethcore/src/engines/validator_set/contract.rs
# ethcore/src/engines/validator_set/multi.rs
# ethcore/src/engines/validator_set/safe_contract.rs
# ethcore/src/engines/vote_collector.rs
# ethcore/src/miner/external.rs
# ethcore/src/miner/miner.rs
# ethcore/src/miner/service_transaction_checker.rs
# ethcore/src/miner/work_notify.rs
# ethcore/src/pod_account.rs
# ethcore/src/pod_state.rs
# ethcore/src/snapshot/block.rs
# ethcore/src/snapshot/consensus/work.rs
# ethcore/src/snapshot/mod.rs
# ethcore/src/snapshot/service.rs
# ethcore/src/spec/spec.rs
# ethcore/src/state/backend.rs
# ethcore/src/trace/db.rs
# ethcore/src/verification/queue/mod.rs
# ethcore/src/verification/verification.rs
# parity/informant.rs
# rpc/src/v1/helpers/dispatch.rs
# rpc/src/v1/helpers/light_fetch.rs
# rpc/src/v1/helpers/signing_queue.rs
# rpc/src/v1/impls/eth.rs
# rpc/src/v1/impls/eth_filter.rs
# rpc/src/v1/impls/eth_pubsub.rs
# rpc/src/v1/impls/light/eth.rs
# rpc/src/v1/impls/signing.rs
# rpc/src/v1/tests/helpers/miner_service.rs
# rpc/src/v1/tests/helpers/snapshot_service.rs
# rpc/src/v1/tests/helpers/sync_provider.rs
# rpc/src/v1/tests/mocked/eth.rs
# stratum/src/lib.rs
# sync/src/blocks.rs
# sync/src/chain.rs
# sync/src/light_sync/mod.rs
# sync/src/tests/helpers.rs
# sync/src/tests/snapshot.rs
# updater/src/updater.rs
# util/src/lib.rs
# util/triehash/src/lib.rs
2017-09-04 18:32:55 +02:00
Fredrik
308f36a532
Don't reexport bigint from util
2017-09-04 16:36:49 +02:00
Robert Habermeier
372779915f
Merge branch 'master' into light-poa
2017-09-04 12:30:37 +02:00
Hawstein
7b8af30590
remove re-export of parking_lot in util ( #6435 )
2017-09-02 20:09:13 +02:00
Robert Habermeier
2ff3dff6ea
serve epoch signals over network and check them
2017-08-23 15:37:35 +02:00
Robert Habermeier
7d348e2260
light client fixes ( #6148 )
...
* light client fixes
* fix memory-lru-cache
* clear pending reqs on disconnect
2017-07-26 15:48:00 +02:00
Robert Habermeier
99075ad22a
Initial Whisper implementation ( #6009 )
...
* whisper skeleton
* basic message store
* rallying and message logic
* pass host info to network protocol handlers
* choose who starts rally based on node key
* module reshuffling
* mining messages
* prune messages by low PoW until below size target
* associated error type for ethkey generators and `OsRng` generator
* beginnings of RPC
* generic message handler for whisper
* reshuffle code order
* standard payload encoding and decoding
* basic crypto
* minor restructuring of net code
* implement shh_post
* merge?
* implement filters
* rand trait for hash types
* filter RPCs for whisper
* symmetric encryption of payload
* pub-sub
* filter tests
* use only secure random IDs
* attach arbitrary protocols to network
* basic integration of whisper into Parity
* eagerly prune low PoW entries
* broadcast messages with salted topics
* node info RPC
* fix import
* fix leading zeros calculation
* address minor grumbles
2017-07-14 20:40:28 +02:00
Robert Habermeier
cc718bb108
Merge pull request #5958 from Vurich/peer-status
...
Report whether a peer was kept from `Handler::on_connect`
2017-07-03 16:22:50 +02:00
Robert Habermeier
826a4ca0a2
Implement skeleton for transaction index and epoch transition proof PIP messages ( #5908 )
...
* add transaction index message without implementing
* add epoch proof fetch and response messages
2017-07-03 12:25:10 +02:00
Vurich
17de29e69a
Prevent disconnect from within handler (and style cleanup)
2017-06-30 12:10:12 +02:00
Vurich
5eba9078fc
Report whether a peer was kept from `Handler::on_connect`
2017-06-30 11:00:32 +02:00
Robert Habermeier
aa41b48ba0
Dynamically adjust PIP request costs based on gathered data ( #5603 )
...
* beginnings of load timer
* initial load timer implementation
* saturating adds
* create flow params from distribution
* update request credits and acknowledgement
* mark cumulative cost dead code
* fix compilation
* tests
* supply load share and other params to lightprotocol params
* add file store
* fix ethsync compilation
* reshuffle constants
2017-05-23 12:31:09 +02:00
Robert Habermeier
a98052fe74
Merge branch 'master' into on-demand-priority
2017-04-13 16:44:47 +02:00
Adrian Brink
e004e05037
Spelling fixes and link addition about LRU cache in the docs.
2017-04-07 21:34:29 +02:00
Robert Habermeier
68ec7ae41e
tests for on_demand
2017-04-07 19:35:39 +02:00
Robert Habermeier
35740456a4
generalize RequestBuilder
2017-04-05 15:02:44 +02:00
Robert Habermeier
e0a79699ea
transaction propagation on a timer
2017-03-23 20:31:20 +01:00
Robert Habermeier
5700f4ac81
fix block response decoding
2017-03-23 18:31:16 +01:00
Robert Habermeier
1485dd07ae
use prev credits in tracing
2017-03-23 14:38:32 +01:00
Robert Habermeier
4eb69dc0fe
reintroduce credits recharging
2017-03-23 04:36:49 +01:00
Robert Habermeier
0abbd7ac97
Merge branch 'pip-msg' into lightcli
2017-03-22 22:08:39 +01:00
Robert Habermeier
e3d6525d83
store cumulative cost in pending request set.
2017-03-22 19:30:42 +01:00
Robert Habermeier
a0619fc101
Merge branch 'master' into pip-msg
2017-03-22 15:56:09 +01:00
Marek Kotewicz
044d070667
rlp deserialization refactor, 30% faster ( #4901 )
...
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* moved rlp benches and rlp tests
* rlp deserialization refactor, 30% faster
* removed redundant comment, print
* fixed compiling parity with new rlp deserialization
* removed redundant double-space
* fixed failing test
* updated rlp docs, removed unused traits
* fixed rlp benchmarks
* replace usage of WriteBytesExt with ByteOrder
* removed unused, commented out code
* fixed merge conflict
2017-03-22 14:41:46 +01:00
Robert Habermeier
fe52e969b6
Merge branch 'master' into pip-msg
2017-03-21 15:24:47 +01:00
Marek Kotewicz
a555686bcd
rlp serialization refactor ( #4873 )
...
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* removed redundant comment, print
* removed redundant double-space
* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00
Robert Habermeier
391eb4b66c
get network tests working
2017-03-09 16:55:13 +01:00
Robert Habermeier
8fb0a2d417
move request_builder -> request::builder
2017-03-08 20:11:22 +01:00
Robert Habermeier
9692616958
re-do cost table
2017-03-08 18:01:41 +01:00
Robert Habermeier
bb39f104f4
implement requesting from
2017-03-08 17:37:07 +01:00
Robert Habermeier
ee034185a5
handle response packets
2017-03-08 15:28:46 +01:00
Robert Habermeier
8a3b5c6332
Remote transaction execution ( #4684 )
...
* return errors on database corruption
* fix tests, json tests
* fix remainder of build
* buffer flow -> request credits
* proving state backend
* generate transaction proofs from provider
* network messages for transaction proof
* transaction proof test
* test for transaction proof message
* fix call bug
* request transaction proofs from on_demand
* most of proved_execution rpc
* proved execution future
2017-03-08 14:39:44 +01:00
Robert Habermeier
dbd05e6c92
handle request packet in LightProtocol
2017-03-07 20:58:23 +01:00
Robert Habermeier
04291fe71e
complete initial request changes
2017-03-07 19:48:07 +01:00
Robert Habermeier
1ff0abc661
Merge branch 'master' into remote-tx-exec
2017-02-26 13:55:29 +01:00
Robert Habermeier
69e82e15a3
request transaction proofs from on_demand
2017-02-25 20:10:38 +01:00
Robert Habermeier
4158693470
network messages for transaction proof
2017-02-25 11:07:38 +01:00