Skip to content

Commit 3fcb65f

Browse files
odysseus0claude
andcommitted
Remove remaining references to deprecated bundle stats APIs
Removes all remaining references to the deprecated bundle stats APIs: - Removed Go example from quick-start.mdx that used flashbots_getUserStats - Removed reference to flashbots_getUserStatsV2 in reputation.md - Removed section about flashbots_getSbundleStats in gas-fee-refunds.md These APIs were deprecated on June 9th and now return 403 errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 138818e commit 3fcb65f

File tree

3 files changed

+0
-75
lines changed

3 files changed

+0
-75
lines changed

docs/flashbots-auction/advanced/gas-fee-refunds.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ Searchers can also use `mev_sendBundle` to multiplex bundles if they prefer. Thi
5959

6060
_Note: Smart multiplexing has a 1% rate of false positives, meaning that in 1% of MEV-Boost blocks there is a risk that searcher bundles will not be landed._
6161

62-
### Bundle stats for multiplexed bundles
63-
64-
To view bundle stats on multiplexed `eth_sendBundle` requests, use the `flashbots_getSbundleStats` API. You will see a new "smart" field in the response to multiplexed `eth_sendBundle` which indicates that the sbundle stats endpoint should be used.
65-
6662
## How are refunds calculated
6763

6864
BuilderNet uses a refund rule to retroactively calculate refunds for all bundles landed in its blocks. For more information, see the [BuilderNet docs](https://buildernet.org/docs/refunds).

docs/flashbots-auction/advanced/reputation.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ $\Delta_{coinbase_T}$: coinbase difference from direct payment in transaction $T
2727

2828
Flashbots uses a dynamic threshold to classify users between the high reputation and low reputation queue. The dynamic variables are: 1) the historical time period considered to calculate reputation, 2) the cutoff reputation score which classifies a searcher as "high reputation". Using a dynamic threshold allows the builder to adapt in periods of high demand and maintain high reliability for top searchers.
2929

30-
A searcher can query their current reputation status using the [`flashbots_getUserStatsV2` RPC method](/flashbots-auction/advanced/rpc-endpoint#flashbots_getuserstatsv2).
31-
3230
## Building reputation
3331

3432
Searcher reputation is associated with the signing key used to authenticate with Flashbots. That is, the ethereum address associated with the `X-Flashbots-Signature` field of your bundle submission.

docs/flashbots-auction/quick-start.mdx

Lines changed: 0 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ Next, you need a means to communicate with the Flashbots network. The Flashbots
4848
values={[
4949
{ label: 'ethers.js', value: 'ethers.js', },
5050
{ label: 'web3.py', value: 'web3.py' },
51-
{ label: 'go', value: 'go' },
5251
{ label: 'rust', value: 'rust'},
5352
]}
5453
>
@@ -101,74 +100,6 @@ ETH_ACCOUNT_SIGNATURE: LocalAccount = Account.from_key(os.environ.get("ETH_SIGNA
101100
flashbot(w3, ETH_ACCOUNT_SIGNATURE)
102101
```
103102

104-
</TabItem>
105-
<TabItem value="go">
106-
107-
```go
108-
package main
109-
110-
import (
111-
"bytes"
112-
"crypto/ecdsa"
113-
"encoding/json"
114-
"fmt"
115-
"io/ioutil"
116-
"math/big"
117-
"net/http"
118-
"time"
119-
120-
"github.com/ethereum/go-ethereum/accounts"
121-
"github.com/ethereum/go-ethereum/common/hexutil"
122-
"github.com/ethereum/go-ethereum/crypto"
123-
)
124-
125-
const (
126-
j = "application/json"
127-
flashbotURL = "https://relay.flashbots.net"
128-
stats = "flashbots_getUserStats"
129-
flashbotXHeader = "X-Flashbots-Signature"
130-
p = "POST"
131-
)
132-
133-
var (
134-
privateKey, _ = crypto.HexToECDSA(
135-
"2e19800fcbbf0abb7cf6d72ee7171f08943bc8e5c3568d1d7420e52136898154",
136-
)
137-
)
138-
139-
func flashbotHeader(signature []byte, privateKey *ecdsa.PrivateKey) string {
140-
return crypto.PubkeyToAddress(privateKey.PublicKey).Hex() +
141-
":" + hexutil.Encode(signature)
142-
}
143-
144-
func main() {
145-
mevHTTPClient := &http.Client{
146-
Timeout: time.Second * 3,
147-
}
148-
currentBlock := big.NewInt(12_900_000)
149-
params := map[string]interface{}{
150-
"jsonrpc": "2.0",
151-
"id": 1,
152-
"method": stats,
153-
"params": []interface{}{
154-
fmt.Sprintf("0x%x", currentBlock.Uint64()),
155-
},
156-
}
157-
payload, _ := json.Marshal(params)
158-
req, _ := http.NewRequest(p, flashbotURL, bytes.NewBuffer(payload))
159-
headerReady, _ := crypto.Sign(
160-
accounts.TextHash([]byte(hexutil.Encode(crypto.Keccak256(payload)))),
161-
privateKey,
162-
)
163-
req.Header.Add("content-type", j)
164-
req.Header.Add("Accept", j)
165-
req.Header.Add(flashbotXHeader, flashbotHeader(headerReady, privateKey))
166-
resp, _ := mevHTTPClient.Do(req)
167-
res, _ := ioutil.ReadAll(resp.Body)
168-
fmt.Println(string(res))
169-
}
170-
```
171-
172103
</TabItem>
173104
<TabItem value="rust">
174105

0 commit comments

Comments
 (0)