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();
p2pool_usage();
IMergeMiningClient::create({}, {}, {});
JSONRPCRequest::call({}, 0, {}, {}, {}, false, {}, [](const char*, size_t, double){}, [](const char*, size_t, double){});
PoolBlock::s_precalculatedSharesLock = new ReadWriteLock();

View File

@@ -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()