def make_child_solution(coin_spend: CoinSpend, new_coin: Optional[Coin]=None) -> CoinSpend:
    new_puzzle_hash: bytes32 = token_bytes(32)
    solution = '()'
    puzzle = f'(q . ((51 0x{new_puzzle_hash.hex()} 1)))'
    puzzle_prog = Program.to(binutils.assemble(puzzle))
    solution_prog = Program.to(binutils.assemble(solution))
    if (new_coin is None):
        new_coin = coin_spend.additions()[0]
    sol: CoinSpend = CoinSpend(new_coin, SerializedProgram.from_program(puzzle_prog), SerializedProgram.from_program(solution_prog))
    return sol
def make_child_solution(coin_spend: CoinSpend, new_coin: Optional[Coin]=None) -> CoinSpend:
    new_puzzle_hash: bytes32 = token_bytes(32)
    solution = '()'
    puzzle = f'(q . ((51 0x{new_puzzle_hash.hex()} 1)))'
    puzzle_prog = Program.to(binutils.assemble(puzzle))
    solution_prog = Program.to(binutils.assemble(solution))
    if (new_coin is None):
        new_coin = coin_spend.additions()[0]
    sol: CoinSpend = CoinSpend(new_coin, SerializedProgram.from_program(puzzle_prog), SerializedProgram.from_program(solution_prog))
    return sol