Skip to content

Commit 0b760fb

Browse files
authored
update go-utils. set default versions for orderflow (#28)
## πŸ“ Summary Set `v1` when sending `flashbots` orderflow. Set `v2` when receiving orderflow directly ## β›± Motivation and Context Part of seamless bundle versioning migration ## πŸ“š References --- ## βœ… I have run these commands * [x] `make lint` * [x] `make test` * [x] `go mod tidy`
1 parent 65dfe3c commit 0b760fb

File tree

8 files changed

+45
-37
lines changed

8 files changed

+45
-37
lines changed

β€Ž.github/workflows/checks.ymlβ€Ž

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Set up Go
1515
uses: actions/setup-go@v3
1616
with:
17-
go-version: ^1.22
17+
go-version: ^1.24
1818
id: go
1919

2020
- name: Check out code into the Go module directory
@@ -30,7 +30,7 @@ jobs:
3030
- name: Set up Go
3131
uses: actions/setup-go@v3
3232
with:
33-
go-version: ^1.22
33+
go-version: ^1.24
3434
id: go
3535

3636
- name: Check out code into the Go module directory
@@ -40,10 +40,10 @@ jobs:
4040
run: go install mvdan.cc/[email protected]
4141

4242
- name: Install staticcheck
43-
run: go install honnef.co/go/tools/cmd/staticcheck@2024.1.1
43+
run: go install honnef.co/go/tools/cmd/staticcheck@2025.1.1
4444

4545
- name: Install golangci-lint
46-
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.61.0
46+
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8
4747

4848
- name: Install NilAway
4949
run: go install go.uber.org/nilaway/cmd/[email protected]

β€Ž.golangci.yamlβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ linters:
3131
- gocognit
3232
- nakedret
3333
- tagliatelle
34+
- usetesting
3435

3536
#
3637
# Disabled because of generics:

β€Žcmd/receiver-proxy/main.goβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
"github.com/urfave/cli/v2" // imports as package "cli"
1919
)
2020

21-
var flags []cli.Flag = []cli.Flag{
21+
var flags = []cli.Flag{
2222
// input and output
2323
&cli.StringFlag{
2424
Name: "local-listen-addr",

β€Žgo.modβ€Ž

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
module github.com/flashbots/tdx-orderflow-proxy
22

3-
go 1.22.0
3+
go 1.24.0
44

5-
toolchain go1.23.6
5+
toolchain go1.24.1
66

77
require (
88
github.com/VictoriaMetrics/metrics v1.35.1
99
github.com/cenkalti/backoff v2.2.1+incompatible
10-
github.com/ethereum/go-ethereum v1.15.2
11-
github.com/flashbots/go-utils v0.8.4-0.20250314133512-c61cce7f9d3f
10+
github.com/ethereum/go-ethereum v1.15.5
11+
github.com/flashbots/go-utils v0.10.0
1212
github.com/google/uuid v1.6.0
1313
github.com/hashicorp/golang-lru/v2 v2.0.7
14-
github.com/stretchr/testify v1.9.0
15-
github.com/urfave/cli/v2 v2.27.2
16-
golang.org/x/time v0.5.0
14+
github.com/stretchr/testify v1.10.0
15+
github.com/urfave/cli/v2 v2.27.5
16+
golang.org/x/time v0.9.0
1717
)
1818

1919
require (
2020
github.com/bits-and-blooms/bitset v1.17.0 // indirect
2121
github.com/consensys/bavard v0.1.22 // indirect
2222
github.com/consensys/gnark-crypto v0.14.0 // indirect
23-
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
23+
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
2424
github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a // indirect
2525
github.com/crate-crypto/go-kzg-4844 v1.1.0 // indirect
2626
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -34,7 +34,7 @@ require (
3434
github.com/supranational/blst v0.3.14 // indirect
3535
github.com/valyala/fastrand v1.1.0 // indirect
3636
github.com/valyala/histogram v1.2.0 // indirect
37-
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
37+
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
3838
golang.org/x/crypto v0.32.0 // indirect
3939
golang.org/x/sync v0.10.0 // indirect
4040
golang.org/x/sys v0.29.0 // indirect

β€Žgo.sumβ€Ž

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ github.com/consensys/bavard v0.1.22 h1:Uw2CGvbXSZWhqK59X0VG/zOjpTFuOMcPLStrp1ihI
1414
github.com/consensys/bavard v0.1.22/go.mod h1:k/zVjHHC4B+PQy1Pg7fgvG3ALicQw540Crag8qx+dZs=
1515
github.com/consensys/gnark-crypto v0.14.0 h1:DDBdl4HaBtdQsq/wfMwJvZNE80sHidrK3Nfrefatm0E=
1616
github.com/consensys/gnark-crypto v0.14.0/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0=
17-
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
18-
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
17+
github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
18+
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
1919
github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a h1:W8mUrRp6NOVl3J+MYp5kPMoUZPp7aOYHtaua31lwRHg=
2020
github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a/go.mod h1:sTwzHBvIzm2RfVCGNEBZgRyjwK40bVoun3ZnGOCafNM=
2121
github.com/crate-crypto/go-kzg-4844 v1.1.0 h1:EN/u9k2TF6OWSHrCCDBBU6GLNMq88OspHHlMnHfoyU4=
@@ -28,12 +28,12 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etly
2828
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
2929
github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA=
3030
github.com/ethereum/c-kzg-4844 v1.0.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
31-
github.com/ethereum/go-ethereum v1.15.2 h1:CcU13w1IXOo6FvS60JGCTVcAJ5Ik6RkWoVIvziiHdTU=
32-
github.com/ethereum/go-ethereum v1.15.2/go.mod h1:wGQINJKEVUunCeoaA9C9qKMQ9GEOsEIunzzqTUO2F6Y=
31+
github.com/ethereum/go-ethereum v1.15.5 h1:Fo2TbBWC61lWVkFw9tsMoHCNX1ndpuaQBRJ8H6xLUPo=
32+
github.com/ethereum/go-ethereum v1.15.5/go.mod h1:1LG2LnMOx2yPRHR/S+xuipXH29vPr6BIH6GElD8N/fo=
3333
github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cnFk8=
3434
github.com/ethereum/go-verkle v0.2.2/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk=
35-
github.com/flashbots/go-utils v0.8.4-0.20250314133512-c61cce7f9d3f h1:wQVYAr5LVFu9bKa3zzRRSOjZUF27/4D6FWxvhoVcQGE=
36-
github.com/flashbots/go-utils v0.8.4-0.20250314133512-c61cce7f9d3f/go.mod h1:Lo/nrlC+q8ANgT3e6MKALIJCU+V9qTSgNtoLk/q1uIw=
35+
github.com/flashbots/go-utils v0.10.0 h1:75XWewRO5GIhdLn8+vqdzzuoqJh+j8wN54A++Id7W0Y=
36+
github.com/flashbots/go-utils v0.10.0/go.mod h1:i4xxEB6sHDFfNWEIfh+rP6nx3LxynEn8AOZa05EYgwA=
3737
github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
3838
github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
3939
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
@@ -72,32 +72,30 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
7272
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
7373
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
7474
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
75-
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
76-
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
75+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
76+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
7777
github.com/supranational/blst v0.3.14 h1:xNMoHRJOTwMn63ip6qoWJ2Ymgvj7E2b9jY2FAwY+qRo=
7878
github.com/supranational/blst v0.3.14/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
7979
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
8080
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
8181
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
8282
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
83-
github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI=
84-
github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM=
83+
github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w=
84+
github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
8585
github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G8=
8686
github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
8787
github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ=
8888
github.com/valyala/histogram v1.2.0/go.mod h1:Hb4kBwb4UxsaNbbbh+RRz8ZR6pdodR57tzWUS3BUzXY=
89-
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw=
90-
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk=
89+
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
90+
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
9191
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
9292
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
93-
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
94-
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
9593
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
9694
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
9795
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
9896
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
99-
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
100-
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
97+
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
98+
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
10199
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
102100
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
103101
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

β€Žproxy/receiver_api.goβ€Ž

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,12 @@ func (prx *ReceiverProxy) EthSendBundle(ctx context.Context, ethSendBundle rpcty
126126

127127
if !publicEndpoint {
128128
ethSendBundle.SigningAddress = &parsedRequest.signer
129-
129+
// when receiving orderflow directly we default to v2 (currently latest version)
130+
// for non-publicEndpoint we set v1 explicitly on sender_proxy, it might be a bit confusing
131+
if ethSendBundle.Version == nil || *ethSendBundle.Version == "" {
132+
version := rpctypes.BundleVersionV2
133+
ethSendBundle.Version = &version
134+
}
130135
if ethSendBundle.ReplacementUUID != nil {
131136
timestampInt := apiNow().UnixMicro()
132137
var timestamp uint64

β€Žproxy/receiver_proxy_test.goβ€Ž

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ func TestProxyBundleRequestWithPeerUpdate(t *testing.T) {
281281
client, err := RPCClientWithCertAndSigner(proxies[0].localServerEndpoint, proxies[0].proxy.PublicCertPEM, signer, 1)
282282
require.NoError(t, err)
283283

284-
expectedRequest := `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3e8","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
284+
expectedRequest := `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3e8","version":"v2","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
285285

286286
// we start with no peers
287287
builderHubPeers = nil
@@ -314,7 +314,7 @@ func TestProxyBundleRequestWithPeerUpdate(t *testing.T) {
314314
})
315315
require.NoError(t, err)
316316

317-
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3e9","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
317+
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3e9","version":"v2","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
318318
builderRequest = expectRequest(t, proxies[0].localBuilderRequests)
319319
require.Equal(t, expectedRequest, builderRequest.body)
320320
builderRequest = expectRequest(t, proxies[1].localBuilderRequests)
@@ -336,7 +336,7 @@ func TestProxyBundleRequestWithPeerUpdate(t *testing.T) {
336336
})
337337
require.NoError(t, err)
338338

339-
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3ea","replacementUuid":"550e8400-e29b-41d4-a716-446655440000","replacementNonce":1730000000000000,"signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
339+
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3ea","replacementUuid":"550e8400-e29b-41d4-a716-446655440000","version":"v2","replacementNonce":1730000000000000,"signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
340340
builderRequest = expectRequest(t, proxies[0].localBuilderRequests)
341341
require.Equal(t, expectedRequest, builderRequest.body)
342342
builderRequest = expectRequest(t, proxies[1].localBuilderRequests)
@@ -352,7 +352,7 @@ func TestProxyBundleRequestWithPeerUpdate(t *testing.T) {
352352
})
353353
require.NoError(t, err)
354354

355-
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3ea","replacementUuid":"550e8400-e29b-41d4-a716-446655440000","replacementNonce":8976,"signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
355+
expectedRequest = `{"method":"eth_sendBundle","params":[{"txs":null,"blockNumber":"0x3ea","replacementUuid":"550e8400-e29b-41d4-a716-446655440000","version":"v2","replacementNonce":8976,"signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"}],"id":0,"jsonrpc":"2.0"}`
356356
builderRequest = expectRequest(t, proxies[0].localBuilderRequests)
357357
require.Equal(t, expectedRequest, builderRequest.body)
358358
builderRequest = expectRequest(t, proxies[1].localBuilderRequests)
@@ -399,8 +399,7 @@ func TestProxySendToArchive(t *testing.T) {
399399

400400
proxiesFlushQueue()
401401
archiveRequest := expectRequest(t, archiveServerRequests)
402-
403-
expectedArchiveRequest := `{"method":"flashbots_newOrderEvents","params":[{"orderEvents":[{"eth_sendBundle":{"params":{"txs":null,"blockNumber":"0x7b","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"},"metadata":{"receivedAt":1730000000000}}},{"eth_sendBundle":{"params":{"txs":null,"blockNumber":"0x1c8","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"},"metadata":{"receivedAt":1730000000000}}}]}],"id":0,"jsonrpc":"2.0"}`
402+
expectedArchiveRequest := `{"method":"flashbots_newOrderEvents","params":[{"orderEvents":[{"eth_sendBundle":{"params":{"txs":null,"blockNumber":"0x7b","version":"v2","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"},"metadata":{"receivedAt":1730000000000}}},{"eth_sendBundle":{"params":{"txs":null,"blockNumber":"0x1c8","version":"v2","signingAddress":"0x9349365494be4f6205e5d44bdc7ec7dcd134becf"},"metadata":{"receivedAt":1730000000000}}}]}],"id":0,"jsonrpc":"2.0"}`
404403
require.Equal(t, expectedArchiveRequest, archiveRequest.body)
405404
}
406405

β€Žproxy/sender_proxy.goβ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ func (prx *SenderProxy) EthSendBundle(ctx context.Context, ethSendBundle rpctype
129129
if ethSendBundle.MinTimestamp != nil && *ethSendBundle.MinTimestamp == 0 {
130130
ethSendBundle.MinTimestamp = nil
131131
}
132+
// we set explicitly bundles to be v1 for all protect flow
133+
if ethSendBundle.Version == nil || *ethSendBundle.Version == "" {
134+
version := rpctypes.BundleVersionV1
135+
ethSendBundle.Version = &version
136+
}
132137

133138
return prx.HandleParsedRequest(ctx, parsedRequest)
134139
}

0 commit comments

Comments
Β (0)