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>
fa99e4521b6fc0e7f6636d40bc0d6a7325227374 ci: Allow CCACHE_DIR bind mount (MarcoFalke)
fa252da0b9cc6c7e795366ce4a1ddc4c198dff15 ci: Remove hardcoded CCACHE_DIR in cirrus (MarcoFalke)
fa146904e19e345714fd40fd2f0fbad8118957b9 ci: Bump default CCACHE_MAXSIZE to 500M (MarcoFalke)
aaaa7cf8bad0e125a67e996162271eb26bef4fb6 cirrus: Drop CCACHE_NOHASHDIR (MarcoFalke)
fa7ca182a9b0c65f567116b67108da14182e5338 ci: Print inner env (MarcoFalke)
Pull request description:
The outer env is printed when the `/tmp/env-$USER-$CONTAINER_NAME` is created. There is also a separate env printed when building the container image (usually with default values).
To confirm that the inner container env is correctly derived from the outer env, and not from the default build env, print it a third time.
ACKs for top commit:
l0rinc:
utACK fa99e4521b6fc0e7f6636d40bc0d6a7325227374
willcl-ark:
ACK fa99e4521b6fc0e7f6636d40bc0d6a7325227374
Tree-SHA512: 59fd3262d551e09224866e31c14ca865461e81abbe00b83391fe3a9c7ada30fd2fd0272e4aa812df2712433ac7594d1a55cf674248b341359cec09c8d3f0c58b