• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iotaledger / iota / 27389210714

11 Jun 2026 10:32AM UTC coverage: 67.221% (-0.08%) from 67.296%
27389210714

push

github

web-flow
feat(iota-{indexer,kvstore,rest-kv,data-ingestion}): support address-transaction relation (#11848)

# Description of change

This PR adds support for efficient address-to-transaction lookups across
the data pipeline. Clients can now query all transactions involving an
`IotaAddress` (as `sender`, `recipient`, or `gas payer`), including
historical data that has been pruned from the indexer's relational
store.

- **`iota-kvstore`**: Refactored the `KvWorker` to write the
address-transaction relation during checkpoint ingestion. The worker now
accepts an optional list of tables at startup, so a backfill instance
can populate only a subset.

- **`iota-data-ingestion`**: The `BigTableKV` task type now accepts an
optional `tables` list from `config.yaml`, enabling targeted backfills.
To bound a backfill to a checkpoint range, the `IndexerConfig` accepts
two new optional parameters: `start-checkpoint` and `end-checkpoint`
(both inclusive).

- **`iota-rest-kv`**: Adds a `GET /txa/{address}` endpoint. Unlike
existing endpoints, which are 1:1 key-value lookups, this one exposes a
one-to-many relation. It returns an ordered list of transaction digests
with cursor-based pagination (defaulting to descending order) to handle
addresses with long histories.

- **`iota-indexer`**: Adds historical fallback support to the JSON-RPC
API for the `TransactionFilter{V2}::FromOrToAddress` filter. When the
indexer's relational store has pruned the requested data, the query is
served from the historical KV store.

## Links to any relevant issues

fixes #11632

## How the change has been tested

- [x] Basic tests (linting, compilation, formatting, unit/integration
tests)
- [ ] Patch-specific tests (correctness, functionality coverage)

Each commit corresponds to a previously-reviewed sub-PR. Test coverage
(unit-tests or manual) is documented in the individual commit messages.


### Infrastructure QA (only required for crates that are maintained by
@iotaledger/infrastructure)

> [... (continued)

63 of 397 new or added lines in 10 files covered. (15.87%)

2569 existing lines in 55 files now uncovered.

156996 of 233551 relevant lines covered (67.22%)

435846.69 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

91.37
/crates/iota-core/src/execution_cache/writeback_cache.rs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc