Skip to content

Commit 56fbdb2

Browse files
committed
Use LightningAmount type in public _msat/_msats method APIs
Replace raw `u64` values with the type-safe `LightningAmount` wrapper in all public method APIs dealing with millisatoshi amounts. This includes renaming methods like `as_msat()` to `as_amount()`, and `amount_milli_satoshis()` to `amount()`, ensuring callers use `LightningAmount::from_msat()` and `.to_msat()` for conversions. Internal logic, serialized struct fields, and message types remain unchanged. Co-Authored-By: HAL 9000 Signed-off-by: Elias Rohrer <dev@tnull.de>
1 parent 86f73fc commit 56fbdb2

38 files changed

Lines changed: 1264 additions & 792 deletions

fuzz/src/bolt11_deser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
6161
};
6262

6363
if let Ok(invoice) = Bolt11Invoice::from_signed(signed_raw_invoice) {
64-
invoice.amount_milli_satoshis();
64+
invoice.amount();
6565
}
6666
}
6767
}

lightning-background-processor/src/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2604,7 +2604,14 @@ mod tests {
26042604
($node_a: expr, $node_b: expr, $channel_value: expr) => {{
26052605
$node_a
26062606
.node
2607-
.create_channel($node_b.node.get_our_node_id(), $channel_value, 100, 42, None, None)
2607+
.create_channel(
2608+
$node_b.node.get_our_node_id(),
2609+
$channel_value,
2610+
lightning::types::amount::LightningAmount::from_msat(100),
2611+
42,
2612+
None,
2613+
None,
2614+
)
26082615
.unwrap();
26092616
let msg_a = get_event_msg!(
26102617
$node_a,

lightning-invoice/src/lib.rs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ use core::time::Duration;
5353
#[cfg(feature = "serde")]
5454
use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
5555

56+
#[doc(no_inline)]
57+
pub use lightning_types::amount::LightningAmount;
5658
#[doc(no_inline)]
5759
pub use lightning_types::payment::{PaymentHash, PaymentSecret};
5860
#[doc(no_inline)]
@@ -672,10 +674,11 @@ impl<D: tb::Bool, H: tb::Bool, T: tb::Bool, C: tb::Bool, S: tb::Bool, M: tb::Boo
672674
}
673675
}
674676

675-
/// Sets the amount in millisatoshis. The optimal SI prefix is chosen automatically.
676-
pub fn amount_milli_satoshis(mut self, amount_msat: u64) -> Self {
677+
/// Sets the amount as a [`LightningAmount`]. The optimal SI prefix is chosen automatically.
678+
pub fn amount(mut self, amount: LightningAmount) -> Self {
679+
let amount_msat = amount.to_msat();
677680
// Invoices are denominated in "pico BTC"
678-
let amount = match amount_msat.checked_mul(10) {
681+
let pico_btc = match amount_msat.checked_mul(10) {
679682
Some(amt) => amt,
680683
None => {
681684
self.error = Some(CreationError::InvalidAmount);
@@ -684,9 +687,9 @@ impl<D: tb::Bool, H: tb::Bool, T: tb::Bool, C: tb::Bool, S: tb::Bool, M: tb::Boo
684687
};
685688
let biggest_possible_si_prefix = SiPrefix::values_desc()
686689
.iter()
687-
.find(|prefix| amount % prefix.multiplier() == 0)
690+
.find(|prefix| pico_btc % prefix.multiplier() == 0)
688691
.expect("Pico should always match");
689-
self.amount = Some(amount / biggest_possible_si_prefix.multiplier());
692+
self.amount = Some(pico_btc / biggest_possible_si_prefix.multiplier());
690693
self.si_prefix = Some(*biggest_possible_si_prefix);
691694
self
692695
}
@@ -1631,9 +1634,9 @@ impl Bolt11Invoice {
16311634
self.signed_invoice.currency().into()
16321635
}
16331636

1634-
/// Returns the amount if specified in the invoice as millisatoshis.
1635-
pub fn amount_milli_satoshis(&self) -> Option<u64> {
1636-
self.signed_invoice.amount_pico_btc().map(|v| v / 10)
1637+
/// Returns the amount if specified in the invoice as a [`LightningAmount`].
1638+
pub fn amount(&self) -> Option<LightningAmount> {
1639+
self.signed_invoice.amount_pico_btc().map(|v| LightningAmount::from_msat(v / 10))
16371640
}
16381641

16391642
/// Returns the amount if specified in the invoice as pico BTC.
@@ -2190,12 +2193,12 @@ mod test {
21902193
.payment_hash(PaymentHash([0; 32]))
21912194
.duration_since_epoch(Duration::from_secs(1234567));
21922195

2193-
let invoice = builder.clone().amount_milli_satoshis(1500).build_raw().unwrap();
2196+
let invoice = builder.clone().amount(LightningAmount::from_msat(1500)).build_raw().unwrap();
21942197

21952198
assert_eq!(invoice.hrp.si_prefix, Some(SiPrefix::Nano));
21962199
assert_eq!(invoice.hrp.raw_amount, Some(15));
21972200

2198-
let invoice = builder.amount_milli_satoshis(150).build_raw().unwrap();
2201+
let invoice = builder.amount(LightningAmount::from_msat(150)).build_raw().unwrap();
21992202

22002203
assert_eq!(invoice.hrp.si_prefix, Some(SiPrefix::Pico));
22012204
assert_eq!(invoice.hrp.raw_amount, Some(1500));
@@ -2304,7 +2307,7 @@ mod test {
23042307
]);
23052308

23062309
let builder = InvoiceBuilder::new(Currency::BitcoinTestnet)
2307-
.amount_milli_satoshis(123)
2310+
.amount(LightningAmount::from_msat(123))
23082311
.duration_since_epoch(Duration::from_secs(1234567))
23092312
.payee_pub_key(public_key)
23102313
.expiry_time(Duration::from_secs(54321))
@@ -2325,7 +2328,7 @@ mod test {
23252328
assert!(invoice.check_signature().is_ok());
23262329
assert_eq!(invoice.tagged_fields().count(), 10);
23272330

2328-
assert_eq!(invoice.amount_milli_satoshis(), Some(123));
2331+
assert_eq!(invoice.amount(), Some(LightningAmount::from_msat(123)));
23292332
assert_eq!(invoice.amount_pico_btc(), Some(1230));
23302333
assert_eq!(invoice.currency(), Currency::BitcoinTestnet);
23312334
#[cfg(feature = "std")]

lightning-invoice/tests/ser_de.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
4242
(
4343
"lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpu9qrsgquk0rl77nj30yxdy8j9vdx85fkpmdla2087ne0xh8nhedh8w27kyke0lp53ut353s06fv3qfegext0eh0ymjpf39tuven09sam30g4vgpfna3rh".to_owned(),
4444
InvoiceBuilder::new(Currency::Bitcoin)
45-
.amount_milli_satoshis(250_000_000)
45+
.amount(LightningAmount::from_msat(250_000_000))
4646
.duration_since_epoch(Duration::from_secs(1496314658))
4747
.payment_secret(PaymentSecret([0x11; 32]))
4848
.payment_hash(lightning_invoice::PaymentHash(
@@ -70,7 +70,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
7070
(
7171
"lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpu9qrsgqhtjpauu9ur7fw2thcl4y9vfvh4m9wlfyz2gem29g5ghe2aak2pm3ps8fdhtceqsaagty2vph7utlgj48u0ged6a337aewvraedendscp573dxr".to_owned(),
7272
InvoiceBuilder::new(Currency::Bitcoin)
73-
.amount_milli_satoshis(250_000_000)
73+
.amount(LightningAmount::from_msat(250_000_000))
7474
.duration_since_epoch(Duration::from_secs(1496314658))
7575
.payment_secret(PaymentSecret([0x11; 32]))
7676
.payment_hash(lightning_invoice::PaymentHash(
@@ -98,7 +98,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
9898
(
9999
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqs9qrsgq7ea976txfraylvgzuxs8kgcw23ezlrszfnh8r6qtfpr6cxga50aj6txm9rxrydzd06dfeawfk6swupvz4erwnyutnjq7x39ymw6j38gp7ynn44".to_owned(),
100100
InvoiceBuilder::new(Currency::Bitcoin)
101-
.amount_milli_satoshis(2_000_000_000)
101+
.amount(LightningAmount::from_msat(2_000_000_000))
102102
.duration_since_epoch(Duration::from_secs(1496314658))
103103
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
104104
.payment_secret(PaymentSecret([0x11; 32]))
@@ -125,7 +125,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
125125
(
126126
"lntb20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un989qrsgqdj545axuxtnfemtpwkc45hx9d2ft7x04mt8q7y6t0k2dge9e7h8kpy9p34ytyslj3yu569aalz2xdk8xkd7ltxqld94u8h2esmsmacgpghe9k8".to_owned(),
127127
InvoiceBuilder::new(Currency::BitcoinTestnet)
128-
.amount_milli_satoshis(2_000_000_000)
128+
.amount(LightningAmount::from_msat(2_000_000_000))
129129
.duration_since_epoch(Duration::from_secs(1496314658))
130130
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
131131
.payment_secret(PaymentSecret([0x11; 32]))
@@ -153,7 +153,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
153153
(
154154
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzq9qrsgqdfjcdk6w3ak5pca9hwfwfh63zrrz06wwfya0ydlzpgzxkn5xagsqz7x9j4jwe7yj7vaf2k9lqsdk45kts2fd0fkr28am0u4w95tt2nsq76cqw0".to_owned(),
155155
InvoiceBuilder::new(Currency::Bitcoin)
156-
.amount_milli_satoshis(2_000_000_000)
156+
.amount(LightningAmount::from_msat(2_000_000_000))
157157
.duration_since_epoch(Duration::from_secs(1496314658))
158158
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
159159
.payment_secret(PaymentSecret([0x11; 32]))
@@ -198,7 +198,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
198198
(
199199
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z99qrsgqz6qsgww34xlatfj6e3sngrwfy3ytkt29d2qttr8qz2mnedfqysuqypgqex4haa2h8fx3wnypranf3pdwyluftwe680jjcfp438u82xqphf75ym".to_owned(),
200200
InvoiceBuilder::new(Currency::Bitcoin)
201-
.amount_milli_satoshis(2_000_000_000)
201+
.amount(LightningAmount::from_msat(2_000_000_000))
202202
.duration_since_epoch(Duration::from_secs(1496314658))
203203
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
204204
.payment_secret(PaymentSecret([0x11; 32]))
@@ -226,7 +226,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
226226
(
227227
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7k9qrsgqt29a0wturnys2hhxpner2e3plp6jyj8qx7548zr2z7ptgjjc7hljm98xhjym0dg52sdrvqamxdezkmqg4gdrvwwnf0kv2jdfnl4xatsqmrnsse".to_owned(),
228228
InvoiceBuilder::new(Currency::Bitcoin)
229-
.amount_milli_satoshis(2_000_000_000)
229+
.amount(LightningAmount::from_msat(2_000_000_000))
230230
.duration_since_epoch(Duration::from_secs(1496314658))
231231
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
232232
.payment_secret(PaymentSecret([0x11; 32]))
@@ -256,7 +256,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
256256
(
257257
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q9qrsgq9vlvyj8cqvq6ggvpwd53jncp9nwc47xlrsnenq2zp70fq83qlgesn4u3uyf4tesfkkwwfg3qs54qe426hp3tz7z6sweqdjg05axsrjqp9yrrwc".to_owned(),
258258
InvoiceBuilder::new(Currency::Bitcoin)
259-
.amount_milli_satoshis(2_000_000_000)
259+
.amount(LightningAmount::from_msat(2_000_000_000))
260260
.duration_since_epoch(Duration::from_secs(1496314658))
261261
.description_hash(sha256::Hash::hash(b"One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon"))
262262
.payment_secret(PaymentSecret([0x11; 32]))
@@ -286,7 +286,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
286286
(
287287
"lnbc9678785340p1pwmna7lpp5gc3xfm08u9qy06djf8dfflhugl6p7lgza6dsjxq454gxhj9t7a0sd8dgfkx7cmtwd68yetpd5s9xar0wfjn5gpc8qhrsdfq24f5ggrxdaezqsnvda3kkum5wfjkzmfqf3jkgem9wgsyuctwdus9xgrcyqcjcgpzgfskx6eqf9hzqnteypzxz7fzypfhg6trddjhygrcyqezcgpzfysywmm5ypxxjemgw3hxjmn8yptk7untd9hxwg3q2d6xjcmtv4ezq7pqxgsxzmnyyqcjqmt0wfjjq6t5v4khxsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygsxqyjw5qcqp2rzjq0gxwkzc8w6323m55m4jyxcjwmy7stt9hwkwe2qxmy8zpsgg7jcuwz87fcqqeuqqqyqqqqlgqqqqn3qq9q9qrsgqrvgkpnmps664wgkp43l22qsgdw4ve24aca4nymnxddlnp8vh9v2sdxlu5ywdxefsfvm0fq3sesf08uf6q9a2ke0hc9j6z6wlxg5z5kqpu2v9wz".to_owned(),
288288
InvoiceBuilder::new(Currency::Bitcoin)
289-
.amount_milli_satoshis(967878534)
289+
.amount(LightningAmount::from_msat(967878534))
290290
.duration_since_epoch(Duration::from_secs(1572468703))
291291
.payment_secret(PaymentSecret([0x11; 32]))
292292
.payment_hash(lightning_invoice::PaymentHash(
@@ -324,7 +324,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
324324
(
325325
"lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqqsgq2a25dxl5hrntdtn6zvydt7d66hyzsyhqs4wdynavys42xgl6sgx9c4g7me86a27t07mdtfry458rtjr0v92cnmswpsjscgt2vcse3sgpz3uapa".to_owned(),
326326
InvoiceBuilder::new(Currency::Bitcoin)
327-
.amount_milli_satoshis(2_500_000_000)
327+
.amount(LightningAmount::from_msat(2_500_000_000))
328328
.duration_since_epoch(Duration::from_secs(1496314658))
329329
.payment_secret(PaymentSecret([0x11; 32]))
330330
.payment_hash(lightning_invoice::PaymentHash(
@@ -351,7 +351,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
351351
(
352352
"LNBC25M1PVJLUEZPP5QQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQYPQDQ5VDHKVEN9V5SXYETPDEESSP5ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYGS9Q5SQQQQQQQQQQQQQQQQSGQ2A25DXL5HRNTDTN6ZVYDT7D66HYZSYHQS4WDYNAVYS42XGL6SGX9C4G7ME86A27T07MDTFRY458RTJR0V92CNMSWPSJSCGT2VCSE3SGPZ3UAPA".to_owned(),
353353
InvoiceBuilder::new(Currency::Bitcoin)
354-
.amount_milli_satoshis(2_500_000_000)
354+
.amount(LightningAmount::from_msat(2_500_000_000))
355355
.duration_since_epoch(Duration::from_secs(1496314658))
356356
.payment_secret(PaymentSecret([0x11; 32]))
357357
.payment_hash(lightning_invoice::PaymentHash(
@@ -378,7 +378,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
378378
(
379379
"lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqqsgq2qrqqqfppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhpnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqspnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnpkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqz599y53s3ujmcfjp5xrdap68qxymkqphwsexhmhr8wdz5usdzkzrse33chw6dlp3jhuhge9ley7j2ayx36kawe7kmgg8sv5ugdyusdcqzn8z9x".to_owned(),
380380
InvoiceBuilder::new(Currency::Bitcoin)
381-
.amount_milli_satoshis(2_500_000_000)
381+
.amount(LightningAmount::from_msat(2_500_000_000))
382382
.duration_since_epoch(Duration::from_secs(1496314658))
383383
.payment_secret(PaymentSecret([0x11; 32]))
384384
.payment_hash(lightning_invoice::PaymentHash(
@@ -405,7 +405,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
405405
( // Older version of the payment metadata test with a payment_pubkey set
406406
"lnbc10m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdp9wpshjmt9de6zqmt9w3skgct5vysxjmnnd9jx2mq8q8a04uqnp4q0n326hr8v9zprg8gsvezcch06gfaqqhde2aj730yg0durunfhv66sp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q2gqqqqqqsgqy9gw6ymamd20jumvdgpfphkhp8fzhhdhycw36egcmla5vlrtrmhs9t7psfy3hkkdqzm9eq64fjg558znccds5nhsfmxveha5xe0dykgpspdha0".to_owned(),
407407
InvoiceBuilder::new(Currency::Bitcoin)
408-
.amount_milli_satoshis(1_000_000_000)
408+
.amount(LightningAmount::from_msat(1_000_000_000))
409409
.duration_since_epoch(Duration::from_secs(1496314658))
410410
.payment_hash(lightning_invoice::PaymentHash(
411411
<[u8; 32]>::try_from(
@@ -437,7 +437,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawBolt11Invoice, bool, bool)> {
437437
(
438438
"lnbc10m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdp9wpshjmt9de6zqmt9w3skgct5vysxjmnnd9jx2mq8q8a04uqsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q2gqqqqqqsgq7hf8he7ecf7n4ffphs6awl9t6676rrclv9ckg3d3ncn7fct63p6s365duk5wrk202cfy3aj5xnnp5gs3vrdvruverwwq7yzhkf5a3xqpd05wjc".to_owned(),
439439
InvoiceBuilder::new(Currency::Bitcoin)
440-
.amount_milli_satoshis(1_000_000_000)
440+
.amount(LightningAmount::from_msat(1_000_000_000))
441441
.duration_since_epoch(Duration::from_secs(1496314658))
442442
.payment_hash(lightning_invoice::PaymentHash(
443443
<[u8; 32]>::try_from(

lightning-liquidity/tests/lsps2_integration_tests.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ use lightning::util::errors::APIError;
4242
use lightning::util::logger::Logger;
4343
use lightning::util::test_utils::{TestBroadcaster, TestStore};
4444

45-
use lightning_invoice::{Bolt11Invoice, InvoiceBuilder, RoutingFees};
45+
use lightning_invoice::{Bolt11Invoice, InvoiceBuilder, LightningAmount, RoutingFees};
4646

4747
use lightning_types::payment::PaymentHash;
4848

@@ -147,7 +147,8 @@ fn create_jit_invoice(
147147
.private_route(route_hint);
148148

149149
if let Some(amount_msat) = payment_size_msat {
150-
invoice_builder = invoice_builder.amount_milli_satoshis(amount_msat).basic_mpp();
150+
invoice_builder =
151+
invoice_builder.amount(LightningAmount::from_msat(amount_msat)).basic_mpp();
151152
}
152153

153154
let raw_invoice = invoice_builder.build_raw().map_err(|e| {
@@ -1496,7 +1497,7 @@ fn create_channel_with_manual_broadcast(
14961497
.create_channel(
14971498
*client_node_id,
14981499
*expected_outbound_amount_msat,
1499-
0,
1500+
LightningAmount::from_msat(0),
15001501
user_channel_id,
15011502
None,
15021503
None

lightning/src/ln/accountable_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fn test_accountable_forwarding_with_override(
2929
let (payment_preimage, payment_hash, payment_secret) = get_payment_preimage_hash!(nodes[2]);
3030
let route_params = RouteParameters::from_payment_params_and_value(
3131
PaymentParameters::from_node_id(nodes[2].node.get_our_node_id(), TEST_FINAL_CLTV),
32-
100_000,
32+
LightningAmount::from_msat(100_000),
3333
);
3434
let onion_fields = RecipientOnionFields::secret_only(payment_secret);
3535
let payment_id = PaymentId(payment_hash.0);

lightning/src/ln/async_payments_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ fn pass_async_payments_oms(
270270
fn create_static_invoice_builder<'a>(
271271
recipient: &Node, offer: &'a Offer, offer_nonce: Nonce, relative_expiry: Option<Duration>,
272272
) -> StaticInvoiceBuilder<'a> {
273-
let amount_msat = offer.amount().and_then(|amount| match amount {
273+
let amount_msat = offer.offer_amount().and_then(|amount| match amount {
274274
Amount::Bitcoin { amount_msats } => Some(amount_msats),
275275
Amount::Currency { .. } => None,
276276
});
@@ -1473,7 +1473,7 @@ fn amount_doesnt_match_invreq() {
14731473
payment_id,
14741474
)
14751475
.unwrap()
1476-
.amount_msats(amt_msat + 1)
1476+
.amount(LightningAmount::from_msat(amt_msat + 1))
14771477
.unwrap()
14781478
.chain_hash(ChainHash::using_genesis_block(Network::Testnet))
14791479
.unwrap()

0 commit comments

Comments
 (0)