From e7e623fbdd3eee80f9eefbb045290769256577d3 Mon Sep 17 00:00:00 2001 From: SChernykh <15806605+SChernykh@users.noreply.github.com> Date: Thu, 23 Oct 2025 19:03:24 +0200 Subject: [PATCH] More wallet tests --- tests/src/main.cpp | 2 ++ tests/src/wallet_tests.cpp | 23 +++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/src/main.cpp b/tests/src/main.cpp index 7d89ca4..1e2628e 100644 --- a/tests/src/main.cpp +++ b/tests/src/main.cpp @@ -41,6 +41,8 @@ int main(int argc, char** argv) { set_main_thread(); p2pool_usage(); + IMergeMiningClient::create({}, {}, {}); + JSONRPCRequest::call({}, 0, {}, {}, {}, false, {}, [](const char*, size_t, double){}, [](const char*, size_t, double){}); PoolBlock::s_precalculatedSharesLock = new ReadWriteLock(); diff --git a/tests/src/wallet_tests.cpp b/tests/src/wallet_tests.cpp index 5c34b58..3bee650 100644 --- a/tests/src/wallet_tests.cpp +++ b/tests/src/wallet_tests.cpp @@ -27,37 +27,37 @@ TEST(wallet, input_output) // No data { Wallet w(nullptr); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // Wrong length { Wallet w("456"); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // Symbol '0' is not from base-58 { Wallet w("40ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // Invalid checksum { Wallet w("49ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS7"); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // 64-bit overflow { Wallet w("49ccoSmrBTPzzzzzzzzzzzh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // Invalid pubkey { Wallet w("47wU9Pe8Ez8anN3jf2XjqfXQfxmoqT4Pw1h4msNWyynMBiwjCtkQFAvBoR7sQJR4Khhcq8Nmgufa6JKLm8yWEu9R1g6B9jj"); - ASSERT_EQ(w.valid(), false); + ASSERT_FALSE(w.valid()); } // Invalid pubkeys @@ -76,6 +76,17 @@ TEST(wallet, input_output) ASSERT_FALSE(w.assign(invalid_spend_pub, invalid_view_pub, NetworkType::Mainnet, false)); } + // Invalid prefix + { + Wallet w1("4KKHpFbLniuJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); + Wallet w2("49ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); + + ASSERT_TRUE(w2.assign(w2.spend_public_key(), w2.view_public_key(), NetworkType::Invalid, false)); + + ASSERT_FALSE(w1.valid()); + ASSERT_FALSE(w2.valid()); + } + auto check = [](NetworkType t, bool subaddress, uint64_t prefix, uint32_t checksum, const char* address, const char* spendkey, const char* viewkey) { // Test Wallet::decode()