def have_events(self, event_ids):
        if not event_ids:
            return defer.succeed({})

        def f(txn):
            sql = (
                "SELECT e.event_id, reason FROM events as e "
                "LEFT JOIN rejections as r ON e.event_id = r.event_id "
                "WHERE e.event_id = ?"
            )

            res = {}
            for event_id in event_ids:
                txn.execute(sql, (event_id,))
                row = txn.fetchone()
                if row:
                    _, rejected = row
                    res[event_id] = rejected

            return res

        return self.runInteraction(
            "have_events", f,
        )
Loads information about balance.
dataset/ETHPy150Open matrix-org/synapse/synapse/storage/events.py/EventsStore.have_events--crossover with--dataset/ETHPy150Open runabove/python-runabove/runabove/account.py/AccountManager._load_balance