Now that libsecp256k1 has a release (https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-December/021271.html), update the subtree to match it.
The changes themselves are not very impactful for Bitcoin Core, but include:
- It’s no longer needed to specify whether contexts are for signing or verification or both (all contexts support everything), so make use of that in this PR.
- Verification operations can use the static context now, removing the need for some infrastructure in pubkey.cpp to make sure a context exists.
- Most modules are now enabled by default, so we can drop explicit enabling for them.
- CI improvements (in particular, MSVC and more recent MacOS)
- Introduction of an internal int128 type, which has no effect for GCC/Clang builds, but enables 128-bit multiplication in MSVC, giving a ~20% speedup there (but still slower than GCC/Clang).
- Release process changes (process documentation, changelog, …).