def add_future_tx(self, sweep_info: 'SweepInfo', wanted_height: int):
        """ add local tx to provide user feedback """
        txin = copy.deepcopy(sweep_info.txin)
        prevout = txin.prevout.to_str()
        prev_txid, index = prevout.split(':')
        if txid := self.adb.db.get_spent_outpoint(prev_txid, int(index)):
            # set future tx of existing spender because it is not persisted
            # (and wanted_height can change if input of CSV was not mined before)
            self.adb.set_future_tx(txid, wanted_height=wanted_height)
            return
        name = sweep_info.name
        # outputs = [] will send coins to a change address
        tx = self.make_unsigned_transaction(
            inputs=[txin],
            outputs=[],
            fee_policy=FixedFeePolicy(0),
        )
        try:
            self.adb.add_transaction(tx)
        except Exception as e:
            self.logger.info(f'could not add future tx: {name}. prevout: {prevout} {str(e)}')
            return
        self.logger.info(f'added future tx: {name}. prevout: {prevout}')
        util.trigger_callback('wallet_updated', self)
        self.adb.set_future_tx(tx.txid(), wanted_height=wanted_height)
 add local tx to provide user feedback 
electrum/wallet.py