Replace Dynasty with Validator Set Change (#655)

This commit is contained in:
terence tsao
2018-10-13 19:12:06 -07:00
committed by Raul Jordan
parent b00cdb656a
commit dc8d40d10d
10 changed files with 256 additions and 308 deletions

View File

@@ -66,7 +66,7 @@ func (x Topic) String() string {
return proto.EnumName(Topic_name, int32(x))
}
func (Topic) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{0}
return fileDescriptor_messages_c970645187427d5d, []int{0}
}
type BeaconBlockHashAnnounce struct {
@@ -80,7 +80,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_ab72a247cb5f2712, []int{0}
return fileDescriptor_messages_c970645187427d5d, []int{0}
}
func (m *BeaconBlockHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockHashAnnounce.Unmarshal(m, b)
@@ -118,7 +118,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_ab72a247cb5f2712, []int{1}
return fileDescriptor_messages_c970645187427d5d, []int{1}
}
func (m *BeaconBlockRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockRequest.Unmarshal(m, b)
@@ -156,7 +156,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_ab72a247cb5f2712, []int{2}
return fileDescriptor_messages_c970645187427d5d, []int{2}
}
func (m *BeaconBlockRequestBySlotNumber) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockRequestBySlotNumber.Unmarshal(m, b)
@@ -195,7 +195,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_ab72a247cb5f2712, []int{3}
return fileDescriptor_messages_c970645187427d5d, []int{3}
}
func (m *BeaconBlockResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlockResponse.Unmarshal(m, b)
@@ -248,7 +248,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_ab72a247cb5f2712, []int{4}
return fileDescriptor_messages_c970645187427d5d, []int{4}
}
func (m *BeaconBlock) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BeaconBlock.Unmarshal(m, b)
@@ -342,7 +342,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_ab72a247cb5f2712, []int{5}
return fileDescriptor_messages_c970645187427d5d, []int{5}
}
func (m *CrystallizedStateHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateHashAnnounce.Unmarshal(m, b)
@@ -380,7 +380,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_ab72a247cb5f2712, []int{6}
return fileDescriptor_messages_c970645187427d5d, []int{6}
}
func (m *CrystallizedStateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateRequest.Unmarshal(m, b)
@@ -418,7 +418,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_ab72a247cb5f2712, []int{7}
return fileDescriptor_messages_c970645187427d5d, []int{7}
}
func (m *CrystallizedStateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedStateResponse.Unmarshal(m, b)
@@ -450,17 +450,15 @@ type CrystallizedState struct {
JustifiedStreak uint64 `protobuf:"varint,2,opt,name=justified_streak,json=justifiedStreak,proto3" json:"justified_streak,omitempty"`
LastJustifiedSlot uint64 `protobuf:"varint,3,opt,name=last_justified_slot,json=lastJustifiedSlot,proto3" json:"last_justified_slot,omitempty"`
LastFinalizedSlot uint64 `protobuf:"varint,4,opt,name=last_finalized_slot,json=lastFinalizedSlot,proto3" json:"last_finalized_slot,omitempty"`
Dynasty uint64 `protobuf:"varint,5,opt,name=dynasty,proto3" json:"dynasty,omitempty"`
DynastySeed []byte `protobuf:"bytes,6,opt,name=dynasty_seed,json=dynastySeed,proto3" json:"dynasty_seed,omitempty"`
DynastyStartSlot uint64 `protobuf:"varint,7,opt,name=dynasty_start_slot,json=dynastyStartSlot,proto3" json:"dynasty_start_slot,omitempty"`
Crosslinks []*CrosslinkRecord `protobuf:"bytes,8,rep,name=crosslinks,proto3" json:"crosslinks,omitempty"`
Validators []*ValidatorRecord `protobuf:"bytes,9,rep,name=validators,proto3" json:"validators,omitempty"`
ShardAndCommitteesForSlots []*ShardAndCommitteeArray `protobuf:"bytes,10,rep,name=shard_and_committees_for_slots,json=shardAndCommitteesForSlots,proto3" json:"shard_and_committees_for_slots,omitempty"`
DepositsPenalizedInPeriod []uint32 `protobuf:"varint,11,rep,packed,name=deposits_penalized_in_period,json=depositsPenalizedInPeriod,proto3" json:"deposits_penalized_in_period,omitempty"`
ValidatorSetDeltaHashChain []byte `protobuf:"bytes,12,opt,name=validator_set_delta_hash_chain,json=validatorSetDeltaHashChain,proto3" json:"validator_set_delta_hash_chain,omitempty"`
PreForkVersion uint32 `protobuf:"varint,13,opt,name=pre_fork_version,json=preForkVersion,proto3" json:"pre_fork_version,omitempty"`
PostForkVersion uint32 `protobuf:"varint,14,opt,name=post_fork_version,json=postForkVersion,proto3" json:"post_fork_version,omitempty"`
ForkSlotNumber uint64 `protobuf:"varint,15,opt,name=fork_slot_number,json=forkSlotNumber,proto3" json:"fork_slot_number,omitempty"`
ValidatorSetChangeSlot uint64 `protobuf:"varint,5,opt,name=validator_set_change_slot,json=validatorSetChangeSlot,proto3" json:"validator_set_change_slot,omitempty"`
Crosslinks []*CrosslinkRecord `protobuf:"bytes,6,rep,name=crosslinks,proto3" json:"crosslinks,omitempty"`
Validators []*ValidatorRecord `protobuf:"bytes,7,rep,name=validators,proto3" json:"validators,omitempty"`
ShardAndCommitteesForSlots []*ShardAndCommitteeArray `protobuf:"bytes,8,rep,name=shard_and_committees_for_slots,json=shardAndCommitteesForSlots,proto3" json:"shard_and_committees_for_slots,omitempty"`
DepositsPenalizedInPeriod []uint32 `protobuf:"varint,9,rep,packed,name=deposits_penalized_in_period,json=depositsPenalizedInPeriod,proto3" json:"deposits_penalized_in_period,omitempty"`
ValidatorSetDeltaHashChain []byte `protobuf:"bytes,10,opt,name=validator_set_delta_hash_chain,json=validatorSetDeltaHashChain,proto3" json:"validator_set_delta_hash_chain,omitempty"`
PreForkVersion uint32 `protobuf:"varint,11,opt,name=pre_fork_version,json=preForkVersion,proto3" json:"pre_fork_version,omitempty"`
PostForkVersion uint32 `protobuf:"varint,12,opt,name=post_fork_version,json=postForkVersion,proto3" json:"post_fork_version,omitempty"`
ForkSlotNumber uint64 `protobuf:"varint,13,opt,name=fork_slot_number,json=forkSlotNumber,proto3" json:"fork_slot_number,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -470,7 +468,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_ab72a247cb5f2712, []int{8}
return fileDescriptor_messages_c970645187427d5d, []int{8}
}
func (m *CrystallizedState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrystallizedState.Unmarshal(m, b)
@@ -518,23 +516,9 @@ func (m *CrystallizedState) GetLastFinalizedSlot() uint64 {
return 0
}
func (m *CrystallizedState) GetDynasty() uint64 {
func (m *CrystallizedState) GetValidatorSetChangeSlot() uint64 {
if m != nil {
return m.Dynasty
}
return 0
}
func (m *CrystallizedState) GetDynastySeed() []byte {
if m != nil {
return m.DynastySeed
}
return nil
}
func (m *CrystallizedState) GetDynastyStartSlot() uint64 {
if m != nil {
return m.DynastyStartSlot
return m.ValidatorSetChangeSlot
}
return 0
}
@@ -606,7 +590,7 @@ func (m *ShardAndCommitteeArray) Reset() { *m = ShardAndCommitteeArray{}
func (m *ShardAndCommitteeArray) String() string { return proto.CompactTextString(m) }
func (*ShardAndCommitteeArray) ProtoMessage() {}
func (*ShardAndCommitteeArray) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{9}
return fileDescriptor_messages_c970645187427d5d, []int{9}
}
func (m *ShardAndCommitteeArray) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShardAndCommitteeArray.Unmarshal(m, b)
@@ -644,7 +628,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_ab72a247cb5f2712, []int{10}
return fileDescriptor_messages_c970645187427d5d, []int{10}
}
func (m *ActiveStateHashAnnounce) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateHashAnnounce.Unmarshal(m, b)
@@ -682,7 +666,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_ab72a247cb5f2712, []int{11}
return fileDescriptor_messages_c970645187427d5d, []int{11}
}
func (m *ActiveStateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateRequest.Unmarshal(m, b)
@@ -721,7 +705,7 @@ func (m *ShardAndCommittee) Reset() { *m = ShardAndCommittee{} }
func (m *ShardAndCommittee) String() string { return proto.CompactTextString(m) }
func (*ShardAndCommittee) ProtoMessage() {}
func (*ShardAndCommittee) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{12}
return fileDescriptor_messages_c970645187427d5d, []int{12}
}
func (m *ShardAndCommittee) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShardAndCommittee.Unmarshal(m, b)
@@ -766,7 +750,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_ab72a247cb5f2712, []int{13}
return fileDescriptor_messages_c970645187427d5d, []int{13}
}
func (m *ActiveStateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveStateResponse.Unmarshal(m, b)
@@ -807,7 +791,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_ab72a247cb5f2712, []int{14}
return fileDescriptor_messages_c970645187427d5d, []int{14}
}
func (m *ActiveState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ActiveState.Unmarshal(m, b)
@@ -872,7 +856,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_ab72a247cb5f2712, []int{15}
return fileDescriptor_messages_c970645187427d5d, []int{15}
}
func (m *ValidatorRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValidatorRecord.Unmarshal(m, b)
@@ -959,7 +943,7 @@ func (m *AggregatedAttestation) Reset() { *m = AggregatedAttestation{} }
func (m *AggregatedAttestation) String() string { return proto.CompactTextString(m) }
func (*AggregatedAttestation) ProtoMessage() {}
func (*AggregatedAttestation) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{16}
return fileDescriptor_messages_c970645187427d5d, []int{16}
}
func (m *AggregatedAttestation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AggregatedAttestation.Unmarshal(m, b)
@@ -1051,7 +1035,7 @@ func (m *AttestationSignedData) Reset() { *m = AttestationSignedData{} }
func (m *AttestationSignedData) String() string { return proto.CompactTextString(m) }
func (*AttestationSignedData) ProtoMessage() {}
func (*AttestationSignedData) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{17}
return fileDescriptor_messages_c970645187427d5d, []int{17}
}
func (m *AttestationSignedData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AttestationSignedData.Unmarshal(m, b)
@@ -1114,7 +1098,7 @@ func (m *AttestationSignedData) GetJustifiedSlot() uint64 {
}
type CrosslinkRecord struct {
Dynasty uint64 `protobuf:"varint,1,opt,name=dynasty,proto3" json:"dynasty,omitempty"`
RecentlyChanged bool `protobuf:"varint,1,opt,name=recently_changed,json=recentlyChanged,proto3" json:"recently_changed,omitempty"`
ShardBlockHash []byte `protobuf:"bytes,2,opt,name=shard_block_hash,json=shardBlockHash,proto3" json:"shard_block_hash,omitempty"`
Slot uint64 `protobuf:"varint,3,opt,name=slot,proto3" json:"slot,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1126,7 +1110,7 @@ func (m *CrosslinkRecord) Reset() { *m = CrosslinkRecord{} }
func (m *CrosslinkRecord) String() string { return proto.CompactTextString(m) }
func (*CrosslinkRecord) ProtoMessage() {}
func (*CrosslinkRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{18}
return fileDescriptor_messages_c970645187427d5d, []int{18}
}
func (m *CrosslinkRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CrosslinkRecord.Unmarshal(m, b)
@@ -1146,11 +1130,11 @@ func (m *CrosslinkRecord) XXX_DiscardUnknown() {
var xxx_messageInfo_CrosslinkRecord proto.InternalMessageInfo
func (m *CrosslinkRecord) GetDynasty() uint64 {
func (m *CrosslinkRecord) GetRecentlyChanged() bool {
if m != nil {
return m.Dynasty
return m.RecentlyChanged
}
return 0
return false
}
func (m *CrosslinkRecord) GetShardBlockHash() []byte {
@@ -1178,7 +1162,7 @@ func (m *AttestationHashes) Reset() { *m = AttestationHashes{} }
func (m *AttestationHashes) String() string { return proto.CompactTextString(m) }
func (*AttestationHashes) ProtoMessage() {}
func (*AttestationHashes) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{19}
return fileDescriptor_messages_c970645187427d5d, []int{19}
}
func (m *AttestationHashes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AttestationHashes.Unmarshal(m, b)
@@ -1217,7 +1201,7 @@ func (m *SpecialRecord) Reset() { *m = SpecialRecord{} }
func (m *SpecialRecord) String() string { return proto.CompactTextString(m) }
func (*SpecialRecord) ProtoMessage() {}
func (*SpecialRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_messages_ab72a247cb5f2712, []int{20}
return fileDescriptor_messages_c970645187427d5d, []int{20}
}
func (m *SpecialRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SpecialRecord.Unmarshal(m, b)
@@ -1276,105 +1260,104 @@ func init() {
proto.RegisterEnum("ethereum.beacon.p2p.v1.Topic", Topic_name, Topic_value)
}
func init() { proto.RegisterFile("messages.proto", fileDescriptor_messages_ab72a247cb5f2712) }
func init() { proto.RegisterFile("messages.proto", fileDescriptor_messages_c970645187427d5d) }
var fileDescriptor_messages_ab72a247cb5f2712 = []byte{
// 1541 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x59, 0x73, 0x1b, 0x37,
0x12, 0x5e, 0x1e, 0xba, 0x9a, 0xa4, 0x48, 0x42, 0x87, 0x29, 0xd9, 0x96, 0xb5, 0xa3, 0x75, 0x59,
0xb6, 0xd7, 0xf4, 0xae, 0x5d, 0xb5, 0xc7, 0xcb, 0x6e, 0x0d, 0x69, 0xca, 0xf2, 0x5a, 0xa6, 0xe4,
0x21, 0xe5, 0x5d, 0x6f, 0x55, 0x0a, 0x01, 0x39, 0x10, 0x35, 0xd6, 0x70, 0x30, 0x06, 0x40, 0xc9,
0xca, 0x43, 0x7e, 0x43, 0xfe, 0x42, 0x7e, 0x4d, 0xaa, 0xf2, 0x90, 0xaa, 0x3c, 0xe5, 0xe7, 0x24,
0x05, 0x0c, 0x66, 0x38, 0x14, 0x29, 0x1f, 0x79, 0xe3, 0x74, 0x7f, 0xdd, 0xe8, 0xe3, 0x43, 0x37,
0x08, 0xcb, 0x43, 0x2a, 0x04, 0x19, 0x50, 0x51, 0x0f, 0x39, 0x93, 0x0c, 0xad, 0x53, 0x79, 0x4a,
0x39, 0x1d, 0x0d, 0xeb, 0x3d, 0x4a, 0xfa, 0x2c, 0xa8, 0x87, 0x4f, 0xc2, 0xfa, 0xf9, 0x5f, 0x37,
0xef, 0x0c, 0x18, 0x1b, 0xf8, 0xf4, 0xb1, 0x46, 0xf5, 0x46, 0x27, 0x8f, 0xa5, 0x37, 0xa4, 0x42,
0x92, 0x61, 0x18, 0x19, 0x5a, 0x8f, 0xe0, 0x46, 0x43, 0x5b, 0x34, 0x7c, 0xd6, 0x3f, 0xdb, 0x27,
0xe2, 0xd4, 0x0e, 0x02, 0x36, 0x0a, 0xfa, 0x14, 0x21, 0xc8, 0x9f, 0x12, 0x71, 0x5a, 0xcb, 0x6c,
0x67, 0x76, 0x8b, 0x8e, 0xfe, 0x6d, 0xed, 0x02, 0x4a, 0xc1, 0x1d, 0xfa, 0x7e, 0x44, 0x85, 0x9c,
0x89, 0xb4, 0x61, 0x6b, 0x1a, 0xd9, 0xb8, 0xec, 0xf8, 0x4c, 0xb6, 0x47, 0xc3, 0x1e, 0xe5, 0xe8,
0x0e, 0x14, 0x84, 0xcf, 0x24, 0x0e, 0xf4, 0xa7, 0x36, 0xce, 0x3b, 0x20, 0x12, 0x80, 0xf5, 0x7d,
0x06, 0x56, 0x26, 0x7c, 0x88, 0x90, 0x05, 0x82, 0xa2, 0x7f, 0xc2, 0x5c, 0x4f, 0x09, 0xb4, 0x49,
0xe1, 0xc9, 0x4e, 0x7d, 0x76, 0xf2, 0xf5, 0xb4, 0x6d, 0x64, 0x81, 0x0e, 0xa1, 0x40, 0xa4, 0x54,
0x15, 0x90, 0x1e, 0x0b, 0x6a, 0x59, 0xed, 0xe0, 0xd1, 0x75, 0x0e, 0xec, 0xc1, 0x80, 0xd3, 0x01,
0x91, 0xd4, 0xb5, 0xc7, 0x46, 0x4e, 0xda, 0x83, 0xf5, 0x43, 0x0e, 0x0a, 0xa9, 0x73, 0xd0, 0x3d,
0x28, 0x93, 0xa0, 0x4f, 0x85, 0x64, 0x1c, 0xab, 0x3a, 0x50, 0x51, 0xcb, 0x6c, 0xe7, 0x76, 0x8b,
0xce, 0x72, 0x2c, 0xde, 0xd7, 0x52, 0x55, 0x33, 0x95, 0xaa, 0x0e, 0x21, 0xef, 0xe8, 0xdf, 0x68,
0x07, 0x4a, 0x9c, 0x04, 0x2e, 0x61, 0x98, 0xd3, 0x73, 0x4a, 0xfc, 0x5a, 0x4e, 0x17, 0xb4, 0x18,
0x09, 0x1d, 0x2d, 0x43, 0x16, 0x94, 0x42, 0x76, 0x81, 0xfb, 0xa7, 0xc4, 0x0b, 0x30, 0xa7, 0x27,
0xb5, 0xbc, 0x06, 0x15, 0x42, 0x76, 0xd1, 0x54, 0x32, 0x87, 0x9e, 0xa0, 0x07, 0x50, 0x25, 0x7d,
0xe9, 0x9d, 0x53, 0xac, 0xe2, 0xa4, 0x98, 0x33, 0x26, 0x6b, 0x73, 0x1a, 0x57, 0x8e, 0x14, 0x1d,
0x25, 0x77, 0x18, 0x93, 0xe8, 0x6f, 0x70, 0xa3, 0xcf, 0x2f, 0x85, 0x24, 0xbe, 0xef, 0x7d, 0x43,
0xdd, 0xb4, 0xc5, 0xbc, 0xb6, 0x58, 0x4b, 0xab, 0xc7, 0x76, 0xff, 0x80, 0xa5, 0x84, 0x4c, 0xb5,
0x05, 0x5d, 0xc8, 0xcd, 0x7a, 0x44, 0xb7, 0x7a, 0x4c, 0xb7, 0x7a, 0x37, 0x46, 0x38, 0x63, 0x30,
0x7a, 0x0d, 0xc5, 0x54, 0x09, 0x45, 0x6d, 0x71, 0x3b, 0xf7, 0xe5, 0x5d, 0x98, 0x70, 0x81, 0x6c,
0x58, 0x14, 0x21, 0xed, 0x7b, 0xc4, 0x17, 0xb5, 0x25, 0xed, 0xee, 0xee, 0x75, 0xee, 0x3a, 0x11,
0xce, 0xa1, 0x7d, 0xc6, 0x5d, 0x27, 0x31, 0xb3, 0x9e, 0xc2, 0xed, 0xe6, 0xd5, 0x44, 0x3f, 0x79,
0x1f, 0xea, 0x50, 0x9b, 0x32, 0xfa, 0xd8, 0xad, 0x18, 0xc1, 0xc6, 0x0c, 0xbc, 0xe1, 0xf5, 0xff,
0x00, 0x4d, 0x77, 0xc2, 0x90, 0xfc, 0xfe, 0x75, 0xe9, 0x4c, 0xbb, 0xab, 0x4e, 0xf5, 0xcb, 0xfa,
0x65, 0x1e, 0xaa, 0x53, 0x40, 0x64, 0xc3, 0x6d, 0x9f, 0x08, 0x19, 0x77, 0x9c, 0xf6, 0x89, 0xdf,
0x1f, 0xf9, 0xba, 0xa2, 0x58, 0x73, 0x33, 0xba, 0x92, 0x9b, 0x0a, 0x64, 0x22, 0x4d, 0x41, 0xd4,
0x4d, 0x46, 0xf7, 0xa1, 0xf2, 0x6e, 0x24, 0xa4, 0x77, 0xe2, 0xe9, 0x78, 0x39, 0x25, 0x67, 0x86,
0xd1, 0xe5, 0x44, 0xde, 0xd1, 0x62, 0x54, 0x87, 0x15, 0x7d, 0x5a, 0x0a, 0xaf, 0xce, 0xc8, 0x69,
0x74, 0x55, 0xa9, 0xfe, 0x93, 0x58, 0x28, 0xd7, 0x31, 0xfe, 0xc4, 0x0b, 0x88, 0xa9, 0x87, 0xc2,
0xe7, 0xc7, 0xf8, 0xbd, 0x58, 0xa3, 0xf1, 0x35, 0x58, 0x70, 0x2f, 0x03, 0x22, 0xe4, 0xa5, 0x66,
0x7a, 0xde, 0x89, 0x3f, 0xd1, 0x1f, 0xa1, 0x68, 0x7e, 0x62, 0x41, 0xa9, 0x6b, 0x68, 0x5d, 0x30,
0xb2, 0x0e, 0xa5, 0x2e, 0xfa, 0x33, 0xa0, 0x04, 0x22, 0x09, 0x97, 0xd1, 0x59, 0x0b, 0xda, 0x4f,
0x25, 0x06, 0x2a, 0x85, 0x3e, 0xea, 0x39, 0x40, 0x9f, 0x33, 0x21, 0x7c, 0x2f, 0x38, 0x8b, 0xe9,
0x7b, 0xef, 0xfa, 0x06, 0x19, 0xa4, 0x61, 0x5c, 0xca, 0x54, 0x39, 0x3a, 0x27, 0xbe, 0xe7, 0x12,
0xc9, 0x78, 0x4c, 0xdc, 0x6b, 0x1d, 0xbd, 0x89, 0x91, 0xb1, 0xa3, 0xb1, 0x29, 0xe2, 0xb0, 0x25,
0x4e, 0x09, 0x77, 0x31, 0x09, 0x5c, 0xdc, 0x67, 0xc3, 0xa1, 0x27, 0x25, 0xa5, 0x02, 0x9f, 0x30,
0xae, 0x53, 0x11, 0x35, 0xd0, 0xce, 0xeb, 0xd7, 0xde, 0x0a, 0x65, 0x6d, 0x07, 0x6e, 0x33, 0xb6,
0xb5, 0x39, 0x27, 0x97, 0xce, 0xa6, 0xb8, 0x2a, 0x17, 0x7b, 0x8c, 0xab, 0x22, 0x08, 0xf4, 0x6f,
0xb8, 0xe5, 0xd2, 0x90, 0x09, 0x4f, 0x0a, 0x1c, 0xd2, 0xb8, 0x49, 0x5e, 0x80, 0x43, 0xca, 0x3d,
0xe6, 0xd6, 0x0a, 0xdb, 0xb9, 0xdd, 0x92, 0xb3, 0x11, 0x63, 0x8e, 0x62, 0xc8, 0x8b, 0xe0, 0x48,
0x03, 0x50, 0x03, 0xb6, 0x92, 0x14, 0xb0, 0xa0, 0x12, 0xbb, 0xd4, 0x97, 0x44, 0x8f, 0xcd, 0x68,
0xbc, 0xd5, 0x8a, 0xba, 0x53, 0x9b, 0x09, 0xaa, 0x43, 0xe5, 0x33, 0x85, 0x51, 0xf7, 0x52, 0x0f,
0x3b, 0xb4, 0x0b, 0x95, 0x90, 0x53, 0x95, 0xe7, 0x19, 0x3e, 0xa7, 0x5c, 0xa8, 0xa9, 0x5e, 0xda,
0xce, 0xec, 0x96, 0x9c, 0xe5, 0x90, 0xd3, 0x3d, 0xc6, 0xcf, 0xde, 0x44, 0x52, 0x35, 0x13, 0x43,
0xa6, 0xf8, 0x94, 0x86, 0x2e, 0x6b, 0x68, 0x59, 0x29, 0xd2, 0xd8, 0x5d, 0xa8, 0x68, 0x58, 0x7a,
0x3f, 0x95, 0x35, 0x19, 0x96, 0x95, 0x7c, 0xbc, 0xc4, 0xac, 0x6f, 0x61, 0x7d, 0x76, 0xe9, 0x90,
0x0b, 0x1b, 0x44, 0xfd, 0xc0, 0x33, 0x1a, 0xa3, 0x77, 0xc2, 0x47, 0x2e, 0xf5, 0x94, 0x4b, 0x67,
0x5d, 0xfb, 0x9a, 0x92, 0xab, 0xfd, 0x6d, 0x8f, 0x07, 0xfa, 0xe7, 0xec, 0xef, 0x14, 0xfc, 0x63,
0x93, 0xea, 0x39, 0x54, 0xa7, 0x4e, 0x43, 0xab, 0x30, 0xa7, 0xb3, 0x31, 0x93, 0x21, 0xfa, 0x40,
0xb7, 0x60, 0x69, 0x9c, 0x59, 0x56, 0x77, 0x7d, 0x2c, 0xb0, 0xbe, 0x82, 0x95, 0x89, 0x23, 0xcd,
0xb0, 0xdb, 0x83, 0x62, 0x7a, 0x45, 0x7d, 0x6a, 0x97, 0xa7, 0x5d, 0x14, 0x52, 0x2b, 0xcc, 0xfa,
0x2e, 0x0b, 0x85, 0x94, 0x12, 0x7d, 0x0d, 0xab, 0x21, 0x0d, 0x5c, 0x2f, 0x18, 0xe0, 0x89, 0x25,
0x93, 0xf9, 0x3d, 0x4b, 0x66, 0xc5, 0xb8, 0xb2, 0xd3, 0xbb, 0xa6, 0x0e, 0x2b, 0x9c, 0xf6, 0x69,
0x20, 0xb1, 0x7e, 0x53, 0xc4, 0x6b, 0x3e, 0xab, 0xd7, 0x7c, 0x35, 0x52, 0x25, 0xaf, 0x29, 0x2a,
0xd0, 0x11, 0x54, 0xe2, 0x88, 0x92, 0x1d, 0x95, 0xfb, 0x92, 0x1d, 0x55, 0x36, 0xe6, 0x46, 0x2a,
0xd0, 0x6d, 0x00, 0xf3, 0x4e, 0x18, 0x7a, 0x1f, 0xcc, 0xfe, 0x5f, 0x8a, 0x24, 0xaf, 0xbc, 0x0f,
0xd6, 0xaf, 0x19, 0x28, 0x5f, 0x19, 0x16, 0x68, 0x1d, 0xe6, 0xc3, 0x51, 0xef, 0x8c, 0x5e, 0x9a,
0x26, 0x9b, 0x2f, 0x35, 0xc0, 0x2f, 0x3c, 0x79, 0xea, 0x72, 0x72, 0x41, 0xfc, 0x88, 0xaa, 0xf1,
0x00, 0x1f, 0xcb, 0x35, 0x11, 0xd0, 0x23, 0x40, 0x29, 0x28, 0x71, 0x5d, 0x4e, 0x85, 0x30, 0x4f,
0x94, 0xea, 0x58, 0x63, 0x47, 0x0a, 0xf4, 0x10, 0xaa, 0x26, 0xc8, 0x88, 0x0b, 0x43, 0x1a, 0x48,
0x13, 0x6b, 0x25, 0x52, 0x34, 0x13, 0xb9, 0x1a, 0xde, 0x3d, 0xe2, 0xab, 0x27, 0x52, 0x3c, 0xbc,
0xcd, 0xa7, 0x0a, 0x5c, 0x55, 0x7e, 0x24, 0xf4, 0xd8, 0xce, 0x3b, 0xe6, 0x0b, 0xdd, 0x84, 0x25,
0xfa, 0xc1, 0x9b, 0x18, 0xd4, 0x8b, 0x4a, 0xa0, 0xee, 0xa6, 0xf5, 0x63, 0x16, 0xd6, 0x66, 0x76,
0x34, 0x79, 0x76, 0x65, 0x52, 0xcf, 0xae, 0x84, 0xd5, 0xd9, 0x34, 0xab, 0xef, 0xc2, 0xf2, 0xcc,
0x55, 0x55, 0x7a, 0x37, 0xb1, 0xa6, 0xfe, 0x02, 0xab, 0x63, 0xd8, 0x98, 0x10, 0x26, 0x53, 0x94,
0xe8, 0x12, 0x46, 0xa8, 0xe1, 0x12, 0x8d, 0x84, 0x14, 0x3a, 0x7a, 0x9b, 0x2d, 0x6b, 0xf9, 0x18,
0xf9, 0x10, 0xaa, 0x11, 0x87, 0x29, 0xc7, 0x3d, 0x4f, 0x9e, 0x78, 0xd4, 0x8f, 0xb7, 0x57, 0x25,
0x56, 0x34, 0x8c, 0x1c, 0x3d, 0x81, 0x35, 0xd6, 0xf3, 0xbd, 0xf7, 0x23, 0x8a, 0x43, 0xc2, 0x15,
0x3d, 0x0d, 0x31, 0x17, 0x34, 0x31, 0x57, 0x8c, 0xf2, 0x48, 0xeb, 0x0c, 0x35, 0x77, 0xa0, 0x44,
0xe2, 0x32, 0x61, 0xe1, 0x0d, 0xf4, 0x2e, 0xcb, 0x3b, 0xc5, 0x44, 0xd8, 0xf1, 0x06, 0xd6, 0xcf,
0x19, 0x58, 0x4b, 0x95, 0xb0, 0xe3, 0x0d, 0x02, 0xea, 0x3e, 0x23, 0x92, 0xa8, 0xae, 0xc5, 0x83,
0x34, 0xaa, 0x67, 0xfc, 0x39, 0xf3, 0x75, 0x9b, 0x94, 0x39, 0x97, 0x2e, 0xf3, 0x0e, 0x94, 0x26,
0xc3, 0xcd, 0xeb, 0x70, 0x8b, 0x61, 0x3a, 0xce, 0xcf, 0x2f, 0xd9, 0x74, 0xd7, 0xe6, 0x67, 0x74,
0xcd, 0xf2, 0xa0, 0x7c, 0x65, 0x2f, 0xa7, 0xdf, 0x0f, 0x99, 0xc9, 0xf7, 0xc3, 0xac, 0xd3, 0xb3,
0x33, 0x4f, 0x8f, 0xd3, 0xce, 0x8d, 0xd3, 0xb6, 0xfe, 0x05, 0xd5, 0x54, 0xf5, 0x4c, 0x42, 0xf7,
0xa1, 0x92, 0x9a, 0x4e, 0xd8, 0x4c, 0xdf, 0x9c, 0x7e, 0x9f, 0x4f, 0x82, 0xad, 0xbf, 0x43, 0x69,
0x62, 0x1c, 0xa8, 0x43, 0xce, 0xbc, 0x20, 0x9a, 0xc1, 0x25, 0x47, 0xff, 0x56, 0x32, 0x97, 0x48,
0x62, 0x86, 0x90, 0xfe, 0xfd, 0xe0, 0xa7, 0x2c, 0xcc, 0x75, 0x59, 0xe8, 0xf5, 0x51, 0x01, 0x16,
0x8e, 0xdb, 0x2f, 0xdb, 0x87, 0xff, 0x6d, 0x57, 0xfe, 0x80, 0xb6, 0x60, 0xb3, 0xd1, 0xb2, 0x9b,
0x87, 0x6d, 0xdc, 0x38, 0x38, 0x6c, 0xbe, 0xc4, 0xfb, 0x76, 0x67, 0x1f, 0xdb, 0xed, 0xf6, 0xe1,
0x71, 0xbb, 0xd9, 0xaa, 0x64, 0x50, 0x0d, 0x56, 0x27, 0xf4, 0x4e, 0xeb, 0xf5, 0x71, 0xab, 0xd3,
0xad, 0x64, 0xd1, 0x3d, 0xd8, 0x99, 0xa5, 0xc1, 0x8d, 0xb7, 0xb8, 0x73, 0x70, 0xd8, 0xc5, 0xed,
0xe3, 0x57, 0x8d, 0x96, 0x53, 0xc9, 0xa1, 0x0d, 0x58, 0xbb, 0x02, 0xec, 0x1c, 0x1d, 0xb6, 0x3b,
0xad, 0x4a, 0x1e, 0xfd, 0x09, 0xb6, 0x9b, 0xce, 0xdb, 0x4e, 0xd7, 0x3e, 0x38, 0x78, 0xf1, 0xff,
0xd6, 0x33, 0xdc, 0xe9, 0xda, 0xdd, 0xd6, 0x95, 0x18, 0xe6, 0x54, 0x8c, 0x33, 0x50, 0x71, 0x24,
0xf3, 0xe8, 0x0e, 0xdc, 0x9c, 0xa9, 0x37, 0xc7, 0x2c, 0x28, 0x07, 0x76, 0xb3, 0xfb, 0xe2, 0x4d,
0x6b, 0xe6, 0x01, 0x8b, 0x2a, 0xc9, 0x09, 0x7d, 0xec, 0x7a, 0x49, 0xc5, 0x7e, 0x45, 0x63, 0x9c,
0x42, 0x6f, 0x5e, 0xff, 0xad, 0x79, 0xfa, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, 0xee, 0x3b,
0x5c, 0x7d, 0x0f, 0x00, 0x00,
var fileDescriptor_messages_c970645187427d5d = []byte{
// 1527 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x5b, 0x73, 0xd3, 0xc6,
0x17, 0xff, 0xfb, 0x92, 0xdb, 0xb1, 0x1d, 0xdb, 0x9b, 0x0b, 0x4e, 0x80, 0x90, 0x51, 0xfe, 0x0c,
0x01, 0x06, 0xf3, 0xff, 0xc3, 0x4c, 0x5b, 0x5e, 0xda, 0x91, 0x8d, 0x43, 0x28, 0xc1, 0x09, 0xb2,
0x43, 0x4b, 0x67, 0x3a, 0xea, 0x5a, 0xda, 0x38, 0x22, 0xb2, 0x56, 0x68, 0xd7, 0x09, 0xe1, 0xa1,
0x9f, 0xa1, 0x5f, 0xa1, 0x4f, 0xfd, 0x28, 0x9d, 0xe9, 0x43, 0x67, 0xfa, 0x89, 0xda, 0xd9, 0xd5,
0xea, 0xe2, 0x58, 0x09, 0xd0, 0x37, 0xed, 0x39, 0xbf, 0x73, 0xf6, 0xec, 0xb9, 0x0b, 0x16, 0x47,
0x84, 0x31, 0x3c, 0x24, 0xac, 0xe9, 0x07, 0x94, 0x53, 0xb4, 0x4a, 0xf8, 0x31, 0x09, 0xc8, 0x78,
0xd4, 0x1c, 0x10, 0x6c, 0x51, 0xaf, 0xe9, 0x3f, 0xf2, 0x9b, 0xa7, 0xff, 0x5f, 0xbf, 0x35, 0xa4,
0x74, 0xe8, 0x92, 0x87, 0x12, 0x35, 0x18, 0x1f, 0x3d, 0xe4, 0xce, 0x88, 0x30, 0x8e, 0x47, 0x7e,
0x28, 0xa8, 0x3d, 0x80, 0x6b, 0x2d, 0x29, 0xd1, 0x72, 0xa9, 0x75, 0xb2, 0x8b, 0xd9, 0xb1, 0xee,
0x79, 0x74, 0xec, 0x59, 0x04, 0x21, 0x28, 0x1e, 0x63, 0x76, 0xdc, 0xc8, 0x6d, 0xe6, 0xb6, 0xcb,
0x86, 0xfc, 0xd6, 0xb6, 0x01, 0xa5, 0xe0, 0x06, 0x79, 0x37, 0x26, 0x8c, 0x67, 0x22, 0x75, 0xd8,
0x98, 0x46, 0xb6, 0xce, 0x7b, 0x2e, 0xe5, 0xdd, 0xf1, 0x68, 0x40, 0x02, 0x74, 0x0b, 0x4a, 0xcc,
0xa5, 0xdc, 0xf4, 0xe4, 0x51, 0x0a, 0x17, 0x0d, 0x60, 0x31, 0x40, 0xfb, 0x35, 0x07, 0x4b, 0x13,
0x3a, 0x98, 0x4f, 0x3d, 0x46, 0xd0, 0x13, 0x98, 0x19, 0x08, 0x82, 0x14, 0x29, 0x3d, 0xda, 0x6a,
0x66, 0x3f, 0xbe, 0x99, 0x96, 0x0d, 0x25, 0xd0, 0x3e, 0x94, 0x30, 0xe7, 0xc2, 0x03, 0xdc, 0xa1,
0x5e, 0x23, 0x2f, 0x15, 0x3c, 0xb8, 0x4c, 0x81, 0x3e, 0x1c, 0x06, 0x64, 0x88, 0x39, 0xb1, 0xf5,
0x44, 0xc8, 0x48, 0x6b, 0xd0, 0x7e, 0x2f, 0x40, 0x29, 0x75, 0x0f, 0xba, 0x03, 0x55, 0xec, 0x59,
0x84, 0x71, 0x1a, 0x98, 0xc2, 0x0f, 0x84, 0x35, 0x72, 0x9b, 0x85, 0xed, 0xb2, 0xb1, 0x18, 0x91,
0x77, 0x25, 0x55, 0xf8, 0x4c, 0x3c, 0x55, 0x9a, 0x50, 0x34, 0xe4, 0x37, 0xda, 0x82, 0x4a, 0x80,
0x3d, 0x1b, 0x53, 0x33, 0x20, 0xa7, 0x04, 0xbb, 0x8d, 0x82, 0x74, 0x68, 0x39, 0x24, 0x1a, 0x92,
0x86, 0x34, 0xa8, 0xf8, 0xf4, 0xcc, 0xb4, 0x8e, 0xb1, 0xe3, 0x99, 0x01, 0x39, 0x6a, 0x14, 0x25,
0xa8, 0xe4, 0xd3, 0xb3, 0xb6, 0xa0, 0x19, 0xe4, 0x08, 0xdd, 0x83, 0x3a, 0xb6, 0xb8, 0x73, 0x4a,
0x4c, 0x61, 0x27, 0x31, 0x03, 0x4a, 0x79, 0x63, 0x46, 0xe2, 0xaa, 0x21, 0xa3, 0x27, 0xe8, 0x06,
0xa5, 0x1c, 0x7d, 0x01, 0xd7, 0xac, 0xe0, 0x9c, 0x71, 0xec, 0xba, 0xce, 0x07, 0x62, 0xa7, 0x25,
0x66, 0xa5, 0xc4, 0x4a, 0x9a, 0x9d, 0xc8, 0x7d, 0x05, 0x0b, 0x71, 0x32, 0x35, 0xe6, 0xa4, 0x23,
0xd7, 0x9b, 0x61, 0xba, 0x35, 0xa3, 0x74, 0x6b, 0xf6, 0x23, 0x84, 0x91, 0x80, 0xd1, 0x2b, 0x28,
0xa7, 0x5c, 0xc8, 0x1a, 0xf3, 0x9b, 0x85, 0xcf, 0x8f, 0xc2, 0x84, 0x0a, 0xa4, 0xc3, 0x3c, 0xf3,
0x89, 0xe5, 0x60, 0x97, 0x35, 0x16, 0xa4, 0xba, 0xdb, 0x97, 0xa9, 0xeb, 0x85, 0x38, 0x83, 0x58,
0x34, 0xb0, 0x8d, 0x58, 0x4c, 0x7b, 0x0c, 0x37, 0xdb, 0x17, 0x1f, 0xfa, 0xd1, 0x7a, 0x68, 0x42,
0x63, 0x4a, 0xe8, 0xaa, 0xaa, 0x18, 0xc3, 0x5a, 0x06, 0x5e, 0xe5, 0xf5, 0xf7, 0x80, 0xa6, 0x23,
0xa1, 0x92, 0xfc, 0xee, 0x65, 0xcf, 0x99, 0x56, 0x57, 0x9f, 0x8a, 0x97, 0xf6, 0xdb, 0x2c, 0xd4,
0xa7, 0x80, 0x48, 0x87, 0x9b, 0x2e, 0x66, 0x3c, 0x8a, 0x38, 0xb1, 0xb0, 0x6b, 0x8d, 0x5d, 0xe9,
0x51, 0x53, 0xe6, 0x66, 0x58, 0x92, 0xeb, 0x02, 0xa4, 0x2c, 0x4d, 0x41, 0x44, 0x25, 0xa3, 0xbb,
0x50, 0x7b, 0x3b, 0x66, 0xdc, 0x39, 0x72, 0xa4, 0xbd, 0x01, 0xc1, 0x27, 0x2a, 0xa3, 0xab, 0x31,
0xbd, 0x27, 0xc9, 0xa8, 0x09, 0x4b, 0xf2, 0xb6, 0x14, 0x5e, 0xdc, 0x51, 0x90, 0xe8, 0xba, 0x60,
0x7d, 0x1b, 0x4b, 0x08, 0xd5, 0x11, 0xfe, 0xc8, 0xf1, 0xb0, 0xf2, 0x87, 0xc0, 0x17, 0x13, 0xfc,
0x4e, 0xc4, 0x91, 0xf8, 0x27, 0xb0, 0x76, 0x8a, 0x5d, 0xc7, 0xc6, 0xa2, 0xf4, 0x18, 0xe1, 0xa2,
0x42, 0xbc, 0x21, 0x09, 0xa5, 0x66, 0xa4, 0xd4, 0x6a, 0x0c, 0xe8, 0x11, 0xde, 0x96, 0x6c, 0x29,
0xfa, 0x0c, 0xc0, 0x0a, 0x28, 0x63, 0xae, 0xe3, 0x9d, 0xb0, 0xc6, 0xac, 0xcc, 0x9f, 0x3b, 0x97,
0x3b, 0x5c, 0x21, 0x55, 0x06, 0xa5, 0x44, 0x85, 0xa2, 0xf8, 0x0a, 0xd6, 0x98, 0xbb, 0x5a, 0xd1,
0xeb, 0x08, 0x19, 0x29, 0x4a, 0x44, 0x51, 0x00, 0x1b, 0xec, 0x18, 0x07, 0xb6, 0x89, 0x3d, 0xdb,
0xb4, 0xe8, 0x68, 0xe4, 0x70, 0x4e, 0x08, 0x33, 0x8f, 0xc4, 0xdb, 0x5c, 0xca, 0xa3, 0xa2, 0x69,
0x5e, 0x9a, 0xe5, 0x42, 0x5a, 0xf7, 0xec, 0x76, 0x24, 0xab, 0x07, 0x01, 0x3e, 0x37, 0xd6, 0xd9,
0x45, 0x3a, 0xdb, 0xa1, 0x81, 0x70, 0x02, 0x43, 0xdf, 0xc0, 0x0d, 0x9b, 0xf8, 0x94, 0x39, 0x9c,
0x99, 0x3e, 0x89, 0x9c, 0xee, 0x78, 0xa6, 0x4f, 0x02, 0x87, 0xda, 0xb2, 0xae, 0x2a, 0xc6, 0x5a,
0x84, 0x39, 0x88, 0x20, 0xcf, 0xbd, 0x03, 0x09, 0x40, 0x2d, 0xd8, 0x98, 0x8c, 0x80, 0x4d, 0x5c,
0x8e, 0x65, 0x1b, 0x0c, 0xdb, 0x55, 0x03, 0x64, 0x29, 0xac, 0xa7, 0xc3, 0xf0, 0x54, 0x60, 0x44,
0x9d, 0xc9, 0xe6, 0x85, 0xb6, 0xa1, 0xe6, 0x07, 0x44, 0xbc, 0xf3, 0xc4, 0x3c, 0x25, 0x01, 0x13,
0x5d, 0xba, 0xb4, 0x99, 0xdb, 0xae, 0x18, 0x8b, 0x7e, 0x40, 0x76, 0x68, 0x70, 0xf2, 0x3a, 0xa4,
0x8a, 0x1e, 0xe7, 0x53, 0x91, 0x1f, 0x69, 0x68, 0x59, 0x42, 0xab, 0x82, 0x91, 0xc6, 0x6e, 0x43,
0x4d, 0xc2, 0xd2, 0xf3, 0xa6, 0x22, 0x53, 0x62, 0x51, 0xd0, 0x93, 0xa1, 0xa4, 0xfd, 0x0c, 0xab,
0xd9, 0xae, 0x43, 0x36, 0xac, 0x61, 0xf1, 0x61, 0x66, 0x04, 0x46, 0xf6, 0xf8, 0x2b, 0x8a, 0x74,
0x4a, 0xa5, 0xb1, 0x2a, 0x75, 0x4d, 0xd1, 0xc5, 0x3c, 0xd6, 0x93, 0x06, 0xfd, 0x29, 0xf3, 0x38,
0x05, 0xbf, 0xaa, 0xf3, 0x3c, 0x83, 0xfa, 0xd4, 0x6d, 0x68, 0x19, 0x66, 0xe4, 0x6b, 0x54, 0xa5,
0x87, 0x07, 0x74, 0x03, 0x16, 0x92, 0x97, 0xe5, 0x65, 0xd4, 0x13, 0x82, 0xf6, 0x23, 0x2c, 0x4d,
0x5c, 0xa9, 0x9a, 0xd7, 0x0e, 0x94, 0xd3, 0x23, 0xe7, 0x63, 0xb3, 0x39, 0xad, 0xa2, 0x94, 0x1a,
0x49, 0xda, 0x2f, 0x79, 0x28, 0xa5, 0x98, 0xe8, 0x27, 0x58, 0xf6, 0x89, 0x67, 0x3b, 0xde, 0xd0,
0x9c, 0x18, 0x1a, 0xb9, 0x7f, 0x33, 0x34, 0x96, 0x94, 0x2a, 0x3d, 0x3d, 0x3b, 0x9a, 0xb0, 0x14,
0x10, 0x8b, 0x78, 0xdc, 0x94, 0x3b, 0x42, 0x34, 0xb6, 0xf3, 0x72, 0x6c, 0xd7, 0x43, 0x56, 0xbc,
0x1d, 0x11, 0x86, 0x0e, 0xa0, 0x16, 0x59, 0x14, 0xcf, 0x9c, 0xc2, 0xe7, 0xcc, 0x9c, 0xaa, 0x12,
0x57, 0x54, 0x86, 0x6e, 0x02, 0xa8, 0xb9, 0x3f, 0x72, 0xde, 0xab, 0x79, 0xbe, 0x10, 0x52, 0x5e,
0x3a, 0xef, 0xb5, 0xbf, 0x73, 0x50, 0xbd, 0xd0, 0x2c, 0xd0, 0x2a, 0xcc, 0xfa, 0xe3, 0xc1, 0x09,
0x39, 0x57, 0x41, 0x56, 0x27, 0xd1, 0x90, 0xcf, 0x1c, 0x7e, 0x6c, 0x07, 0xf8, 0x0c, 0xbb, 0x61,
0xaa, 0x46, 0x0d, 0x39, 0xa1, 0xcb, 0x44, 0x40, 0x0f, 0x00, 0xa5, 0xa0, 0xd8, 0xb6, 0x03, 0xc2,
0x98, 0x5a, 0x39, 0xea, 0x09, 0x47, 0x0f, 0x19, 0xe8, 0x3e, 0xd4, 0x95, 0x91, 0x61, 0x2e, 0x8c,
0x88, 0xc7, 0x95, 0xad, 0xb5, 0x90, 0xd1, 0x8e, 0xe9, 0xa8, 0x01, 0x73, 0x03, 0xec, 0x8a, 0x95,
0x47, 0xb5, 0xde, 0xe8, 0x28, 0x0c, 0x17, 0x9e, 0x1f, 0x33, 0xb9, 0x5d, 0x14, 0x0d, 0x75, 0x42,
0xd7, 0x61, 0x81, 0xbc, 0x77, 0x78, 0xd8, 0xae, 0xe7, 0x24, 0x6b, 0x5e, 0x10, 0x44, 0x6d, 0x6a,
0x7f, 0xe4, 0x61, 0x25, 0x33, 0xa2, 0xf1, 0x1a, 0x95, 0x4b, 0xad, 0x51, 0x71, 0x56, 0xe7, 0xd3,
0x59, 0x7d, 0x1b, 0x16, 0x33, 0x47, 0x4f, 0xe5, 0xed, 0xc4, 0xd8, 0xf9, 0x1f, 0x2c, 0x27, 0xb0,
0x24, 0x21, 0xd4, 0x4b, 0x51, 0xcc, 0x8b, 0x33, 0x42, 0x34, 0x97, 0xb0, 0x25, 0xa4, 0xd0, 0xe1,
0xae, 0xb5, 0x28, 0xe9, 0x09, 0xf2, 0x3e, 0xd4, 0xc3, 0x1c, 0x26, 0x81, 0x39, 0x70, 0xf8, 0x91,
0x43, 0x5c, 0x5b, 0x2d, 0x59, 0xb5, 0x88, 0xd1, 0x52, 0x74, 0xf4, 0x08, 0x56, 0xe8, 0xc0, 0x75,
0xde, 0x8d, 0x89, 0xe9, 0xe3, 0x40, 0xa4, 0xa7, 0x4a, 0xcc, 0x39, 0x99, 0x98, 0x4b, 0x8a, 0x79,
0x20, 0x79, 0x2a, 0x35, 0xb7, 0xa0, 0x82, 0x23, 0x37, 0x99, 0xcc, 0x19, 0xca, 0x29, 0x51, 0x34,
0xca, 0x31, 0xb1, 0xe7, 0x0c, 0xb5, 0xbf, 0x72, 0xb0, 0x92, 0x72, 0x61, 0xcf, 0x19, 0x7a, 0xc4,
0x7e, 0x8a, 0x39, 0x16, 0x51, 0x8b, 0x1a, 0x69, 0xe8, 0xcf, 0xe8, 0x98, 0xb9, 0xad, 0xc6, 0x6e,
0x2e, 0xa4, 0xdd, 0xbc, 0x05, 0x95, 0x49, 0x73, 0x8b, 0xd2, 0xdc, 0xb2, 0x9f, 0xb6, 0xf3, 0xd3,
0x5d, 0x36, 0x1d, 0xb5, 0xd9, 0x8c, 0xa8, 0x69, 0x1f, 0xa0, 0x7a, 0x61, 0x2e, 0x8b, 0x4a, 0x08,
0x6b, 0xd7, 0x3d, 0x57, 0xab, 0x40, 0xd8, 0xe6, 0xe6, 0x8d, 0x6a, 0x44, 0x0f, 0x57, 0x00, 0x3b,
0xd3, 0x9c, 0x7c, 0xa6, 0x39, 0x91, 0x1f, 0x0a, 0x89, 0x1f, 0xb4, 0xaf, 0xa1, 0x9e, 0x72, 0xa7,
0x7a, 0xe1, 0x5d, 0xa8, 0xa5, 0xda, 0x95, 0xa9, 0xda, 0x71, 0x41, 0x2e, 0xe0, 0x93, 0x60, 0xed,
0x4b, 0xa8, 0x4c, 0xf4, 0x07, 0x71, 0xc9, 0x89, 0xe3, 0x85, 0xd6, 0x56, 0x0c, 0xf9, 0x2d, 0x68,
0x36, 0xe6, 0x58, 0x75, 0x25, 0xf9, 0x7d, 0xef, 0xcf, 0x3c, 0xcc, 0xf4, 0xa9, 0xef, 0x58, 0xa8,
0x04, 0x73, 0x87, 0xdd, 0x17, 0xdd, 0xfd, 0xef, 0xba, 0xb5, 0xff, 0xa0, 0x0d, 0x58, 0x6f, 0x75,
0xf4, 0xf6, 0x7e, 0xd7, 0x6c, 0xed, 0xed, 0xb7, 0x5f, 0x98, 0xbb, 0x7a, 0x6f, 0xd7, 0xd4, 0xbb,
0xdd, 0xfd, 0xc3, 0x6e, 0xbb, 0x53, 0xcb, 0xa1, 0x06, 0x2c, 0x4f, 0xf0, 0x8d, 0xce, 0xab, 0xc3,
0x4e, 0xaf, 0x5f, 0xcb, 0xa3, 0x3b, 0xb0, 0x95, 0xc5, 0x31, 0x5b, 0x6f, 0xcc, 0xde, 0xde, 0x7e,
0xdf, 0xec, 0x1e, 0xbe, 0x6c, 0x75, 0x8c, 0x5a, 0x01, 0xad, 0xc1, 0xca, 0x05, 0x60, 0xef, 0x60,
0xbf, 0xdb, 0xeb, 0xd4, 0x8a, 0xe8, 0xbf, 0xb0, 0xd9, 0x36, 0xde, 0xf4, 0xfa, 0xfa, 0xde, 0xde,
0xf3, 0x1f, 0x3a, 0x4f, 0xcd, 0x5e, 0x5f, 0xef, 0x77, 0x2e, 0xd8, 0x30, 0x23, 0x6c, 0xcc, 0x40,
0x45, 0x96, 0xcc, 0xa2, 0x5b, 0x70, 0x3d, 0x93, 0xaf, 0xae, 0x99, 0x13, 0x0a, 0xf4, 0x76, 0xff,
0xf9, 0xeb, 0x4e, 0xe6, 0x05, 0xf3, 0xe2, 0x91, 0x13, 0xfc, 0x48, 0xf5, 0x82, 0xb0, 0xfd, 0x02,
0x47, 0x29, 0x85, 0xc1, 0xac, 0xfc, 0x6f, 0x79, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6c,
0xd7, 0x30, 0x26, 0x5e, 0x0f, 0x00, 0x00,
}

View File

@@ -64,17 +64,15 @@ message CrystallizedState {
uint64 justified_streak = 2;
uint64 last_justified_slot = 3;
uint64 last_finalized_slot = 4;
uint64 dynasty = 5;
bytes dynasty_seed = 6;
uint64 dynasty_start_slot = 7;
repeated CrosslinkRecord crosslinks = 8;
repeated ValidatorRecord validators = 9;
repeated ShardAndCommitteeArray shard_and_committees_for_slots = 10;
repeated uint32 deposits_penalized_in_period = 11;
bytes validator_set_delta_hash_chain = 12;
uint32 pre_fork_version = 13;
uint32 post_fork_version = 14;
uint64 fork_slot_number =15;
uint64 validator_set_change_slot = 5;
repeated CrosslinkRecord crosslinks = 6;
repeated ValidatorRecord validators = 7;
repeated ShardAndCommitteeArray shard_and_committees_for_slots = 8;
repeated uint32 deposits_penalized_in_period = 9;
bytes validator_set_delta_hash_chain = 10;
uint32 pre_fork_version = 11;
uint32 post_fork_version = 12;
uint64 fork_slot_number =13;
}
message ShardAndCommitteeArray {
@@ -136,7 +134,7 @@ message AttestationSignedData {
}
message CrosslinkRecord {
uint64 dynasty = 1;
bool recently_changed = 1;
bytes shard_block_hash = 2;
uint64 slot = 3;
}