1. 07 Jun, 2021 1 commit
  2. 08 Jan, 2018 1 commit
  3. 11 Jul, 2017 1 commit
    • Felix Lange's avatar
      tests: update tests and implement general state tests (#14734) · 225de7ca
      Felix Lange authored
      Tests are now included as a submodule. This should make updating easier
      and removes ~60MB of JSON data from the working copy.
      
      State tests are replaced by General State Tests, which run the same test
      with multiple fork configurations.
      
      With the new test runner, consensus tests are run as subtests by walking
      json files. Many hex issues have been fixed upstream since the last
      update and most custom parsing code is replaced by existing JSON hex
      types. Tests can now be marked as 'expected failures', ensuring that
      fixes for those tests will trigger an update to test configuration. The
      new test runner also supports parallel execution and the -short flag.
      225de7ca
  4. 06 Apr, 2017 1 commit
  5. 27 Mar, 2017 1 commit
  6. 23 Mar, 2017 1 commit
    • Felix Lange's avatar
      core: refactor genesis handling · 37dd9086
      Felix Lange authored
      This commit solves several issues concerning the genesis block:
      
      * Genesis/ChainConfig loading was handled by cmd/geth code. This left
        library users in the cold. They could specify a JSON-encoded
        string and overwrite the config, but didn't get any of the additional
        checks performed by geth.
      * Decoding and writing of genesis JSON was conflated in
        WriteGenesisBlock. This made it a lot harder to embed the genesis
        block into the forthcoming config file loader. This commit changes
        things so there is a single Genesis type that represents genesis
        blocks. All uses of Write*Genesis* are changed to use the new type
        instead.
      * If the chain config supplied by the user was incompatible with the
        current chain (i.e. the chain had already advanced beyond a scheduled
        fork), it got overwritten. This is not an issue in practice because
        previous forks have always had the highest total difficulty. It might
        matter in the future though. The new code reverts the local chain to
        the point of the fork when upgrading configuration.
      
      The change to genesis block data removes compression library
      dependencies from package core.
      37dd9086