diff --git a/src/ripple/protocol/SecretKey.h b/src/ripple/protocol/SecretKey.h index 20f0e1c6b..20204479c 100644 --- a/src/ripple/protocol/SecretKey.h +++ b/src/ripple/protocol/SecretKey.h @@ -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. */ diff --git a/src/test/protocol/SecretKey_test.cpp b/src/test/protocol/SecretKey_test.cpp index 7cc831396..91bd143d0 100644 --- a/src/test/protocol/SecretKey_test.cpp +++ b/src/test/protocol/SecretKey_test.cpp @@ -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; @@ -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 ( 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 ( 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