-
Notifications
You must be signed in to change notification settings - Fork 0
Logbook February 2026
Paolo Veronelli edited this page Mar 13, 2026
·
5 revisions
- Created
paolino/cardano-mpfs-offchainrepo - Merged feat: initial MPF library #1 — extracted MPF implementation from haskell-csmt, 16-ary Merkle Patricia Forestry with Blake2b-256, Aiken-compatible proof generation, pure and RocksDB backends
- Merged docs: TypeScript singleton map #2 — maps 6 TypeScript singletons, dependency graph, Haskell record-of-functions signatures
- Merged feat: MkDocs architecture documentation #3 — Material theme, mermaid diagrams, docs CI
- Merged feat: add Haskell singleton interfaces #4 — record-of-functions interfaces for Provider, TrieManager, State, Indexer, Submitter, TxBuilder, Context
- Merged fix: use nix build for CI #6
- Merged feat: populate offchain interfaces with real types #7 — replaced placeholder types with proper newtypes, Cardano primitives as ByteString-wrapped newtypes
- Merged fix: apply fourmolu and cabal-fmt formatting #8
- Merged fix: apply fourmolu formatting to all source files #9
- Merged test: add Trie and TrieManager interface tests #10 — mock Trie IO with pure backend, Aiken-compatible test vectors, property tests
- Merged test: add more unit tests #11 — DeletionSpec, PureSpec, SerializeSpec
- Merged feat: add mock implementations for all offchain interfaces #14 — reusable library modules under
Cardano.MPFS.Mock.*andCardano.MPFS.Trie.* - Merged fix: replace block-beta mermaid diagrams with flowchart TD #15
- Merged feat: Aiken-compatible proof serialization #16 —
serializeProofencoding to PlutusData CBOR, byte-identical cross-validation against Aiken - Merged refactor: rename haskell-mpfs to merkle-patricia-forestry #17
- Merged docs: update PLAN.md with Phase 0 completion summary #18
- Merged feat: add simple balanceTx for fee-paying UTxO #19 — pure
balanceTxwith fee estimation, 4 property tests - Merged feat: add CIP-57 blueprint validation for on-chain types #20 — CIP-57 schema parser, PlutusData validator, roundtrip property tests
- Closed #12, #13
- Merged feat: N2C client, provider, submitter, balance, and E2E tests #21 — N2C LocalStateQuery and LocalTxSubmission clients,
mkNodeClientProviderbacked by LSQ,mkN2CSubmitter,balanceTxfixpoint fee estimation, E2E tests with cardano-node subprocess
- Merged docs: update architecture docs to match current code #22 — corrected type signatures and function names, removed aspirational database.md, added testing.md for E2E setup, updated README for multi-package repo
- Merged feat: real transaction builders + blueprint integration #23 — on-chain blueprint integration, bootToken tests, real Cardano transaction builders synced with on-chain types
- Merged feat: move time params from validator params to State datum #25 — aligned with on-chain contract refactor
- Merged feat: E2E cage flow test with real Plutus evaluation #26 — Aiken simulate for E2E script evaluation, fixed UTxO selection and ExUnits, systemStart alignment
- Opened #24 — per-token completeness proof strategy
- Merged docs: update PLAN.md to reflect completed phases 0-3 #27
- Merged feat: Phase 4 — indexer + persistence #28 — Lean 4 testable properties, design documentation for indexer and persistence layer
- Merged feat: Phase 4 — cage persistent state #29 — Columns, Codecs, Persistent modules with round-trip tests, Lean theorems for codec inverse properties, fixed inversesOf bug
- Opened feat: complete Phase 4 — indexer, block processor, persistent backends #30 (Merged Tue 24th)
- Merged feat: E2E indexer tests for cage event detection #31
- Merged Resolve Phase 4 open design questions #41
- Merged fix: get insert proofs after applying operation #42
- Closed #36, #39
- Opened #32 — implement CageFollower block processor
- Opened #33 — implement persistent TrieManager backed by RocksDB
- Opened #34 — implement rollback handling with inverse operations
- Opened #35 — implement endToken (burn) tx builder
- Opened #37 — update Application wiring for dual N2C connections
- Opened #38 — E2E tests for full persistent indexing pipeline
- Opened #40 — configure RocksDB prefix bloom filters for trie column families
- Merged feat: complete Phase 4 — indexer, block processor, persistent backends #30 — cage event detection, block processor, persistent backends
- Merged feat: Phase 4 completion — persistent backends, speculation, Lean proofs #48 — speculative trie for safe proof computation, adapted to rocksdb-kv-transactions snapshot API
- Closed #32, #33
- Opened #43 — unit tests for detectCageEvents transaction scanner
- Opened #44 — unit tests for processCageBlock and extractConwayTxs
- Opened #45 — refactor: replace fragile drop 3 column family indexing
- Opened #46 — ci: ensure MPFS_BLUEPRINT-gated tests run in CI
- Opened #47 — property-based validity tests for TxBuilder.Real
- Merged feat: implement rollback handling with inverse operations #50
- Merged fix: scale ExUnits for batch update redeemers #52
- Merged feat: implement endToken (burn) tx builder #53
- Closed #34, #35
- Opened #51 — implement evaluateTx for precise ExUnits estimation
- Merged feat: bootstrap CBOR file for fresh DB seeding #54 — seed checkpoint from bootstrap file on fresh DB
- Merged refactor: restructure module hierarchy #56
- Merged chore: remove debug logging from e2e tests #57
- Merged Add just docs recipe #58
- Merged docs: deepen haddock across all 45 library modules #60
- Merged chore: align GHC warnings with cardano-utxo-csmt #61
- Opened #55 — persist token registry in RocksDB (replace IORef)
- Opened #59 — haddock: hyperlink Cardano dependency types and index in Hoogle
- Merged feat: dual N2C connections with CageFollower #62 — wire dual N2C connections with 10 column families, CageFollower coordinating UTxO index and cage state
- Merged test: add property-based tests across all spec modules #64 — 35 new properties, test count 77 to 257
- Closed #37, #38, #63
- Merged replace inline NodeClient with cardano-node-clients library #73 — deleted 6 modules (~780 lines)
- Merged CageFlowSpec E2E with follower #75
- Merged replace local E2E harness with cardano-node-clients:devnet #76
- Merged unify cage and UTxO transaction runners via mapColumns #77
- Merged implement UTxO resolver for spend-based event detection #78
- Merged wire evaluateTx and replace hardcoded ExUnits #79
- Closed #70, #51, #74, #72, #71, #65, #45