Skip to content

Commit

Permalink
update streamBlock
Browse files Browse the repository at this point in the history
  • Loading branch information
Aratz M. Lasa committed May 11, 2023
1 parent efe38cf commit f713f8b
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 41 deletions.
8 changes: 4 additions & 4 deletions stream/stream.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ type State interface {
}

type StreamBlock interface {
Block() structs.BlockBidAndTrace
BlockBidAndTrace() structs.BlockBidAndTrace
CompleteBlock() (structs.CompleteBlockstruct, error)
IsCache() bool
Source() string
Expand Down Expand Up @@ -185,11 +185,11 @@ func (s *Client) cachePayload(ctx context.Context, ds Datastore, sBlock StreamBl
if err != nil {
return fmt.Errorf("failed to generate CompleteBlock from StreamBlock: %w", err)
}
return ds.CacheBlock(ctx, payloadToKey(sBlock.Block()), &cbs)
return ds.CacheBlock(ctx, payloadToKey(sBlock.BlockBidAndTrace()), &cbs)
}

func (s *Client) storePayload(ctx context.Context, ds Datastore, sBlock StreamBlock) error {
return ds.PutPayload(ctx, payloadToKey(sBlock.Block()), sBlock.Block(), s.Config.TTL)
return ds.PutPayload(ctx, payloadToKey(sBlock.BlockBidAndTrace()), sBlock.BlockBidAndTrace(), s.Config.TTL)
}

func payloadToKey(bbt structs.BlockBidAndTrace) structs.PayloadKey {
Expand All @@ -201,7 +201,7 @@ func payloadToKey(bbt structs.BlockBidAndTrace) structs.PayloadKey {
}

func (s *Client) encode(block structs.BlockBidAndTrace, isCache bool) ([]byte, error) {
gBlock := GenericStreamBlock{BlockBidAndTrace: block, IsBlockCache: isCache, StreamSource: s.Config.ID}
gBlock := GenericStreamBlock{Block: block, IsBlockCache: isCache, StreamSource: s.Config.ID}
rawBlock, err := json.Marshal(gBlock)
if err != nil {
return nil, err
Expand Down
74 changes: 37 additions & 37 deletions stream/structs.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ import (
)

type GenericStreamBlock struct {
structs.BlockBidAndTrace
Block structs.BlockBidAndTrace
IsBlockCache bool
StreamSource string
}

type CapellaStreamBlock struct {
capella.BlockBidAndTrace
Block capella.BlockBidAndTrace
IsBlockCache bool
StreamSource string
}

func (b CapellaStreamBlock) Block() structs.BlockBidAndTrace {
return &b.BlockBidAndTrace
func (b CapellaStreamBlock) BlockBidAndTrace() structs.BlockBidAndTrace {
return &b.Block
}

func (b CapellaStreamBlock) IsCache() bool {
Expand All @@ -37,9 +37,9 @@ func (b CapellaStreamBlock) Source() string {
func (b CapellaStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, error) {
var cbs structs.CompleteBlockstruct

cbs.Payload = &b.BlockBidAndTrace
cbs.Payload = &b.Block

header, err := bellatrix.PayloadToPayloadHeader(b.ExecutionPayload())
header, err := bellatrix.PayloadToPayloadHeader(b.Block.ExecutionPayload())
if err != nil {
return structs.CompleteBlockstruct{}, fmt.Errorf("failed to create header: %w", err)
}
Expand All @@ -48,18 +48,18 @@ func (b CapellaStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, error)
Trace: structs.BidTraceWithTimestamp{
BidTraceExtended: structs.BidTraceExtended{
BidTrace: types.BidTrace{
Slot: b.Trace.Message.Slot,
ParentHash: b.Trace.Message.ParentHash,
BlockHash: b.Trace.Message.BlockHash,
BuilderPubkey: b.Trace.Message.BuilderPubkey,
ProposerPubkey: b.Trace.Message.ProposerPubkey,
ProposerFeeRecipient: b.Trace.Message.ProposerFeeRecipient,
Value: b.Trace.Message.Value,
GasLimit: b.Trace.Message.GasLimit,
GasUsed: b.Trace.Message.GasUsed,
Slot: b.Block.Trace.Message.Slot,
ParentHash: b.Block.Trace.Message.ParentHash,
BlockHash: b.Block.Trace.Message.BlockHash,
BuilderPubkey: b.Block.Trace.Message.BuilderPubkey,
ProposerPubkey: b.Block.Trace.Message.ProposerPubkey,
ProposerFeeRecipient: b.Block.Trace.Message.ProposerFeeRecipient,
Value: b.Block.Trace.Message.Value,
GasLimit: b.Block.Trace.Message.GasLimit,
GasUsed: b.Block.Trace.Message.GasUsed,
},
BlockNumber: b.Payload.CapellaData.BlockNumber(),
NumTx: uint64(len(b.Payload.CapellaData.Transactions())),
BlockNumber: b.Block.Payload.CapellaData.BlockNumber(),
NumTx: uint64(len(b.Block.Payload.CapellaData.Transactions())),
},
Timestamp: uint64(time.Now().UnixMilli() / 1_000),
TimestampMs: uint64(time.Now().UnixMilli()),
Expand All @@ -71,19 +71,19 @@ func (b CapellaStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, error)

func (b CapellaStreamBlock) Loggable() map[string]any {
return map[string]any{
"slot": b.Trace.Message.Slot,
"blockHash": b.Trace.Message.BlockHash,
"slot": b.Block.Trace.Message.Slot,
"blockHash": b.Block.Trace.Message.BlockHash,
}
}

type BellatrixStreamBlock struct {
bellatrix.BlockBidAndTrace
Block bellatrix.BlockBidAndTrace
IsBlockCache bool
StreamSource string
}

func (b BellatrixStreamBlock) Block() structs.BlockBidAndTrace {
return &b.BlockBidAndTrace
func (b BellatrixStreamBlock) BlockBidAndTrace() structs.BlockBidAndTrace {
return &b.Block
}

func (b BellatrixStreamBlock) IsCache() bool {
Expand All @@ -97,9 +97,9 @@ func (b BellatrixStreamBlock) Source() string {
func (b BellatrixStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, error) {
var cbs structs.CompleteBlockstruct

cbs.Payload = &b.BlockBidAndTrace
cbs.Payload = &b.Block

header, err := bellatrix.PayloadToPayloadHeader(b.ExecutionPayload())
header, err := bellatrix.PayloadToPayloadHeader(b.Block.ExecutionPayload())
if err != nil {
return structs.CompleteBlockstruct{}, fmt.Errorf("failed to create header: %w", err)
}
Expand All @@ -108,18 +108,18 @@ func (b BellatrixStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, erro
Trace: structs.BidTraceWithTimestamp{
BidTraceExtended: structs.BidTraceExtended{
BidTrace: types.BidTrace{
Slot: b.Trace.Message.Slot,
ParentHash: b.Trace.Message.ParentHash,
BlockHash: b.Trace.Message.BlockHash,
BuilderPubkey: b.Trace.Message.BuilderPubkey,
ProposerPubkey: b.Trace.Message.ProposerPubkey,
ProposerFeeRecipient: b.Trace.Message.ProposerFeeRecipient,
Value: b.Trace.Message.Value,
GasLimit: b.Trace.Message.GasLimit,
GasUsed: b.Trace.Message.GasUsed,
Slot: b.Block.Trace.Message.Slot,
ParentHash: b.Block.Trace.Message.ParentHash,
BlockHash: b.Block.Trace.Message.BlockHash,
BuilderPubkey: b.Block.Trace.Message.BuilderPubkey,
ProposerPubkey: b.Block.Trace.Message.ProposerPubkey,
ProposerFeeRecipient: b.Block.Trace.Message.ProposerFeeRecipient,
Value: b.Block.Trace.Message.Value,
GasLimit: b.Block.Trace.Message.GasLimit,
GasUsed: b.Block.Trace.Message.GasUsed,
},
BlockNumber: b.Payload.BellatrixData.BlockNumber(),
NumTx: uint64(len(b.Payload.BellatrixData.Transactions())),
BlockNumber: b.Block.Payload.BellatrixData.BlockNumber(),
NumTx: uint64(len(b.Block.Payload.BellatrixData.Transactions())),
},
Timestamp: uint64(time.Now().UnixMilli() / 1_000),
TimestampMs: uint64(time.Now().UnixMilli()),
Expand All @@ -131,8 +131,8 @@ func (b BellatrixStreamBlock) CompleteBlock() (structs.CompleteBlockstruct, erro

func (b BellatrixStreamBlock) Loggable() map[string]any {
return map[string]any{
"slot": b.Trace.Message.Slot,
"blockHash": b.Trace.Message.BlockHash,
"slot": b.Block.Trace.Message.Slot,
"blockHash": b.Block.Trace.Message.BlockHash,
}
}

Expand Down

0 comments on commit f713f8b

Please sign in to comment.