mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-13 13:21:20 +00:00
HexBytes formatting; Make computeHashFromAunts more defensive
This commit is contained in:
@ -51,3 +51,12 @@ func (bz HexBytes) Bytes() []byte {
|
|||||||
func (bz HexBytes) String() string {
|
func (bz HexBytes) String() string {
|
||||||
return strings.ToUpper(hex.EncodeToString(bz))
|
return strings.ToUpper(hex.EncodeToString(bz))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bz HexBytes) Format(s fmt.State, verb rune) {
|
||||||
|
switch verb {
|
||||||
|
case 'p':
|
||||||
|
s.Write([]byte(fmt.Sprintf("%p", bz)))
|
||||||
|
default:
|
||||||
|
s.Write([]byte(fmt.Sprintf("%X", []byte(bz))))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -43,9 +43,9 @@ func (sp *SimpleProof) StringIndented(indent string) string {
|
|||||||
|
|
||||||
// Use the leafHash and innerHashes to get the root merkle hash.
|
// Use the leafHash and innerHashes to get the root merkle hash.
|
||||||
// If the length of the innerHashes slice isn't exactly correct, the result is nil.
|
// If the length of the innerHashes slice isn't exactly correct, the result is nil.
|
||||||
|
// Recursive impl.
|
||||||
func computeHashFromAunts(index int, total int, leafHash []byte, innerHashes [][]byte) []byte {
|
func computeHashFromAunts(index int, total int, leafHash []byte, innerHashes [][]byte) []byte {
|
||||||
// Recursive impl.
|
if index >= total || index < 0 || total <= 0 {
|
||||||
if index >= total {
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
switch total {
|
switch total {
|
||||||
|
Reference in New Issue
Block a user