def prune_expired_pending(self): for pending, bolt11 in list(self.iter_pending()): info = Bolt11.to_dict(bolt11) expire_timestamp = info['created_at'] + info['expiry'] #print("%s expire: %f" % (expire_timestamp, # expire_timestamp - time.time())) if time.time() > expire_timestamp: del self.db['pending'][pending]
def get_invoice(self, msat_amount): logging.info("getting invoice: %smsats" % msat_amount) sat_amount = int(round(msat_amount / 1000.0)) i = self.lnd_client.add_invoice("", sat_amount) logging.info("got: %s" % i) payment_hash = Bolt11.to_dict(i.payment_request)['payment_hash'] self.pending_payment_hashes.add(payment_hash) # TODO persist and also periodically prune pending hashes. return i.payment_request