Skip to content

refactor!: remove go-fraud dependency and related dead code#4934

Merged
rootulp merged 1 commit intomainfrom
rootulp/remove-go-fraud-v2
Apr 14, 2026
Merged

refactor!: remove go-fraud dependency and related dead code#4934
rootulp merged 1 commit intomainfrom
rootulp/remove-go-fraud-v2

Conversation

@rootulp
Copy link
Copy Markdown
Contributor

@rootulp rootulp commented Apr 10, 2026

Summary

Closes #4930

Remove the github.com/celestiaorg/go-fraud dependency from celestia-node. Fraud proofs are no longer functional post-shwap and there are no plans to reintroduce them. This reduces maintenance burden and allows archiving the go-fraud repository.

Breaking change

The fraud RPC namespace is removed. Node operators and clients that call fraud.Subscribe or fraud.Get will receive errors after upgrading. The Fraud field is also removed from the Go RPC client.

These endpoints have been non-functional since the shwap migration — fraud proofs were never produced or validated post-shwap, so these methods returned no useful data. No action is needed unless you have tooling that explicitly calls the fraud RPC namespace.

What was removed

  • nodebuilder/fraud/ — entire package (Module interface, API, ServiceBreaker, constructors, proof unmarshaler, mocks)
  • share/eds/byzantine/bad_encoding.go — BadEncodingProof (BEFP) implementation and tests
  • share/eds/byzantine/pb/ — protobuf definitions for BEFP serialization
  • header/headertest/fraud/ — FraudMaker test helper
  • nodebuilder/tests/fraud_test.go — fraud integration test (was already skipped)
  • Fraud pubsub topics — removed from gossipsub scoring
  • Fraud RPC endpoint — removed from server registration and client
  • github.com/celestiaorg/go-fraud — removed from go.mod

What was preserved

  • share/eds/byzantine/byzantine.goErrByzantine type (still used by cascade getter and full availability for error classification)
  • share/eds/byzantine/share_proof.goShareWithProof type and GetShareWithProof (still used by ErrByzantine)

Test plan

  • go build ./... passes
  • go test ./das/ passes
  • go test ./share/eds/ passes (including renamed TestByzantineError)
  • go test ./api/... passes (including TestModulesImplementFullAPI)
  • scripts/check-go-mod-parity.sh passes
  • No remaining references to go-fraud, nodebuilder/fraud, BadEncodingProof, or ServiceBreaker

Release notes

The following should be included in the release notes for the next release that contains this change:

Breaking: fraud RPC namespace removed

The fraud.Subscribe and fraud.Get RPC methods have been removed. These endpoints have been non-functional since the shwap migration and returned no useful data. If you have monitoring or tooling that calls the fraud RPC namespace, remove those calls before upgrading. No other action is required — this change does not affect node operation, syncing, or data availability sampling.

🤖 Generated with Claude Code


Open with Devin

Remove the github.com/celestiaorg/go-fraud dependency and all fraud
proof related code. Fraud proofs are no longer functional post-shwap
and there are no plans to reintroduce them.

Closes #4930

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rootulp rootulp self-assigned this Apr 10, 2026
@rootulp rootulp requested a review from Wondertan April 10, 2026 19:47
@github-actions github-actions bot added the kind:break! Attached to breaking PRs label Apr 10, 2026
@rootulp rootulp changed the title refactor: remove go-fraud dependency and related dead code refactor!: remove go-fraud dependency and related dead code Apr 10, 2026
@rootulp rootulp marked this pull request as ready for review April 10, 2026 20:02
@rootulp rootulp requested a review from a team as a code owner April 10, 2026 20:02
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 5 additional findings.

Open in Devin Review

@rootulp rootulp requested review from renaynay and vgonkivs April 13, 2026 14:02
Copy link
Copy Markdown
Member

@walldiss walldiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Goodbye BEFPs

@rootulp
Copy link
Copy Markdown
Contributor Author

rootulp commented Apr 14, 2026

@vgonkivs can this PR be included in the next celestia-node release so that we can archive go-fraud. Concretely this PR doesn't need to be included in the v0.30.x release line that we're currently pushing through testnets. But it would be nice to include it in v0.31.x and/or the celestia-node release.

Ref: celestiaorg/go-fraud#143

Merged via the queue into main with commit d8a0505 Apr 14, 2026
59 of 62 checks passed
@rootulp rootulp deleted the rootulp/remove-go-fraud-v2 branch April 14, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:break! Attached to breaking PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: Remove go-fraud dependency and related dead code

3 participants