Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Extract engines to own crates #10966

Merged
merged 74 commits into from
Aug 22, 2019
Merged

Extract engines to own crates #10966

merged 74 commits into from
Aug 22, 2019

Conversation

dvdplm
Copy link
Collaborator

@dvdplm dvdplm commented Aug 13, 2019

Extracts all engines to their own crates.

The main possibly contentious change here is the decoupling of Engine and the snapshotting code. Before this PR the engine crate had to host a few traits it really has no business with: SnapshotComponents and Rebuilder. Here, the two traits are moved back to ethcore and when the Client initiates a snapshot there is a chunker function that hands back the appropriate dyn SnapshotComponent.

Based on #10958

Move the BlockInfo trait to new crate
Contains code extracted from ethcore that defines `Machine`, `Externalities` and other execution related code.
* master:
  Allow default block parameter to be blockHash (#10932)
  Enable sealing when engine is ready (#10938)
  Fix some warnings and typos. (#10941)
* master:
  unify loading spec && further spec cleanups (#10948)
  refactor: Refactor evmbin CLI (#10742)
  journaldb changes (#10929)
* master:
  Fix compiler warnings in util/io and upgrade to edition 2018 Upgrade mio to latest (#10953)
Cleanup Executed as exported from machine crate
Sort out default impls for EpochVerifier
This was referenced Aug 16, 2019
ethcore/block-reward/Cargo.toml Outdated Show resolved Hide resolved
ethcore/engines/authority-round/src/lib.rs Outdated Show resolved Hide resolved
ethcore/engines/basic-authority/Cargo.toml Outdated Show resolved Hide resolved
ethcore/engines/clique/src/lib.rs Outdated Show resolved Hide resolved
ethcore/engines/ethash/Cargo.toml Outdated Show resolved Hide resolved
ethcore/engines/validator-set/Cargo.toml Outdated Show resolved Hide resolved
ethcore/executive-state/Cargo.toml Outdated Show resolved Hide resolved
ethcore/src/snapshot/consensus/mod.rs Outdated Show resolved Hide resolved
dvdplm and others added 9 commits August 21, 2019 09:04
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
@dvdplm dvdplm requested a review from tomusdrw August 21, 2019 12:44
Copy link
Collaborator

@tomusdrw tomusdrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

ethcore/src/snapshot/consensus/mod.rs Outdated Show resolved Hide resolved
dvdplm and others added 2 commits August 21, 2019 15:57
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* master:
  Add a 2/3 quorum option to Authority Round. (#10909)
  Fix rlp decode for inline trie nodes. (#10980)
  Private contract migration and offchain state sync (#10748)
  manual publish jobs for releases, no changes for nightlies (#10977)
@debris debris added A7-looksgoodcantmerge 🙄 Pull request is reviewed well, but cannot be merged due to conflicts. and removed A0-pleasereview 🤓 Pull request needs code review. labels Aug 22, 2019
* master:
  Configuration map of block reward contract addresses (#10875)
Copy link
Contributor

@ascjones ascjones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@dvdplm dvdplm merged commit 2af3140 into master Aug 22, 2019
@debris debris deleted the dp/chore/extract-clique branch August 22, 2019 16:36
dvdplm added a commit that referenced this pull request Aug 22, 2019
dvdplm added a commit that referenced this pull request Aug 23, 2019
…out-ClientIoMessage

* dp/chore/extract-spec-from-ethcore:
  double semi
  Extract engines to own crates (#10966)
  Fix import
  missing import
  Configuration map of block reward contract addresses (#10875)
  Update ethcore/src/snapshot/consensus/mod.rs
  Add a 2/3 quorum option to Authority Round. (#10909)
  Missing import
  Rename supports_warp to snapshot_mode
  Introduce Snapshotting enum to distinguish the type of snapshots a chain uses
  Add an EngineType enum to tighten up Engine.name()
  signers is already a ref
  Update ethcore/engines/clique/src/lib.rs
  Update ethcore/engines/ethash/Cargo.toml
  Update ethcore/engines/basic-authority/Cargo.toml
  Update ethcore/block-reward/Cargo.toml
dvdplm added a commit that referenced this pull request Aug 25, 2019
…1344-add-ChainID-opcode

* dp/chore/sort-out-ClientIoMessage:
  Extract spec to own crate (#10978)
  EIP 2028: transaction gas lowered from 68 to 16 (#10987)
  Fix merge problem
  double semi
  Extract engines to own crates (#10966)
  Fix import
  missing import
  Configuration map of block reward contract addresses (#10875)
  Update ethcore/src/snapshot/consensus/mod.rs
  Add a 2/3 quorum option to Authority Round. (#10909)
  Missing import
  Rename supports_warp to snapshot_mode
  Introduce Snapshotting enum to distinguish the type of snapshots a chain uses
  Add an EngineType enum to tighten up Engine.name()
  signers is already a ref
  Update ethcore/engines/clique/src/lib.rs
  Update ethcore/engines/ethash/Cargo.toml
  Update ethcore/engines/basic-authority/Cargo.toml
  Update ethcore/block-reward/Cargo.toml
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A7-looksgoodcantmerge 🙄 Pull request is reviewed well, but cannot be merged due to conflicts. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants