def coin_solution_for_lock_coin( prev_coin: Coin, subtotal: int, coin: Coin, ) -> CoinSolution: puzzle_reveal = LOCK_INNER_PUZZLE.curry(prev_coin.as_list(), subtotal) coin = Coin(coin.name(), puzzle_reveal.get_tree_hash(), uint64(0)) coin_solution = CoinSolution(coin, Program.to([puzzle_reveal, 0])) return coin_solution
def lineage_proof_for_zero(parent_coin: Coin) -> Program: return Program.to((0, [parent_coin.as_list(), 1]))
def lineage_proof_for_genesis_puzzle(parent_coin: Coin) -> Program: return Program.to((0, [parent_coin.as_list(), 0]))