Open
Description
Why
We want to implement the phase 2 of the split of the mithril-common
crate and delegate some of its responsibilities to new crates.
What
Split responsibilities to new crates:
- Mithril era
- Mithril ticker
- Cardano node internal database
- Cardano node mini protocols
- Web test tools (Test HTTP server and API spec)
How
- Mithril Era:
- Create a new crate
internal/mithril-era
- Move
mithril-common/era
tosrc
- Except for
mithril-common/era/supported_era.rs
which is moved tomithril-common/entities
- Create a new crate
- Mithril ticker:
- Create a new crate
internal/mithril-ticker
- Move
mithril-common/ticker_service.rs
tosrc
- Create a new crate
- Cardano node internal database:
- Create a new crate in
internal/cardano-node/mithril-cardano-node-internal-database
- Move
mithril-common/digester
tosrc/digester
- Move
digester/immutable_file_observer.rs
insrc
- Move
digester/dummy_cardano_db.rs
insrc/test
- Move
digester/immutable_file.rs
tosrc/entities
- Move
digester/ledger_file.rs
tosrc/entities
- Add the publication of the crate on crates.io
- Create a new crate in
- Cardano node chain:
- Create an new crate in
internal/cardano-node/mithril-cardano-node-chain
- Move
mithril-common/chain_observer
tosrc
- Move
mithril-common/chain_reader
tosrc
- Move
mithril-common/cardano_chain_scanner
tosrc
and rename it tochain_scanner
- Move entities from
src/chain_reader
andsrc/chain_scanner
to ansrc/entity
module (ChainScannedBlocks
,ScannedBlock
,RawCardanoPoint
,ChainBlockNextAction
)
- Create an new crate in
- Web test tools (Test HTTP server and API spec):
- Create new crates in
internal/tests/mithril-api-spec
andinternal/tests/mithril-test-http-server
- Remove the dependency to
SupportedEra
inAPISpec
and replace it with aString
- Move
mithril-common/test_utils/apispecs.rs
tomithril-api-spec/src
- Move
mithril-common/test_utils/test_http_server.rs
tomithril-test-http-server/src
- Add the publication of the crate on crates.io
- Create new crates in
- Remove the unnecessary features in
mithril-common
- Add testing of
mithril-common
in Windows tests in the CI - Update the crates to build/test in Hydra CI