Skip to content

Commit f5d36c3

Browse files
committed
f Account for changes in BOLT11 interface
1 parent cb488ae commit f5d36c3

File tree

7 files changed

+155
-234
lines changed

7 files changed

+155
-234
lines changed

bindings/ldk_node.udl

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ dictionary Config {
1212
sequence<PublicKey> trusted_peers_0conf;
1313
u64 probing_liquidity_limit_multiplier;
1414
AnchorChannelsConfig? anchor_channels_config;
15-
SendingParameters? sending_parameters;
15+
RouteParametersConfig? route_parameters;
1616
};
1717

1818
dictionary AnchorChannelsConfig {
@@ -167,13 +167,13 @@ interface Bolt11InvoiceDescription {
167167

168168
interface Bolt11Payment {
169169
[Throws=NodeError]
170-
PaymentId send([ByRef]Bolt11Invoice invoice, SendingParameters? sending_parameters);
170+
PaymentId send([ByRef]Bolt11Invoice invoice, RouteParametersConfig? route_parameters);
171171
[Throws=NodeError]
172-
PaymentId send_using_amount([ByRef]Bolt11Invoice invoice, u64 amount_msat, SendingParameters? sending_parameters);
172+
PaymentId send_using_amount([ByRef]Bolt11Invoice invoice, u64 amount_msat, RouteParametersConfig? route_parameters);
173173
[Throws=NodeError]
174-
void send_probes([ByRef]Bolt11Invoice invoice);
174+
void send_probes([ByRef]Bolt11Invoice invoice, RouteParametersConfig? route_parameters);
175175
[Throws=NodeError]
176-
void send_probes_using_amount([ByRef]Bolt11Invoice invoice, u64 amount_msat);
176+
void send_probes_using_amount([ByRef]Bolt11Invoice invoice, u64 amount_msat, RouteParametersConfig? route_parameters);
177177
[Throws=NodeError]
178178
void claim_for_hash(PaymentHash payment_hash, u64 claimable_amount_msat, PaymentPreimage preimage);
179179
[Throws=NodeError]
@@ -209,9 +209,9 @@ interface Bolt12Payment {
209209

210210
interface SpontaneousPayment {
211211
[Throws=NodeError]
212-
PaymentId send(u64 amount_msat, PublicKey node_id, SendingParameters? sending_parameters);
212+
PaymentId send(u64 amount_msat, PublicKey node_id, RouteParametersConfig? route_parameters);
213213
[Throws=NodeError]
214-
PaymentId send_with_custom_tlvs(u64 amount_msat, PublicKey node_id, SendingParameters? sending_parameters, sequence<CustomTlvRecord> custom_tlvs);
214+
PaymentId send_with_custom_tlvs(u64 amount_msat, PublicKey node_id, RouteParametersConfig? route_parameters, sequence<CustomTlvRecord> custom_tlvs);
215215
[Throws=NodeError]
216216
void send_probes(u64 amount_msat, PublicKey node_id);
217217
};
@@ -447,11 +447,11 @@ dictionary PaymentDetails {
447447
u64 latest_update_timestamp;
448448
};
449449

450-
dictionary SendingParameters {
451-
MaxTotalRoutingFeeLimit? max_total_routing_fee_msat;
452-
u32? max_total_cltv_expiry_delta;
453-
u8? max_path_count;
454-
u8? max_channel_saturation_power_of_half;
450+
dictionary RouteParametersConfig {
451+
u64? max_total_routing_fee_msat;
452+
u32 max_total_cltv_expiry_delta;
453+
u8 max_path_count;
454+
u8 max_channel_saturation_power_of_half;
455455
};
456456

457457
dictionary CustomTlvRecord {
@@ -512,12 +512,6 @@ enum LSPS1PaymentState {
512512
"Refunded",
513513
};
514514

515-
[Enum]
516-
interface MaxTotalRoutingFeeLimit {
517-
None ();
518-
Some ( u64 amount_msat );
519-
};
520-
521515
[NonExhaustive]
522516
enum Network {
523517
"Bitcoin",

src/config.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
//! Objects for configuring the node.
99
1010
use crate::logger::LogLevel;
11-
use crate::payment::SendingParameters;
1211

1312
use lightning::ln::msgs::SocketAddress;
1413
use lightning::routing::gossip::NodeAlias;
14+
use lightning::routing::router::RouteParametersConfig;
1515
use lightning::util::config::ChannelConfig as LdkChannelConfig;
1616
use lightning::util::config::MaxDustHTLCExposure as LdkMaxDustHTLCExposure;
1717
use lightning::util::config::UserConfig;
@@ -102,9 +102,9 @@ pub const WALLET_KEYS_SEED_LEN: usize = 64;
102102
/// | `probing_liquidity_limit_multiplier` | 3 |
103103
/// | `log_level` | Debug |
104104
/// | `anchor_channels_config` | Some(..) |
105-
/// | `sending_parameters` | None |
105+
/// | `route_parameters` | None |
106106
///
107-
/// See [`AnchorChannelsConfig`] and [`SendingParameters`] for more information regarding their
107+
/// See [`AnchorChannelsConfig`] and [`RouteParametersConfig`] for more information regarding their
108108
/// respective default values.
109109
///
110110
/// [`Node`]: crate::Node
@@ -161,12 +161,12 @@ pub struct Config {
161161
pub anchor_channels_config: Option<AnchorChannelsConfig>,
162162
/// Configuration options for payment routing and pathfinding.
163163
///
164-
/// Setting the `SendingParameters` provides flexibility to customize how payments are routed,
164+
/// Setting the [`RouteParametersConfig`] provides flexibility to customize how payments are routed,
165165
/// including setting limits on routing fees, CLTV expiry, and channel utilization.
166166
///
167167
/// **Note:** If unset, default parameters will be used, and you will be able to override the
168168
/// parameters on a per-payment basis in the corresponding method calls.
169-
pub sending_parameters: Option<SendingParameters>,
169+
pub route_parameters: Option<RouteParametersConfig>,
170170
}
171171

172172
impl Default for Config {
@@ -179,7 +179,7 @@ impl Default for Config {
179179
trusted_peers_0conf: Vec::new(),
180180
probing_liquidity_limit_multiplier: DEFAULT_PROBING_LIQUIDITY_LIMIT_MULTIPLIER,
181181
anchor_channels_config: Some(AnchorChannelsConfig::default()),
182-
sending_parameters: None,
182+
route_parameters: None,
183183
node_alias: None,
184184
}
185185
}

src/ffi/types.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ pub use crate::logger::{LogLevel, LogRecord, LogWriter};
2020
pub use crate::payment::store::{
2121
ConfirmationStatus, LSPFeeLimits, PaymentDirection, PaymentKind, PaymentStatus,
2222
};
23-
pub use crate::payment::{MaxTotalRoutingFeeLimit, QrPaymentResult, SendingParameters};
23+
pub use crate::payment::QrPaymentResult;
2424

2525
pub use lightning::chain::channelmonitor::BalanceSource;
2626
pub use lightning::events::{ClosureReason, PaymentFailureReason};
2727
pub use lightning::ln::types::ChannelId;
2828
pub use lightning::offers::offer::OfferId;
2929
pub use lightning::routing::gossip::{NodeAlias, NodeId, RoutingFees};
30+
pub use lightning::routing::router::RouteParametersConfig;
3031
pub use lightning::util::string::UntrustedString;
3132

3233
pub use lightning_types::payment::{PaymentHash, PaymentPreimage, PaymentSecret};

0 commit comments

Comments
 (0)