good morning!!!!

Skip to content
Snippets Groups Projects
  1. Dec 06, 2016
    • Jeffrey Wilcke's avatar
      core, core/vm: implemented a generic environment (#3348) · 3fc7c978
      Jeffrey Wilcke authored
      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
  2. Nov 24, 2016
  3. Nov 14, 2016
  4. Nov 13, 2016
  5. Oct 14, 2016
    • Jeffrey Wilcke's avatar
      core, core/vm: added gas price variance table · 64af2aaf
      Jeffrey Wilcke authored
      This implements 1b & 1c of EIP150 by adding a new GasTable which must be
      returned from the RuleSet config method. This table is used to determine
      the gas prices for the current epoch.
      
      Please note that when the CreateBySuicide gas price is set it is assumed
      that we're in the new epoch phase.
      
      In addition this PR will serve as temporary basis while refactorisation
      in being done in the EVM64 PR, which will substentially overhaul the gas
      price code.
      64af2aaf
  6. Oct 06, 2016
    • Felix Lange's avatar
      tests: update test files from github.com/ethereum/tests @ 45bc1d21d3c1 · 1b7b2ba2
      Felix Lange authored
      Two new tests are skipped because they're buggy. Making some newer
      random state tests work required implementing the 'compressed return
      value encoding'.
      1b7b2ba2
    • Felix Lange's avatar
      core/state: implement reverts by journaling all changes · 1f1ea18b
      Felix Lange authored
      This commit replaces the deep-copy based state revert mechanism with a
      linear complexity journal. This commit also hides several internal
      StateDB methods to limit the number of ways in which calling code can
      use the journal incorrectly.
      
      As usual consultation and bug fixes to the initial implementation were
      provided by @karalabe, @obscuren and @Arachnid. Thank you!
      1f1ea18b
  7. Oct 01, 2016
  8. Sep 26, 2016
  9. Aug 22, 2016
    • Nick Johnson's avatar
      core/vm: Refactor tracing to make Tracer the main interface · 781915f1
      Nick Johnson authored
      This CL makes several refactors:
       - Define a Tracer interface, implementing the `CaptureState` method
       - Add the VM environment as the first argument of
         `Tracer.CaptureState`
       - Rename existing functionality `StructLogger` an make it an
         implementation of `Tracer`
       - Delete `StructLogCollector` and make `StructLogger` collect the logs
         directly
       - Change all callers to use the new `StructLogger` where necessary and
         extract logs from that.
       - Deletes the apparently obsolete and likely nonfunctional 'TraceCall'
         from the eth API.
      
      Callers that only wish accumulated logs can use the `StructLogger`
      implementation straightforwardly. Callers that wish to efficiently
      capture VM traces and operate on them without excessive copying can now
      implement the `Tracer` interface to receive VM state at each step and
      do with it as they wish.
      
      This CL also removes the accumulation of logs from the vm.Environment;
      this was necessary as part of the refactor, but also simplifies it by
      removing a responsibility that doesn't directly belong to the
      Environment.
      781915f1
  10. Jul 15, 2016
  11. Jul 11, 2016
  12. Jun 29, 2016
  13. Jun 22, 2016
    • Jeffrey Wilcke's avatar
      test, cmd/evm, core, core/vm: illegal code hash implementation · 7a5b571c
      Jeffrey Wilcke authored
      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
  14. Jun 07, 2016
  15. May 25, 2016
    • Felix Lange's avatar
      eth: enable bad block reports · ca18202e
      Felix Lange authored
      We used to have reporting of bad blocks, but it was disabled
      before the Frontier release. We need it back because users
      are usually unable to provide the full RLP data of a bad
      block when it occurs.
      
      A shortcoming of this particular implementation is that the
      origin peer is not tracked for blocks received during eth/63
      sync. No origin peer info is still better than no report at
      all though.
      ca18202e
  16. Apr 15, 2016
  17. Apr 12, 2016
  18. Mar 31, 2016
    • Jeffrey Wilcke's avatar
      core: added basic chain configuration · f0cbebb1
      Jeffrey Wilcke authored
      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
  19. Mar 23, 2016
  20. Mar 22, 2016
  21. Feb 24, 2016
  22. Feb 21, 2016
  23. Feb 18, 2016
    • Jeffrey Wilcke's avatar
      core: Added new TD strategy which mitigate the risk for selfish mining · 5b283663
      Jeffrey Wilcke authored
      Assuming the following scenario where a miner has 15% of all hashing
      power and the ability to exert a moderate control over the network to
      the point where if the attacker sees a message A, it can't stop A from
      propagating, but what it **can** do is send a message B and ensure that
      most nodes see B before A. The attacker can then selfish mine and
      augment selfish mining strategy by giving his own blocks an advantage.
      
      This change makes the time at which a block is received less relevant
      and so the level of control an attacker has over the network no longer
      makes a difference.
      
      This change changes the current td algorithm `B_td > C_td` to the new
      algorithm `B_td > C_td || B_td == C_td && rnd < 0.5`.
      5b283663
    • Jeffrey Wilcke's avatar
      core, core/vm, crypto: fixes for homestead · b6d88a0e
      Jeffrey Wilcke authored
      * Removed some strange code that didn't apply state reverting properly
      * Refactored code setting from vm & state transition to the executioner
      * Updated tests
      b6d88a0e
    • Jeffrey Wilcke's avatar
      tests: updated homestead tests · 4f4d2b64
      Jeffrey Wilcke authored
      4f4d2b64
    • Gustav Simonsson's avatar
      parmas, crypto, core, core/vm: homestead consensus protocol changes · 371871d6
      Gustav Simonsson authored
      * change gas cost for contract creating txs
      * invalidate signature with s value greater than secp256k1 N / 2
      * OOG contract creation if not enough gas to store code
      * new difficulty adjustment algorithm
      * new DELEGATECALL op code
      371871d6
  24. Nov 27, 2015
  25. Nov 20, 2015
  26. Nov 05, 2015
  27. Oct 28, 2015
  28. Oct 23, 2015
  29. Oct 21, 2015
  30. Oct 17, 2015
    • Felix Lange's avatar
      core, core/state: move gas tracking out of core/state · de8d5aaa
      Felix Lange authored
      The amount of gas available for tx execution was tracked in the
      StateObject representing the coinbase account. This commit makes the gas
      counter a separate type in package core, which avoids unintended
      consequences of intertwining the counter with state logic.
      de8d5aaa
Loading