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

Chia-Network / chia-blockchain / 29784765118

20 Jul 2026 10:41PM UTC coverage: 91.736% (+0.02%) from 91.715%
29784765118

push

github

web-flow
checkpoint: into main from release/2.7.2  @ <a class=hub.com/Chia-Network/chia-blockchain/commit/715953bc5a20a7bac4a2462368d513cc9ef7f5aa">715953bc5 (#21110)

Source hash: 715953bc5a20a7bac4a2462368d513cc9ef7f5aa
Remaining commits: 1

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **High Risk**
> Changes full-node sync banning, block prevalidation validation state,
and wallet coin-state ingestion—security-critical paths with wide
behavioral impact across nodes and wallets.
> 
> **Overview**
> This release merge adds **consensus and P2P defenses** plus broader
wallet and validation hardening, with extensive regression tests.
> 
> **Full node long sync** now snapshots peers that advertised the chosen
peak (`get_advertisers_of_peak`) and, during peer confirmation, bans
those advertisers if the block weight from `RequestBlock` does not match
the advertised weight or if no peer can serve the peak—**before**
weight-proof validation. `SyncStore` drops peers from old peaks when
they move to a new `NewPeak`. Short backtrack block fetches use a
**15s** timeout.
> 
> **NewPeak admission control** drops inbound `NewPeak` when the limited
semaphore is full and at least one outbound full-node peer exists;
`LimitedSemaphore.locked()` supports this.
> 
> **Block prevalidation** derives expected sub-slot iters/difficulty via
`get_next_sub_slot_iters_and_difficulty` when a sub-slot announces
changes, and simplifies `add_prevalidated_blocks` sub-slot handling.
> 
> **Wallet**: bounded timestamp backtrack and stricter header-block
validation (including peak-hash anchoring in `new_peak_wallet`);
`PeerRequestCache` overwrites height timestamps correctly; untrusted
`add_states_from_peer` returns **False** when any chunk’s
`add_coin_states` fails or raises; new **`nft_auto_add_limit`** (default
100) caps auto-created DID-scoped NFT wallets; Data Layer
**`make_update_offer`** rejects non-DL legs.
> 
> **Utilities**: `PriorityMutex` waiters use `eq=False` so cancelling a
non-first waiter does not strand the queue.
> 
> Also adds coverage exclusi... (continued)

11099 of 12284 branches covered (90.35%)

Branch coverage included in aggregate %.

617 of 617 new or added lines in 18 files covered. (100.0%)

39 existing lines in 8 files now uncovered.

115134 of 125321 relevant lines covered (91.87%)

1.84 hits per line

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

88.59
/chia/full_node/full_node_api.py


Source Not Available

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