* parity-version: mark 2.1.0 track beta
* ci: update branch version references
* docker: release master to latest
* Fix checkpointing when creating contract failed (#9514)
* ci: fix json docs generation (#9515)
* fix typo in version string (#9516)
* Update patricia trie to 0.2.2 crates. Default dependencies on minor
version only.
* Putting back ethereum tests to the right commit
* Enable all Constantinople hard fork changes in constantinople_test.json (#9505)
* Enable all Constantinople hard fork changes in constantinople_test.json
* Address grumbles
* Remove EIP-210 activation
* 8m -> 5m
* Temporarily add back eip210 transition so we can get test passed
* Add eip210_test and remove eip210 transition from const_test
* In create memory calculation is the same for create2 because the additional parameter was popped before. (#9522)
* deps: bump fs-swap and kvdb-rocksdb
* Multithreaded snapshot creation (#9239)
* Add Progress to Snapshot Secondary chunks creation
* Use half of CPUs to multithread snapshot creation
* Use env var to define number of threads
* info to debug logs
* Add Snapshot threads as CLI option
* Randomize chunks per thread
* Remove randomness, add debugging
* Add warning
* Add tracing
* Use parity-common fix seek branch
* Fix log
* Fix tests
* Fix tests
* PR Grumbles
* PR Grumble II
* Update Cargo.lock
* PR Grumbles
* Default snapshot threads to half number of CPUs
* Fix default snapshot threads // min 1
* correct before_script for nightly build versions (#9543)
- fix gitlab array of strings syntax error
- get proper commit id
- avoid colon in stings
* Remove initial token for WS. (#9545)
* version: mark release critical
* ci: fix rpc docs generation 2 (#9550)
* Improve P2P discovery (#9526)
* Add `target` to Rust traces
* network-devp2p: Don't remove discovery peer in main sync
* network-p2p: Refresh discovery more often
* Update Peer discovery protocol
* Run discovery more often when not enough nodes connected
* Start the first discovery early
* Update fast discovery rate
* Fix tests
* Fix `ping` tests
* Fixing remote Node address ; adding PingPong round
* Fix tests: update new +1 PingPong round
* Increase slow Discovery rate
Check in flight FindNode before pings
* Add `deprecated` to deprecated_echo_hash
* Refactor `discovery_round` branching
* net_version caches network_id to avoid redundant aquire of sync read lock (#9544)
* net_version caches network_id to avoid redundant aquire of sync read lock, #8746
* use lower_hex display formatting for net_peerCount rpc method
* Increase Gas-floor-target and Gas Cap (#9564)
+ Gas-floor-target increased to 8M by default
+ Gas-cap increased to 10M by default
* Revert to old parity-tokio-ipc.
* Downgrade named pipes.
* Import the `home` crate in `util/dir`.
* Replace uses of `env::home_dir()` with `home::home_dir()`.
* `home` uses a 'correct' impl. on windows and the stdlib impl.
of `::home_dir` otherwise.
* Reexport `home::home_dir` from `util/dir`.
* Bump `util/dir` to 0.1.2.
* Add a `fastmap` crate that provides the H256FastMap specialized HashMap
* Use `fastmap` instead of `plain_hasher`
* Update submodules for Reasons™
* Submodule update
* Revert "Replace `std::env::home_dir` with `dirs::home_dir` (#9077)"
This reverts commit 7e779327eb.
* Restore some of the changes
* Update parity-common
* discovery: Only add nodes to routing table after receiving pong.
Previously the discovery algorithm would add nodes to the routing table
before confirming that the endpoint is participating in the protocol. This
now tracks in-flight pings and adds to the routing table only after receiving
a response.
* discovery: Refactor packet creation into its own function.
This function is useful inside unit tests.
* discovery: Additional testing for new add_node behavior.
* discovery: Track expiration of pings to non-yet-in-bucket nodes.
Now that we may ping nodes before adding to a k-bucket, the timeout tracking
must be separate from BucketEntry.
* discovery: Verify echo hash on pong packets.
Stores packet hash with in-flight requests and matches with pong response.
* discovery: Track timeouts on FIND_NODE requests.
* discovery: Retry failed pings with exponential backoff.
UDP packets may get dropped, so instead of immediately booting nodes that fail
to respond to a ping, retry 4 times with exponential backoff.
* !fixup Use slice instead of Vec for request_backoff.
* Remove the dapps system from Parity
* Move node-health outside of dapps
* Fix set dapps list test
* Update Cargo.lock
* Deprecate options
* Add _legacy_ prefixes in Dapps
* Fix tests
* Fix deprecatedness of dapps-path
* fetch: replace futures-timer with tokio-timer
Currently the coverage build fails because `futures-timer` fails to compile with
`-C link-dead-code`. This issue has been reported to `futures-timer`
(https://github.com/alexcrichton/futures-timer/issues/2) but has remained unsolved
for months. It should be fixed by rustc eventually
(https://github.com/rust-lang/rust/issues/45629).
* ci: only include local paths in coverage
* ci: exclude target from coverage
* 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
* Store recently rejected transactions.
* Don't cache AlreadyImported rejections.
* Make the size of transaction verification queue dependent on pool size.
* Add a test for recently rejected.
* Fix logging for recently rejected.
* Make rejection cache smaller.
* obsolete test removed
* obsolete test removed
* Construct cache with_capacity.
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.
* Handle graceful shutdown with unwinding
* Fix a race condition
* Avoid double exit deadlock
* typo: fix docs
* Fix ethkey cli compilation
* Fix all other cases panic_hook::set -> panic_hook::set_abort
* struct fields do not need to be public
* Add comments on why exiting AtomicBool is needed
* disable hardware-wallets that don't support libusb
* address grumbles
* nits
* Refactor to get rid off as much annotations asap
* Might consume slight more memory than pure conditional compilation
flags
* formatting nits
* Enable libusb for android
* Tested by it compiling succesfully with `cargo build --target=armv7--linux-androideabi`
* The binary is ~66 MB
```bash
$ size
size target/armv7-linux-androideabi/release/parity
text data bss dec hex filename
50676230 416200 31456 51123886 30c16ae target/armv7-linux-androideabi/release/parity
```
* Move all `fake-hardware-wallet` to its own crate
* Removes some conditional compilation flags
* Introduces `fake-hardware-wallet` crate
* return error if no hardware wallets are found
* eliminate some more transmute()
* Address `review comments`
* Make unsafe block smaller
* Use different byte-order than `std`, read words as big endian instead
of little endian!
* Fix IpAddresses nits
* Use `from_be` to work both for big and little endian
* Ipv6 addresses were incorrectly `transmuted`
* remove needless lifetime annotation
* new blooms database
* fixed conflict in Cargo.lock
* removed bloomchain
* cleanup in progress
* all tests passing in trace db with new blooms-db
* added trace_blooms to BlockChainDB interface, fixed db flushing
* BlockChainDB no longer exposes RwLock in the interface
* automatically flush blooms-db after every insert
* blooms-db uses io::BufReader to read files, wrap blooms-db into Mutex, cause fs::File is just a shared file handle
* fix json_tests
* blooms-db can filter multiple possibilities at the same time
* removed enum trace/db.rs CacheId
* lint fixes
* fixed tests
* kvdb-rocksdb uses fs-swap crate
* update Cargo.lock
* use fs::rename
* fixed failing test on linux
* fix tests
* use fs_swap
* fixed failing test on linux
* cleanup after swap
* fix tests
* fixed osx permissions
* simplify parity database opening functions
* added migration to blooms-db
* address @niklasad1 grumbles
* fix license and authors field of blooms-db Cargo.toml
* restore blooms-db after snapshot
* devp2p: Move UDP socket handling from Discovery to Host.
* devp2p: Fix bug with potentially incorrect UDP registration.
This works right now because the Host handler happens to be the first one
registered on the IoService.
* devp2p: Use 0-initialized memory buffer instead of unsafe.
* Remove send_queue field from public interface of Discovery.
* Rename Datagramm to Datagram.
sed -i 's/Datagramm/Datagram/g' util/network-devp2p/src/discovery.rs util/network-devp2p/src/host.rs
sed -i 's/datagramm/datagram/g' util/network-devp2p/src/discovery.rs util/network-devp2p/src/host.rs
* Include target in log statements.
* 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