Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate out Byron and Shelley integration from consensus #1652

Closed
edsko opened this issue Feb 17, 2020 · 0 comments · Fixed by #1657
Closed

Separate out Byron and Shelley integration from consensus #1652

edsko opened this issue Feb 17, 2020 · 0 comments · Fixed by #1657
Assignees
Labels
consensus issues related to ouroboros-consensus technical debt
Milestone

Comments

@edsko
Copy link
Contributor

edsko commented Feb 17, 2020

At the moment, the Byron and Shelley integrations in the consensus layer are part of the main library. This made sense as an initial design where the API was still very much in flux. However, as the API is stabilizing and the consensus layer is starting to be used for other integrations as well, this should be separated out. Doing so will moreover clarify the existing code and also clarify responsibilities between teams.

@edsko edsko added consensus issues related to ouroboros-consensus technical debt labels Feb 17, 2020
@mrBliss mrBliss self-assigned this Feb 17, 2020
@mrBliss mrBliss added this to the S7 2020-02-27 milestone Feb 17, 2020
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.
@mrBliss mrBliss linked a pull request Feb 18, 2020 that will close this issue
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`.

* Split off Byron Spec related code and tests to
  `./ouroboros-consensus-byronspec`.

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.

* Rename `Ouroboros.Storage` to `Ouroboros.Consensus.Storage`.
mrBliss added a commit that referenced this issue Feb 18, 2020
Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`.

* Split off Byron Spec related code and tests to
  `./ouroboros-consensus-byronspec`.

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.

* Rename `Ouroboros.Storage` to `Ouroboros.Consensus.Storage`.
iohk-bors bot added a commit that referenced this issue Feb 19, 2020
1657: Reorganise ouroboros-consensus r=mrBliss a=mrBliss

Fixes #1651 and #1652.

* Split off Byron related code and tests to `./ouroboros-consensus-byron`.

* Split off Byron Spec related code and tests to
  `./ouroboros-consensus-byronspec`.

* Split off mock block related code and tests to
  `./ouroboros-consensus/ouroboros-consensus-mock`.

* Split off test infrastructure code and tests to
  `./ouroboros-consensus/ouroboros-consensus-test-infra`.

These last two are both internal libraries of `ouroboros-consensus` and
separate packages, because the test suites of `ouroboros-consensus` depend on
them, while other packages, i.e., `ouroboros-consensus-byron`, `cardano-node`,
..., will also depend on them. If only Cabal supported multiple public
libraries in one project.

* Remove the `Exception` instance of `PBftLeaderCredentialsError`, as it was
  never actually thrown.

* Add `nodeToExitReason`, as it can be `blk`-dependent.

* Rename `Ouroboros.Storage` to `Ouroboros.Consensus.Storage`.

Co-authored-by: Thomas Winant <thomas@well-typed.com>
@iohk-bors iohk-bors bot closed this as completed in #1657 Feb 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus issues related to ouroboros-consensus technical debt
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants