slip32
Module for SLIP32 extended key serialization/deserialization. Reference: https://github.com/satoshilabs/slips/blob/master/slip-0032.md
- class Slip32KeySerConst
Bases:
object
Class container for SLIP32 key serialize constants.
- STD_KEY_NET_VERSIONS: Slip32KeyNetVersions = <bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions object>
- class Slip32PrivateKeySerializer
Bases:
object
SLIP32 private key serializer class. It serializes private keys.
- static Serialize(priv_key: ~bip_utils.ecc.common.ikeys.IPrivateKey, path: ~typing.Union[str, ~bip_utils.bip.bip32.bip32_path.Bip32Path], chain_code: ~typing.Union[bytes, ~bip_utils.bip.bip32.bip32_key_data.Bip32ChainCode], key_net_ver: ~bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions = <bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions object>) str
Serialize a private key.
- Parameters:
priv_key (IPrivateKey object) – IPrivateKey object
path (str or Bip32Path object) – BIP32 path
chain_code (bytes or Bip32ChainCode object) – Chain code
key_net_ver (Slip32KeyNetVersions object, optional) – Key net versions (SLIP32 net version by default)
- Returns:
Serialized private key
- Return type:
str
- class Slip32PublicKeySerializer
Bases:
object
SLIP32 public key serializer class. It serializes public keys.
- static Serialize(pub_key: ~bip_utils.ecc.common.ikeys.IPublicKey, path: ~typing.Union[str, ~bip_utils.bip.bip32.bip32_path.Bip32Path], chain_code: ~typing.Union[bytes, ~bip_utils.bip.bip32.bip32_key_data.Bip32ChainCode], key_net_ver: ~bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions = <bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions object>) str
Serialize a public key.
- Parameters:
pub_key (IPublicKey object) – IPublicKey object
path (str or Bip32Path object) – BIP32 path
chain_code (bytes or Bip32ChainCode object) – Chain code
key_net_ver (Slip32KeyNetVersions object, optional) – Key net versions (SLIP32 net version by default)
- Returns:
Serialized public key
- Return type:
str
- class Slip32DeserializedKey(key_bytes: bytes, path: Bip32Path, chain_code: Bip32ChainCode, is_public: bool)
Bases:
object
SLIP32 deserialized key class. It represents a key deserialized with the Slip32KeyDeserializer.
- m_key_bytes: bytes
- m_chain_code: Bip32ChainCode
- m_is_public: bool
- KeyBytes() bytes
Get key bytes.
- Returns:
Key bytes
- Return type:
bytes
- ChainCode() Bip32ChainCode
Get chain code.
- Returns:
Bip32ChainCode object
- Return type:
Bip32ChainCode object
- IsPublic() bool
Get if public.
- Returns:
True if the key is public, false otherwise
- Return type:
bool
- class Slip32KeyDeserializer
Bases:
object
SLIP32 key deserializer class. It deserializes an extended key.
- classmethod DeserializeKey(ser_key_str: str, key_net_ver: ~bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions = <bip_utils.slip.slip32.slip32_key_net_ver.Slip32KeyNetVersions object>) Slip32DeserializedKey
Deserialize a key.
- Parameters:
ser_key_str (str) – Serialized key string
key_net_ver (Slip32KeyNetVersions object, optional) – Key net versions (SLIP32 net version by default)
- Returns:
Slip32DeserializedKey object
- Return type:
Slip32DeserializedKey object
- Raises:
ValueError – If the key net version is not valid