Wallycore

Latest version: v1.4.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.4.0

Added

- tx: Add caching to signature hash generation/PSBT signing making signing faster.
- tx: Add support for generating Elements taproot signature hashes and signing Elements taproot inputs.
- descriptor: Add support for "tr()/rawtr()" keyspend-only taproot descriptors.
- descriptor: Add support for parsing Elements-core compatible descriptors, including taproot.
- psbt: Add accessors for keypath/taproot related fields.
- pset: Add support for ELIP-101 genesis hash.
- psbt: Add support for serializing/parsing/combining signature-only PSBTs.
- script: Add support for generating Elements p2tr scripts.
- BIP85: Add support for deriving RSA keys via BIP85.
- base64/psbt: Add support for parsing from known length (non-NUL terminated) strings.
- build: Add Debian Bookworm docker build image.

Changed

- tx: Re-implement signature hash generation to use less stack space and CPU independently of caching.
- amalgamation: Provide the amalgamated build as a single source file, make it simpler to use.
- build: CI improvements: New valgrind, scan-build and ubsan/addrcheck/etc builds. Add CI/test runs
for builds with elements support disabled.
- build: Update/extend tests to make it easier to catch errors in the new CI builds.

Fixed

- psbt: Fix detection of expired CSV inputs for v0 PSBTs.
- psbt: Fix finalization of non-optimized CSV inputs (e.g. Green Liquid 2of2).
- tx: Fix incorrect sighash masking for BTC taproot inputs.
- build: Various fixes and test improvements for non-Elements builds.
- Various minor code and build fixes.

1.3.1

Added

- Elements: Add `wally_tx_get_elements_weight_discount` for computing ELIP-0200 weight discounts.

Changed

- Update JS dependencies.

Fixed

- Minor build/CI fixes.

1.3.0

Added

- script: Add support for fetching the CSV block count for Green CSV scripts.
- psbt_finalize: Add support for finalizing Green CSV inputs.

Changed

- PSBT: Do not serialize witness data for input non-witness UTXOs, in
order to match the current behaviour of Bitcoin core.

Fixed
- psbt_sign_bip32: Fix signing with parent/master keys. Only already-derived
keys would result in signed inputs previously.
- PSET: Allow signing pre-segwit inputs.
- PSET: Allow generating explicit proofs for inputs with only a non-witness UTXO.
- wally_scriptpubkey_get_type: Mark all scripts starting with OP_RETURN as
WALLY_SCRIPT_TYPE_OP_RETURN.

1.2.0

Added

- Python: Add Python 3.12 wheels to the binary releases/PyPI.
- tx: expose `wally_tx_input_clone`/`wally_tx_input_clone` for input cloning.
- Build: Add new static analysis CI runs.

Changed

- Javascript: The npm build now uses nodejs 20, as nodejs 16 is end-of-life.
- Android: Update android NDK to version 26b.
- libsecp256k1-zkp: The library has been updated to include the latest
changes to its cmake infrastructure.
- cmake: Now takes advantage of the new libsecp256k1-zkp cmake files to build
experimental modules and export the project in cmake style. cmake now also
builds test and collects coverage data.

Fixed

- Build: Don't use `which` on Debian as it is now deprecated.
- Various bug fixes from static analysis.
- Various build and documentation fixes.

1.1.0

Added

- PSBT: Allow extracting partially finalized transactions in `wally_psbt_extract`
by passing a new `WALLY_PSBT_EXTRACT_OPT_FINAL` flag.
- tx: Allow getting the number of items in a transactions input witness via
`wally_tx_input_get_witness_num_items`/`wally_tx_get_input_witness_num_items`.

Changed

Fixed

- tx: tx_input_get_witness now correctly returns 0 bytes written if passed a
NULL input.

1.0.0

This release contains ABI changes; it is not ABI compatibile with prior versions.

Added

- The library version number is now available as compile time constants
(`WALLY_MAJOR_VER`, `WALLY_MINOR_VER`, `WALLY_PATCH_VER`, `WALLY_BUILD_VER`),
and at runtime via `wally_get_build_version`.
- Added support for wallet policies (https://github.com/bitcoin/bips/pull/1389).
- Added support for iterating and querying keys in descriptor/policy
expressions, including support for key origin information such as
fingerprint and path.
- The library allocation functions (which may be overridden by the caller
at runtime) are now exposed as wally_[malloc|calloc|free|strdup|strdump_n].
Libraries using wally that wish to respect the callers allocation strategy
can use these to avoid having to expose their own customizable allocator.
- Added support for encrypted request/response protocols using ephemeral keys
via aes_cbc_with_ecdh_key().
- The PyPI wheel uploads now include an sdist source distribution, allowing
install on otherwise-unsupported architectures.

Changed

- The library now follows semantic versioning as per https://semver.org/.
- Elements support is now enabled by default, reflecting the common library
usage. Please see the `configure --help` entries for `--disable-elements`
and `--disable-elements-abi` for details.
- The ABI of the library is now consistent by default regardless of whether
it is built with or without Elements support.
- The constant EC_SIGNATURE_DER_MAX_LOW_R_LEN has been changed from 71 to 70,
to reflect that wally always produced low-R, low-S signatures when grinding.
- When configured to build as a static library, linking to libwallycore.a
requires additionally linking to libsecp256k1.a.
- Wally can now be configured to build against a system-wide libsecp256k1 by
passing `--with-system-secp256k1` to configure.
- The Python wheel can now be built with standard Python tooling such as `build`,
and can be built from an uploaded source distribution.
- The Python wheel can now be built with dynamic linking to libwallycore and
libsecp256k1-zkp/libsecp256k1.
- libsecp256k1-zkp has been updated to the lastest master version as at
the time of release.
- Some functions in the c++ header wally.hpp have changed interface slightly.
Note that this header is deprecated and will be replaced in an upcoming
release with higher level wrappers in the same manner as Python and JS.
- The docker-based builds have been streamlined and simplified. NPM builds in
particular are now much faster.

Fixed

- Fixed a bug affecting signing PSBT taproot inputs.
- Fixed extern libsecp256k1-zkp linkage for windows static builds.
- Several build fixes/improvements and CI updates have been made.

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.