* Filter-out nodes.json (#7716)
* Filter-out nodes.json
* network: sort node table nodes by failure ratio
* network: fix node table tests
* network: fit node failure percentage into buckets of 5%
* network: consider number of attempts in sorting of node table
* network: fix node table grumbles
* Fix client not being dropped on shutdown (#7695)
* parity: wait for client to drop on shutdown
* parity: fix grumbles in shutdown wait
* parity: increase shutdown timeouts
* Wrap --help output to 120 characters (#7626)
* Update Clap dependency and remove workarounds
* WIP
* Remove line breaks in help messages for now
* Multiple values can only be separated by commas (closes#7428)
* Grumbles; refactor repeating code; add constant
* Use a single Wrapper rather than allocate a new one for each call
* Wrap --help to 120 characters rather than 100 characters
* Merge pull request #7368 from paritytech/td-future-blocks
Wait for future blocks in AuRa
* Fix tracing failed calls.
* Problem: sending any Whisper message fails
The error is "PoW too low to compete with other messages"
This has been previously reported in #7144
Solution: prevent the move semantics
The source of the error is in PoolHandle.relay
implementation for NetPoolHandle.
Because of the move semantics, `res` variable is in fact
copied (as it implements Copy) into the closure and for
that reason, the returned result is always `false.
* Merge pull request #7433 from paritytech/td-strict-config
Strict config parsing
* Problem: AuRa's unsafeties around step duration (#7282)
Firstly, `Step.duration_remaining` casts it to u32, unnecesarily
limiting it to 2^32. While theoretically this is "good enough" (at 3
seconds steps it provides room for a little over 400 years), it is
still a lossy way to calculate the remaining time until the next step.
Secondly, step duration might be zero, triggering division by zero
in `Step.calibrate`
Solution: rework the code around the fact that duration is
typically in single digits and never grows, hence, it can be represented
by a much narrower range (u16) and this highlights the fact that
multiplying u64 by u16 will only result in an overflow in even further
future, at which point we should panic informatively (if anybody's
still around)
Similarly, panic when it is detected that incrementing the step
counter wrapped around on the overflow of usize.
As for the division by zero, prevent it by making zero an invalid
value for step duration. This will make AuRa log the constraint
mismatch and panic (after all, what purpose would zero step duration
serve? it makes no sense within the definition of the protocol,
as finality can only be achieved as per the specification
if messages are received within the step duration, which would violate
the speed of light and other physical laws in this case).
* Merge pull request #7437 from paritytech/a5-chains-expanse
Remove expanse chain
* Expanse Byzantium update w/ correct metropolis difficulty increment divisor (#7463)
* Byzantium Update for Expanse
Here the changes go. Hope I didnt miss anything.
* expip2 changes - update duration limit
* Fix missing EXPIP-2 fields
* Format numbers as hex
* Fix compilation errors
* Group expanse chain spec fields together
* Set metropolisDifficultyIncrementDivisor for Expanse
* Revert #7437
* Add Expanse block 900_000 hash checkpoint
* Advance AuRa step as far as we can and prevent invalid blocks. (#7451)
* Advance AuRa step as far as we can.
* Wait for future blocks.
* fixed panic when io is not available for export block, closes#7486 (#7495)
* Update Parity Mainnet Bootnodes (#7476)
* Update Parity Mainnet Bootnodes
* Replace the Azure HDD bootnodes with the new ones :)
* Use https connection (#7503)
Use https when connecting to etherscan.io API for price-info
* Expose default gas price percentile configuration in CLI (#7497)
* Expose gas price percentile.
* Fix light eth_call.
* fix gas_price in light client
* kvdb-rocksdb: update to RocksDB 5.8.8
* kvdb-rocksdb: tune RocksDB options
* Switch to level-style compaction
* Increase default block size (16K), and use bigger blocks for HDDs (64K)
* Increase default file size base (64MB SSDs, 256MB HDDs)
* Create a single block cache shared across all column families
* Tune compaction settings using RocksDB helper functions, taking into account
memory budget spread across all columns
* Configure backgrounds jobs based on the number of CPUs
* Set some default recommended settings
* ethcore: remove unused config blockchain.db_cache_size
* parity: increase default value for db_cache_size
* kvdb-rocksdb: enable compression on all levels
* kvdb-rocksdb: set global db_write_bufer_size
* kvdb-rocksdb: reduce db_write_bufer_size to force earlier flushing
* kvdb-rocksdb: use master branch for rust-rocksdb dependency
* 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)
* 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.
* 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
Add --min-gas-price (does the same as legacy --gasprice) and tweak
gas_pricer_config() and test cases. Dev preset will still be
overridden by CLI arguments, including --gasprice.
* Health endpoint.
* Asynchronous health endpoint.
* Configure time api URL via CLI.
* Tests for TimeChecker.
* Health indication on Status page.
* Adding status indication to tab titles.
* Add status to ParityBar.
* Fixing lints.
* Add health status on SyncWarning.
* Fix health URL for embed.
* Nicer messages.
* Fix tests.
* Fixing JS tests.
* NTP time sync (#5956)
* use NTP to check time drift
* update time module documentation
* replace time_api flag with ntp_server
* fix TimeChecker tests
* fix ntp-server flag usage
* hide status tooltip if there's no message to show
* remove TimeProvider trait
* use Cell in FakeNtp test trait
* share fetch client and ntp client cpu pool
* Add documentation to public method.
* Removing peer count from status.
* Remove unknown upgrade status.
* Send two time requests at the time.
* Revert "Send two time requests at the time."
This reverts commit f7b754b1155076a5a5d8fdafa022801fae324452.
* Defer reporting time synchronization issues.
* Fix tests.
* Fix linting.
* Adding CLI option for port shift and unsafe expose.
* Fixing IPC path.
* Fix hosts when attempting to expose on all interfaces.
* Fixing test.
* Fix typo.
* ECDKG protocol prototype
* added test for enc/dec math
* get rid of decryption_session
* added licenses
* fix after merge
* get rid of unused serde dependency
* doc
* decryption session [without commutative enc]
* failed_dec_session
* fixed tests
* added commen
* added more decryption session tests
* helper to localize an issue
* more computations to localize error
* decryption_session::SessionParams
* added tests for EC math to localize problem
* secretstore network transport
* encryption_session_works_over_network
* network errors processing
* connecting to KeyServer
* licenses
* get rid of debug println-s
* fixed secretstore args
* encryption results are stored in KS database
* decryption protocol works over network
* enc/dec Session traits
* fixing warnings
* fix after merge
* on-chain ACL checker proto
* fixed compilation
* fixed compilation
* finally fixed <odd>-of-N-scheme
* temporary commented test
* 1-of-N works in math
* scheme 1-of-N works
* updated AclStorage with real contract ABI
* remove unnecessary unsafety
* fixed grumbles
* wakeup on access denied
* encrypt secretstore messages
* 'shadow' decryption
* fix grumbles
* lost files
* secretstore cli-options
* decryption seccion when ACL check failed on master
* disallow regenerating key for existing document
* removed obsolete TODO
* fix after merge
* switched to tokio_io
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fixed test
* fix after merge
* encryption session errors are now fatal
* session timeouts
* autorestart decryption session
* remove sessions on completion
* exclude disconnected nodes from decryption session
* test for enc/dec session over network with 1 node
* remove debug printlns
* fixed 1-of-1 scheme
* drop for KeyServerHttpListener
* Use standard encryption and decryption (as in RPC)
* added some tests
* moved DEFAULT_MAC to ethcrypto
* rpc_secretstore_encrypt_and_decrypt
* serialization with "0x" prefix (RPC compatibility)
* secretstore RPC API
* fix after merge
* fixed typo
* secretstore_shadowDecrypt RPC
* enable secretstore RPCs by default
* fixed test
* SecStore RPCs available without SecStore feature
* fixed grumbles
* lost files
* added password argument to Parity RPCs
* update docs
* lost file
* ECDKG protocol prototype
* added test for enc/dec math
* get rid of decryption_session
* added licenses
* fix after merge
* get rid of unused serde dependency
* doc
* decryption session [without commutative enc]
* failed_dec_session
* fixed tests
* added commen
* added more decryption session tests
* helper to localize an issue
* more computations to localize error
* decryption_session::SessionParams
* added tests for EC math to localize problem
* secretstore network transport
* encryption_session_works_over_network
* network errors processing
* connecting to KeyServer
* licenses
* get rid of debug println-s
* fixed secretstore args
* encryption results are stored in KS database
* decryption protocol works over network
* enc/dec Session traits
* fixing warnings
* fix after merge
* on-chain ACL checker proto
* fixed compilation
* fixed compilation
* finally fixed <odd>-of-N-scheme
* temporary commented test
* 1-of-N works in math
* scheme 1-of-N works
* updated AclStorage with real contract ABI
* remove unnecessary unsafety
* fixed grumbles
* wakeup on access denied
* encrypt secretstore messages
* 'shadow' decryption
* fix grumbles
* lost files
* secretstore cli-options
* decryption seccion when ACL check failed on master
* disallow regenerating key for existing document
* removed obsolete TODO
* fix after merge
* switched to tokio_io
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fixed test
* fix after merge
* Dapps server as a middleware.
* Dapps RPC - Work in Progress
* Merging Dapps and RPC server.
* Fast HTTP server configuration.
* Bump jsonrpc
* Fixing test target
* Re-implementing commented-out tests.