You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support cell proofs (Version 1 blob sidecars) in signer library
This change enables the go-ethereum signer library to accept and validate
both Version 0 (legacy) and Version 1 (cell proof) blob transaction sidecars,
which is necessary for the Fusaka/Osaka hardfork that introduces PeerDAS
(Peer Data Availability Sampling).
Changes to signer/core/apitypes/types.go:
The validateTxSidecar() function now accepts two proof formats:
- Version 0: 1 proof per blob (existing format, pre-Fusaka)
- Version 1: 128 cell proofs per blob (new Fusaka format)
The validation logic detects which version by checking the proof count:
- If len(proofs) == len(blobs): Use VerifyBlobProof for each blob
- If len(proofs) == len(blobs) * 128: Use VerifyCellProofs for all blobs
When converting SendTxArgs to a Transaction, the correct sidecar version
is automatically selected based on the number of proofs provided.
Added TestBlobTxsWithCellProofs to verify:
- Cell proof generation produces exactly 128 proofs per blob
- SendTxArgs correctly accepts 128 cell proofs per blob
- ToTransaction() creates a Version 1 sidecar when given cell proofs
- The resulting transaction properly serializes with cell proofs
0 commit comments