lightningnetwork / lnd

Lightning Network Daemon ⚡️
MIT License
7.72k stars 2.09k forks source link

[feature]: Phase out Legacy Payments #9136

Open ziggie1984 opened 2 months ago

ziggie1984 commented 2 months ago

Eclair and LDK stopped accepting legacy payments (payments without a payment_secret (payment_addr in lnd)). This can cause the LND mission_control system to fail the corresponding node because nodes not accepting Legacy Payment report the INVALID_ONION_PAYLOAD failure which causes our node to fail the complete node because we anticipate we did construct a right onion package.

https://github.com/lightningnetwork/lnd/blob/84c91f701cab21c70c5f4292b82a8bcce9a79e63/routing/result_interpretation.go#L383-L384

ziggie1984 commented 2 months ago

Maybe instead of removing these payments make the MPP case default for all cases, and only with a special flag allow users to create legacy payments. Currently queryroutes or buildroute will not add a MPP record by default.

ziggie1984 commented 2 months ago

Hmm actually this might also be a bug from our side looking at the node_announcment of eclair they clearly state:

  "14": {
                "name": "payment-addr",
                "is_required": true,
                "is_known": true
            }