Skip to content

Commit 1b47c09

Browse files
committed
beacon/engine, eth/catalyst, miner: use primitive type instead of new structures
1 parent cc9a9f2 commit 1b47c09

File tree

6 files changed

+20
-36
lines changed

6 files changed

+20
-36
lines changed

beacon/engine/types.go

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,6 @@ type executionPayloadEnvelopeMarshaling struct {
132132
// Max size of inclusion list in bytes.
133133
const MaxBytesPerInclusionList = uint64(8192)
134134

135-
type InclusionListV1 struct {
136-
Transactions [][]byte `json:"transactions" gencodec:"required"`
137-
}
138-
139-
type UpdateInclusionListResponse struct {
140-
PayloadID *PayloadID `json:"payloadId"`
141-
}
142-
143135
type PayloadStatusV1 struct {
144136
Status string `json:"status"`
145137
Witness *hexutil.Bytes `json:"witness"`
@@ -355,19 +347,17 @@ func BlockToExecutableData(block *types.Block, fees *big.Int, sidecars []*types.
355347
}
356348
}
357349

358-
func InclusionListToTransactions(inclusionList *InclusionListV1) ([]*types.Transaction, error) {
359-
txs, err := decodeTransactions(inclusionList.Transactions)
350+
func InclusionListToTransactions(inclusionList [][]byte) ([]*types.Transaction, error) {
351+
txs, err := decodeTransactions(inclusionList)
360352
if err != nil {
361353
return nil, err
362354
}
363355

364356
return txs, nil
365357
}
366358

367-
func TransactionsToInclusionList(txs []*types.Transaction) *InclusionListV1 {
368-
return &InclusionListV1{
369-
Transactions: encodeTransactions(txs),
370-
}
359+
func TransactionsToInclusionList(txs []*types.Transaction) [][]byte {
360+
return encodeTransactions(txs)
371361
}
372362

373363
// ExecutionPayloadBody is used in the response to GetPayloadBodiesByHash and GetPayloadBodiesByRange

eth/catalyst/api.go

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ func (api *ConsensusAPI) GetBlobsV1(hashes []common.Hash) ([]*engine.BlobAndProo
553553
return res, nil
554554
}
555555

556-
func (api *ConsensusAPI) GetInclusionListV1(parentHash common.Hash) (*engine.InclusionListV1, error) {
556+
func (api *ConsensusAPI) GetInclusionListV1(parentHash common.Hash) ([][]byte, error) {
557557
if inclusionList := api.localInclusionLists.get(parentHash); inclusionList != nil {
558558
return inclusionList, nil
559559
}
@@ -572,26 +572,20 @@ func (api *ConsensusAPI) GetInclusionListV1(parentHash common.Hash) (*engine.Inc
572572
return inclusionList, nil
573573
}
574574

575-
func (api *ConsensusAPI) UpdatePayloadWithInclusionListV1(payloadID engine.PayloadID, inclusionList engine.InclusionListV1) (engine.UpdateInclusionListResponse, error) {
576-
response := func(id *engine.PayloadID) engine.UpdateInclusionListResponse {
577-
return engine.UpdateInclusionListResponse{
578-
PayloadID: id,
579-
}
580-
}
581-
575+
func (api *ConsensusAPI) UpdatePayloadWithInclusionListV1(payloadID engine.PayloadID, inclusionList [][]byte) (*engine.PayloadID, error) {
582576
payload := api.localBlocks.peak(payloadID)
583577
if payload == nil {
584-
return engine.UpdateInclusionListResponse{PayloadID: nil}, engine.UnknownPayload
578+
return nil, engine.UnknownPayload
585579
}
586580

587-
inclusionListTxs, err := engine.InclusionListToTransactions(&inclusionList)
581+
inclusionListTxs, err := engine.InclusionListToTransactions(inclusionList)
588582
if err != nil {
589-
return engine.UpdateInclusionListResponse{PayloadID: nil}, err
583+
return nil, err
590584
}
591585

592586
payload.UpdateWithInclusionList(inclusionListTxs)
593587

594-
return response(&payloadID), nil
588+
return &payloadID, nil
595589
}
596590

597591
// NewPayloadV1 creates an Eth1 block, inserts it in the chain, and returns the status of the chain.
@@ -683,7 +677,7 @@ func (api *ConsensusAPI) NewPayloadV4(params engine.ExecutableData, versionedHas
683677
}
684678

685679
// NewPayloadV5 creates an Eth1 block, inserts it in the chain, and returns the status of the chain.
686-
func (api *ConsensusAPI) NewPayloadV5(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, executionRequests []hexutil.Bytes, inclusionList *engine.InclusionListV1) (engine.PayloadStatusV1, error) {
680+
func (api *ConsensusAPI) NewPayloadV5(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, executionRequests []hexutil.Bytes, inclusionList [][]byte) (engine.PayloadStatusV1, error) {
687681
if params.Withdrawals == nil {
688682
return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawals post-shanghai"))
689683
}
@@ -805,7 +799,7 @@ func (api *ConsensusAPI) NewPayloadWithWitnessV4(params engine.ExecutableData, v
805799

806800
// NewPayloadWithWitnessV5 is analogous to NewPayloadV5, only it also generates
807801
// and returns a stateless witness after running the payload.
808-
func (api *ConsensusAPI) NewPayloadWithWitnessV5(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, executionRequests []hexutil.Bytes, inclusionList *engine.InclusionListV1) (engine.PayloadStatusV1, error) {
802+
func (api *ConsensusAPI) NewPayloadWithWitnessV5(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, executionRequests []hexutil.Bytes, inclusionList [][]byte) (engine.PayloadStatusV1, error) {
809803
if params.Withdrawals == nil {
810804
return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawals post-shanghai"))
811805
}
@@ -925,7 +919,7 @@ func (api *ConsensusAPI) ExecuteStatelessPayloadV4(params engine.ExecutableData,
925919
return api.executeStatelessPayload(params, versionedHashes, beaconRoot, requests, opaqueWitness)
926920
}
927921

928-
func (api *ConsensusAPI) newPayload(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, requests [][]byte, inclusionList *engine.InclusionListV1, witness bool) (engine.PayloadStatusV1, error) {
922+
func (api *ConsensusAPI) newPayload(params engine.ExecutableData, versionedHashes []common.Hash, beaconRoot *common.Hash, requests [][]byte, inclusionList [][]byte, witness bool) (engine.PayloadStatusV1, error) {
929923
// The locking here is, strictly, not required. Without these locks, this can happen:
930924
//
931925
// 1. NewPayload( execdata-N ) is invoked from the CL. It goes all the way down to

eth/catalyst/api_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1844,7 +1844,7 @@ func TestInclusionList(t *testing.T) {
18441844

18451845
for i, tt := range []*struct {
18461846
name string
1847-
inclusionList *engine.InclusionListV1
1847+
inclusionList [][]byte
18481848
updateInclusionList bool
18491849
expectedTransactions int
18501850
expectedStatus string
@@ -1909,7 +1909,7 @@ func TestInclusionList(t *testing.T) {
19091909

19101910
if tt.updateInclusionList {
19111911
// Update the payload with the inclusion list.
1912-
api.UpdatePayloadWithInclusionListV1(*resp.PayloadID, *tt.inclusionList)
1912+
api.UpdatePayloadWithInclusionListV1(*resp.PayloadID, tt.inclusionList)
19131913
}
19141914

19151915
// Get the payload.

eth/catalyst/queue.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func (q *headerQueue) get(hash common.Hash) *types.Header {
181181
// or evicted.
182182
type inclusionListQueueItem struct {
183183
parentHash common.Hash
184-
inclusionList *engine.InclusionListV1
184+
inclusionList [][]byte
185185
}
186186

187187
// inclusionListQueue tracks the latest handful of constructed inclusion lists to be retrieved
@@ -201,7 +201,7 @@ func newInclusionListQueue() *inclusionListQueue {
201201

202202
// put inserts a new inclusion list into the queue at the given parent hash that
203203
// the inclusion list is built upon.
204-
func (q *inclusionListQueue) put(parentHash common.Hash, inclusionList *engine.InclusionListV1) {
204+
func (q *inclusionListQueue) put(parentHash common.Hash, inclusionList [][]byte) {
205205
q.lock.Lock()
206206
defer q.lock.Unlock()
207207

@@ -213,7 +213,7 @@ func (q *inclusionListQueue) put(parentHash common.Hash, inclusionList *engine.I
213213
}
214214

215215
// get retrieves a previously stored inclusion list item or nil if it does not exist.
216-
func (q *inclusionListQueue) get(parentHash common.Hash) *engine.InclusionListV1 {
216+
func (q *inclusionListQueue) get(parentHash common.Hash) [][]byte {
217217
q.lock.RLock()
218218
defer q.lock.RUnlock()
219219

miner/inclusion_list_building.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type BuildInclusionListArgs struct {
1313
Parent common.Hash // The parent block to build inclusion list on top
1414
}
1515

16-
func (miner *Miner) BuildInclusionList(args *BuildInclusionListArgs) (*engine.InclusionListV1, error) {
16+
func (miner *Miner) BuildInclusionList(args *BuildInclusionListArgs) ([][]byte, error) {
1717
params := &generateParams{
1818
timestamp: uint64(time.Now().Unix()),
1919
forceTime: false,

miner/inclusion_list_building_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func TestBuildInclusionList(t *testing.T) {
114114

115115
// Verify inclusion list size.
116116
inclusionListSize := uint64(0)
117-
for _, tx := range inclusionList.Transactions {
117+
for _, tx := range inclusionList {
118118
inclusionListSize += uint64(len(tx))
119119
}
120120
require.LessOrEqual(t, inclusionListSize, engine.MaxBytesPerInclusionList)

0 commit comments

Comments
 (0)