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

iotaledger / iota / 39704840957
72%

Build:
DEFAULT BRANCH: develop
Ran 22 Oct 2026 02:12AM UTC
Jobs 1
Files 1124
Run time 1min
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

21 Oct 2026 05:02PM UTC coverage: 71.118% (+0.2%) from 70.904%
39704840957

push

github

web-flow
feat(iota-core,iota-e2e-tests): save post-consensus validation decisions and repeat them when a commit is replayed (#13129)

# Description of change

- Stacked on #13110.
- With the flag on, the consensus handler saves its keep or drop
decision for every user transaction of a commit before scheduling them,
and a commit replayed after a restart repeats those decisions instead of
deciding again from state that has moved on.
- A saved drop is repeated without checks. A saved keep that has
executed is kept from its effects; one that has not is validated again
through the commit-indexed reader.
- A commit's decisions are deleted in the batch that makes its output
durable, so they stay as long as the commit can be replayed. Those of a
commit whose output never flushes, such as one abandoned at the switch
to synced checkpoints, stay until the epoch ends.
- The decision is saved as a data-free enum with a stable encoding, and
the error of a drop as separate BCS bytes. A binary that cannot decode a
saved error still repeats the drop, with `IotaError::Unknown` in its
place.
- A drop because an input is not visible at the horizon yet is saved as
`DroppedInputNotVisibleYet` and is not the digest's final status: the
transaction can be kept when it is sequenced again. A status request
after such a drop waits for the retry instead of returning the old
error.
- A retry of a dropped transaction reaches validation at every commit it
appears in, because the handler's processed-transaction cache holds only
keys recorded as processed (`consensus_dedup_only_recorded_messages`,
#13169), which deterministic validation requires (#13106). This PR adds
tests for that, not a handler change. Once a transaction is kept, a
later copy is skipped as already processed.
- Testnet and Mainnet are unaffected: everything here is behind
`pcool_deterministic_validation`, which no protocol version enables and
which requires `enable_pcool_flow`, run only on devnet-style chains. The
epoch tabl... (continued)

319 of 326 new or added lines in 5 files covered. (97.85%)

1391 existing lines in 47 files now uncovered.

192281 of 270368 relevant lines covered (71.12%)

459967.93 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
91.88
0.16% crates/iota-core/src/authority/authority_per_epoch_store.rs
2
93.86
0.5% crates/iota-core/src/authority/consensus_quarantine.rs
2
92.31
4.46% crates/iota-core/src/post_consensus_validation.rs
1
96.3
0.32% crates/iota-core/src/consensus_handler.rs

Coverage Regressions

Lines Coverage ∆ File
421
87.48
0.13% crates/iota-core/src/authority.rs
250
91.88
0.16% crates/iota-core/src/authority/authority_per_epoch_store.rs
143
82.61
-0.16% crates/iota-core/src/checkpoints/mod.rs
122
90.88
0.13% crates/iota-protocol-config/src/lib.rs
107
88.95
-0.23% crates/iota-node/src/lib.rs
63
96.3
0.32% crates/iota-core/src/consensus_handler.rs
53
89.68
-3.59% crates/iota-core/src/checkpoints/checkpoint_executor/mod.rs
34
94.46
0.21% crates/iota-traffic-controller/src/lib.rs
20
92.31
4.46% crates/iota-core/src/post_consensus_validation.rs
13
63.48
-0.89% crates/iota-json-rpc-types/src/iota_transaction.rs
13
73.33
0.99% crates/iota-storage/src/lib.rs
13
81.87
0.0% crates/test-cluster/src/lib.rs
10
83.91
-11.49% crates/iota-traffic-controller/src/sim.rs
10
44.16
-12.99% crates/iota-types/src/messages_grpc.rs
8
69.57
0.0% crates/iota-data-ingestion-core/src/reducer.rs
8
55.29
-0.56% crates/iota-json-rpc-types/src/iota_object.rs
8
68.0
-32.0% iota-execution/latest/iota-verifier/src/global_storage_access_verifier.rs
7
96.68
-1.6% crates/iota-core/src/transaction_input_loader.rs
7
87.91
-7.69% iota-execution/latest/iota-move-natives/src/transaction_context.rs
6
71.17
-3.68% crates/iota-json-rpc/src/lib.rs
6
74.68
-2.58% crates/iota-types/src/iota_system_state/mod.rs
5
99.1
1.73% crates/iota-core/src/authority/handler_object_state.rs
5
94.37
0.02% crates/iota-data-ingestion-core/src/worker_pool.rs
5
81.47
-0.7% crates/iota-sdk/src/wallet_context.rs
4
67.46
0.51% crates/iota-core/src/authority/authority_store.rs
4
0.0
-80.0% crates/iota-types/src/messages_safe_client.rs
4
88.24
4.9% iota-execution/src/verifier.rs
3
88.3
-1.13% crates/iota-core/src/authority_server/mod.rs
3
94.9
-3.06% crates/iota-core/src/validator_client_monitor/monitor.rs
3
82.14
0.0% crates/iota-genesis-builder/src/validator_info.rs
3
56.24
-0.58% crates/iota-types/src/storage/shared_in_memory_store.rs
3
0.0
-10.0% crates/simulacrum/src/transaction_executor.rs
3
95.45
-2.73% crates/starfish/config/src/committee.rs
3
95.85
-0.05% crates/starfish/core/src/authority_service.rs
2
89.35
0.0% crates/iota-core/src/connection_monitor.rs
2
55.59
-0.66% crates/iota-core/src/transaction_driver/error.rs
2
95.79
-1.05% crates/iota-core/src/transaction_driver/mod.rs
2
77.6
0.26% crates/iota-network/src/randomness/mod.rs
2
66.67
-4.17% crates/iota-network-stack/src/anemo_ext.rs
2
53.4
2.04% crates/iota-sdk/src/apis/read.rs
2
97.18
-2.82% crates/starfish/core/src/commit_consumer.rs
2
94.59
-0.06% crates/starfish/core/src/header_synchronizer.rs
1
71.23
-0.17% crates/iota-core/src/authority_server/validator.rs
1
91.68
0.13% crates/iota-core/src/execution_cache/writeback_cache.rs
1
98.62
-0.28% crates/iota-core/src/signature_verifier.rs
1
95.48
-0.05% crates/starfish/core/src/commit_syncer/fast.rs
1
96.35
-0.05% crates/starfish/core/src/transactions_synchronizer.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 39704840957.1 22 Oct 2026 02:12AM UTC 1124
71.12
GitHub Action Run
Source Files on build 39704840957
  • Tree
  • List 1124
  • Changed 72
  • Source Changed 19
  • Coverage Changed 71
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39704840957
  • 0ecb6339 on github
  • Prev Build on develop (#39526680639)
  • Next Build on develop (#39883454019)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc