#35275·go-ethereum

Validate upstream v1.17.4 sync: test suite + Hive e2e + XDPoS parity gate

Author: AnilChinchawaleXDCCreated Jul 2, 2026Updated Aug 23, 2026

Validation tracker for the auto-sync of upstream v1.17.4 into main. The sync branch upstream-sync/v1.17.4 is the upstream tag itself, so GitHub computes the merge and shows conflicts natively; the reviewer resolves locally (preserving upstream history + XDC hooks). Companion to the sync PR.

Merge conflicts to resolve (keep every // XDC hook; take upstream around them)

  • cmd/geth/main.go (L338)
  • cmd/utils/flags.go (L1598,1844)
  • core/blockchain.go (L2339,2421)
  • core/rawdb/accessors_chain.go (L659)
  • core/state/journal.go (L21,353)
  • core/state_processor.go (L78,197,205,226,309)
  • core/state_transition.go (L360,663,800,1036)
  • core/txpool/validation.go (L127)
  • core/types/block.go (L108)
  • core/types/gen_header_json.go (L43,110)
  • eth/downloader/beaconsync.go (L336)
  • eth/downloader/downloader.go (L157,324,1044)
  • eth/downloader/metrics.go (L42)
  • eth/protocols/eth/handler.go (L57,209,235,321)
  • eth/protocols/eth/handlers.go (L972)
  • eth/protocols/eth/peer.go (L368,480)
  • eth/protocols/eth/protocol.go (L34,51,108,467)
  • internal/ethapi/transaction_args_test.go (L414)
  • miner/worker.go (L416,444)

Test suites that MUST pass before merge

  • Build: make geth and go build ./...
  • Unit: go test -short -count=1 ./consensus/XDPoS/... ./core/...
  • Lint: make lint
  • XDPoS parity (SACRED — bit-exact): tools/parity-harness, scripts/xdc-parity-check.sh, scripts/validate-canonical-parity.sh over net5050 + apothem + hardfork-boundary blocks (header hash, state root, receipts root, QC verify). Any mismatch = P0, do not merge.
  • Confirm no new upstream hardfork auto-activates in the XDC chain configs.
  • CI: xdc-build.yml + xdc-test.yml green.

Hive E2E

The Alpha Deploy + Hive E2E workflow runs on merge (self-hosted + clients/xdc). Manual:

make geth
git clone --depth 1 https://github.com/ethereum/hive && cd hive   # add clients/xdc once
go run . --sim ethereum/rpc  --client xdc
go run . --sim ethereum/sync --client xdc
go run . --sim devp2p        --client xdc

Acceptance (all green → merge the sync PR → tag)

  • conflicts resolved (XDC hooks intact) - [ ] build + unit + lint green
  • XDPoS parity bit-exact (net5050 + apothem) - [ ] no hardfork auto-activation
  • Hive rpc/sync/devp2p green - [ ] alpha node smoke OK

Generated by .github/workflows/upstream-tracker.yml. cc @AnilChinchawale