Changes for version 4.002

  • Public interface changes
    • Bitcoin::Crypto::Key::Public:
      • added params argument to verify_message method
    • Bitcoin::Crypto::Key::Private:
      • added params argument to verify_message method
    • Bitcoin::Crypto::Script:
      • added push_number method
    • Bitcoin::Crypto::Script::Runner:
      • added flags attribute
    • Bitcoin::Crypto::Transaction:
      • added flags argument to get_digest method
      • added flags argument to verify method
    • added Bitcoin::Crypto::Transaction::Flags class
  • Improvements and behavior changes
    • transaction verification procedure can now be controlled using flags to achieve historical consensus rules
    • module no longer rejects unnormalized signatures with default flags (revert change made in 4.000)
    • deserializing a block no longer validates the coinbase transaction (revert change made in 4.001)
    • added autogenerated documentation of supported PSBT fields
  • Fixes
    • creating a key from unknown key data no longer raises undefined value warnings
    • coinbase transaction verification no longer checks height for version 2 and above blocks

Documentation

Module overview
Taproot support details
Transaction support details

Modules

Bitcoin cryptography in Perl
BIP44 (multi-account hierarchy) implementation
BIP85 (deterministic entropy) implementation
Base58 helpers
Bech32 implementation
Bitcoin block implementation
Path for BIP32 key derivation
Exception classes for Bitcoin::Crypto
Bitcoin extended private keys
Bitcoin extended public keys
"Nothing up my sleeve" key generator
Bitcoin private keys
Bitcoin public keys
Network management class
Partially Signed Bitcoin Transactions
Single field of a PSBT
Single map of a PSBT
Bitcoin Script instance
Bitcoin Script opcode
Bitcoin Script runner
BIP341 Script trees
Bitcoin script subclass for tapscripts
Bitcoin opcodes specific to tapscript
Bitcoin transaction instance
Result of digesting a transaction
Bitcoin transaction input instance
Bitcoin transaction output instance
Unspent transaction output instance
Bitcoin-specific data types
General Bitcoin utilities

Provides

in lib/Bitcoin/Crypto/Constants.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Helpers.pm
in lib/Bitcoin/Crypto/Key/Base.pm
in lib/Bitcoin/Crypto/Key/ExtBase.pm
in lib/Bitcoin/Crypto/Role/Compressed.pm
in lib/Bitcoin/Crypto/Role/Key.pm
in lib/Bitcoin/Crypto/Role/Network.pm
in lib/Bitcoin/Crypto/Role/ShallowClone.pm
in lib/Bitcoin/Crypto/Role/SignVerify.pm
in lib/Bitcoin/Crypto/Role/WithDerivationPath.pm
in lib/Bitcoin/Crypto/Script/Common.pm
in lib/Bitcoin/Crypto/Script/Recognition.pm
in lib/Bitcoin/Crypto/Script/Transaction.pm
in lib/Bitcoin/Crypto/Transaction/Digest.pm
in lib/Bitcoin/Crypto/Transaction/Digest/Config.pm
in lib/Bitcoin/Crypto/Transaction/Sign.pm