* version: bump stable to 2.1.7
* Adjust requests costs for light client (#9925)
* PIP Table Cost relative to average peers instead of max peers
* Add tracing in PIP new_cost_table
* Update stat peer_count
* Use number of leeching peers for Light serve costs
* Fix test::light_params_load_share_depends_on_max_peers (wrong type)
* Remove (now) useless test
* Remove `load_share` from LightParams.Config
Prevent div. by 0
* Add LEECHER_COUNT_FACTOR
* PR Grumble: u64 to u32 for f64 casting
* Prevent u32 overflow for avg_peer_count
* Add tests for LightSync::Statistics
* Fix empty steps (#9939)
* Don't send empty step twice or empty step then block.
* Perform basic validation of locally sealed blocks.
* Don't include empty step twice.
* prevent silent errors in daemon mode, closes#9367 (#9946)
* Fix light client informant while syncing (#9932)
* Add `is_idle` to LightSync to check importing status
* Use SyncStateWrapper to make sure is_idle gets updates
* Update is_major_import to use verified queue size as well
* Add comment for `is_idle`
* Add Debug to `SyncStateWrapper`
* `fn get` -> `fn into_inner`
* ci: rearrange pipeline by logic (#9970)
* ci: rearrange pipeline by logic
* ci: rename docs script
* Add readiness check for docker container (#9804)
* Update Dockerfile
Since parity is built for "mission critical use", I thought other operators may see the need for this.
Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators.
For example. Here is a health check for a parity docker container running in Kubernetes.
This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic.
```bash
#!/bin/bash
ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
RESULT=$(echo "$ETH_SYNCING | jq -r .result)
if [ "$RESULT" == "false" ]; then
echo "Parity is ready to start accepting traffic"
exit 0
else
echo "Parity is still syncing the blockchain"
exit 1
fi
```
* add sync check script
* Fix docker script (#9854)
* Dockerfile: change source path of the newly added check_sync.sh (#9869)
* Do not use the home directory as the working dir in docker (#9834)
* Do not create a home directory.
* Re-add -m flag
* fix docker build (#9971)
* bump smallvec to 0.6 in ethcore-light, ethstore and whisper (#9588)
* bump smallvec to 0.6 in ethcore-light, ethstore and whisper
* bump transaction-pool
* Fix test.
* patch cargo to use tokio-proto from git repo
this makes sure we no longer depend on smallvec 0.2.1 which is
affected by https://github.com/servo/rust-smallvec/issues/96
* use patched version of untrusted 0.5.1
* ci: allow audit to fail
* Add a `fastmap` crate that provides the H256FastMap specialized HashMap
* Use `fastmap` instead of `plain_hasher`
* Update submodules for Reasons™
* Submodule update
* Bump parking_lot to 0.6
* Bump parity-wasm to 0.31 so it gets rid of parking_lot
ref https://github.com/paritytech/parity-wasm/pull/206
* Update jsonrpc versions
* Update wasmi and pwasm-utils version
* Fix compile
* Update jsonrpc crates
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.
* Mark test helpers and test-only specs as cfg(test)
* Use test-probe to conditionally compile test helpers
* Remove test probe and directly use features tag
* Alter IO queueing.
* Don't require IoMessages to be Clone
* Ancient blocks imported via IoChannel.
* Get rid of private transactions io message.
* Get rid of deadlock and fix disconnected handler.
* Revert to old disconnect condition.
* Fix tests.
* Fix deadlock.