package merkle
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// Prints the in-memory children recursively.
|
|
func PrintIAVLNode(node *IAVLNode) {
|
|
fmt.Println("==== NODE")
|
|
if node != nil {
|
|
printIAVLNode(node, 0)
|
|
}
|
|
fmt.Println("==== END")
|
|
}
|
|
|
|
func printIAVLNode(node *IAVLNode, indent int) {
|
|
indentPrefix := ""
|
|
for i := 0; i < indent; i++ {
|
|
indentPrefix += " "
|
|
}
|
|
|
|
if node.rightNode != nil {
|
|
printIAVLNode(node.rightNode, indent+1)
|
|
} else if node.rightHash != nil {
|
|
fmt.Printf("%s %X\n", indentPrefix, node.rightHash)
|
|
}
|
|
|
|
fmt.Printf("%s%v:%v\n", indentPrefix, node.key, node.height)
|
|
|
|
if node.leftNode != nil {
|
|
printIAVLNode(node.leftNode, indent+1)
|
|
} else if node.leftHash != nil {
|
|
fmt.Printf("%s %X\n", indentPrefix, node.leftHash)
|
|
}
|
|
|
|
}
|
|
|
|
func maxUint8(a, b uint8) uint8 {
|
|
if a > b {
|
|
return a
|
|
}
|
|
return b
|
|
}
|