Skip to content

gRPC API: expose custom_tlvs on SpontaneousSend and custom_records on PaymentReceived / PaymentClaimable events #217

@Billa05

Description

@Billa05

Summary

ldk-node supports sending and receiving custom TLV records on spontaneous (keysend) payments, but neither the LDK Server gRPC surface nor the bundled ldk-server-cli exposes them.

Gaps

  • SpontaneousSendRequest in api.proto carries only amount_msat, node_id, route_parameters
  • The send handler always calls .send(...), never .send_with_custom_tlvs(...)
  • PaymentReceived and PaymentClaimable events in events.proto only expose types.Payment
  • The event loop in main.rs destructures ldk-node events with .., dropping custom_records
  • ldk-server-cli's spontaneous-send subcommand has no flag to attach custom TLVs

The underlying ldk-node APIs (SpontaneousPayment::send_with_custom_tlvs, Event::PaymentReceived.custom_records, Event::PaymentClaimable.custom_records) already provide everything needed. As a small signal that this gap was anticipated: NodeError::InvalidCustomTlvs is already mapped through the server's error layer but is currently unreachable from any request path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions