* WIP move errors, pod_account and state account to own crates
* Sort out dependencies, fix broken code and tests
Remove botched ethcore-error crate
* remove template line
* fix review feedback
* Remove test-only AccountDBMut::new
* Extract AccountDB to account-db
* Move Substate to state-account – wip
* Add lib.rs
* cleanup
* test failure
* test failure 2
* third time's the charm
* Add factories crate
* Use new factories crate
* Use factories crate
* Extract trace
* Fix tests
* Sort out parity-util-mem and parking_lot
* cleanup
* WIP port over the rest of state from ethcore
* Collect all impls for Machine
* some notes
* Rename pod-account to pod
* Move PodState to pod crate
* Use PodState from pod crate
* Fix use clause for json tests
* Sort out evmbin
* Add missing code and use PodState
* Move code that depends on Machine and Executive to own module
* Sort out cloning errors, fix ethcore to use new state crate
* Do without funky From impls
* Fix ethcore tests
* Fixes around the project to use new state crate
* Add back the more specific impls of StateOrBlock From conversions
* Move execute to freestanding function and remove it from trait
Sort out the error handling in executive_state by moving the result types from state to ethcore
Undo the verbose code added to work around the StateOrBlock From conversions
* cleanup
* Fix "error: enum variants on type aliases are experimental"
* Bring back the state tests
Fix whitespace
* remove ethcore/state/mod.rs
* cleanup
* cleanup
* Cleanup state-account errors
* Fix more todos
Add module docs
* Add error.rs
* Fixup Cargo.lock
* Smaller ethcore API is fine
* Add `to-pod-full` feature to state-account
Fix evmbin
* Fix a few more test failures
* Fix RPC test build
* Baptize the new trait
* Remove resolved TODOs
* Rename state-account to account-state
* Do not re-export the trace crate
* Don't export state_db from ethcore
* Let private-tx use StateDB. :(
* Remove ethcore/src/pod_state.rs
* Inner type does not need to be pub/pub(crate)
* optimise imports
* Revert "Inner type does not need to be pub/pub(crate)"
This reverts commit 2f839f8a0f72f71334da64620f57e6dd6039f06b.
* Move DatabaseExtras to ethcore-blockchain
* Add database_extra module to ethcore-blockchain
* Remove to-pod-full feature
* Sort out the merge
* sort imports
* address grumbles
* rename crate
* address more grumbles
* Stop breaking out of loop if a non-canonical hash is found
* include expected hash in log msg
* More logging
* Scope
* Syntax
* Log in blank RollingFinality
Escalate bad proposer to warning
* Check validator set size: warn if 1 or even number
* More readable code
* Use SimpleList::new
* Extensive logging on unexpected non-canonical hash
* Wording
* wip
* Update ethcore/blockchain/src/blockchain.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Improved logging, address grumbles
* Update ethcore/src/engines/validator_set/simple_list.rs
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* Report benign misbehaviour iff currently a validator
* Report malicious behaviour iff we're a validator
* Escalate to warning and fix wording
* Test reporting behaviour
Don't require node to be part of the validator set to report malicious behaviour
* Include missing parent hash in MissingParent error
* Update ethcore/src/engines/validator_set/simple_list.rs
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* docs
* remove unneeded into()
Move check for parent_step == step for clarity&efficiency
Remove dead code for Seal::Proposal
* typo
* Wording
* naming
* WIP
* cleanup
* cosmetics
* cosmetics and one less lvar
* spelling
* Better loggin when a block is already in chain
* More logging
* On second thought non-validators are allowed to report
* cleanup
* remove dead code
* Keep track of the hash of the last imported block
* Let it lock
* Serialize access to block sealing
* Take a lock while sealing a block
* Cleanup
* whitespace
* WIP move errors, pod_account and state account to own crates
* Sort out dependencies, fix broken code and tests
Remove botched ethcore-error crate
* remove template line
* fix review feedback
* Remove test-only AccountDBMut::new
* Extract AccountDB to account-db
* test failure
* test failure 2
* third time's the charm
* First draft: pass the parent block header to on_close_block
* typos and cleanup
* whitespace
* Store parent in ClosedBlock as well so it can be reopen()'d
* Don't pass parent when reopening a block
* Remove the unused ancestry param
* tests: Relates to #10655: Test instructions for Readme
* Add instructions to run tests
* Update instructions to view docs
* fix: Fix link to package list
* fix: Move link to line about title of package list
* Update README.md
* fix: Replace multirust with rustup wince multirust is deprecated
* docs: Update evmbin Rust docs and code comments
* WIP: Add Response struct. Initial step using serde to serialize instead of hardcoding with JSON
* fix: Update Response struct types to be string after formatting
* fix: Fix move out of borrowed content error by cloning informant
* refactor: Change from camelcase to snake case to fix linting errors
* restore: Restore some code since now covered in separate PR #10658
* restore: Restore original Rustdocs of evmbin
* WIP
* add Clone type
* add newlines to end of json files
* remove uml file that was unintentionally commited
* rename chain spec to state test JSON fle
* remove log. fix indentation
* revert: Restore indentation now handled by separate PR #10740
* remove state test json files as moved to PR #10742
* revert changes in info.rs since covered in PR #10742
* revert changes to main.rs since covered in PR #10742
* revert newlines back to master
* revert newlines back to master2
* refactor: Rename Response to TraceData
* fix: Remove Clone and replace with lifetimes. Update tests since not ordered
* refactor: Change all json! to typed serde
* docs: Update rustdocs. Remove fixme
* fix: Add missing semicolons from printf
* fix: Change style from unwrap to expect in evmbin/src/display/json.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* fix: Change style from unwrap to expect in evmbin/src/display/std_json.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* revert updating module comments as will be done in separate PR #10742 instead
* review-fix: Remove useless reference
* Remove unncessary use of format macro
* Update evmbin/src/display/json.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/json.rs with serialization in set_gas success
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/json.rs with serialization in set_gas failure
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/std_json.rs with serialization in finish for state root
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/std_json.rs with serialization in before_test
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/std_json.rs with serialization for state root
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/std_json.rs with serialization for finish success
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Update evmbin/src/display/std_json.rs with serialization for finish failure
Co-Authored-By: Andronik Ordian <write@reusable.software>
* refactor: Rename structs and variables. Remove space. Simplify MessageInitial struct
* refactor: Captialize expect message
* revert to previous struct name TraceDataStateRoot
* refactor: Simplify variable for consistency
* Update accounts/ethstore/src/json/crypto.rs
Co-Authored-By: David <dvdplm@gmail.com>
Without this colon I first understood this line to refer to the `make` utility on Windows. Might be useful to fix this.
The additional whitespaces at the end are to trigger a line break.
* Better logging when backfilling ancient blocks fail
Print total blocks imported, closes#10792
* `finalize()` doesn't need Engine
Pull out call to migrated_blocks() from replace_client_db()
* More logs
* Clarify that the percentage may be misleading
* Remove replace_client_db() and replace with a straight call to restore_db()
* Include the parent_hash in UnlinkedAncientBlockChain errors
* Add a new RestorationStatus varian: Finalizing (as it can take a loooong while)
Call abort_restore() when restoration fails
* Add missing cases for new variant
* typos
* Typo and derive Debug
* Do not attempt to salvage existing blocks unless they form a complete chain back to genesis
* Fix test
* Revert "Fix test"
This reverts commit f027d4b4cb7b6c23fceec528c1711886ba9cfe4e.
* Fix test again
* Update comment
* Be careful about locks
* fix test failure
* Do not defer returning an error when the chain is broken
* Review feedback
* no hex formatting for Option
* expand parameters for pending_transactions()
* move ready_transactions content into filtered method
* apply filter based on tx_hash, sender or receiver
* call filtered transactions from RPC interface
* attempt at testing...
* replace parameters with _ on light client
* addes some comments
* removed uncompleted tests in miner.rs
* attempt at testing, needs more work...
* Formatting for ready_transactions_filtered
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Use map_or instead of if-let
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* additional map_or replacement
* change receiver type to Option<Option<Address>>
* remove faulty MiningService tests, test RPC later
* remove tx hash from pending transaction filtering
* as_unsigned() method for SignedTransaction
* implement Deserialize for FilterOptions
* implement Validate for MapAccess type
* additional formatting
* directly name cover in pattern matching
* test valid vull deserialization
* test valid sender operators
* test valid receiver operators
* test valid gas operators
* test valid gas price operators
* test valid value operators
* test valid nonce operators
* additional tsets for defaults, unknown filter types, unknown operators and some renames
* move filter_options to ethcore to avoid package cycling
* adjusted function/method parameters for FilterOptions
* implement filter for sender and receiver
* implement filter for gas
* implement filter for gas price, tx value and nonce
* improve filtering implementation; use common function, use combinators
* improved documentation for FilterOptions
* small documentation adjustments
* remove warnings
* replace FilterOperator::ContractCreation with FilterOperator::Eq(None)
* implement validate_receiver
* make small changes like renames, preamble
* cleanup code according to suggestions, add docs
* small improvements like formatting and newline