def test_1(): puzzle_program_1 = puzzle_program_for_index(uint32(1)) puzzle_program_2 = puzzle_program_for_index(uint32(2)) conditions = Program.to([ make_create_coin_condition(std_hash(bytes(pp)), amount) for pp, amount in [(puzzle_program_1, 1000), (puzzle_program_2, 2000)] ]) assert conditions is not None puzzle_reveal = p2_delegated_puzzle.puzzle_reveal_for_conditions( conditions) solution = p2_delegated_puzzle.solution_for_conditions(conditions) error, output_conditions, cost = conditions_for_solution( puzzle_reveal, solution) assert error is None from pprint import pprint assert output_conditions is not None output_conditions_dict = conditions_by_opcode(output_conditions) pprint(output_conditions_dict) input_coin_info_hash = bytes([0] * 32) created_outputs_for_conditions_dict(output_conditions_dict, input_coin_info_hash) aggsigs = aggsig_in_conditions_dict(output_conditions_dict) pprint(aggsigs)
def additions_for_solution(coin_name, solution) -> List[Coin]: """ Checks the conditions created by CoinSolution and returns the list of all coins created """ err, dic, cost = conditions_dict_for_solution(solution) if err or dic is None: return [] return created_outputs_for_conditions_dict(dic, coin_name)
def additions_for_solution(coin_name: bytes32, puzzle_reveal: Program, solution: Program) -> List[Coin]: """ Checks the conditions created by CoinSolution and returns the list of all coins created """ err, dic, cost = conditions_dict_for_solution(puzzle_reveal, solution) if err or dic is None: return [] return created_outputs_for_conditions_dict(dic, coin_name)
def additions_for_npc(npc_list: List[NPC]) -> List[Coin]: additions: List[Coin] = [] for npc in npc_list: for coin in created_outputs_for_conditions_dict(npc.condition_dict, npc.coin_name): additions.append(coin) return additions