New features: - ECDSA sign/verify with RFC 6979 deterministic nonce (HMAC-SHA256) - Schnorr BIP-340 sign/verify with tagged hashing & x-only pubkeys - Self-contained SHA-256 (header-only, no deps) - Scalar::inverse (Fermat's theorem), negate(), is_even() Build & tooling: - GitHub Actions CI: Linux (gcc-13/clang-17), Windows (MSVC), macOS - .clang-format + .editorconfig for code style - cmake/version.hpp.in auto-generated version header - CMake VERSION 1.0.0 -> 2.2.0 - Fixed install(TARGETS/EXPORT) — moved to cpu/ where target is defined - MSVC compatibility via SECP256K1_NO_INT128 generator expression - Fixed BUILD_TESTING standalone build Testing & benchmarks: - test_ecdsa_schnorr: 22 checks (SHA-256 NIST, inverse, ECDSA, Schnorr) - bench_ct: CT vs fast comparison for all primitives - 3 libFuzzer harnesses (field, scalar, point) - Desktop CLI example (examples/basic_usage) All 5 CTest targets pass (22/22 ECDSA+Schnorr checks).
61 lines
1.1 KiB
YAML
61 lines
1.1 KiB
YAML
---
|
|
Language: Cpp
|
|
BasedOnStyle: Google
|
|
|
|
# Indentation
|
|
IndentWidth: 4
|
|
TabWidth: 4
|
|
UseTab: Never
|
|
ContinuationIndentWidth: 4
|
|
NamespaceIndentation: None
|
|
IndentCaseLabels: true
|
|
IndentPPDirectives: AfterHash
|
|
|
|
# Line length
|
|
ColumnLimit: 120
|
|
|
|
# Braces
|
|
BreakBeforeBraces: Attach
|
|
AllowShortFunctionsOnASingleLine: Inline
|
|
AllowShortIfStatementsOnASingleLine: Never
|
|
AllowShortLoopsOnASingleLine: false
|
|
|
|
# Alignment
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
AlignOperands: true
|
|
AlignTrailingComments: true
|
|
|
|
# Includes
|
|
SortIncludes: CaseInsensitive
|
|
IncludeBlocks: Regroup
|
|
IncludeCategories:
|
|
# Project headers
|
|
- Regex: '^"secp256k1/'
|
|
Priority: 2
|
|
# Local headers
|
|
- Regex: '^"'
|
|
Priority: 3
|
|
# System headers
|
|
- Regex: '^<'
|
|
Priority: 1
|
|
|
|
# Spacing
|
|
SpaceAfterCStyleCast: false
|
|
SpaceBeforeParens: ControlStatements
|
|
SpacesInAngles: false
|
|
SpacesInParentheses: false
|
|
SpaceBeforeAssignmentOperators: true
|
|
|
|
# Other
|
|
PointerAlignment: Left
|
|
DerivePointerAlignment: false
|
|
ReflowComments: true
|
|
AllowAllParametersOfDeclarationOnNextLine: true
|
|
BinPackParameters: true
|
|
BinPackArguments: true
|
|
|
|
# C++20
|
|
Standard: c++20
|
|
...
|