fix: repair missing drep rows during vote replay
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Introduce sealedTxFromLedgerTx :: Read.IsEra era => Read.Tx era -> SealedTx. Serialises via Read.serializeTx (ledger-native) and wraps in EraValue without any cardano-api involvement. Migrate sealWriteTx in Transaction.Ledger.hs to use the new constructor, pattern-matching on RecentEra to witness the era. Removes the toCardanoApiTx -> sealedTxFromCardano' roundtrip, dropping the Cardano.Api.Extra import from that module. Step 2a of SealedTx decommission plan.
mithril-client-cli was only defined under pkgsMusl (x86_64-linux), leaving darwin targets without the package and breaking devShell evaluation. Add a native buildPackage variant for all systems where pkgsMusl is null.
fix: add glibc.bin to wrapper runtimeInputs for getconf
Bootstraps spec-driven workflow for cardano-node-antithesis: - .specify/ scaffolding installed via nix run /code/spec-kit. - .specify/memory/constitution.md authored from scratch, capturing the composer-first, SDK-instrumented, duration-robust principles the repo has been implicitly following since PR #53 + the shared/skills/antithesis-tests skill. - .claude/commands/ speckit command definitions. - specs/phase1-asteria-gatherer/spec.md — first feature spec: txpipe/asteria deployed as the eager-agent workload, one gatherer parallel_driver per ship, admin-bootstrap serial driver, anytime + finally invariants. Explicit out-of-scope list for phase 2+ (mine, quit, spawn contention, prize tokens). Implements issue #56 (parent #55). No runtime changes yet; this commit is spec-only.
fix: skip patchelf because of statically-linked esbuild binary
Add a test for ensuring that a peer can download all valid TXs when faced with two peers with conflicting tx order.
Replace the manual segmented-witness serialization with MemoBytes, which simplifies the code significantly. The block body is now serialized as a flat 3-element list [invalid_transactions, transactions, peras_certificate] instead of 5 separate segments. Also fix PerasCert to encode/decode as bytes (matching CDDL), reimplement alignedValidFlags using IntSet, and expose DijkstraBlockBodyRaw/MkDijkstraBlockBody from Internal module.
Define HuddleRule instances for "block_body" and "peras_certificate" in the Dijkstra era, with a custom CBOR generator for block_body that generates valid transaction indices. Update the CDDL spec to match the new block structure: block = [header, block_body].
Change genArrayTerm from Gen to MonadGen so it can be used in CBORGen contexts (e.g. custom CBOR generators for Huddle specs).
- Add `blockBodySize` as a method on `EraBlockBody` with a default implementation using `EncCBORGroup`, replacing the standalone `bBodySize` function - Remove `EncCBORGroup (BlockBody era)` superclass constraint from `EraBlockBody` so that eras can provide their own `blockBodySize` without needing `EncCBORGroup`
Add plain DecCBOR instances for DijkstraBlockBodyRaw and DijkstraBlockBody (needed for decoder equivalence tests), and a custom ToExpr instance for DijkstraBlockBody. Add block_body to the CddlSpec test suite.