mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Use structured bindings in some places:
Most of the new uses either: * Replace some uses of `tie` * bind to pairs when iterating through maps
This commit is contained in:
@@ -217,10 +217,10 @@ public:
|
||||
|
||||
for (std::size_t i = 0; i < 32; i++)
|
||||
{
|
||||
auto const keypair = randomKeyPair (KeyType::secp256k1);
|
||||
auto const [pk, sk] = randomKeyPair (KeyType::secp256k1);
|
||||
|
||||
BEAST_EXPECT(keypair.first == derivePublicKey (KeyType::secp256k1, keypair.second));
|
||||
BEAST_EXPECT(*publicKeyType (keypair.first) == KeyType::secp256k1);
|
||||
BEAST_EXPECT(pk == derivePublicKey (KeyType::secp256k1, sk));
|
||||
BEAST_EXPECT(*publicKeyType (pk) == KeyType::secp256k1);
|
||||
|
||||
for (std::size_t j = 0; j < 32; j++)
|
||||
{
|
||||
@@ -231,14 +231,14 @@ public:
|
||||
crypto_prng());
|
||||
|
||||
auto sig = signDigest (
|
||||
keypair.first, keypair.second, digest);
|
||||
pk, sk, digest);
|
||||
|
||||
BEAST_EXPECT(sig.size() != 0);
|
||||
BEAST_EXPECT(verifyDigest (keypair.first,
|
||||
BEAST_EXPECT(verifyDigest (pk,
|
||||
digest, sig, true));
|
||||
|
||||
// Wrong digest:
|
||||
BEAST_EXPECT(!verifyDigest (keypair.first,
|
||||
BEAST_EXPECT(!verifyDigest (pk,
|
||||
~digest, sig, true));
|
||||
|
||||
// Slightly change the signature:
|
||||
@@ -246,11 +246,11 @@ public:
|
||||
ptr[j % sig.size()]++;
|
||||
|
||||
// Wrong signature:
|
||||
BEAST_EXPECT(!verifyDigest (keypair.first,
|
||||
BEAST_EXPECT(!verifyDigest (pk,
|
||||
digest, sig, true));
|
||||
|
||||
// Wrong digest and signature:
|
||||
BEAST_EXPECT(!verifyDigest (keypair.first,
|
||||
BEAST_EXPECT(!verifyDigest (pk,
|
||||
~digest, sig, true));
|
||||
}
|
||||
}
|
||||
@@ -260,10 +260,10 @@ public:
|
||||
{
|
||||
for (std::size_t i = 0; i < 32; i++)
|
||||
{
|
||||
auto const keypair = randomKeyPair (type);
|
||||
auto const [pk, sk] = randomKeyPair (type);
|
||||
|
||||
BEAST_EXPECT(keypair.first == derivePublicKey (type, keypair.second));
|
||||
BEAST_EXPECT(*publicKeyType (keypair.first) == type);
|
||||
BEAST_EXPECT(pk == derivePublicKey (type, sk));
|
||||
BEAST_EXPECT(*publicKeyType (pk) == type);
|
||||
|
||||
for (std::size_t j = 0; j < 32; j++)
|
||||
{
|
||||
@@ -274,11 +274,11 @@ public:
|
||||
crypto_prng());
|
||||
|
||||
auto sig = sign (
|
||||
keypair.first, keypair.second,
|
||||
pk, sk,
|
||||
makeSlice (data));
|
||||
|
||||
BEAST_EXPECT(sig.size() != 0);
|
||||
BEAST_EXPECT(verify(keypair.first,
|
||||
BEAST_EXPECT(verify(pk,
|
||||
makeSlice(data), sig, true));
|
||||
|
||||
// Construct wrong data:
|
||||
@@ -290,7 +290,7 @@ public:
|
||||
std::max_element (badData.begin(), badData.end()));
|
||||
|
||||
// Wrong data: should fail
|
||||
BEAST_EXPECT(!verify (keypair.first,
|
||||
BEAST_EXPECT(!verify (pk,
|
||||
makeSlice(badData), sig, true));
|
||||
|
||||
// Slightly change the signature:
|
||||
@@ -298,11 +298,11 @@ public:
|
||||
ptr[j % sig.size()]++;
|
||||
|
||||
// Wrong signature: should fail
|
||||
BEAST_EXPECT(!verify (keypair.first,
|
||||
BEAST_EXPECT(!verify (pk,
|
||||
makeSlice(data), sig, true));
|
||||
|
||||
// Wrong data and signature: should fail
|
||||
BEAST_EXPECT(!verify (keypair.first,
|
||||
BEAST_EXPECT(!verify (pk,
|
||||
makeSlice(badData), sig, true));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,23 +216,23 @@ public:
|
||||
{
|
||||
testcase ("Account keypair generation & signing (secp256k1)");
|
||||
|
||||
auto const keyPair = generateKeyPair (
|
||||
auto const [pk, sk] = generateKeyPair (
|
||||
KeyType::secp256k1,
|
||||
generateSeed ("masterpassphrase"));
|
||||
|
||||
BEAST_EXPECT(toBase58(calcAccountID(keyPair.first)) ==
|
||||
BEAST_EXPECT(toBase58(calcAccountID(pk)) ==
|
||||
"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh");
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountPublic, keyPair.first) ==
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountPublic, pk) ==
|
||||
"aBQG8RQAzjs1eTKFEAQXr2gS4utcDiEC9wmi7pfUPTi27VCahwgw");
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountSecret, keyPair.second) ==
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountSecret, sk) ==
|
||||
"p9JfM6HHi64m6mvB6v5k7G2b1cXzGmYiCNJf6GHPKvFTWdeRVjh");
|
||||
|
||||
auto sig = sign (keyPair.first, keyPair.second, makeSlice(message1));
|
||||
auto sig = sign (pk, sk, makeSlice(message1));
|
||||
BEAST_EXPECT(sig.size() != 0);
|
||||
BEAST_EXPECT(verify (keyPair.first, makeSlice(message1), sig));
|
||||
BEAST_EXPECT(verify (pk, makeSlice(message1), sig));
|
||||
|
||||
// Correct public key but wrong message
|
||||
BEAST_EXPECT(!verify (keyPair.first, makeSlice(message2), sig));
|
||||
BEAST_EXPECT(!verify (pk, makeSlice(message2), sig));
|
||||
|
||||
// Verify with incorrect public key
|
||||
{
|
||||
@@ -249,30 +249,30 @@ public:
|
||||
if (auto ptr = sig.data())
|
||||
ptr[sig.size() / 2]++;
|
||||
|
||||
BEAST_EXPECT(!verify (keyPair.first, makeSlice(message1), sig));
|
||||
BEAST_EXPECT(!verify (pk, makeSlice(message1), sig));
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
testcase ("Account keypair generation & signing (ed25519)");
|
||||
|
||||
auto const keyPair = generateKeyPair (
|
||||
auto const [pk, sk] = generateKeyPair (
|
||||
KeyType::ed25519,
|
||||
generateSeed ("masterpassphrase"));
|
||||
|
||||
BEAST_EXPECT(to_string(calcAccountID(keyPair.first)) ==
|
||||
BEAST_EXPECT(to_string(calcAccountID(pk)) ==
|
||||
"rGWrZyQqhTp9Xu7G5Pkayo7bXjH4k4QYpf");
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountPublic, keyPair.first) ==
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountPublic, pk) ==
|
||||
"aKGheSBjmCsKJVuLNKRAKpZXT6wpk2FCuEZAXJupXgdAxX5THCqR");
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountSecret, keyPair.second) ==
|
||||
BEAST_EXPECT(toBase58(TokenType::AccountSecret, sk) ==
|
||||
"pwDQjwEhbUBmPuEjFpEG75bFhv2obkCB7NxQsfFxM7xGHBMVPu9");
|
||||
|
||||
auto sig = sign (keyPair.first, keyPair.second, makeSlice(message1));
|
||||
auto sig = sign (pk, sk, makeSlice(message1));
|
||||
BEAST_EXPECT(sig.size() != 0);
|
||||
BEAST_EXPECT(verify (keyPair.first, makeSlice(message1), sig));
|
||||
BEAST_EXPECT(verify (pk, makeSlice(message1), sig));
|
||||
|
||||
// Correct public key but wrong message
|
||||
BEAST_EXPECT(!verify (keyPair.first, makeSlice(message2), sig));
|
||||
BEAST_EXPECT(!verify (pk, makeSlice(message2), sig));
|
||||
|
||||
// Verify with incorrect public key
|
||||
{
|
||||
@@ -289,7 +289,7 @@ public:
|
||||
if (auto ptr = sig.data())
|
||||
ptr[sig.size() / 2]++;
|
||||
|
||||
BEAST_EXPECT(!verify (keyPair.first, makeSlice(message1), sig));
|
||||
BEAST_EXPECT(!verify (pk, makeSlice(message1), sig));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user