mirror of
https://github.com/monero-project/monero.git
synced 2025-08-19 10:37:54 -04:00
Subaddresses
This commit is contained in:
parent
86e9de588c
commit
53ad5a0f42
66 changed files with 3224 additions and 868 deletions
|
@ -474,43 +474,43 @@ TEST(get_account_address_as_str, works_correctly)
|
|||
{
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_TRUE(serialization::parse_binary(test_serialized_keys, addr));
|
||||
std::string addr_str = cryptonote::get_account_address_as_str(false, addr);
|
||||
std::string addr_str = cryptonote::get_account_address_as_str(false, false, addr);
|
||||
ASSERT_EQ(addr_str, test_keys_addr_str);
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, handles_valid_address)
|
||||
{
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_TRUE(cryptonote::get_account_address_from_str(addr, false, test_keys_addr_str));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_TRUE(cryptonote::get_account_address_from_str(info, false, test_keys_addr_str));
|
||||
|
||||
std::string blob;
|
||||
ASSERT_TRUE(serialization::dump_binary(addr, blob));
|
||||
ASSERT_TRUE(serialization::dump_binary(info.address, blob));
|
||||
ASSERT_EQ(blob, test_serialized_keys);
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, fails_on_invalid_address_format)
|
||||
{
|
||||
cryptonote::account_public_address addr;
|
||||
cryptonote::address_parse_info info;
|
||||
std::string addr_str = test_keys_addr_str;
|
||||
addr_str[0] = '0';
|
||||
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(addr, false, addr_str));
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(info, false, addr_str));
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, fails_on_invalid_address_prefix)
|
||||
{
|
||||
std::string addr_str = base58::encode_addr(0, test_serialized_keys);
|
||||
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(addr, false, addr_str));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(info, false, addr_str));
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, fails_on_invalid_address_content)
|
||||
{
|
||||
std::string addr_str = base58::encode_addr(config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX, test_serialized_keys.substr(1));
|
||||
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(addr, false, addr_str));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(info, false, addr_str));
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, fails_on_invalid_address_spend_key)
|
||||
|
@ -519,8 +519,8 @@ TEST(get_account_address_from_str, fails_on_invalid_address_spend_key)
|
|||
serialized_keys_copy[0] = '\0';
|
||||
std::string addr_str = base58::encode_addr(config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX, serialized_keys_copy);
|
||||
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(addr, false, addr_str));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(info, false, addr_str));
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, fails_on_invalid_address_view_key)
|
||||
|
@ -529,12 +529,12 @@ TEST(get_account_address_from_str, fails_on_invalid_address_view_key)
|
|||
serialized_keys_copy.back() = '\x01';
|
||||
std::string addr_str = base58::encode_addr(config::CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX, serialized_keys_copy);
|
||||
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(addr, false, addr_str));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_FALSE(cryptonote::get_account_address_from_str(info, false, addr_str));
|
||||
}
|
||||
|
||||
TEST(get_account_address_from_str, parses_old_address_format)
|
||||
{
|
||||
cryptonote::account_public_address addr;
|
||||
ASSERT_TRUE(cryptonote::get_account_address_from_str(addr, false, "002391bbbb24dea6fd95232e97594a27769d0153d053d2102b789c498f57a2b00b69cd6f2f5c529c1660f2f4a2b50178d6640c20ce71fe26373041af97c5b10236fc"));
|
||||
cryptonote::address_parse_info info;
|
||||
ASSERT_TRUE(cryptonote::get_account_address_from_str(info, false, "002391bbbb24dea6fd95232e97594a27769d0153d053d2102b789c498f57a2b00b69cd6f2f5c529c1660f2f4a2b50178d6640c20ce71fe26373041af97c5b10236fc"));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue