More wallet tests

This commit is contained in:
SChernykh
2025-10-23 19:03:24 +02:00
parent 27fbf2fc93
commit e7e623fbdd
2 changed files with 19 additions and 6 deletions

View File

@@ -41,6 +41,8 @@ int main(int argc, char** argv)
{ {
set_main_thread(); set_main_thread();
p2pool_usage(); p2pool_usage();
IMergeMiningClient::create({}, {}, {});
JSONRPCRequest::call({}, 0, {}, {}, {}, false, {}, [](const char*, size_t, double){}, [](const char*, size_t, double){});
PoolBlock::s_precalculatedSharesLock = new ReadWriteLock(); PoolBlock::s_precalculatedSharesLock = new ReadWriteLock();

View File

@@ -27,37 +27,37 @@ TEST(wallet, input_output)
// No data // No data
{ {
Wallet w(nullptr); Wallet w(nullptr);
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// Wrong length // Wrong length
{ {
Wallet w("456"); Wallet w("456");
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// Symbol '0' is not from base-58 // Symbol '0' is not from base-58
{ {
Wallet w("40ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); Wallet w("40ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6");
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// Invalid checksum // Invalid checksum
{ {
Wallet w("49ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS7"); Wallet w("49ccoSmrBTPJd5yf8VYCULh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS7");
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// 64-bit overflow // 64-bit overflow
{ {
Wallet w("49ccoSmrBTPzzzzzzzzzzzh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6"); Wallet w("49ccoSmrBTPzzzzzzzzzzzh4J5rHQaXP1TeC8Cnqhd5H9Y2cMwkJ9w42euLmMghKtCiQcgZEiGYW1K6Ae4biZ7w1HLSexS6");
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// Invalid pubkey // Invalid pubkey
{ {
Wallet w("47wU9Pe8Ez8anN3jf2XjqfXQfxmoqT4Pw1h4msNWyynMBiwjCtkQFAvBoR7sQJR4Khhcq8Nmgufa6JKLm8yWEu9R1g6B9jj"); Wallet w("47wU9Pe8Ez8anN3jf2XjqfXQfxmoqT4Pw1h4msNWyynMBiwjCtkQFAvBoR7sQJR4Khhcq8Nmgufa6JKLm8yWEu9R1g6B9jj");
ASSERT_EQ(w.valid(), false); ASSERT_FALSE(w.valid());
} }
// Invalid pubkeys // Invalid pubkeys
@@ -76,6 +76,17 @@ TEST(wallet, input_output)
ASSERT_FALSE(w.assign(invalid_spend_pub, invalid_view_pub, NetworkType::Mainnet, false)); 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) auto check = [](NetworkType t, bool subaddress, uint64_t prefix, uint32_t checksum, const char* address, const char* spendkey, const char* viewkey)
{ {
// Test Wallet::decode() // Test Wallet::decode()