From 34d803837eee2f5991a31b15a5aa37e83730973c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=BBuk?= Date: Fri, 17 Mar 2023 09:12:44 +0100 Subject: [PATCH 1/2] fix: use to_string in mainnet chain variant --- ethers-core/src/types/chain.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ethers-core/src/types/chain.rs b/ethers-core/src/types/chain.rs index fb574c298..35aeb3202 100644 --- a/ethers-core/src/types/chain.rs +++ b/ethers-core/src/types/chain.rs @@ -53,7 +53,8 @@ pub type ParseChainError = TryFromPrimitiveError; #[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, @@ -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"]), From e68b59a24f5d488ec5086524703994f1b4575283 Mon Sep 17 00:00:00 2001 From: CodeSandwich Date: Fri, 17 Mar 2023 09:55:16 +0100 Subject: [PATCH 2/2] Add test for chain serde and to_string matching --- ethers-core/src/types/chain.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ethers-core/src/types/chain.rs b/ethers-core/src/types/chain.rs index 35aeb3202..fd23c83b0 100644 --- a/ethers-core/src/types/chain.rs +++ b/ethers-core/src/types/chain.rs @@ -616,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); + } + } }