Skip to content

Peer.readStatus68

Source (upstream pre-purge) Current
File eth/protocols/eth/handshake.go handshake_pow.go
Symbol Peer.readStatus68 Peer.readStatus68
Ref 723aae2b4~1 etc/v1.17.3-full-node

ETH68 status message reader. Upstream v1.17.2 renamed readStatus69 to readStatus and removed readStatus68.

3-way merge — purge → getc ← upstream

pre-purgefork-only
// readStatus68 reads and validates an ETH/68 status message from the peer.
func (p *Peer) readStatus68(networkID uint64, status *StatusPacket68, genesis common.Hash, forkFilter forkid.Filter) error {
if err := p.readStatusMsg(status); err != nil {
return err
}
if status.NetworkID != networkID {
return fmt.Errorf("%w: %d (!= %d)", errNetworkIDMismatch, status.NetworkID, networkID)
}
if uint(status.ProtocolVersion) != p.version {
return fmt.Errorf("%w: %d (!= %d)", errProtocolVersionMismatch, status.ProtocolVersion, p.version)
}
if status.Genesis != genesis {
return fmt.Errorf("%w: %x (!= %x)", errGenesisMismatch, status.Genesis, genesis)
}
if err := forkFilter(status.ForkID); err != nil {
return fmt.Errorf("%w: %v", errForkIDRejected, err)
}
return nil
}

← eth Protocol