From acc584c0972b106377b63224ed0747db647b30a3 Mon Sep 17 00:00:00 2001 From: Alex Sharov Date: Sun, 14 Nov 2021 11:08:45 +0700 Subject: [PATCH] grpc GetBlock api (#159) --- gointerfaces/remote/ethbackend.pb.go | 892 +++++++++++++++++++--- gointerfaces/remote/ethbackend_grpc.pb.go | 154 ++++ gointerfaces/remote/kv.pb.go | 2 +- gointerfaces/types/types.pb.go | 436 +++++++++-- interfaces/Cargo.toml | 8 +- interfaces/remote/ethbackend.proto | 58 +- interfaces/remote/kv.proto | 3 +- interfaces/types/types.proto | 29 + 8 files changed, 1415 insertions(+), 167 deletions(-) diff --git a/gointerfaces/remote/ethbackend.pb.go b/gointerfaces/remote/ethbackend.pb.go index d06ea927a..6b29fcdaa 100644 --- a/gointerfaces/remote/ethbackend.pb.go +++ b/gointerfaces/remote/ethbackend.pb.go @@ -326,6 +326,352 @@ func (x *NetPeerCountReply) GetCount() uint64 { return 0 } +type EngineGetPayloadRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PayloadId uint64 `protobuf:"varint,1,opt,name=payloadId,proto3" json:"payloadId,omitempty"` +} + +func (x *EngineGetPayloadRequest) Reset() { + *x = EngineGetPayloadRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineGetPayloadRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineGetPayloadRequest) ProtoMessage() {} + +func (x *EngineGetPayloadRequest) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineGetPayloadRequest.ProtoReflect.Descriptor instead. +func (*EngineGetPayloadRequest) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{6} +} + +func (x *EngineGetPayloadRequest) GetPayloadId() uint64 { + if x != nil { + return x.PayloadId + } + return 0 +} + +type EngineExecutePayloadReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + LatestValidHash *types.H256 `protobuf:"bytes,2,opt,name=latestValidHash,proto3" json:"latestValidHash,omitempty"` +} + +func (x *EngineExecutePayloadReply) Reset() { + *x = EngineExecutePayloadReply{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineExecutePayloadReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineExecutePayloadReply) ProtoMessage() {} + +func (x *EngineExecutePayloadReply) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineExecutePayloadReply.ProtoReflect.Descriptor instead. +func (*EngineExecutePayloadReply) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{7} +} + +func (x *EngineExecutePayloadReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *EngineExecutePayloadReply) GetLatestValidHash() *types.H256 { + if x != nil { + return x.LatestValidHash + } + return nil +} + +type EnginePreparePayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash *types.H256 `protobuf:"bytes,1,opt,name=parentHash,proto3" json:"parentHash,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Random *types.H256 `protobuf:"bytes,3,opt,name=random,proto3" json:"random,omitempty"` + FeeRecipient *types.H160 `protobuf:"bytes,4,opt,name=feeRecipient,proto3" json:"feeRecipient,omitempty"` +} + +func (x *EnginePreparePayload) Reset() { + *x = EnginePreparePayload{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnginePreparePayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnginePreparePayload) ProtoMessage() {} + +func (x *EnginePreparePayload) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnginePreparePayload.ProtoReflect.Descriptor instead. +func (*EnginePreparePayload) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{8} +} + +func (x *EnginePreparePayload) GetParentHash() *types.H256 { + if x != nil { + return x.ParentHash + } + return nil +} + +func (x *EnginePreparePayload) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *EnginePreparePayload) GetRandom() *types.H256 { + if x != nil { + return x.Random + } + return nil +} + +func (x *EnginePreparePayload) GetFeeRecipient() *types.H160 { + if x != nil { + return x.FeeRecipient + } + return nil +} + +type EngineForkChoiceUpdated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeadBlockHash *types.H256 `protobuf:"bytes,1,opt,name=headBlockHash,proto3" json:"headBlockHash,omitempty"` + SafeBlockHash *types.H256 `protobuf:"bytes,2,opt,name=safeBlockHash,proto3" json:"safeBlockHash,omitempty"` + FinalizedBlockHash *types.H256 `protobuf:"bytes,3,opt,name=finalizedBlockHash,proto3" json:"finalizedBlockHash,omitempty"` +} + +func (x *EngineForkChoiceUpdated) Reset() { + *x = EngineForkChoiceUpdated{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineForkChoiceUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineForkChoiceUpdated) ProtoMessage() {} + +func (x *EngineForkChoiceUpdated) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineForkChoiceUpdated.ProtoReflect.Descriptor instead. +func (*EngineForkChoiceUpdated) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{9} +} + +func (x *EngineForkChoiceUpdated) GetHeadBlockHash() *types.H256 { + if x != nil { + return x.HeadBlockHash + } + return nil +} + +func (x *EngineForkChoiceUpdated) GetSafeBlockHash() *types.H256 { + if x != nil { + return x.SafeBlockHash + } + return nil +} + +func (x *EngineForkChoiceUpdated) GetFinalizedBlockHash() *types.H256 { + if x != nil { + return x.FinalizedBlockHash + } + return nil +} + +type EngineForkChoiceUpdatedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeadBlockHash *EnginePreparePayload `protobuf:"bytes,1,opt,name=headBlockHash,proto3" json:"headBlockHash,omitempty"` + SafeBlockHash *EngineForkChoiceUpdated `protobuf:"bytes,2,opt,name=safeBlockHash,proto3" json:"safeBlockHash,omitempty"` +} + +func (x *EngineForkChoiceUpdatedRequest) Reset() { + *x = EngineForkChoiceUpdatedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineForkChoiceUpdatedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineForkChoiceUpdatedRequest) ProtoMessage() {} + +func (x *EngineForkChoiceUpdatedRequest) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineForkChoiceUpdatedRequest.ProtoReflect.Descriptor instead. +func (*EngineForkChoiceUpdatedRequest) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{10} +} + +func (x *EngineForkChoiceUpdatedRequest) GetHeadBlockHash() *EnginePreparePayload { + if x != nil { + return x.HeadBlockHash + } + return nil +} + +func (x *EngineForkChoiceUpdatedRequest) GetSafeBlockHash() *EngineForkChoiceUpdated { + if x != nil { + return x.SafeBlockHash + } + return nil +} + +type EngineForkChoiceUpdatedReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + PayloadId uint64 `protobuf:"varint,2,opt,name=payloadId,proto3" json:"payloadId,omitempty"` +} + +func (x *EngineForkChoiceUpdatedReply) Reset() { + *x = EngineForkChoiceUpdatedReply{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineForkChoiceUpdatedReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineForkChoiceUpdatedReply) ProtoMessage() {} + +func (x *EngineForkChoiceUpdatedReply) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineForkChoiceUpdatedReply.ProtoReflect.Descriptor instead. +func (*EngineForkChoiceUpdatedReply) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{11} +} + +func (x *EngineForkChoiceUpdatedReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *EngineForkChoiceUpdatedReply) GetPayloadId() uint64 { + if x != nil { + return x.PayloadId + } + return 0 +} + type ProtocolVersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -335,7 +681,7 @@ type ProtocolVersionRequest struct { func (x *ProtocolVersionRequest) Reset() { *x = ProtocolVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[6] + mi := &file_remote_ethbackend_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -348,7 +694,7 @@ func (x *ProtocolVersionRequest) String() string { func (*ProtocolVersionRequest) ProtoMessage() {} func (x *ProtocolVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[6] + mi := &file_remote_ethbackend_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -361,7 +707,7 @@ func (x *ProtocolVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProtocolVersionRequest.ProtoReflect.Descriptor instead. func (*ProtocolVersionRequest) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{6} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{12} } type ProtocolVersionReply struct { @@ -375,7 +721,7 @@ type ProtocolVersionReply struct { func (x *ProtocolVersionReply) Reset() { *x = ProtocolVersionReply{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[7] + mi := &file_remote_ethbackend_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -388,7 +734,7 @@ func (x *ProtocolVersionReply) String() string { func (*ProtocolVersionReply) ProtoMessage() {} func (x *ProtocolVersionReply) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[7] + mi := &file_remote_ethbackend_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -401,7 +747,7 @@ func (x *ProtocolVersionReply) ProtoReflect() protoreflect.Message { // Deprecated: Use ProtocolVersionReply.ProtoReflect.Descriptor instead. func (*ProtocolVersionReply) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{7} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{13} } func (x *ProtocolVersionReply) GetId() uint64 { @@ -420,7 +766,7 @@ type ClientVersionRequest struct { func (x *ClientVersionRequest) Reset() { *x = ClientVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[8] + mi := &file_remote_ethbackend_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -433,7 +779,7 @@ func (x *ClientVersionRequest) String() string { func (*ClientVersionRequest) ProtoMessage() {} func (x *ClientVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[8] + mi := &file_remote_ethbackend_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -446,7 +792,7 @@ func (x *ClientVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientVersionRequest.ProtoReflect.Descriptor instead. func (*ClientVersionRequest) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{8} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{14} } type ClientVersionReply struct { @@ -460,7 +806,7 @@ type ClientVersionReply struct { func (x *ClientVersionReply) Reset() { *x = ClientVersionReply{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[9] + mi := &file_remote_ethbackend_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -473,7 +819,7 @@ func (x *ClientVersionReply) String() string { func (*ClientVersionReply) ProtoMessage() {} func (x *ClientVersionReply) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[9] + mi := &file_remote_ethbackend_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -486,7 +832,7 @@ func (x *ClientVersionReply) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientVersionReply.ProtoReflect.Descriptor instead. func (*ClientVersionReply) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{9} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{15} } func (x *ClientVersionReply) GetNodeName() string { @@ -507,7 +853,7 @@ type SubscribeRequest struct { func (x *SubscribeRequest) Reset() { *x = SubscribeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[10] + mi := &file_remote_ethbackend_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -520,7 +866,7 @@ func (x *SubscribeRequest) String() string { func (*SubscribeRequest) ProtoMessage() {} func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[10] + mi := &file_remote_ethbackend_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -533,7 +879,7 @@ func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. func (*SubscribeRequest) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{10} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{16} } func (x *SubscribeRequest) GetType() Event { @@ -555,7 +901,7 @@ type SubscribeReply struct { func (x *SubscribeReply) Reset() { *x = SubscribeReply{} if protoimpl.UnsafeEnabled { - mi := &file_remote_ethbackend_proto_msgTypes[11] + mi := &file_remote_ethbackend_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -568,7 +914,7 @@ func (x *SubscribeReply) String() string { func (*SubscribeReply) ProtoMessage() {} func (x *SubscribeReply) ProtoReflect() protoreflect.Message { - mi := &file_remote_ethbackend_proto_msgTypes[11] + mi := &file_remote_ethbackend_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -581,7 +927,7 @@ func (x *SubscribeReply) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeReply.ProtoReflect.Descriptor instead. func (*SubscribeReply) Descriptor() ([]byte, []int) { - return file_remote_ethbackend_proto_rawDescGZIP(), []int{11} + return file_remote_ethbackend_proto_rawDescGZIP(), []int{17} } func (x *SubscribeReply) GetType() Event { @@ -598,6 +944,116 @@ func (x *SubscribeReply) GetData() []byte { return nil } +type BlockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockHeight uint64 `protobuf:"varint,2,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` + BlockHash *types.H256 `protobuf:"bytes,3,opt,name=blockHash,proto3" json:"blockHash,omitempty"` +} + +func (x *BlockRequest) Reset() { + *x = BlockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockRequest) ProtoMessage() {} + +func (x *BlockRequest) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockRequest.ProtoReflect.Descriptor instead. +func (*BlockRequest) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{18} +} + +func (x *BlockRequest) GetBlockHeight() uint64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +func (x *BlockRequest) GetBlockHash() *types.H256 { + if x != nil { + return x.BlockHash + } + return nil +} + +type BlockReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockRlp []byte `protobuf:"bytes,1,opt,name=blockRlp,proto3" json:"blockRlp,omitempty"` + Senders []byte `protobuf:"bytes,2,opt,name=senders,proto3" json:"senders,omitempty"` +} + +func (x *BlockReply) Reset() { + *x = BlockReply{} + if protoimpl.UnsafeEnabled { + mi := &file_remote_ethbackend_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockReply) ProtoMessage() {} + +func (x *BlockReply) ProtoReflect() protoreflect.Message { + mi := &file_remote_ethbackend_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockReply.ProtoReflect.Descriptor instead. +func (*BlockReply) Descriptor() ([]byte, []int) { + return file_remote_ethbackend_proto_rawDescGZIP(), []int{19} +} + +func (x *BlockReply) GetBlockRlp() []byte { + if x != nil { + return x.BlockRlp + } + return nil +} + +func (x *BlockReply) GetSenders() []byte { + if x != nil { + return x.Senders + } + return nil +} + var File_remote_ethbackend_proto protoreflect.FileDescriptor var file_remote_ethbackend_proto_rawDesc = []byte{ @@ -618,60 +1074,140 @@ var file_remote_ethbackend_proto_rawDesc = []byte{ 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x11, 0x4e, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x26, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x30, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x21, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x2a, 0x38, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, - 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x32, 0xea, - 0x03, 0x0a, 0x0a, 0x45, 0x54, 0x48, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x12, 0x3d, 0x0a, - 0x09, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x74, - 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x40, 0x0a, 0x0a, - 0x4e, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4e, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x46, - 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, + 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x37, 0x0a, 0x17, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x64, 0x22, 0x6a, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x0f, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x01, + 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x06, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x2f, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, 0x36, 0x30, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3b, 0x0a, 0x12, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, + 0x35, 0x36, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x22, 0xab, 0x01, 0x0a, 0x1e, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x68, 0x65, 0x61, + 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0d, + 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x45, 0x0a, + 0x0d, 0x73, 0x61, 0x66, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x22, 0x54, 0x0a, 0x1c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x6f, + 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x26, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, + 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, + 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, + 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5b, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x22, 0x42, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6c, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6c, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x2a, 0x38, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x47, 0x53, 0x10, 0x01, 0x12, 0x11, + 0x0a, 0x0d, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, + 0x02, 0x32, 0xae, 0x06, 0x0a, 0x0a, 0x45, 0x54, 0x48, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, + 0x12, 0x3d, 0x0a, 0x09, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, 0x12, 0x18, 0x2e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x40, 0x0a, 0x0a, 0x4e, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x50, 0x65, + 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4f, - 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x49, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3f, 0x0a, 0x09, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x30, 0x01, 0x42, 0x11, 0x5a, 0x0f, 0x2e, - 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4e, 0x0a, 0x12, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x31, 0x12, + 0x1f, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, + 0x65, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x54, 0x0a, 0x16, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x56, 0x31, 0x12, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x21, 0x2e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x69, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x26, 0x2e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6b, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x4f, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3f, + 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x18, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x30, 0x01, 0x12, + 0x31, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, + 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3b, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -687,48 +1223,76 @@ func file_remote_ethbackend_proto_rawDescGZIP() []byte { } var file_remote_ethbackend_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_remote_ethbackend_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_remote_ethbackend_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_remote_ethbackend_proto_goTypes = []interface{}{ - (Event)(0), // 0: remote.Event - (*EtherbaseRequest)(nil), // 1: remote.EtherbaseRequest - (*EtherbaseReply)(nil), // 2: remote.EtherbaseReply - (*NetVersionRequest)(nil), // 3: remote.NetVersionRequest - (*NetVersionReply)(nil), // 4: remote.NetVersionReply - (*NetPeerCountRequest)(nil), // 5: remote.NetPeerCountRequest - (*NetPeerCountReply)(nil), // 6: remote.NetPeerCountReply - (*ProtocolVersionRequest)(nil), // 7: remote.ProtocolVersionRequest - (*ProtocolVersionReply)(nil), // 8: remote.ProtocolVersionReply - (*ClientVersionRequest)(nil), // 9: remote.ClientVersionRequest - (*ClientVersionReply)(nil), // 10: remote.ClientVersionReply - (*SubscribeRequest)(nil), // 11: remote.SubscribeRequest - (*SubscribeReply)(nil), // 12: remote.SubscribeReply - (*types.H160)(nil), // 13: types.H160 - (*emptypb.Empty)(nil), // 14: google.protobuf.Empty - (*types.VersionReply)(nil), // 15: types.VersionReply + (Event)(0), // 0: remote.Event + (*EtherbaseRequest)(nil), // 1: remote.EtherbaseRequest + (*EtherbaseReply)(nil), // 2: remote.EtherbaseReply + (*NetVersionRequest)(nil), // 3: remote.NetVersionRequest + (*NetVersionReply)(nil), // 4: remote.NetVersionReply + (*NetPeerCountRequest)(nil), // 5: remote.NetPeerCountRequest + (*NetPeerCountReply)(nil), // 6: remote.NetPeerCountReply + (*EngineGetPayloadRequest)(nil), // 7: remote.EngineGetPayloadRequest + (*EngineExecutePayloadReply)(nil), // 8: remote.EngineExecutePayloadReply + (*EnginePreparePayload)(nil), // 9: remote.EnginePreparePayload + (*EngineForkChoiceUpdated)(nil), // 10: remote.EngineForkChoiceUpdated + (*EngineForkChoiceUpdatedRequest)(nil), // 11: remote.EngineForkChoiceUpdatedRequest + (*EngineForkChoiceUpdatedReply)(nil), // 12: remote.EngineForkChoiceUpdatedReply + (*ProtocolVersionRequest)(nil), // 13: remote.ProtocolVersionRequest + (*ProtocolVersionReply)(nil), // 14: remote.ProtocolVersionReply + (*ClientVersionRequest)(nil), // 15: remote.ClientVersionRequest + (*ClientVersionReply)(nil), // 16: remote.ClientVersionReply + (*SubscribeRequest)(nil), // 17: remote.SubscribeRequest + (*SubscribeReply)(nil), // 18: remote.SubscribeReply + (*BlockRequest)(nil), // 19: remote.BlockRequest + (*BlockReply)(nil), // 20: remote.BlockReply + (*types.H160)(nil), // 21: types.H160 + (*types.H256)(nil), // 22: types.H256 + (*types.ExecutionPayload)(nil), // 23: types.ExecutionPayload + (*emptypb.Empty)(nil), // 24: google.protobuf.Empty + (*types.VersionReply)(nil), // 25: types.VersionReply } var file_remote_ethbackend_proto_depIdxs = []int32{ - 13, // 0: remote.EtherbaseReply.address:type_name -> types.H160 - 0, // 1: remote.SubscribeRequest.type:type_name -> remote.Event - 0, // 2: remote.SubscribeReply.type:type_name -> remote.Event - 1, // 3: remote.ETHBACKEND.Etherbase:input_type -> remote.EtherbaseRequest - 3, // 4: remote.ETHBACKEND.NetVersion:input_type -> remote.NetVersionRequest - 5, // 5: remote.ETHBACKEND.NetPeerCount:input_type -> remote.NetPeerCountRequest - 14, // 6: remote.ETHBACKEND.Version:input_type -> google.protobuf.Empty - 7, // 7: remote.ETHBACKEND.ProtocolVersion:input_type -> remote.ProtocolVersionRequest - 9, // 8: remote.ETHBACKEND.ClientVersion:input_type -> remote.ClientVersionRequest - 11, // 9: remote.ETHBACKEND.Subscribe:input_type -> remote.SubscribeRequest - 2, // 10: remote.ETHBACKEND.Etherbase:output_type -> remote.EtherbaseReply - 4, // 11: remote.ETHBACKEND.NetVersion:output_type -> remote.NetVersionReply - 6, // 12: remote.ETHBACKEND.NetPeerCount:output_type -> remote.NetPeerCountReply - 15, // 13: remote.ETHBACKEND.Version:output_type -> types.VersionReply - 8, // 14: remote.ETHBACKEND.ProtocolVersion:output_type -> remote.ProtocolVersionReply - 10, // 15: remote.ETHBACKEND.ClientVersion:output_type -> remote.ClientVersionReply - 12, // 16: remote.ETHBACKEND.Subscribe:output_type -> remote.SubscribeReply - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 21, // 0: remote.EtherbaseReply.address:type_name -> types.H160 + 22, // 1: remote.EngineExecutePayloadReply.latestValidHash:type_name -> types.H256 + 22, // 2: remote.EnginePreparePayload.parentHash:type_name -> types.H256 + 22, // 3: remote.EnginePreparePayload.random:type_name -> types.H256 + 21, // 4: remote.EnginePreparePayload.feeRecipient:type_name -> types.H160 + 22, // 5: remote.EngineForkChoiceUpdated.headBlockHash:type_name -> types.H256 + 22, // 6: remote.EngineForkChoiceUpdated.safeBlockHash:type_name -> types.H256 + 22, // 7: remote.EngineForkChoiceUpdated.finalizedBlockHash:type_name -> types.H256 + 9, // 8: remote.EngineForkChoiceUpdatedRequest.headBlockHash:type_name -> remote.EnginePreparePayload + 10, // 9: remote.EngineForkChoiceUpdatedRequest.safeBlockHash:type_name -> remote.EngineForkChoiceUpdated + 0, // 10: remote.SubscribeRequest.type:type_name -> remote.Event + 0, // 11: remote.SubscribeReply.type:type_name -> remote.Event + 22, // 12: remote.BlockRequest.blockHash:type_name -> types.H256 + 1, // 13: remote.ETHBACKEND.Etherbase:input_type -> remote.EtherbaseRequest + 3, // 14: remote.ETHBACKEND.NetVersion:input_type -> remote.NetVersionRequest + 5, // 15: remote.ETHBACKEND.NetPeerCount:input_type -> remote.NetPeerCountRequest + 7, // 16: remote.ETHBACKEND.EngineGetPayloadV1:input_type -> remote.EngineGetPayloadRequest + 23, // 17: remote.ETHBACKEND.EngineExecutePayloadV1:input_type -> types.ExecutionPayload + 11, // 18: remote.ETHBACKEND.EngineForkChoiceUpdatedV1:input_type -> remote.EngineForkChoiceUpdatedRequest + 24, // 19: remote.ETHBACKEND.Version:input_type -> google.protobuf.Empty + 13, // 20: remote.ETHBACKEND.ProtocolVersion:input_type -> remote.ProtocolVersionRequest + 15, // 21: remote.ETHBACKEND.ClientVersion:input_type -> remote.ClientVersionRequest + 17, // 22: remote.ETHBACKEND.Subscribe:input_type -> remote.SubscribeRequest + 19, // 23: remote.ETHBACKEND.Block:input_type -> remote.BlockRequest + 2, // 24: remote.ETHBACKEND.Etherbase:output_type -> remote.EtherbaseReply + 4, // 25: remote.ETHBACKEND.NetVersion:output_type -> remote.NetVersionReply + 6, // 26: remote.ETHBACKEND.NetPeerCount:output_type -> remote.NetPeerCountReply + 23, // 27: remote.ETHBACKEND.EngineGetPayloadV1:output_type -> types.ExecutionPayload + 8, // 28: remote.ETHBACKEND.EngineExecutePayloadV1:output_type -> remote.EngineExecutePayloadReply + 12, // 29: remote.ETHBACKEND.EngineForkChoiceUpdatedV1:output_type -> remote.EngineForkChoiceUpdatedReply + 25, // 30: remote.ETHBACKEND.Version:output_type -> types.VersionReply + 14, // 31: remote.ETHBACKEND.ProtocolVersion:output_type -> remote.ProtocolVersionReply + 16, // 32: remote.ETHBACKEND.ClientVersion:output_type -> remote.ClientVersionReply + 18, // 33: remote.ETHBACKEND.Subscribe:output_type -> remote.SubscribeReply + 20, // 34: remote.ETHBACKEND.Block:output_type -> remote.BlockReply + 24, // [24:35] is the sub-list for method output_type + 13, // [13:24] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_remote_ethbackend_proto_init() } @@ -810,7 +1374,7 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtocolVersionRequest); i { + switch v := v.(*EngineGetPayloadRequest); i { case 0: return &v.state case 1: @@ -822,7 +1386,7 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtocolVersionReply); i { + switch v := v.(*EngineExecutePayloadReply); i { case 0: return &v.state case 1: @@ -834,7 +1398,7 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientVersionRequest); i { + switch v := v.(*EnginePreparePayload); i { case 0: return &v.state case 1: @@ -846,7 +1410,7 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientVersionReply); i { + switch v := v.(*EngineForkChoiceUpdated); i { case 0: return &v.state case 1: @@ -858,7 +1422,7 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeRequest); i { + switch v := v.(*EngineForkChoiceUpdatedRequest); i { case 0: return &v.state case 1: @@ -870,6 +1434,78 @@ func file_remote_ethbackend_proto_init() { } } file_remote_ethbackend_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineForkChoiceUpdatedReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtocolVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtocolVersionReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientVersionReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeReply); i { case 0: return &v.state @@ -881,6 +1517,30 @@ func file_remote_ethbackend_proto_init() { return nil } } + file_remote_ethbackend_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_remote_ethbackend_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -888,7 +1548,7 @@ func file_remote_ethbackend_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_remote_ethbackend_proto_rawDesc, NumEnums: 1, - NumMessages: 12, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/gointerfaces/remote/ethbackend_grpc.pb.go b/gointerfaces/remote/ethbackend_grpc.pb.go index 4bd970373..4df60a081 100644 --- a/gointerfaces/remote/ethbackend_grpc.pb.go +++ b/gointerfaces/remote/ethbackend_grpc.pb.go @@ -23,6 +23,12 @@ type ETHBACKENDClient interface { Etherbase(ctx context.Context, in *EtherbaseRequest, opts ...grpc.CallOption) (*EtherbaseReply, error) NetVersion(ctx context.Context, in *NetVersionRequest, opts ...grpc.CallOption) (*NetVersionReply, error) NetPeerCount(ctx context.Context, in *NetPeerCountRequest, opts ...grpc.CallOption) (*NetPeerCountReply, error) + // Fetch Execution Payload using its id. + EngineGetPayloadV1(ctx context.Context, in *EngineGetPayloadRequest, opts ...grpc.CallOption) (*types.ExecutionPayload, error) + // Execute the payload. + EngineExecutePayloadV1(ctx context.Context, in *types.ExecutionPayload, opts ...grpc.CallOption) (*EngineExecutePayloadReply, error) + // Update fork choice + EngineForkChoiceUpdatedV1(ctx context.Context, in *EngineForkChoiceUpdatedRequest, opts ...grpc.CallOption) (*EngineForkChoiceUpdatedReply, error) // Version returns the service version number Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*types.VersionReply, error) // ProtocolVersion returns the Ethereum protocol version number (e.g. 66 for ETH66). @@ -30,6 +36,9 @@ type ETHBACKENDClient interface { // ClientVersion returns the Ethereum client version string using node name convention (e.g. TurboGeth/v2021.03.2-alpha/Linux). ClientVersion(ctx context.Context, in *ClientVersionRequest, opts ...grpc.CallOption) (*ClientVersionReply, error) Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (ETHBACKEND_SubscribeClient, error) + // High-level method - can read block from db, snapshots or apply any other logic + // it doesn't provide consistency + Block(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BlockReply, error) } type eTHBACKENDClient struct { @@ -67,6 +76,33 @@ func (c *eTHBACKENDClient) NetPeerCount(ctx context.Context, in *NetPeerCountReq return out, nil } +func (c *eTHBACKENDClient) EngineGetPayloadV1(ctx context.Context, in *EngineGetPayloadRequest, opts ...grpc.CallOption) (*types.ExecutionPayload, error) { + out := new(types.ExecutionPayload) + err := c.cc.Invoke(ctx, "/remote.ETHBACKEND/EngineGetPayloadV1", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *eTHBACKENDClient) EngineExecutePayloadV1(ctx context.Context, in *types.ExecutionPayload, opts ...grpc.CallOption) (*EngineExecutePayloadReply, error) { + out := new(EngineExecutePayloadReply) + err := c.cc.Invoke(ctx, "/remote.ETHBACKEND/EngineExecutePayloadV1", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *eTHBACKENDClient) EngineForkChoiceUpdatedV1(ctx context.Context, in *EngineForkChoiceUpdatedRequest, opts ...grpc.CallOption) (*EngineForkChoiceUpdatedReply, error) { + out := new(EngineForkChoiceUpdatedReply) + err := c.cc.Invoke(ctx, "/remote.ETHBACKEND/EngineForkChoiceUpdatedV1", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *eTHBACKENDClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*types.VersionReply, error) { out := new(types.VersionReply) err := c.cc.Invoke(ctx, "/remote.ETHBACKEND/Version", in, out, opts...) @@ -126,6 +162,15 @@ func (x *eTHBACKENDSubscribeClient) Recv() (*SubscribeReply, error) { return m, nil } +func (c *eTHBACKENDClient) Block(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BlockReply, error) { + out := new(BlockReply) + err := c.cc.Invoke(ctx, "/remote.ETHBACKEND/Block", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ETHBACKENDServer is the server API for ETHBACKEND service. // All implementations must embed UnimplementedETHBACKENDServer // for forward compatibility @@ -133,6 +178,12 @@ type ETHBACKENDServer interface { Etherbase(context.Context, *EtherbaseRequest) (*EtherbaseReply, error) NetVersion(context.Context, *NetVersionRequest) (*NetVersionReply, error) NetPeerCount(context.Context, *NetPeerCountRequest) (*NetPeerCountReply, error) + // Fetch Execution Payload using its id. + EngineGetPayloadV1(context.Context, *EngineGetPayloadRequest) (*types.ExecutionPayload, error) + // Execute the payload. + EngineExecutePayloadV1(context.Context, *types.ExecutionPayload) (*EngineExecutePayloadReply, error) + // Update fork choice + EngineForkChoiceUpdatedV1(context.Context, *EngineForkChoiceUpdatedRequest) (*EngineForkChoiceUpdatedReply, error) // Version returns the service version number Version(context.Context, *emptypb.Empty) (*types.VersionReply, error) // ProtocolVersion returns the Ethereum protocol version number (e.g. 66 for ETH66). @@ -140,6 +191,9 @@ type ETHBACKENDServer interface { // ClientVersion returns the Ethereum client version string using node name convention (e.g. TurboGeth/v2021.03.2-alpha/Linux). ClientVersion(context.Context, *ClientVersionRequest) (*ClientVersionReply, error) Subscribe(*SubscribeRequest, ETHBACKEND_SubscribeServer) error + // High-level method - can read block from db, snapshots or apply any other logic + // it doesn't provide consistency + Block(context.Context, *BlockRequest) (*BlockReply, error) mustEmbedUnimplementedETHBACKENDServer() } @@ -156,6 +210,15 @@ func (UnimplementedETHBACKENDServer) NetVersion(context.Context, *NetVersionRequ func (UnimplementedETHBACKENDServer) NetPeerCount(context.Context, *NetPeerCountRequest) (*NetPeerCountReply, error) { return nil, status.Errorf(codes.Unimplemented, "method NetPeerCount not implemented") } +func (UnimplementedETHBACKENDServer) EngineGetPayloadV1(context.Context, *EngineGetPayloadRequest) (*types.ExecutionPayload, error) { + return nil, status.Errorf(codes.Unimplemented, "method EngineGetPayloadV1 not implemented") +} +func (UnimplementedETHBACKENDServer) EngineExecutePayloadV1(context.Context, *types.ExecutionPayload) (*EngineExecutePayloadReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method EngineExecutePayloadV1 not implemented") +} +func (UnimplementedETHBACKENDServer) EngineForkChoiceUpdatedV1(context.Context, *EngineForkChoiceUpdatedRequest) (*EngineForkChoiceUpdatedReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method EngineForkChoiceUpdatedV1 not implemented") +} func (UnimplementedETHBACKENDServer) Version(context.Context, *emptypb.Empty) (*types.VersionReply, error) { return nil, status.Errorf(codes.Unimplemented, "method Version not implemented") } @@ -168,6 +231,9 @@ func (UnimplementedETHBACKENDServer) ClientVersion(context.Context, *ClientVersi func (UnimplementedETHBACKENDServer) Subscribe(*SubscribeRequest, ETHBACKEND_SubscribeServer) error { return status.Errorf(codes.Unimplemented, "method Subscribe not implemented") } +func (UnimplementedETHBACKENDServer) Block(context.Context, *BlockRequest) (*BlockReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Block not implemented") +} func (UnimplementedETHBACKENDServer) mustEmbedUnimplementedETHBACKENDServer() {} // UnsafeETHBACKENDServer may be embedded to opt out of forward compatibility for this service. @@ -235,6 +301,60 @@ func _ETHBACKEND_NetPeerCount_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _ETHBACKEND_EngineGetPayloadV1_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineGetPayloadRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ETHBACKENDServer).EngineGetPayloadV1(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/remote.ETHBACKEND/EngineGetPayloadV1", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ETHBACKENDServer).EngineGetPayloadV1(ctx, req.(*EngineGetPayloadRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ETHBACKEND_EngineExecutePayloadV1_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(types.ExecutionPayload) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ETHBACKENDServer).EngineExecutePayloadV1(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/remote.ETHBACKEND/EngineExecutePayloadV1", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ETHBACKENDServer).EngineExecutePayloadV1(ctx, req.(*types.ExecutionPayload)) + } + return interceptor(ctx, in, info, handler) +} + +func _ETHBACKEND_EngineForkChoiceUpdatedV1_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineForkChoiceUpdatedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ETHBACKENDServer).EngineForkChoiceUpdatedV1(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/remote.ETHBACKEND/EngineForkChoiceUpdatedV1", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ETHBACKENDServer).EngineForkChoiceUpdatedV1(ctx, req.(*EngineForkChoiceUpdatedRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ETHBACKEND_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -310,6 +430,24 @@ func (x *eTHBACKENDSubscribeServer) Send(m *SubscribeReply) error { return x.ServerStream.SendMsg(m) } +func _ETHBACKEND_Block_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BlockRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ETHBACKENDServer).Block(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/remote.ETHBACKEND/Block", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ETHBACKENDServer).Block(ctx, req.(*BlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ETHBACKEND_ServiceDesc is the grpc.ServiceDesc for ETHBACKEND service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -329,6 +467,18 @@ var ETHBACKEND_ServiceDesc = grpc.ServiceDesc{ MethodName: "NetPeerCount", Handler: _ETHBACKEND_NetPeerCount_Handler, }, + { + MethodName: "EngineGetPayloadV1", + Handler: _ETHBACKEND_EngineGetPayloadV1_Handler, + }, + { + MethodName: "EngineExecutePayloadV1", + Handler: _ETHBACKEND_EngineExecutePayloadV1_Handler, + }, + { + MethodName: "EngineForkChoiceUpdatedV1", + Handler: _ETHBACKEND_EngineForkChoiceUpdatedV1_Handler, + }, { MethodName: "Version", Handler: _ETHBACKEND_Version_Handler, @@ -341,6 +491,10 @@ var ETHBACKEND_ServiceDesc = grpc.ServiceDesc{ MethodName: "ClientVersion", Handler: _ETHBACKEND_ClientVersion_Handler, }, + { + MethodName: "Block", + Handler: _ETHBACKEND_Block_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/gointerfaces/remote/kv.pb.go b/gointerfaces/remote/kv.pb.go index 93297dbc2..1b9da7fe4 100644 --- a/gointerfaces/remote/kv.pb.go +++ b/gointerfaces/remote/kv.pb.go @@ -301,7 +301,7 @@ type Pair struct { K []byte `protobuf:"bytes,1,opt,name=k,proto3" json:"k,omitempty"` V []byte `protobuf:"bytes,2,opt,name=v,proto3" json:"v,omitempty"` CursorID uint32 `protobuf:"varint,3,opt,name=cursorID,proto3" json:"cursorID,omitempty"` // send once after new cursor open - TxID uint64 `protobuf:"varint,4,opt,name=txID,proto3" json:"txID,omitempty"` // send once after tx open + TxID uint64 `protobuf:"varint,4,opt,name=txID,proto3" json:"txID,omitempty"` // send once after tx open. mdbx's tx.ID() - id of write transaction in db - where this changes happened } func (x *Pair) Reset() { diff --git a/gointerfaces/types/types.pb.go b/gointerfaces/types/types.pb.go index 9a7d96976..78d68e778 100644 --- a/gointerfaces/types/types.pb.go +++ b/gointerfaces/types/types.pb.go @@ -241,6 +241,116 @@ func (x *H512) GetLo() *H256 { return nil } +type H1024 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hi *H512 `protobuf:"bytes,1,opt,name=hi,proto3" json:"hi,omitempty"` + Lo *H512 `protobuf:"bytes,2,opt,name=lo,proto3" json:"lo,omitempty"` +} + +func (x *H1024) Reset() { + *x = H1024{} + if protoimpl.UnsafeEnabled { + mi := &file_types_types_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *H1024) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*H1024) ProtoMessage() {} + +func (x *H1024) ProtoReflect() protoreflect.Message { + mi := &file_types_types_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use H1024.ProtoReflect.Descriptor instead. +func (*H1024) Descriptor() ([]byte, []int) { + return file_types_types_proto_rawDescGZIP(), []int{4} +} + +func (x *H1024) GetHi() *H512 { + if x != nil { + return x.Hi + } + return nil +} + +func (x *H1024) GetLo() *H512 { + if x != nil { + return x.Lo + } + return nil +} + +type H2048 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hi *H1024 `protobuf:"bytes,1,opt,name=hi,proto3" json:"hi,omitempty"` + Lo *H1024 `protobuf:"bytes,2,opt,name=lo,proto3" json:"lo,omitempty"` +} + +func (x *H2048) Reset() { + *x = H2048{} + if protoimpl.UnsafeEnabled { + mi := &file_types_types_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *H2048) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*H2048) ProtoMessage() {} + +func (x *H2048) ProtoReflect() protoreflect.Message { + mi := &file_types_types_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use H2048.ProtoReflect.Descriptor instead. +func (*H2048) Descriptor() ([]byte, []int) { + return file_types_types_proto_rawDescGZIP(), []int{5} +} + +func (x *H2048) GetHi() *H1024 { + if x != nil { + return x.Hi + } + return nil +} + +func (x *H2048) GetLo() *H1024 { + if x != nil { + return x.Lo + } + return nil +} + // Reply message containing the current service version on the service side type VersionReply struct { state protoimpl.MessageState @@ -255,7 +365,7 @@ type VersionReply struct { func (x *VersionReply) Reset() { *x = VersionReply{} if protoimpl.UnsafeEnabled { - mi := &file_types_types_proto_msgTypes[4] + mi := &file_types_types_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -268,7 +378,7 @@ func (x *VersionReply) String() string { func (*VersionReply) ProtoMessage() {} func (x *VersionReply) ProtoReflect() protoreflect.Message { - mi := &file_types_types_proto_msgTypes[4] + mi := &file_types_types_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -281,7 +391,7 @@ func (x *VersionReply) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionReply.ProtoReflect.Descriptor instead. func (*VersionReply) Descriptor() ([]byte, []int) { - return file_types_types_proto_rawDescGZIP(), []int{4} + return file_types_types_proto_rawDescGZIP(), []int{6} } func (x *VersionReply) GetMajor() uint32 { @@ -305,6 +415,152 @@ func (x *VersionReply) GetPatch() uint32 { return 0 } +type ExecutionPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash *H256 `protobuf:"bytes,1,opt,name=parentHash,proto3" json:"parentHash,omitempty"` + Coinbase *H160 `protobuf:"bytes,2,opt,name=coinbase,proto3" json:"coinbase,omitempty"` + StateRoot *H256 `protobuf:"bytes,3,opt,name=stateRoot,proto3" json:"stateRoot,omitempty"` + LogsBloom *H2048 `protobuf:"bytes,4,opt,name=logsBloom,proto3" json:"logsBloom,omitempty"` + Random *H256 `protobuf:"bytes,5,opt,name=random,proto3" json:"random,omitempty"` + BlockNumber uint64 `protobuf:"varint,6,opt,name=blockNumber,proto3" json:"blockNumber,omitempty"` + GasLimit uint64 `protobuf:"varint,7,opt,name=gasLimit,proto3" json:"gasLimit,omitempty"` + GasUsed uint64 `protobuf:"varint,8,opt,name=gasUsed,proto3" json:"gasUsed,omitempty"` + Timestamp uint64 `protobuf:"varint,9,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData *H256 `protobuf:"bytes,10,opt,name=extraData,proto3" json:"extraData,omitempty"` + BaseFeePerGas *H256 `protobuf:"bytes,11,opt,name=baseFeePerGas,proto3" json:"baseFeePerGas,omitempty"` + BlockHash *H256 `protobuf:"bytes,12,opt,name=blockHash,proto3" json:"blockHash,omitempty"` + // + //Array of transaction objects, each object is a byte list. + //See https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.2/src/engine/interop/specification.md + Transactions [][]byte `protobuf:"bytes,13,rep,name=transactions,proto3" json:"transactions,omitempty"` +} + +func (x *ExecutionPayload) Reset() { + *x = ExecutionPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_types_types_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayload) ProtoMessage() {} + +func (x *ExecutionPayload) ProtoReflect() protoreflect.Message { + mi := &file_types_types_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayload.ProtoReflect.Descriptor instead. +func (*ExecutionPayload) Descriptor() ([]byte, []int) { + return file_types_types_proto_rawDescGZIP(), []int{7} +} + +func (x *ExecutionPayload) GetParentHash() *H256 { + if x != nil { + return x.ParentHash + } + return nil +} + +func (x *ExecutionPayload) GetCoinbase() *H160 { + if x != nil { + return x.Coinbase + } + return nil +} + +func (x *ExecutionPayload) GetStateRoot() *H256 { + if x != nil { + return x.StateRoot + } + return nil +} + +func (x *ExecutionPayload) GetLogsBloom() *H2048 { + if x != nil { + return x.LogsBloom + } + return nil +} + +func (x *ExecutionPayload) GetRandom() *H256 { + if x != nil { + return x.Random + } + return nil +} + +func (x *ExecutionPayload) GetBlockNumber() uint64 { + if x != nil { + return x.BlockNumber + } + return 0 +} + +func (x *ExecutionPayload) GetGasLimit() uint64 { + if x != nil { + return x.GasLimit + } + return 0 +} + +func (x *ExecutionPayload) GetGasUsed() uint64 { + if x != nil { + return x.GasUsed + } + return 0 +} + +func (x *ExecutionPayload) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *ExecutionPayload) GetExtraData() *H256 { + if x != nil { + return x.ExtraData + } + return nil +} + +func (x *ExecutionPayload) GetBaseFeePerGas() *H256 { + if x != nil { + return x.BaseFeePerGas + } + return nil +} + +func (x *ExecutionPayload) GetBlockHash() *H256 { + if x != nil { + return x.BlockHash + } + return nil +} + +func (x *ExecutionPayload) GetTransactions() [][]byte { + if x != nil { + return x.Transactions + } + return nil +} + var file_types_types_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FileOptions)(nil), @@ -362,30 +618,71 @@ var file_types_types_proto_rawDesc = []byte{ 0x35, 0x31, 0x32, 0x12, 0x1b, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x02, 0x68, 0x69, 0x12, 0x1b, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x02, 0x6c, 0x6f, 0x22, 0x50, 0x0a, - 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, - 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x3a, - 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd1, 0x86, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x3a, 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, - 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, - 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd2, 0x86, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x69, 0x6e, 0x6f, 0x72, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd3, - 0x86, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x02, 0x6c, 0x6f, 0x22, 0x41, 0x0a, + 0x05, 0x48, 0x31, 0x30, 0x32, 0x34, 0x12, 0x1b, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x35, 0x31, 0x32, 0x52, + 0x02, 0x68, 0x69, 0x12, 0x1b, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x35, 0x31, 0x32, 0x52, 0x02, 0x6c, 0x6f, + 0x22, 0x43, 0x0a, 0x05, 0x48, 0x32, 0x30, 0x34, 0x38, 0x12, 0x1c, 0x0a, 0x02, 0x68, 0x69, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, + 0x30, 0x32, 0x34, 0x52, 0x02, 0x68, 0x69, 0x12, 0x1c, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, 0x30, 0x32, + 0x34, 0x52, 0x02, 0x6c, 0x6f, 0x22, 0x50, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, + 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x22, 0x87, 0x04, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x08, 0x63, 0x6f, 0x69, + 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, 0x36, 0x30, 0x52, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, + 0x35, 0x36, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, + 0x09, 0x6c, 0x6f, 0x67, 0x73, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x30, 0x34, 0x38, 0x52, 0x09, + 0x6c, 0x6f, 0x67, 0x73, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x20, + 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, + 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x48, 0x32, 0x35, 0x36, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x31, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x50, 0x65, 0x72, 0x47, 0x61, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, + 0x32, 0x35, 0x36, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x50, 0x65, 0x72, 0x47, + 0x61, 0x73, 0x12, 0x29, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, + 0x35, 0x36, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, + 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3a, 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd1, 0x86, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd2, 0x86, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x69, 0x6e, + 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x52, 0x0a, 0x15, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xd3, 0x86, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x5a, + 0x0d, 0x2e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -400,29 +697,44 @@ func file_types_types_proto_rawDescGZIP() []byte { return file_types_types_proto_rawDescData } -var file_types_types_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_types_types_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_types_types_proto_goTypes = []interface{}{ (*H128)(nil), // 0: types.H128 (*H160)(nil), // 1: types.H160 (*H256)(nil), // 2: types.H256 (*H512)(nil), // 3: types.H512 - (*VersionReply)(nil), // 4: types.VersionReply - (*descriptorpb.FileOptions)(nil), // 5: google.protobuf.FileOptions + (*H1024)(nil), // 4: types.H1024 + (*H2048)(nil), // 5: types.H2048 + (*VersionReply)(nil), // 6: types.VersionReply + (*ExecutionPayload)(nil), // 7: types.ExecutionPayload + (*descriptorpb.FileOptions)(nil), // 8: google.protobuf.FileOptions } var file_types_types_proto_depIdxs = []int32{ - 0, // 0: types.H160.hi:type_name -> types.H128 - 0, // 1: types.H256.hi:type_name -> types.H128 - 0, // 2: types.H256.lo:type_name -> types.H128 - 2, // 3: types.H512.hi:type_name -> types.H256 - 2, // 4: types.H512.lo:type_name -> types.H256 - 5, // 5: types.service_major_version:extendee -> google.protobuf.FileOptions - 5, // 6: types.service_minor_version:extendee -> google.protobuf.FileOptions - 5, // 7: types.service_patch_version:extendee -> google.protobuf.FileOptions - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 5, // [5:8] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 0, // 0: types.H160.hi:type_name -> types.H128 + 0, // 1: types.H256.hi:type_name -> types.H128 + 0, // 2: types.H256.lo:type_name -> types.H128 + 2, // 3: types.H512.hi:type_name -> types.H256 + 2, // 4: types.H512.lo:type_name -> types.H256 + 3, // 5: types.H1024.hi:type_name -> types.H512 + 3, // 6: types.H1024.lo:type_name -> types.H512 + 4, // 7: types.H2048.hi:type_name -> types.H1024 + 4, // 8: types.H2048.lo:type_name -> types.H1024 + 2, // 9: types.ExecutionPayload.parentHash:type_name -> types.H256 + 1, // 10: types.ExecutionPayload.coinbase:type_name -> types.H160 + 2, // 11: types.ExecutionPayload.stateRoot:type_name -> types.H256 + 5, // 12: types.ExecutionPayload.logsBloom:type_name -> types.H2048 + 2, // 13: types.ExecutionPayload.random:type_name -> types.H256 + 2, // 14: types.ExecutionPayload.extraData:type_name -> types.H256 + 2, // 15: types.ExecutionPayload.baseFeePerGas:type_name -> types.H256 + 2, // 16: types.ExecutionPayload.blockHash:type_name -> types.H256 + 8, // 17: types.service_major_version:extendee -> google.protobuf.FileOptions + 8, // 18: types.service_minor_version:extendee -> google.protobuf.FileOptions + 8, // 19: types.service_patch_version:extendee -> google.protobuf.FileOptions + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 17, // [17:20] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_types_types_proto_init() } @@ -480,6 +792,30 @@ func file_types_types_proto_init() { } } file_types_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*H1024); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_types_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*H2048); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_types_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionReply); i { case 0: return &v.state @@ -491,6 +827,18 @@ func file_types_types_proto_init() { return nil } } + file_types_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutionPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -498,7 +846,7 @@ func file_types_types_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_types_types_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 8, NumExtensions: 3, NumServices: 0, }, diff --git a/interfaces/Cargo.toml b/interfaces/Cargo.toml index e2c0e0827..b85385c3f 100644 --- a/interfaces/Cargo.toml +++ b/interfaces/Cargo.toml @@ -18,11 +18,11 @@ web3 = [] arrayref = "0.3" ethereum-types = { version = "0.12", default-features = false } once_cell = { version = "1", optional = true } -prost = "0.8" +prost = "0.9" serde = { version = "1", features = ["derive"], optional = true } toml = { version = "0.5", optional = true } -tonic = "0.5" +tonic = "0.6" [build-dependencies] -prost-build = "0.8" -tonic-build = "0.5" +prost-build = "0.9" +tonic-build = "0.6" diff --git a/interfaces/remote/ethbackend.proto b/interfaces/remote/ethbackend.proto index d3e309a09..6b36a0878 100644 --- a/interfaces/remote/ethbackend.proto +++ b/interfaces/remote/ethbackend.proto @@ -11,8 +11,18 @@ service ETHBACKEND { rpc Etherbase(EtherbaseRequest) returns (EtherbaseReply); rpc NetVersion(NetVersionRequest) returns (NetVersionReply); - + rpc NetPeerCount(NetPeerCountRequest) returns (NetPeerCountReply); + // "The Merge" RPC Requests to be netively implemented in the Erigon Node Backend + + // Fetch Execution Payload using its id. + rpc EngineGetPayloadV1(EngineGetPayloadRequest) returns (types.ExecutionPayload); + + // Execute the payload. + rpc EngineExecutePayloadV1(types.ExecutionPayload) returns (EngineExecutePayloadReply); + + // Update fork choice + rpc EngineForkChoiceUpdatedV1(EngineForkChoiceUpdatedRequest) returns (EngineForkChoiceUpdatedReply); // Version returns the service version number rpc Version(google.protobuf.Empty) returns (types.VersionReply); @@ -24,6 +34,10 @@ service ETHBACKEND { rpc ClientVersion(ClientVersionRequest) returns (ClientVersionReply); rpc Subscribe(SubscribeRequest) returns (stream SubscribeReply); + + // High-level method - can read block from db, snapshots or apply any other logic + // it doesn't provide consistency + rpc Block(BlockRequest) returns (BlockReply); } enum Event { @@ -44,6 +58,38 @@ message NetPeerCountRequest {} message NetPeerCountReply { uint64 count = 1; } + +message EngineGetPayloadRequest { + uint64 payloadId = 1; +} +message EngineExecutePayloadReply { + string status = 1; + types.H256 latestValidHash = 2; +} + +message EnginePreparePayload { + types.H256 parentHash = 1; + uint64 timestamp = 2; + types.H256 random = 3; + types.H160 feeRecipient = 4; +} + +message EngineForkChoiceUpdated { + types.H256 headBlockHash = 1; + types.H256 safeBlockHash = 2; + types.H256 finalizedBlockHash = 3; +} + +message EngineForkChoiceUpdatedRequest { + EnginePreparePayload headBlockHash = 1; + EngineForkChoiceUpdated safeBlockHash = 2; +} + +message EngineForkChoiceUpdatedReply { + string status = 1; + uint64 payloadId = 2; +} + message ProtocolVersionRequest {} message ProtocolVersionReply { uint64 id = 1; } @@ -61,3 +107,13 @@ message SubscribeReply { bytes data = 2; // serialized data } + +message BlockRequest { + uint64 blockHeight = 2; + types.H256 blockHash = 3; +} + +message BlockReply { + bytes blockRlp = 1; + bytes senders = 2; +} \ No newline at end of file diff --git a/interfaces/remote/kv.proto b/interfaces/remote/kv.proto index fd4abdae9..ec9a0bb29 100644 --- a/interfaces/remote/kv.proto +++ b/interfaces/remote/kv.proto @@ -20,6 +20,7 @@ service KV { rpc Tx(stream Cursor) returns (stream Pair); rpc StateChanges(StateChangeRequest) returns (stream StateChangeBatch); + } enum Op { @@ -55,7 +56,7 @@ message Pair { bytes k = 1; bytes v = 2; uint32 cursorID = 3; // send once after new cursor open - uint64 txID = 4; // send once after tx open + uint64 txID = 4; // send once after tx open. mdbx's tx.ID() - id of write transaction in db - where this changes happened } enum Action { diff --git a/interfaces/types/types.proto b/interfaces/types/types.proto index 5cd2a094b..fc82b8c50 100644 --- a/interfaces/types/types.proto +++ b/interfaces/types/types.proto @@ -38,9 +38,38 @@ message H512 { H256 lo = 2; } +message H1024 { + H512 hi = 1; + H512 lo = 2; +} + +message H2048 { + H1024 hi = 1; + H1024 lo = 2; +} // Reply message containing the current service version on the service side message VersionReply { uint32 major = 1; uint32 minor = 2; uint32 patch = 3; } + +message ExecutionPayload { + types.H256 parentHash = 1; + types.H160 coinbase = 2; + types.H256 stateRoot = 3; + types.H2048 logsBloom = 4; + types.H256 random = 5; + uint64 blockNumber = 6; + uint64 gasLimit = 7; + uint64 gasUsed = 8; + uint64 timestamp = 9; + types.H256 extraData = 10; + types.H256 baseFeePerGas = 11; + types.H256 blockHash = 12; + /* + Array of transaction objects, each object is a byte list. + See https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.2/src/engine/interop/specification.md + */ + repeated bytes transactions = 13; +} \ No newline at end of file