chore(minibf): Upgrade blockfrost crate to 0.1.88
Home /
TxPipe /
dolos
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 (1)
May 21, 1-2 PM (1)
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 (2)
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 (1)
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 (1)
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 (2)
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 (0)
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)
May 26, 9-10 AM (0)
May 26, 10-11 AM (0)
May 26, 11-12 PM (0)
May 26, 12-1 PM (0)
May 26, 1-2 PM (0)
May 26, 2-3 PM (0)
May 26, 3-4 PM (0)
May 26, 4-5 PM (0)
May 26, 5-6 PM (0)
May 26, 6-7 PM (0)
May 26, 7-8 PM (0)
May 26, 8-9 PM (0)
May 26, 9-10 PM (0)
May 26, 10-11 PM (0)
May 26, 11-12 AM (0)
May 27, 12-1 AM (0)
May 27, 1-2 AM (0)
May 27, 2-3 AM (0)
May 27, 3-4 AM (0)
May 27, 4-5 AM (0)
May 27, 5-6 AM (0)
May 27, 6-7 AM (0)
May 27, 7-8 AM (0)
May 27, 8-9 AM (0)
May 27, 9-10 AM (0)
May 27, 10-11 AM (0)
May 27, 11-12 PM (0)
May 27, 12-1 PM (0)
May 27, 1-2 PM (1)
May 27, 2-3 PM (0)
May 27, 3-4 PM (0)
May 27, 4-5 PM (0)
May 27, 5-6 PM (1)
May 27, 6-7 PM (0)
May 27, 7-8 PM (1)
May 27, 8-9 PM (0)
May 27, 9-10 PM (0)
May 27, 10-11 PM (0)
May 27, 11-12 AM (0)
May 28, 12-1 AM (0)
May 28, 1-2 AM (0)
May 28, 2-3 AM (0)
May 28, 3-4 AM (0)
May 28, 4-5 AM (0)
May 28, 5-6 AM (0)
11 commits this week
May 21, 2026
-
May 28, 2026
chore(docs): Add performance subsection on operations section
feat(minibf): add optional base_path configuration
Adds an optional `base_path` field to `MinibfConfig` that nests all minibf routes (including `/health` and `/metrics`) under a configurable path prefix. Set to `/api/v0` for full Blockfrost OpenAPI compliance; when omitted, routes remain at the root (no behavioral change). Invalid values (empty, just `/`, missing leading `/`, or containing `*`) return a new `ServeError::ConfigError` variant instead of panicking.
feat(minibf): add optional base_path configuration
Adds an optional `base_path` field to `MinibfConfig` that nests all minibf routes (including `/health` and `/metrics`) under a configurable path prefix. Set to `/api/v0` for full Blockfrost OpenAPI compliance; when omitted, routes remain at the root (no behavioral change). Invalid values (empty, just `/`, missing leading `/`, or containing `*`) return a new `ServeError::ConfigError` variant instead of panicking.
refactor(grpc): dedupe block_ref lookup, hoist era summary, fix double decode
Addresses review feedback on the per-UTxO block_ref population added in the previous commit: - Introduce `AsyncQueryFacade::block_meta_by_tx_hash` returning chain-point metadata (`BlockRefMeta`) decoded once inside the blocking task. Eliminates the redundant `MultiEraBlock::decode` previously performed in the gRPC caller. (review A-01) - Hoist `load_era_summary` to the request handler scope via a new shared `serve::grpc::block_refs` module. Previously `get_slot_timestamp` reloaded the era summary from state on every UTxO; now it runs once per request. (review A-02) - Deduplicate block lookups by source tx hash. A `search_utxos` page whose UTxOs cluster on M unique txs now does M lookups instead of N. (review A-03) - Propagate storage failures as `Status::internal` instead of swallowing them. Block-decode failures (indicating archive corruption) degrade to `debug!` rather than per-UTxO `warn!` log spam. (review A-04, A-05) - Extract the entire flow into `serve::grpc::block_refs::fetch_block_refs`, shared by both v1alpha and v1beta. Each version maps the chain-agnostic `BlockRefData` to its own proto-specific `ChainPoint` via a tiny `to_chain_point` helper. (review A-06) `into_u5c_utxo` now takes the pre-resolved `Option<ChainPoint>` as a parameter rather than performing its own lookup, keeping the per-UTxO path cheap. Tests deferred: no harness exists for `read_utxos`/`search_utxos`. The `minibf::TestDomainBuilder` pattern can seed a `ToyDomain` via `import_blocks`, and `FaultyToyDomain` covers error branches — happy to add unit tests if maintainers prefer them in-PR.
fix(grpc): populate block_ref in AnyUtxoData via block_by_tx_hash
`into_u5c_utxo` returned `block_ref: None` for every UTxO surfaced by
`read_utxos` / `search_utxos`, leaving downstream consumers unable to
associate UTxOs with the blocks that created them. The field was added
as a placeholder in #813 (u5c 0.18.1 upgrade) but the reverse lookup
was never wired up.
Mirror the pattern already used by `read_tx`: call
`AsyncQueryFacade::block_by_tx_hash`, decode the block, and build a
`ChainPoint { slot, hash, height, timestamp }`. Lookup failures
(missing tx in archive, decode error) `warn!` with the tx hash and
fall back to `None` — matching the existing posture for datum-decode
errors in the same function.
Applied to both v1alpha and v1beta. No new indexing is needed;
`slot_by_tx_hash` already exists across redb3 and fjall.
chore(deps): bump tx3-cardano/tx3-resolver to 0.19.0
0.19.0 migrates to the pallas 1.0.0 `LanguageViews` API, unblocking the `trp` feature. `cargo build` with default features now compiles cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
chore(deps): bump pallas to 1.0.0
Point the pallas dependency at the crates.io 1.0.0 release and migrate to the relocated module paths: - `pallas::ledger::configs::*` → `pallas::interop::hardano::configs::*` - `pallas::storage::hardano::*` → `pallas::interop::hardano::storage::*` Also bump tx3-cardano/tx3-resolver to 0.18.1. Known blocker: the `trp` feature does not build against pallas 1.0.0. tx3-cardano 0.18.1 still calls the removed `primitives::LanguageView` tuple constructor (renamed to `LanguageViews` in pallas 1.0.0). All other dolos crates compile cleanly; build with `--no-default-features --features "mithril,utils,grpc,minibf,minikupo"` in the meantime. Draft until tx3-cardano ships a pallas 1.0.0 fix. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>