예제 #1
0
 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]
예제 #2
0
 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