Skip to content

Commit 63145cd

Browse files
committed
Merge #532: Favour parse over FromStr
c6c1e76 Favour parse over FromStr (Abeeujah) Pull request description: This PR drops the `FromStr` trait and update codepaths to use `parse` instead for constructing the concrete types `BlockHash`, `Txid` from strings. closes #525 ACKs for top commit: tcharding: ACK c6c1e76 jamillambert: ACK c6c1e76 Tree-SHA512: 4eb5df98a8a4c790aaa6ed3a9e719d682391b62287f914873e14f52b683a44bf032461607a8b6765b512e3f13b956091d10a6eb3ab2ce6c6efaf48300352dd2e
2 parents 774a655 + c6c1e76 commit 63145cd

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

types/src/v29/blockchain/into.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: CC0-1.0
22

33
use alloc::collections::BTreeMap;
4-
use core::str::FromStr;
54

65
use bitcoin::consensus::encode;
76
use bitcoin::hashes::hex::FromHex;
@@ -405,14 +404,14 @@ impl GetDescriptorActivity {
405404
let amount = Amount::from_btc(spend.amount).map_err(E::Amount)?;
406405
let block_hash = spend
407406
.block_hash
408-
.map(|s| BlockHash::from_str(&s))
407+
.map(|s| s.parse::<BlockHash>())
409408
.transpose()
410409
.map_err(E::BlockHash)?;
411410
let height =
412411
spend.height.map(|h| crate::to_u32(h, "height")).transpose()?;
413-
let spend_txid = Txid::from_str(&spend.spend_txid).map_err(E::SpendTxid)?;
412+
let spend_txid = spend.spend_txid.parse::<Txid>().map_err(E::SpendTxid)?;
414413
let prevout_txid =
415-
Txid::from_str(&spend.prevout_txid).map_err(E::PrevoutTxid)?;
414+
spend.prevout_txid.parse::<Txid>().map_err(E::PrevoutTxid)?;
416415
let prevout_spk = spend.prevout_spk.into_model().map_err(E::PrevoutSpk)?;
417416

418417
Ok(model::ActivityEntry::Spend(model::SpendActivity {
@@ -430,12 +429,12 @@ impl GetDescriptorActivity {
430429
let amount = Amount::from_btc(receive.amount).map_err(E::Amount)?;
431430
let block_hash = receive
432431
.block_hash
433-
.map(|s| BlockHash::from_str(&s))
432+
.map(|s| s.parse::<BlockHash>())
434433
.transpose()
435434
.map_err(E::BlockHash)?;
436435
let height =
437436
receive.height.map(|h| crate::to_u32(h, "height")).transpose()?; // Uses From<NumericError>
438-
let txid = Txid::from_str(&receive.txid).map_err(E::Txid)?;
437+
let txid = receive.txid.parse::<Txid>().map_err(E::Txid)?;
439438
let output_spk = receive.output_spk.into_model().map_err(E::OutputSpk)?;
440439

441440
Ok(model::ActivityEntry::Receive(model::ReceiveActivity {

0 commit comments

Comments
 (0)