Beacon API: update Deneb endpoints after removing blob signing (#13235)

* making needed changes to beacon API based on removal of blobsidecar from block contents

* fixing tests and reverting some changes to be addressed later

* fixing generated code from protos

* gaz

* fixing get blob handler and adding blob storage to the blob service

* updating unit tests

* WIP

* wip tests

* got tests passing but needs cleanup

* removing gomod and gosum changes

* fixing more tests

* fixing more tests

* fixing more tests

* gaz

* moving some proto types around

* removing unneeded unit test

* fixing proposer paths

* adding more tests

* fixing more tests

* improving more unit tests

* updating one blob only unit test

* changing arguments of buildBlobSidecar

* reverting a change based on feedback

* terence's review items

* fixing test based on new develop changes

* radek's comments

* addressed more comments from radek

* adding in blobs to test data

* fixing casing in test

* removing extra line

* fixing issue from bad merge

* Update beacon-chain/rpc/eth/beacon/handlers_test.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* Update beacon-chain/rpc/eth/beacon/handlers_test.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* Update beacon-chain/rpc/eth/beacon/handlers_test.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* Update beacon-chain/rpc/eth/blob/handlers.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* moving core getblob business logic to blocker based on radek's comment

* fixing mock blocker

* gaz

---------

Co-authored-by: Radosław Kapka <rkapka@wp.pl>
This commit is contained in:
james-prysm
2023-12-07 11:37:11 -06:00
committed by GitHub
parent 6a45323ab7
commit 83af9a5694
64 changed files with 4356 additions and 5769 deletions

View File

@@ -57,13 +57,13 @@ func NewSignedBeaconBlock(i interface{}) (interfaces.SignedBeaconBlock, error) {
case *eth.SignedBlindedBeaconBlockCapella:
return initBlindedSignedBlockFromProtoCapella(b)
case *eth.GenericSignedBeaconBlock_Deneb:
return initSignedBlockFromProtoDeneb(b.Deneb)
return initSignedBlockFromProtoDeneb(b.Deneb.Block)
case *eth.SignedBeaconBlockDeneb:
return initSignedBlockFromProtoDeneb(b)
case *eth.SignedBlindedBeaconBlockDeneb:
return initBlindedSignedBlockFromProtoDeneb(b)
case *eth.GenericSignedBeaconBlock_BlindedDeneb:
return initBlindedSignedBlockFromProtoDeneb(b.BlindedDeneb.SignedBlindedBlock)
return initBlindedSignedBlockFromProtoDeneb(b.BlindedDeneb)
default:
return nil, errors.Wrapf(ErrUnsupportedSignedBeaconBlock, "unable to create block from type %T", i)
}
@@ -99,13 +99,13 @@ func NewBeaconBlock(i interface{}) (interfaces.ReadOnlyBeaconBlock, error) {
case *eth.BlindedBeaconBlockCapella:
return initBlindedBlockFromProtoCapella(b)
case *eth.GenericBeaconBlock_Deneb:
return initBlockFromProtoDeneb(b.Deneb)
return initBlockFromProtoDeneb(b.Deneb.Block)
case *eth.BeaconBlockDeneb:
return initBlockFromProtoDeneb(b)
case *eth.BlindedBeaconBlockDeneb:
return initBlindedBlockFromProtoDeneb(b)
case *eth.GenericBeaconBlock_BlindedDeneb:
return initBlindedBlockFromProtoDeneb(b.BlindedDeneb.Block)
return initBlindedBlockFromProtoDeneb(b.BlindedDeneb)
default:
return nil, errors.Wrapf(errUnsupportedBeaconBlock, "unable to create block from type %T", i)
}

View File

@@ -123,10 +123,12 @@ func Test_NewSignedBeaconBlock(t *testing.T) {
})
t.Run("GenericSignedBeaconBlock_Deneb", func(t *testing.T) {
pb := &eth.GenericSignedBeaconBlock_Deneb{
Deneb: &eth.SignedBeaconBlockDeneb{
Block: &eth.BeaconBlockDeneb{
Deneb: &eth.SignedBeaconBlockContentsDeneb{
Block: &eth.SignedBeaconBlockDeneb{Block: &eth.BeaconBlockDeneb{
Body: &eth.BeaconBlockBodyDeneb{},
}}}
}},
},
}
b, err := NewSignedBeaconBlock(pb)
require.NoError(t, err)
assert.Equal(t, version.Deneb, b.Version())
@@ -150,11 +152,10 @@ func Test_NewSignedBeaconBlock(t *testing.T) {
})
t.Run("GenericSignedBeaconBlock_BlindedDeneb", func(t *testing.T) {
pb := &eth.GenericSignedBeaconBlock_BlindedDeneb{
BlindedDeneb: &eth.SignedBlindedBeaconBlockAndBlobsDeneb{
SignedBlindedBlock: &eth.SignedBlindedBeaconBlockDeneb{
Message: &eth.BlindedBeaconBlockDeneb{
Body: &eth.BlindedBeaconBlockBodyDeneb{},
}}}}
BlindedDeneb: &eth.SignedBlindedBeaconBlockDeneb{
Message: &eth.BlindedBeaconBlockDeneb{
Body: &eth.BlindedBeaconBlockBodyDeneb{},
}}}
b, err := NewSignedBeaconBlock(pb)
require.NoError(t, err)
assert.Equal(t, version.Deneb, b.Version())
@@ -248,9 +249,9 @@ func Test_NewBeaconBlock(t *testing.T) {
assert.Equal(t, true, b.IsBlinded())
})
t.Run("GenericBeaconBlock_Deneb", func(t *testing.T) {
pb := &eth.GenericBeaconBlock_Deneb{Deneb: &eth.BeaconBlockDeneb{
pb := &eth.GenericBeaconBlock_Deneb{Deneb: &eth.BeaconBlockContentsDeneb{Block: &eth.BeaconBlockDeneb{
Body: &eth.BeaconBlockBodyDeneb{},
}}
}}}
b, err := NewBeaconBlock(pb)
require.NoError(t, err)
assert.Equal(t, version.Deneb, b.Version())
@@ -269,7 +270,7 @@ func Test_NewBeaconBlock(t *testing.T) {
assert.Equal(t, true, b.IsBlinded())
})
t.Run("GenericBeaconBlock_BlindedDeneb", func(t *testing.T) {
pb := &eth.GenericBeaconBlock_BlindedDeneb{BlindedDeneb: &eth.BlindedBeaconBlockAndBlobsDeneb{Block: &eth.BlindedBeaconBlockDeneb{Body: &eth.BlindedBeaconBlockBodyDeneb{}}}}
pb := &eth.GenericBeaconBlock_BlindedDeneb{BlindedDeneb: &eth.BlindedBeaconBlockDeneb{Body: &eth.BlindedBeaconBlockBodyDeneb{}}}
b, err := NewBeaconBlock(pb)
require.NoError(t, err)
assert.Equal(t, version.Deneb, b.Version())

View File

@@ -120,13 +120,11 @@ func (b *SignedBeaconBlock) PbGenericBlock() (*eth.GenericSignedBeaconBlock, err
case version.Deneb:
if b.IsBlinded() {
return &eth.GenericSignedBeaconBlock{
Block: &eth.GenericSignedBeaconBlock_BlindedDeneb{BlindedDeneb: &eth.SignedBlindedBeaconBlockAndBlobsDeneb{
SignedBlindedBlock: pb.(*eth.SignedBlindedBeaconBlockDeneb),
}},
Block: &eth.GenericSignedBeaconBlock_BlindedDeneb{BlindedDeneb: pb.(*eth.SignedBlindedBeaconBlockDeneb)},
}, nil
}
return &eth.GenericSignedBeaconBlock{
Block: &eth.GenericSignedBeaconBlock_Deneb{Deneb: pb.(*eth.SignedBeaconBlockDeneb)},
Block: &eth.GenericSignedBeaconBlock_Deneb{Deneb: pb.(*eth.SignedBeaconBlockContentsDeneb)},
}, nil
default:
return nil, errIncorrectBlockVersion

View File

@@ -27,9 +27,9 @@ func NewSignedBeaconBlockFromGeneric(gb *eth.GenericSignedBeaconBlock) (interfac
case *eth.GenericSignedBeaconBlock_BlindedCapella:
return blocks.NewSignedBeaconBlock(bb.BlindedCapella)
case *eth.GenericSignedBeaconBlock_Deneb:
return blocks.NewSignedBeaconBlock(bb.Deneb)
return blocks.NewSignedBeaconBlock(bb.Deneb.Block)
case *eth.GenericSignedBeaconBlock_BlindedDeneb:
return blocks.NewSignedBeaconBlock(bb.BlindedDeneb.SignedBlindedBlock)
return blocks.NewSignedBeaconBlock(bb.BlindedDeneb)
// Generic Signed Beacon Block Deneb can't be used here as it is not a block, but block content with blobs
default:
return nil, errors.Wrapf(blocks.ErrUnsupportedSignedBeaconBlock, "unable to create block from type %T", gb)