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

iotaledger / iota / 34550027955
70%

Build:
DEFAULT BRANCH: develop
Ran 11 Sep 2026 02:10AM UTC
Jobs 1
Files 1099
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

10 Sep 2026 06:56PM UTC coverage: 69.904% (+0.02%) from 69.884%
34550027955

push

github

web-flow
fix(iota-core,iota-protocol-config): use protocol config verifier limits in post-consensus validation (#12842)

# Description of change

### Why

Post-consensus validation (P-COOL, Check #5) ran the metered bytecode
verifier with each validator's own `verifier-signing-config` from its
node YAML. A validator with a non-default setting drops a package
publish that the other validators keep, so it builds a different
checkpoint and halts on fork detection.

### Changes

This PR adds and enables the feature flag
`pcool_verifier_limits_from_protocol_config` in protocol version 35 on
all chains: when the flag is set (_and the P-COOL flow is on_),
post-consensus validation meters published packages with the protocol
config's verifier limits instead of the node's own config. The flag is
read only by post-consensus validation, which runs only under the P-COOL
flow, so it needs no chain condition: it is inert on `mainnet` and
`testnet`, where the flow is off, and takes effect on any chain that
enables the flow later.

The protocol constants `max_verifier_meter_ticks_per_function`,
`max_meter_ticks_per_module` and `max_meter_ticks_per_package` have been
16M since version 1, but nothing read them: signing meters packages with
the node config, whose defaults are 2.2M. This PR makes these constants
the post-consensus limits and sets them to 2.2M, so post-consensus
validation enforces the same limits signing enforces on a validator with
the default `verifier-signing-config`. It also adds
`max_meter_ticks_regex_reference_safety` (2.2M) for the one node config
limit that had no protocol constant. **Nothing changes below version
35.**

> [!NOTE]
> Signing, admission, dry-run, and the simulators keep using the node
config; only post-consensus validation passes the protocol config.

## Links to any relevant issues

Closes https://github.com/iotaledger/iota-private/issues/504. Part of
https://github.com/iotaledger/iota-private/issues/502.

## How the change has been tested... (continued)

87 of 90 new or added lines in 9 files covered. (96.67%)

457 existing lines in 26 files now uncovered.

180422 of 258100 relevant lines covered (69.9%)

455115.55 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
80.0
1.38% crates/iota-transaction-checks/src/lib.rs
1
51.42
0.0% crates/simulacrum/src/epoch_state.rs

Coverage Regressions

Lines Coverage ∆ File
119
65.06
-1.46% crates/iota-localnet/src/commands.rs
89
91.35
-0.36% crates/iota-protocol-config/src/lib.rs
85
93.43
0.93% crates/iota-faucet/src/faucet/simple_faucet.rs
36
0.0
0.0% crates/iota-graphql-rpc/src/types/balance.rs
29
89.09
-3.83% crates/iota-core/src/checkpoint_progress_tracker.rs
25
0.0
0.0% crates/iota-graphql-rpc/src/backward_view/consistent.rs
22
58.62
4.77% crates/iota-cluster-test/src/faucet.rs
10
67.0
-0.84% crates/iota-core/src/authority/authority_store.rs
5
85.14
-0.46% crates/iota-json-rpc/src/read_api.rs
4
0.0
0.0% crates/iota-graphql-rpc/src/types/coin.rs
4
54.99
-0.55% crates/iota-json-rpc-types/src/iota_object.rs
4
79.27
-0.66% crates/iota-types/src/crypto.rs
3
81.41
-0.17% crates/iota-core/src/checkpoints/mod.rs
3
91.39
-0.13% crates/iota-core/src/execution_cache/writeback_cache.rs
3
81.47
-1.05% crates/iota-sdk/src/wallet_context.rs
2
89.35
-0.34% crates/iota-core/src/connection_monitor.rs
2
78.54
-0.42% crates/iota-core/src/storage.rs
2
74.03
0.0% crates/iota-network/src/randomness/mod.rs
2
91.63
-0.2% crates/iota-network/src/state_sync/mod.rs
2
97.66
-0.12% crates/starfish/core/src/shard_reconstructor.rs
1
86.11
0.0% crates/iota-cluster-test/src/test_case/native_transfer_test.rs
1
71.08
-0.17% crates/iota-core/src/authority_server/validator.rs
1
95.79
-0.53% crates/iota-core/src/transaction_driver/mod.rs
1
98.88
0.88% crates/iota-framework-snapshot/src/lib.rs
1
95.85
-0.03% crates/starfish/core/src/authority_service.rs
1
92.02
-0.38% crates/starfish/core/src/leader_timeout.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 34550027955.1 11 Sep 2026 02:10AM UTC 1099
69.9
GitHub Action Run
Source Files on build 34550027955
  • Tree
  • List 1099
  • Changed 41
  • Source Changed 20
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34550027955
  • 58c59b08 on github
  • Prev Build on develop (#34424838898)
  • Next Build on develop (#34664242153)
  • 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