Skip to content

feat: support more minibf endpoints of Dolos#592

Open
michalrus wants to merge 2 commits into
mainfrom
chore/missing-minibf-endpoints
Open

feat: support more minibf endpoints of Dolos#592
michalrus wants to merge 2 commits into
mainfrom
chore/missing-minibf-endpoints

Conversation

@michalrus

@michalrus michalrus commented Jun 18, 2026

Copy link
Copy Markdown
Member

Context

A few more endpoints, stacked on top of:

See https://docs.txpipe.io/dolos/apis/minibf.

Ignored tests

Unfortunately a few tests had to be ignored, mostly because they reach too deeply into pagination, and Dolos returns a 400…

More controversial ignores (reasons in comments):

  • {
    "_comment": "assets/ddd01d9531fcc25e3ca4b6429318c2cc374dbdbcf5e99c1c1e5da1ff444f4e545350414d/addresses -- Dolos returns an empty array [] for a valid asset that was never minted on-chain, while the real Blockfrost API returns HTTP 404 Not Found",
    "id": "assets-addresses-valid-not-on-chain-asset_3ad55423382f"
    },

  • {
    "_comment": "epochs/123/blocks?count=2 -- Dolos omits the Byron epoch boundary block (EBB) from the block list, yielding different hashes than the real Blockfrost API",
    "id": "epochs-number-blocks-queryparams-first-blocks-generic-byron-epoch_38950d09cab0"
    },
    {
    "_comment": "epochs/123/blocks?count=2&order=desc -- Dolos omits the Byron epoch boundary block (EBB) from the block list, yielding different hashes than the real Blockfrost API",
    "id": "epochs-number-blocks-queryparams-last-blocks-generic-byron-epoch_b7676ba66e29"
    },

  • {
    "_comment": "pools/pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy/history?count=10 (= pools/0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735/history?count=10) -- Dolos pool history differs from the real Blockfrost API (missing the pool's initial registration epoch; f64 active_size precision and reward/fee rounding differences)",
    "id": "pools-pool-id-history-best-pool-history_c4f95a045f23"
    },
    {
    "_comment": "pools/pool1r8lmsrdure385hz647kl2qjhyyxkdle4au5krjcsqed4x8227k3/history?page=2 -- Dolos pool history differs from the real Blockfrost API (f64 active_size precision / missing epochs)",
    "id": "pools-pool-id-history-problematic-pool-history-dbsync-issue-missing-some-epochs_912a978ee4cf"
    }

  • {
    "_comment": "pools/pool13m26ky08vz205232k20u8ft5nrg8u68klhn0xfsk9m4gsqsc44v/history?count=10 (= pools/8ed5ab11e76094fa2a2ab29fc3a57498d07e68f6fde6f326162eea88/history?count=10) -- Dolos pool history differs from the real Blockfrost API (delegators_count differences)",
    "id": "pools-pool-id-history-best-pool-history_df31300e4408"
    },
    {
    "_comment": "pools/pool1rccstu3l9ty3k0a5cd06fl3szsss9r34dcg5j38fqgq9kvng0tg/history?page=5&count=1 (= pools/1e3105f23f2ac91b3fb4c35fa4fe301421028e356e114944e902005b/history?page=5&count=1&order=asc) -- Dolos pool history differs from the real Blockfrost API (delegators_count / margin-cost update differences)",
    "id": "pools-pool-id-history-pool-history-with-more-margin-cost-updates_d0b3a9122929"
    }

I have also ignored the Preprod v10 / v11 failure – the "Ignored" check will fail, once we have the next Dolos release.

See <https://docs.txpipe.io/dolos/apis/minibf>.

Unfortunately 2 tests had to be ignored, because they reach too deeply
into pagination, and Dolos returns 400.

I only tested Preview locally, let's see how Preprod and Mainnet do on
CI.
@michalrus michalrus self-assigned this Jun 18, 2026
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blockfrost-platform-docs Ready Ready Preview, Comment Jun 19, 2026 11:26am
blockfrost-platform-docs-next Ready Ready Preview, Comment Jun 19, 2026 11:26am

Request Review

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 18, 2026

Copy link
Copy Markdown

Deploying blockfrost-platform with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6f4b781
Status: ✅  Deploy successful!
Preview URL: https://d57134e6.blockfrost-platform.pages.dev
Branch Preview URL: https://chore-missing-minibf-endpoin.blockfrost-platform.pages.dev

View logs

Base automatically changed from fix/missing-lace-endpoints to main June 18, 2026 18:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for additional Dolos minibf endpoints by proxying more Platform API routes to the data node, updating the data-node client surface accordingly, and aligning integration test allow/ignore lists.

Changes:

  • Implemented/proxied handlers for more endpoints (scripts by hash + datum, assets addresses/transactions, epoch blocks, pool history, and addresses/{address}/txs).
  • Extended crates/data_node client APIs to call the corresponding Dolos paths.
  • Updated integration test endpoint allowlist and expanded ignored tests to account for known Dolos pagination/behavior differences.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
crates/platform/src/server/routes/hidden.rs Registers the new hidden API route /addresses/{address}/txs.
crates/platform/src/api/scripts/script_hash/root.rs Proxies /scripts/{script_hash} to the data node.
crates/platform/src/api/scripts/script_hash/json.rs Proxies /scripts/{script_hash}/json to the data node.
crates/platform/src/api/scripts/script_hash/cbor.rs Proxies /scripts/{script_hash}/cbor to the data node.
crates/platform/src/api/scripts/datum/datum_hash/root.rs Proxies /scripts/datum/{datum_hash} to the data node.
crates/platform/src/api/scripts/datum/datum_hash/cbor.rs Proxies /scripts/datum/{datum_hash}/cbor to the data node.
crates/platform/src/api/pools/pool_id/history.rs Proxies /pools/{pool_id}/history with pagination to the data node.
crates/platform/src/api/epochs/number/blocks/root.rs Proxies /epochs/{number}/blocks with pagination to the data node.
crates/platform/src/api/assets/asset/transactions.rs Proxies /assets/{asset}/transactions with pagination to the data node.
crates/platform/src/api/assets/asset/addresses.rs Proxies /assets/{asset}/addresses with pagination to the data node.
crates/platform/src/api/addresses/address/txs.rs Implements /addresses/{address}/txs returning a list of tx hashes.
crates/platform/src/api/addresses/address.rs Exposes the new txs module.
crates/integration_tests/tests/data/supported_endpoints.json Adds the newly supported endpoints to the allowlist.
crates/integration_tests/tests/data/ignored_tests.json Ignores additional tests due to documented Dolos limitations/differences.
crates/data_node/src/api/scripts.rs Adds data-node client methods for scripts endpoints.
crates/data_node/src/api/pools.rs Adds data-node client support for pool history.
crates/data_node/src/api/epochs.rs Adds data-node client support for epoch blocks.
crates/data_node/src/api/assets.rs Adds data-node client support for asset addresses/transactions.
crates/data_node/src/api/addresses.rs Adds data-node client support for addresses/{address}/txs.
crates/data_node/src/api.rs Exports the new scripts data-node API module.
crates/api_provider/src/types.rs Aligns script response type aliases with expected single-object responses.

Comment on lines +47 to +51
"/assets/{asset}/addresses",
"/assets/{asset}/transactions",
"/epochs/{number}/blocks",
"/pools/{pool_id}/history",
"/scripts/{script_hash}",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants