bsc/core/vm
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
..
runtime all: update license information 2017-04-14 10:29:00 +02:00
analysis.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
common.go all: unify big.Int zero checks, use common/math in more places (#3716) 2017-02-28 15:09:11 +01:00
contract.go core, core/state, core/vm: remove exported account getters (#3618) 2017-02-22 23:29:59 +01:00
contracts_test.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
contracts.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
doc.go all: update license information 2016-04-15 09:48:05 +02:00
errors.go core/vm: improved EVM run loop & instruction calling (#3378) 2017-01-05 11:52:10 +01:00
evm.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
gas_table_test.go all: update license information 2017-04-14 10:29:00 +02:00
gas_table.go all: update license information 2017-04-14 10:29:00 +02:00
gas.go params: core, core/vm, miner: 64bit gas instructions 2017-02-13 21:44:25 +01:00
instructions.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
int_pool_verifier_empty.go all: update license information 2017-04-14 10:29:00 +02:00
int_pool_verifier.go all: update license information 2017-04-14 10:29:00 +02:00
interface.go all: update license information 2017-04-14 10:29:00 +02:00
interpreter.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
intpool.go params: core, core/vm, miner: 64bit gas instructions 2017-02-13 21:44:25 +01:00
jump_table.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
logger_test.go core/vm: use uint64 instead of *big.Int in tracer (#3805) 2017-03-22 15:32:51 +01:00
logger.go core/vm: use uint64 instead of *big.Int in tracer (#3805) 2017-03-22 15:32:51 +01:00
memory_table.go all: update license information 2017-04-14 10:29:00 +02:00
memory.go consensus, core/*, params: metropolis preparation refactor 2017-05-18 09:05:58 +02:00
noop.go core, core/state, core/vm: remove exported account getters (#3618) 2017-02-22 23:29:59 +01:00
opcodes.go Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)" 2017-02-13 15:15:12 +01:00
stack_table.go all: update license information 2017-04-14 10:29:00 +02:00
stack.go core/vm: improved EVM run loop & instruction calling (#3378) 2017-01-05 11:52:10 +01:00
vm_jit_fake.go core, core/vm: implemented a generic environment (#3348) 2016-12-06 02:16:03 +01:00
vm_jit.go core/vm: improved EVM run loop & instruction calling (#3378) 2017-01-05 11:52:10 +01:00