Skip to content

Commit cc4f179

Browse files
committed
f fix tests
1 parent 726b8f3 commit cc4f179

File tree

3 files changed

+27
-18
lines changed

3 files changed

+27
-18
lines changed

.github/workflows/build.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@ jobs:
115115
# check if there is a conflict between no-std and the default std feature
116116
cargo test --verbose --color always --features no-std
117117
cd ..
118+
cd lightning-invoice
119+
cargo test --verbose --color always --no-default-features --features no-std
120+
# check if there is a conflict between no-std and the default std feature
121+
cargo test --verbose --color always --features no-std
122+
cd ..
118123
- name: Test on no-std builds Rust ${{ matrix.toolchain }} and full code-linking for coverage generation
119124
if: "matrix.build-no-std && matrix.coverage"
120125
run: |

lightning-invoice/src/lib.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,6 +1586,7 @@ mod test {
15861586

15871587
#[test]
15881588
fn test_system_time_bounds_assumptions() {
1589+
#[cfg(feature = "std")]
15891590
::check_platform();
15901591

15911592
assert_eq!(
@@ -1799,7 +1800,7 @@ mod test {
17991800
let builder = InvoiceBuilder::new(Currency::Bitcoin)
18001801
.description("Test".into())
18011802
.payment_hash(sha256::Hash::from_slice(&[0;32][..]).unwrap())
1802-
.current_timestamp();
1803+
.duration_since_epoch(Duration::from_secs(1234567));
18031804

18041805
let invoice = builder.clone()
18051806
.amount_milli_satoshis(1500)
@@ -1828,7 +1829,7 @@ mod test {
18281829

18291830
let builder = InvoiceBuilder::new(Currency::Bitcoin)
18301831
.payment_hash(sha256::Hash::from_slice(&[0;32][..]).unwrap())
1831-
.current_timestamp()
1832+
.duration_since_epoch(Duration::from_secs(1234567))
18321833
.min_final_cltv_expiry(144);
18331834

18341835
let too_long_string = String::from_iter(
@@ -1944,7 +1945,7 @@ mod test {
19441945

19451946
let builder = InvoiceBuilder::new(Currency::BitcoinTestnet)
19461947
.amount_milli_satoshis(123)
1947-
.timestamp(UNIX_EPOCH + Duration::from_secs(1234567))
1948+
.duration_since_epoch(Duration::from_secs(1234567))
19481949
.payee_pub_key(public_key.clone())
19491950
.expiry_time(Duration::from_secs(54321))
19501951
.min_final_cltv_expiry(144)
@@ -1966,6 +1967,7 @@ mod test {
19661967
assert_eq!(invoice.amount_milli_satoshis(), Some(123));
19671968
assert_eq!(invoice.amount_pico_btc(), Some(1230));
19681969
assert_eq!(invoice.currency(), Currency::BitcoinTestnet);
1970+
#[cfg(feature = "std")]
19691971
assert_eq!(
19701972
invoice.timestamp().duration_since(UNIX_EPOCH).unwrap().as_secs(),
19711973
1234567
@@ -1997,7 +1999,7 @@ mod test {
19971999
.description("Test".into())
19982000
.payment_hash(sha256::Hash::from_slice(&[0;32][..]).unwrap())
19992001
.payment_secret(PaymentSecret([0; 32]))
2000-
.current_timestamp()
2002+
.duration_since_epoch(Duration::from_secs(1234567))
20012003
.build_raw()
20022004
.unwrap()
20032005
.sign::<_, ()>(|hash| {
@@ -2010,9 +2012,11 @@ mod test {
20102012

20112013
assert_eq!(invoice.min_final_cltv_expiry(), DEFAULT_MIN_FINAL_CLTV_EXPIRY);
20122014
assert_eq!(invoice.expiry_time(), Duration::from_secs(DEFAULT_EXPIRY_TIME));
2015+
#[cfg(feature = "std")]
20132016
assert!(!invoice.is_expired());
20142017
}
20152018

2019+
#[cfg(feature = "std")]
20162020
#[test]
20172021
fn test_expiration() {
20182022
use ::*;

lightning-invoice/tests/ser_de.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ use lightning_invoice::*;
1515
use secp256k1::PublicKey;
1616
use secp256k1::recovery::{RecoverableSignature, RecoveryId};
1717
use std::collections::HashSet;
18-
use std::time::{Duration, UNIX_EPOCH};
18+
use std::time::Duration;
1919
use std::str::FromStr;
2020

2121
fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
2222
vec![
2323
(
2424
"lnbc1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq9qrsgq357wnc5r2ueh7ck6q93dj32dlqnls087fxdwk8qakdyafkq3yap9us6v52vjjsrvywa6rt52cm9r9zqt8r2t7mlcwspyetp5h2tztugp9lfyql".to_owned(),
2525
InvoiceBuilder::new(Currency::Bitcoin)
26-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
26+
.duration_since_epoch(Duration::from_secs(1496314658))
2727
.payment_secret(PaymentSecret([0x11; 32]))
2828
.payment_hash(sha256::Hash::from_hex(
2929
"0001020304050607080900010203040506070809000102030405060708090102"
@@ -44,7 +44,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
4444
"lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpu9qrsgquk0rl77nj30yxdy8j9vdx85fkpmdla2087ne0xh8nhedh8w27kyke0lp53ut353s06fv3qfegext0eh0ymjpf39tuven09sam30g4vgpfna3rh".to_owned(),
4545
InvoiceBuilder::new(Currency::Bitcoin)
4646
.amount_milli_satoshis(250_000_000)
47-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
47+
.duration_since_epoch(Duration::from_secs(1496314658))
4848
.payment_secret(PaymentSecret([0x11; 32]))
4949
.payment_hash(sha256::Hash::from_hex(
5050
"0001020304050607080900010203040506070809000102030405060708090102"
@@ -66,7 +66,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
6666
"lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpu9qrsgqhtjpauu9ur7fw2thcl4y9vfvh4m9wlfyz2gem29g5ghe2aak2pm3ps8fdhtceqsaagty2vph7utlgj48u0ged6a337aewvraedendscp573dxr".to_owned(),
6767
InvoiceBuilder::new(Currency::Bitcoin)
6868
.amount_milli_satoshis(250_000_000)
69-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
69+
.duration_since_epoch(Duration::from_secs(1496314658))
7070
.payment_secret(PaymentSecret([0x11; 32]))
7171
.payment_hash(sha256::Hash::from_hex(
7272
"0001020304050607080900010203040506070809000102030405060708090102"
@@ -88,7 +88,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
8888
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqs9qrsgq7ea976txfraylvgzuxs8kgcw23ezlrszfnh8r6qtfpr6cxga50aj6txm9rxrydzd06dfeawfk6swupvz4erwnyutnjq7x39ymw6j38gp7ynn44".to_owned(),
8989
InvoiceBuilder::new(Currency::Bitcoin)
9090
.amount_milli_satoshis(2_000_000_000)
91-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
91+
.duration_since_epoch(Duration::from_secs(1496314658))
9292
.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"))
9393
.payment_secret(PaymentSecret([0x11; 32]))
9494
.payment_hash(sha256::Hash::from_hex(
@@ -109,7 +109,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
109109
"lntb20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un989qrsgqdj545axuxtnfemtpwkc45hx9d2ft7x04mt8q7y6t0k2dge9e7h8kpy9p34ytyslj3yu569aalz2xdk8xkd7ltxqld94u8h2esmsmacgpghe9k8".to_owned(),
110110
InvoiceBuilder::new(Currency::BitcoinTestnet)
111111
.amount_milli_satoshis(2_000_000_000)
112-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
112+
.duration_since_epoch(Duration::from_secs(1496314658))
113113
.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"))
114114
.payment_secret(PaymentSecret([0x11; 32]))
115115
.payment_hash(sha256::Hash::from_hex(
@@ -131,7 +131,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
131131
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzq9qrsgqdfjcdk6w3ak5pca9hwfwfh63zrrz06wwfya0ydlzpgzxkn5xagsqz7x9j4jwe7yj7vaf2k9lqsdk45kts2fd0fkr28am0u4w95tt2nsq76cqw0".to_owned(),
132132
InvoiceBuilder::new(Currency::Bitcoin)
133133
.amount_milli_satoshis(2_000_000_000)
134-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
134+
.duration_since_epoch(Duration::from_secs(1496314658))
135135
.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"))
136136
.payment_secret(PaymentSecret([0x11; 32]))
137137
.payment_hash(sha256::Hash::from_hex(
@@ -170,7 +170,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
170170
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z99qrsgqz6qsgww34xlatfj6e3sngrwfy3ytkt29d2qttr8qz2mnedfqysuqypgqex4haa2h8fx3wnypranf3pdwyluftwe680jjcfp438u82xqphf75ym".to_owned(),
171171
InvoiceBuilder::new(Currency::Bitcoin)
172172
.amount_milli_satoshis(2_000_000_000)
173-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
173+
.duration_since_epoch(Duration::from_secs(1496314658))
174174
.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"))
175175
.payment_secret(PaymentSecret([0x11; 32]))
176176
.payment_hash(sha256::Hash::from_hex(
@@ -192,7 +192,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
192192
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7k9qrsgqt29a0wturnys2hhxpner2e3plp6jyj8qx7548zr2z7ptgjjc7hljm98xhjym0dg52sdrvqamxdezkmqg4gdrvwwnf0kv2jdfnl4xatsqmrnsse".to_owned(),
193193
InvoiceBuilder::new(Currency::Bitcoin)
194194
.amount_milli_satoshis(2_000_000_000)
195-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
195+
.duration_since_epoch(Duration::from_secs(1496314658))
196196
.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"))
197197
.payment_secret(PaymentSecret([0x11; 32]))
198198
.payment_hash(sha256::Hash::from_hex(
@@ -216,7 +216,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
216216
"lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q9qrsgq9vlvyj8cqvq6ggvpwd53jncp9nwc47xlrsnenq2zp70fq83qlgesn4u3uyf4tesfkkwwfg3qs54qe426hp3tz7z6sweqdjg05axsrjqp9yrrwc".to_owned(),
217217
InvoiceBuilder::new(Currency::Bitcoin)
218218
.amount_milli_satoshis(2_000_000_000)
219-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
219+
.duration_since_epoch(Duration::from_secs(1496314658))
220220
.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"))
221221
.payment_secret(PaymentSecret([0x11; 32]))
222222
.payment_hash(sha256::Hash::from_hex(
@@ -240,7 +240,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
240240
"lnbc9678785340p1pwmna7lpp5gc3xfm08u9qy06djf8dfflhugl6p7lgza6dsjxq454gxhj9t7a0sd8dgfkx7cmtwd68yetpd5s9xar0wfjn5gpc8qhrsdfq24f5ggrxdaezqsnvda3kkum5wfjkzmfqf3jkgem9wgsyuctwdus9xgrcyqcjcgpzgfskx6eqf9hzqnteypzxz7fzypfhg6trddjhygrcyqezcgpzfysywmm5ypxxjemgw3hxjmn8yptk7untd9hxwg3q2d6xjcmtv4ezq7pqxgsxzmnyyqcjqmt0wfjjq6t5v4khxsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygsxqyjw5qcqp2rzjq0gxwkzc8w6323m55m4jyxcjwmy7stt9hwkwe2qxmy8zpsgg7jcuwz87fcqqeuqqqyqqqqlgqqqqn3qq9q9qrsgqrvgkpnmps664wgkp43l22qsgdw4ve24aca4nymnxddlnp8vh9v2sdxlu5ywdxefsfvm0fq3sesf08uf6q9a2ke0hc9j6z6wlxg5z5kqpu2v9wz".to_owned(),
241241
InvoiceBuilder::new(Currency::Bitcoin)
242242
.amount_milli_satoshis(967878534)
243-
.timestamp(UNIX_EPOCH + Duration::from_secs(1572468703))
243+
.duration_since_epoch(Duration::from_secs(1572468703))
244244
.payment_secret(PaymentSecret([0x11; 32]))
245245
.payment_hash(sha256::Hash::from_hex(
246246
"462264ede7e14047e9b249da94fefc47f41f7d02ee9b091815a5506bc8abf75f"
@@ -272,7 +272,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
272272
"lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqqsgq2a25dxl5hrntdtn6zvydt7d66hyzsyhqs4wdynavys42xgl6sgx9c4g7me86a27t07mdtfry458rtjr0v92cnmswpsjscgt2vcse3sgpz3uapa".to_owned(),
273273
InvoiceBuilder::new(Currency::Bitcoin)
274274
.amount_milli_satoshis(2_500_000_000)
275-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
275+
.duration_since_epoch(Duration::from_secs(1496314658))
276276
.payment_secret(PaymentSecret([0x11; 32]))
277277
.payment_hash(sha256::Hash::from_hex(
278278
"0001020304050607080900010203040506070809000102030405060708090102"
@@ -293,7 +293,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
293293
"LNBC25M1PVJLUEZPP5QQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQYPQDQ5VDHKVEN9V5SXYETPDEESSP5ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYGS9Q5SQQQQQQQQQQQQQQQQSGQ2A25DXL5HRNTDTN6ZVYDT7D66HYZSYHQS4WDYNAVYS42XGL6SGX9C4G7ME86A27T07MDTFRY458RTJR0V92CNMSWPSJSCGT2VCSE3SGPZ3UAPA".to_owned(),
294294
InvoiceBuilder::new(Currency::Bitcoin)
295295
.amount_milli_satoshis(2_500_000_000)
296-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
296+
.duration_since_epoch(Duration::from_secs(1496314658))
297297
.payment_secret(PaymentSecret([0x11; 32]))
298298
.payment_hash(sha256::Hash::from_hex(
299299
"0001020304050607080900010203040506070809000102030405060708090102"
@@ -314,7 +314,7 @@ fn get_test_tuples() -> Vec<(String, SignedRawInvoice, bool, bool)> {
314314
"lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqqsgq2qrqqqfppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhpnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqspnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnpkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqz599y53s3ujmcfjp5xrdap68qxymkqphwsexhmhr8wdz5usdzkzrse33chw6dlp3jhuhge9ley7j2ayx36kawe7kmgg8sv5ugdyusdcqzn8z9x".to_owned(),
315315
InvoiceBuilder::new(Currency::Bitcoin)
316316
.amount_milli_satoshis(2_500_000_000)
317-
.timestamp(UNIX_EPOCH + Duration::from_secs(1496314658))
317+
.duration_since_epoch(Duration::from_secs(1496314658))
318318
.payment_secret(PaymentSecret([0x11; 32]))
319319
.payment_hash(sha256::Hash::from_hex(
320320
"0001020304050607080900010203040506070809000102030405060708090102"

0 commit comments

Comments
 (0)