def METHOD_NAME(cls, modified_tx_input: Dict):
    modified_tx = modified_tx_input.copy()
    if "to_address" in modified_tx:
        modified_tx["to_puzzle_hash"] = decode_puzzle_hash(modified_tx["to_address"]).hex()
    if "to_address" in modified_tx:
        del modified_tx["to_address"]
    # Converts memos from a flat dict into a nested list
    memos_dict: Dict[str, List[str]] = {}
    memos_list: List = []
    if "memos" in modified_tx:
        for coin_id, memo in modified_tx["memos"].items():
            if coin_id not in memos_dict:
                memos_dict[coin_id] = []
            memos_dict[coin_id].append(memo)
    for coin_id, memos in memos_dict.items():
        memos_list.append((coin_id, memos))
    modified_tx["memos"] = memos_list
    return cls.from_json_dict(modified_tx)