hide lnurlpay errors while still reporting errors accurately

This commit is contained in:
keyan 2023-12-18 18:02:39 -06:00
parent 13f3a89540
commit ee68bd2946
2 changed files with 4 additions and 3 deletions

View File

@ -3,7 +3,8 @@ import retry from 'async-retry'
import Prisma from '@prisma/client'
import { settleHodlInvoice } from 'ln-service'
import { createHmac } from './wallet'
import { msatsToSats } from '../../lib/format'
import { msatsToSats, numWithUnits } from '../../lib/format'
import { BALANCE_LIMIT_MSATS } from '../../lib/constants'
export default async function serialize (models, ...calls) {
return await retry(async bail => {
@ -48,7 +49,7 @@ export default async function serialize (models, ...calls) {
bail(new Error('too many pending invoices'))
}
if (error.message.includes('SN_INV_EXCEED_BALANCE')) {
bail(new Error('too many pending invoices'))
bail(new Error(`pending invoices must not cause balance to exceed ${numWithUnits(msatsToSats(BALANCE_LIMIT_MSATS))}`))
}
if (error.message.includes('40001') || error.code === 'P2034') {
throw new Error('wallet balance serialization failure - try again')

View File

@ -91,6 +91,6 @@ export default async ({ query: { username, amount, nostr, comment, payerdata: pa
})
} catch (error) {
console.log(error)
res.status(400).json({ status: 'ERROR', reason: error.message })
res.status(400).json({ status: 'ERROR', reason: 'could not generate invoice' })
}
}