Skip to content

Commit

Permalink
chore: update bech32 and base64
Browse files Browse the repository at this point in the history
  • Loading branch information
lsunsi committed Mar 19, 2024
1 parent 629953b commit e4afcc9
Show file tree
Hide file tree
Showing 13 changed files with 29 additions and 89 deletions.
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ license = "GPL-3.0-only"
readme = "README.md"

[dependencies]
base64 = { version = "0.21.0", features = ["std"], default-features = false }
bech32 = { version = "0.9.0", default-features = false }
base64 = { version = "0.22.0", features = ["std"], default-features = false }
bech32 = { version = "0.11.0", features = ["alloc"], default-features = false }
hex = { version = "0.4.3", features = ["std", "serde"], default-features = false }
serde = { version = "1.0.0", features = ["derive"], default-features = false }
serde_json = { version = "1.0.0", features = ["std"], default-features = false }
Expand Down
8 changes: 2 additions & 6 deletions src/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,14 @@ pub fn resolve(s: &str) -> Result<Resolved, &'static str> {
}

fn resolve_bech32(s: &str) -> Result<url::Url, &'static str> {
let Ok((hrp, data, _)) = bech32::decode(s) else {
let Ok((hrp, bytes)) = bech32::decode(s) else {
return Err("bech32 decode failed");
};

if hrp != "lnurl" {
if hrp.to_lowercase() != "lnurl" {
return Err("bech32 hrp invalid");
}

let Ok(bytes) = <Vec<u8> as bech32::FromBase32>::from_base32(&data) else {
return Err("bech32 data is not bytes");
};

let Ok(text) = String::from_utf8(bytes) else {
return Err("bech32 bytes is not string");
};
Expand Down
8 changes: 2 additions & 6 deletions tests/lud02.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Channel(cr) = queried else {
Expand Down
9 changes: 2 additions & 7 deletions tests/lud03.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,8 @@ async fn test() {
});

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Withdraw(wr) = queried else {
Expand Down
9 changes: 2 additions & 7 deletions tests/lud04.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,8 @@ async fn test() {
});

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Auth(a) = queried else {
Expand Down
8 changes: 2 additions & 6 deletions tests/lud06.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
15 changes: 3 additions & 12 deletions tests/lud08.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url_slow),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url_slow.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Withdraw(wr) = queried else {
Expand All @@ -61,12 +57,7 @@ async fn test() {
assert_eq!(&wr.core.description as &str, "outra-descricao");
assert_eq!(wr.core.callback, callback2);

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url_fast),
bech32::Variant::Bech32,
)
.expect("lnurl");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url_fast.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Withdraw(wr) = queried else {
Expand Down
8 changes: 2 additions & 6 deletions tests/lud09.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
8 changes: 2 additions & 6 deletions tests/lud11.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
8 changes: 2 additions & 6 deletions tests/lud12.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
15 changes: 3 additions & 12 deletions tests/lud16.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,8 @@ async fn test() {
};
lnurl.set_scheme("http").expect("scheme");

let bech32 = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&lnurl.as_ref()),
bech32::Variant::Bech32,
)
.expect("bech32");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let bech32 = bech32::encode::<bech32::Bech32m>(hrp, lnurl.as_ref().as_bytes()).expect("bech32");

let queried = client.entrypoint(&bech32).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand All @@ -72,12 +68,7 @@ async fn test() {

lnurl.set_scheme("http").expect("scheme");

let bech32 = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&lnurl.as_ref()),
bech32::Variant::Bech32,
)
.expect("bech32");
let bech32 = bech32::encode::<bech32::Bech32m>(hrp, lnurl.as_ref().as_bytes()).expect("bech32");

let queried = client.entrypoint(&bech32).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
8 changes: 2 additions & 6 deletions tests/lud18.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down
10 changes: 3 additions & 7 deletions tests/lud21.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ async fn test() {
multiplier: 314.15,
convertible: Some(lnurlkit::pay::CurrencyConvertible {
min: 1,
max: 3
max: 3,
}),
},
lnurlkit::pay::Currency {
Expand Down Expand Up @@ -66,12 +66,8 @@ async fn test() {

let client = lnurlkit::Client::default();

let lnurl = bech32::encode(
"lnurl",
bech32::ToBase32::to_base32(&query_url),
bech32::Variant::Bech32,
)
.expect("lnurl");
let hrp = bech32::Hrp::parse("lnurl").expect("hrp");
let lnurl = bech32::encode::<bech32::Bech32m>(hrp, query_url.as_bytes()).expect("lnurl");

let queried = client.entrypoint(&lnurl).await.expect("query");
let lnurlkit::client::Entrypoint::Pay(pr) = queried else {
Expand Down

0 comments on commit e4afcc9

Please sign in to comment.