Commit Graph

5 Commits

Author SHA1 Message Date
TheCharlatan fcb0590623
kernel: Introduce initial kernel C header API
As a first step, implement the equivalent of what was implemented in the
now deprecated libbitcoinconsensus header. Also add a test binary to
exercise the header and library.

Unlike the deprecated libbitcoinconsensus the kernel library can now use
the hardware-accelerated sha256 implementations thanks for its
statically-initialzed context. The functions kept around for
backwards-compatibility in the libbitcoinconsensus header are not ported
over. As a new header, it should not be burdened by previous
implementations. Also add a new error code for handling invalid flag
combinations, which would otherwise cause a crash.

The macros used in the new C header were adapted from the libsecp256k1
header.

To make use of the C header from C++ code, a C++ header is also
introduced for wrapping the C header. This makes it safer and easier to
use from C++ code.

Co-authored-by: stickies-v <stickies-v@protonmail.com>
2025-10-08 18:58:29 +02:00
MarcoFalke faa3171ff2
ci: Use optimized Debug build type in test-each-commit 2025-07-14 09:35:03 +02:00
MarcoFalke fa21c3401e
ci: [doc] reword debug log message 2025-07-14 09:34:55 +02:00
fanquake 8f766f39df
ci: enable -Werror=dev
Turn developer & deprecation warnings into errors.
2025-07-11 13:59:29 +01:00
MarcoFalke fac60b9c48
ci: Rewrite test-each-commit as py script 2025-06-06 09:00:24 +02:00