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 gethandgo 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.shover 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.ymlgreen.
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
Source: ethereum/go-ethereum