Nostrduino
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes
nostr::Utils Class Reference

#include <NostrUtils.h>

Static Public Member Functions

static void setUnixTimeSecondsProvider (std::function< unsigned long long()> timeSecondsProvider)
 
static void setRandomBytesProvider (std::function< bool(uint8_t *, size_t)> randomBytesProvider)
 
static void setLogger (std::function< void(const NostrString &)> logger)
 
static void log (const NostrString &message)
 
static long long unixTimeSeconds ()
 
static NostrString getNewSubscriptionId ()
 
static long int randomInt (long int min, long int max)
 
static bool fillRandom (uint8_t *output, size_t outputSize)
 
static NostrString getPublicKey (NostrString privKeyHex)
 
static bool jsonParse (const NostrString *json, JsonDocument *doc)
 
static void jsonStringify (JsonVariantConst source, NostrString *json)
 
static NostrString toHex (const uint8_t *array, size_t arraySize)
 
static bool decodeHexExact (const NostrString &input, uint8_t *output, size_t outputCapacity, size_t expectedBytes)
 
static bool decodeHexExact (const NostrString &input, uint8_t *output, size_t expectedBytes)
 
static NostrString hexToBase64 (NostrString hex)
 
static size_t fromHex (NostrString hex, uint8_t *output, size_t outputSize)
 
static size_t fromBase64 (const char *encoded, size_t encodedSize, uint8_t *output, size_t outputSize, uint8_t flags)
 
static bool ecdh (NostrString privKeyHex, NostrString pubKeyHex, uint8_t *out)
 
static size_t toBase64 (const uint8_t *array, size_t arraySize, char *output, size_t outputSize, uint8_t flags)
 
static size_t sha256 (NostrString message, uint8_t *hash)
 
static size_t sha256 (const uint8_t *message, size_t messageSize, uint8_t *hash)
 
static NostrString sign (NostrString privateKeyHex, uint8_t *message, size_t messageSize)
 
static NostrString sign (NostrString privateKeyHex, uint8_t *message, size_t messageSize, const uint8_t auxiliaryRandomness[32])
 
static bool verify (NostrString pubKeyHex, uint8_t *messageHash, NostrString signatureHex)
 
static NostrString base64ToHex (NostrString base64ToHex)
 
static void init ()
 
static void close ()
 

Static Public Attributes

static std::function< void(const NostrString &)> logger = nullptr
 
static unsigned long long subs = 0
 
static std::function< bool(uint8_t *, size_t)> randomBytesProvider = nullptr
 
static std::function< unsigned long long()> timeSecondsProvider = nullptr
 

Member Function Documentation

◆ base64ToHex()

NostrString Utils::base64ToHex ( NostrString  base64ToHex)
static

◆ close()

void Utils::close ( )
static

◆ decodeHexExact() [1/2]

bool Utils::decodeHexExact ( const NostrString input,
uint8_t output,
size_t  expectedBytes 
)
static

◆ decodeHexExact() [2/2]

bool Utils::decodeHexExact ( const NostrString input,
uint8_t output,
size_t  outputCapacity,
size_t  expectedBytes 
)
static

◆ ecdh()

bool Utils::ecdh ( NostrString  privKeyHex,
NostrString  pubKeyHex,
uint8_t out 
)
static

◆ fillRandom()

bool Utils::fillRandom ( uint8_t output,
size_t  outputSize 
)
static

◆ fromBase64()

size_t Utils::fromBase64 ( const char encoded,
size_t  encodedSize,
uint8_t output,
size_t  outputSize,
uint8_t  flags 
)
static

◆ fromHex()

size_t Utils::fromHex ( NostrString  hex,
uint8_t output,
size_t  outputSize 
)
static

◆ getNewSubscriptionId()

NostrString Utils::getNewSubscriptionId ( )
static

◆ getPublicKey()

NostrString Utils::getPublicKey ( NostrString  privKeyHex)
static

◆ hexToBase64()

NostrString Utils::hexToBase64 ( NostrString  hex)
static

◆ init()

void Utils::init ( )
static

◆ jsonParse()

bool Utils::jsonParse ( const NostrString json,
JsonDocument doc 
)
static

◆ jsonStringify()

void Utils::jsonStringify ( JsonVariantConst  source,
NostrString json 
)
static

◆ log()

void Utils::log ( const NostrString message)
static

◆ randomInt()

long int Utils::randomInt ( long int  min,
long int  max 
)
static

◆ setLogger()

void Utils::setLogger ( std::function< void(const NostrString &)>  logger)
static

◆ setRandomBytesProvider()

void Utils::setRandomBytesProvider ( std::function< bool(uint8_t *, size_t)>  randomBytesProvider)
static

◆ setUnixTimeSecondsProvider()

void Utils::setUnixTimeSecondsProvider ( std::function< unsigned long long()>  timeSecondsProvider)
static

◆ sha256() [1/2]

size_t Utils::sha256 ( const uint8_t message,
size_t  messageSize,
uint8_t hash 
)
static

◆ sha256() [2/2]

size_t Utils::sha256 ( NostrString  message,
uint8_t hash 
)
static

◆ sign() [1/2]

NostrString Utils::sign ( NostrString  privateKeyHex,
uint8_t message,
size_t  messageSize 
)
static

◆ sign() [2/2]

NostrString Utils::sign ( NostrString  privateKeyHex,
uint8_t message,
size_t  messageSize,
const uint8_t  auxiliaryRandomness[32] 
)
static

◆ toBase64()

size_t Utils::toBase64 ( const uint8_t array,
size_t  arraySize,
char output,
size_t  outputSize,
uint8_t  flags 
)
static

◆ toHex()

NostrString Utils::toHex ( const uint8_t array,
size_t  arraySize 
)
static

◆ unixTimeSeconds()

long long Utils::unixTimeSeconds ( )
static

◆ verify()

bool Utils::verify ( NostrString  pubKeyHex,
uint8_t messageHash,
NostrString  signatureHex 
)
static

Field Documentation

◆ logger

std::function< void(const NostrString &)> Utils::logger = nullptr
static

◆ randomBytesProvider

std::function< bool(uint8_t *, size_t)> Utils::randomBytesProvider = nullptr
static

◆ subs

unsigned long long Utils::subs = 0
static

◆ timeSecondsProvider

std::function< unsigned long long()> Utils::timeSecondsProvider = nullptr
static

The documentation for this class was generated from the following files: