merkle function

List<Uint8List> merkle(
  1. List<Uint8List> values,
  2. DigestFn digestFn
)

Get Merkle Tree

Implementation

List<Uint8List> merkle(List<Uint8List> values, DigestFn digestFn) {
  if (values.length == 1) return List.from(values);

  List<List<Uint8List>> levels = [values];
  var level = values;

  do {
    level = _derive(level, digestFn);
    levels.add(level);
  } while (level.length > 1);

  return levels.expand((i) => i).toList();
}