Skip to content

Commit c46c18b

Browse files
committed
wallet: refactor GetClosestWalletFeature()
1 parent c463f70 commit c46c18b

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/wallet/walletutil.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,9 @@ bool IsFeatureSupported(int wallet_version, int feature_version)
8787

8888
WalletFeature GetClosestWalletFeature(int version)
8989
{
90-
if (version >= FEATURE_LATEST) return FEATURE_LATEST;
91-
if (version >= FEATURE_PRE_SPLIT_KEYPOOL) return FEATURE_PRE_SPLIT_KEYPOOL;
92-
if (version >= FEATURE_NO_DEFAULT_KEY) return FEATURE_NO_DEFAULT_KEY;
93-
if (version >= FEATURE_HD_SPLIT) return FEATURE_HD_SPLIT;
94-
if (version >= FEATURE_HD) return FEATURE_HD;
95-
if (version >= FEATURE_COMPRPUBKEY) return FEATURE_COMPRPUBKEY;
96-
if (version >= FEATURE_WALLETCRYPT) return FEATURE_WALLETCRYPT;
97-
if (version >= FEATURE_BASE) return FEATURE_BASE;
90+
const std::array<WalletFeature, 8> wallet_features{{FEATURE_LATEST, FEATURE_PRE_SPLIT_KEYPOOL, FEATURE_NO_DEFAULT_KEY, FEATURE_HD_SPLIT, FEATURE_HD, FEATURE_COMPRPUBKEY, FEATURE_WALLETCRYPT, FEATURE_BASE}};
91+
for (const WalletFeature& wf : wallet_features) {
92+
if (version >= wf) return wf;
93+
}
9894
return static_cast<WalletFeature>(0);
9995
}

0 commit comments

Comments
 (0)