Commit 532a1464 authored by clabby's avatar clabby Committed by GitHub

chore(op-service): Add missing fields to blob API types (#12602)

* inclusion proof

* fix test

* add inclusion proof

* goimports
parent 03e0b881
...@@ -127,6 +127,7 @@ func (f *FakeBeacon) Start(addr string) error { ...@@ -127,6 +127,7 @@ func (f *FakeBeacon) Start(addr string) error {
Slot: eth.Uint64String(slot), Slot: eth.Uint64String(slot),
}, },
}, },
InclusionProof: make([]eth.Bytes32, 0),
} }
copy(sidecars[i].Blob[:], bundle.Blobs[ix]) copy(sidecars[i].Blob[:], bundle.Blobs[ix])
} }
......
package eth package eth
import "github.com/ethereum/go-ethereum/common/hexutil"
type BlobSidecar struct { type BlobSidecar struct {
Blob Blob `json:"blob"` Blob Blob `json:"blob"`
Index Uint64String `json:"index"` Index Uint64String `json:"index"`
...@@ -13,8 +15,7 @@ type APIBlobSidecar struct { ...@@ -13,8 +15,7 @@ type APIBlobSidecar struct {
KZGCommitment Bytes48 `json:"kzg_commitment"` KZGCommitment Bytes48 `json:"kzg_commitment"`
KZGProof Bytes48 `json:"kzg_proof"` KZGProof Bytes48 `json:"kzg_proof"`
SignedBlockHeader SignedBeaconBlockHeader `json:"signed_block_header"` SignedBlockHeader SignedBeaconBlockHeader `json:"signed_block_header"`
// The inclusion-proof of the blob-sidecar into the beacon-block is ignored, InclusionProof []Bytes32 `json:"kzg_commitment_inclusion_proof"`
// since we verify blobs by their versioned hashes against the execution-layer block instead.
} }
func (sc *APIBlobSidecar) BlobSidecar() *BlobSidecar { func (sc *APIBlobSidecar) BlobSidecar() *BlobSidecar {
...@@ -27,8 +28,8 @@ func (sc *APIBlobSidecar) BlobSidecar() *BlobSidecar { ...@@ -27,8 +28,8 @@ func (sc *APIBlobSidecar) BlobSidecar() *BlobSidecar {
} }
type SignedBeaconBlockHeader struct { type SignedBeaconBlockHeader struct {
Message BeaconBlockHeader `json:"message"` Message BeaconBlockHeader `json:"message"`
// signature is ignored, since we verify blobs against EL versioned-hashes Signature hexutil.Bytes `json:"signature"`
} }
type BeaconBlockHeader struct { type BeaconBlockHeader struct {
......
...@@ -82,17 +82,19 @@ func TestAPIGetBlobSidecarsResponse(t *testing.T) { ...@@ -82,17 +82,19 @@ func TestAPIGetBlobSidecarsResponse(t *testing.T) {
var resp eth.APIGetBlobSidecarsResponse var resp eth.APIGetBlobSidecarsResponse
require.NoError(json.Unmarshal(jsonStr, &resp)) require.NoError(json.Unmarshal(jsonStr, &resp))
require.NotEmpty(resp.Data) require.NotEmpty(resp.Data)
require.Equal(5, reflect.TypeOf(*resp.Data[0]).NumField(), "APIBlobSidecar changed, adjust test") require.Equal(6, reflect.TypeOf(*resp.Data[0]).NumField(), "APIBlobSidecar changed, adjust test")
require.Equal(1, reflect.TypeOf(resp.Data[0].SignedBlockHeader).NumField(), "SignedBeaconBlockHeader changed, adjust test") require.Equal(2, reflect.TypeOf(resp.Data[0].SignedBlockHeader).NumField(), "SignedBeaconBlockHeader changed, adjust test")
require.Equal(5, reflect.TypeOf(resp.Data[0].SignedBlockHeader.Message).NumField(), "BeaconBlockHeader changed, adjust test") require.Equal(5, reflect.TypeOf(resp.Data[0].SignedBlockHeader.Message).NumField(), "BeaconBlockHeader changed, adjust test")
require.NotZero(resp.Data[0].Blob) require.NotZero(resp.Data[0].Blob)
require.NotZero(resp.Data[1].Index) require.NotZero(resp.Data[1].Index)
require.NotZero(resp.Data[0].KZGCommitment) require.NotZero(resp.Data[0].KZGCommitment)
require.NotZero(resp.Data[0].KZGProof) require.NotZero(resp.Data[0].KZGProof)
require.NotZero(resp.Data[0].InclusionProof)
require.NotZero(resp.Data[0].SignedBlockHeader.Message.Slot) require.NotZero(resp.Data[0].SignedBlockHeader.Message.Slot)
require.NotZero(resp.Data[0].SignedBlockHeader.Message.ParentRoot) require.NotZero(resp.Data[0].SignedBlockHeader.Message.ParentRoot)
require.NotZero(resp.Data[0].SignedBlockHeader.Message.BodyRoot) require.NotZero(resp.Data[0].SignedBlockHeader.Message.BodyRoot)
require.NotZero(resp.Data[0].SignedBlockHeader.Message.ProposerIndex) require.NotZero(resp.Data[0].SignedBlockHeader.Message.ProposerIndex)
require.NotZero(resp.Data[0].SignedBlockHeader.Message.StateRoot) require.NotZero(resp.Data[0].SignedBlockHeader.Message.StateRoot)
require.NotZero(resp.Data[0].SignedBlockHeader.Signature)
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment