The bottom up checkpoint creation process can be simplified or have a common util method instead of calling create Merkle proof each time.