beacon: Part 1 of State Sync - Crystallized State Proto Struct (#354)

This commit is contained in:
terence tsao
2018-07-30 17:29:40 -07:00
committed by Raul Jordan
parent 9c9aef8194
commit 33c56092ad
7 changed files with 753 additions and 342 deletions

View File

@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: proto/sharding/v1/messages.proto
// source: messages.proto
package ethereum_messages_v1
@@ -54,7 +54,7 @@ func (x Topic) String() string {
return proto.EnumName(Topic_name, int32(x))
}
func (Topic) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_messages_ebbb8b6f046bbe65, []int{0}
return fileDescriptor_messages_cee754b6a540d58d, []int{0}
}
type BeaconBlockHashAnnounce struct {
@@ -68,7 +68,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_ebbb8b6f046bbe65, []int{0}
return fileDescriptor_messages_cee754b6a540d58d, []int{0}
}
func (m *BeaconBlockHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockHashAnnounce.Unmarshal(m, b)
@@ -106,7 +106,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_ebbb8b6f046bbe65, []int{1}
return fileDescriptor_messages_cee754b6a540d58d, []int{1}
}
func (m *BeaconBlockRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockRequest.Unmarshal(m, b)
@@ -153,7 +153,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_ebbb8b6f046bbe65, []int{2}
return fileDescriptor_messages_cee754b6a540d58d, []int{2}
}
func (m *BeaconBlockResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockResponse.Unmarshal(m, b)
@@ -243,6 +243,216 @@ func (m *BeaconBlockResponse) GetTimestamp() *timestamp.Timestamp {
return nil
}
type CrystallizedStateHashAnnounce struct {
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CrystallizedStateHashAnnounce) Reset() { *m = CrystallizedStateHashAnnounce{} }
func (m *CrystallizedStateHashAnnounce) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateHashAnnounce) ProtoMessage() {}
func (*CrystallizedStateHashAnnounce) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_cee754b6a540d58d, []int{3}
}
func (m *CrystallizedStateHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateHashAnnounce.Unmarshal(m, b)
}
func (m *CrystallizedStateHashAnnounce) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CrystallizedStateHashAnnounce.Marshal(b, m, deterministic)
}
func (dst *CrystallizedStateHashAnnounce) XXX_Merge(src proto.Message) {
xxx_messageInfo_CrystallizedStateHashAnnounce.Merge(dst, src)
}
func (m *CrystallizedStateHashAnnounce) XXX_Size() int {
return xxx_messageInfo_CrystallizedStateHashAnnounce.Size(m)
}
func (m *CrystallizedStateHashAnnounce) XXX_DiscardUnknown() {
xxx_messageInfo_CrystallizedStateHashAnnounce.DiscardUnknown(m)
}
var xxx_messageInfo_CrystallizedStateHashAnnounce proto.InternalMessageInfo
func (m *CrystallizedStateHashAnnounce) GetHash() []byte {
if m != nil {
return m.Hash
}
return nil
}
type CrystallizedStateRequest struct {
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CrystallizedStateRequest) Reset() { *m = CrystallizedStateRequest{} }
func (m *CrystallizedStateRequest) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateRequest) ProtoMessage() {}
func (*CrystallizedStateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_cee754b6a540d58d, []int{4}
}
func (m *CrystallizedStateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateRequest.Unmarshal(m, b)
}
func (m *CrystallizedStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CrystallizedStateRequest.Marshal(b, m, deterministic)
}
func (dst *CrystallizedStateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CrystallizedStateRequest.Merge(dst, src)
}
func (m *CrystallizedStateRequest) XXX_Size() int {
return xxx_messageInfo_CrystallizedStateRequest.Size(m)
}
func (m *CrystallizedStateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CrystallizedStateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CrystallizedStateRequest proto.InternalMessageInfo
func (m *CrystallizedStateRequest) GetHash() []byte {
if m != nil {
return m.Hash
}
return nil
}
type CrystallizedStateResponse struct {
ActiveValidators []*ValidatorRecord `protobuf:"bytes,1,rep,name=active_validators,json=activeValidators,proto3" json:"active_validators,omitempty"`
QueuedValidators []*ValidatorRecord `protobuf:"bytes,2,rep,name=queued_validators,json=queuedValidators,proto3" json:"queued_validators,omitempty"`
ExitedValidators []*ValidatorRecord `protobuf:"bytes,3,rep,name=exited_validators,json=exitedValidators,proto3" json:"exited_validators,omitempty"`
CurrentEpochShuffling []uint64 `protobuf:"varint,4,rep,packed,name=current_epoch_shuffling,json=currentEpochShuffling,proto3" json:"current_epoch_shuffling,omitempty"`
CurrentEpoch uint64 `protobuf:"varint,5,opt,name=current_epoch,json=currentEpoch,proto3" json:"current_epoch,omitempty"`
LastJustifiedEpoch uint64 `protobuf:"varint,6,opt,name=last_justified_epoch,json=lastJustifiedEpoch,proto3" json:"last_justified_epoch,omitempty"`
LastFinalizedEpoch uint64 `protobuf:"varint,7,opt,name=last_finalized_epoch,json=lastFinalizedEpoch,proto3" json:"last_finalized_epoch,omitempty"`
CurrentDynasty uint64 `protobuf:"varint,8,opt,name=current_dynasty,json=currentDynasty,proto3" json:"current_dynasty,omitempty"`
NextShard uint64 `protobuf:"varint,9,opt,name=next_shard,json=nextShard,proto3" json:"next_shard,omitempty"`
CurrentCheckPoint []byte `protobuf:"bytes,10,opt,name=current_check_point,json=currentCheckPoint,proto3" json:"current_check_point,omitempty"`
TotalDeposits uint64 `protobuf:"varint,11,opt,name=total_deposits,json=totalDeposits,proto3" json:"total_deposits,omitempty"`
DynastySeed []byte `protobuf:"bytes,12,opt,name=dynasty_seed,json=dynastySeed,proto3" json:"dynasty_seed,omitempty"`
DynastySeedLastReset uint64 `protobuf:"varint,13,opt,name=dynasty_seed_last_reset,json=dynastySeedLastReset,proto3" json:"dynasty_seed_last_reset,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CrystallizedStateResponse) Reset() { *m = CrystallizedStateResponse{} }
func (m *CrystallizedStateResponse) String() string { return proto.CompactTextString(m) }
func (*CrystallizedStateResponse) ProtoMessage() {}
func (*CrystallizedStateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_cee754b6a540d58d, []int{5}
}
func (m *CrystallizedStateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateResponse.Unmarshal(m, b)
}
func (m *CrystallizedStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CrystallizedStateResponse.Marshal(b, m, deterministic)
}
func (dst *CrystallizedStateResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CrystallizedStateResponse.Merge(dst, src)
}
func (m *CrystallizedStateResponse) XXX_Size() int {
return xxx_messageInfo_CrystallizedStateResponse.Size(m)
}
func (m *CrystallizedStateResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CrystallizedStateResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CrystallizedStateResponse proto.InternalMessageInfo
func (m *CrystallizedStateResponse) GetActiveValidators() []*ValidatorRecord {
if m != nil {
return m.ActiveValidators
}
return nil
}
func (m *CrystallizedStateResponse) GetQueuedValidators() []*ValidatorRecord {
if m != nil {
return m.QueuedValidators
}
return nil
}
func (m *CrystallizedStateResponse) GetExitedValidators() []*ValidatorRecord {
if m != nil {
return m.ExitedValidators
}
return nil
}
func (m *CrystallizedStateResponse) GetCurrentEpochShuffling() []uint64 {
if m != nil {
return m.CurrentEpochShuffling
}
return nil
}
func (m *CrystallizedStateResponse) GetCurrentEpoch() uint64 {
if m != nil {
return m.CurrentEpoch
}
return 0
}
func (m *CrystallizedStateResponse) GetLastJustifiedEpoch() uint64 {
if m != nil {
return m.LastJustifiedEpoch
}
return 0
}
func (m *CrystallizedStateResponse) GetLastFinalizedEpoch() uint64 {
if m != nil {
return m.LastFinalizedEpoch
}
return 0
}
func (m *CrystallizedStateResponse) GetCurrentDynasty() uint64 {
if m != nil {
return m.CurrentDynasty
}
return 0
}
func (m *CrystallizedStateResponse) GetNextShard() uint64 {
if m != nil {
return m.NextShard
}
return 0
}
func (m *CrystallizedStateResponse) GetCurrentCheckPoint() []byte {
if m != nil {
return m.CurrentCheckPoint
}
return nil
}
func (m *CrystallizedStateResponse) GetTotalDeposits() uint64 {
if m != nil {
return m.TotalDeposits
}
return 0
}
func (m *CrystallizedStateResponse) GetDynastySeed() []byte {
if m != nil {
return m.DynastySeed
}
return nil
}
func (m *CrystallizedStateResponse) GetDynastySeedLastReset() uint64 {
if m != nil {
return m.DynastySeedLastReset
}
return 0
}
type AggregateVote struct {
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
ShardBlockHash []byte `protobuf:"bytes,2,opt,name=shard_block_hash,json=shardBlockHash,proto3" json:"shard_block_hash,omitempty"`
@@ -257,7 +467,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_ebbb8b6f046bbe65, []int{3}
return fileDescriptor_messages_cee754b6a540d58d, []int{6}
}
func (m *AggregateVote) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AggregateVote.Unmarshal(m, b)
@@ -320,7 +530,7 @@ func (m *CollationBodyRequest) Reset() { *m = CollationBodyRequest{} }
func (m *CollationBodyRequest) String() string { return proto.CompactTextString(m) }
func (*CollationBodyRequest) ProtoMessage() {}
func (*CollationBodyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ebbb8b6f046bbe65, []int{4}
return fileDescriptor_messages_cee754b6a540d58d, []int{7}
}
func (m *CollationBodyRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollationBodyRequest.Unmarshal(m, b)
@@ -375,6 +585,84 @@ func (m *CollationBodyRequest) GetSignature() []byte {
return nil
}
type ValidatorRecord struct {
PublicKey uint64 `protobuf:"varint,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
WithdrawalShard uint64 `protobuf:"varint,2,opt,name=withdrawal_shard,json=withdrawalShard,proto3" json:"withdrawal_shard,omitempty"`
WithdrawalAddress []byte `protobuf:"bytes,3,opt,name=withdrawal_address,json=withdrawalAddress,proto3" json:"withdrawal_address,omitempty"`
RandaoCommitment []byte `protobuf:"bytes,4,opt,name=randao_commitment,json=randaoCommitment,proto3" json:"randao_commitment,omitempty"`
Balance uint64 `protobuf:"varint,5,opt,name=balance,proto3" json:"balance,omitempty"`
SwitchDynasty uint64 `protobuf:"varint,6,opt,name=switch_dynasty,json=switchDynasty,proto3" json:"switch_dynasty,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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_cee754b6a540d58d, []int{8}
}
func (m *ValidatorRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValidatorRecord.Unmarshal(m, b)
}
func (m *ValidatorRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValidatorRecord.Marshal(b, m, deterministic)
}
func (dst *ValidatorRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValidatorRecord.Merge(dst, src)
}
func (m *ValidatorRecord) XXX_Size() int {
return xxx_messageInfo_ValidatorRecord.Size(m)
}
func (m *ValidatorRecord) XXX_DiscardUnknown() {
xxx_messageInfo_ValidatorRecord.DiscardUnknown(m)
}
var xxx_messageInfo_ValidatorRecord proto.InternalMessageInfo
func (m *ValidatorRecord) GetPublicKey() uint64 {
if m != nil {
return m.PublicKey
}
return 0
}
func (m *ValidatorRecord) GetWithdrawalShard() uint64 {
if m != nil {
return m.WithdrawalShard
}
return 0
}
func (m *ValidatorRecord) GetWithdrawalAddress() []byte {
if m != nil {
return m.WithdrawalAddress
}
return nil
}
func (m *ValidatorRecord) GetRandaoCommitment() []byte {
if m != nil {
return m.RandaoCommitment
}
return nil
}
func (m *ValidatorRecord) GetBalance() uint64 {
if m != nil {
return m.Balance
}
return 0
}
func (m *ValidatorRecord) GetSwitchDynasty() uint64 {
if m != nil {
return m.SwitchDynasty
}
return 0
}
type CollationBodyResponse struct {
HeaderHash []byte `protobuf:"bytes,1,opt,name=header_hash,json=headerHash,proto3" json:"header_hash,omitempty"`
Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
@@ -387,7 +675,7 @@ func (m *CollationBodyResponse) Reset() { *m = CollationBodyResponse{} }
func (m *CollationBodyResponse) String() string { return proto.CompactTextString(m) }
func (*CollationBodyResponse) ProtoMessage() {}
func (*CollationBodyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ebbb8b6f046bbe65, []int{5}
return fileDescriptor_messages_cee754b6a540d58d, []int{9}
}
func (m *CollationBodyResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollationBodyResponse.Unmarshal(m, b)
@@ -438,7 +726,7 @@ func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ebbb8b6f046bbe65, []int{6}
return fileDescriptor_messages_cee754b6a540d58d, []int{10}
}
func (m *Transaction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Transaction.Unmarshal(m, b)
@@ -520,7 +808,7 @@ func (m *Signature) Reset() { *m = Signature{} }
func (m *Signature) String() string { return proto.CompactTextString(m) }
func (*Signature) ProtoMessage() {}
func (*Signature) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ebbb8b6f046bbe65, []int{7}
return fileDescriptor_messages_cee754b6a540d58d, []int{11}
}
func (m *Signature) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Signature.Unmarshal(m, b)
@@ -565,71 +853,97 @@ func init() {
proto.RegisterType((*BeaconBlockHashAnnounce)(nil), "ethereum.messages.v1.BeaconBlockHashAnnounce")
proto.RegisterType((*BeaconBlockRequest)(nil), "ethereum.messages.v1.BeaconBlockRequest")
proto.RegisterType((*BeaconBlockResponse)(nil), "ethereum.messages.v1.BeaconBlockResponse")
proto.RegisterType((*CrystallizedStateHashAnnounce)(nil), "ethereum.messages.v1.CrystallizedStateHashAnnounce")
proto.RegisterType((*CrystallizedStateRequest)(nil), "ethereum.messages.v1.CrystallizedStateRequest")
proto.RegisterType((*CrystallizedStateResponse)(nil), "ethereum.messages.v1.CrystallizedStateResponse")
proto.RegisterType((*AggregateVote)(nil), "ethereum.messages.v1.AggregateVote")
proto.RegisterType((*CollationBodyRequest)(nil), "ethereum.messages.v1.CollationBodyRequest")
proto.RegisterType((*ValidatorRecord)(nil), "ethereum.messages.v1.ValidatorRecord")
proto.RegisterType((*CollationBodyResponse)(nil), "ethereum.messages.v1.CollationBodyResponse")
proto.RegisterType((*Transaction)(nil), "ethereum.messages.v1.Transaction")
proto.RegisterType((*Signature)(nil), "ethereum.messages.v1.Signature")
proto.RegisterEnum("ethereum.messages.v1.Topic", Topic_name, Topic_value)
}
func init() {
proto.RegisterFile("proto/sharding/v1/messages.proto", fileDescriptor_messages_ebbb8b6f046bbe65)
}
func init() { proto.RegisterFile("messages.proto", fileDescriptor_messages_cee754b6a540d58d) }
var fileDescriptor_messages_ebbb8b6f046bbe65 = []byte{
// 839 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0xed, 0x6e, 0xe2, 0x46,
0x14, 0xad, 0x13, 0x20, 0xe1, 0x02, 0x59, 0x3a, 0x49, 0x36, 0x4e, 0xb6, 0x6d, 0x10, 0x69, 0x25,
0xba, 0x52, 0x41, 0xbb, 0x55, 0xab, 0xaa, 0x52, 0x7f, 0x00, 0x45, 0xca, 0x6a, 0x91, 0xd9, 0x1a,
0xd2, 0x55, 0x7f, 0x59, 0x83, 0x3d, 0x31, 0xa3, 0x98, 0x19, 0x77, 0x66, 0x8c, 0x94, 0x3e, 0x40,
0x9f, 0xa3, 0xaf, 0x50, 0xa9, 0xcf, 0xd4, 0xe7, 0xa8, 0x66, 0xc6, 0x06, 0x93, 0xe6, 0x0f, 0xf2,
0x3d, 0xe7, 0xdc, 0x99, 0xfb, 0x71, 0x06, 0xe8, 0xa4, 0x82, 0x2b, 0x3e, 0x90, 0x2b, 0x2c, 0x22,
0xca, 0xe2, 0xc1, 0xe6, 0xcd, 0x60, 0x4d, 0xa4, 0xc4, 0x31, 0x91, 0x7d, 0x43, 0xa1, 0x33, 0xa2,
0x56, 0x44, 0x90, 0x6c, 0xdd, 0xdf, 0x12, 0x9b, 0x37, 0x57, 0xd7, 0x31, 0xe7, 0x71, 0x42, 0x06,
0x46, 0xb3, 0xcc, 0xee, 0x07, 0x8a, 0xae, 0x89, 0x54, 0x78, 0x9d, 0xda, 0xb4, 0xee, 0x37, 0x70,
0x31, 0x22, 0x38, 0xe4, 0x6c, 0x94, 0xf0, 0xf0, 0xe1, 0x16, 0xcb, 0xd5, 0x90, 0x31, 0x9e, 0xb1,
0x90, 0x20, 0x04, 0x95, 0x15, 0x96, 0x2b, 0xd7, 0xe9, 0x38, 0xbd, 0xa6, 0x6f, 0xbe, 0xbb, 0x3d,
0x40, 0x25, 0xb9, 0x4f, 0x7e, 0xcf, 0x88, 0x54, 0xcf, 0x2a, 0xff, 0xac, 0xc0, 0xe9, 0x9e, 0x54,
0xa6, 0x9c, 0x49, 0x82, 0xae, 0xa1, 0x91, 0x62, 0x41, 0x98, 0x0a, 0x4a, 0x29, 0x60, 0x21, 0x7d,
0xbd, 0x16, 0xc8, 0x84, 0xab, 0x80, 0x65, 0xeb, 0x25, 0x11, 0xee, 0x41, 0xc7, 0xe9, 0x55, 0x7c,
0xd0, 0x90, 0x67, 0x10, 0x74, 0x03, 0x2d, 0x81, 0x59, 0x84, 0x79, 0x20, 0xc8, 0x86, 0xe0, 0xc4,
0x3d, 0x34, 0x67, 0x34, 0x2d, 0xe8, 0x1b, 0x0c, 0x0d, 0xe0, 0x14, 0x2b, 0xa5, 0x5b, 0x55, 0x94,
0xb3, 0x60, 0x49, 0xd5, 0x1a, 0xcb, 0x07, 0xb7, 0x62, 0xa4, 0xa8, 0x44, 0x8d, 0x2c, 0x83, 0x7e,
0x84, 0xcb, 0x72, 0x02, 0x8e, 0x63, 0x41, 0x62, 0xac, 0x48, 0x20, 0x69, 0xec, 0x56, 0x3b, 0x87,
0xbd, 0x96, 0x7f, 0x51, 0x12, 0x0c, 0x0b, 0x7e, 0x4e, 0x63, 0xf4, 0x11, 0xce, 0xcd, 0x66, 0x4a,
0x59, 0x1b, 0xae, 0x88, 0x74, 0x6b, 0x9d, 0xc3, 0x5e, 0xe3, 0xed, 0x4d, 0xff, 0xb9, 0xdd, 0xf4,
0xb7, 0x47, 0xfc, 0xca, 0x15, 0xf1, 0x4f, 0xcd, 0x09, 0x7b, 0x98, 0x44, 0x5f, 0xc2, 0xc9, 0x1a,
0x53, 0x16, 0x84, 0x2b, 0xfd, 0x2b, 0xc8, 0xbd, 0x7b, 0x64, 0x7b, 0xd5, 0xe8, 0x58, 0x83, 0x3e,
0xb9, 0x47, 0xaf, 0xe1, 0x53, 0x1c, 0x2a, 0xba, 0x21, 0x81, 0x2e, 0x8e, 0xd8, 0xc1, 0x1e, 0x1b,
0xe1, 0x0b, 0x4b, 0xcc, 0x35, 0x6e, 0xa6, 0xfb, 0x3d, 0x5c, 0x84, 0xe2, 0x51, 0x2a, 0x9c, 0x24,
0xf4, 0x0f, 0x12, 0x95, 0x33, 0xea, 0x26, 0xe3, 0xbc, 0x4c, 0xef, 0xf2, 0x7e, 0x80, 0xfa, 0xd6,
0x3a, 0x2e, 0x74, 0x9c, 0x5e, 0xe3, 0xed, 0x55, 0xdf, 0x9a, 0xab, 0x5f, 0x98, 0xab, 0xbf, 0x28,
0x14, 0xfe, 0x4e, 0xdc, 0xfd, 0xcb, 0x81, 0xd6, 0x5e, 0x5b, 0xe8, 0x12, 0x8e, 0xed, 0xb8, 0x68,
0x64, 0xf6, 0xdf, 0xf2, 0x8f, 0x4c, 0xfc, 0x2e, 0x42, 0x3d, 0x68, 0x5b, 0x6a, 0xa9, 0x4d, 0x63,
0xeb, 0x3a, 0x30, 0x75, 0x9d, 0x18, 0x7c, 0xeb, 0x52, 0xf4, 0x15, 0x9c, 0x48, 0x1a, 0x33, 0x22,
0xb6, 0xbb, 0xb5, 0x36, 0x68, 0x59, 0xb4, 0x58, 0xeb, 0x0d, 0xb4, 0xf6, 0x57, 0x59, 0x31, 0xab,
0x6c, 0xe2, 0xd2, 0xfe, 0xba, 0x7f, 0x3b, 0x70, 0x36, 0xe6, 0x49, 0x62, 0x0d, 0xc1, 0xa3, 0xc7,
0xc2, 0xd8, 0x4f, 0x2b, 0xad, 0xec, 0x2a, 0x7d, 0x09, 0xb5, 0x94, 0x08, 0xca, 0xa3, 0xdc, 0xa1,
0x79, 0x84, 0x3e, 0x07, 0x08, 0x57, 0x19, 0x7b, 0x08, 0x04, 0xe7, 0x2a, 0xaf, 0xa9, 0x6e, 0x10,
0x9f, 0x73, 0x85, 0xbe, 0x86, 0x76, 0x2a, 0x78, 0xca, 0x25, 0x11, 0x01, 0x8e, 0x22, 0x41, 0xa4,
0xcc, 0x4d, 0xf9, 0xa2, 0xc0, 0x87, 0x16, 0x46, 0x9f, 0x41, 0x5d, 0xf7, 0x82, 0x55, 0x26, 0x88,
0x5b, 0xb5, 0x07, 0x6d, 0x81, 0xee, 0x14, 0xce, 0x9f, 0x94, 0xbc, 0x7b, 0x60, 0x2b, 0x82, 0x23,
0x22, 0xf6, 0x1e, 0x98, 0x85, 0xcc, 0xe4, 0x10, 0x54, 0x96, 0x3c, 0x7a, 0xcc, 0xe7, 0x6a, 0xbe,
0xbb, 0xff, 0x3a, 0xd0, 0x58, 0x08, 0xcc, 0xa4, 0xf6, 0x0b, 0x67, 0xe8, 0x0c, 0xaa, 0x8c, 0xb3,
0x90, 0xe4, 0x5d, 0xdb, 0x00, 0xbd, 0x82, 0x7a, 0x8c, 0x65, 0x90, 0x0a, 0x1a, 0x92, 0xbc, 0xed,
0xe3, 0x18, 0xcb, 0x0f, 0x3a, 0x2e, 0xc8, 0x84, 0xae, 0xa9, 0xed, 0xdb, 0x92, 0x53, 0x1d, 0xeb,
0x5e, 0x04, 0x09, 0x69, 0x4a, 0x09, 0x53, 0x79, 0xbf, 0x3b, 0x40, 0xdf, 0xb6, 0xc1, 0x49, 0x66,
0xbb, 0xac, 0xf8, 0x36, 0xd0, 0x28, 0x65, 0x69, 0xa6, 0xdc, 0x9a, 0xd1, 0xdb, 0x00, 0xfd, 0x54,
0x9e, 0xca, 0x91, 0x31, 0xe2, 0xf5, 0xf3, 0xef, 0x6b, 0x5e, 0xc8, 0xca, 0x63, 0xfb, 0x0e, 0xea,
0x5b, 0x1c, 0x35, 0xc1, 0xd9, 0xe4, 0x1d, 0x3a, 0x1b, 0x1d, 0x15, 0x7f, 0x37, 0x8e, 0xd0, 0x91,
0xcc, 0xdb, 0x70, 0xe4, 0xeb, 0x7f, 0x1c, 0xa8, 0x2e, 0x78, 0x4a, 0x43, 0xd4, 0x80, 0xa3, 0x3b,
0xef, 0xbd, 0x37, 0xfb, 0xe8, 0xb5, 0x3f, 0x41, 0x57, 0xf0, 0x72, 0x3c, 0x9b, 0x4e, 0x87, 0x8b,
0x77, 0x33, 0x2f, 0x18, 0xcd, 0x7e, 0xfe, 0x2d, 0xf0, 0x27, 0xbf, 0xdc, 0x4d, 0xe6, 0x8b, 0xb6,
0x83, 0x5e, 0xc1, 0xc5, 0xff, 0xb8, 0xf9, 0x87, 0x99, 0x37, 0x9f, 0xb4, 0x0f, 0x50, 0x1b, 0x9a,
0x0b, 0x7f, 0xe8, 0xcd, 0x87, 0x63, 0x4d, 0xcf, 0xdb, 0x87, 0xe8, 0x0b, 0xb8, 0x1a, 0x4d, 0x86,
0x63, 0xad, 0x9d, 0xce, 0xc6, 0xef, 0x83, 0xdb, 0xe1, 0xfc, 0x36, 0x18, 0x7a, 0xde, 0xec, 0xce,
0x1b, 0x4f, 0xda, 0x15, 0xe4, 0xc2, 0xd9, 0x1e, 0x5f, 0x5c, 0x54, 0x45, 0x97, 0x70, 0xfe, 0x84,
0xc9, 0xaf, 0xa9, 0x2d, 0x6b, 0xe6, 0x69, 0x7e, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf2,
0x0d, 0xab, 0x2f, 0x3f, 0x06, 0x00, 0x00,
var fileDescriptor_messages_cee754b6a540d58d = []byte{
// 1225 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0xdb, 0xc6,
0x12, 0x3e, 0xb4, 0x65, 0x3b, 0x1a, 0x49, 0xb6, 0xbc, 0xb6, 0x63, 0xda, 0x39, 0x39, 0xf1, 0x51,
0x1a, 0x54, 0x4d, 0x11, 0xa5, 0x4d, 0x90, 0xa2, 0x28, 0xd0, 0x0b, 0x59, 0x71, 0x91, 0x34, 0x86,
0x94, 0x52, 0x4e, 0x82, 0x5e, 0x11, 0x2b, 0x72, 0x24, 0x6e, 0x4d, 0x71, 0x99, 0xdd, 0xa5, 0x12,
0xf5, 0x01, 0xfa, 0x1c, 0x7d, 0x85, 0x02, 0x7d, 0x91, 0xbe, 0x44, 0x9f, 0xa1, 0x97, 0xc5, 0xee,
0x92, 0x12, 0xe5, 0x18, 0x01, 0x72, 0x63, 0x68, 0xbe, 0xef, 0x9b, 0xd9, 0xd9, 0x9d, 0x1f, 0x1a,
0xb6, 0xa7, 0x28, 0x25, 0x9d, 0xa0, 0xec, 0xa4, 0x82, 0x2b, 0x4e, 0xf6, 0x51, 0x45, 0x28, 0x30,
0x9b, 0x76, 0x16, 0xc4, 0xec, 0xeb, 0xe3, 0x3b, 0x13, 0xce, 0x27, 0x31, 0x3e, 0x34, 0x9a, 0x51,
0x36, 0x7e, 0xa8, 0xd8, 0x14, 0xa5, 0xa2, 0xd3, 0xd4, 0xba, 0xb5, 0x1e, 0xc0, 0xe1, 0x29, 0xd2,
0x80, 0x27, 0xa7, 0x31, 0x0f, 0x2e, 0x9f, 0x51, 0x19, 0x75, 0x93, 0x84, 0x67, 0x49, 0x80, 0x84,
0x40, 0x25, 0xa2, 0x32, 0x72, 0x9d, 0x13, 0xa7, 0x5d, 0xf7, 0xcc, 0xef, 0x56, 0x1b, 0x48, 0x49,
0xee, 0xe1, 0xdb, 0x0c, 0xa5, 0xba, 0x56, 0xf9, 0x5b, 0x05, 0xf6, 0x56, 0xa4, 0x32, 0xe5, 0x89,
0x44, 0x72, 0x07, 0x6a, 0x29, 0x15, 0x98, 0x28, 0xbf, 0xe4, 0x02, 0x16, 0xd2, 0xc7, 0x6b, 0x81,
0x8c, 0xb9, 0xf2, 0x93, 0x6c, 0x3a, 0x42, 0xe1, 0xae, 0x9d, 0x38, 0xed, 0x8a, 0x07, 0x1a, 0xea,
0x1b, 0x84, 0xdc, 0x85, 0x86, 0xa0, 0x49, 0x48, 0xb9, 0x2f, 0x70, 0x86, 0x34, 0x76, 0xd7, 0x4d,
0x8c, 0xba, 0x05, 0x3d, 0x83, 0x91, 0x87, 0xb0, 0x47, 0x95, 0xd2, 0x57, 0x55, 0x8c, 0x27, 0xfe,
0x88, 0xa9, 0x29, 0x95, 0x97, 0x6e, 0xc5, 0x48, 0x49, 0x89, 0x3a, 0xb5, 0x0c, 0xf9, 0x0e, 0x8e,
0xca, 0x0e, 0x74, 0x32, 0x11, 0x38, 0xa1, 0x0a, 0x7d, 0xc9, 0x26, 0xee, 0xc6, 0xc9, 0x7a, 0xbb,
0xe1, 0x1d, 0x96, 0x04, 0xdd, 0x82, 0x1f, 0xb2, 0x09, 0x79, 0x03, 0x07, 0x32, 0xa2, 0x22, 0x2c,
0x79, 0xcd, 0xb8, 0x42, 0xe9, 0x6e, 0x9e, 0xac, 0xb7, 0x6b, 0x8f, 0xee, 0x76, 0xae, 0xab, 0x4d,
0x67, 0x11, 0xe2, 0x35, 0x57, 0xe8, 0xed, 0x99, 0x08, 0x2b, 0x98, 0x24, 0x9f, 0xc1, 0xf6, 0x94,
0xb2, 0xc4, 0x0f, 0x22, 0xfd, 0x57, 0xe0, 0xd8, 0xdd, 0xb2, 0x77, 0xd5, 0x68, 0x4f, 0x83, 0x1e,
0x8e, 0xc9, 0x7d, 0xd8, 0xa5, 0x81, 0x62, 0x33, 0xf4, 0x75, 0x72, 0x68, 0x1f, 0xf6, 0x86, 0x11,
0xee, 0x58, 0x62, 0xa8, 0x71, 0xf3, 0xba, 0xdf, 0xc0, 0x61, 0x20, 0xe6, 0x52, 0xd1, 0x38, 0x66,
0xbf, 0x62, 0x58, 0xf6, 0xa8, 0x1a, 0x8f, 0x83, 0x32, 0xbd, 0xf4, 0xfb, 0x16, 0xaa, 0x8b, 0xd6,
0x71, 0xe1, 0xc4, 0x69, 0xd7, 0x1e, 0x1d, 0x77, 0x6c, 0x73, 0x75, 0x8a, 0xe6, 0xea, 0x5c, 0x14,
0x0a, 0x6f, 0x29, 0x6e, 0x3d, 0x86, 0xdb, 0xbd, 0xeb, 0x42, 0x7e, 0xb4, 0xcf, 0x3a, 0xe0, 0x7e,
0xe0, 0xf4, 0xb1, 0x6e, 0xfb, 0x6b, 0x03, 0x8e, 0xae, 0x71, 0xc8, 0x7b, 0xce, 0x5b, 0x3c, 0xd0,
0x8c, 0xc6, 0x2c, 0xa4, 0x8a, 0x0b, 0xe9, 0x3a, 0xa6, 0x36, 0xf7, 0xae, 0xaf, 0xcd, 0xeb, 0x42,
0xe7, 0x61, 0xc0, 0x45, 0xe8, 0x35, 0xad, 0xff, 0x02, 0x96, 0x3a, 0xe6, 0xdb, 0x0c, 0x33, 0x0c,
0xcb, 0x31, 0xd7, 0x3e, 0x29, 0xa6, 0xf5, 0x5f, 0x8d, 0x89, 0xef, 0x99, 0x5a, 0x8d, 0xb9, 0xfe,
0x49, 0x31, 0xad, 0x7f, 0x29, 0xa6, 0x2e, 0x78, 0x26, 0xcc, 0xc0, 0x61, 0xca, 0x83, 0xc8, 0x97,
0x51, 0x36, 0x1e, 0xc7, 0x2c, 0x99, 0xb8, 0x95, 0x93, 0xf5, 0x76, 0xc5, 0x3b, 0xc8, 0xe9, 0x33,
0xcd, 0x0e, 0x0b, 0x52, 0x4f, 0xd9, 0x8a, 0x9f, 0xbb, 0x61, 0x06, 0xb1, 0x5e, 0x56, 0x93, 0xaf,
0x60, 0x3f, 0xa6, 0x52, 0xf9, 0xbf, 0x64, 0x52, 0xb1, 0x31, 0xc3, 0x30, 0xd7, 0x6e, 0x1a, 0x2d,
0xd1, 0xdc, 0x8f, 0x05, 0xb5, 0xea, 0x31, 0x66, 0x09, 0xb5, 0x1d, 0x68, 0x3d, 0xb6, 0x96, 0x1e,
0x3f, 0x14, 0x94, 0xf5, 0xf8, 0x1c, 0x76, 0x8a, 0x44, 0xc2, 0x79, 0x42, 0xa5, 0x9a, 0x9b, 0xde,
0xae, 0x78, 0xdb, 0x39, 0xfc, 0xd4, 0xa2, 0xe4, 0x36, 0x40, 0x82, 0xef, 0x95, 0x6f, 0x06, 0xc9,
0x74, 0x73, 0xc5, 0xab, 0x6a, 0x64, 0xa8, 0x01, 0xd2, 0x81, 0xbd, 0x22, 0x4e, 0x10, 0x61, 0x70,
0xe9, 0xa7, 0x9c, 0x25, 0xca, 0xf4, 0x72, 0xdd, 0xdb, 0xcd, 0xa9, 0x9e, 0x66, 0x5e, 0x6a, 0x82,
0xdc, 0x83, 0x6d, 0xc5, 0x15, 0x8d, 0xfd, 0x10, 0x53, 0x2e, 0x99, 0x92, 0x6e, 0xcd, 0x84, 0x6c,
0x18, 0xf4, 0x69, 0x0e, 0x92, 0xff, 0x43, 0x3d, 0x4f, 0xcb, 0x97, 0x88, 0xa1, 0x5b, 0x37, 0xf1,
0x6a, 0x39, 0x36, 0x44, 0x0c, 0xc9, 0x13, 0x38, 0x2c, 0x4b, 0x7c, 0xf3, 0x00, 0x02, 0x25, 0x2a,
0xb7, 0x61, 0x42, 0xee, 0x97, 0xd4, 0xe7, 0x54, 0x2a, 0x4f, 0x73, 0xad, 0xdf, 0x1d, 0x68, 0xac,
0xec, 0x03, 0x72, 0x04, 0x37, 0xec, 0x9e, 0x61, 0xa1, 0xe9, 0xfe, 0x86, 0xb7, 0x65, 0xec, 0xe7,
0x21, 0x69, 0x43, 0xd3, 0x52, 0x23, 0xbd, 0x6d, 0xed, 0x40, 0xaf, 0x99, 0x54, 0xb6, 0x0d, 0xbe,
0x58, 0xef, 0xfa, 0x5e, 0x92, 0x4d, 0x12, 0x14, 0x8b, 0xa5, 0x68, 0xf7, 0x67, 0xc3, 0xa2, 0xc5,
0x3e, 0xbc, 0x0b, 0x8d, 0xd5, 0x1d, 0x58, 0x31, 0x3b, 0xb0, 0x4e, 0x4b, 0x8b, 0xaf, 0xf5, 0x87,
0x03, 0xfb, 0x3d, 0x1e, 0xc7, 0x76, 0x93, 0xf2, 0x70, 0x5e, 0xcc, 0xe8, 0xd5, 0x4c, 0x2b, 0xcb,
0x4c, 0x6f, 0xc2, 0x66, 0x8a, 0x82, 0xf1, 0x30, 0x5f, 0xed, 0xb9, 0xa5, 0xcb, 0x17, 0x44, 0x59,
0x72, 0xe9, 0x0b, 0xce, 0x55, 0x9e, 0x53, 0xd5, 0x20, 0x1e, 0xe7, 0x8a, 0x7c, 0x01, 0xcd, 0x54,
0xf0, 0x94, 0x4b, 0x14, 0x3e, 0x0d, 0x43, 0x81, 0x52, 0xe6, 0xdb, 0x7c, 0xa7, 0xc0, 0xbb, 0x16,
0x26, 0xff, 0x85, 0xaa, 0xbe, 0x0b, 0x55, 0x99, 0x40, 0xd3, 0xb6, 0x75, 0x6f, 0x09, 0xb4, 0xfe,
0x71, 0x60, 0xe7, 0xca, 0xd8, 0xe8, 0xb3, 0xd3, 0x6c, 0x14, 0xb3, 0xc0, 0xbf, 0xc4, 0x79, 0x9e,
0x70, 0xd5, 0x22, 0x2f, 0x70, 0xae, 0xcf, 0x7e, 0xc7, 0x54, 0x14, 0x0a, 0xfa, 0x8e, 0xc6, 0x79,
0x7f, 0xd9, 0xe4, 0x77, 0x96, 0xb8, 0xed, 0xb2, 0x07, 0x40, 0x4a, 0xd2, 0x22, 0x51, 0x7b, 0x9b,
0xdd, 0x25, 0x53, 0xa4, 0xfa, 0x25, 0xec, 0xe6, 0xdf, 0xb2, 0x80, 0x4f, 0xa7, 0x4c, 0x4d, 0x31,
0x51, 0xf9, 0xb5, 0x9a, 0x96, 0xe8, 0x2d, 0x70, 0xe2, 0xc2, 0xd6, 0x88, 0xc6, 0x34, 0x09, 0x30,
0x1f, 0xc6, 0xc2, 0x34, 0x35, 0x7d, 0xc7, 0x54, 0x10, 0x2d, 0x46, 0xc4, 0x4e, 0x60, 0xc3, 0xa2,
0xf9, 0x84, 0xb4, 0xce, 0xe1, 0xe0, 0x4a, 0xb5, 0x96, 0x1f, 0xe5, 0x08, 0x69, 0x88, 0x62, 0xe5,
0xa3, 0x6c, 0x21, 0xd3, 0x34, 0x04, 0x2a, 0x23, 0x1e, 0xce, 0xf3, 0x96, 0x32, 0xbf, 0x5b, 0x7f,
0x3b, 0x50, 0xbb, 0x10, 0x34, 0x91, 0x7a, 0x37, 0xf2, 0x84, 0xec, 0xc3, 0x46, 0xc2, 0x75, 0x72,
0xf6, 0xfd, 0xac, 0x41, 0x6e, 0x41, 0x75, 0x42, 0xa5, 0x9f, 0x0a, 0x16, 0x60, 0xfe, 0x68, 0x37,
0x26, 0x54, 0xbe, 0xd4, 0x76, 0x41, 0xc6, 0x6c, 0xca, 0x6c, 0xc9, 0x2d, 0x79, 0xae, 0x6d, 0x5d,
0x46, 0x81, 0x01, 0x4b, 0xd9, 0xf2, 0x4d, 0x96, 0x80, 0x3e, 0x6d, 0x46, 0xe3, 0xac, 0x78, 0x0a,
0x6b, 0x68, 0x94, 0x25, 0x69, 0xa6, 0xcc, 0xfd, 0xeb, 0x9e, 0x35, 0xc8, 0xf7, 0xe5, 0x86, 0xd8,
0x32, 0x1f, 0xaf, 0x3b, 0xd7, 0xef, 0xd3, 0x61, 0x21, 0x2b, 0x77, 0xcc, 0x13, 0xa8, 0x2e, 0x70,
0x52, 0x07, 0x67, 0x96, 0xdf, 0xd0, 0x99, 0x69, 0xab, 0xf8, 0x17, 0xc5, 0x11, 0xda, 0x92, 0xf9,
0x35, 0x1c, 0x79, 0xff, 0x4f, 0x07, 0x36, 0x2e, 0x78, 0xca, 0x02, 0x52, 0x83, 0xad, 0x57, 0xfd,
0x17, 0xfd, 0xc1, 0x9b, 0x7e, 0xf3, 0x3f, 0xe4, 0x18, 0x6e, 0xf6, 0x06, 0xe7, 0xe7, 0xdd, 0x8b,
0xe7, 0x83, 0xbe, 0x7f, 0x3a, 0x78, 0xfa, 0xb3, 0xef, 0x9d, 0xfd, 0xf4, 0xea, 0x6c, 0x78, 0xd1,
0x74, 0xc8, 0x2d, 0x38, 0xfc, 0x80, 0x1b, 0xbe, 0x1c, 0xf4, 0x87, 0x67, 0xcd, 0x35, 0xd2, 0x84,
0xfa, 0x85, 0xd7, 0xed, 0x0f, 0xbb, 0x3d, 0x4d, 0x0f, 0x9b, 0xeb, 0xe4, 0x7f, 0x70, 0x7c, 0x7a,
0xd6, 0xed, 0x69, 0xed, 0xf9, 0xa0, 0xf7, 0xc2, 0x7f, 0xd6, 0x1d, 0x3e, 0xf3, 0xbb, 0xfd, 0xfe,
0xe0, 0x55, 0xbf, 0x77, 0xd6, 0xac, 0x10, 0x17, 0xf6, 0x57, 0xf8, 0xe2, 0xa0, 0x0d, 0x72, 0x04,
0x07, 0x57, 0x98, 0xfc, 0x98, 0xcd, 0xd1, 0xa6, 0xf9, 0x9c, 0x3f, 0xfe, 0x37, 0x00, 0x00, 0xff,
0xff, 0x16, 0xce, 0x55, 0x94, 0x61, 0x0a, 0x00, 0x00,
}

View File

@@ -35,6 +35,30 @@ message BeaconBlockResponse {
google.protobuf.Timestamp timestamp = 10;
}
message CrystallizedStateHashAnnounce {
bytes hash = 1;
}
message CrystallizedStateRequest {
bytes hash = 1;
}
message CrystallizedStateResponse {
repeated ValidatorRecord active_validators = 1;
repeated ValidatorRecord queued_validators = 2;
repeated ValidatorRecord exited_validators = 3;
repeated uint64 current_epoch_shuffling = 4;
uint64 current_epoch = 5;
uint64 last_justified_epoch = 6;
uint64 last_finalized_epoch = 7;
uint64 current_dynasty = 8;
uint64 next_shard = 9;
bytes current_check_point = 10;
uint64 total_deposits = 11;
bytes dynasty_seed = 12;
uint64 dynasty_seed_last_reset = 13;
}
message AggregateVote {
uint32 shard_id = 1;
bytes shard_block_hash = 2;
@@ -50,6 +74,15 @@ message CollationBodyRequest {
bytes signature = 5;
}
message ValidatorRecord {
uint64 public_key = 1;
uint64 withdrawal_shard = 2;
bytes withdrawal_address = 3;
bytes randao_commitment = 4;
uint64 balance = 5;
uint64 switch_dynasty = 6;
}
message CollationBodyResponse {
bytes header_hash = 1;
bytes body = 2;