Skip to content

feat: add Bombora MEV bundle sender - #218

Merged
thanhpp merged 4 commits into
mainfrom
feat/eth-mev-bombora
Aug 21, 2026
Merged

feat: add Bombora MEV bundle sender#218
thanhpp merged 4 commits into
mainfrom
feat/eth-mev-bombora

Conversation

@thanhpp

@thanhpp thanhpp commented Aug 21, 2026

Copy link
Copy Markdown
Member

Summary

  • Add BundleSenderTypeBombora as a new builder: enum value, endpoint constant, builder ID constant, and regenerated enumer file.
  • Add SendBundleParams.SetBomboraFields, which copies Bombora-only bundle fields: dropping transaction hashes, replacement sequence number, refund percent, refund recipient, refund transaction hashes.
  • Fix SendBundleParams.ReplacementUUID's JSON tag from ReplacementUuid to replacementUuid, matching the real wire key used by CancelBundleParams and Bombora's spec. This changes the wire key for every sender that goes through SetUUID and is not Beaver, Loki, or Jetbldr.
  • Add validation for the new fields: ErrInvalidRefundPercent (must be 0-99, BomboraMaxRefundPercent) and ErrInvalidLenRefundTxHashes (at most one hash).
  • SendBundleV2 calls SetBomboraFields only when the client's sender type is Bombora, so other builders never see these fields on the wire.

Test plan

  • go build ./...
  • go test -race ./...
  • golangci-lint run --config=.golangci.yml ./pkg/mev/... (only pre-existing issues remain, none on changed lines)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@thanhpp
thanhpp requested review from datluongductuan and vaigay and removed request for vaigay August 21, 2026 09:21
@thanhpp thanhpp self-assigned this Aug 21, 2026
Comment thread pkg/mev/bombora_sender_test.go Outdated
Comment thread pkg/mev/bundle_sender.go Outdated
Comment thread pkg/mev/bundle_sender.go Outdated
Comment thread pkg/mev/bundle_sender.go Outdated
Comment thread pkg/mev/bundle_sender.go Outdated
Comment thread pkg/mev/bundle_sender.go Outdated
thanhpp and others added 3 commits August 21, 2026 16:31
- Drop bombora_sender_test.go; the manual t.Skip() pattern for other
  builders covers this, not an httptest harness.
- Fix SendBundleParams.ReplacementUUID's JSON tag (ReplacementUuid ->
  replacementUuid) instead of adding a separate Bombora-only field.
- Rename DroppingTxs -> DroppingTxHashes and make RefundRecipient a
  *string on SendBundleParams for consistency with the other optional
  Bombora fields.
- Move the pre-existing StateBlockNumber field above the new Bombora
  field group so the diff no longer implies it is Bombora-specific.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: thanhpp <thanhphanphu18@gmail.com>
Signed-off-by: thanhpp <thanhphanphu18@gmail.com>
@thanhpp
thanhpp merged commit db89090 into main Aug 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants