Bip-utils

Latest version: v2.9.3

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

Scan your dependencies

Page 4 of 8

2.0.0

- 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

1.11.1

- Add missing *MANIFEST.in* file, that was preventing the package to be installed from *pip*

1.11.0

- 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`|

1.10.0

- 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`)

1.9.0

- Add support for AVAX (`Bip44Coins.AVAX_X_CHAIN`, `Bip44Coins.AVAX_C_CHAIN`, `Bip44Coins.AVAX_P_CHAIN`)

1.8.0

- Add python typing
- Make the code PEP8 compliant
- Some refactoring to break circular dependencies
- Fix documentation errors

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.