docs: def validate_proof(self, proof, target_hash, merkle_root):
          """
          Takes a proof array, a target hash value, and a merkle root
          Checks the validity of the proof and return true or false
          :param proof:
          :param target_hash:
          :param merkle_root:
          :return:
          """
          return validate_proof(proof, target_hash, merkle_root, self.hash_f)