* Fetching logs by hash in blockchain database (#8463)
* Fetch logs by hash in blockchain database
* Fix tests
* Add unit test for branch block logs fetching
* Add docs that blocks must already be sorted
* Handle branch block cases properly
* typo: empty -> is_empty
* Remove return_empty_if_none by using a closure
* Use BTreeSet to avoid sorting again
* Move is_canon to BlockChain
* typo: pass value by reference
* Use loop and wrap inside blocks to simplify the code
Borrowed from https://github.com/paritytech/parity/pull/8463#discussion_r183453326
* typo: missed a comment
* Pass on storage keys tracing to handle the case when it is not modified (#8491)
* Pass on storage keys even if it is not modified
* typo: account and storage query
`to_pod_diff` builds both `touched_addresses` merge and storage keys merge.
* Fix tests
* Use state query directly because of suicided accounts
* Fix a RefCell borrow issue
* Add tests for unmodified storage trace
* Address grumbles
* typo: remove unwanted empty line
* ensure_cached compiles with the original signature
* Update wasmi and pwasm-utils (#8493)
* Update wasmi to 0.2
New wasmi supports 32bit platforms and no longer requires a special feature to build for such platforms.
* Update pwasm-utils to 0.1.5
* Show imported messages for light client (#8517)
* Enable WebAssembly and Byzantium for Ellaism (#8520)
* Enable WebAssembly and Byzantium for Ellaism
* Fix indentation
* Remove empty lines
* Don't panic in import_block if invalid rlp (#8522)
* Don't panic in import_block if invalid rlp
* Remove redundant type annotation
* Replace RLP header view usage with safe decoding
Using the view will panic with invalid RLP. Here we use Rlp decoding directly which will return a `Result<_, DecoderError>`. While this path currently should not have any invalid RLP - it makes it safer if ever called with invalid RLP from other code paths.
* Node table sorting according to last contact data (#8541)
* network-devp2p: sort nodes in node table using last contact data
* network-devp2p: rename node contact types in node table json output
* network-devp2p: fix node table tests
* network-devp2p: note node failure when failed to establish connection
* network-devp2p: handle UselessPeer error
* network-devp2p: note failure when marking node as useless
* Refactor updater to use ethabi-derive
* Grumble: do_call type alias
* Empty commit to trigger test re-run
* migration to ethabi-5.0
* migration to ethabi-5.0 in progress
* use ethabi_deriven to generate TransactAcl contract
* use ethabi_deriven to generate Registry contract
* hash-fetch uses ethabi_derive, removed retain cycle from updater, fixed#7720
* node-filter crate uses ethabi_derive to generate peer_set contract interface
* use LruCache in node-filter instead of HashMap
* validator_set engine uses ethabi_derive
* ethcore does not depend on native_contracts
* miner does no depend on native_contracts
* secret_store does not use native_contracts (in progress)
* removed native-contracts
* ethcore and updater does not depend on futures
* updated ethereum-types
* fixed all warnings caused by using new version of ethereum-types
* updated ethabi_derive && ethabi_contract to get rid of warnings
* removed another retain cycle in updater, fixed following minor version on update
* moved contracts out of native_contracts res
* updated ethabi_contract
* fixed failing test
* fixed failing test
* there is no need to create two contracts of the same kind any more
* simplify updater::ReleaseTrack conversion into u8 and add several tests for it
* applied review suggestions
* applied review suggestions