43
func indexNodeIDToNode(
44
transactionIDToNode map[int64]historyNodeMetadata,
46
>
// indexing node ID -> sorted nodeMetadata by transaction ID from high to low
47
>
nodeIDToNodes := make(map[int64][]historyNodeMetadata)
48
>
for _, node := range transactionIDToNode {
49
>
nodeMetadata := nodeIDToNodes[node.nodeID]
50
>
nodeMetadata = append(nodeMetadata, node)
51
>
nodeIDToNodes[node.nodeID] = nodeMetadata
52
>
}
53
>
for nodeID := range nodeIDToNodes {
54
>
nodes := nodeIDToNodes[nodeID]
55
>
// reverse sort by transaction ID
56
>
sort.Slice(nodes, func(i, j int) bool {
57
return nodes[i].transactionID > nodes[j].transactionID
58
})
60
}
62
}
63