Skip to content

sgns::GeniusSigner

Owns a Genius keypair without imposing account persistence or lifecycle concerns. More...

#include <GeniusSigner.hpp>

Public Functions

Name
GeniusSigner Generate()
Generate a fresh, in-memory-only keypair.
bool VerifySignature(const std::string & address, std::string_view signature, const std::vector< uint8_t > & data)
Verify a canonical Genius signature.
bool VerifySignature(const std::string & address, const std::vector< uint8_t > & signature, const std::vector< uint8_t > & data)
Verify a canonical Genius signature supplied as bytes.
GeniusSigner(ethereum::EthereumKeyGenerator keypair)
Take ownership of an existing keypair.
std::string GetAddress() const
Return the 128-character hexadecimal Genius public address.
std::vector< uint8_t > Sign(const std::vector< uint8_t > & data) const
Sign bytes using the canonical Genius signature encoding.

Detailed Description

class sgns::GeniusSigner;

Owns a Genius keypair without imposing account persistence or lifecycle concerns.

GeniusAccount composes this type, while short-lived signing workflows can use it directly without touching secure storage.

Public Functions Documentation

function Generate

static GeniusSigner Generate()

Generate a fresh, in-memory-only keypair.

function VerifySignature

static bool VerifySignature(
    const std::string & address,
    std::string_view signature,
    const std::vector< uint8_t > & data
)

Verify a canonical Genius signature.

function VerifySignature

static bool VerifySignature(
    const std::string & address,
    const std::vector< uint8_t > & signature,
    const std::vector< uint8_t > & data
)

Verify a canonical Genius signature supplied as bytes.

function GeniusSigner

explicit GeniusSigner(
    ethereum::EthereumKeyGenerator keypair
)

Take ownership of an existing keypair.

function GetAddress

std::string GetAddress() const

Return the 128-character hexadecimal Genius public address.

function Sign

std::vector< uint8_t > Sign(
    const std::vector< uint8_t > & data
) const

Sign bytes using the canonical Genius signature encoding.


Updated on 2026-08-07 at 17:48:02 +0000