Skip to content

v5.4.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:48
· 70 commits to main since this release
f6ab59f

Nuthatch 5.4.1 corrects what the deposit sweep's feed counts as a deposit. In 5.4.0 every incoming
row was one, including transfers that moved nothing. There is no storage migration.

A deposit is value that arrived

account/nuthatchDeposits and the sweep's webhook now carry an incoming row only when it moved value
to the address (#2051). These are still served by txlist, txlistinternal and tokentx exactly as
Etherscan serves them, and are no longer deposits:

  • A failed transaction, isError 1. On 5.4.0, a reverted 5 ETH transfer to a watched contract
    on anvil appeared in the feed as a 5 ETH deposit while the contract's balance stayed at 0.
  • A frame inside a reverted call, which Etherscan marks failed though the frame itself succeeded.
  • A callcode frame: Etherscan lists it as a transfer to the code address, but the value never
    leaves the caller (trezor/blockbook#1225 describes the same fault in Blockbook).
  • A zero transfer, native or token, the shape address poisoning uses.

Rows recorded by 5.4.0 stay in the feed as they were; the rule applies to windows swept from 5.4.1 on.
In about 65 mainnet blocks swept by 5.4.0 for an exchange hot wallet, none of the 424 entries was of
these kinds, so the fault is rare on mainnet, and a consumer that already checked isError was not
affected by the first two.

Gated on Lodestar's data

The 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.4.0 store is used as it is.