Skip to content

Remove channel_update from Bolt 4 error messages #1334

Description

@t-bast

While implementing a prototype for taproot gossip (#1059), one pain point is that Bolt 4 failure messages sometimes embed a channel_update message (which will be a "legacy" message once we introduce channel_update_2). We've discussed this several times in the past, and if I remember correctly, we were in favor of changing these failure messages (or introducing new ones) to contain the channel update fields we care about (fees and cltv_expiry_delta, maybe others) instead of embedding an entire channel_update message.

The upside is that this will let us deprecate channel_update at some point, but the downside is that if we add new fields to channel_update(_2), those won't be automatically included in Bolt 4 failure messages.

I think we should change the Bolt 4 failure messages to include a TLV stream that contains channel update fields. This is something we can introduce right now, which will make our lives a bit simpler when shipping taproot gossip and gossip v1.5 / 1.75 / 2.0 / N.M ™️

If I open a PR to do that, are implementations willing to implement this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions