* Improve handling of RocksDB corruption (#7630)
* kvdb-rocksdb: update rust-rocksdb version
* kvdb-rocksdb: mark corruptions and attempt repair on db open
* kvdb-rocksdb: better corruption detection on open
* kvdb-rocksdb: add corruption_file_name const
* kvdb-rocksdb: rename mark_corruption to check_for_corruption
* Hardening of CSP (#7621)
* Fixed delegatecall's from/to (#7568)
* Fixed delegatecall's from/to, closes#7166
* added tests for delegatecall traces, #7167
* Light client RPCs (#7603)
* Implement registrar.
* Implement eth_getCode
* Don't wait for providers.
* Don't wait for providers.
* Fix linting and wasm tests.
* Problem: AttachedProtocols don't get registered (#7610)
I was investigating issues I am having with Whisper support. I've
enabled Whisper on a custom test network and inserted traces into
Whisper handler implementation (Network<T> and NetworkProtocolHandler
for Network<T>) and I noticed that the handler was never invoked.
After further research on this matter, I found out that
AttachedProtocol's register function does nothing:
https://github.com/paritytech/parity/blob/master/sync/src/api.rs#L172
but there was an implementation originally:
99075ad#diff-5212acb6bcea60e9804ba7b50f6fe6ec and it did the actual
expected logic of registering the protocol in the NetworkService.
However, as of 16d84f8#diff-5212acb6bcea60e9804ba7b50f6fe6ec ("finished
removing ipc") this implementation is gone and only the no-op function
is left.
Which leads me to a conclusion that in fact Whisper's handler never gets
registered in the service and therefore two nodes won't communicate
using it.
Solution: Resurrect original non-empty `AttachedProtocols.register`
implementation
Resolves#7566
* Fix Temporarily Invalid blocks handling (#7613)
* Handle temporarily invalid blocks in sync.
* Fix tests.
* created the dir crate in util
* moved code from ethstore/src/dir/paths.rs to dir crate
* rename dir module in ethstore to accounts_dir to distinguish it
from the dir crate
* changes after @tomusdrw on #6952
* parity-version module split from util
removed unused util deps and features
trigger buildbot again
only kvdb links rocksdb
snappy linker issues
* rm snappy
* fixed old version imports
* fix#6228: do not display eth price in cli for etc
Current behaviour:
When the client is started with defaults, the miner's gas calibrator
periodically queries the price of ether in usd and uses it to adjust
the wei_per_gas variable, displaying an info message in the cli each
time calibration happens. The info message mentions the price of ETH.
When started with the --min-gas-price option, the calibrator is inactive
and the price is not displayed.
Problem:
When running on an alternate chain such as ethereum classic, the info
message mentioning the ETH price is present, unless the --min-gas-price
option is used.
Solution:
if chain != foundation and --min-gas-price is not set,
don't use GasPricerConfig::Calibrated as default but rather fix
the minimum gas price to zero.
* self.chain() returns ChainType.
* match chain based on SpecType
* Bump version.
* Fix RPC crate.
* Fix BoxFuture in crates.
* Compiles and passes tests!
* Get rid of .boxed()
* Fixing issues with the UI.
* Remove minihttp. Support threads.
* Reimplement files serving to do it in chunks.
* Increase chunk size.
* Remove some unecessary copying.
* Fix tests.
* Fix stratum warning and ipfs todo.
* Switch to proper branch of jsonrpc.
* Update Cargo.lock.
* Update docs.
* Include dapps-glue in workspace.
* fixed merge artifacts
* Fix test compilation.
* Refactor and port CLI from Docopt to Clap (#2066)
* Add --can-restart and --force-direct to help
* Add flag support to subc & move import/export options to subcommand
* Reorder subcommand args (put positional args last in CLI help message)
* Node-health to a separate crate.
* Initialize node_health outside of dapps.
* Expose health over RPC.
* Bring back 412 and fix JS.
* Add health to workspace and tests.
* Fix compilation without default features.
* Fix borked merge.
* Revert to generics to avoid virtual calls.
* Fix node-health tests.
* Add missing trailing comma.
* do not cache ACL storage contract
* when error comes before initialization
* initial KeyServerSet commit
* update_nodes_set in maintain
* do not connect to self
* fixed connection establishing
* removed println
* improved KeyServerSet tracing
* moved parsing to KeyServerSet
* re-read only when blockchain is changed
* do not try to connect if not a part of cluster
* improved logging
* fixed tests
* NodeKeyPAir trait
* fixed parity to use new trait
* continue integrating with parity
* updated parity for NodeKeyPair
* completed KeyStoreNodeKeyPair
* removed comment
* removed dependency && style
* Small improvements to time estimation.
* Allow multiple NTP servers to be used.
* Removing boxing.
* Be nice.
* Be nicer.
* Update list of servers and add reference.
* Add checks for additional reserved ip addresses
100.64.0.0/10 and 240.0.0.0/4 are both reserved but not currently
filtered.
* Add check for special purpose addresses
192.0.0.0/24 - Used for the IANA IPv4 Special Purpose Address Registry
* Refactor ip_utils (#5872)
* Add checks for all ipv4 special use addresses
* Add comprehensive ipv4 test cases
* Refactor Ipv6 address checks (#5872)
* Refactor AllowIP (#5872)
* Add IpFilter struct to wrap predefined filter (AllowIP) with custom
allow/block filters.
* Refactor parsing of --allow-ips to handle custom filters.
* Move AllowIP/IpFilter from ethsync to ethcore-network where they
are used.
* Revert Cargo.lock
* Tests for custom ip filters (#5872)
* Add "none" as a valid argument for --allow-ips to allow narrow
custom ranges, eg.: --allow-ips="none 10.0.0.0/8"
* Add tests for parsing filter arguments and node endpoints.
* Add ipnetwork crate to dev dependencies for testing.
* Add ipv6 filter tests (#5872)
* Revert parity-ui-precompiled to master
* Fix minor detail in usage.txt (#5872)
* Spaces to tabs
* Rename IpFilter::new() to ::default()
* Small readability improvements
* Test (#5872)
* Revert "Test (#5872)"
This reverts commit 7a8906430a6dad633fe29df3dca57f1630851fa9.