Niklas Adolfsson
7fb33796b1
light client : failsafe crate (circuit breaker) ( #9790 )
...
* refactor(light) : N/W calls with `circuit breaker`
* fix(nits) : forgot to commit new files
* Add tests and change CLI args
* Address grumbles
* fix(failsafe-rs) : Santize input to prevent panics
* chore(failsafe) : bump failsafe, (parking_lot)
Bump failsafe to v0.3.0 to enable `parking_lot::Mutex` instead
`spin::Mutex`
* Remove `success_rate`
* feat(circuit_breaker logger)
* feat(CLI): separate CLI args request and response
* Fix tests
* Error response provide request kind
When a reponse `times-out` provide the actual request or requests that failed
* Update ethcore/light/src/on_demand/mod.rs
Co-Authored-By: niklasad1 <niklasadolfsson1@gmail.com>
* Update ethcore/light/src/on_demand/mod.rs
Co-Authored-By: niklasad1 <niklasadolfsson1@gmail.com>
* fix(grumbles): formatting nit
* fix(grumbles)
* Use second resolution on CLI args
* Use `consecutive failure policy` instead of `timeOverWindow`
* Add a couple of tests for `request_guard`
* fix(request_guard): off-by-one error, update tests
2018-12-05 10:36:53 +01:00
Jim Posen
9ed43230ca
Better support for eth_getLogs in light mode ( #9186 )
...
* Light client on-demand request for headers range.
* Cache headers in HeaderWithAncestors response.
Also fulfills request locally if all headers are in cache.
* LightFetch::logs fetches missing headers on demand.
* LightFetch::logs limit the number of headers requested at a time.
* LightFetch::logs refactor header fetching logic.
* Enforce limit on header range length in light client logs request.
* Fix light request tests after struct change.
* Respond to review comments.
2018-08-25 23:06:01 +02:00
David
e2095d4a5d
Move ethereum-specific H256FastMap type to own crate ( #9307 )
...
* Add a `fastmap` crate that provides the H256FastMap specialized HashMap
* Use `fastmap` instead of `plain_hasher`
* Update submodules for Reasons™
* Submodule update
2018-08-09 09:51:48 +02:00
David
c7f608ec74
Delete crates from parity-ethereum and fetch them from parity-common instead ( #9083 )
...
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
David
9caa868603
Make HashDB generic ( #8739 )
...
The `patricia_trie` crate is generic over the hasher (by way of HashDB) and node encoding scheme. Adds a new `patricia_trie_ethereum` crate with concrete impls for Keccak/RLP.
2018-07-02 18:50:05 +02:00
Niklas Adolfsson
98b7c07171
Update license header
and scripts
( #8666 )
...
* Update `add_license` script
* run script
* add `remove duplicate lines script` and run it
* Revert changes `English spaces`
* strip whitespaces
* Revert `GPL` in files with `apache/mit license`
* don't append `gpl license` in files with other lic
* Don't append `gpl header` in files with other lic.
* re-ran script
* include c and cpp files too
* remove duplicate header
* rebase nit
2018-06-04 10:19:50 +02:00
Andrew Jones
14361cc7b1
Move ethcore::Error to error_chain ( #8386 )
...
* WIP
* Convert Ethcore error to use error_chain
* Use error_chain for ImportError and BlockImportError
* Fix error pattern matches for error_chain in miner
* Implement explicit From for AccountsError
* Fix pattern matches for ErrorKinds
* Handle ethcore error_chain in light client
* Explicitly define Result type to avoid shadowing
* Fix remaining Error pattern matches
* Fix tab space formatting
* Helps if the tests compile
* Fix error chain matching after merge
2018-04-19 11:52:54 +02:00
Pierre Krieger
113c35af0a
Remove the time dependency where possible ( #8100 )
2018-03-14 12:29:52 +01:00
Pierre Krieger
d4205da484
Extract the hard dependency on rocksdb from the light client ( #8034 )
...
* Extract the hard dependency on rocksdb from the light client
* Remove TODO
2018-03-01 19:53:15 +01:00
Nikolay Volf
684322cd6f
Kovan WASM fork code ( #7849 )
...
* kovan fork code
* introduce ethcore level vm_factory and let it fail
* fix json tests
* wasmcosts as option
* review changes
* wasm costs in parser
* fix evm tests
* review fixes
* fix test
* remove redundant json field
2018-02-19 12:27:42 +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
81212c5031
Merge branch 'master' into upload-crates
2017-11-17 16:42:41 +01:00
debris
a22c48b6b0
removed redundant imports
2017-11-14 17:47:41 +01:00
Robert Habermeier
ec5519ccd1
rename hash crate to keccak-hash
2017-11-10 20:08:28 +01:00
debris
16d84f8ecf
finished removing ipc
2017-10-16 18:18:43 +02:00
debris
2ce0eae406
Merge branch 'master' into kvdb_split
2017-10-16 10:01:12 +02:00
Dmitry Kashitsyn
4df541e47a
Refactors references to MemoryLruCache in ethcore ( #6693 )
2017-10-15 21:47:06 +07:00
debris
eb526b7769
separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, #6693
2017-10-12 15:36:27 +02:00
Marek Kotewicz
6279ff32f5
Separate migrations from util ( #6690 )
...
* separate migration from util and make its dependencies into libs:
* snappy
* kvdb
* error
* common
* renamed common -> macros
* util error does not depend on snappy module
* ethsync does not depend on util nor ethcore_error
* nibbleslice and nibblevec merged with patricia_trie crate
* removed unused dependencies from util
* util journaldb traits does not need to be public
* util_error
* fixed ethcore compile error
* ignore .swo files
* Update chain.rs
2017-10-10 20:01:27 +02:00
Hawstein
dd7a60c7a8
rename trie to patricia-trie
2017-09-15 11:49:26 +08:00
Hawstein
ade37be25b
separate trie from util and make its dependencies into libs:
...
* bytes
* hashdb
* memorydb
* nibbleslice
* nibblevec
2017-09-15 11:03:53 +08: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
Marek Kotewicz
b731ccea18
triehash is separated from util ( #6428 )
2017-09-03 09:11:14 +02:00
Hawstein
7b8af30590
remove re-export of parking_lot in util ( #6435 )
2017-09-02 20:09:13 +02:00
debris
94f717a255
Merge branch 'master' into keccak_fn
2017-08-31 11:53:26 +02:00
debris
7849fff41e
finished
2017-08-31 11:35:41 +02:00
Axel Chalon
6b5ad69c22
Remove reexport of HeapSizeOf in util ( #6419 )
2017-08-30 16:04:47 +02:00
Marek Kotewicz
407c8c3fb9
rlp_derive ( #6125 )
...
* rlp_derive
* RlpEncodableWrapper, RlpDecodableWrapper
* use rlp_derive in parity
* fixed broken transaction Action serialization
2017-08-20 12:01:46 +08:00
Nikolay Volf
b7006034b1
Decouple virtual machines ( #6184 )
...
* work in progress for splitting vms
* evm working
* Evm -> Vm
* wasm converted
* ethcore working
* test fixes
2017-08-01 13:37:57 +03:00
Robert Habermeier
d365281cce
Ethcore crate split part 1 ( #6041 )
...
* split out types into separate crate
* split out evm into its own crate
2017-07-12 13:09:17 +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
9358f81ac1
fix indentation
2017-05-09 14:24:45 +02:00
Robert Habermeier
73b2dd7a59
light client RPC dependencies
2017-03-22 21:09:43 +01:00
Robert Habermeier
bc9c1d4824
use a database in ethcore-light
2017-03-21 20:57:13 +01:00
Robert Habermeier
cbb9314531
use PIP messages in on_demand, old API
2017-03-16 20:23:59 +01:00
Robert Habermeier
8fb0a2d417
move request_builder -> request::builder
2017-03-08 20:11:22 +01:00
Robert Habermeier
04291fe71e
complete initial request changes
2017-03-07 19:48:07 +01:00
Robert Habermeier
41effadb94
RLP encoding and decoding for requests
2017-03-06 12:21:06 +01:00
Robert Habermeier
bbb50caa89
initial request definitions
2017-03-03 19:25:29 +01:00
Robert Habermeier
3b023c82b7
fetch gas price corpus from network when needed
2017-02-17 17:08:46 +01:00
Robert Habermeier
3b9741e9d8
Implement the basic data cache
2017-02-16 18:07:28 +01:00
Robert Habermeier
a559dfe9a1
implement send_raw_transaction
2017-02-09 19:17:37 +01:00
Robert Habermeier
b3440babe3
light txq skeleton
2017-02-08 19:21:12 +01:00
Robert Habermeier
e874df5155
hide CHT internals from header chain
2017-02-03 19:50:23 +01:00
Gav Wood
8404edb656
Fix whitespace ( #4299 )
...
* Fix whitespace.
* Update copyright years/owner.
* Push release only for tags.
2017-01-25 18:51:41 +01:00
Robert Habermeier
31aae4ed78
move cht module up a level
2017-01-16 16:55:23 +01:00
Robert Habermeier
4daa645789
dispatch header requests
2016-12-28 16:20:46 +01:00
Robert Habermeier
428d5db9d1
beginning of on_demand
2016-12-27 16:43:28 +01:00