Skip to content

Releases: ebellocchia/bip_utils

Version 2.0.2

Choose a tag to compare

@ebellocchia ebellocchia released this 18 Oct 11:49
  • Add configuration files for flake8 and prospector
  • Fix all flake8 warnings
  • Fix the vast majority of prospector warnings
  • Remove all star imports (import *)

Version 2.0.1

Choose a tag to compare

@ebellocchia ebellocchia released this 13 Oct 12:56
  • Fix setup.py so that it doesn't include the tests folder in the final distribution

Version 2.0.0

Choose a tag to compare

@ebellocchia ebellocchia released this 13 Oct 08:48
  • Lots of improvements and new features:
    • Add implementation of SLIP-0010
    • Add support for nist256p1, ed25519, ed25519-blake2b and sr25519 curves
    • Add support for new coins based on the new curves (see below)
    • Add support for Substrate (Polkadot ecosystem) keys derivation and addresses generation
    • Add support for Monero mnemonic generation and validation
    • Add support for Monero keys derivation and addresses/subaddresses generation
    • Usage of coincurve library for secp256k1 curve (still possible to use ecdsa, anyway)
    • Better usage of private and public keys:
      • Improved and more complete class hierarchy and design
      • Easier construction (from bytes, from point, from object)
      • Possibility to pass as argument the key object in addition to key raw bytes (e.g. to methods of Bip and address classes)
      • Keys validation
      • Possibility to use both compressed/uncompressed public keys without the need of converting
    • General code refactoring and re-design to keep everything neat and tidy
  • New supported coins:
    • BIP44 coins:
      • Algorand
      • Elrond
      • Filecoin
      • Kusama (based on BIP44 and ed25519 SLIP-0010, like TrustWallet, it won't generate the same addresses of Polkadot-JS)
      • Monero (based on BIP44 and secp256k1 or ed25519 SLIP-0010, it won't generate the same addresses of the official wallets but it supports subaddresses generation)
      • Nano
      • NEO
      • Ontology
      • Polkadot (based on BIP44 and ed25519 SLIP-0010, like TrustWallet, it won't generate the same addresses of Polkadot-JS)
      • Solana
      • Stellar
      • Tezos
      • Theta Network
      • Zilliqa
    • Substrate coins (based on the official wallet, e.g. Polkadot-JS):
      • Acala
      • Bifrost
      • Chainx
      • Edgeware
      • Karura
      • Kusama
      • Moonbeam
      • Moonriver
      • Phala Network
      • Plasm Network
      • Sora
      • Stafi
      • Polkadot
      • Generic Substrate coin
    • Monero (based on the official wallet)
  • Breaking changes:
    • Bip32 class does not exist anymore. It has been replaced by different classes depending on the underlying elliptic curve: Bip32Ed25519Slip, Bip32Ed25519Blake2bSlip, Bip32Nist256p1, Bip32Secp256k1
    • Bip49 and Bip84 now have their own coin types: Bip49Coins and Bip84Coins
    • Bip39MnemonicValidator.GetEntropy method has been replaced by Bip39MnemonicDecoder.Decode method
    • The mnemonic in Bip39MnemonicValidator class is passed as argument to the methods instead of the constructor (e.g. Bip39MnemonicValidator(mnemonic).IsValid() -> Bip39MnemonicValidator().IsValid(mnemonic))
    • P2PKH, P2SH and P2WPKH address classes now have an "Addr" suffix (i.e. P2PKHAddr, P2SHAddr and P2WPKHAddr, same for BCH versions)
    • In address classes, the ToAddress method now is called EncodeKey (e.g. EthAddr.ToAddress -> EthAddr.EncodeKey) and the additional parameters shall be explicitly named
    • AtomBech32Decoder/AtomBech32Encoder is now simply called Bech32Decoder/Bech32Encoder
    • P2PKHAddr/P2SHAddr/P2WPKHAddr classes do not have anymore Bitcoin net versions as default parameter

Version 1.11.1

Choose a tag to compare

@ebellocchia ebellocchia released this 23 May 10:00
  • Add missing MANIFEST.in file, that was preventing the package to be installed from pip

Version 1.11.0

Choose a tag to compare

@ebellocchia ebellocchia released this 23 May 09:27
  • Add new BIP-0039 languages:
Language Enum
Chinese (simplified) Bip39Languages.CHINESE_SIMPLIFIED
Chinese (traditional) Bip39Languages.CHINESE_TRADITIONAL
Korean Bip39Languages.KOREAN
  • Add support for the following coins:
Coin Main net enum
Polygon Bip44Coins.POLYGON
Fantom Opera Bip44Coins.FANTOM_OPERA
Harmony One (Metamask address) Bip44Coins.HARMONY_ONE_METAMASK
Harmony One (Ethereum address) Bip44Coins.HARMONY_ONE_ETH
Harmony One (Cosmos address) Bip44Coins.HARMONY_ONE_ATOM
Huobi Chain Bip44Coins.HUOBI_CHAIN
OKEx Chain (Ethereum address) Bip44Coins.OKEX_CHAIN_ETH
OKEx Chain (Cosmos address) Bip44Coins.OKEX_CHAIN_ATOM
OKEx Chain (Old Cosmos address before mainnet upgrade) Bip44Coins.OKEX_CHAIN_ATOM_OLD

Version 1.10.0

Choose a tag to compare

@ebellocchia ebellocchia released this 04 May 19:36
e1277b9
  • Add support for Terra (Bip44Coins.TERRA)
  • Add support for different BIP-0039 languages:
Language Enum
English Bip39Languages.ENGLISH
Italian Bip39Languages.ITALIAN
French Bip39Languages.FRENCH
Spanish Bip39Languages.SPANISH
Portuguese Bip39Languages.PORTUGUESE
Czech Bip39Languages.CZECH
  • Breaking changes:
    • Bip39MnemonicGenerator is not a static class anymore but shall be constructed, for example:

      Bip39MnemonicGenerator().FromWordsNumber(words_num)
      Bip39MnemonicGenerator().FromEntropy(entropy_bytes)
      
    • Bip39MnemonicValidator.Validate now raises exceptions instead of returning a bool

    • Add Bip39MnemonicValidator.IsValid that validates a mnemonic returning bool (same as the old Bip39MnemonicValidator.Validate)

Version 1.9.0

Choose a tag to compare

@ebellocchia ebellocchia released this 26 Apr 20:12
  • Add support for AVAX (Bip44Coins.AVAX_X_CHAIN, Bip44Coins.AVAX_C_CHAIN, Bip44Coins.AVAX_P_CHAIN)

Version 1.8.0

Choose a tag to compare

@ebellocchia ebellocchia released this 25 Apr 18:43
  • Add python typing
  • Make the code PEP8 compliant
  • Some refactoring to break circular dependencies
  • Fix documentation errors

Version 1.7.0

Choose a tag to compare

@ebellocchia ebellocchia released this 10 Mar 11:38
  • Add support for Binance Smart Chain (Bip44Coins.BINANCE_SMART_CHAIN)
  • Rename Bip44Coins.BINANCE_COIN to Bip44Coins.BINANCE_CHAIN

Version 1.6.0

Choose a tag to compare

@ebellocchia ebellocchia released this 22 Oct 20:30
  • Add FromAddressPrivKey method for creating a Bip object from a private key related to an address
  • Merge pull request for adding Nine Chronicles Gold