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

iotaledger / iota / 27389210714
67%

Build:
DEFAULT BRANCH: develop
Ran 12 Jun 2026 02:43AM UTC
Jobs 1
Files 1105
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

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

Uncovered Changes

Lines Coverage ∆ File
154
0.0
0.0% crates/iota-indexer/src/read.rs
57
0.0
0.0% crates/iota-indexer/src/historical_fallback/reader.rs
43
0.0
0.0% crates/iota-indexer/src/historical_fallback/client.rs
31
0.0
0.0% crates/iota-kvstore/src/bigtable/worker.rs
24
52.94
52.94% crates/iota-kvstore/src/bigtable/client.rs
12
0.0
0.0% crates/iota-data-ingestion/src/main.rs
5
0.0
0.0% crates/iota-rest-kv/src/routes/kv_store.rs
3
0.0
0.0% crates/iota-rest-kv/src/server.rs
3
0.0
0.0% crates/iota-storage/src/http_key_value_store.rs
2
0.0
0.0% crates/iota-rest-kv/src/aws.rs

Coverage Regressions

Lines Coverage ∆ File
345
82.47
0.19% crates/iota-core/src/authority.rs
159
77.39
-0.13% crates/iota-core/src/checkpoints/mod.rs
149
60.4
-0.21% crates/iota-json-rpc-types/src/iota_transaction.rs
126
0.0
0.0% crates/iota-indexer-streaming/src/memory.rs
122
83.15
0.0% crates/iota-types/src/transaction.rs
101
91.06
0.08% crates/iota-core/src/authority/authority_per_epoch_store.rs
97
0.0
0.0% crates/iota-core/src/generate_format.rs
85
2.06
0.0% crates/iota-graphql-rpc/src/types/transaction_block_effects.rs
85
87.27
0.01% crates/iota-node/src/lib.rs
84
0.0
0.0% crates/iota-graphql-rpc/src/types/transaction_block/mod.rs
81
90.3
0.29% crates/iota-protocol-config/src/lib.rs
79
83.76
0.0% crates/iota-transactional-test-runner/src/test_adapter.rs
74
0.0
0.0% crates/iota-node/src/admin.rs
72
73.95
0.0% crates/iota-network/src/randomness/mod.rs
67
60.96
0.0% crates/simulacrum/src/lib.rs
66
88.62
0.0% crates/iota-genesis-builder/src/lib.rs
64
80.55
0.0% iota-execution/latest/iota-adapter/src/execution_engine.rs
61
0.0
0.0% crates/iota-graphql-rpc/src/types/event/mod.rs
61
80.26
0.12% crates/iota-types/src/crypto.rs
60
0.0
0.0% crates/iota-indexer/src/models/transactions.rs
54
91.37
0.03% crates/iota-core/src/execution_cache/writeback_cache.rs
47
79.09
0.0% crates/iota-types/src/object.rs
45
92.3
0.0% iota-execution/latest/iota-adapter/src/programmable_transactions/context.rs
42
91.91
0.0% crates/iota-core/src/epoch/randomness.rs
38
32.11
0.0% crates/iota-transactional-test-runner/src/lib.rs
36
0.0
0.0% crates/iota-graphql-rpc/src/types/transaction_block_kind/end_of_epoch.rs
36
93.19
-0.49% crates/starfish/core/src/storage/rocksdb_store.rs
33
32.19
0.0% crates/iota-graphql-rpc/src/types/move_type.rs
33
86.38
0.0% crates/iota-types/src/test_checkpoint_data_builder.rs
26
91.58
0.0% crates/iota-core/src/authority/consensus_quarantine.rs
24
88.95
0.0% crates/iota-types/src/messages_checkpoint.rs
16
90.64
0.0% crates/iota-core/src/checkpoints/checkpoint_executor/mod.rs
16
87.59
0.87% crates/iota-core/src/consensus_manager/mod.rs
15
76.23
1.08% crates/test-cluster/src/lib.rs
9
66.67
-18.75% crates/iota-network-stack/src/anemo_ext.rs
9
97.21
0.0% crates/typed-store/src/rocks/mod.rs
8
94.98
0.0% crates/starfish/core/src/core.rs
7
90.91
0.0% crates/iota-light-client/src/proof.rs
6
72.33
-3.77% crates/iota-json-rpc/src/lib.rs
4
68.2
-0.32% crates/iota-core/src/authority/authority_store.rs
4
68.26
3.59% crates/iota-types/src/iota_system_state/mod.rs
3
75.49
-2.94% crates/iota-grpc-server/src/server.rs
2
89.35
-0.34% crates/iota-core/src/connection_monitor.rs
2
0.0
0.0% crates/iota-indexer/src/read.rs
2
52.94
52.94% crates/iota-kvstore/src/bigtable/client.rs
2
88.89
-0.27% crates/iota-network/src/discovery/mod.rs
2
95.24
0.0% crates/iota-network/src/randomness/metrics.rs
2
92.19
0.0% crates/iota-types/src/execution.rs
2
96.49
-3.51% crates/starfish/core/src/commit_consumer.rs
1
88.31
0.0% crates/iota-core/src/authority_server/mod.rs
1
0.0
0.0% crates/iota-kvstore/src/bigtable/worker.rs
1
64.35
0.0% crates/iota-light-client/src/verifier.rs
1
97.3
-0.1% crates/starfish/core/src/cordial_knowledge.rs
1
91.08
-0.05% crates/starfish/core/src/header_synchronizer.rs
1
89.96
-0.42% crates/starfish/core/src/leader_timeout.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 27389210714.1 12 Jun 2026 02:43AM UTC 1105
67.22
GitHub Action Run
Source Files on build 27389210714
  • Tree
  • List 1105
  • Changed 93
  • Source Changed 73
  • Coverage Changed 78
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27389210714
  • 433865dc on github
  • Prev Build on develop (#27247469485)
  • Next Build on develop (#27485108297)
  • Delete
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