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
}