Skip to content

Port kupo to the cardano-node 11.1 stack (Dijkstra groundwork) - #8

Closed
Jimbo4350 wants to merge 6 commits into
masterfrom
jmillar/cardano-node-11.1
Closed

Jimbo4350 wants to merge 6 commits into
masterfrom
jmillar/cardano-node-11.1

Conversation

@Jimbo4350

@Jimbo4350 Jimbo4350 commented Sep 17, 2026 •

Copy link
Copy Markdown

Context

Moves kupo onto the cardano-node 11.1.1 release set (ouroboros-consensus 4.2.1, ouroboros-network 1.2, cardano-ledger-conway 1.23 / core 1.21 / dijkstra 0.3), promotes the canonical era from Conway to Dijkstra and indexes top-level Dijkstra transactions. Supersedes #7.

Changes

  • Dependencies: node 11.1.1 release set; drops the stale validation < 1.2 pin. contra-tracers (with fast-bech32) comes from the IntersectMBO/ogmios fork via source-repository-package until a release with the contra-tracer 0.2 fix (contra-tracers: require Monad m for GConfigureTracers (contra-tracer >= 0.2) ogmios#13) is published.
  • API port: contra-tracer 0.2 mkTracer; consensus 4.x fromRawHash returning Maybe; ledger-core 1.21 Metadatum.B as ByteArray; alonzo 1.16 isPhase2ValidTxL.
  • Dijkstra canonical era: Output, Script, NativeScript, Metadata and BinaryData are pegged to DijkstraEra; Conway upgrades up like every older era. TransactionDijkstra replaces the BlockDijkstra error stub. Based on upstream CardanoSolutions/kupo b6108fa, 00b332b, af68a61, 22c0060.
  • Sub-transactions: a Dijkstra transaction with sub-transactions fails loudly; indexing them is a follow-up.

How to trust this PR

  • cabal build all -j4 is clean apart from pre-existing warnings.
  • cabal test unit: 335 examples, 0 failures.
  • Formatted with stylish-haskell.

Not in scope

  • Indexing nested sub-transactions (needs a decision on how they are numbered; the transaction index is stored on every output reference).
  • e2e runs against a node / ogmios / hydra head on the new stack; no released node makes Dijkstra functional yet.

🤖 Generated with Claude Code

Everything under scripts/ except the tracked patch-nix-deps.sh.
@Jimbo4350
Jimbo4350 force-pushed the jmillar/cardano-node-11.1 branch 3 times, most recently from 0591a14 to 6fb6489 Compare September 21, 2026 19:23
ouroboros-consensus 4.2.1, ouroboros-network 1.2, cardano-ledger-conway
1.23 (core 1.21, dijkstra 0.3) and the matching CHaP index-state. Drops
the `validation < 1.2` pin.

contra-tracers (with fast-bech32) comes from the IntersectMBO/ogmios fork
until a release with the contra-tracer 0.2 fix from
IntersectMBO/ogmios#13 is published.
- contra-tracer 0.2: build the log sink with `mkTracer`.
- consensus 4.x: `fromRawHash`/`fromShortRawHash` return `Maybe`.
- ledger-core 1.21: `Metadatum.B` holds a `ByteArray`.
- alonzo 1.16: `IsValid`/`isValidTxL` -> `IsPhase2Valid`/`isPhase2ValidTxL`.
…ctions

Output, Script, NativeScript, Metadata and BinaryData are pegged to
DijkstraEra; Conway now upgrades up like every older era. Conway aux data
is rebuilt with `upgradeTimelock` since ledger-dijkstra 0.3 has no
`upgradeTxAuxData` for Dijkstra. Adds `TransactionDijkstra` with arms in
every `IsBlock Block` method, replacing the `BlockDijkstra` error stub.

Based on upstream CardanoSolutions/kupo b6108fa, 00b332b, af68a61 and
22c0060, adapted to the node 11.1 ledger API.
Sub-transactions have their own ids, inputs and outputs but no phase-2
validity flag; how they are indexed is left to a follow-up. Until then a
transaction with a non-empty `subTransactionsTxBodyL` fails loudly rather
than silently dropping them. Adds cardano-data for `OMap.null`.
@Jimbo4350
Jimbo4350 force-pushed the jmillar/cardano-node-11.1 branch from 6fb6489 to 7f0d739 Compare September 22, 2026 18:27
@Jimbo4350
Jimbo4350 marked this pull request as ready for review September 22, 2026 18:27
@Jimbo4350

Copy link
Copy Markdown
Author

Superseded by #9, merged on November 6, which covers the dependency update and Dijkstra indexing work. Sub-transaction indexing is tracked separately in #12.

@Jimbo4350 Jimbo4350 closed this Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants