Skip to content

feat(zcash): add mempool page and navbar mempool link - #410

Open
MatiasOS wants to merge 3 commits into
issue-398-zcash-transactionsfrom
issue-398-zcash-mempool
Open

MatiasOS wants to merge 3 commits into
issue-398-zcash-transactionsfrom
issue-398-zcash-mempool

Conversation

@MatiasOS

@MatiasOS MatiasOS commented Sep 14, 2026

Copy link
Copy Markdown
Member

Description

Adds the Zcash mempool page (/zec/mempool, /tzec/mempool) and shows the navbar mempool link on Zcash networks.

The page gets every pending transaction from a single verbose getrawmempool call and sorts them by fee rate. There are no per-transaction fetches. Pagination is client-side and the page refreshes every 60s, which keeps it within hosted gateway rate limits.

Each row links to /zec/mempool/:txid, which opens the transaction page.

Related Issue

Part of #398. Stacked on #409.

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactoring
  • Performance improvement
  • Other (please describe):

Changes Made

  • ZcashMempoolPage shows the txid, age, size, fee and fee rate (zat/B) for each pending transaction. On narrow screens, age, size and fee rate are hidden; like the other explorer tables, the table scrolls horizontally, since .dash-table keeps a 600px minimum width.
  • Routes and lazy exports for zec|tzec/mempool and zec|tzec/mempool/:filter.
  • NavbarLogo now shows the mempool link on Zcash networks too.
  • zcash locale strings for the mempool page in all 5 locales.
  • A hermetic e2e spec at e2e/tests/shared/mocked/zcash-mempool.spec.ts. The shared RPC mock now also serves a verbose mempool.

Screenshots (if applicable)

Checked locally against mocked RPC data at desktop width and at 400px.

Checklist

  • I have run npm run format:fix and npm run lint:fix
  • I have run npm run typecheck with no errors
  • I have run tests with npm run test:run
  • I have tested my changes locally
  • I have updated documentation if needed
  • My code follows the project's architecture patterns

Additional Notes

  • Zebra's verbose mempool entries include size and fee but no vsize or weight, so the fee rate is in zatoshis per byte.
  • Tests:
    • npm run test:run: 151 passing.
    • Hermetic Zcash e2e specs: 11 passing.

The page lists pending transactions from a single verbose getrawmempool call, sorted by fee rate, so it needs no per-transaction fetches and refreshes every 60s within hosted gateway rate limits.
@MatiasOS
MatiasOS added this pull request to stack #414 September 15, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant