flashbots / flashbots/rbuilder

Use `PooledTransactionVariant` instead of `PooledTransaction` to decode txs from their rlp encodings

未關閉
#653 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Rust
星號
567
分支
209
PR 合併指標
30 天內沒有已合併 PR

描述

With the Fusaka fork, blobs contain cell proofs instead of just proofs for each blob. An EIP-7594 blob sidecar has been introduced which `PooledTransaction` doesn't decode.
It is suggested to use `PooledTransactionVariant` here: https://github.com/paradigmxyz/reth/blob/3a3bc5f795d01209fe565cce4991e19fc8cb52ee/crates/ethereum/primitives/src/lib.rs#L31-L33 to decode txs from the Fusaka fork.
If not changed, we end up with the following errors when trying to decode blob txs in Fusaka.
```
2025-07-02T13:51:19.138629Z INFO received a tx tx_hash=0xedf2b8b4bd0476510eb92e027dcb15203996230c25cf6efed2be82e952052c44
2025-07-02T13:51:19.141289Z INFO in get_tx_with_blobs
2025-07-02T13:51:19.141309Z INFO in decode_enveloped_with_real_blobs
2025-07-02T13:51:19.141327Z ERROR Failed to decode pooled transaction: RlpError(UnexpectedString)
2025-07-02T13:51:19.141358Z ERROR Failed to get tx from pool tx_hash=0xedf2b8b4bd0476510eb92e027dcb15203996230c25cf6efed2be82e952052c44 err=Failed to decode transaction, error: unexpected string
```

貢獻指南

開啟貢獻指南

研究方向

從 get_tx_with_blobs 和 decode_enveloped_with_real_blobs 開始,接著將 crates/ethereum/primitives/src/lib.rs 中的 PooledTransactionVariant 定義與目前的 pooled transaction 解碼路徑進行比較。當使用 EIP-7594 cell proofs 的 Fusaka blob 交易能夠成功解碼,且不再出現回報的 UnexpectedString 錯誤時,即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
rust
領域
blockchain
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。