mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-04 14:08:39 +00:00
beacon/engine: epe changes suggested by csaba's agent
This commit is contained in:
parent
9d052bf2e1
commit
9bb0ef5d33
1 changed files with 10 additions and 1 deletions
|
|
@ -19,6 +19,7 @@ package engine
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
|
|
@ -55,7 +56,11 @@ func marshalBlobsBundle(buf []byte, b *BlobsBundle) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
// marshalHexBytesArray writes an array of hex-encoded byte slices to buf.
|
// marshalHexBytesArray writes an array of hex-encoded byte slices to buf.
|
||||||
|
// A nil slice is written as "null" to match encoding/json semantics.
|
||||||
func marshalHexBytesArray(buf []byte, items []hexutil.Bytes) []byte {
|
func marshalHexBytesArray(buf []byte, items []hexutil.Bytes) []byte {
|
||||||
|
if items == nil {
|
||||||
|
return append(buf, "null"...)
|
||||||
|
}
|
||||||
buf = append(buf, '[')
|
buf = append(buf, '[')
|
||||||
for i, item := range items {
|
for i, item := range items {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
|
|
@ -80,6 +85,10 @@ func writeHexBytes(buf []byte, data []byte) []byte {
|
||||||
|
|
||||||
// MarshalJSON implements json.Marshaler.
|
// MarshalJSON implements json.Marshaler.
|
||||||
func (e ExecutionPayloadEnvelope) MarshalJSON() ([]byte, error) {
|
func (e ExecutionPayloadEnvelope) MarshalJSON() ([]byte, error) {
|
||||||
|
if e.ExecutionPayload == nil {
|
||||||
|
return nil, errors.New("missing required field 'executionPayload' for ExecutionPayloadEnvelope")
|
||||||
|
}
|
||||||
|
|
||||||
// Marshal the execution payload using its gencodec MarshalJSON.
|
// Marshal the execution payload using its gencodec MarshalJSON.
|
||||||
payload, err := e.ExecutionPayload.MarshalJSON()
|
payload, err := e.ExecutionPayload.MarshalJSON()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -125,7 +134,7 @@ func (e ExecutionPayloadEnvelope) MarshalJSON() ([]byte, error) {
|
||||||
if e.BlobsBundle != nil {
|
if e.BlobsBundle != nil {
|
||||||
size += estimateBlobsBundleSize(e.BlobsBundle)
|
size += estimateBlobsBundleSize(e.BlobsBundle)
|
||||||
}
|
}
|
||||||
size += 128 // JSON bloat (keys, braces, commas, etc.)
|
size += 256 // JSON bloat (keys, braces, commas, etc. and room for growth)
|
||||||
buf := make([]byte, 0, size)
|
buf := make([]byte, 0, size)
|
||||||
|
|
||||||
// Write the execution payload to the buffer
|
// Write the execution payload to the buffer
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue