commit 704a7a50630d63363e9dee08547d1103802b8c25
parent 80db7f981596c54870995aa38bda19a6816e974c
Author: Martin Habovstiak <martin.habovstiak@gmail.com>
Date:   Sun, 28 Mar 2021 12:10:56 +0200
Prefer invoice.macaroon, make paths configurable
Preferring invoice macaroon is much safer than admin macaroon without
any loss of features. Making paths configurable makes integration
easier.
Diffstat:
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/config.py b/config.py
@@ -37,8 +37,11 @@ redirect = None
 pay_method = "bitcoind"
 # Switch payment_method to lnd if you want to use lightning payments instead. And uncomment lnd_dir.
 #pay_method = "lnd"
+# lnd_dir is only needed if you want to copy macaroon and TLS cert locally
 #lnd_dir = "~/.lnd/"
 #lnd_rpcport = "10009"
+#lnd_macaroon = "invoice.macaroon"
+#lnd_cert = "tls.cert"
 
 # DO NOT CHANGE THIS TO TRUE UNLESS YOU WANT ALL PAYMENTS TO AUTOMATICALLY
 # BE CONSIDERED AS PAID.
diff --git a/pay/lnd.py b/pay/lnd.py
@@ -17,7 +17,7 @@ class lnd(invoice):
 
         from lndgrpc import LNDClient
 
-        # Copy admin macaroon and tls cert to local machine
+        # Copy invoice macaroon and tls cert to local machine
         self.copy_certs()
 
         # Conect to lightning node
@@ -40,8 +40,7 @@ class lnd(invoice):
 
                 if test:
                     print("Getting lnd info...")
-                    info = self.lnd.get_info()
-                    print(info)
+                    self.lnd.list_invoices()
 
                 print("Successfully contacted lnd.")
                 break
@@ -64,20 +63,22 @@ class lnd(invoice):
 
     # Copy tls and macaroon certs from remote machine.
     def copy_certs(self):
-        self.certs = {'tls' : 'tls.cert', 'macaroon' : 'admin.macaroon'}
+        self.certs = {'tls' : config.lnd_cert, 'macaroon' : config.lnd_macaroon}
 
-        if (not os.path.isfile("tls.cert")) or (not os.path.isfile("admin.macaroon")):
+        if (not os.path.isfile(config.lnd_cert)) or (not os.path.isfile(config.lnd_macaroon)):
             try:
                 tls_file = os.path.join(config.lnd_dir, "tls.cert")
                 macaroon_file = os.path.join(
-                    config.lnd_dir, "data/chain/bitcoin/mainnet/admin.macaroon"
+                    config.lnd_dir, "data/chain/bitcoin/mainnet/invoice.macaroon"
                 )
 
                 # SSH copy
                 if config.tunnel_host is not None:
                     print(
-                        "Could not find tls.cert or admin.macaroon in BTCPyment folder. \
-                         Attempting to download from remote lnd directory."
+                        "Could not find {} or {} \
+                         Attempting to download from remote lnd directory.".format(
+                             config.lnd_cert, config.lnd_macaroon
+                         )
                     )
 
                     subprocess.run(
@@ -100,7 +101,7 @@ class lnd(invoice):
                 print(e)
                 print("Failed to copy tls and macaroon files to local machine.")
         else:
-            print("Found tls.cert and admin.macaroon.")
+            print("Found tls.cert and invoice.macaroon.")
         return
 
     # Create lightning invoice