Merge pull request #40 from str4d/prevhash

Add PrevHash field to CompactBlocks
This commit is contained in:
str4d 2019-05-13 09:56:45 +01:00 committed by GitHub
commit 56b031c317
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 40 deletions

View File

@ -91,6 +91,7 @@ func (b *block) ToCompact() *walletrpc.CompactBlock {
//TODO ProtoVersion: 1,
Height: uint64(b.GetHeight()),
Hash: b.GetEncodableHash(),
PrevHash: b.hdr.HashPrevBlock,
Time: b.hdr.Time,
}

File diff suppressed because one or more lines are too long

View File

@ -26,9 +26,10 @@ type CompactBlock struct {
ProtoVersion uint32 `protobuf:"varint,1,opt,name=protoVersion,proto3" json:"protoVersion,omitempty"`
Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
Time uint32 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
Header []byte `protobuf:"bytes,5,opt,name=header,proto3" json:"header,omitempty"`
Vtx []*CompactTx `protobuf:"bytes,6,rep,name=vtx,proto3" json:"vtx,omitempty"`
PrevHash []byte `protobuf:"bytes,4,opt,name=prevHash,proto3" json:"prevHash,omitempty"`
Time uint32 `protobuf:"varint,5,opt,name=time,proto3" json:"time,omitempty"`
Header []byte `protobuf:"bytes,6,opt,name=header,proto3" json:"header,omitempty"`
Vtx []*CompactTx `protobuf:"bytes,7,rep,name=vtx,proto3" json:"vtx,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -38,7 +39,7 @@ func (m *CompactBlock) Reset() { *m = CompactBlock{} }
func (m *CompactBlock) String() string { return proto.CompactTextString(m) }
func (*CompactBlock) ProtoMessage() {}
func (*CompactBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_compact_formats_e98cba77ef7a6fd2, []int{0}
return fileDescriptor_compact_formats_a15b2a7f016abebd, []int{0}
}
func (m *CompactBlock) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CompactBlock.Unmarshal(m, b)
@ -79,6 +80,13 @@ func (m *CompactBlock) GetHash() []byte {
return nil
}
func (m *CompactBlock) GetPrevHash() []byte {
if m != nil {
return m.PrevHash
}
return nil
}
func (m *CompactBlock) GetTime() uint32 {
if m != nil {
return m.Time
@ -123,7 +131,7 @@ func (m *CompactTx) Reset() { *m = CompactTx{} }
func (m *CompactTx) String() string { return proto.CompactTextString(m) }
func (*CompactTx) ProtoMessage() {}
func (*CompactTx) Descriptor() ([]byte, []int) {
return fileDescriptor_compact_formats_e98cba77ef7a6fd2, []int{1}
return fileDescriptor_compact_formats_a15b2a7f016abebd, []int{1}
}
func (m *CompactTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CompactTx.Unmarshal(m, b)
@ -189,7 +197,7 @@ func (m *CompactSpend) Reset() { *m = CompactSpend{} }
func (m *CompactSpend) String() string { return proto.CompactTextString(m) }
func (*CompactSpend) ProtoMessage() {}
func (*CompactSpend) Descriptor() ([]byte, []int) {
return fileDescriptor_compact_formats_e98cba77ef7a6fd2, []int{2}
return fileDescriptor_compact_formats_a15b2a7f016abebd, []int{2}
}
func (m *CompactSpend) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CompactSpend.Unmarshal(m, b)
@ -229,7 +237,7 @@ func (m *CompactOutput) Reset() { *m = CompactOutput{} }
func (m *CompactOutput) String() string { return proto.CompactTextString(m) }
func (*CompactOutput) ProtoMessage() {}
func (*CompactOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_compact_formats_e98cba77ef7a6fd2, []int{3}
return fileDescriptor_compact_formats_a15b2a7f016abebd, []int{3}
}
func (m *CompactOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CompactOutput.Unmarshal(m, b)
@ -278,30 +286,31 @@ func init() {
}
func init() {
proto.RegisterFile("compact_formats.proto", fileDescriptor_compact_formats_e98cba77ef7a6fd2)
proto.RegisterFile("compact_formats.proto", fileDescriptor_compact_formats_a15b2a7f016abebd)
}
var fileDescriptor_compact_formats_e98cba77ef7a6fd2 = []byte{
// 332 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x3f, 0x6b, 0xeb, 0x30,
0x14, 0xc5, 0xf1, 0x9f, 0xf8, 0x91, 0x1b, 0xe7, 0xf1, 0x10, 0x2f, 0x45, 0x53, 0x30, 0x6e, 0x07,
0x4f, 0x1a, 0xd2, 0xb1, 0xd0, 0x21, 0xfd, 0x00, 0x05, 0xa5, 0x74, 0xe8, 0x52, 0x5c, 0x59, 0xae,
0x4d, 0x62, 0x4b, 0x48, 0x4a, 0x6b, 0xfa, 0xe1, 0x3a, 0xf5, 0x83, 0x15, 0xc9, 0x6a, 0x48, 0xa0,
0x64, 0x3b, 0xf7, 0x70, 0xce, 0xe5, 0x77, 0xb9, 0xb0, 0x60, 0xa2, 0x93, 0x25, 0x33, 0xcf, 0xb5,
0x50, 0x5d, 0x69, 0x34, 0x91, 0x4a, 0x18, 0x81, 0x16, 0xac, 0xd4, 0x0d, 0xf9, 0x20, 0xef, 0xe5,
0x6e, 0xc7, 0x0d, 0xd1, 0xd5, 0x96, 0x28, 0xc9, 0xf2, 0xcf, 0x00, 0xd2, 0xbb, 0xb1, 0xb0, 0xde,
0x09, 0xb6, 0x45, 0x39, 0xa4, 0xae, 0xf0, 0xc8, 0x95, 0x6e, 0x45, 0x8f, 0x83, 0x2c, 0x28, 0xe6,
0xf4, 0xc4, 0x43, 0x17, 0x90, 0x34, 0xbc, 0x7d, 0x6d, 0x0c, 0x0e, 0xb3, 0xa0, 0x88, 0xa9, 0x9f,
0x10, 0x82, 0xb8, 0x29, 0x75, 0x83, 0xa3, 0x2c, 0x28, 0x52, 0xea, 0xb4, 0xf5, 0x4c, 0xdb, 0x71,
0x1c, 0xbb, 0x3d, 0x4e, 0x8f, 0xfd, 0xb2, 0xe2, 0x0a, 0x4f, 0x5c, 0xd2, 0x4f, 0x68, 0x05, 0xd1,
0x9b, 0x19, 0x70, 0x92, 0x45, 0xc5, 0x6c, 0x95, 0x91, 0x5f, 0x89, 0x89, 0xa7, 0x7d, 0x18, 0xa8,
0x0d, 0xe7, 0x5f, 0x01, 0x4c, 0x0f, 0x16, 0xfa, 0x0f, 0x93, 0xb6, 0xaf, 0xf8, 0xe0, 0xb0, 0x63,
0x3a, 0x0e, 0x07, 0xae, 0xf0, 0x88, 0xeb, 0x1f, 0x44, 0x35, 0xe7, 0x0e, 0x75, 0x4e, 0xad, 0x44,
0x37, 0x90, 0x68, 0xc9, 0xfb, 0x4a, 0xe3, 0xd8, 0x01, 0x5c, 0x9e, 0x07, 0xd8, 0xd8, 0x2c, 0xf5,
0x15, 0x74, 0x0b, 0x7f, 0xc4, 0xde, 0xc8, 0xbd, 0xd1, 0x78, 0xe2, 0xda, 0x57, 0xe7, 0xdb, 0xf7,
0x2e, 0x4c, 0x7f, 0x4a, 0xf9, 0xf2, 0xf0, 0x06, 0xb7, 0x17, 0xfd, 0x85, 0xb0, 0xaf, 0xdd, 0x15,
0x29, 0x0d, 0xfb, 0x3a, 0xdf, 0xc0, 0xfc, 0xa4, 0x69, 0xf9, 0x59, 0xb7, 0xf7, 0x09, 0x2b, 0xad,
0xc3, 0xe5, 0xd6, 0x1f, 0x69, 0x25, 0x5a, 0x02, 0xb0, 0x56, 0x36, 0x5c, 0x19, 0x3e, 0x18, 0xff,
0x95, 0x23, 0x67, 0x3d, 0x7b, 0x9a, 0x8e, 0x74, 0x4a, 0xb2, 0x97, 0xc4, 0xbd, 0xf8, 0xfa, 0x3b,
0x00, 0x00, 0xff, 0xff, 0xf7, 0x3a, 0x6a, 0x01, 0x40, 0x02, 0x00, 0x00,
var fileDescriptor_compact_formats_a15b2a7f016abebd = []byte{
// 346 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0xbf, 0x4e, 0xf3, 0x30,
0x1c, 0x54, 0xfe, 0x34, 0xfd, 0xfa, 0x6b, 0xfa, 0x09, 0x59, 0x14, 0x59, 0x0c, 0x55, 0x14, 0x18,
0x32, 0x65, 0x28, 0x23, 0x12, 0x43, 0x59, 0xd8, 0x90, 0x5c, 0xc4, 0xc0, 0x82, 0x82, 0xe3, 0x90,
0xa8, 0x4d, 0x62, 0xd9, 0x6e, 0x89, 0x78, 0x3e, 0x9e, 0x82, 0xa7, 0x41, 0x76, 0x4c, 0xd4, 0x4a,
0xa8, 0xdb, 0xdd, 0xe9, 0xce, 0xbe, 0xd3, 0x0f, 0xe6, 0xb4, 0xad, 0x79, 0x46, 0xd5, 0x6b, 0xd1,
0x8a, 0x3a, 0x53, 0x32, 0xe5, 0xa2, 0x55, 0x2d, 0x9a, 0xd3, 0x4c, 0x96, 0xe9, 0x67, 0xfa, 0x91,
0x6d, 0xb7, 0x4c, 0xa5, 0x32, 0xdf, 0xa4, 0x82, 0xd3, 0xf8, 0xdb, 0x81, 0xf0, 0xbe, 0x0f, 0xac,
0xb6, 0x2d, 0xdd, 0xa0, 0x18, 0x42, 0x13, 0x78, 0x66, 0x42, 0x56, 0x6d, 0x83, 0x9d, 0xc8, 0x49,
0x66, 0xe4, 0x48, 0x43, 0x17, 0x10, 0x94, 0xac, 0x7a, 0x2f, 0x15, 0x76, 0x23, 0x27, 0xf1, 0x89,
0x65, 0x08, 0x81, 0x5f, 0x66, 0xb2, 0xc4, 0x5e, 0xe4, 0x24, 0x21, 0x31, 0x18, 0x5d, 0xc2, 0x3f,
0x2e, 0xd8, 0xfe, 0x41, 0xeb, 0xbe, 0xd1, 0x07, 0xae, 0xfd, 0xaa, 0xaa, 0x19, 0x1e, 0x99, 0x3f,
0x0c, 0xee, 0xdf, 0xce, 0x72, 0x26, 0x70, 0x60, 0xdc, 0x96, 0xa1, 0x25, 0x78, 0x7b, 0xd5, 0xe1,
0x71, 0xe4, 0x25, 0xd3, 0x65, 0x94, 0xfe, 0xb9, 0x26, 0xb5, 0x4b, 0x9e, 0x3a, 0xa2, 0xcd, 0xf1,
0x97, 0x03, 0x93, 0x41, 0x42, 0xe7, 0x30, 0xaa, 0x9a, 0x9c, 0x75, 0x66, 0x92, 0x4f, 0x7a, 0x32,
0x74, 0x76, 0x0f, 0x3a, 0x9f, 0x81, 0x57, 0x30, 0x66, 0x66, 0xcc, 0x88, 0x86, 0xe8, 0x16, 0x02,
0xc9, 0x59, 0x93, 0x4b, 0xec, 0x9b, 0x02, 0x57, 0xa7, 0x0b, 0xac, 0xb5, 0x97, 0xd8, 0x08, 0xba,
0x83, 0x71, 0xbb, 0x53, 0x7c, 0xa7, 0x24, 0x1e, 0x99, 0xf4, 0xf5, 0xe9, 0xf4, 0xa3, 0x31, 0x93,
0xdf, 0x50, 0xbc, 0x18, 0x4e, 0x64, 0xde, 0x45, 0xff, 0xc1, 0x6d, 0x0a, 0xb3, 0x22, 0x24, 0x6e,
0x53, 0xc4, 0x6b, 0x98, 0x1d, 0x25, 0x75, 0x7f, 0x5a, 0xef, 0xac, 0x43, 0x43, 0xad, 0x30, 0xbe,
0xb1, 0x23, 0x35, 0x44, 0x0b, 0x00, 0x5a, 0xf1, 0x92, 0x09, 0xc5, 0x3a, 0x65, 0x2f, 0x76, 0xa0,
0xac, 0xa6, 0x2f, 0x93, 0xbe, 0x9d, 0xe0, 0xf4, 0x2d, 0x30, 0xe7, 0xbf, 0xf9, 0x09, 0x00, 0x00,
0xff, 0xff, 0x22, 0x92, 0x05, 0x70, 0x5c, 0x02, 0x00, 0x00,
}

View File

@ -13,9 +13,10 @@ message CompactBlock {
uint32 protoVersion = 1; // the version of this wire format, for storage
uint64 height = 2; // the height of this block
bytes hash = 3;
uint32 time = 4;
bytes header = 5; // (hash and time) OR (full header)
repeated CompactTx vtx = 6; // compact transactions from this block
bytes prevHash = 4;
uint32 time = 5;
bytes header = 6; // (hash, prevHash, and time) OR (full header)
repeated CompactTx vtx = 7; // compact transactions from this block
}
message CompactTx {