* revert some changes, could be buggy (#10399)
* ci: clean up gitlab-ci.yml leftovers from previous merge (#10429)
* 10000 > 5000 (#10422)
addresses #10418
* fix underflow in pip, closes#10419 (#10423)
* fix panic when logging directory does not exist, closes#10420 (#10424)
* Update hardcoded headers for Foundation, Ropsten, Kovan and Classic (#10417)
* update foundation to #7262209
* update kovan to #10434561
* update ropsten to #5027841
* update classic to #7555073
* Update Ropsten headers to #5101569
* Add EIP-1014 transition config flag
* Remove EIP-86 configs
* Change CREATE2 opcode index to 0xf5
* Move salt to the last item in the stack
* Change sendersaltandaddress scheme to comply with current EIP-1014
* Fix json configs
* Fix create2 test
* Fix deprecated comments
* Allow post-homestead forks to be specified in CommonParams
* Fix all json configs
* Fix test in json crate
* Fix test in ethcore
* Fix all chain configs to use tabs
Given we use tabs in .editorconfig and the majority of chain configs.
This change is done in Emacs using `mark-whole-buffer` and `indent-region`.
* move common forks and parameters to common params
* port specs over to new format
* fix RPC tests
* parity-machine skeleton
* remove block type
* extract out ethereum-specific methods into EthereumMachine
* beginning to integrate Machine into engines. dealing with stale transitions in Ethash
* initial porting to machine
* move block reward back into engine
* abstract block reward logic
* move last hash and DAO HF logic into machine
* begin making engine function parameters generic
* abstract epoch verifier and ethash block reward logic
* instantiate special ethereummachine for ethash in spec
* optional full verification in verify_block_family
* re-instate tx_filter in a way that works for all engines
* fix warnings
* fix most tests, further generalize engine trait
* uncomment nullengine, get ethcore tests compiling
* fix warnings
* update a bunch of specs
* re-enable engine signer, validator set, and transition handler
* migrate basic_authority engine
* move last hashes into executedblock
* port tendermint
* make all ethcore tests pass
* json-tests compilation
* fix RPC tests: change in gas limit for new block changed PoW hash
* fix minor grumbles
* validate chainspecs
* fix broken import
* fix transaction verification for pre-homestead
* Ethereum Classic Monetary Policy
Create a new parameter `ecip1017EraRounds`. When the block number
passes one era rounds, the reward is reduced by 20%.
See https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md
* Update rewards for uncle miners for ECIP1017
In the monetary policy, the rewards are changed from "up to 7/8 of the
reward" to "1/32 of the reward".
* Fix an off-by-one error in ECIP1017 era calculation
According to
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md,
when in block number 5,000,000, it should still be in Era 1 (which in
our code `era == 0`). So we need to check whether the `rem` equals to
zero and act accordingly when calculating the era.
* `ecip1017_era_rounds` missing from EthashParams when run in build bot
* strip out ecip1017_eras_block_reward function and add unit test
* The front-end for each hard-fork, also EIP-160.
* Address EIP161 a/c
* Include EIP-161b
* EIP-161 part d.
* Fix test build.
* Fix one test, add another.
* Fix use of bloom & renaming.
* Initial groundwork for EIP-155
* Fix minor bug.
* Fix all tests finally.
* Rest of EIP-155.
* Add tests for EIP-155 algorithm.
Update transaction tests validation.
* Minor reformat.
* Address grumbles.
* Remove unused code.
* Fix SUICIDE gas mechanism and add consensus tests.
* Remove commented code.
* Set Frontier hardfork block number
* Fix warning.
* Transaction tests,
* Add Ethereum Classic support
(Rename homestead-dogmatic -> classic)
* Additional change needed.
* More needed changes.
* Separate database path for known forks.
* Address minor grumble.