src/crypto/bip39/entropy_accumulator.hpp
Namespaces
Classes
Types
Functions
Types Documentation
enum Bip39EntropyError
| Enumerator |
Value |
Description |
| WRONG_WORDS_COUNT |
1 |
|
| STORAGE_NOT_COMPLETE |
|
|
| STORAGE_IS_FULL |
|
|
Functions Documentation
function OUTCOME_HPP_DECLARE_ERROR_2
OUTCOME_HPP_DECLARE_ERROR_2(
sgns::crypto::bip39 ,
Bip39EntropyError
)
Source code
#ifndef SUPERGENIUS_CRYPTO_BIP39_ENTROPY_HPP
#define SUPERGENIUS_CRYPTO_BIP39_ENTROPY_HPP
#include "outcome/outcome.hpp"
#include <bitset>
#include <vector>
namespace sgns::crypto::bip39 {
enum class Bip39EntropyError {
WRONG_WORDS_COUNT = 1,
STORAGE_NOT_COMPLETE,
STORAGE_IS_FULL,
};
struct EntropyToken : public std::bitset<11> {
using Parent = std::bitset<11>;
using Parent::bitset;
};
class EntropyAccumulator {
public:
static outcome::result<EntropyAccumulator> create(size_t words_count);
outcome::result<void> append(const EntropyToken &value);
outcome::result<std::vector<uint8_t>> getEntropy() const;
outcome::result<uint8_t> getChecksum() const;
outcome::result<uint8_t> calculateChecksum() const;
private:
EntropyAccumulator(size_t bits_count, size_t checksum_bits_count);
std::vector<uint8_t> bits_;
const size_t total_bits_count_;
const size_t checksum_bits_count_;
};
} // namespace sgns::crypto::bip39
OUTCOME_HPP_DECLARE_ERROR_2(sgns::crypto::bip39, Bip39EntropyError);
#endif // SUPERGENIUS_CRYPTO_BIP39_ENTROPY_HPP
Updated on 2026-03-04 at 13:10:44 -0800