Browse Source

Merge pull request #40 from str4d/prevhash

Add PrevHash field to CompactBlocks
remove_0mq
str4d 5 years ago
committed by GitHub
parent
commit
56b031c317
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      parser/block.go
  2. 12
      testdata/compact_blocks.json
  3. 75
      walletrpc/compact_formats.pb.go
  4. 7
      walletrpc/compact_formats.proto

1
parser/block.go

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

12
testdata/compact_blocks.json

File diff suppressed because one or more lines are too long

75
walletrpc/compact_formats.pb.go

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

7
walletrpc/compact_formats.proto

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

Loading…
Cancel
Save