fix(api): show LNURL memo on intraledger receives#656
Conversation
Commit
|
|
Kim, this is intentionally narrower than #551. #656 only preserves the invoice description / LNURL comment on the receiver credit metadata for LN intraledger receives, while keeping the sender's payment memo on the debit side. It does not remove or relax the global memo-sharing thresholds, and it does not change unrelated memo propagation policy. So the privacy boundary stays the same: payer-authored memos are not broadly shared through this PR; the receiver only sees the receive-side LN invoice description/comment that was already part of the LNURL/invoice receive context. I also pushed
|
There was a problem hiding this comment.
No findings from my review.
I checked the metadata write path end to end: the LN invoice description is added only to the recipient credit row as account-level memoPayer, which translates to memoFromPayer and then wallet transaction memo. The sender-provided memo remains on the debit side, and the same-account trade path is covered as well.
Verified locally with dummy env values required by core/api/src/config/env.ts:
TEST=test/unit/services/ledger/domain/tx-metadata.spec.ts pnpm --dir core/api test:unitpnpm --dir core/api tsc-check
8e99f02 to
41079d8
Compare
|
Rebased onto latest New head: |
Summary
Why
LNURL-pay comments are stored as the generated invoice description. External Lightning receives already surface that description through the receive transaction memo, but internal Blink-to-Blink settlement used LN intraledger metadata that only attached memo data to the payer/debit row. The recipient credit row therefore had an empty
tx.memoand mobile fell back toFrom <username>.This change stores the invoice description as receiver-visible
memoPayeron LN intraledger credit metadata when present, so transaction history can show the accepted LNURL comment for the recipient.Fixes #550
Relates to blinkbitcoin/blink-wip#903
Tests
TEST=test/unit/services/ledger/domain/tx-metadata.spec.ts pnpm --dir core/api test:unitpnpm --dir core/api tsc-checkBoth were run with local dummy env values required by
core/api/src/config/env.ts.