chore(deps): update dependency btclib to v2023 #9

Open
renovate-bot wants to merge 1 commit from renovate/btclib-2023.x into master
Collaborator

This PR contains the following updates:

Package Change Age Confidence
btclib (source) ==2020.5.11==2023.7.12 age confidence

Release Notes

btclib-org/btclib (btclib)

v2023.7.12

Compare Source

This is the last release supporting py37.

Major changes include:

  • added first draft implementation of descriptors
  • added first draft implementation of script engine
  • added taproot psbt fields
  • improved bip32 derivation (speeded-up, added one more test)
  • supported py3.12 with btclib_libsecp256k1
  • updated toolchain

v2023.5.30

Compare Source

Major changes include:

  • Fix circular import between script and b32

v2023.2.3

Compare Source

Major changes include:

  • enabled libsecp256k1 by default
  • improved documentation
  • used generic containers (Sequence instead of list, Mapping instead of dict)
    where possible

v2023.1.17

Compare Source

Major changes include:

  • exported names per module (bip32, block, ec, ecc, mnemonic, psbt, script, tx)
  • added join_psbts and join_txs
  • refactored bip340_nonce
  • improved integration of libsecp256k1
  • added secp256k1-py test vectors
  • improved typing
  • added SECURITY, CONTRIBUTING, bug report and feature request templates
  • added pre-commit hooks
  • adopted mypy --strict and from __future__ import annotations

v2022.12.31

Compare Source

Major changes include:

  • add support for PSBT's taproot fields (bip370)
  • added support for Python 3.11
  • fixed the OpenSSL 3.x RIPEMD160 issue in btclib/hashes.py
  • added CONTRIBUTING and SECURITY
  • solved issue #​73
    Re-import Tx subclasses into btclib.tx

v2022.7.20

Compare Source

Major changes include:

  • by default ssa, dsa and point multiplication are now sped up
    using btclib_libsecp256k1; this provides an 8 times speed up
    in benchmarks and 3 times in real world applications.

v2022.5.3

Compare Source

Major changes includes:

  • dropped python 3.6 support
  • added support for btclib_libsecp256k1
  • the hashes.fingerprint function, removed in the previous version,
    has been reinstated in the to_pub_key module
  • encode_num and decode_num have been moved from script.op_codes to utils
  • op_pushdata and op_str have been renamed to
    serialize_bytes_command and serialize_str_command
  • script.op_codes has been removed and its functions merged in script
  • script serialization is now more consistent: all integers, even small
    ones, are now considered like bytes. To put small integers on the stack
    OP_X must be used explicitly. Using integers directly will lead to larger
    scripts that will be likely to be rejected by the network as not standard
  • check_validity is now correctly propagated inside each function

v2022.2.9

Compare Source

This is the latest release to support python 3.6

Major changes includes:

  • added bech32m
  • added Taproot support
  • introduced ScriptPubKey class
  • used script_type instead of prefix/wit_ver for b58/b32 address functions
  • split up op_int in op_num and op_int
  • prevented bip32 account derivation with arbitrarily high index
  • ensured der.Sig.r is congruent to a valid x-coordinate
  • renamed ScriptToken as Command
  • moved witness and script_pub_key into script folder
  • removed dataclasses_json dependency
  • introduced submodules
  • renamed Tx.tx_id as Tx.id
  • renamed deserialize as parse
  • renamed signature functions: trailing underscore marks hash-reduced versions
  • updated BIP32 test vectors
  • moved continuous testing from TravisCI to Github Actions
  • simplified configuration files
  • fixed pylint and flake8 warnings

v2020.12.19

Compare Source

Major changes includes:

  • added secp256k1 point multiplication based on efficient endomorphism
  • fixed ssa batch verification functions' logic
  • enforced snake_case variable naming convention,
    e.g. 'script_pub_key', etc.
  • added BIP32KeyOrigin, BIP32KeyPath, and BIP32KeyPaths
  • adopted str instead of bytes as default type
    for BIP32 keys, bms sigs, PSBTs, addresses, and WIFs;
    base58 and bech32 encodings keep returning bytes, like base64
  • cleaned up and refactored all dataclasses,
    now using serialize/deserialized and
    possibly b58encode/b58decode, b64encode/b64decode, etc.
  • renamed TxIn.witness as TxIn.script_witness
  • fixed Witness management in TxIn and Tx, including equality operator
  • consolidated sig_hash code into sig_hash module
  • added more script_pub_key functions: assert_p2pkh, is_p2pkh, etc.

v2020.11.23

Compare Source

Major changes includes:

  • updated BIP340 (Schnorr signature) implementation
    as per the latest changes in bitcoin core
  • refactored PsbtIn, PsbtOut, and Psbt
  • added legacy sighash
  • made btclib compatible with python 3.6
  • ssa.det_nonce now returns an int
  • moved tagged_hash from ssa into hashes module
  • added CurveGroup._y_aff_from_jac and removed unused methods
  • discontinued y_odd in favor of y_even as y-simmetry tiebreaker criterium
  • removed nonce input from dsa.sign and ssa.sign (only available from _sign functions)
  • cleaned up Exception handling, avoided bare/broad except
  • introduced btclib Exceptions that can be discriminated from regular Exceptions

v2020.11.10

Compare Source

Major changes includes:

  • removed TypedDict in favor of dataclass;
    this also restored the ability of using btclib with python 3.7
  • introduced dataclasses_json as requirement, used to
    serialize to file the json representation of dataclasses
  • Network is now a dataclass
  • bip32: BIP32KeyData is now a dataclass instead of dict, its data member
    have to be accessed accordingly. Consequently, where previously it was
    bip32.deserialize(xkey), now it is bip32.BIP32KeyData.deserialize(xkey)
  • bip32: added str_from_bip32_path and bytes_from_bip32_path
  • bip3: made bip32 index an int (not bytes) to avoid byteorder ambiguity.
    Consequently, where previously it was xkey_dict["index"][0] < 0x80,
    now it is xkey_dict.index < 0x80000000
  • bip32: local "./" derivation, opposed to absolute "m/" derivation,
    is not available anymore
  • bip32: indexes_from_bip32_path now returns list[int] instead of
    Tuple[list[bytes], bool] losing the "absolute derivation" bool
  • bms: serialize/deserialize have been renamed encode/decode as they
    include the base64 (de)encoding, not jut the plain (de)serialization
  • Block: fixed bug in difficulty calculation
  • introduced first beta version of HdKeyPaths, PartialSigs, PsbtIn,
    PsbtOut, and Psbt data classes and their associated helper functions
  • refactored Diffie-Hellman and ANSI-X9.63-KDF
  • introduced assorted elliptic curve point multiplication
    algorithms
  • script: renamed Token as ScriptToken
  • script: encode/decode have been renamed as serialize/deserialize
    as they were not encoding at all; the previous serialize/deserialize
    which had varint(len()) before serialized data are not available anymore
  • alias: few definitions have moved in their relevant modules from which
    they can be imported
  • pytest: enforced pytest > 6
  • pytest: using as many processes as the available CPU cores

v2020.8.21

Compare Source

Major changes includes:

  • added BlockHeader and Block data classes
  • added OutPoint, TxIn, TxOut, and TX data classes
  • added segwit_v0 sighash
  • added PsbtIn, PbstOut, and Psbt data classes for
    partially signed bitcoin transactions (BIP174)
  • moved from unitest to pytest, including revision
    of error messages and tests' logic

Configuration

📅 Schedule: Branch creation - "after 3am every weekday,every weekend" in timezone Europe/Amsterdam, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [btclib](https://btclib.org) ([source](https://github.com/btclib-org/btclib)) | `==2020.5.11` → `==2023.7.12` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/btclib/2023.7.12?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/btclib/2020.5.11/2023.7.12?slim=true) | --- ### Release Notes <details> <summary>btclib-org/btclib (btclib)</summary> ### [`v2023.7.12`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v2023712) [Compare Source](https://github.com/btclib-org/btclib/compare/v2023.5.30...v2023.7.12) This is the last release supporting py37. Major changes include: - added first draft implementation of descriptors - added first draft implementation of script engine - added taproot psbt fields - improved bip32 derivation (speeded-up, added one more test) - supported py3.12 with btclib\_libsecp256k1 - updated toolchain ### [`v2023.5.30`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v2023530) [Compare Source](https://github.com/btclib-org/btclib/compare/v2023.2.3...v2023.5.30) Major changes include: - Fix circular import between `script` and `b32` ### [`v2023.2.3`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v202323) [Compare Source](https://github.com/btclib-org/btclib/compare/v2023.1.17...v2023.2.3) Major changes include: - enabled libsecp256k1 by default - improved documentation - used generic containers (Sequence instead of list, Mapping instead of dict) where possible ### [`v2023.1.17`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v2023117) [Compare Source](https://github.com/btclib-org/btclib/compare/v2022.12.31...v2023.1.17) Major changes include: - exported names per module (bip32, block, ec, ecc, mnemonic, psbt, script, tx) - added join\_psbts and join\_txs - refactored bip340\_nonce - improved integration of libsecp256k1 - added secp256k1-py test vectors - improved typing - added SECURITY, CONTRIBUTING, bug report and feature request templates - added pre-commit hooks - adopted *mypy --strict* and *from \_\_future\_\_ import annotations* ### [`v2022.12.31`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v20221231) [Compare Source](https://github.com/btclib-org/btclib/compare/v2022.7.20...v2022.12.31) Major changes include: - add support for PSBT's taproot fields (bip370) - added support for Python 3.11 - fixed the OpenSSL 3.x RIPEMD160 issue in btclib/hashes.py - added CONTRIBUTING and SECURITY - solved issue [#&#8203;73](https://github.com/btclib-org/btclib/issues/73) [Re-import Tx subclasses into btclib.tx](https://github.com/btclib-org/btclib/issues/73) ### [`v2022.7.20`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v2022720) [Compare Source](https://github.com/btclib-org/btclib/compare/v2022.5.3...v2022.7.20) Major changes include: - by default ssa, dsa and point multiplication are now sped up using btclib\_libsecp256k1; this provides an 8 times speed up in benchmarks and 3 times in real world applications. ### [`v2022.5.3`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v202253) [Compare Source](https://github.com/btclib-org/btclib/compare/v2022.2.9...v2022.5.3) Major changes includes: - dropped python 3.6 support - added support for btclib\_libsecp256k1 - the hashes.fingerprint function, removed in the previous version, has been reinstated in the to\_pub\_key module - encode\_num and decode\_num have been moved from script.op\_codes to utils - op\_pushdata and op\_str have been renamed to serialize\_bytes\_command and serialize\_str\_command - script.op\_codes has been removed and its functions merged in script - script serialization is now more consistent: all integers, even small ones, are now considered like bytes. To put small integers on the stack OP\_X must be used explicitly. Using integers directly will lead to larger scripts that will be likely to be rejected by the network as not standard - check\_validity is now correctly propagated inside each function ### [`v2022.2.9`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v202229) [Compare Source](https://github.com/btclib-org/btclib/compare/v2020.12.19...v2022.2.9) This is the latest release to support python 3.6 Major changes includes: - added bech32m - added Taproot support - introduced ScriptPubKey class - used script\_type instead of prefix/wit\_ver for b58/b32 address functions - split up op\_int in op\_num and op\_int - prevented bip32 account derivation with arbitrarily high index - ensured der.Sig.r is congruent to a valid x-coordinate - renamed ScriptToken as Command - moved witness and script\_pub\_key into script folder - removed dataclasses\_json dependency - introduced submodules - renamed Tx.tx\_id as Tx.id - renamed deserialize as parse - renamed signature functions: trailing underscore marks hash-reduced versions - updated BIP32 test vectors - moved continuous testing from TravisCI to Github Actions - simplified configuration files - fixed pylint and flake8 warnings ### [`v2020.12.19`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v20201219) [Compare Source](https://github.com/btclib-org/btclib/compare/v2020.11.23...v2020.12.19) Major changes includes: - added secp256k1 point multiplication based on efficient endomorphism - fixed ssa batch verification functions' logic - enforced snake\_case variable naming convention, e.g. 'script\_pub\_key', etc. - added BIP32KeyOrigin, BIP32KeyPath, and BIP32KeyPaths - adopted str instead of bytes as default type for BIP32 keys, bms sigs, PSBTs, addresses, and WIFs; base58 and bech32 encodings keep returning bytes, like base64 - cleaned up and refactored all dataclasses, now using serialize/deserialized and possibly b58encode/b58decode, b64encode/b64decode, etc. - renamed TxIn.witness as TxIn.script\_witness - fixed Witness management in TxIn and Tx, including equality operator - consolidated sig\_hash code into sig\_hash module - added more script\_pub\_key functions: assert\_p2pkh, is\_p2pkh, etc. ### [`v2020.11.23`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v20201123) [Compare Source](https://github.com/btclib-org/btclib/compare/v2020.11.10...v2020.11.23) Major changes includes: - updated BIP340 (Schnorr signature) implementation as per the latest changes in bitcoin core - refactored PsbtIn, PsbtOut, and Psbt - added legacy sighash - made btclib compatible with python 3.6 - ssa.det\_nonce now returns an int - moved tagged\_hash from ssa into hashes module - added CurveGroup.\_y\_aff\_from\_jac and removed unused methods - discontinued y\_odd in favor of y\_even as y-simmetry tiebreaker criterium - removed nonce input from dsa.sign and ssa.sign (only available from \_sign functions) - cleaned up Exception handling, avoided bare/broad except - introduced btclib Exceptions that can be discriminated from regular Exceptions ### [`v2020.11.10`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v20201110) [Compare Source](https://github.com/btclib-org/btclib/compare/v2020.8.21...v2020.11.10) Major changes includes: - removed TypedDict in favor of dataclass; this also restored the ability of using btclib with python 3.7 - introduced dataclasses\_json as requirement, used to serialize to file the json representation of dataclasses - Network is now a dataclass - bip32: BIP32KeyData is now a dataclass instead of dict, its data member have to be accessed accordingly. Consequently, where previously it was bip32.deserialize(xkey), now it is bip32.BIP32KeyData.deserialize(xkey) - bip32: added str\_from\_bip32\_path and bytes\_from\_bip32\_path - bip3: made bip32 index an int (not bytes) to avoid byteorder ambiguity. Consequently, where previously it was xkey\_dict\["index"]\[0] < 0x80, now it is xkey\_dict.index < 0x80000000 - bip32: local "./" derivation, opposed to absolute "m/" derivation, is not available anymore - bip32: indexes\_from\_bip32\_path now returns list\[int] instead of Tuple\[list\[bytes], bool] losing the "absolute derivation" bool - bms: serialize/deserialize have been renamed encode/decode as they include the base64 (de)encoding, not jut the plain (de)serialization - Block: fixed bug in difficulty calculation - introduced first beta version of HdKeyPaths, PartialSigs, PsbtIn, PsbtOut, and Psbt data classes and their associated helper functions - refactored Diffie-Hellman and ANSI-X9.63-KDF - introduced assorted elliptic curve point multiplication algorithms - script: renamed Token as ScriptToken - script: encode/decode have been renamed as serialize/deserialize as they were not encoding at all; the previous serialize/deserialize which had varint(len()) before serialized data are not available anymore - alias: few definitions have moved in their relevant modules from which they can be imported - pytest: enforced pytest > 6 - pytest: using as many processes as the available CPU cores ### [`v2020.8.21`](https://github.com/btclib-org/btclib/blob/HEAD/HISTORY.md#v2020821) [Compare Source](https://github.com/btclib-org/btclib/compare/v2020.5.11...v2020.8.21) Major changes includes: - added BlockHeader and Block data classes - added OutPoint, TxIn, TxOut, and TX data classes - added segwit\_v0 sighash - added PsbtIn, PbstOut, and Psbt data classes for partially signed bitcoin transactions (BIP174) - moved from unitest to pytest, including revision of error messages and tests' logic </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3am every weekday,every weekend" in timezone Europe/Amsterdam, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
chore(deps): update dependency btclib to v2023
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
cd0930b2b3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/btclib-2023.x:renovate/btclib-2023.x
git switch renovate/btclib-2023.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff renovate/btclib-2023.x
git switch renovate/btclib-2023.x
git rebase master
git switch master
git merge --ff-only renovate/btclib-2023.x
git switch renovate/btclib-2023.x
git rebase master
git switch master
git merge --no-ff renovate/btclib-2023.x
git switch master
git merge --squash renovate/btclib-2023.x
git switch master
git merge --ff-only renovate/btclib-2023.x
git switch master
git merge renovate/btclib-2023.x
git push origin master
Sign in to join this conversation.
No description provided.