From 5ea259926470de555b2cc805213ad5eaa14f421e Mon Sep 17 00:00:00 2001 From: Yostra Date: Tue, 28 Jan 2020 16:20:11 -0800 Subject: [PATCH] bugs --- src/util/consensus.py | 7 +++++-- src/wallet/puzzles/puzzle_utils.py | 30 ++++++++++++++++++++++++++++++ tests/keys.py | 5 ----- 3 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 src/wallet/puzzles/puzzle_utils.py diff --git a/src/util/consensus.py b/src/util/consensus.py index a8aec653..337f1652 100644 --- a/src/util/consensus.py +++ b/src/util/consensus.py @@ -65,8 +65,11 @@ def aggsig_in_conditions_dict(conditions_dict): return agg_sig_conditions -def hash_key_pairs_for_conditions_dict(conditions_dict: Dict[ConditionOpcode, ConditionVarPair]) -> List[bytes]: - pairs: bytes = [] + + +def hash_key_pairs_for_conditions_dict(conditions_dict: Dict[ConditionOpcode, List[ConditionVarPair]]) \ + -> List[BLSSignature.AGGSIGPair]: + pairs: [BLSSignature.AGGSIGPair] = [] for cvp in conditions_dict.get(ConditionOpcode.AGG_SIG, []): # TODO: check types # assert len(_) == 3 diff --git a/src/wallet/puzzles/puzzle_utils.py b/src/wallet/puzzles/puzzle_utils.py new file mode 100644 index 00000000..f78ed0a2 --- /dev/null +++ b/src/wallet/puzzles/puzzle_utils.py @@ -0,0 +1,30 @@ +from src.util.Conditions import ConditionOpcode + + + +def make_create_coin_condition(puzzle_hash, amount): + return [ConditionOpcode.CREATE_COIN, puzzle_hash, amount] + + +def make_assert_coin_consumed_condition(coin_name): + return [ConditionOpcode.ASSERT_COIN_CONSUMED, coin_name] + + +def make_assert_my_coin_id_condition(coin_name): + return [ConditionOpcode.ASSERT_MY_COIN_ID, coin_name] + + +def make_assert_min_time_condition(time): + return [ConditionOpcode.ASSERT_MIN_TIME, time] + + +def make_assert_block_index_exceeds_condition(block_index): + return [ConditionOpcode.ASSERT_BLOCK_INDEX_EXCEEDS, block_index] + + +def make_assert_block_age_exceeds_condition(block_index): + return [ConditionOpcode.ASSERT_BLOCK_AGE_EXCEEDS, block_index] + + +def make_assert_time_exceeds_condition(time): + return [ConditionOpcode.ASSERT_TIME_EXCEEDS, time] \ No newline at end of file diff --git a/tests/keys.py b/tests/keys.py index 680baeff..076a7df8 100644 --- a/tests/keys.py +++ b/tests/keys.py @@ -26,11 +26,6 @@ def puzzle_program_for_index(index): def puzzle_hash_for_index(index): return ProgramHash(puzzle_program_for_index(index)) - -def make_create_coin_condition(puzzle_hash, amount): - return [ConditionOpcode.CREATE_COIN, puzzle_hash, amount] - - def conditions_for_payment(puzzle_hash_amount_pairs): conditions = [ make_create_coin_condition(ph, amount)