SYMBOL INDEX (179 symbols across 14 files) FILE: cm_library_c_binding/build.py class Source (line 15) | class Source(NamedTuple): function gather_sources_from_directory (line 20) | def gather_sources_from_directory(directory: str) -> list[Source]: function mk_ffi (line 42) | def mk_ffi( FILE: cm_library_cffi_headers/compose_cffi_headers.py function remove_c_comments_emptylines (line 10) | def remove_c_comments_emptylines(text): function remove_c_includes (line 16) | def remove_c_includes(lines): function remove_special_defines (line 20) | def remove_special_defines(lines, defines): function apply_cffi_defines_syntax (line 24) | def apply_cffi_defines_syntax(lines): function remove_c_ifdef (line 28) | def remove_c_ifdef(lines): function concatenate_c_defines (line 51) | def concatenate_c_defines(lines): function remove_deprecated_functions (line 78) | def remove_deprecated_functions(lines, deprecation): function remove_function_attributes (line 113) | def remove_function_attributes(lines, attributes): function remove_header_guard (line 137) | def remove_header_guard(lines, keywords): function concatenate_c_struct (line 151) | def concatenate_c_struct(lines): function make_header_cffi_compliant (line 175) | def make_header_cffi_compliant(src_header_dir, src_header, cffi_dir): FILE: hatch_build.py class CustomBuildHook (line 13) | class CustomBuildHook(BuildHookInterface): method local_cffi_license (line 22) | def local_cffi_license(self) -> str: method get_cffi_distribution_license_files (line 26) | def get_cffi_distribution_license_files() -> list[PackagePath]: method initialize (line 37) | def initialize(self, version: str, build_data: dict[str, Any]) -> None... method finalize (line 51) | def finalize(self, version: str, build_data: dict[str, Any], artifact:... FILE: scripts/bench.py class BenchmarkSpec (line 24) | class BenchmarkSpec: method __init__ (line 27) | def __init__(self, setup: str, statement: str): class Benchmark (line 32) | class Benchmark(ABC): method name (line 35) | def name() -> str: method generate_key_pair (line 40) | def generate_key_pair() -> BenchmarkSpec: method sign (line 45) | def sign() -> BenchmarkSpec: method verify (line 50) | def verify() -> BenchmarkSpec: method key_export (line 55) | def key_export() -> BenchmarkSpec: method key_import (line 60) | def key_import() -> BenchmarkSpec: class CoincurveBenchmark (line 64) | class CoincurveBenchmark(Benchmark): method name (line 66) | def name() -> str: method generate_key_pair (line 70) | def generate_key_pair() -> BenchmarkSpec: method sign (line 81) | def sign() -> BenchmarkSpec: method verify (line 94) | def verify() -> BenchmarkSpec: method key_export (line 109) | def key_export() -> BenchmarkSpec: method key_import (line 121) | def key_import() -> BenchmarkSpec: class FastecdsaBenchmark (line 134) | class FastecdsaBenchmark(Benchmark): method name (line 136) | def name() -> str: method generate_key_pair (line 140) | def generate_key_pair() -> BenchmarkSpec: method sign (line 151) | def sign() -> BenchmarkSpec: method verify (line 164) | def verify() -> BenchmarkSpec: method key_export (line 178) | def key_export() -> BenchmarkSpec: method key_import (line 192) | def key_import() -> BenchmarkSpec: function generate_table (line 207) | def generate_table(rows: list[list[str]]): function main (line 222) | def main(): FILE: src/coincurve/context.py class Context (line 10) | class Context: method __init__ (line 11) | def __init__(self, seed: bytes | None = None, flag=CONTEXT_NONE, name:... method reseed (line 22) | def reseed(self, seed: bytes | None = None): method __repr__ (line 33) | def __repr__(self): FILE: src/coincurve/der.py function encode_length (line 66) | def encode_length(length: int) -> bytes: function encode_octet_string (line 77) | def encode_octet_string(value: bytes) -> bytes: function encode_bit_string (line 88) | def encode_bit_string(value: bytes, unused_bits: int = 0) -> bytes: function encode_der (line 100) | def encode_der(private_key: bytes, public_key: bytes | None = None) -> b... function decode_length (line 154) | def decode_length(data: bytes, offset: int) -> tuple[int, int]: function decode_der (line 181) | def decode_der(der_data: bytes) -> bytes: FILE: src/coincurve/ecdsa.py function cdata_to_der (line 16) | def cdata_to_der(cdata, context: Context = GLOBAL_CONTEXT) -> bytes: function der_to_cdata (line 25) | def der_to_cdata(der: bytes, context: Context = GLOBAL_CONTEXT): function recover (line 36) | def recover(message: bytes, recover_sig, hasher: Hasher = sha256, contex... function serialize_recoverable (line 50) | def serialize_recoverable(recover_sig, context: Context = GLOBAL_CONTEXT... function deserialize_recoverable (line 59) | def deserialize_recoverable(serialized: bytes, context: Context = GLOBAL... function serialize_compact (line 86) | def serialize_compact(raw_sig, context: Context = GLOBAL_CONTEXT): # no... function deserialize_compact (line 97) | def deserialize_compact(ser_sig: bytes, context: Context = GLOBAL_CONTEX... function signature_normalize (line 111) | def signature_normalize(raw_sig, context: Context = GLOBAL_CONTEXT): # ... function recoverable_convert (line 126) | def recoverable_convert(recover_sig, context: Context = GLOBAL_CONTEXT):... FILE: src/coincurve/keys.py class PrivateKey (line 28) | class PrivateKey: method __init__ (line 29) | def __init__(self, secret: bytes | None = None, context: Context = GLO... method sign (line 43) | def sign(self, message: bytes, hasher: Hasher = sha256, custom_nonce: ... method sign_schnorr (line 78) | def sign_schnorr(self, message: bytes, aux_randomness: bytes = b"") ->... method sign_recoverable (line 126) | def sign_recoverable(self, message: bytes, hasher: Hasher = sha256, cu... method ecdh (line 163) | def ecdh(self, public_key: bytes) -> bytes: method add (line 186) | def add(self, scalar: bytes, update: bool = False) -> PrivateKey: # n... method multiply (line 219) | def multiply(self, scalar: bytes, update: bool = False) -> PrivateKey:... method to_hex (line 245) | def to_hex(self) -> str: method to_int (line 251) | def to_int(self) -> int: method to_pem (line 257) | def to_pem(self) -> bytes: method to_der (line 263) | def to_der(self) -> bytes: method from_hex (line 270) | def from_hex(cls, hexed: str, context: Context = GLOBAL_CONTEXT) -> Pr... method from_int (line 284) | def from_int(cls, num: int, context: Context = GLOBAL_CONTEXT) -> Priv... method from_pem (line 298) | def from_pem(cls, pem: bytes, context: Context = GLOBAL_CONTEXT) -> Pr... method from_der (line 312) | def from_der(cls, der: bytes, context: Context = GLOBAL_CONTEXT) -> Pr... method _update_public_key (line 325) | def _update_public_key(self): method __eq__ (line 332) | def __eq__(self, other) -> bool: method __hash__ (line 335) | def __hash__(self) -> int: class PublicKey (line 339) | class PublicKey: method __init__ (line 340) | def __init__(self, data: bytes | ffi.CData, context: Context = GLOBAL_... method from_secret (line 370) | def from_secret(cls, secret: bytes, context: Context = GLOBAL_CONTEXT)... method from_valid_secret (line 399) | def from_valid_secret(cls, secret: bytes, context: Context = GLOBAL_CO... method from_point (line 424) | def from_point(cls, x: int, y: int, context: Context = GLOBAL_CONTEXT)... method from_signature_and_message (line 439) | def from_signature_and_message( method combine_keys (line 464) | def combine_keys(cls, public_keys: list[PublicKey], context: Context =... method format (line 490) | def format(self, compressed: bool = True) -> bytes: # noqa: FBT001, F... method point (line 511) | def point(self) -> tuple[int, int]: method verify (line 518) | def verify(self, signature: bytes, message: bytes, hasher: Hasher = sh... method add (line 545) | def add(self, scalar: bytes, update: bool = False) -> PublicKey: # no... method multiply (line 575) | def multiply(self, scalar: bytes, update: bool = False) -> PublicKey: ... method combine (line 598) | def combine(self, public_keys: list[PublicKey], update: bool = False) ... method __eq__ (line 628) | def __eq__(self, other) -> bool: method __hash__ (line 631) | def __hash__(self) -> int: class PublicKeyXOnly (line 635) | class PublicKeyXOnly: method __init__ (line 636) | def __init__(self, data: bytes | ffi.CData, parity: bool = False, cont... method from_secret (line 663) | def from_secret(cls, secret: bytes, context: Context = GLOBAL_CONTEXT)... method from_valid_secret (line 690) | def from_valid_secret(cls, secret: bytes, context: Context = GLOBAL_CO... method format (line 716) | def format(self) -> bytes: method verify (line 735) | def verify(self, signature: bytes, message: bytes) -> bool: method tweak_add (line 757) | def tweak_add(self, scalar: bytes) -> None: method __eq__ (line 782) | def __eq__(self, other) -> bool: method __hash__ (line 786) | def __hash__(self) -> int: FILE: src/coincurve/utils.py function sha256 (line 30) | def sha256(bytestr: bytes) -> bytes: class __Nonce (line 35) | class __Nonce(tuple): # noqa: SLOT001 method __repr__ (line 36) | def __repr__(self) -> str: class __HasherSHA256 (line 39) | class __HasherSHA256: method __call__ (line 40) | def __call__(self, bytestr: bytes) -> bytes: method __repr__ (line 43) | def __repr__(self) -> str: function pad_hex (line 50) | def pad_hex(hexed: str) -> str: function bytes_to_int (line 55) | def bytes_to_int(bytestr: bytes) -> int: function int_to_bytes (line 59) | def int_to_bytes(num: int) -> bytes: function int_to_bytes_padded (line 63) | def int_to_bytes_padded(num: int) -> bytes: function hex_to_bytes (line 67) | def hex_to_bytes(hexed: str) -> bytes: function chunk_data (line 71) | def chunk_data(data: bytes, size: int) -> Generator[bytes, None, None]: function der_to_pem (line 75) | def der_to_pem(der: bytes) -> bytes: function pem_to_der (line 79) | def pem_to_der(pem: bytes) -> bytes: function get_valid_secret (line 83) | def get_valid_secret() -> bytes: function pad_scalar (line 90) | def pad_scalar(scalar: bytes) -> bytes: function validate_secret (line 94) | def validate_secret(secret: bytes) -> bytes: function verify_signature (line 101) | def verify_signature( FILE: tests/conftest.py function samples (line 59) | def samples(): FILE: tests/test_ecdsa.py function test_der (line 6) | def test_der(samples): FILE: tests/test_flags.py function test_context_flags (line 9) | def test_context_flags(): function test_context_none (line 16) | def test_context_none(): function test_ec_compressed (line 21) | def test_ec_compressed(): function test_ec_uncompressed (line 26) | def test_ec_uncompressed(): FILE: tests/test_keys.py class TestPrivateKey (line 19) | class TestPrivateKey: method test_public_key (line 20) | def test_public_key(self, samples): method test_xonly_pubkey (line 23) | def test_xonly_pubkey(self, samples): method test_signature_correct (line 28) | def test_signature_correct(self): method test_signature_deterministic (line 38) | def test_signature_deterministic(self, samples): method test_signature_invalid_hasher (line 41) | def test_signature_invalid_hasher(self, samples): method test_signature_recoverable (line 45) | def test_signature_recoverable(self, samples): method test_schnorr_signature (line 57) | def test_schnorr_signature(self): method test_to_hex (line 73) | def test_to_hex(self, samples): method test_to_int (line 76) | def test_to_int(self, samples): method test_to_pem (line 79) | def test_to_pem(self, samples): method test_to_der (line 82) | def test_to_der(self, samples): method test_from_hex (line 85) | def test_from_hex(self, samples): method test_from_int (line 88) | def test_from_int(self, samples): method test_from_pem (line 91) | def test_from_pem(self, samples): method test_from_der (line 94) | def test_from_der(self, samples): method test_ecdh (line 97) | def test_ecdh(self): method test_add (line 103) | def test_add(self): method test_add_update (line 106) | def test_add_update(self): method test_multiply (line 113) | def test_multiply(self): method test_multiply_update (line 116) | def test_multiply_update(self): class TestPublicKey (line 124) | class TestPublicKey: method test_from_secret (line 125) | def test_from_secret(self, samples): method test_from_point (line 128) | def test_from_point(self, samples): method test_from_signature_and_message (line 133) | def test_from_signature_and_message(self, samples): method test_format (line 139) | def test_format(self, samples): method test_point (line 147) | def test_point(self, samples): method test_verify (line 153) | def test_verify(self, samples): method test_transform (line 157) | def test_transform(self): method test_combine (line 164) | def test_combine(self): class TestXonlyPubKey (line 171) | class TestXonlyPubKey: method test_parse_invalid (line 172) | def test_parse_invalid(self, samples): method test_roundtrip (line 181) | def test_roundtrip(self, samples): method test_tweak (line 188) | def test_tweak(self): method test_parity (line 195) | def test_parity(self): FILE: tests/test_utils.py class TestPadScalar (line 22) | class TestPadScalar: method test_correct (line 23) | def test_correct(self): method test_pad_limit (line 26) | def test_pad_limit(self): method test_empty_scalar (line 30) | def test_empty_scalar(self): function test_get_valid_secret (line 34) | def test_get_valid_secret(): class TestValidateSecret (line 40) | class TestValidateSecret: method test_valid (line 41) | def test_valid(self): method test_bytes_greater_than_group_order (line 46) | def test_bytes_greater_than_group_order(self): method test_out_of_range (line 56) | def test_out_of_range(self): function test_bytes_int_conversion (line 64) | def test_bytes_int_conversion(): function test_bytes_int_conversion_padded (line 69) | def test_bytes_int_conversion_padded(): function test_der_conversion (line 74) | def test_der_conversion(samples): function test_verify_signature (line 78) | def test_verify_signature(samples): function test_chunk_data (line 83) | def test_chunk_data():