lightningd: remove blinding field from onion_message_recv hook.
What changed, and why it matters
This commit removes an old, duplicate field name from a plugin hook used when receiving onion-routed messages. The field 'blinding' is being dropped in favor of the newer name 'first_path_key'. It is a planned API cleanup, not a security fix, and does not change how messages are processed or validated.
No security action required. Plugin authors relying on the deprecated 'blinding' field should migrate to 'first_path_key' before upgrading to a release that includes this commit.
Security signals we found
No security-relevant logic changed
No cryptographic operations modified
No input parsing or validation altered
No memory safety fixes present
API deprecation cleanup only
Evidence from the diff
The commit deletes the deprecated ‘blinding’ field from the onion_message_recv plugin hook payload in lightningd/onion_message.c and removes its entry from the deprecated-features documentation. The same data remains available under the ‘first_path_key’ field, which has been present since v24.11. The removal follows the documented deprecation schedule (last supported v25.05).
Changed components
lightningd/onion_message.cdoc/developers-guide/deprecated-features.mdonion_message_recv plugin hookInspect captured patch +0 / −7
diff --git a/doc/developers-guide/deprecated-features.md b/doc/developers-guide/deprecated-features.md
index 5b0fdbb4..7d2dac75 100644
--- a/doc/developers-guide/deprecated-features.md
+++ b/doc/developers-guide/deprecated-features.md
@@ -8,7 +8,6 @@ hidden: false
| Name | Type | First Deprecated | Last Supported | Description |
|--------------------------------------|--------------------|------------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| listpeers.features.option_anchors_zero_fee_htlc_tx | Field | v24.08 | v25.09 | Renamed to `option_anchors` in the spec: check for that in `features` instead |
-| onion_message_recv.blinding | Hook Field | v24.11 | v25.05 | Renamed to `first_path_key` in BOLT 4 (available in hook from v24.11) |
| decodepay | Command | v24.11 | v25.12 | Use `decode` which is more powerful (since v23.05) |
| close.tx | Field | v24.11 | v25.12 | Use txs array instead |
| close.txid | Field | v24.11 | v25.12 | Use txids array instead |
diff --git a/lightningd/onion_message.c b/lightningd/onion_message.c
index 5d7549fa..6c094981 100644
--- a/lightningd/onion_message.c
+++ b/lightningd/onion_message.c
@@ -33,12 +33,6 @@ static void json_add_blindedpath(struct plugin *plugin,
json_add_short_channel_id(stream, "first_scid", path->first_node_id.scidd.scid);
json_add_u32(stream, "first_scid_dir", path->first_node_id.scidd.dir);
}
- if (lightningd_deprecated_out_ok(plugin->plugins->ld,
- plugin->plugins->ld->deprecated_ok,
- "onion_message_recv", "blinding",
- "v24.11", "v25.05")) {
- json_add_pubkey(stream, "blinding", &path->first_path_key);
- }
json_add_pubkey(stream, "first_path_key", &path->first_path_key);
json_array_start(stream, "hops");
for (size_t i = 0; i < tal_count(path->path); i++) {
Why this scored 21/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.