- Fix dependencies for Python 3.12
- Update Python versions
- Update
bip_utils
version dependency to 2.9.0
- Add support for Cardano (Byron and Shelley)
- Remove
CreateFromPrivatecKey
/CreateFromPublicKey
from BIP wallets
- Add support for official Algorand wallet
- Add support for Electrum V1 and V2 wallet
- Add
CreateFromPublicKey
for BIP wallets
- Add support to BIP-0086 (Bitcoin Taproot)
- Add configuration files for flake8 and prospector
- Fix all flake8 warnings
- Fix the vast majority of prospector warnings
- Remove all star imports (
import *
)
- Align to bip_utils v2.0.0, adding all the new supported coins
- Add possibility to construct wallets from private key bytes
- Add possibility to generate wallets for Substrate and Monero
- Breaking changes:
- All the old classes (except for
HdWalletSaver
) and enums starting withHdWallet
are renamed toHdWalletBip
to distinguish them from Substrate and Monero wallets (e.g.HdWalletFactory
->HdWalletBipFactory
,HdWallet
->HdWalletBip
) - Like bip_utils,
Bip49
andBip84
now have their own coin types:HdWalletBip49Coins
andHdWalletBip84Coins
- There is no need anymore to pass the specification as argument to the factory, since it will be got directly from the enum type (e.g.
HdWalletFactory(HdWalletCoins.LITECOIN, HdWalletSpecs.BIP49)
->HdWalletFactory(HdWalletBip49Coins.LITECOIN)
)
- All the old classes (except for
- Add new BIP-0039 languages:
Language | Enum |
---|---|
Chinese (simplified) | HdWalletWordsLanguages.CHINESE_SIMPLIFIED |
Chinese (traditional) | HdWalletWordsLanguages.CHINESE_TRADITIONAL |
Korean | HdWalletWordsLanguages.KOREAN |
- Add support for the following coins:
Coin | Main net |
---|---|
Polygon | HdWalletCoins.POLYGON |
Fantom Opera | HdWalletCoins.FANTOM_OPERA |
Harmony One (Metamask address) | HdWalletCoins.HARMONY_ONE_METAMASK |
Harmony One (Ethereum address) | HdWalletCoins.HARMONY_ONE_ETH |
Harmony One (Cosmos address) | HdWalletCoins.HARMONY_ONE_ATOM |
Huobi Chain | HdWalletCoins.HUOBI_CHAIN |
OKEx Chain (Ethereum address) | HdWalletCoins.OKEX_CHAIN_ETH |
OKEx Chain (Cosmos address) | HdWalletCoins.OKEX_CHAIN_ATOM |
OKEx Chain (Old Cosmos address before mainnet upgrade) | HdWalletCoins.OKEX_CHAIN_ATOM_OLD |
- Add support for Terra (
HdWalletCoins.TERRA
). - Add support for different BIP-0039 languages:
Language | Enum |
---|---|
English | HdWalletWordsLanguages.ENGLISH |
Italian | HdWalletWordsLanguages.ITALIAN |
French | HdWalletWordsLanguages.FRENCH |
Spanish | HdWalletWordsLanguages.SPANISH |
Portuguese | HdWalletWordsLanguages.PORTUGUESE |
Czech | HdWalletWordsLanguages.CZECH |
- Add Avalanche support (
HdWalletCoins.AVAX_C_CHAIN
,HdWalletCoins.AVAX_X_CHAIN
,HdWalletCoins.AVAX_P_CHAIN
)
- Add python typing to all classes
- Make code PEP8 compliant
- Fix documentation
- Add support for Binance Smart Chain (
HdWalletCoins.BINANCE_SMART_CHAIN
) - Rename
HdWalletCoins.BINANCE_COIN
toHdWalletCoins.BINANCE_CHAIN
- Add support for Ethereum Classic and VeChain
- Add support for Kava, IRIS Network and Binance Coin
- Add support for Zcash, Cosmos and Band Protocol
- Add support for Tron
- Add support for Bitcoin Cash and BitcoinSV
- Update dependency to bip_utils 1.1.0
- Update code to support bip_utils library version 1.0.0
-
Add
HdWalletKeys
andHdWalletAddresses
classes for allowing an easier and better management of keys and addressesHdWalletKeys
is in charge of generating and storing keys, allowing to get them both as dictionary or string in JSON formatHdWalletAddresses
is in charge of generating and storing addresses, allowing to get them both as dictionary or string in JSON format
This allows a more "natural" use of keys and addresses, e.g.:
- Keys can be got individually by specifiying the key type
- It's possible to iterate over the addresses like an array and get and individual address by its index. Each address is a
HdWalletKeys
object, so it can be used as any other key.
- Refactor
HdWallet
class to split creation, generation and saving responsibilities:HdWalletFactory
is in charge of creatingHdWallet
instancesHdWalletSaver
is in charge of saving aHdWallet
instance to fileHdWallet
is now only in charge of generating keys and addresses- Add possibility to get the wallet data as JSON string
- Wallet data can be got by type using the
GetData
/HasData
methods and theHdWalletDataTypes
enum - Public key also output in uncompressed format
- Remove the possibility to load a wallet from file