mirror of
https://github.com/monero-project/monero.git
synced 2026-06-12 19:11:36 -07:00
wallet: remove output blackballing
This commit is contained in:
@@ -60,23 +60,13 @@ static crypto::key_image generate_key_image()
|
||||
return key_image;
|
||||
}
|
||||
|
||||
static std::pair<uint64_t, uint64_t> generate_output()
|
||||
{
|
||||
return std::make_pair(rand(), rand());
|
||||
}
|
||||
|
||||
|
||||
static crypto::chacha_key get_KEY_1() { static const crypto::chacha_key KEY_1 = generate_chacha_key(); return KEY_1; }
|
||||
static crypto::chacha_key get_KEY_2() { static const crypto::chacha_key KEY_2 = generate_chacha_key(); return KEY_2; }
|
||||
static crypto::key_image get_KEY_IMAGE_1() { static const crypto::key_image KEY_IMAGE_1 = generate_key_image(); return KEY_IMAGE_1; }
|
||||
static std::pair<uint64_t, uint64_t> get_OUTPUT_1() { static const std::pair<uint64_t, uint64_t> OUTPUT_1 = generate_output(); return OUTPUT_1; }
|
||||
static std::pair<uint64_t, uint64_t> get_OUTPUT_2() { static const std::pair<uint64_t, uint64_t> OUTPUT_2 = generate_output(); return OUTPUT_2; }
|
||||
|
||||
#define KEY_1 get_KEY_1()
|
||||
#define KEY_2 get_KEY_2()
|
||||
#define KEY_IMAGE_1 get_KEY_IMAGE_1()
|
||||
#define OUTPUT_1 get_OUTPUT_1()
|
||||
#define OUTPUT_2 get_OUTPUT_2()
|
||||
|
||||
class RingDB: public tools::ringdb
|
||||
{
|
||||
@@ -142,58 +132,3 @@ TEST(ringdb, different_genesis)
|
||||
ASSERT_TRUE(ringdb.set_ring(KEY_1, KEY_IMAGE_1, outs, false));
|
||||
ASSERT_FALSE(ringdb.get_ring(KEY_2, KEY_IMAGE_1, outs2));
|
||||
}
|
||||
|
||||
TEST(spent_outputs, not_found)
|
||||
{
|
||||
RingDB ringdb;
|
||||
ASSERT_TRUE(ringdb.blackball(OUTPUT_1));
|
||||
ASSERT_FALSE(ringdb.blackballed(OUTPUT_2));
|
||||
}
|
||||
|
||||
TEST(spent_outputs, found)
|
||||
{
|
||||
RingDB ringdb;
|
||||
ASSERT_TRUE(ringdb.blackball(OUTPUT_1));
|
||||
ASSERT_TRUE(ringdb.blackballed(OUTPUT_1));
|
||||
}
|
||||
|
||||
TEST(spent_outputs, vector)
|
||||
{
|
||||
RingDB ringdb;
|
||||
std::vector<std::pair<uint64_t, uint64_t>> outputs;
|
||||
outputs.push_back(std::make_pair(0, 1));
|
||||
outputs.push_back(std::make_pair(10, 3));
|
||||
outputs.push_back(std::make_pair(10, 4));
|
||||
outputs.push_back(std::make_pair(10, 8));
|
||||
outputs.push_back(std::make_pair(20, 0));
|
||||
outputs.push_back(std::make_pair(20, 1));
|
||||
outputs.push_back(std::make_pair(30, 5));
|
||||
ASSERT_TRUE(ringdb.blackball(outputs));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(0, 1)));
|
||||
ASSERT_FALSE(ringdb.blackballed(std::make_pair(10, 2)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(10, 3)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(10, 4)));
|
||||
ASSERT_FALSE(ringdb.blackballed(std::make_pair(10, 5)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(10, 8)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(20, 0)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(20, 1)));
|
||||
ASSERT_FALSE(ringdb.blackballed(std::make_pair(20, 2)));
|
||||
ASSERT_TRUE(ringdb.blackballed(std::make_pair(30, 5)));
|
||||
}
|
||||
|
||||
TEST(spent_outputs, mark_as_unspent)
|
||||
{
|
||||
RingDB ringdb;
|
||||
ASSERT_TRUE(ringdb.blackball(OUTPUT_1));
|
||||
ASSERT_TRUE(ringdb.unblackball(OUTPUT_1));
|
||||
ASSERT_FALSE(ringdb.blackballed(OUTPUT_1));
|
||||
}
|
||||
|
||||
TEST(spent_outputs, clear)
|
||||
{
|
||||
RingDB ringdb;
|
||||
ASSERT_TRUE(ringdb.blackball(OUTPUT_1));
|
||||
ASSERT_TRUE(ringdb.clear_blackballs());
|
||||
ASSERT_FALSE(ringdb.blackballed(OUTPUT_1));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user