summaryrefslogtreecommitdiff
path: root/python-hdwallets.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 03:38:28 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 03:38:28 +0000
commit6365971b2352fa4ae8882567154b649b181e7a05 (patch)
tree38379bec6f09f325ea1ba63da3aebfece75b3f65 /python-hdwallets.spec
parent8885d9499a7edf6ca98d13fc5cd9b49d4c1fdf7f (diff)
automatic import of python-hdwalletsopeneuler20.03
Diffstat (limited to 'python-hdwallets.spec')
-rw-r--r--python-hdwallets.spec415
1 files changed, 415 insertions, 0 deletions
diff --git a/python-hdwallets.spec b/python-hdwallets.spec
new file mode 100644
index 0000000..6ac081f
--- /dev/null
+++ b/python-hdwallets.spec
@@ -0,0 +1,415 @@
+%global _empty_manifest_terminate_build 0
+Name: python-hdwallets
+Version: 0.1.2
+Release: 1
+Summary: Python implementation of the BIP32 key derivation scheme
+License: BSD-3-Clause
+URL: https://github.com/hukkinj1/hdwallets
+Source0: https://mirrors.aliyun.com/pypi/web/packages/fd/29/3bc233a31c4ad135c83fc6a247e092571848b91eb052b31d04ecafdc85f3/hdwallets-0.1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-ecdsa
+
+%description
+[![PyPI version](https://img.shields.io/pypi/v/hdwallets)](https://pypi.org/project/hdwallets)
+[![Build Status](https://github.com/hukkinj1/hdwallets/workflows/Tests/badge.svg?branch=master)](https://github.com/hukkinj1/hdwallets/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush)
+[![codecov.io](https://codecov.io/gh/hukkinj1/hdwallets/branch/master/graph/badge.svg)](https://codecov.io/gh/hukkinj1/hdwallets)
+
+# hdwallets
+
+A basic implementation of the [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) specification for hierarchical deterministic wallets.
+
+A fork of https://github.com/darosior/python-bip32 with some notable changes:
+
+- [`base58`](https://pypi.org/project/base58/) dependency removed.
+ All interfaces input and output raw bytes instead of base58 strings.
+- Replaced [`coincurve`](https://pypi.org/project/coincurve/) dependency with [`ecdsa`](https://pypi.org/project/ecdsa/)
+- Distributes type information ([PEP 561](https://www.python.org/dev/peps/pep-0561/))
+
+## Usage
+
+```python
+>>> import base58
+>>> from hdwallets import BIP32, HARDENED_INDEX
+>>> bip32 = BIP32.from_seed(bytes.fromhex("01"))
+# Specify the derivation path as a list ...
+>>> bip32.get_xpriv_from_path([1, HARDENED_INDEX, 9998])
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+# ... Or in usual m/the/path/
+>>> bip32.get_xpriv_from_path("m/1/0'/9998")
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+>>> bip32.get_xpub_from_path([HARDENED_INDEX, 42])
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can also use "h" or "H" to signal for hardened derivation
+>>> bip32.get_xpub_from_path("m/0h/42")
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can use pubkey-only derivation
+>>> bip32 = BIP32.from_xpub(base58.b58decode_check("xpub6AKC3u8URPxDojLnFtNdEPFkNsXxHfgRhySvVfEJy9SVvQAn14XQjAoFY48mpjgutJNfA54GbYYRpR26tFEJHTHhfiiZZ2wdBBzydVp12yU"))
+>>> bip32.get_xpub_from_path([42, 43])
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_xpub_from_path("m/42/43")
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_pubkey_from_path("m/1/1/1/1/1/1/1/1/1/1/1")
+b'\x02\x0c\xac\n\xa8\x06\x96C\x8e\x9b\xcf\x83]\x0c\rCm\x06\x1c\xe9T\xealo\xa2\xdf\x195\xebZ\x9b\xb8\x9e'
+```
+
+## Installation
+
+```sh
+pip install hdwallets
+```
+
+## Interface
+
+All public keys below are compressed.
+
+All `path` below are a list of integers representing the index of the key at each depth.
+
+#### BIP32
+
+##### from\_seed(seed)
+
+__*staticmethod*__
+
+Instantiate from a raw seed (as `bytes`). See
+[bip-0032's master key generation](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#master-key-generation).
+
+##### from\_xpriv(xpriv)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended private key (as `str`) as master.
+
+##### from\_xpub(xpub)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended public key (as `str`) as master.
+
+You'll only be able to derive unhardened public keys.
+
+##### get\_extended\_privkey\_from\_path(path)
+
+Returns `(chaincode (bytes), privkey (bytes))` of the private key pointed by the path.
+
+##### get\_privkey\_from\_path(path)
+
+Returns `privkey (bytes)`, the private key pointed by the path.
+
+##### get\_extended\_pubkey\_from\_path(path)
+
+Returns `(chaincode (bytes), pubkey (bytes))` of the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_pubkey\_from\_path(path)
+
+Returns `pubkey (bytes)`, the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_xpriv\_from\_path(path)
+
+Returns `xpriv (str)` the serialized and encoded extended private key pointed by the given path.
+
+##### get\_xpub\_from\_path(path)
+
+Returns `xpub (str)` the serialized and encoded extended public key pointed by the given path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_master\_xpriv(path)
+
+Equivalent to `get_xpriv_from_path([])`.
+
+##### get\_master\_xpub(path)
+
+Equivalent to `get_xpub_from_path([])`.
+
+
+%package -n python3-hdwallets
+Summary: Python implementation of the BIP32 key derivation scheme
+Provides: python-hdwallets
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-hdwallets
+[![PyPI version](https://img.shields.io/pypi/v/hdwallets)](https://pypi.org/project/hdwallets)
+[![Build Status](https://github.com/hukkinj1/hdwallets/workflows/Tests/badge.svg?branch=master)](https://github.com/hukkinj1/hdwallets/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush)
+[![codecov.io](https://codecov.io/gh/hukkinj1/hdwallets/branch/master/graph/badge.svg)](https://codecov.io/gh/hukkinj1/hdwallets)
+
+# hdwallets
+
+A basic implementation of the [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) specification for hierarchical deterministic wallets.
+
+A fork of https://github.com/darosior/python-bip32 with some notable changes:
+
+- [`base58`](https://pypi.org/project/base58/) dependency removed.
+ All interfaces input and output raw bytes instead of base58 strings.
+- Replaced [`coincurve`](https://pypi.org/project/coincurve/) dependency with [`ecdsa`](https://pypi.org/project/ecdsa/)
+- Distributes type information ([PEP 561](https://www.python.org/dev/peps/pep-0561/))
+
+## Usage
+
+```python
+>>> import base58
+>>> from hdwallets import BIP32, HARDENED_INDEX
+>>> bip32 = BIP32.from_seed(bytes.fromhex("01"))
+# Specify the derivation path as a list ...
+>>> bip32.get_xpriv_from_path([1, HARDENED_INDEX, 9998])
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+# ... Or in usual m/the/path/
+>>> bip32.get_xpriv_from_path("m/1/0'/9998")
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+>>> bip32.get_xpub_from_path([HARDENED_INDEX, 42])
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can also use "h" or "H" to signal for hardened derivation
+>>> bip32.get_xpub_from_path("m/0h/42")
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can use pubkey-only derivation
+>>> bip32 = BIP32.from_xpub(base58.b58decode_check("xpub6AKC3u8URPxDojLnFtNdEPFkNsXxHfgRhySvVfEJy9SVvQAn14XQjAoFY48mpjgutJNfA54GbYYRpR26tFEJHTHhfiiZZ2wdBBzydVp12yU"))
+>>> bip32.get_xpub_from_path([42, 43])
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_xpub_from_path("m/42/43")
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_pubkey_from_path("m/1/1/1/1/1/1/1/1/1/1/1")
+b'\x02\x0c\xac\n\xa8\x06\x96C\x8e\x9b\xcf\x83]\x0c\rCm\x06\x1c\xe9T\xealo\xa2\xdf\x195\xebZ\x9b\xb8\x9e'
+```
+
+## Installation
+
+```sh
+pip install hdwallets
+```
+
+## Interface
+
+All public keys below are compressed.
+
+All `path` below are a list of integers representing the index of the key at each depth.
+
+#### BIP32
+
+##### from\_seed(seed)
+
+__*staticmethod*__
+
+Instantiate from a raw seed (as `bytes`). See
+[bip-0032's master key generation](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#master-key-generation).
+
+##### from\_xpriv(xpriv)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended private key (as `str`) as master.
+
+##### from\_xpub(xpub)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended public key (as `str`) as master.
+
+You'll only be able to derive unhardened public keys.
+
+##### get\_extended\_privkey\_from\_path(path)
+
+Returns `(chaincode (bytes), privkey (bytes))` of the private key pointed by the path.
+
+##### get\_privkey\_from\_path(path)
+
+Returns `privkey (bytes)`, the private key pointed by the path.
+
+##### get\_extended\_pubkey\_from\_path(path)
+
+Returns `(chaincode (bytes), pubkey (bytes))` of the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_pubkey\_from\_path(path)
+
+Returns `pubkey (bytes)`, the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_xpriv\_from\_path(path)
+
+Returns `xpriv (str)` the serialized and encoded extended private key pointed by the given path.
+
+##### get\_xpub\_from\_path(path)
+
+Returns `xpub (str)` the serialized and encoded extended public key pointed by the given path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_master\_xpriv(path)
+
+Equivalent to `get_xpriv_from_path([])`.
+
+##### get\_master\_xpub(path)
+
+Equivalent to `get_xpub_from_path([])`.
+
+
+%package help
+Summary: Development documents and examples for hdwallets
+Provides: python3-hdwallets-doc
+%description help
+[![PyPI version](https://img.shields.io/pypi/v/hdwallets)](https://pypi.org/project/hdwallets)
+[![Build Status](https://github.com/hukkinj1/hdwallets/workflows/Tests/badge.svg?branch=master)](https://github.com/hukkinj1/hdwallets/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush)
+[![codecov.io](https://codecov.io/gh/hukkinj1/hdwallets/branch/master/graph/badge.svg)](https://codecov.io/gh/hukkinj1/hdwallets)
+
+# hdwallets
+
+A basic implementation of the [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) specification for hierarchical deterministic wallets.
+
+A fork of https://github.com/darosior/python-bip32 with some notable changes:
+
+- [`base58`](https://pypi.org/project/base58/) dependency removed.
+ All interfaces input and output raw bytes instead of base58 strings.
+- Replaced [`coincurve`](https://pypi.org/project/coincurve/) dependency with [`ecdsa`](https://pypi.org/project/ecdsa/)
+- Distributes type information ([PEP 561](https://www.python.org/dev/peps/pep-0561/))
+
+## Usage
+
+```python
+>>> import base58
+>>> from hdwallets import BIP32, HARDENED_INDEX
+>>> bip32 = BIP32.from_seed(bytes.fromhex("01"))
+# Specify the derivation path as a list ...
+>>> bip32.get_xpriv_from_path([1, HARDENED_INDEX, 9998])
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+# ... Or in usual m/the/path/
+>>> bip32.get_xpriv_from_path("m/1/0'/9998")
+b"\x04\x88\xad\xe4\x037\x01)\x0f\x00\x00'\x0e7\xf9\xe7)\x8dCJ\x8b\xfb\xc2j#\xeb\xc0++\xdf}I\x80\xdfr\xef6\xad0\xf7K\x0ceE\xea\x00\xb3D8\x0b\x0e\xf4-\x9a\xe6\x91\xe9\x82\xe8\xbf\x9a\x97\x15\xfe?\x17\xdc[\xf7\xc5\xfb?\xbezaz\\\xb9"
+>>> bip32.get_xpub_from_path([HARDENED_INDEX, 42])
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can also use "h" or "H" to signal for hardened derivation
+>>> bip32.get_xpub_from_path("m/0h/42")
+b"\x04\x88\xb2\x1e\x02\x11\xd4\xbb(\x00\x00\x00*\xaf?\xc3\x1bb)\x1d\x9e$\x91\xda\xc2b\x8e\x1fm\x7f6\x8c(\x8e'2.\x99-\xf2\xa1\x83\xd7F\x18\x03bB\xb0\xe5\x0b\xb8$\x97\xf0\xf3\xe47\xea\xd6\xd4\xa0\xe3~-#\xbf\t\xf5\x19\xb7\xd1\x06b\xb0\xac\xc5\xd4"
+# You can use pubkey-only derivation
+>>> bip32 = BIP32.from_xpub(base58.b58decode_check("xpub6AKC3u8URPxDojLnFtNdEPFkNsXxHfgRhySvVfEJy9SVvQAn14XQjAoFY48mpjgutJNfA54GbYYRpR26tFEJHTHhfiiZZ2wdBBzydVp12yU"))
+>>> bip32.get_xpub_from_path([42, 43])
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_xpub_from_path("m/42/43")
+b'\x04\x88\xb2\x1e\x04\xf4p\xd4>\x00\x00\x00+h\xcf\xc2\xd1\xbe\x0c\\-:\x9fpDy\\x\xd5E\xc1\x988\xb1\xe2X\xd1\xba\xb1\xeac\x96\xb04\x8f\x02\xaf?<\xbe>\x92\xcc\xc1fq~\xa9\xcd\xcb\x10\xd5\x15]K\xd6\x10+\xdb\xa8\xb4\xedo\xd2hc\xf9x'
+>>> bip32.get_pubkey_from_path("m/1/1/1/1/1/1/1/1/1/1/1")
+b'\x02\x0c\xac\n\xa8\x06\x96C\x8e\x9b\xcf\x83]\x0c\rCm\x06\x1c\xe9T\xealo\xa2\xdf\x195\xebZ\x9b\xb8\x9e'
+```
+
+## Installation
+
+```sh
+pip install hdwallets
+```
+
+## Interface
+
+All public keys below are compressed.
+
+All `path` below are a list of integers representing the index of the key at each depth.
+
+#### BIP32
+
+##### from\_seed(seed)
+
+__*staticmethod*__
+
+Instantiate from a raw seed (as `bytes`). See
+[bip-0032's master key generation](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#master-key-generation).
+
+##### from\_xpriv(xpriv)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended private key (as `str`) as master.
+
+##### from\_xpub(xpub)
+
+__*staticmethod*__
+
+Instantiate with an encoded serialized extended public key (as `str`) as master.
+
+You'll only be able to derive unhardened public keys.
+
+##### get\_extended\_privkey\_from\_path(path)
+
+Returns `(chaincode (bytes), privkey (bytes))` of the private key pointed by the path.
+
+##### get\_privkey\_from\_path(path)
+
+Returns `privkey (bytes)`, the private key pointed by the path.
+
+##### get\_extended\_pubkey\_from\_path(path)
+
+Returns `(chaincode (bytes), pubkey (bytes))` of the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_pubkey\_from\_path(path)
+
+Returns `pubkey (bytes)`, the public key pointed by the path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_xpriv\_from\_path(path)
+
+Returns `xpriv (str)` the serialized and encoded extended private key pointed by the given path.
+
+##### get\_xpub\_from\_path(path)
+
+Returns `xpub (str)` the serialized and encoded extended public key pointed by the given path.
+
+Note that you don't need to have provided the master private key if the path doesn't include an index `>= HARDENED_INDEX`.
+
+##### get\_master\_xpriv(path)
+
+Equivalent to `get_xpriv_from_path([])`.
+
+##### get\_master\_xpub(path)
+
+Equivalent to `get_xpub_from_path([])`.
+
+
+%prep
+%autosetup -n hdwallets-0.1.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-hdwallets -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1
+- Package Spec generated