Home / KtorZ / cardano-ogmios
May 19, 8-9 AM (0)
May 19, 9-10 AM (0)
May 19, 10-11 AM (0)
May 19, 11-12 PM (0)
May 19, 12-1 PM (0)
May 19, 1-2 PM (0)
May 19, 2-3 PM (0)
May 19, 3-4 PM (0)
May 19, 4-5 PM (0)
May 19, 5-6 PM (0)
May 19, 6-7 PM (0)
May 19, 7-8 PM (0)
May 19, 8-9 PM (1)
May 19, 9-10 PM (0)
May 19, 10-11 PM (1)
May 19, 11-12 AM (0)
May 20, 12-1 AM (0)
May 20, 1-2 AM (0)
May 20, 2-3 AM (0)
May 20, 3-4 AM (0)
May 20, 4-5 AM (0)
May 20, 5-6 AM (0)
May 20, 6-7 AM (0)
May 20, 7-8 AM (0)
May 20, 8-9 AM (0)
May 20, 9-10 AM (0)
May 20, 10-11 AM (0)
May 20, 11-12 PM (0)
May 20, 12-1 PM (0)
May 20, 1-2 PM (0)
May 20, 2-3 PM (0)
May 20, 3-4 PM (0)
May 20, 4-5 PM (0)
May 20, 5-6 PM (0)
May 20, 6-7 PM (0)
May 20, 7-8 PM (0)
May 20, 8-9 PM (0)
May 20, 9-10 PM (0)
May 20, 10-11 PM (0)
May 20, 11-12 AM (0)
May 21, 12-1 AM (0)
May 21, 1-2 AM (0)
May 21, 2-3 AM (0)
May 21, 3-4 AM (0)
May 21, 4-5 AM (0)
May 21, 5-6 AM (0)
May 21, 6-7 AM (0)
May 21, 7-8 AM (0)
May 21, 8-9 AM (0)
May 21, 9-10 AM (0)
May 21, 10-11 AM (0)
May 21, 11-12 PM (0)
May 21, 12-1 PM (0)
May 21, 1-2 PM (0)
May 21, 2-3 PM (0)
May 21, 3-4 PM (0)
May 21, 4-5 PM (0)
May 21, 5-6 PM (0)
May 21, 6-7 PM (0)
May 21, 7-8 PM (0)
May 21, 8-9 PM (0)
May 21, 9-10 PM (0)
May 21, 10-11 PM (0)
May 21, 11-12 AM (0)
May 22, 12-1 AM (0)
May 22, 1-2 AM (0)
May 22, 2-3 AM (0)
May 22, 3-4 AM (0)
May 22, 4-5 AM (0)
May 22, 5-6 AM (0)
May 22, 6-7 AM (0)
May 22, 7-8 AM (0)
May 22, 8-9 AM (0)
May 22, 9-10 AM (0)
May 22, 10-11 AM (0)
May 22, 11-12 PM (0)
May 22, 12-1 PM (0)
May 22, 1-2 PM (0)
May 22, 2-3 PM (0)
May 22, 3-4 PM (0)
May 22, 4-5 PM (0)
May 22, 5-6 PM (0)
May 22, 6-7 PM (0)
May 22, 7-8 PM (0)
May 22, 8-9 PM (0)
May 22, 9-10 PM (0)
May 22, 10-11 PM (0)
May 22, 11-12 AM (0)
May 23, 12-1 AM (0)
May 23, 1-2 AM (0)
May 23, 2-3 AM (0)
May 23, 3-4 AM (0)
May 23, 4-5 AM (0)
May 23, 5-6 AM (0)
May 23, 6-7 AM (0)
May 23, 7-8 AM (0)
May 23, 8-9 AM (0)
May 23, 9-10 AM (0)
May 23, 10-11 AM (0)
May 23, 11-12 PM (0)
May 23, 12-1 PM (0)
May 23, 1-2 PM (0)
May 23, 2-3 PM (0)
May 23, 3-4 PM (0)
May 23, 4-5 PM (0)
May 23, 5-6 PM (0)
May 23, 6-7 PM (0)
May 23, 7-8 PM (0)
May 23, 8-9 PM (0)
May 23, 9-10 PM (0)
May 23, 10-11 PM (0)
May 23, 11-12 AM (0)
May 24, 12-1 AM (0)
May 24, 1-2 AM (0)
May 24, 2-3 AM (0)
May 24, 3-4 AM (0)
May 24, 4-5 AM (0)
May 24, 5-6 AM (0)
May 24, 6-7 AM (0)
May 24, 7-8 AM (0)
May 24, 8-9 AM (0)
May 24, 9-10 AM (0)
May 24, 10-11 AM (0)
May 24, 11-12 PM (0)
May 24, 12-1 PM (0)
May 24, 1-2 PM (0)
May 24, 2-3 PM (0)
May 24, 3-4 PM (0)
May 24, 4-5 PM (0)
May 24, 5-6 PM (0)
May 24, 6-7 PM (0)
May 24, 7-8 PM (0)
May 24, 8-9 PM (0)
May 24, 9-10 PM (0)
May 24, 10-11 PM (0)
May 24, 11-12 AM (0)
May 25, 12-1 AM (0)
May 25, 1-2 AM (0)
May 25, 2-3 AM (0)
May 25, 3-4 AM (0)
May 25, 4-5 AM (0)
May 25, 5-6 AM (0)
May 25, 6-7 AM (0)
May 25, 7-8 AM (0)
May 25, 8-9 AM (0)
May 25, 9-10 AM (0)
May 25, 10-11 AM (0)
May 25, 11-12 PM (0)
May 25, 12-1 PM (0)
May 25, 1-2 PM (0)
May 25, 2-3 PM (0)
May 25, 3-4 PM (0)
May 25, 4-5 PM (0)
May 25, 5-6 PM (0)
May 25, 6-7 PM (0)
May 25, 7-8 PM (0)
May 25, 8-9 PM (0)
May 25, 9-10 PM (1)
May 25, 10-11 PM (0)
May 25, 11-12 AM (0)
May 26, 12-1 AM (0)
May 26, 1-2 AM (0)
May 26, 2-3 AM (0)
May 26, 3-4 AM (0)
May 26, 4-5 AM (0)
May 26, 5-6 AM (0)
May 26, 6-7 AM (0)
May 26, 7-8 AM (0)
May 26, 8-9 AM (0)
3 commits this week May 19, 2026 - May 26, 2026
Apply Jimbo's PR #1 fixes on top of feature-node-11.0
Integrates the Dijkstra-era encoder work, per-era ApplyTxError surface,
and cardano-node 11.0.1 upgrade from Jimbo4350/ogmios#1
(jmillar/dijkstra-integration) on top of John's branch.

Strategy: line-level merge of refs/remotes/jimbo/dijkstra-integration
with -X theirs, then took Jimbo's exact version for:
  - All 39 Haskell source/test files Jimbo modified (John's surviving
    hunks called Jimbo's new API with old signatures and broke
    compilation).
  - docs/static/cardano.json (Jimbo's narrower schema).
  - server/ogmios.cabal (avoids -Wunused-packages warnings on John's
    extra deps).
  - docs/static/ogmios.json (reset to master's version, since Jimbo
    never modified it; John's modifications were causing JSON-schema
    validation failures in NextBlockResponse and SubmitTransactionResponse
    tests against Jimbo's encoder output).

Other non-Haskell files (test vectors, Dockerfile, README, CI config)
kept the line-level merge result so John's non-overlapping additions
are preserved.

Also removes the unreferenced orphan
server/src/Ogmios/Data/Ledger/PredicateFailure/Dijkstra.hs, which was
unique to John's branch and not referenced from Jimbo's ogmios.cabal
or anywhere in Jimbo's source tree.

Verified: cabal build all -j4 (clean), cabal test ogmios:unit
(140/140 pass).
WIP: stub out source to compile against new deps
ogmios:lib:ogmios now builds end-to-end (59/59 modules) against
cardano-node 11.0.1 / ouroboros-consensus 3.0.1 / ouroboros-network 1.1
/ cardano-ledger-core 1.20 / -conway 1.22.1 / -alonzo 1.15.

This commit only carries _mechanical_ adaptation + stubs marked with
`TODO(dijkstra): ...` `error` calls. None of the stubbed code paths are
functional at runtime — they exist solely to push the library through
typecheck so we can see the full surface area of what the dep bump
breaks before we start fixing things in earnest.

100 TODO(dijkstra) markers across 24 files. Major themes:
  - Sh.body/wits/auxiliaryData -> Sh.stBody/stWits/stAuxData
    (Alonzo: atBody/atWits/atAuxData/atIsValid; Conway: same pattern)
  - Sh.txSeqTxns'/Al.txSeqTxns -> shelleyBlockBodyTxs/alonzoBlockBodyTxs
  - Cardano.Ledger.Shelley.BlockChain  -> .BlockBody
  - Cardano.Ledger.Alonzo.TxSeq        -> .BlockBody
  - Cardano.Ledger.PoolParams          -> Cardano.Ledger.State
  - ppRewardAccount -> sppAccountAddress; pp* -> spp* prefix
  - serialiseRewardAccount -> serialiseAccountAddress
  - RewardAccount -> AccountAddress (constructor + type)
  - upgradeTxBody moved Cardano.Ledger.Core -> Cardano.Ledger.Api.Tx.Body
  - asTreasury/asReserves -> Ledger.casTreasury/casReserves
  - Genesis (KeyRole) renamed to GenesisRole; type data KeyRole now
    type-level only, so 'StakePool/'Staking/'Witness/'DRepRole/etc.
    drop the tick prefix
  - Ouroboros.Network.NodeToClient[.Version] -> Cardano.Network.NodeToClient
    (cardano-diffusion); ogmios src goes through the local
    Cardano.Network.Protocol.NodeToClient re-export
  - NetworkConnectTracers: nctMuxTracer -> nctMuxTracers, retyped to
    Mx.TracersWithBearer; outer type gains an `m` parameter
  - CardanoCodecConfig gains a new Dijkstra slot
  - new MonadEvaluate m constraint propagated through localChainSync /
    localTxSubmission / localTxMonitor / localStateQuery / mkClient /
    connectHealthCheckClient / newWebSocketApp; NFData a on localTxMonitor
  - App monad derives MonadEvaluate
  - Sh.Tx/Sh.ShelleyTx kinds gained a TxLevel param (use TopTx)
  - Sh.RewardAccount, Ledger.PoolParams, Sh.ShelleyTxBody, Al.AlonzoTxBody
    are now pattern synonyms, not types -> Ledger.AccountAddress /
    Ledger.StakePoolParams / Ledger.TxBody Ledger.TopTx era
  - Sh.WitVKey now in Cardano.Ledger.Keys.WitVKey
  - encodeTx now matches on (Sh.MkShelleyTx x) for Shelley; Allegra /
    Mary / Alonzo / Babbage / Conway equivalents stubbed (PR #461 uses
    bodyTxL/witsTxL/auxDataTxL lenses; not adopted here yet)
  - encodePParamsHKD stubbed in Shelley / Alonzo / Babbage / Conway —
    sppKeyDeposit etc. now return Compact Coin; signature needs an
    extra encodeCompact callback
  - encodeAuxiliaryData / encodeScript in Alonzo stubbed —
    Al.TimelockScript constructor removed in cardano-ledger-alonzo 1.15
  - encodeGenesis Alonzo stubbed — AlonzoGenesis field types changed
    (Maybe CostModels; Word32/Word16 vs Natural)
  - withoutFutureParameters in Configuration stubbed —
    UpgradeAlonzoPParams vs AlonzoExtraConfig
  - All era PredicateFailure encoders stubbed (Shelley / Allegra /
    Mary / Alonzo / Babbage / Conway) — NonEmpty / NonEmptySet
    container types in ledger 1.18.1+, plus many constructor renames
    (WithdrawalsNotInRewardsDELEGS removed, MissingRequiredSigners,
    TriesToForgeADA, StakeKeyHasNonZeroRewardAccountBalanceDELEG ->
    ...HasNonZeroAccountBalanceDELEG, etc.)
  - Rewards.rewardsProvenance / .circulation stubbed — ChainAccountState
    / ActiveStake / StakePoolSnapShot / NonZero Coin; mkPoolRewardInfo
    arity changed
  - Ledger.scriptPurposeInMostRecentEra stubbed — MostRecentEra is now
    Dijkstra, needs an extra upgradePlutusPurposeAsIx step plus a new
    AlonzoBasedEra arm
  - EraTranslation: `instance Upgrade AlonzoTx ConwayEra` commented
    out — AlonzoTx kind changed to `TxLevel -> Type -> Type`
  - Json.encodeTx / Json.encodeSubmitTransactionError stubbed —
    ApplyTxError is now a type only; pattern needs an accessor
  - keepRedundantConstraint era-guard in TxSubmission / Query / TxMonitor
    detuned (era constraint dropped) — must be re-armed against
    DijkstraEra once Cardano.Ledger.Dijkstra.Era is wired in
  - Dijkstra arms stubbed in fromEraIndex (Prelude), eraIndexToCardanoEra
    (Health), toRawTxIdHash, GenTxDijkstra dispatch (TxSubmission
    inputs/outputs)
  - Werror cascades suppressed file-locally with
    -Wno-{unused-imports,unused-matches,unused-top-binds,unused-imports,
    incomplete-patterns,redundant-constraints,dodgy-imports/-exports,
    deprecations,orphans} for the heavily-stubbed modules

Next step: each TODO(dijkstra) is a unit of real work. Recommended
approach is to walk the categories above starting from the most
isolated (Rewards, EraTranslation) and work outward to the encoders.
upgrade dependencies to cardano-node==11.0.1
Removes the three CardanoSolutions/* source-repository-package forks
(cardano-ledger, ouroboros-network, ouroboros-consensus) whose
GetDRepDelegations / NodeToClientV_21 / queryDRepDelegations patches
are now upstream in ouroboros-consensus 3.0.1, ouroboros-network 1.1,
and cardano-ledger-conway 1.22.1. Adds `blockio +serialblockio` to
drop the liburing system dependency.