Remove default ctors from SecretKey and PublicKey: (#4607)

* It is now an invariant that all constructed Public Keys are valid,
  non-empty and contain 33 bytes of data.
* Additionally, the memory footprint of the PublicKey class is reduced.
  The size_ data member is declared as static.
* Distinguish and identify the PublisherList retrieved from the local
  config file, versus the ones obtained from other validators.
* Fixes #2942
This commit is contained in:
Chenna Keshava B S
2024-03-05 09:02:53 -08:00
committed by GitHub
parent 97863e0b62
commit 62dae3c6c6
39 changed files with 545 additions and 349 deletions

View File

@@ -275,10 +275,12 @@ public:
}
// Try some random secret keys
std::array<SecretKey, 32> keys;
std::vector<SecretKey> keys;
keys.reserve(32);
for (std::size_t i = 0; i != keys.size(); ++i)
keys[i] = randomSecretKey();
for (std::size_t i = 0; i != keys.capacity(); ++i)
keys.emplace_back(randomSecretKey());
BEAST_EXPECT(keys.size() == 32);
for (std::size_t i = 0; i != keys.size(); ++i)
{