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,
Height: uint64(b.GetHeight()),
Hash: b.GetEncodableHash(),
PrevHash: b.hdr.HashPrevBlock,
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"`
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)
}
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,
proto.RegisterFile("compact_formats.proto", fileDescriptor_compact_formats_a15b2a7f016abebd)
}
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,
}

7
walletrpc/compact_formats.proto

@ -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 {

Loading…
Cancel
Save