Skip to content

src/crypto/secp256k1_types.hpp

Namespaces

Name
sgns
sgns::crypto
sgns::crypto::secp256k1
sgns::crypto::secp256k1::constants
sgns::crypto::secp256k1::ecdsa_verify_error

Types

Name
using uint8_t EcdsaVerifyError
using base::Blob< constants::kCompressedPublicKeySize > CompressedPublicKey
using base::Blob< constants::kUncompressedPublicKeySize > UncompressedPublicKey
using base::Blob< constants::kGeneralPublicKeySize > PublicKey
using base::Blob< constants::kCompactSignatureSize > RSVSignature
using base::Hash256 MessageHash

Attributes

Name
size_t kUncompressedPublicKeySize
size_t kCompressedPublicKeySize
size_t kCompactSignatureSize
size_t kGeneralPublicKeySize
EcdsaVerifyError kInvalidRS
EcdsaVerifyError kInvalidV
EcdsaVerifyError kInvalidSignature

Types Documentation

using EcdsaVerifyError

using sgns::crypto::secp256k1::EcdsaVerifyError = uint8_t;

using CompressedPublicKey

using sgns::crypto::secp256k1::CompressedPublicKey = base::Blob<constants::kCompressedPublicKeySize>;

compressed form of public key

using UncompressedPublicKey

using sgns::crypto::secp256k1::UncompressedPublicKey = 
base::Blob<constants::kUncompressedPublicKeySize>;

uncompressed form of public key

using PublicKey

using sgns::crypto::secp256k1::PublicKey = base::Blob<constants::kGeneralPublicKeySize>;

truncated form of uncompressed public key

using RSVSignature

using sgns::crypto::secp256k1::RSVSignature = base::Blob<constants::kCompactSignatureSize>;

secp256k1 RSV-signature

using MessageHash

using sgns::crypto::secp256k1::MessageHash = base::Hash256;

32-byte sequence of bytes (presumably blake2s hash)

Attributes Documentation

variable kUncompressedPublicKeySize

static size_t kUncompressedPublicKeySize = 65u;

variable kCompressedPublicKeySize

static size_t kCompressedPublicKeySize = 33u;

variable kCompactSignatureSize

static size_t kCompactSignatureSize = 65u;

variable kGeneralPublicKeySize

static size_t kGeneralPublicKeySize = 64u;

variable kInvalidRS

static EcdsaVerifyError kInvalidRS = 0;

variable kInvalidV

static EcdsaVerifyError kInvalidV = 1;

variable kInvalidSignature

static EcdsaVerifyError kInvalidSignature = 2;

Source code

#ifndef SUPERGENIUS_SRC_CRYPTO_SECP256K1_TYPES_HPP
#define SUPERGENIUS_SRC_CRYPTO_SECP256K1_TYPES_HPP

#include "base/blob.hpp"

namespace sgns::crypto::secp256k1 {
  namespace constants {
    static constexpr size_t kUncompressedPublicKeySize = 65u;
    static constexpr size_t kCompressedPublicKeySize = 33u;
    static constexpr size_t kCompactSignatureSize = 65u;
    static constexpr size_t kGeneralPublicKeySize = 64u;
  }  // namespace constants

  using EcdsaVerifyError = uint8_t;
  namespace ecdsa_verify_error {
    static constexpr EcdsaVerifyError kInvalidRS = 0;
    static constexpr EcdsaVerifyError kInvalidV = 1;
    static constexpr EcdsaVerifyError kInvalidSignature = 2;
  }  // namespace ecdsa_verify_error

  using CompressedPublicKey = base::Blob<constants::kCompressedPublicKeySize>;

  using UncompressedPublicKey =
      base::Blob<constants::kUncompressedPublicKeySize>;

  using PublicKey = base::Blob<constants::kGeneralPublicKeySize>;

  using RSVSignature = base::Blob<constants::kCompactSignatureSize>;

  using MessageHash = base::Hash256;
}

#endif

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