Skip to content

sgns::crypto::CryptoStoreImpl

#include <crypto_store_impl.hpp>

Inherits from sgns::crypto::CryptoStore

Public Functions

Name
~CryptoStoreImpl() override =default
CryptoStoreImpl(std::shared_ptr< ED25519Provider > ed25519_provider, std::shared_ptr< SR25519Provider > sr25519_provider, std::shared_ptr< Secp256k1Provider > secp256k1_provider, std::shared_ptr< Bip39Provider > bip39_provider, std::shared_ptr< CSPRNG > random_generator)
outcome::result< void > initialize(Path keys_directory)
ensures that keys directory exists
virtual outcome::result< ED25519Keypair > generateEd25519Keypair(KeyTypeId key_type, std::string_view mnemonic_phrase) override
generates ED25519 keypair and stores it in memory
virtual outcome::result< SR25519Keypair > generateSr25519Keypair(KeyTypeId key_type, std::string_view mnemonic_phrase) override
generates SR25519 keypair and stores it in memory
virtual ED25519Keypair generateEd25519Keypair(KeyTypeId key_type, const ED25519Seed & seed) override
generates ED25519 keypair and stores it in memory
virtual SR25519Keypair generateSr25519Keypair(KeyTypeId key_type, const SR25519Seed & seed) override
generates SR25519 keypair and stores it in memory
virtual outcome::result< ED25519Keypair > generateEd25519Keypair(KeyTypeId key_type) override
generates ED25519 keypair and stores it on disk
virtual outcome::result< SR25519Keypair > generateSr25519Keypair(KeyTypeId key_type) override
generates SR25519 keypair and stores it on disk
virtual outcome::result< ED25519Keypair > findEd25519Keypair(KeyTypeId key_type, const ED25519PublicKey & pk) const override
searches for key pair
virtual outcome::result< SR25519Keypair > findSr25519Keypair(KeyTypeId key_type, const SR25519PublicKey & pk) const override
searches for key pair
virtual ED25519Keys getEd25519PublicKeys(KeyTypeId key_type) const override
searches for ED25519 keys of specified type
virtual SR25519Keys getSr25519PublicKeys(KeyTypeId key_type) const override
searches for SR25519 keys of specified typeED

Additional inherited members

Public Types inherited from sgns::crypto::CryptoStore

Name
using boost::filesystem::path Path
using std::vector< ED25519PublicKey > ED25519Keys
using std::vector< SR25519PublicKey > SR25519Keys

Public Functions inherited from sgns::crypto::CryptoStore

Name
virtual ~CryptoStore() =default

Public Functions Documentation

function ~CryptoStoreImpl

~CryptoStoreImpl() override =default

function CryptoStoreImpl

CryptoStoreImpl(
    std::shared_ptr< ED25519Provider > ed25519_provider,
    std::shared_ptr< SR25519Provider > sr25519_provider,
    std::shared_ptr< Secp256k1Provider > secp256k1_provider,
    std::shared_ptr< Bip39Provider > bip39_provider,
    std::shared_ptr< CSPRNG > random_generator
)

function initialize

outcome::result< void > initialize(
    Path keys_directory
)

ensures that keys directory exists

Parameters:

  • keys_directory keys directory

Return: success if exists or managed to create, failure otherwise

function generateEd25519Keypair

virtual outcome::result< ED25519Keypair > generateEd25519Keypair(
    KeyTypeId key_type,
    std::string_view mnemonic_phrase
) override

generates ED25519 keypair and stores it in memory

Parameters:

  • key_type key type identifier
  • mnemonic_phrase mnemonic phrase

Return: generated key pair or error

Reimplements: sgns::crypto::CryptoStore::generateEd25519Keypair

function generateSr25519Keypair

virtual outcome::result< SR25519Keypair > generateSr25519Keypair(
    KeyTypeId key_type,
    std::string_view mnemonic_phrase
) override

generates SR25519 keypair and stores it in memory

Parameters:

  • key_type key type identifier
  • mnemonic_phrase mnemonic phrase

Return: generated key pair or error

Reimplements: sgns::crypto::CryptoStore::generateSr25519Keypair

function generateEd25519Keypair

virtual ED25519Keypair generateEd25519Keypair(
    KeyTypeId key_type,
    const ED25519Seed & seed
) override

generates ED25519 keypair and stores it in memory

Parameters:

  • key_type key type identifier
  • seed seed for generating keys

Return: generated key pair

Reimplements: sgns::crypto::CryptoStore::generateEd25519Keypair

function generateSr25519Keypair

virtual SR25519Keypair generateSr25519Keypair(
    KeyTypeId key_type,
    const SR25519Seed & seed
) override

generates SR25519 keypair and stores it in memory

Parameters:

  • key_type key type identifier
  • seed seed for generating keys

Return: generated key

Reimplements: sgns::crypto::CryptoStore::generateSr25519Keypair

function generateEd25519Keypair

virtual outcome::result< ED25519Keypair > generateEd25519Keypair(
    KeyTypeId key_type
) override

generates ED25519 keypair and stores it on disk

Parameters:

  • key_type key type identifier

Return: generated key pair or error

Reimplements: sgns::crypto::CryptoStore::generateEd25519Keypair

function generateSr25519Keypair

virtual outcome::result< SR25519Keypair > generateSr25519Keypair(
    KeyTypeId key_type
) override

generates SR25519 keypair and stores it on disk

Parameters:

  • key_type key type identifier

Return: generated key pair or error

Reimplements: sgns::crypto::CryptoStore::generateSr25519Keypair

function findEd25519Keypair

virtual outcome::result< ED25519Keypair > findEd25519Keypair(
    KeyTypeId key_type,
    const ED25519PublicKey & pk
) const override

searches for key pair

Parameters:

  • key_type key category
  • pk public key to look for

Return: found key pair if exists

Reimplements: sgns::crypto::CryptoStore::findEd25519Keypair

function findSr25519Keypair

virtual outcome::result< SR25519Keypair > findSr25519Keypair(
    KeyTypeId key_type,
    const SR25519PublicKey & pk
) const override

searches for key pair

Parameters:

  • key_type key category
  • pk public key to look for

Return: found key pair if exists

Reimplements: sgns::crypto::CryptoStore::findSr25519Keypair

function getEd25519PublicKeys

virtual ED25519Keys getEd25519PublicKeys(
    KeyTypeId key_type
) const override

searches for ED25519 keys of specified type

Parameters:

  • key_type key type identifier to look for

Return: vector of found public keys

Reimplements: sgns::crypto::CryptoStore::getEd25519PublicKeys

function getSr25519PublicKeys

virtual SR25519Keys getSr25519PublicKeys(
    KeyTypeId key_type
) const override

searches for SR25519 keys of specified typeED

Parameters:

  • key_type key type identifier to look for

Return: vector of found public keys

Reimplements: sgns::crypto::CryptoStore::getSr25519PublicKeys


Updated on 2026-03-04 at 13:10:43 -0800