1. 28 2月, 2017 1 次提交
  2. 23 2月, 2017 1 次提交
  3. 17 1月, 2017 1 次提交
  4. 06 1月, 2017 1 次提交
    • F
      core/vm: move Log to core/types · 77310619
      Felix Lange 提交于
      This significantly reduces the dependency closure of ethclient, which no
      longer depends on core/vm as of this change.
      
      All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too,
      the constructor simply returned a literal.
      77310619
  5. 05 1月, 2017 1 次提交
    • J
      core/vm: improved EVM run loop & instruction calling (#3378) · bbc4ea4a
      Jeffrey Wilcke 提交于
      The run loop, which previously contained custom opcode executes have been
      removed and has been simplified to a few checks.
      
      Each operation consists of 4 elements: execution function, gas cost function,
      stack validation function and memory size function. The execution function
      implements the operation's runtime behaviour, the gas cost function implements
      the operation gas costs function and greatly depends on the memory and stack,
      the stack validation function validates the stack and makes sure that enough
      items can be popped off and pushed on and the memory size function calculates
      the memory required for the operation and returns it.
      
      This commit also allows the EVM to go unmetered. This is helpful for offline
      operations such as contract calls.
      bbc4ea4a
  6. 06 12月, 2016 1 次提交
    • J
      core, core/vm: implemented a generic environment (#3348) · 3fc7c978
      Jeffrey Wilcke 提交于
      Environment is now a struct (not an interface). This
      reduces a lot of tech-debt throughout the codebase where a virtual
      machine environment had to be implemented in order to test or run it.
      
      The new environment is suitable to be used en the json tests, core
      consensus and light client.
      3fc7c978
  7. 25 11月, 2016 1 次提交
  8. 14 11月, 2016 1 次提交
  9. 13 11月, 2016 2 次提交
  10. 15 7月, 2016 3 次提交
  11. 29 6月, 2016 4 次提交
  12. 24 6月, 2016 1 次提交
  13. 23 6月, 2016 2 次提交
  14. 22 6月, 2016 1 次提交
    • J
      test, cmd/evm, core, core/vm: illegal code hash implementation · 7a5b571c
      Jeffrey Wilcke 提交于
      This implements a generic approach to enabling soft forks by allowing
      anyone to put in hashes of contracts that should not be interacted from.
      This will help "The DAO" in their endevour to stop any whithdrawals from
      any DAO contract by convincing the mining community to accept their code
      hash.
      7a5b571c
  15. 15 4月, 2016 1 次提交
  16. 01 4月, 2016 1 次提交
    • J
      core: added basic chain configuration · f0cbebb1
      Jeffrey Wilcke 提交于
      Added chain configuration options and write out during genesis database
      insertion. If no "config" was found, nothing is written to the database.
      
      Configurations are written on a per genesis base. This means
      that any chain (which is identified by it's genesis hash) can have their
      own chain settings.
      f0cbebb1
  17. 24 3月, 2016 1 次提交
  18. 16 3月, 2016 1 次提交
  19. 18 2月, 2016 1 次提交
  20. 18 11月, 2015 1 次提交
    • J
      core, eth, rpc: split out block validator and state processor · a1d9ef48
      Jeffrey Wilcke 提交于
      This removes the burden on a single object to take care of all
      validation and state processing. Now instead the validation is done by
      the `core.BlockValidator` (`types.Validator`) that takes care of both
      header and uncle validation through the `ValidateBlock` method and state
      validation through the `ValidateState` method. The state processing is
      done by a new object `core.StateProcessor` (`types.Processor`) and
      accepts a new state as input and uses that to process the given block's
      transactions (and uncles for rewords) to calculate the state root for
      the next block (P_n + 1).
      a1d9ef48