IntersectMBO / IntersectMBO/ouroboros-consensus

Remove Cardano-specific `TxMeasure` dimensions from abstract Consensus layer

Open
#1,523 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Haskell
Stars
67
Forks
43
Avg merge
5d 13h
Merged PRs (30d)
43

Description

#1191 introduced an ad-hoc type class to the abstract Consensus layer
https://github.com/IntersectMBO/ouroboros-consensus/blob/447ae7a5c85a32d0cafa2b3325292a6e678e7f7e/ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Ledger/SupportsMempool.hs#L432-L436
that is required by `LedgerSupportsMempool blk`. It is used only for the LocalTxMonitor server implementation.

The goal of this ticket is to remove this Cardano-specific notion from the abstract Consensus layer again, eg by changing the class to sth like
```haskell
class TxMeasureMetrics msr where
txMeasureMetricTxSizeBytes :: msr -> Map MeasureName Natural
```

Contributor guide

Open the contributing guide

Research direction

Start in Ouroboros/Consensus/Ledger/SupportsMempool.hs at lines 432-436 and trace the LedgerSupportsMempool constraint into the LocalTxMonitor server implementation. Identify how TxMeasure dimensions enter the abstract Consensus layer, then remove the Cardano-specific notion while preserving the metrics required by LocalTxMonitor.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
blockchain
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.