Skip to content

Commit 86c40ac

Browse files
authored
Migrate chain.rs to snafu error (#3904)
1 parent fff2479 commit 86c40ac

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/chain.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,8 @@ impl Chain {
6666
}
6767
}
6868

69-
pub(crate) fn address_from_script(
70-
self,
71-
script: &Script,
72-
) -> Result<Address, bitcoin::address::Error> {
73-
Address::from_script(script, self.network())
69+
pub(crate) fn address_from_script(self, script: &Script) -> Result<Address, SnafuError> {
70+
Address::from_script(script, self.network()).snafu_context(error::AddressConversion)
7471
}
7572

7673
pub(crate) fn join_with_data_dir(self, data_dir: impl AsRef<Path>) -> PathBuf {
@@ -110,15 +107,17 @@ impl Display for Chain {
110107
}
111108

112109
impl FromStr for Chain {
113-
type Err = Error;
110+
type Err = SnafuError;
114111

115112
fn from_str(s: &str) -> Result<Self, Self::Err> {
116113
match s {
117114
"mainnet" => Ok(Self::Mainnet),
118115
"regtest" => Ok(Self::Regtest),
119116
"signet" => Ok(Self::Signet),
120117
"testnet" => Ok(Self::Testnet),
121-
_ => bail!("invalid chain `{s}`"),
118+
_ => Err(SnafuError::InvalidChain {
119+
chain: s.to_string(),
120+
}),
122121
}
123122
}
124123
}
@@ -135,7 +134,7 @@ mod tests {
135134
assert_eq!("testnet".parse::<Chain>().unwrap(), Chain::Testnet);
136135
assert_eq!(
137136
"foo".parse::<Chain>().unwrap_err().to_string(),
138-
"invalid chain `foo`"
137+
"Invalid chain `foo`"
139138
);
140139
}
141140
}

0 commit comments

Comments
 (0)