bsc/consensus/ethash
Jeffrey Wilcke 10a57fc3d4 consensus, core/*, params: metropolis preparation refactor
This commit is a preparation for the upcoming metropolis hardfork. It
prepares the state, core and vm packages such that integration with
metropolis becomes less of a hassle.

* Difficulty calculation requires header instead of individual
  parameters
* statedb.StartRecord renamed to statedb.Prepare and added Finalise
  method required by metropolis, which removes unwanted accounts from
  the state (i.e. selfdestruct)
* State keeps record of destructed objects (in addition to dirty
  objects)
* core/vm pre-compiles may now return errors
* core/vm pre-compiles gas check now take the full byte slice as argument
  instead of just the size
* core/vm now keeps several hard-fork instruction tables instead of a
  single instruction table and removes the need for hard-fork checks in
  the instructions
* core/vm contains a empty restruction function which is added in
  preparation of metropolis write-only mode operations
* Adds the bn256 curve
* Adds and sets the metropolis chain config block parameters (2^64-1)
2017-05-18 09:05:58 +02:00
..
algorithm_go1.7.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
algorithm_go1.8_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
algorithm_go1.8.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
algorithm_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
algorithm.go common/bitutil, consensus/ethash: reusable bitutil package 2017-05-05 16:00:11 +03:00
consensus_test.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
consensus.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
ethash_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
ethash.go consensus/ethash: fix a timestamp update race 2017-05-02 16:48:36 +03:00
sealer.go consensus, eth: don't CPU mine by default during remote mining 2017-04-07 17:22:06 +03:00