mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Add SecretKey comparison operator (RIPD-1382)
This commit is contained in:
@@ -68,6 +68,24 @@ public:
|
||||
to_string() const;
|
||||
};
|
||||
|
||||
inline
|
||||
bool
|
||||
operator== (SecretKey const& lhs,
|
||||
SecretKey const& rhs)
|
||||
{
|
||||
return lhs.size() == rhs.size() &&
|
||||
std::memcmp(lhs.data(),
|
||||
rhs.data(), rhs.size()) == 0;
|
||||
}
|
||||
|
||||
inline
|
||||
bool
|
||||
operator!= (SecretKey const& lhs,
|
||||
SecretKey const& rhs)
|
||||
{
|
||||
return ! (lhs == rhs);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** Produces a sequence of secp256k1 key pairs. */
|
||||
|
||||
@@ -34,14 +34,6 @@ namespace ripple {
|
||||
|
||||
class SecretKey_test : public beast::unit_test::suite
|
||||
{
|
||||
static
|
||||
bool equal(SecretKey const& lhs, SecretKey const& rhs)
|
||||
{
|
||||
return std::equal (
|
||||
lhs.data(), lhs.data() + lhs.size(),
|
||||
rhs.data(), rhs.data() + rhs.size());
|
||||
}
|
||||
|
||||
public:
|
||||
using blob = std::vector<std::uint8_t>;
|
||||
|
||||
@@ -332,7 +324,7 @@ public:
|
||||
"pnen77YEeUd4fFKG7iycBWcwKpTaeFRkW2WFostaATy1DSupwXe");
|
||||
BEAST_EXPECT(sk2);
|
||||
|
||||
BEAST_EXPECT(equal (sk1, *sk2));
|
||||
BEAST_EXPECT(sk1 == *sk2);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -345,7 +337,7 @@ public:
|
||||
"paKv46LztLqK3GaKz1rG2nQGN6M4JLyRtxFBYFTw4wAVHtGys36");
|
||||
BEAST_EXPECT(sk2);
|
||||
|
||||
BEAST_EXPECT(equal (sk1, *sk2));
|
||||
BEAST_EXPECT(sk1 == *sk2);
|
||||
}
|
||||
|
||||
// Try converting short, long and malformed data
|
||||
@@ -416,11 +408,11 @@ public:
|
||||
|
||||
auto const ski = parseBase58<SecretKey> (
|
||||
TOKEN_NODE_PRIVATE, si);
|
||||
BEAST_EXPECT(ski && equal(keys[i], *ski));
|
||||
BEAST_EXPECT(ski && keys[i] == *ski);
|
||||
|
||||
for (std::size_t j = i; j != keys.size(); ++j)
|
||||
{
|
||||
BEAST_EXPECT(equal (keys[i], keys[j]) == (i == j));
|
||||
BEAST_EXPECT((keys[i] == keys[j]) == (i == j));
|
||||
|
||||
auto const sj = toBase58 (
|
||||
TokenType::TOKEN_NODE_PRIVATE,
|
||||
@@ -430,9 +422,9 @@ public:
|
||||
|
||||
auto const skj = parseBase58<SecretKey> (
|
||||
TOKEN_NODE_PRIVATE, sj);
|
||||
BEAST_EXPECT(skj && equal(keys[j], *skj));
|
||||
BEAST_EXPECT(skj && keys[j] == *skj);
|
||||
|
||||
BEAST_EXPECT(equal (*ski, *skj) == (i == j));
|
||||
BEAST_EXPECT((*ski == *skj) == (i == j));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -446,11 +438,12 @@ public:
|
||||
generateSeed ("masterpassphrase"));
|
||||
|
||||
SecretKey sk2 (sk1);
|
||||
BEAST_EXPECT(equal (sk1, sk2));
|
||||
BEAST_EXPECT(sk1 == sk2);
|
||||
|
||||
SecretKey sk3;
|
||||
BEAST_EXPECT(sk3 != sk2);
|
||||
sk3 = sk2;
|
||||
BEAST_EXPECT(equal (sk3, sk2));
|
||||
BEAST_EXPECT(sk3 == sk2);
|
||||
}
|
||||
|
||||
void run() override
|
||||
|
||||
Reference in New Issue
Block a user