Skip to content

Commit e35eaa6

Browse files
committed
Merge branch 'payment_req_improve'
2 parents 8a3a4e0 + c11dae4 commit e35eaa6

File tree

1 file changed

+11
-1
lines changed
  • lwk_payment_instructions/src

1 file changed

+11
-1
lines changed

lwk_payment_instructions/src/lib.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ fn parse_liquid_bip21(s: &str, is_mainnet: bool) -> Result<Payment, String> {
257257
.query_pairs()
258258
.find(|(key, _)| key == "assetid")
259259
.map(|(_, value)| value)
260-
.ok_or_else(|| "error".to_string())?;
260+
.ok_or_else(|| "Invalid payment request: assetID needs to be specified".to_string())?;
261261
let asset = AssetId::from_str(&asset_str).map_err(|e| e.to_string())?;
262262

263263
// BIP21 amounts are in BTC (decimal), convert to satoshis (optional)
@@ -521,6 +521,16 @@ mod tests {
521521
let _payment_category = Payment::from_str(liquid_bip21).unwrap();
522522
}
523523

524+
#[test]
525+
fn test_parse_liquid_bip21_missing_asset() {
526+
let liquid_bip21 = "liquidnetwork:VJL67HETqJCTg8Jak34N4RQaZD8HopbuhiU6F5kdo4d8QBJKTNJY3N1ictsXc1KAVNpaTEuCEoUCAzEj?amount=0.00001000";
527+
let err = Payment::from_str(liquid_bip21).unwrap_err();
528+
assert_eq!(
529+
err,
530+
"Invalid payment request: assetID needs to be specified"
531+
);
532+
}
533+
524534
#[test]
525535
fn test_parse_no_schema() {
526536
let bitcoin_address = "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa";

0 commit comments

Comments
 (0)