diff --git a/challenger/lnd.go b/challenger/lnd.go index 9e10a02..00bd53e 100644 --- a/challenger/lnd.go +++ b/challenger/lnd.go @@ -102,6 +102,12 @@ func (l *LndChallenger) Start() error { // updates for new invoices and/or newly settled invoices. l.invoicesMtx.Lock() for _, invoice := range invoiceResp.Invoices { + // Some invoices like AMP invoices may not have a payment hash + // populated. + if invoice.RHash == nil { + continue + } + if invoice.AddIndex > addIndex { addIndex = invoice.AddIndex } @@ -207,6 +213,12 @@ func (l *LndChallenger) readInvoiceStream( default: } + // Some invoices like AMP invoices may not have a payment hash + // populated. + if invoice.RHash == nil { + continue + } + hash, err := lntypes.MakeHash(invoice.RHash) if err != nil { log.Errorf("Error parsing invoice hash: %v", err) diff --git a/config.go b/config.go index c607d21..928a2a6 100644 --- a/config.go +++ b/config.go @@ -161,7 +161,7 @@ type Config struct { ServeStatic bool `long:"servestatic" description:"Flag to enable or disable static content serving."` // DatabaseBackend is the database backend to be used by the server. - DatabaseBackend string `long:"dbbackend" description:"The database backend to use for storing all asset related data." choice:"sqlite" choice:"postgres"` + DatabaseBackend string `long:"dbbackend" description:"The database backend to use for storing all asset related data." choice:"sqlite" choice:"postgres" yaml:"dbbackend"` // Sqlite is the configuration section for the SQLite database backend. Sqlite *aperturedb.SqliteConfig `group:"sqlite" namespace:"sqlite"`