Repository navigation
v5.3.1
Nuthatch 5.3.1 keeps an address-history nest serving through a long pass, and refuses a timestamp or a
cached transaction that belongs to another fork. Nothing outside an [address_history] nest changes.
There is no storage migration.
Fixes
- A long pass no longer freezes the head. A validator proof, a body scan or a slow beacon read
held the cursor until it finished, so polls stopped and a tip request waited behind that one chunk.
Polls now run during the pass, waiting requests are served between chunks, and a read that is still
in flight yields every 50 ms. - A beacon retry stays inside the one patience. Each retry was given a fresh client timeout, so a
header that kept failing could hold a tip request for longer than the request deadline. - A proved bridge is not fetched again. The header the proof already checked is kept for the body
scan, which was reading the same blocks a second time. - A timestamp or a transaction from another fork is read again. The cached timestamp is stored
with the header hash it was read against. A row with no hash, which is every timestamp 5.3.0 wrote,
is trusted only inside a verified header span. A transaction cached at the same block number on
another fork is fetched again instead of failing its anchor check on every retry. - A delegation set and cleared inside one window still counts. An account with empty code at both
ends of the window can have moved its nonce by an EIP-7702 delegation. Each rise of one is kept when
the code changed across that block.
Gated on Lodestar's data
Every change is in the address-history path, which no production nest declares, so this release
changes no query path the release gate measures.
Compatibility and upgrade
Replace the binary and restart. A 5.3.0 store is used as it is. The header-hash table is created on
open.