Skip to content

Commit

Permalink
fix: use to_string in mainnet chain variant (#2275)
Browse files Browse the repository at this point in the history
* fix: use to_string in mainnet chain variant

* Add test for chain serde and to_string matching
  • Loading branch information
CodeSandwich committed Mar 17, 2023
1 parent 18d4042 commit 1dc5d40
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion ethers-core/src/types/chain.rs
Expand Up @@ -53,7 +53,8 @@ pub type ParseChainError = TryFromPrimitiveError<Chain>;
#[strum(serialize_all = "kebab-case")]
#[repr(u64)]
pub enum Chain {
#[strum(serialize = "ethlive", serialize = "mainnet")]
#[strum(to_string = "mainnet", serialize = "ethlive")]
#[serde(alias = "ethlive")]
Mainnet = 1,
Morden = 2,
Ropsten = 3,
Expand Down Expand Up @@ -598,6 +599,7 @@ mod tests {

// kebab-case
const ALIASES: &[(Chain, &[&str])] = &[
(Mainnet, &["ethlive"]),
(BinanceSmartChain, &["bsc", "binance-smart-chain"]),
(BinanceSmartChainTestnet, &["bsc-testnet", "binance-smart-chain-testnet"]),
(XDai, &["xdai", "gnosis", "gnosis-chain"]),
Expand All @@ -614,4 +616,13 @@ mod tests {
}
}
}

#[test]
fn serde_to_string_match() {
for chain in Chain::iter() {
let chain_serde = serde_json::to_string(&chain).unwrap();
let chain_string = format!("\"{}\"", chain.to_string());
assert_eq!(chain_serde, chain_string);
}
}
}

0 comments on commit 1dc5d40

Please sign in to comment.