def test_p2_delegated_puzzle_simple(self): key_lookup = KeyTool() payments, conditions = default_payments_and_conditions(1, key_lookup) pk = public_key_for_index(1, key_lookup) puzzle = p2_delegated_puzzle.puzzle_for_pk(pk) solution = p2_delegated_puzzle.solution_for_conditions(conditions) do_test_spend(puzzle, solution, payments, key_lookup)
def test_p2_delegated_puzzle_graftroot(self): key_lookup = KeyTool() payments, conditions = default_payments_and_conditions(1, key_lookup) delegated_puzzle = p2_delegated_conditions.puzzle_for_pk(public_key_for_index(8, key_lookup)) delegated_solution = p2_delegated_conditions.solution_for_conditions(conditions) puzzle_program = p2_delegated_puzzle.puzzle_for_pk(public_key_for_index(1, key_lookup)) solution = p2_delegated_puzzle.solution_for_delegated_puzzle(delegated_puzzle, delegated_solution) do_test_spend(puzzle_program, solution, payments, key_lookup)
def throwaway_puzzle_hash(index: int, key_lookup: KeyTool) -> bytes32: return p2_delegated_puzzle.puzzle_for_pk( public_key_for_index(index, key_lookup)).get_tree_hash()
""" wallet_tool = WalletTool() benchmark_all_operators() secret_key: PrivateKey = AugSchemeMPL.key_gen(bytes([2] * 32)) puzzles = [] solutions = [] private_keys = [] public_keys = [] for i in range(0, 1000): private_key: PrivateKey = master_sk_to_wallet_sk(secret_key, uint32(i)) public_key = private_key.public_key() solution = wallet_tool.make_solution( {ConditionOpcode.ASSERT_MY_COIN_ID: [ConditionWithArgs(ConditionOpcode.ASSERT_MY_COIN_ID, [token_bytes()])]} ) puzzle = puzzle_for_pk(bytes(public_key)) puzzles.append(puzzle) solutions.append(solution) private_keys.append(private_key) public_keys.append(public_key) # Run Puzzle 1000 times puzzle_start = time.time() clvm_cost = 0 for i in range(0, 1000): cost_run, sexp = puzzles[i].run_with_cost(solutions[i]) clvm_cost += cost_run puzzle_end = time.time() puzzle_time = puzzle_end - puzzle_start print(f"Puzzle_time is: {puzzle_time}")