diff --git a/api/versionedsubmitblindedblockresponse.go b/api/versionedsubmitblindedblockresponse.go index 1cfc776..2e3ac03 100644 --- a/api/versionedsubmitblindedblockresponse.go +++ b/api/versionedsubmitblindedblockresponse.go @@ -219,8 +219,8 @@ func (v *VersionedSubmitBlindedBlockResponse) ExcessBlobGas() (uint64, error) { } } -// DepositReceipts returns the deposit receipts of the execution payload. -func (v *VersionedSubmitBlindedBlockResponse) DepositReceipts() ([]*consensuselectra.DepositReceipt, error) { +// DepositRequests returns the deposit receipts of the execution payload. +func (v *VersionedSubmitBlindedBlockResponse) DepositRequests() ([]*consensuselectra.DepositRequest, error) { if v == nil { return nil, errors.New("nil struct") } @@ -233,14 +233,14 @@ func (v *VersionedSubmitBlindedBlockResponse) DepositReceipts() ([]*consensusele return nil, errors.New("no data execution payload") } - return v.Electra.ExecutionPayload.DepositReceipts, nil + return v.Electra.ExecutionPayload.DepositRequests, nil default: return nil, errors.New("unsupported version") } } // WithdrawalRequests returns the execution layer withdrawal requests of the execution payload. -func (v *VersionedSubmitBlindedBlockResponse) WithdrawalRequests() ([]*consensuselectra.ExecutionLayerWithdrawalRequest, error) { +func (v *VersionedSubmitBlindedBlockResponse) WithdrawalRequests() ([]*consensuselectra.WithdrawalRequest, error) { if v == nil { return nil, errors.New("nil struct") } diff --git a/api/versionedsubmitblindedblockresponse_test.go b/api/versionedsubmitblindedblockresponse_test.go index a30303d..ff65a84 100644 --- a/api/versionedsubmitblindedblockresponse_test.go +++ b/api/versionedsubmitblindedblockresponse_test.go @@ -139,7 +139,7 @@ func TestVersionedSubmitBlindedBlockResponseBlockHash(t *testing.T) { name: "DenebNoExecutionPayload", payload: &api.VersionedSubmitBlindedBlockResponse{ Version: consensusspec.DataVersionDeneb, - Deneb: &denebapi.ExecutionPayloadAndBlobsBundle{}, + Deneb: &denebapi.ExecutionPayloadAndBlobsBundle{}, }, err: "no execution payload", }, @@ -248,11 +248,11 @@ func TestVersionedSubmitBlindedBlockResponseTransactions(t *testing.T) { }, err: "no data", }, - { + { name: "DenebNoExecutionPayload", bid: &api.VersionedSubmitBlindedBlockResponse{ Version: consensusspec.DataVersionDeneb, - Deneb: &denebapi.ExecutionPayloadAndBlobsBundle{}, + Deneb: &denebapi.ExecutionPayloadAndBlobsBundle{}, }, err: "no execution payload", }, diff --git a/go.mod b/go.mod index 82c7a79..3bcc6e1 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/attestantio/go-builder-client go 1.20 require ( - github.com/attestantio/go-eth2-client v0.21.4-0.20240508201227-6fd8b5ef4447 + github.com/attestantio/go-eth2-client v0.21.7-0.20240701211822-0a60485fce68 github.com/ferranbt/fastssz v0.1.3 // go-yaml after 1.9.2 has memory issues due to https://github.com/goccy/go-yaml/issues/325; avoid. github.com/goccy/go-yaml v1.9.2 diff --git a/go.sum b/go.sum index fd4da60..ac8a6de 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/attestantio/go-eth2-client v0.21.4-0.20240508201227-6fd8b5ef4447 h1:k0SJ1kAoijCKsRLG+D8kzicwAwpkCWsa/9KRQS5EjFg= -github.com/attestantio/go-eth2-client v0.21.4-0.20240508201227-6fd8b5ef4447/go.mod h1:yzMl6JKut8ngKCRyv+6H9j2nNjS/+SMm3N+duf8iix8= +github.com/attestantio/go-eth2-client v0.21.7-0.20240701211822-0a60485fce68 h1:+sc+OAeTcWjQ5BwK6aajh9xnu8KYtIJNVqwbWx+KvQ4= +github.com/attestantio/go-eth2-client v0.21.7-0.20240701211822-0a60485fce68/go.mod h1:vy5jU/uDZ2+RcVzq5BfnG+bQ3/6uu9DGwCrGsPtjJ1A= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= diff --git a/http/unblindproposal.go b/http/unblindproposal.go index af0cec0..2de3c64 100644 --- a/http/unblindproposal.go +++ b/http/unblindproposal.go @@ -398,7 +398,6 @@ func (s *Service) unblindElectraProposal(ctx context.Context, SyncAggregate: proposal.Message.Body.SyncAggregate, BLSToExecutionChanges: proposal.Message.Body.BLSToExecutionChanges, BlobKZGCommitments: proposal.Message.Body.BlobKZGCommitments, - Consolidations: proposal.Message.Body.Consolidations, }, }, Signature: proposal.Signature, diff --git a/spec/versionedsubmitblockrequest.go b/spec/versionedsubmitblockrequest.go index 897c684..50690e4 100644 --- a/spec/versionedsubmitblockrequest.go +++ b/spec/versionedsubmitblockrequest.go @@ -969,8 +969,8 @@ func (v *VersionedSubmitBlockRequest) ExcessBlobGas() (uint64, error) { } } -// DepositReceipts returns the deposit receipts of the execution payload. -func (v *VersionedSubmitBlockRequest) DepositReceipts() ([]*consensuselectra.DepositReceipt, error) { +// DepositRequests returns the deposit receipts of the execution payload. +func (v *VersionedSubmitBlockRequest) DepositRequests() ([]*consensuselectra.DepositRequest, error) { if v == nil { return nil, errors.New("nil struct") } @@ -983,14 +983,14 @@ func (v *VersionedSubmitBlockRequest) DepositReceipts() ([]*consensuselectra.Dep return nil, errors.New("no data execution payload") } - return v.Electra.ExecutionPayload.DepositReceipts, nil + return v.Electra.ExecutionPayload.DepositRequests, nil default: return nil, errors.New("unsupported version") } } // WithdrawalRequests returns the execution layer withdrawal requests of the execution payload. -func (v *VersionedSubmitBlockRequest) WithdrawalRequests() ([]*consensuselectra.ExecutionLayerWithdrawalRequest, error) { +func (v *VersionedSubmitBlockRequest) WithdrawalRequests() ([]*consensuselectra.WithdrawalRequest, error) { if v == nil { return nil, errors.New("nil struct") } @@ -1009,6 +1009,26 @@ func (v *VersionedSubmitBlockRequest) WithdrawalRequests() ([]*consensuselectra. } } +// ConsolidationRequests returns the consolidation requests of the execution payload. +func (v *VersionedSubmitBlockRequest) ConsolidationRequests() ([]*consensuselectra.ConsolidationRequest, error) { + if v == nil { + return nil, errors.New("nil struct") + } + switch v.Version { + case consensusspec.DataVersionElectra: + if v.Electra == nil { + return nil, errors.New("no data") + } + if v.Electra.ExecutionPayload == nil { + return nil, errors.New("no data execution payload") + } + + return v.Electra.ExecutionPayload.ConsolidationRequests, nil + default: + return nil, errors.New("unsupported version") + } +} + // String returns a string version of the structure. func (v *VersionedSubmitBlockRequest) String() string { if v == nil {