async def METHOD_NAME(self, coin_state: CoinState, parent_spend: CoinSpend) -> bool:
    coin_name: bytes32 = coin_state.coin.name()
    if (
        coin_state.spent_height is None
        or not self.wallet_state_manager.wallet_node.config.get("enable_notifications", True)
        or self.wallet_state_manager.wallet_node.config.get("required_notification_amount", 100000000)
        > coin_state.coin.amount
        or await self.notification_store.notification_exists(coin_name)
    ):
        return False
    else:
        memos: Dict[bytes32, List[bytes]] = compute_memos_for_spend(parent_spend)
        coin_memos: List[bytes] = memos.get(coin_name, [])
        if len(coin_memos) == 0 or len(coin_memos[0]) != 32:
            return False
        wallet_identifier = await self.wallet_state_manager.get_wallet_identifier_for_puzzle_hash(
            bytes32(coin_memos[0])
        )
        if (
            wallet_identifier is not None
            and wallet_identifier.type == WalletType.STANDARD_WALLET
            and len(coin_memos) == 2
            and construct_notification(bytes32(coin_memos[0]), uint64(coin_state.coin.amount)).get_tree_hash()
            == coin_state.coin.puzzle_hash
        ):
            if len(coin_memos[1]) > 10000:  # 10KB
                return False
            await self.notification_store.add_notification(
                Notification(
                    coin_state.coin.name(),
                    coin_memos[1],
                    uint64(coin_state.coin.amount),
                    uint32(coin_state.spent_height),
                )
            )
            self.wallet_state_manager.state_changed("new_on_chain_notification")
        return True