We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6bbb139 commit f129c5eCopy full SHA for f129c5e
.github/workflows/cd.yml
@@ -9,14 +9,14 @@ jobs:
9
runs-on: ubuntu-latest
10
11
steps:
12
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
13
14
- name: Install poetry
15
run: pipx install poetry
16
17
- - uses: actions/setup-python@v5
+ - uses: actions/setup-python@v6
18
with:
19
- python-version: "3.13"
+ python-version: "3.14"
20
21
- name: Install dependencies
22
run: poetry install
.github/workflows/ci.yml
@@ -11,17 +11,17 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
runs-on: ${{ matrix.os }}
run: pipx install poetry pre-commit
23
24
25
26
python-version: ${{ matrix.python-version }}
27
cache: poetry
@@ -41,6 +41,6 @@ jobs:
41
42
- name: Upload to codecov
43
uses: codecov/codecov-action@v4
44
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
+ if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.14'
45
46
token: ${{ secrets.CODECOV_TOKEN }}
.pre-commit-config.yaml
@@ -1,20 +1,12 @@
1
repos:
2
- repo: https://github.com/astral-sh/ruff-pre-commit
3
- rev: v0.8.0
+ rev: v0.14.5
4
hooks:
5
- - id: ruff
6
- args: [--fix]
+ - id: ruff-check
7
- id: ruff-format
8
- - repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.13.0
- hooks:
- - id: mypy
- entry: mypy bip44/
- pass_filenames: false
-
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v5.0.0
+ rev: v6.0.0
- id: trailing-whitespace
- id: check-yaml
CHANGELOG.md
@@ -0,0 +1,26 @@
+# Changelog
+
+## 0.1.6
+- Support Python 3.14
+- Drop Python 3.8
+- Bump dependencies
+## 0.1.5
+## 0.1.1 ~ 0.1.4
+- Support Python 3.10, 3.11, 3.12, 3.13
+- Drop Python 3.6, 3.7
+## 0.1.0
+- First beta release
+## 0.0.1 ~ 0.0.7
+- Alpha releases
LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2020-2024 Weiliang Li
+Copyright (c) 2020-2025 Weiliang Li
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
README.md
@@ -29,19 +29,6 @@ True
29
'0x7aD23D6eD9a1D98E240988BED0d78e8C81Ec296C'
30
```
31
32
-## Release Notes
+## Changelog
33
34
-### 0.1.1 ~ 0.1.5
35
36
-- Support Python 3.10, 3.11, 3.12, 3.13
37
-- Bump dependencies
38
-- Drop Python 3.6, 3.7
39
40
-### 0.1.0
-- First beta release
-### 0.0.1 ~ 0.0.7
47
-- Alpha releases
+See [CHANGELOG.md](./CHANGELOG.md)
bip44/consts.py
@@ -1,11 +1,9 @@
-from typing import Tuple
from bip32 import HARDENED_INDEX
__all__ = ("COIN_PATHS",)
-def coin_path_by_index(index: int = 0) -> Tuple[int, int]:
+def coin_path_by_index(index: int = 0) -> tuple[int, int]:
# Full list is at https://github.com/satoshilabs/slips/blob/master/slip-0044.md#registered-coin-types
return (44 + HARDENED_INDEX, index + HARDENED_INDEX)
@@ -17,8 +15,13 @@ def coin_path_by_index(index: int = 0) -> Tuple[int, int]:
"DOGE": coin_path_by_index(3),
"ETH": coin_path_by_index(60),
"ETC": coin_path_by_index(61),
+ "XRP": coin_path_by_index(144),
"DOT": coin_path_by_index(354),
+ "SOL": coin_path_by_index(501),
+ "APT": coin_path_by_index(637),
+ "SUI": coin_path_by_index(784),
"SDN": coin_path_by_index(809),
"ASTR": coin_path_by_index(810),
"ADA": coin_path_by_index(1815),
+ "STRK": coin_path_by_index(9004),
}
bip44/py.typed
@@ -0,0 +1 @@
+# PEP 561
bip44/wallet.py
@@ -1,4 +1,4 @@
-from typing import Iterable, Tuple, Union
+from typing import Iterable, Union
from bip32 import BIP32, HARDENED_INDEX
from mnemonic import Mnemonic
@@ -56,7 +56,7 @@ def derive_account(
56
account: int = 0,
57
change: int = 0,
58
address_index: int = 0,
59
- ) -> Tuple[bytes, bytes]:
+ ) -> tuple[bytes, bytes]:
60
"""
61
Derive secret and public key of account, following BIP44 standard like `m / purpose' / coin_type' / account' / change / address_index`.
62
poetry.lock
0 commit comments