client: Update Attester to Use Beacon Node RPC, Replacing SMC Completely (#365)

This commit is contained in:
Raul Jordan
2018-08-09 17:54:59 -05:00
committed by GitHub
parent 390ac62ed8
commit cd90598a90
26 changed files with 1235 additions and 530 deletions

View File

@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: messages.proto
// source: proto/beacon/p2p/v1/messages.proto
package ethereum_beacon_p2p_v1
@@ -30,7 +30,7 @@ func (m *BeaconBlockHashAnnounce) Reset() { *m = BeaconBlockHashAnnounce
func (m *BeaconBlockHashAnnounce) String() string { return proto.CompactTextString(m) }
func (*BeaconBlockHashAnnounce) ProtoMessage() {}
func (*BeaconBlockHashAnnounce) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{0}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{0}
}
func (m *BeaconBlockHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockHashAnnounce.Unmarshal(m, b)
@@ -68,7 +68,7 @@ func (m *BeaconBlockRequest) Reset() { *m = BeaconBlockRequest{} }
func (m *BeaconBlockRequest) String() string { return proto.CompactTextString(m) }
func (*BeaconBlockRequest) ProtoMessage() {}
func (*BeaconBlockRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{1}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{1}
}
func (m *BeaconBlockRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockRequest.Unmarshal(m, b)
@@ -106,7 +106,7 @@ func (m *BeaconBlockRequestBySlotNumber) Reset() { *m = BeaconBlockReque
func (m *BeaconBlockRequestBySlotNumber) String() string { return proto.CompactTextString(m) }
func (*BeaconBlockRequestBySlotNumber) ProtoMessage() {}
func (*BeaconBlockRequestBySlotNumber) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{2}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{2}
}
func (m *BeaconBlockRequestBySlotNumber) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockRequestBySlotNumber.Unmarshal(m, b)
@@ -144,7 +144,7 @@ func (m *BeaconBlockResponse) Reset() { *m = BeaconBlockResponse{} }
func (m *BeaconBlockResponse) String() string { return proto.CompactTextString(m) }
func (*BeaconBlockResponse) ProtoMessage() {}
func (*BeaconBlockResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{3}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{3}
}
func (m *BeaconBlockResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockResponse.Unmarshal(m, b)
@@ -191,7 +191,7 @@ func (m *BeaconBlock) Reset() { *m = BeaconBlock{} }
func (m *BeaconBlock) String() string { return proto.CompactTextString(m) }
func (*BeaconBlock) ProtoMessage() {}
func (*BeaconBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{4}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{4}
}
func (m *BeaconBlock) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlock.Unmarshal(m, b)
@@ -292,7 +292,7 @@ func (m *CrystallizedStateHashAnnounce) Reset() { *m = CrystallizedState
func (m *CrystallizedStateHashAnnounce) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateHashAnnounce) ProtoMessage() {}
func (*CrystallizedStateHashAnnounce) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{5}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{5}
}
func (m *CrystallizedStateHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateHashAnnounce.Unmarshal(m, b)
@@ -330,7 +330,7 @@ func (m *CrystallizedStateRequest) Reset() { *m = CrystallizedStateReque
func (m *CrystallizedStateRequest) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateRequest) ProtoMessage() {}
func (*CrystallizedStateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{6}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{6}
}
func (m *CrystallizedStateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateRequest.Unmarshal(m, b)
@@ -368,7 +368,7 @@ func (m *CrystallizedStateResponse) Reset() { *m = CrystallizedStateResp
func (m *CrystallizedStateResponse) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateResponse) ProtoMessage() {}
func (*CrystallizedStateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{7}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{7}
}
func (m *CrystallizedStateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateResponse.Unmarshal(m, b)
@@ -418,7 +418,7 @@ func (m *CrystallizedState) Reset() { *m = CrystallizedState{} }
func (m *CrystallizedState) String() string { return proto.CompactTextString(m) }
func (*CrystallizedState) ProtoMessage() {}
func (*CrystallizedState) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{8}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{8}
}
func (m *CrystallizedState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedState.Unmarshal(m, b)
@@ -540,7 +540,7 @@ func (m *ActiveStateHashAnnounce) Reset() { *m = ActiveStateHashAnnounce
func (m *ActiveStateHashAnnounce) String() string { return proto.CompactTextString(m) }
func (*ActiveStateHashAnnounce) ProtoMessage() {}
func (*ActiveStateHashAnnounce) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{9}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{9}
}
func (m *ActiveStateHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateHashAnnounce.Unmarshal(m, b)
@@ -578,7 +578,7 @@ func (m *ActiveStateRequest) Reset() { *m = ActiveStateRequest{} }
func (m *ActiveStateRequest) String() string { return proto.CompactTextString(m) }
func (*ActiveStateRequest) ProtoMessage() {}
func (*ActiveStateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{10}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{10}
}
func (m *ActiveStateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateRequest.Unmarshal(m, b)
@@ -616,7 +616,7 @@ func (m *ActiveStateResponse) Reset() { *m = ActiveStateResponse{} }
func (m *ActiveStateResponse) String() string { return proto.CompactTextString(m) }
func (*ActiveStateResponse) ProtoMessage() {}
func (*ActiveStateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{11}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{11}
}
func (m *ActiveStateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateResponse.Unmarshal(m, b)
@@ -655,7 +655,7 @@ func (m *ActiveState) Reset() { *m = ActiveState{} }
func (m *ActiveState) String() string { return proto.CompactTextString(m) }
func (*ActiveState) ProtoMessage() {}
func (*ActiveState) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{12}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{12}
}
func (m *ActiveState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveState.Unmarshal(m, b)
@@ -703,7 +703,7 @@ func (m *AggregateVote) Reset() { *m = AggregateVote{} }
func (m *AggregateVote) String() string { return proto.CompactTextString(m) }
func (*AggregateVote) ProtoMessage() {}
func (*AggregateVote) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{13}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{13}
}
func (m *AggregateVote) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AggregateVote.Unmarshal(m, b)
@@ -767,7 +767,7 @@ func (m *ValidatorRecord) Reset() { *m = ValidatorRecord{} }
func (m *ValidatorRecord) String() string { return proto.CompactTextString(m) }
func (*ValidatorRecord) ProtoMessage() {}
func (*ValidatorRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_8d20a0b636f041ba, []int{14}
return fileDescriptor_messages_bc6e7d0a50c57853, []int{14}
}
func (m *ValidatorRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValidatorRecord.Unmarshal(m, b)
@@ -847,72 +847,74 @@ func init() {
proto.RegisterType((*ValidatorRecord)(nil), "ethereum.beacon.p2p.v1.ValidatorRecord")
}
func init() { proto.RegisterFile("messages.proto", fileDescriptor_messages_8d20a0b636f041ba) }
var fileDescriptor_messages_8d20a0b636f041ba = []byte{
// 1012 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x5f, 0x6f, 0xdb, 0x36,
0x10, 0x47, 0x1a, 0xa7, 0x69, 0xce, 0x76, 0x12, 0x33, 0xcd, 0xa2, 0x14, 0xe8, 0x9a, 0x39, 0x2b,
0xea, 0x6e, 0xa8, 0xb2, 0xa5, 0xd8, 0xb0, 0xed, 0xcd, 0x49, 0x57, 0xec, 0x1f, 0x86, 0x42, 0x2e,
0x8a, 0xed, 0x61, 0x10, 0x68, 0xe9, 0x2c, 0x71, 0x91, 0x44, 0x55, 0xa4, 0x9c, 0x7a, 0x4f, 0xfb,
0x28, 0xfb, 0x46, 0xfb, 0x3a, 0x7b, 0x1c, 0x48, 0x4a, 0x32, 0x15, 0x27, 0x29, 0xfa, 0x12, 0x44,
0xbf, 0x7f, 0xa6, 0xce, 0x77, 0x3c, 0xc3, 0x76, 0x8a, 0x42, 0xd0, 0x08, 0x85, 0x9b, 0x17, 0x5c,
0x72, 0xf2, 0x11, 0xca, 0x18, 0x0b, 0x2c, 0x53, 0x77, 0x8a, 0x34, 0xe0, 0x99, 0x9b, 0x9f, 0xe6,
0xee, 0xfc, 0xcb, 0x07, 0x8f, 0x22, 0xce, 0xa3, 0x04, 0x4f, 0xb4, 0x6a, 0x5a, 0xce, 0x4e, 0x24,
0x4b, 0x51, 0x48, 0x9a, 0xe6, 0xc6, 0x38, 0x7c, 0x06, 0x07, 0x67, 0xda, 0x71, 0x96, 0xf0, 0xe0,
0xe2, 0x07, 0x2a, 0xe2, 0x71, 0x96, 0xf1, 0x32, 0x0b, 0x90, 0x10, 0xe8, 0xc4, 0x54, 0xc4, 0xce,
0xda, 0xd1, 0xda, 0xa8, 0xe7, 0xe9, 0xff, 0x87, 0x23, 0x20, 0x96, 0xdc, 0xc3, 0xb7, 0x25, 0x0a,
0x79, 0xad, 0x72, 0x0c, 0x1f, 0xaf, 0x2a, 0xcf, 0x16, 0x93, 0x84, 0xcb, 0x5f, 0xcb, 0x74, 0x8a,
0x05, 0x79, 0x04, 0x5d, 0x91, 0x70, 0xe9, 0x67, 0xfa, 0x51, 0x9b, 0x3b, 0x1e, 0x88, 0x46, 0x30,
0x7c, 0x05, 0x7b, 0xad, 0x08, 0x91, 0xf3, 0x4c, 0x20, 0xf9, 0x16, 0x36, 0xa6, 0x0a, 0xd0, 0x8e,
0xee, 0xe9, 0xb1, 0x7b, 0xfd, 0xbb, 0xbb, 0xb6, 0xd7, 0x38, 0x86, 0x7f, 0x77, 0xa0, 0x6b, 0xc1,
0xea, 0x08, 0x39, 0x2d, 0x30, 0x93, 0xbe, 0x75, 0x7e, 0x30, 0x90, 0xaa, 0xc5, 0xd5, 0x33, 0xde,
0xb9, 0x7a, 0x46, 0x72, 0x0c, 0xfd, 0x82, 0x66, 0x21, 0xe5, 0x7e, 0x81, 0x73, 0xa4, 0x89, 0xb3,
0xae, 0x33, 0x7a, 0x06, 0xf4, 0x34, 0x46, 0x4e, 0x60, 0x8f, 0x4a, 0xa9, 0xea, 0x2e, 0x19, 0xcf,
0xfc, 0x29, 0x93, 0x29, 0x15, 0x17, 0x4e, 0x47, 0x4b, 0x89, 0x45, 0x9d, 0x19, 0x86, 0x7c, 0x07,
0x87, 0xb6, 0x81, 0x46, 0x51, 0x81, 0x11, 0x95, 0xe8, 0x0b, 0x16, 0x39, 0x1b, 0x47, 0xeb, 0xa3,
0xbe, 0x77, 0x60, 0x09, 0xc6, 0x35, 0x3f, 0x61, 0x11, 0xf9, 0x1d, 0xf6, 0x45, 0x4c, 0x8b, 0xd0,
0x72, 0xcd, 0xb9, 0x44, 0xe1, 0xdc, 0x3d, 0x5a, 0x1f, 0x75, 0x4f, 0x1f, 0xdf, 0x54, 0xae, 0x26,
0xe4, 0x0d, 0x97, 0xe8, 0xed, 0xe9, 0x8c, 0x16, 0x26, 0xc8, 0xa7, 0xb0, 0x9d, 0x52, 0x96, 0xf9,
0x41, 0xac, 0xfe, 0x16, 0x38, 0x73, 0x36, 0xcd, 0xdb, 0x2a, 0xf4, 0x5c, 0x81, 0x1e, 0xce, 0xc8,
0x67, 0x30, 0xa0, 0x81, 0x64, 0x73, 0xf4, 0xd5, 0xf1, 0xd0, 0x94, 0xf6, 0x9e, 0x16, 0xee, 0x18,
0x62, 0xa2, 0x70, 0x5d, 0xdf, 0xaf, 0xe1, 0x20, 0x28, 0x16, 0x42, 0xd2, 0x24, 0x61, 0x7f, 0x61,
0x68, 0x3b, 0xb6, 0xb4, 0x63, 0xdf, 0xa6, 0x97, 0xbe, 0x6f, 0x60, 0xab, 0xe9, 0x64, 0x07, 0x74,
0x1f, 0x3c, 0x70, 0x4d, 0xaf, 0xbb, 0x75, 0xaf, 0xbb, 0xaf, 0x6b, 0x85, 0xb7, 0x14, 0x0f, 0x9f,
0xc3, 0xc3, 0xf3, 0xeb, 0x22, 0x6f, 0x6d, 0x7b, 0x17, 0x9c, 0x15, 0xd3, 0x6d, 0xcd, 0x5f, 0xc2,
0xe1, 0x35, 0xfa, 0xaa, 0x7f, 0x7f, 0x03, 0xb2, 0xfa, 0xce, 0x55, 0x33, 0x3f, 0xbd, 0xe9, 0xdb,
0x59, 0x8d, 0x1b, 0xac, 0x54, 0x66, 0xf8, 0xef, 0x06, 0x0c, 0x56, 0x84, 0xe4, 0x75, 0xf3, 0x7d,
0xcc, 0x69, 0xc2, 0x42, 0x2a, 0x79, 0x21, 0x9c, 0x35, 0xdd, 0x0c, 0x4f, 0x6e, 0xfa, 0xb8, 0x37,
0xb5, 0xd2, 0xc3, 0x80, 0x17, 0xa1, 0xb7, 0x6b, 0x12, 0x1a, 0x58, 0xa8, 0xd4, 0xb7, 0x25, 0x96,
0x18, 0xda, 0xa9, 0x77, 0x3e, 0x30, 0xd5, 0x24, 0xb4, 0x53, 0xf1, 0x1d, 0x93, 0xed, 0xd4, 0xf5,
0x0f, 0x4c, 0x35, 0x09, 0x56, 0xaa, 0xea, 0xb2, 0xb2, 0xd0, 0x73, 0x8e, 0x39, 0x0f, 0x62, 0x5f,
0xc4, 0xe5, 0x6c, 0x96, 0xb0, 0x2c, 0x72, 0x3a, 0x47, 0xeb, 0xa3, 0x8e, 0xb7, 0x5f, 0xd1, 0xdf,
0x2b, 0x76, 0x52, 0x93, 0x6a, 0xb8, 0x5b, 0x3e, 0x67, 0x43, 0xcf, 0x7f, 0xcf, 0x56, 0x93, 0x2f,
0xe0, 0x7e, 0x42, 0x85, 0xf4, 0xff, 0x2c, 0x85, 0x64, 0x33, 0x86, 0x61, 0xa5, 0xbd, 0xab, 0xb5,
0x44, 0x71, 0x3f, 0xd5, 0x54, 0xdb, 0x31, 0x63, 0x19, 0x35, 0x2d, 0x60, 0x1c, 0x9b, 0x4b, 0xc7,
0xcb, 0x9a, 0x32, 0x8e, 0x27, 0xb0, 0x53, 0x1f, 0x24, 0x5c, 0x64, 0x54, 0xc8, 0x85, 0x1e, 0xa8,
0x8e, 0xb7, 0x5d, 0xc1, 0x2f, 0x0c, 0x4a, 0x1e, 0x02, 0x64, 0xf8, 0x4e, 0xfa, 0x7a, 0x7a, 0xf5,
0x08, 0x75, 0xbc, 0x2d, 0x85, 0x4c, 0x14, 0x40, 0x5c, 0xd8, 0xab, 0x73, 0x82, 0x18, 0x83, 0x0b,
0x3f, 0xe7, 0x2c, 0x93, 0x7a, 0x80, 0x7a, 0xde, 0xa0, 0xa2, 0xce, 0x15, 0xf3, 0x4a, 0x11, 0xe4,
0x31, 0x6c, 0x4b, 0x2e, 0x69, 0xe2, 0x87, 0x98, 0x73, 0xc1, 0xa4, 0x70, 0xba, 0x3a, 0xb2, 0xaf,
0xd1, 0x17, 0x15, 0x48, 0x3e, 0x81, 0x5e, 0x75, 0x2c, 0x5f, 0x20, 0x86, 0x4e, 0x4f, 0xe7, 0x75,
0x2b, 0x6c, 0x82, 0x18, 0x92, 0xaf, 0xe0, 0xc0, 0x96, 0xf8, 0xba, 0x00, 0x05, 0x0a, 0x94, 0x4e,
0x5f, 0x47, 0xde, 0xb7, 0xd4, 0xbf, 0x50, 0x21, 0x3d, 0xc5, 0xa9, 0xf5, 0x34, 0x6e, 0x5f, 0x19,
0xef, 0x5b, 0x4f, 0x96, 0xfc, 0xb6, 0x09, 0xfd, 0x03, 0xf6, 0x5a, 0xca, 0x6a, 0x36, 0x5f, 0x42,
0xcf, 0xbe, 0xbb, 0xde, 0xb7, 0x62, 0xec, 0x88, 0xae, 0x75, 0xb7, 0x0d, 0x0b, 0xe8, 0x5a, 0x9c,
0x6a, 0x40, 0x53, 0x47, 0x73, 0x69, 0x63, 0xb1, 0x2c, 0xa8, 0x59, 0x7b, 0xfb, 0x9a, 0x1e, 0x57,
0x6c, 0x53, 0xd8, 0xcf, 0x61, 0xd0, 0x38, 0xa6, 0x4c, 0xce, 0x18, 0x26, 0xa1, 0x5e, 0x42, 0x3d,
0x6f, 0xb7, 0x26, 0xce, 0x2a, 0x7c, 0xf8, 0xcf, 0x1a, 0xf4, 0x5b, 0x17, 0x36, 0x39, 0x84, 0x7b,
0x66, 0x15, 0xb0, 0x50, 0x7f, 0x4e, 0xdf, 0xdb, 0xd4, 0xcf, 0x3f, 0x86, 0x64, 0x04, 0xbb, 0x86,
0xd2, 0x8b, 0xd1, 0xdc, 0xb8, 0x26, 0x78, 0x5b, 0xe3, 0xcd, 0xcf, 0x01, 0xd5, 0x03, 0x82, 0x45,
0x99, 0x39, 0x81, 0xde, 0x5b, 0x66, 0xc5, 0xf5, 0x0d, 0x5a, 0xaf, 0xac, 0x63, 0xe8, 0xb7, 0xd7,
0x54, 0x47, 0xaf, 0xa9, 0x1e, 0xb5, 0x76, 0xd3, 0xf0, 0xbf, 0x35, 0xd8, 0xb9, 0x32, 0xae, 0xaa,
0x65, 0xf3, 0x72, 0x9a, 0xb0, 0xc0, 0xbf, 0xc0, 0x45, 0x55, 0x8e, 0x2d, 0x83, 0xfc, 0x8c, 0x0b,
0xf2, 0x14, 0x76, 0x2f, 0x99, 0x8c, 0xc3, 0x82, 0x5e, 0xd2, 0xa4, 0xea, 0x6b, 0xb3, 0x86, 0x77,
0x96, 0xb8, 0xe9, 0xee, 0x67, 0x40, 0x2c, 0x29, 0x0d, 0xc3, 0x02, 0x85, 0xa8, 0x4e, 0x3b, 0x58,
0x32, 0x63, 0x43, 0xa8, 0xe2, 0x56, 0xab, 0x3b, 0xe0, 0x69, 0xca, 0x64, 0x8a, 0x99, 0xac, 0x76,
0xf2, 0xae, 0x21, 0xce, 0x1b, 0x9c, 0x38, 0xb0, 0x39, 0xa5, 0x09, 0xcd, 0x02, 0xac, 0x2e, 0x81,
0xfa, 0x51, 0xd7, 0xe7, 0x92, 0xc9, 0x20, 0x6e, 0x46, 0xd3, 0x4c, 0x7e, 0xdf, 0xa0, 0xd5, 0x64,
0x4e, 0xef, 0xea, 0xb5, 0xf4, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x3d, 0x00, 0xf3,
0xba, 0x09, 0x00, 0x00,
func init() {
proto.RegisterFile("proto/beacon/p2p/v1/messages.proto", fileDescriptor_messages_bc6e7d0a50c57853)
}
var fileDescriptor_messages_bc6e7d0a50c57853 = []byte{
// 1023 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x5f, 0x6f, 0xdb, 0x36,
0x10, 0x47, 0x1a, 0x27, 0x69, 0xce, 0x76, 0x12, 0x33, 0xcd, 0xa2, 0x14, 0xe8, 0x9a, 0x39, 0x2b,
0xea, 0x6e, 0xa8, 0xbc, 0xa6, 0xd8, 0xb0, 0xed, 0xcd, 0x49, 0x57, 0xec, 0x1f, 0x86, 0x42, 0x2e,
0x8a, 0xed, 0x61, 0x10, 0x68, 0xe9, 0x6c, 0x71, 0x91, 0x44, 0x55, 0xa4, 0x9c, 0x7a, 0x4f, 0xfb,
0x28, 0xfb, 0x46, 0xfb, 0x3a, 0x7b, 0x2c, 0x48, 0x4a, 0x32, 0x15, 0x27, 0x29, 0xfa, 0x12, 0x44,
0xbf, 0x7f, 0xa6, 0xce, 0x77, 0x3c, 0x43, 0x3f, 0xcb, 0xb9, 0xe4, 0xc3, 0x09, 0xd2, 0x80, 0xa7,
0xc3, 0xec, 0x34, 0x1b, 0xce, 0x9f, 0x0d, 0x13, 0x14, 0x82, 0xce, 0x50, 0xb8, 0x9a, 0x24, 0x9f,
0xa0, 0x8c, 0x30, 0xc7, 0x22, 0x71, 0x8d, 0xcc, 0xcd, 0x4e, 0x33, 0x77, 0xfe, 0xec, 0xfe, 0xc3,
0x19, 0xe7, 0xb3, 0x18, 0x87, 0x5a, 0x35, 0x29, 0xa6, 0x43, 0xc9, 0x12, 0x14, 0x92, 0x26, 0x99,
0x31, 0xf6, 0x9f, 0xc2, 0xe1, 0x99, 0x76, 0x9c, 0xc5, 0x3c, 0xb8, 0xf8, 0x91, 0x8a, 0x68, 0x94,
0xa6, 0xbc, 0x48, 0x03, 0x24, 0x04, 0x5a, 0x11, 0x15, 0x91, 0xb3, 0x76, 0xbc, 0x36, 0xe8, 0x78,
0xfa, 0xff, 0xfe, 0x00, 0x88, 0x25, 0xf7, 0xf0, 0x6d, 0x81, 0x42, 0x5e, 0xab, 0x1c, 0xc1, 0xa7,
0xab, 0xca, 0xb3, 0xc5, 0x38, 0xe6, 0xf2, 0xb7, 0x22, 0x99, 0x60, 0x4e, 0x1e, 0x42, 0x5b, 0xc4,
0x5c, 0xfa, 0xa9, 0x7e, 0xd4, 0xe6, 0x96, 0x07, 0xa2, 0x16, 0xf4, 0x5f, 0xc1, 0x7e, 0x23, 0x42,
0x64, 0x3c, 0x15, 0x48, 0xbe, 0x83, 0x8d, 0x89, 0x02, 0xb4, 0xa3, 0x7d, 0x7a, 0xe2, 0x5e, 0xff,
0xee, 0xae, 0xed, 0x35, 0x8e, 0xfe, 0x3f, 0x2d, 0x68, 0x5b, 0xb0, 0x3a, 0x42, 0x46, 0x73, 0x4c,
0xa5, 0x6f, 0x9d, 0x1f, 0x0c, 0xa4, 0x6a, 0x71, 0xf5, 0x8c, 0x77, 0xae, 0x9e, 0x91, 0x9c, 0x40,
0x37, 0xa7, 0x69, 0x48, 0xb9, 0x9f, 0xe3, 0x1c, 0x69, 0xec, 0xac, 0xeb, 0x8c, 0x8e, 0x01, 0x3d,
0x8d, 0x91, 0x21, 0xec, 0x53, 0x29, 0x55, 0xdd, 0x25, 0xe3, 0xa9, 0x3f, 0x61, 0x32, 0xa1, 0xe2,
0xc2, 0x69, 0x69, 0x29, 0xb1, 0xa8, 0x33, 0xc3, 0x90, 0xef, 0xe1, 0xc8, 0x36, 0xd0, 0xd9, 0x2c,
0xc7, 0x19, 0x95, 0xe8, 0x0b, 0x36, 0x73, 0x36, 0x8e, 0xd7, 0x07, 0x5d, 0xef, 0xd0, 0x12, 0x8c,
0x2a, 0x7e, 0xcc, 0x66, 0xe4, 0x0f, 0x38, 0x10, 0x11, 0xcd, 0x43, 0xcb, 0x35, 0xe7, 0x12, 0x85,
0xb3, 0x79, 0xbc, 0x3e, 0x68, 0x9f, 0x3e, 0xba, 0xa9, 0x5c, 0x75, 0xc8, 0x1b, 0x2e, 0xd1, 0xdb,
0xd7, 0x19, 0x0d, 0x4c, 0x90, 0xcf, 0x61, 0x27, 0xa1, 0x2c, 0xf5, 0x83, 0x48, 0xfd, 0xcd, 0x71,
0xea, 0x6c, 0x99, 0xb7, 0x55, 0xe8, 0xb9, 0x02, 0x3d, 0x9c, 0x92, 0x2f, 0xa0, 0x47, 0x03, 0xc9,
0xe6, 0xe8, 0xab, 0xe3, 0xa1, 0x29, 0xed, 0x5d, 0x2d, 0xdc, 0x35, 0xc4, 0x58, 0xe1, 0xba, 0xbe,
0xdf, 0xc0, 0x61, 0x90, 0x2f, 0x84, 0xa4, 0x71, 0xcc, 0xfe, 0xc6, 0xd0, 0x76, 0x6c, 0x6b, 0xc7,
0x81, 0x4d, 0x2f, 0x7d, 0xdf, 0xc2, 0x76, 0xdd, 0xc9, 0x0e, 0xe8, 0x3e, 0xb8, 0xef, 0x9a, 0x5e,
0x77, 0xab, 0x5e, 0x77, 0x5f, 0x57, 0x0a, 0x6f, 0x29, 0xee, 0x3f, 0x87, 0x07, 0xe7, 0xd7, 0x45,
0xde, 0xda, 0xf6, 0x2e, 0x38, 0x2b, 0xa6, 0xdb, 0x9a, 0xbf, 0x80, 0xa3, 0x6b, 0xf4, 0x65, 0xff,
0xfe, 0x0e, 0x64, 0xf5, 0x9d, 0xcb, 0x66, 0x7e, 0x72, 0xd3, 0xb7, 0xb3, 0x1a, 0xd7, 0x5b, 0xa9,
0x4c, 0xff, 0xbf, 0x0d, 0xe8, 0xad, 0x08, 0xc9, 0xeb, 0xfa, 0xfb, 0x98, 0xd3, 0x98, 0x85, 0x54,
0xf2, 0x5c, 0x38, 0x6b, 0xba, 0x19, 0x1e, 0xdf, 0xf4, 0x71, 0x6f, 0x2a, 0xa5, 0x87, 0x01, 0xcf,
0x43, 0x6f, 0xcf, 0x24, 0xd4, 0xb0, 0x50, 0xa9, 0x6f, 0x0b, 0x2c, 0x30, 0xb4, 0x53, 0xef, 0x7c,
0x64, 0xaa, 0x49, 0x68, 0xa6, 0xe2, 0x3b, 0x26, 0x9b, 0xa9, 0xeb, 0x1f, 0x99, 0x6a, 0x12, 0xac,
0x54, 0xd5, 0x65, 0x45, 0xae, 0xe7, 0x1c, 0x33, 0x1e, 0x44, 0xbe, 0x88, 0x8a, 0xe9, 0x34, 0x66,
0xe9, 0xcc, 0x69, 0x1d, 0xaf, 0x0f, 0x5a, 0xde, 0x41, 0x49, 0xff, 0xa0, 0xd8, 0x71, 0x45, 0xaa,
0xe1, 0x6e, 0xf8, 0x9c, 0x0d, 0x3d, 0xff, 0x1d, 0x5b, 0x4d, 0xbe, 0x82, 0x7b, 0x31, 0x15, 0xd2,
0xff, 0xab, 0x10, 0x92, 0x4d, 0x19, 0x86, 0xa5, 0x76, 0x53, 0x6b, 0x89, 0xe2, 0x7e, 0xae, 0xa8,
0xa6, 0x63, 0xca, 0x52, 0x6a, 0x5a, 0xc0, 0x38, 0xb6, 0x96, 0x8e, 0x97, 0x15, 0x65, 0x1c, 0x8f,
0x61, 0xb7, 0x3a, 0x48, 0xb8, 0x48, 0xa9, 0x90, 0x0b, 0x3d, 0x50, 0x2d, 0x6f, 0xa7, 0x84, 0x5f,
0x18, 0x94, 0x3c, 0x00, 0x48, 0xf1, 0x9d, 0xf4, 0xf5, 0xf4, 0xea, 0x11, 0x6a, 0x79, 0xdb, 0x0a,
0x19, 0x2b, 0x80, 0xb8, 0xb0, 0x5f, 0xe5, 0x04, 0x11, 0x06, 0x17, 0x7e, 0xc6, 0x59, 0x2a, 0xf5,
0x00, 0x75, 0xbc, 0x5e, 0x49, 0x9d, 0x2b, 0xe6, 0x95, 0x22, 0xc8, 0x23, 0xd8, 0x91, 0x5c, 0xd2,
0xd8, 0x0f, 0x31, 0xe3, 0x82, 0x49, 0xe1, 0xb4, 0x75, 0x64, 0x57, 0xa3, 0x2f, 0x4a, 0x90, 0x7c,
0x06, 0x9d, 0xf2, 0x58, 0xbe, 0x40, 0x0c, 0x9d, 0x8e, 0xce, 0x6b, 0x97, 0xd8, 0x18, 0x31, 0x24,
0x5f, 0xc3, 0xa1, 0x2d, 0xf1, 0x75, 0x01, 0x72, 0x14, 0x28, 0x9d, 0xae, 0x8e, 0xbc, 0x67, 0xa9,
0x7f, 0xa5, 0x42, 0x7a, 0x8a, 0x53, 0xeb, 0x69, 0xd4, 0xbc, 0x32, 0x3e, 0xb4, 0x9e, 0x2c, 0xf9,
0x6d, 0x13, 0xfa, 0x27, 0xec, 0x37, 0x94, 0xe5, 0x6c, 0xbe, 0x84, 0x8e, 0x7d, 0x77, 0x7d, 0x68,
0xc5, 0xd8, 0x11, 0x6d, 0xeb, 0x6e, 0xeb, 0xe7, 0xd0, 0xb6, 0x38, 0xd5, 0x80, 0xa6, 0x8e, 0xe6,
0xd2, 0xc6, 0x7c, 0x59, 0x50, 0xb3, 0xf6, 0x0e, 0x34, 0x3d, 0x2a, 0xd9, 0xba, 0xb0, 0x5f, 0x42,
0xaf, 0x76, 0x4c, 0x98, 0x9c, 0x32, 0x8c, 0x43, 0xbd, 0x84, 0x3a, 0xde, 0x5e, 0x45, 0x9c, 0x95,
0x78, 0xff, 0xdf, 0x35, 0xe8, 0x36, 0x2e, 0x6c, 0x72, 0x04, 0x77, 0xcd, 0x2a, 0x60, 0xa1, 0xfe,
0x9c, 0xae, 0xb7, 0xa5, 0x9f, 0x7f, 0x0a, 0xc9, 0x00, 0xf6, 0x0c, 0xa5, 0x17, 0xa3, 0xb9, 0x71,
0x4d, 0xf0, 0x8e, 0xc6, 0xeb, 0x9f, 0x03, 0xaa, 0x07, 0x04, 0x9b, 0xa5, 0xe6, 0x04, 0x7a, 0x6f,
0x99, 0x15, 0xd7, 0x35, 0x68, 0xb5, 0xb2, 0x4e, 0xa0, 0xdb, 0x5c, 0x53, 0x2d, 0xbd, 0xa6, 0x3a,
0xd4, 0xda, 0x4d, 0xfd, 0xff, 0xd7, 0x60, 0xf7, 0xca, 0xb8, 0xaa, 0x96, 0xcd, 0x8a, 0x49, 0xcc,
0x02, 0xff, 0x02, 0x17, 0x65, 0x39, 0xb6, 0x0d, 0xf2, 0x0b, 0x2e, 0xc8, 0x13, 0xd8, 0xbb, 0x64,
0x32, 0x0a, 0x73, 0x7a, 0x49, 0xe3, 0xb2, 0xaf, 0xcd, 0x1a, 0xde, 0x5d, 0xe2, 0xa6, 0xbb, 0x9f,
0x02, 0xb1, 0xa4, 0x34, 0x0c, 0x73, 0x14, 0xa2, 0x3c, 0x6d, 0x6f, 0xc9, 0x8c, 0x0c, 0xa1, 0x8a,
0x5b, 0xae, 0xee, 0x80, 0x27, 0x09, 0x93, 0x09, 0xa6, 0xb2, 0xdc, 0xc9, 0x7b, 0x86, 0x38, 0xaf,
0x71, 0xe2, 0xc0, 0xd6, 0x84, 0xc6, 0x34, 0x0d, 0xb0, 0xbc, 0x04, 0xaa, 0x47, 0x5d, 0x9f, 0x4b,
0x26, 0x83, 0xa8, 0x1e, 0x4d, 0x33, 0xf9, 0x5d, 0x83, 0x96, 0x93, 0x39, 0xd9, 0xd4, 0x6b, 0xe9,
0xf9, 0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x02, 0xbd, 0x37, 0xce, 0x09, 0x00, 0x00,
}

View File

@@ -28,5 +28,6 @@ proto_library(
deps = [
"//proto/beacon/p2p/v1:v1_proto",
"//proto/sharding/p2p/v1:v1_proto",
"@com_google_protobuf//:empty_proto",
],
)

View File

@@ -6,6 +6,7 @@ package ethereum_beacon_rpc_v1
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import empty "github.com/golang/protobuf/ptypes/empty"
import v1 "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
import v11 "github.com/prysmaticlabs/prysm/proto/sharding/p2p/v1"
@@ -26,18 +27,17 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type ShuffleRequest struct {
ValidatorCount uint64 `protobuf:"varint,1,opt,name=validator_count,json=validatorCount,proto3" json:"validator_count,omitempty"`
ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,json=validatorIndex,proto3" json:"validator_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
CrystallizedStateHash []byte `protobuf:"bytes,1,opt,name=crystallized_state_hash,json=crystallizedStateHash,proto3" json:"crystallized_state_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ShuffleRequest) Reset() { *m = ShuffleRequest{} }
func (m *ShuffleRequest) String() string { return proto.CompactTextString(m) }
func (*ShuffleRequest) ProtoMessage() {}
func (*ShuffleRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{0}
return fileDescriptor_services_dd4dfbcfce50f511, []int{0}
}
func (m *ShuffleRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShuffleRequest.Unmarshal(m, b)
@@ -57,33 +57,27 @@ func (m *ShuffleRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_ShuffleRequest proto.InternalMessageInfo
func (m *ShuffleRequest) GetValidatorCount() uint64 {
func (m *ShuffleRequest) GetCrystallizedStateHash() []byte {
if m != nil {
return m.ValidatorCount
return m.CrystallizedStateHash
}
return 0
}
func (m *ShuffleRequest) GetValidatorIndex() uint64 {
if m != nil {
return m.ValidatorIndex
}
return 0
return nil
}
type ShuffleResponse struct {
IsProposer bool `protobuf:"varint,1,opt,name=is_proposer,json=isProposer,proto3" json:"is_proposer,omitempty"`
IsAttester bool `protobuf:"varint,2,opt,name=is_attester,json=isAttester,proto3" json:"is_attester,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ShuffledValidatorIndices []uint64 `protobuf:"varint,1,rep,packed,name=shuffled_validator_indices,json=shuffledValidatorIndices,proto3" json:"shuffled_validator_indices,omitempty"`
CutoffIndices []uint64 `protobuf:"varint,2,rep,packed,name=cutoff_indices,json=cutoffIndices,proto3" json:"cutoff_indices,omitempty"`
AssignedAttestationHeights []uint64 `protobuf:"varint,3,rep,packed,name=assigned_attestation_heights,json=assignedAttestationHeights,proto3" json:"assigned_attestation_heights,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ShuffleResponse) Reset() { *m = ShuffleResponse{} }
func (m *ShuffleResponse) String() string { return proto.CompactTextString(m) }
func (*ShuffleResponse) ProtoMessage() {}
func (*ShuffleResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{1}
return fileDescriptor_services_dd4dfbcfce50f511, []int{1}
}
func (m *ShuffleResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShuffleResponse.Unmarshal(m, b)
@@ -103,18 +97,25 @@ func (m *ShuffleResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_ShuffleResponse proto.InternalMessageInfo
func (m *ShuffleResponse) GetIsProposer() bool {
func (m *ShuffleResponse) GetShuffledValidatorIndices() []uint64 {
if m != nil {
return m.IsProposer
return m.ShuffledValidatorIndices
}
return false
return nil
}
func (m *ShuffleResponse) GetIsAttester() bool {
func (m *ShuffleResponse) GetCutoffIndices() []uint64 {
if m != nil {
return m.IsAttester
return m.CutoffIndices
}
return false
return nil
}
func (m *ShuffleResponse) GetAssignedAttestationHeights() []uint64 {
if m != nil {
return m.AssignedAttestationHeights
}
return nil
}
type ProposeRequest struct {
@@ -131,7 +132,7 @@ func (m *ProposeRequest) Reset() { *m = ProposeRequest{} }
func (m *ProposeRequest) String() string { return proto.CompactTextString(m) }
func (*ProposeRequest) ProtoMessage() {}
func (*ProposeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{2}
return fileDescriptor_services_dd4dfbcfce50f511, []int{2}
}
func (m *ProposeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposeRequest.Unmarshal(m, b)
@@ -190,7 +191,7 @@ func (m *ProposeResponse) Reset() { *m = ProposeResponse{} }
func (m *ProposeResponse) String() string { return proto.CompactTextString(m) }
func (*ProposeResponse) ProtoMessage() {}
func (*ProposeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{3}
return fileDescriptor_services_dd4dfbcfce50f511, []int{3}
}
func (m *ProposeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposeResponse.Unmarshal(m, b)
@@ -229,7 +230,7 @@ func (m *SignRequest) Reset() { *m = SignRequest{} }
func (m *SignRequest) String() string { return proto.CompactTextString(m) }
func (*SignRequest) ProtoMessage() {}
func (*SignRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{4}
return fileDescriptor_services_dd4dfbcfce50f511, []int{4}
}
func (m *SignRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignRequest.Unmarshal(m, b)
@@ -274,7 +275,7 @@ func (m *SignResponse) Reset() { *m = SignResponse{} }
func (m *SignResponse) String() string { return proto.CompactTextString(m) }
func (*SignResponse) ProtoMessage() {}
func (*SignResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_services_eb4c3b1ec0eff100, []int{5}
return fileDescriptor_services_dd4dfbcfce50f511, []int{5}
}
func (m *SignResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignResponse.Unmarshal(m, b)
@@ -322,9 +323,9 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type BeaconServiceClient interface {
ShuffleValidators(ctx context.Context, in *ShuffleRequest, opts ...grpc.CallOption) (BeaconService_ShuffleValidatorsClient, error)
SignBlock(ctx context.Context, in *SignRequest, opts ...grpc.CallOption) (*SignResponse, error)
ProposeBlock(ctx context.Context, in *ProposeRequest, opts ...grpc.CallOption) (*ProposeResponse, error)
LatestBeaconBlock(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconService_LatestBeaconBlockClient, error)
LatestCrystallizedState(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconService_LatestCrystallizedStateClient, error)
FetchShuffledValidatorIndices(ctx context.Context, in *ShuffleRequest, opts ...grpc.CallOption) (*ShuffleResponse, error)
}
type beaconServiceClient struct {
@@ -335,12 +336,12 @@ func NewBeaconServiceClient(cc *grpc.ClientConn) BeaconServiceClient {
return &beaconServiceClient{cc}
}
func (c *beaconServiceClient) ShuffleValidators(ctx context.Context, in *ShuffleRequest, opts ...grpc.CallOption) (BeaconService_ShuffleValidatorsClient, error) {
stream, err := c.cc.NewStream(ctx, &_BeaconService_serviceDesc.Streams[0], "/ethereum.beacon.rpc.v1.BeaconService/ShuffleValidators", opts...)
func (c *beaconServiceClient) LatestBeaconBlock(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconService_LatestBeaconBlockClient, error) {
stream, err := c.cc.NewStream(ctx, &_BeaconService_serviceDesc.Streams[0], "/ethereum.beacon.rpc.v1.BeaconService/LatestBeaconBlock", opts...)
if err != nil {
return nil, err
}
x := &beaconServiceShuffleValidatorsClient{stream}
x := &beaconServiceLatestBeaconBlockClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
@@ -350,35 +351,58 @@ func (c *beaconServiceClient) ShuffleValidators(ctx context.Context, in *Shuffle
return x, nil
}
type BeaconService_ShuffleValidatorsClient interface {
Recv() (*ShuffleResponse, error)
type BeaconService_LatestBeaconBlockClient interface {
Recv() (*v1.BeaconBlock, error)
grpc.ClientStream
}
type beaconServiceShuffleValidatorsClient struct {
type beaconServiceLatestBeaconBlockClient struct {
grpc.ClientStream
}
func (x *beaconServiceShuffleValidatorsClient) Recv() (*ShuffleResponse, error) {
m := new(ShuffleResponse)
func (x *beaconServiceLatestBeaconBlockClient) Recv() (*v1.BeaconBlock, error) {
m := new(v1.BeaconBlock)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *beaconServiceClient) SignBlock(ctx context.Context, in *SignRequest, opts ...grpc.CallOption) (*SignResponse, error) {
out := new(SignResponse)
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.BeaconService/SignBlock", in, out, opts...)
func (c *beaconServiceClient) LatestCrystallizedState(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconService_LatestCrystallizedStateClient, error) {
stream, err := c.cc.NewStream(ctx, &_BeaconService_serviceDesc.Streams[1], "/ethereum.beacon.rpc.v1.BeaconService/LatestCrystallizedState", opts...)
if err != nil {
return nil, err
}
return out, nil
x := &beaconServiceLatestCrystallizedStateClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
func (c *beaconServiceClient) ProposeBlock(ctx context.Context, in *ProposeRequest, opts ...grpc.CallOption) (*ProposeResponse, error) {
out := new(ProposeResponse)
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.BeaconService/ProposeBlock", in, out, opts...)
type BeaconService_LatestCrystallizedStateClient interface {
Recv() (*v1.CrystallizedState, error)
grpc.ClientStream
}
type beaconServiceLatestCrystallizedStateClient struct {
grpc.ClientStream
}
func (x *beaconServiceLatestCrystallizedStateClient) Recv() (*v1.CrystallizedState, error) {
m := new(v1.CrystallizedState)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *beaconServiceClient) FetchShuffledValidatorIndices(ctx context.Context, in *ShuffleRequest, opts ...grpc.CallOption) (*ShuffleResponse, error) {
out := new(ShuffleResponse)
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.BeaconService/FetchShuffledValidatorIndices", in, out, opts...)
if err != nil {
return nil, err
}
@@ -387,68 +411,71 @@ func (c *beaconServiceClient) ProposeBlock(ctx context.Context, in *ProposeReque
// BeaconServiceServer is the server API for BeaconService service.
type BeaconServiceServer interface {
ShuffleValidators(*ShuffleRequest, BeaconService_ShuffleValidatorsServer) error
SignBlock(context.Context, *SignRequest) (*SignResponse, error)
ProposeBlock(context.Context, *ProposeRequest) (*ProposeResponse, error)
LatestBeaconBlock(*empty.Empty, BeaconService_LatestBeaconBlockServer) error
LatestCrystallizedState(*empty.Empty, BeaconService_LatestCrystallizedStateServer) error
FetchShuffledValidatorIndices(context.Context, *ShuffleRequest) (*ShuffleResponse, error)
}
func RegisterBeaconServiceServer(s *grpc.Server, srv BeaconServiceServer) {
s.RegisterService(&_BeaconService_serviceDesc, srv)
}
func _BeaconService_ShuffleValidators_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(ShuffleRequest)
func _BeaconService_LatestBeaconBlock_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(empty.Empty)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(BeaconServiceServer).ShuffleValidators(m, &beaconServiceShuffleValidatorsServer{stream})
return srv.(BeaconServiceServer).LatestBeaconBlock(m, &beaconServiceLatestBeaconBlockServer{stream})
}
type BeaconService_ShuffleValidatorsServer interface {
Send(*ShuffleResponse) error
type BeaconService_LatestBeaconBlockServer interface {
Send(*v1.BeaconBlock) error
grpc.ServerStream
}
type beaconServiceShuffleValidatorsServer struct {
type beaconServiceLatestBeaconBlockServer struct {
grpc.ServerStream
}
func (x *beaconServiceShuffleValidatorsServer) Send(m *ShuffleResponse) error {
func (x *beaconServiceLatestBeaconBlockServer) Send(m *v1.BeaconBlock) error {
return x.ServerStream.SendMsg(m)
}
func _BeaconService_SignBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SignRequest)
if err := dec(in); err != nil {
return nil, err
func _BeaconService_LatestCrystallizedState_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(empty.Empty)
if err := stream.RecvMsg(m); err != nil {
return err
}
if interceptor == nil {
return srv.(BeaconServiceServer).SignBlock(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ethereum.beacon.rpc.v1.BeaconService/SignBlock",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(BeaconServiceServer).SignBlock(ctx, req.(*SignRequest))
}
return interceptor(ctx, in, info, handler)
return srv.(BeaconServiceServer).LatestCrystallizedState(m, &beaconServiceLatestCrystallizedStateServer{stream})
}
func _BeaconService_ProposeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProposeRequest)
type BeaconService_LatestCrystallizedStateServer interface {
Send(*v1.CrystallizedState) error
grpc.ServerStream
}
type beaconServiceLatestCrystallizedStateServer struct {
grpc.ServerStream
}
func (x *beaconServiceLatestCrystallizedStateServer) Send(m *v1.CrystallizedState) error {
return x.ServerStream.SendMsg(m)
}
func _BeaconService_FetchShuffledValidatorIndices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShuffleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(BeaconServiceServer).ProposeBlock(ctx, in)
return srv.(BeaconServiceServer).FetchShuffledValidatorIndices(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ethereum.beacon.rpc.v1.BeaconService/ProposeBlock",
FullMethod: "/ethereum.beacon.rpc.v1.BeaconService/FetchShuffledValidatorIndices",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(BeaconServiceServer).ProposeBlock(ctx, req.(*ProposeRequest))
return srv.(BeaconServiceServer).FetchShuffledValidatorIndices(ctx, req.(*ShuffleRequest))
}
return interceptor(ctx, in, info, handler)
}
@@ -458,60 +485,196 @@ var _BeaconService_serviceDesc = grpc.ServiceDesc{
HandlerType: (*BeaconServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "SignBlock",
Handler: _BeaconService_SignBlock_Handler,
},
{
MethodName: "ProposeBlock",
Handler: _BeaconService_ProposeBlock_Handler,
MethodName: "FetchShuffledValidatorIndices",
Handler: _BeaconService_FetchShuffledValidatorIndices_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "ShuffleValidators",
Handler: _BeaconService_ShuffleValidators_Handler,
StreamName: "LatestBeaconBlock",
Handler: _BeaconService_LatestBeaconBlock_Handler,
ServerStreams: true,
},
{
StreamName: "LatestCrystallizedState",
Handler: _BeaconService_LatestCrystallizedState_Handler,
ServerStreams: true,
},
},
Metadata: "proto/beacon/rpc/v1/services.proto",
}
func init() {
proto.RegisterFile("proto/beacon/rpc/v1/services.proto", fileDescriptor_services_eb4c3b1ec0eff100)
// AttesterServiceClient is the client API for AttesterService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AttesterServiceClient interface {
SignBlock(ctx context.Context, in *SignRequest, opts ...grpc.CallOption) (*SignResponse, error)
}
var fileDescriptor_services_eb4c3b1ec0eff100 = []byte{
// 498 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0x4f, 0x6f, 0xda, 0x4e,
0x10, 0x15, 0xe1, 0xf7, 0x8b, 0xca, 0xf0, 0x4f, 0xdd, 0xa8, 0x29, 0x45, 0xaa, 0x8a, 0x4c, 0x9a,
0x70, 0xb2, 0x03, 0xbd, 0xf5, 0x06, 0xbd, 0xb4, 0xb7, 0xca, 0x96, 0x90, 0x7a, 0xb2, 0x16, 0x33,
0xd8, 0xab, 0x80, 0xd7, 0xdd, 0x59, 0xac, 0x7e, 0xac, 0x7e, 0xc1, 0x4a, 0x95, 0xd7, 0x6b, 0xc0,
0x28, 0xa4, 0xc7, 0x7d, 0xf3, 0xde, 0xcc, 0x9b, 0x3f, 0x0b, 0x4e, 0xa6, 0xa4, 0x96, 0xde, 0x0a,
0x79, 0x24, 0x53, 0x4f, 0x65, 0x91, 0x97, 0x4f, 0x3d, 0x42, 0x95, 0x8b, 0x08, 0xc9, 0x35, 0x41,
0x76, 0x8b, 0x3a, 0x41, 0x85, 0xfb, 0x9d, 0x5b, 0xd2, 0x5c, 0x95, 0x45, 0x6e, 0x3e, 0x1d, 0xde,
0x95, 0x5a, 0x4a, 0xb8, 0x5a, 0x8b, 0x34, 0xf6, 0xb2, 0x59, 0x56, 0xa8, 0x77, 0x48, 0xc4, 0xe3,
0x4a, 0x3d, 0xac, 0x57, 0x78, 0x96, 0xe3, 0xac, 0xa0, 0x17, 0x24, 0xfb, 0xcd, 0x66, 0x8b, 0x3e,
0xfe, 0xdc, 0x23, 0x69, 0xf6, 0x00, 0xfd, 0x9c, 0x6f, 0xc5, 0x9a, 0x6b, 0xa9, 0xc2, 0x48, 0xee,
0x53, 0x3d, 0x68, 0x8c, 0x1a, 0x93, 0xff, 0xfc, 0xde, 0x01, 0xfe, 0x52, 0xa0, 0x75, 0xa2, 0x48,
0xd7, 0xf8, 0x6b, 0x70, 0x75, 0x46, 0xfc, 0x56, 0xa0, 0x4e, 0x00, 0xfd, 0x43, 0x0d, 0xca, 0x64,
0x4a, 0xc8, 0x3e, 0x40, 0x5b, 0x50, 0x98, 0x29, 0x99, 0x49, 0x42, 0x65, 0x0a, 0xbc, 0xf2, 0x41,
0xd0, 0x77, 0x8b, 0x58, 0x02, 0xd7, 0x1a, 0x49, 0xa3, 0x32, 0x89, 0x0d, 0x61, 0x6e, 0x11, 0xe7,
0x4f, 0x03, 0x7a, 0x96, 0x5d, 0x39, 0x1f, 0x43, 0x57, 0xf1, 0x74, 0xcd, 0x65, 0xa8, 0x30, 0x47,
0xbe, 0x35, 0x69, 0x3b, 0x7e, 0xa7, 0x04, 0x7d, 0x83, 0x31, 0x0f, 0x6e, 0xca, 0xac, 0x5c, 0x0b,
0x99, 0x86, 0x2b, 0xa1, 0x77, 0x9c, 0x9e, 0x4c, 0x81, 0x8e, 0xcf, 0x4e, 0x42, 0x8b, 0x32, 0xc2,
0x3e, 0xc3, 0xbb, 0x53, 0x01, 0x8f, 0x63, 0x85, 0x31, 0xd7, 0x18, 0x92, 0x88, 0x07, 0xcd, 0x51,
0x73, 0xd2, 0xf5, 0xdf, 0x9e, 0x10, 0xe6, 0x55, 0x3c, 0x10, 0x31, 0xfb, 0x01, 0x6f, 0xcc, 0x8e,
0x4e, 0x54, 0xb9, 0xd4, 0x48, 0x83, 0xff, 0x47, 0xcd, 0x49, 0x7b, 0xf6, 0xd1, 0x3d, 0xdf, 0x6f,
0x36, 0xcb, 0xdc, 0x7c, 0xea, 0x1e, 0x92, 0x2c, 0xa5, 0x46, 0xff, 0xc6, 0xe4, 0xa8, 0x61, 0xe4,
0x3c, 0x42, 0xff, 0xd0, 0xbe, 0x1d, 0xea, 0x7b, 0x80, 0xd5, 0x56, 0x46, 0x4f, 0x61, 0xc2, 0x29,
0xb1, 0xcd, 0xb7, 0x0c, 0xf2, 0x95, 0x53, 0xe2, 0x48, 0x68, 0x07, 0x22, 0x4e, 0xab, 0x69, 0xbd,
0xcc, 0x66, 0x73, 0x68, 0x91, 0x88, 0x53, 0xae, 0xf7, 0x0a, 0xcd, 0x74, 0xda, 0xb3, 0xf1, 0xd1,
0x6e, 0x75, 0x79, 0x95, 0xe1, 0xa0, 0xa2, 0xfa, 0x47, 0x95, 0x73, 0x0f, 0x9d, 0xb2, 0xa0, 0xf5,
0x77, 0x0b, 0xd7, 0x45, 0x10, 0xd7, 0x76, 0xdf, 0xf6, 0x35, 0xfb, 0x7d, 0x05, 0xdd, 0x85, 0xe9,
0x3f, 0x28, 0xcf, 0x9f, 0x6d, 0xe0, 0xb5, 0xbd, 0x98, 0x65, 0x75, 0x4a, 0xc4, 0xee, 0xdd, 0xe7,
0x7f, 0x83, 0x5b, 0x3f, 0xe0, 0xe1, 0xc3, 0x3f, 0x79, 0xa5, 0x9f, 0xc7, 0x06, 0x5b, 0x42, 0xab,
0x70, 0xb8, 0x28, 0xba, 0x66, 0xe3, 0x8b, 0xba, 0xe3, 0xd4, 0x86, 0x77, 0x2f, 0x93, 0x6c, 0xa7,
0x21, 0x74, 0xec, 0x72, 0xca, 0xd4, 0x17, 0xad, 0xd7, 0x2f, 0xf8, 0xb2, 0xf5, 0xb3, 0x55, 0xaf,
0xae, 0xcd, 0xef, 0xfd, 0xf4, 0x37, 0x00, 0x00, 0xff, 0xff, 0x20, 0xdb, 0xd3, 0xf3, 0x45, 0x04,
0x00, 0x00,
type attesterServiceClient struct {
cc *grpc.ClientConn
}
func NewAttesterServiceClient(cc *grpc.ClientConn) AttesterServiceClient {
return &attesterServiceClient{cc}
}
func (c *attesterServiceClient) SignBlock(ctx context.Context, in *SignRequest, opts ...grpc.CallOption) (*SignResponse, error) {
out := new(SignResponse)
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.AttesterService/SignBlock", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AttesterServiceServer is the server API for AttesterService service.
type AttesterServiceServer interface {
SignBlock(context.Context, *SignRequest) (*SignResponse, error)
}
func RegisterAttesterServiceServer(s *grpc.Server, srv AttesterServiceServer) {
s.RegisterService(&_AttesterService_serviceDesc, srv)
}
func _AttesterService_SignBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SignRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AttesterServiceServer).SignBlock(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ethereum.beacon.rpc.v1.AttesterService/SignBlock",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AttesterServiceServer).SignBlock(ctx, req.(*SignRequest))
}
return interceptor(ctx, in, info, handler)
}
var _AttesterService_serviceDesc = grpc.ServiceDesc{
ServiceName: "ethereum.beacon.rpc.v1.AttesterService",
HandlerType: (*AttesterServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "SignBlock",
Handler: _AttesterService_SignBlock_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/beacon/rpc/v1/services.proto",
}
// ProposerServiceClient is the client API for ProposerService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ProposerServiceClient interface {
ProposeBlock(ctx context.Context, in *ProposeRequest, opts ...grpc.CallOption) (*ProposeResponse, error)
}
type proposerServiceClient struct {
cc *grpc.ClientConn
}
func NewProposerServiceClient(cc *grpc.ClientConn) ProposerServiceClient {
return &proposerServiceClient{cc}
}
func (c *proposerServiceClient) ProposeBlock(ctx context.Context, in *ProposeRequest, opts ...grpc.CallOption) (*ProposeResponse, error) {
out := new(ProposeResponse)
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.ProposerService/ProposeBlock", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProposerServiceServer is the server API for ProposerService service.
type ProposerServiceServer interface {
ProposeBlock(context.Context, *ProposeRequest) (*ProposeResponse, error)
}
func RegisterProposerServiceServer(s *grpc.Server, srv ProposerServiceServer) {
s.RegisterService(&_ProposerService_serviceDesc, srv)
}
func _ProposerService_ProposeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProposeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProposerServiceServer).ProposeBlock(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/ethereum.beacon.rpc.v1.ProposerService/ProposeBlock",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProposerServiceServer).ProposeBlock(ctx, req.(*ProposeRequest))
}
return interceptor(ctx, in, info, handler)
}
var _ProposerService_serviceDesc = grpc.ServiceDesc{
ServiceName: "ethereum.beacon.rpc.v1.ProposerService",
HandlerType: (*ProposerServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ProposeBlock",
Handler: _ProposerService_ProposeBlock_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proto/beacon/rpc/v1/services.proto",
}
func init() {
proto.RegisterFile("proto/beacon/rpc/v1/services.proto", fileDescriptor_services_dd4dfbcfce50f511)
}
var fileDescriptor_services_dd4dfbcfce50f511 = []byte{
// 618 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x51, 0x6b, 0xd4, 0x40,
0x10, 0x26, 0xad, 0x16, 0x3b, 0xbd, 0x6b, 0x71, 0x4b, 0xdb, 0x33, 0x5a, 0x28, 0x77, 0x6d, 0xad,
0x2f, 0x49, 0x7b, 0x82, 0x0f, 0xe2, 0x83, 0xad, 0x28, 0x15, 0x7c, 0x90, 0x04, 0x0a, 0xbe, 0x18,
0xf6, 0x92, 0xb9, 0x64, 0x69, 0x2e, 0x1b, 0x77, 0xf7, 0x02, 0xf5, 0x7f, 0x09, 0xfe, 0x39, 0x41,
0xb2, 0x9b, 0xe4, 0x72, 0x67, 0x53, 0x1f, 0x33, 0xf3, 0x7d, 0x33, 0xb3, 0xdf, 0xcc, 0x17, 0x18,
0xe6, 0x82, 0x2b, 0xee, 0x4e, 0x90, 0x86, 0x3c, 0x73, 0x45, 0x1e, 0xba, 0xc5, 0x85, 0x2b, 0x51,
0x14, 0x2c, 0x44, 0xe9, 0xe8, 0x24, 0xd9, 0x47, 0x95, 0xa0, 0xc0, 0xf9, 0xcc, 0x31, 0x30, 0x47,
0xe4, 0xa1, 0x53, 0x5c, 0xd8, 0xc7, 0x86, 0x2b, 0x13, 0x2a, 0x22, 0x96, 0xc5, 0x6e, 0x3e, 0xce,
0x4b, 0xf6, 0x0c, 0xa5, 0xa4, 0x71, 0xcd, 0xb6, 0x97, 0x3b, 0xdc, 0x8f, 0x79, 0x1e, 0x73, 0x1e,
0xa7, 0xe8, 0xea, 0xaf, 0xc9, 0x7c, 0xea, 0xe2, 0x2c, 0x57, 0x77, 0x26, 0x39, 0xbc, 0x86, 0x6d,
0x3f, 0x99, 0x4f, 0xa7, 0x29, 0x7a, 0xf8, 0x63, 0x8e, 0x52, 0x91, 0x37, 0x70, 0x10, 0x8a, 0x3b,
0xa9, 0x68, 0x9a, 0xb2, 0x9f, 0x18, 0x05, 0x52, 0x51, 0x85, 0x41, 0x42, 0x65, 0x32, 0xb0, 0x8e,
0xac, 0xb3, 0x9e, 0xb7, 0xd7, 0x4e, 0xfb, 0x65, 0xf6, 0x9a, 0xca, 0x64, 0xf8, 0xdb, 0x82, 0x9d,
0xa6, 0x94, 0xcc, 0x79, 0x26, 0x91, 0xbc, 0x03, 0x5b, 0x9a, 0x50, 0x14, 0x14, 0x34, 0x65, 0x11,
0x55, 0x5c, 0x04, 0x2c, 0x8b, 0x4a, 0x01, 0x06, 0xd6, 0xd1, 0xfa, 0xd9, 0x23, 0x6f, 0x50, 0x23,
0x6e, 0x6a, 0xc0, 0x67, 0x93, 0x27, 0x27, 0xb0, 0x1d, 0xce, 0x15, 0x9f, 0x4e, 0x1b, 0xc6, 0x9a,
0x66, 0xf4, 0x4d, 0xb4, 0x86, 0xbd, 0x87, 0x17, 0x54, 0x4a, 0x16, 0x67, 0x18, 0x05, 0x54, 0x29,
0x2c, 0x07, 0x66, 0x3c, 0x0b, 0x12, 0x64, 0x71, 0xa2, 0xe4, 0x60, 0x5d, 0x93, 0xec, 0x1a, 0x73,
0xb9, 0x80, 0x5c, 0x1b, 0xc4, 0xf0, 0x8f, 0x05, 0xdb, 0x5f, 0x05, 0xcf, 0xb9, 0x6c, 0x54, 0x18,
0x41, 0x5f, 0xd0, 0x2c, 0xa2, 0x3c, 0x10, 0x58, 0x20, 0x4d, 0xab, 0xb7, 0xf7, 0x4c, 0xd0, 0xd3,
0x31, 0xe2, 0xc2, 0x6e, 0xbb, 0xe1, 0x84, 0xa9, 0x19, 0x95, 0xb7, 0x83, 0x35, 0x0d, 0x25, 0xad,
0xd4, 0x95, 0xc9, 0x90, 0xb7, 0xf0, 0xac, 0x4d, 0xa0, 0x71, 0x2c, 0x30, 0x2e, 0xe5, 0x95, 0x2c,
0xd6, 0x73, 0xf6, 0xbd, 0x83, 0x16, 0xe0, 0xb2, 0xce, 0xfb, 0x2c, 0x26, 0xdf, 0x60, 0x4f, 0x1f,
0x43, 0x8b, 0x55, 0x70, 0x85, 0x72, 0xf0, 0xf8, 0x68, 0xfd, 0x6c, 0x6b, 0x7c, 0xe2, 0xac, 0x1e,
0x52, 0x3e, 0xce, 0x9d, 0xe2, 0xc2, 0x69, 0x8a, 0xdc, 0x70, 0x85, 0xde, 0xae, 0xae, 0xb1, 0x14,
0x93, 0xc3, 0x73, 0xd8, 0x69, 0x9e, 0x5f, 0x6d, 0xee, 0x10, 0x60, 0x92, 0xf2, 0xf0, 0xb6, 0xbd,
0xf8, 0x4d, 0x1d, 0xd1, 0xcb, 0xe6, 0xb0, 0xe5, 0xb3, 0x38, 0xab, 0xd5, 0x7a, 0x18, 0x4d, 0x2e,
0x61, 0xb3, 0xd4, 0x9e, 0xaa, 0xb9, 0x40, 0xad, 0xce, 0xd6, 0x78, 0xb4, 0x18, 0xb7, 0x3e, 0xf1,
0x7a, 0x60, 0xbf, 0x86, 0x7a, 0x0b, 0xd6, 0xf0, 0x14, 0x7a, 0xa6, 0x61, 0x35, 0xdf, 0x3e, 0x6c,
0x98, 0x75, 0xea, 0x6e, 0x4f, 0xbc, 0xea, 0x6b, 0xfc, 0x6b, 0x0d, 0xfa, 0x57, 0xfa, 0xfd, 0xbe,
0xf1, 0x19, 0xf1, 0xe0, 0xe9, 0x17, 0x5a, 0x4a, 0x6a, 0xc2, 0x57, 0xe5, 0x54, 0x64, 0xdf, 0x31,
0xa6, 0x70, 0x6a, 0x53, 0x38, 0x1f, 0x4b, 0x53, 0xd8, 0xa3, 0x2e, 0x15, 0x5b, 0xe4, 0x73, 0x8b,
0x7c, 0x87, 0x03, 0x53, 0xf3, 0xc3, 0xaa, 0x15, 0x3a, 0x2b, 0xbf, 0xea, 0xaa, 0xfc, 0x4f, 0x89,
0x73, 0x8b, 0xe4, 0x70, 0xf8, 0x09, 0x55, 0x98, 0xf8, 0x5d, 0xd6, 0x38, 0x75, 0xee, 0xff, 0x6d,
0x38, 0xcb, 0x66, 0xb6, 0x5f, 0xfe, 0x17, 0x67, 0xf4, 0x1c, 0x33, 0xd8, 0x31, 0xc6, 0x40, 0x51,
0x0b, 0x77, 0x03, 0x9b, 0xa5, 0xe4, 0x46, 0xb0, 0x51, 0x67, 0xa1, 0xc5, 0x19, 0xd8, 0xc7, 0x0f,
0x83, 0xaa, 0x56, 0xa2, 0xb9, 0xb6, 0xa6, 0x55, 0x00, 0xbd, 0x2a, 0x64, 0xba, 0x75, 0x3e, 0x6f,
0xd9, 0xa5, 0xdd, 0xcf, 0x5b, 0x39, 0xe7, 0xc9, 0x86, 0xde, 0xc6, 0xeb, 0xbf, 0x01, 0x00, 0x00,
0xff, 0xff, 0x0d, 0xf4, 0x6b, 0xb7, 0x92, 0x05, 0x00, 0x00,
}

View File

@@ -4,21 +4,30 @@ package ethereum.beacon.rpc.v1;
import "proto/sharding/p2p/v1/messages.proto";
import "proto/beacon/p2p/v1/messages.proto";
import "google/protobuf/empty.proto";
service BeaconService {
rpc ShuffleValidators(ShuffleRequest) returns (stream ShuffleResponse);
rpc LatestBeaconBlock(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.BeaconBlock);
rpc LatestCrystallizedState(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.CrystallizedState);
rpc FetchShuffledValidatorIndices(ShuffleRequest) returns (ShuffleResponse);
}
service AttesterService {
rpc SignBlock(SignRequest) returns (SignResponse);
}
service ProposerService {
rpc ProposeBlock(ProposeRequest) returns (ProposeResponse);
}
message ShuffleRequest {
uint64 validator_count = 1;
uint64 validator_index = 2;
bytes crystallized_state_hash = 1;
}
message ShuffleResponse {
bool is_proposer = 1;
bool is_attester = 2;
repeated uint64 shuffled_validator_indices = 1;
repeated uint64 cutoff_indices = 2;
repeated uint64 assigned_attestation_heights = 3;
}
message ProposeRequest {