* Trace precompiled contracts when the transfer value is not zero (#8486)
* Trace precompiled contracts when the transfer value is not zero
* Add tests for precompiled CALL tracing
* Use byzantium test machine for the new test
* Add notes in comments on why we don't trace all precompileds
* Use is_transferred instead of transferred
* Return error if RLP size of transaction exceeds the limit (#8473)
* Return error if RLP size of transaction exceeds the limit
* Review comments fixed
* RLP check moved to verifier, corresponding pool test added
* Don't block sync when importing old blocks (#8530)
* 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.
* Refactoring `ethcore-sync` - Fixing warp-sync barrier (#8543)
* Start dividing sync chain : first supplier method
* WIP - updated chain sync supplier
* Finish refactoring the Chain Sync Supplier
* Create Chain Sync Requester
* Add Propagator for Chain Sync
* Add the Chain Sync Handler
* Move tests from mod -> handler
* Move tests to propagator
* Refactor SyncRequester arguments
* Refactoring peer fork header handler
* Fix wrong highest block number in snapshot sync
* Small refactor...
* Address PR grumbles
* Retry failed CI job
* Fix tests
* PR Grumbles
* Handle socket address parsing errors (#8545)
Unpack errors and check for io::ErrorKind::InvalidInput and return our own AddressParse error. Remove the foreign link to std::net::AddrParseError and add an `impl From` for that error. Test parsing properly.
* Fix packet count when talking with PAR2 peers (#8555)
* Support diferent packet counts in different protocol versions.
* Fix light timeouts and eclipse protection.
* Fix devp2p tests.
* Fix whisper-cli compilation.
* Fix compilation.
* Fix ethcore-sync tests.
* Revert "Fix light timeouts and eclipse protection."
This reverts commit 06285ea8c1d9d184d809f64b5507aece633da6cc.
* Increase timeouts.
* Add whisper CLI to the pipelines (#8578)
* Add whisper CLI to the pipelines
* Address todo, ref #8579
* Rename `whisper-cli binary` to `whisper` (#8579)
* rename whisper-cli binary to whisper
* fix tests
* Remove manually added text to the errors (#8595)
These messages were confusing for the users especially the help message.
* Fix account list double 0x display (#8596)
* Remove unused self import
* Fix account list double 0x display
* Fix BlockReward contract "arithmetic operation overflow" (#8611)
* Fix BlockReward contract "arithmetic operation overflow"
* Add docs on how execute_as_system works
* Fix typo
* Rlp decode returns Result (#8527)
rlp::decode returns Result
Make a best effort to handle decoding errors gracefully throughout the code, using `expect` where the value is guaranteed to be valid (and in other places where it makes sense).
* Remove expect (#8536)
* Remove expect and propagate rlp::DecoderErrors as TrieErrors
* Decoding headers can fail (#8570)
* rlp::decode returns Result
* Fix journaldb to handle rlp::decode Result
* Fix ethcore to work with rlp::decode returning Result
* Light client handles rlp::decode returning Result
* Fix tests in rlp_derive
* Fix tests
* Cleanup
* cleanup
* Allow panic rather than breaking out of iterator
* Let decoding failures when reading from disk blow up
* syntax
* Fix the trivial grumbles
* Fix failing tests
* Make Account::from_rlp return Result
* Syntx, sigh
* Temp-fix for decoding failures
* Header::decode returns Result
Handle new return type throughout the code base.
* Do not continue reading from the DB when a value could not be read
* Fix tests
* Handle header decoding in light_sync
* Handling header decoding errors
* Let the DecodeError bubble up unchanged
* Remove redundant error conversion
* fix compiler warning (#8590)
* Attempt to fix intermittent test failures (#8584)
Occasionally should_return_correct_nonces_when_dropped_because_of_limit fails, possibly because of multiple threads competing to finish. See CI logs here for an example: https://gitlab.parity.io/parity/parity/-/jobs/86738
* block_header can fail so return Result (#8581)
* block_header can fail so return Result
* Restore previous return type based on feedback
* Fix failing doc tests running on non-code
* Block::decode() returns Result (#8586)
* Gitlab test script fixes (#8573)
* Exclude /docs from modified files.
* Ensure all references in the working tree are available
* Remove duplicated line from test script
* Private transaction message added
* Empty line removed
* Private transactions logic removed from client into the separate module
* Fixed compilation after merge with head
* Signed private transaction message added as well
* Comments after the review fixed
* Private tx execution
* Test update
* Renamed some methods
* Fixed some tests
* Reverted submodules
* Fixed build
* Private transaction message added
* Empty line removed
* Private transactions logic removed from client into the separate module
* Fixed compilation after merge with head
* Signed private transaction message added as well
* Comments after the review fixed
* Encrypted private transaction message and signed reply added
* Private tx execution
* Test update
* Main scenario completed
* Merged with the latest head
* Private transactions API
* Comments after review fixed
* Parameters for private transactions added to parity arguments
* New files added
* New API methods added
* Do not process packets from unconfirmed peers
* Merge with ptm_ss branch
* Encryption and permissioning with key server added
* Fixed compilation after merge
* Version of Parity protocol incremented in order to support private transactions
* Doc strings for constants added
* Proper format for doc string added
* fixed some encryptor.rs grumbles
* Private transactions functionality moved to the separate crate
* Refactoring in order to remove late initialisation
* Tests fixed after moving to the separate crate
* Fetch method removed
* Sync test helpers refactored
* Interaction with encryptor refactored
* Contract address retrieving via substate removed
* Sensible gas limit for private transactions implemented
* New private contract with nonces added
* Parsing of the response from key server fixed
* Build fixed after the merge, native contracts removed
* Crate renamed
* Tests moved to the separate directory
* Handling of errors reworked in order to use error chain
* Encodable macro added, new constructor replaced with default
* Native ethabi usage removed
* Couple conversions optimized
* Interactions with client reworked
* Errors omitting removed
* Fix after merge
* Fix after the merge
* private transactions improvements in progress
* private_transactions -> ethcore/private-tx
* making private transactions more idiomatic
* private-tx encryptor uses shared FetchClient and is more idiomatic
* removed redundant tests, moved integration tests to tests/ dir
* fixed failing service test
* reenable add_notify on private tx provider
* removed private_tx tests from sync module
* removed commented out code
* Use plain password instead of unlocking account manager
* remove dead code
* Link to the contract changed
* Transaction signature chain replay protection module created
* Redundant type conversion removed
* Contract address returned by private provider
* Test fixed
* Addressing grumbles in PrivateTransactions (#8249)
* Tiny fixes part 1.
* A bunch of additional comments and todos.
* Fix ethsync tests.
* resolved merge conflicts
* final private tx pr (#8318)
* added cli option that enables private transactions
* fixed failing test
* fixed failing test
* fixed failing test
* fixed failing test
* Move client DB opening logic to CLI
* Move restoration db open logic to CLI
This adds KeyValueDBHandler which handles opening a new database, thus allow us to move the restoration db open logic
out of ethcore.
* Move rocksdb's compactionprofile conversion to CLI
* Move kvdb_rocksdb as test dependency for ethcore
* Fix tests due to interface change
* Fix service tests
* Remove unused migration dep for ethcore