Payload of HashXHistoryValue should be an array of uint32 representing "txnums" #54
1 changed files with 9 additions and 9 deletions
|
@ -513,7 +513,7 @@ type HashXHistoryKey struct {
|
|||
}
|
||||
|
||||
type HashXHistoryValue struct {
|
||||
HashXes []uint16 `struct-while:"!_eof" json:"hashxes"`
|
||||
TxNums []uint32 `struct-while:"!_eof" json:"tx_nums"`
|
||||
}
|
||||
|
||||
func (k *HashXHistoryKey) String() string {
|
||||
|
@ -538,10 +538,10 @@ func (k *HashXHistoryKey) PackKey() []byte {
|
|||
}
|
||||
|
||||
func (v *HashXHistoryValue) PackValue() []byte {
|
||||
n := len(v.HashXes)
|
||||
value := make([]byte, n*2)
|
||||
for i, x := range v.HashXes {
|
||||
binary.BigEndian.PutUint16(value[i*2:], x)
|
||||
n := len(v.TxNums)
|
||||
value := make([]byte, n*4)
|
||||
for i, x := range v.TxNums {
|
||||
binary.BigEndian.PutUint32(value[i*4:], x)
|
||||
}
|
||||
|
||||
return value
|
||||
|
@ -600,13 +600,13 @@ func HashXHistoryKeyUnpack(key []byte) *HashXHistoryKey {
|
|||
}
|
||||
|
||||
func HashXHistoryValueUnpack(value []byte) *HashXHistoryValue {
|
||||
n := len(value) / 2
|
||||
hashxes := make([]uint16, n)
|
||||
n := len(value) / 4
|
||||
txnums := make([]uint32, n)
|
||||
for i := 0; i < n; i++ {
|
||||
hashxes[i] = binary.BigEndian.Uint16(value[i*2:])
|
||||
txnums[i] = binary.BigEndian.Uint32(value[i*4:])
|
||||
}
|
||||
return &HashXHistoryValue{
|
||||
HashXes: hashxes,
|
||||
TxNums: txnums,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue