Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
5e9bce1
feat: add support for multiple coin types in xpub structure and addre…
yigitdot Jan 28, 2025
1b5f531
feat: enhance address generation to support multiple coin types
yigitdot Jan 28, 2025
6be1138
refactor: simplify address derivation by using self instead of clone
yigitdot Jan 28, 2025
5d70467
refactor: streamline version byte assignment in address serialization…
yigitdot Jan 29, 2025
44b4ed9
feat: implement CashAddr address format and related utilities for Bit…
yigitdot Feb 26, 2025
3e5244b
feat: add support for multiple address formats in Xpub address genera…
yigitdot Feb 26, 2025
92bb40c
feat: add optional address format support for BIP-32 and BIP-44 addre…
yigitdot Feb 26, 2025
3d9592d
feat: add lazy_static and bs58 dependencies to Cargo.toml
yigitdot Feb 26, 2025
f9b8546
chore: update dependencies in Cargo.lock and add new packages
yigitdot Feb 26, 2025
2fd36b4
fix: optimize checksum calculation in address generation functions
yigitdot Feb 26, 2025
cf97546
refactor: change address_bytes to an array for improved performance
yigitdot Feb 26, 2025
2c0f190
refactor: remove unused panic import in utils.rs
yigitdot Feb 26, 2025
f572e61
refactor: reorganize BIP44 test module and add single address generat…
yigitdot Feb 27, 2025
0b71733
test: add consistency test for BIP44 address derivation
yigitdot Feb 27, 2025
6dc676c
test: add unit test for generating zero BIP44 addresses
yigitdot Feb 27, 2025
ab5684b
test: add tests for generating multiple BIP44 addresses and address f…
yigitdot Feb 27, 2025
0f7a338
chore: improve error reporting and format code for consistency
yigitdot Feb 27, 2025
918bc0a
test: add Litecoin BIP44 address derivation tests and update Bitcoin …
yigitdot Feb 28, 2025
0b46030
test: add BIP44 derivation test for generating multiple addresses
yigitdot Feb 28, 2025
ddf1cfd
test: add BIP44 derivation test for large index range
yigitdot Feb 28, 2025
7a64dc5
test: add Litecoin BIP44 address format validation
yigitdot Feb 28, 2025
6db0144
test: add error handling test for invalid BIP44 extended public key
yigitdot Feb 28, 2025
b49b6fb
test: add BIP44 derivation tests for Dogecoin addresses
yigitdot Feb 28, 2025
c3a6261
test: add BIP44 derivation test for multiple addresses
yigitdot Feb 28, 2025
fbafcf0
test: add Dogecoin-specific address format test for BIP44 derivation
yigitdot Feb 28, 2025
5e14153
chore: refactor BIP44 address derivation tests for improved readability
yigitdot Feb 28, 2025
efb7478
test: add BIP44 derivation tests for Bitcoin Cash (Legacy format) add…
yigitdot Feb 28, 2025
2cf1b23
chore: add a blank line for improved code readability in utils.rs
yigitdot Feb 28, 2025
ec7fdb8
chore: remove unnecessary blank lines for improved code clarity in bi…
yigitdot Feb 28, 2025
5304b4e
test: add BIP44 format consistency test for Legacy addresses
yigitdot Feb 28, 2025
de1ff94
test: add large-scale BIP44 derivation test for Legacy addresses
yigitdot Feb 28, 2025
32fe7c3
test: add BIP44 derivation test for single CashAddr address
yigitdot Feb 28, 2025
3306e1d
test: add multi CashAddrWithPrefix address test
yigitdot Feb 28, 2025
009b9e9
test: add BIP32 address generation and consistency tests for Bitcoin
yigitdot Feb 28, 2025
a60baa9
test: add BIP32 address format validation for Bitcoin addresses
yigitdot Feb 28, 2025
12c46bf
test: add BIP32 multiple address generation tests for Litecoin
yigitdot Feb 28, 2025
aa54741
test: add BIP32 (for LTC) derivation consistency test for large index…
yigitdot Feb 28, 2025
821176a
test: add BIP32 address format validation for Litecoin addresses
yigitdot Feb 28, 2025
d674234
chore: improve formatting and consistency in BIP32 address tests for …
yigitdot Feb 28, 2025
b5dc81d
test: add BIP32 multiple address derivation test for Dogecoin
yigitdot Feb 28, 2025
d6a620e
test: add BIP32 address format validation for Dogecoin addresses
yigitdot Feb 28, 2025
19f9279
test: add BIP32 address tests for Bitcoin Cash (BCH) in bip32_vectors
yigitdot Mar 4, 2025
74d834d
test: add BIP32 multiple legacy address derivation tests for Bitcoin …
yigitdot Mar 4, 2025
111a7aa
test: add BIP32 multiple CashAddr address derivation tests for Bitcoi…
yigitdot Mar 11, 2025
11dc738
refactor: remove unused Xpub import in BIP32 test module
yigitdot Mar 11, 2025
dfdb8e2
test: add BIP32 and BIP44 tests for short invalid xpub parsing in Bit…
yigitdot Mar 11, 2025
8dda8d5
test: add BIP32 and BIP44 tests for short invalid xpub parsing in Lit…
yigitdot Mar 11, 2025
729b358
test: add BIP32 and BIP44 tests for short invalid xpub parsing in Dog…
yigitdot Mar 11, 2025
dc39220
chore: remove trailing whitespace in BIP32 and BIP44 test modules
yigitdot Mar 11, 2025
86863d2
test: add BIP32 and BIP44 tests for short invalid xpub parsing in Bit…
yigitdot Mar 11, 2025
4926110
test: add BIP32 and BIP44 tests for Bitcoin address format validation
yigitdot Mar 11, 2025
034a858
test: add BIP32 and BIP44 tests for Litecoin address format validation
yigitdot Mar 11, 2025
cedcbfe
test: remove redundant single address tests for BIP44 in multiple cry…
yigitdot Mar 11, 2025
95f83b0
test: add BIP32 and BIP44 tests for Dogecoin address format validation
yigitdot Mar 11, 2025
ca54695
test: add BIP32 and BIP44 tests for Bitcoin Cash address format valid…
yigitdot Mar 11, 2025
ebfe216
chore: improve assertions for BIP32 and BIP44 Dogecoin and Bitcoin Ca…
yigitdot Mar 18, 2025
534c3b3
docs: update repository URL in CONTRIBUTING.md
yigitdot Mar 19, 2025
a6d650f
feat: add chain type validation and custom path derivation for BIP44 …
yigitdot Mar 19, 2025
7a76640
feat: add support for custom address generation with custom derivatio…
yigitdot Mar 19, 2025
af2a47f
chore: format code for better readability and consistency
yigitdot Mar 19, 2025
6997423
test: add BIP44 address generation tests for Bitcoin, Litecoin, Dogec…
yigitdot Mar 24, 2025
878b871
chore: improve code formatting for BIP44 address generation tests
yigitdot Mar 24, 2025
d0da3b5
docs: update README to enhance clarity and add supported coins and ad…
yigitdot Apr 7, 2025
6eb1387
Update README.md
yigitdot Apr 10, 2025
852d55b
Update README.md
yigitdot Apr 10, 2025
568eb7e
docs: enhance README for clarity and detail on features and usage exa…
yigitdot Apr 21, 2025
45ecf3a
docs: format feature list for improved readability in README
yigitdot Apr 21, 2025
b22a2ab
docs: update example command in README for BIP44 address generation
yigitdot Apr 21, 2025
8f734ac
docs: clarify output description for BIP44 example in README
yigitdot Apr 21, 2025
d5ca737
tests: add validation for invalid chain_type in BIP44 address derivation
yigitdot Apr 24, 2025
b4d1256
tests: add edge case verification for BIP32 address derivation at ind…
yigitdot Apr 24, 2025
818a703
tests: add validation for hardened index derivation failure in BIP32 …
yigitdot Apr 24, 2025
94d0e6c
tests: rename XPUB_BHC_BIP32 constant to XPUB_BCH_BIP32 for consisten…
yigitdot Apr 24, 2025
854a773
tests: add validation for hardened index derivation failure in BIP44 …
yigitdot Apr 24, 2025
7473e84
tests: refactor BIP32 and BIP44 address derivation tests for improved…
yigitdot Apr 24, 2025
dc440a4
tests: rename BIP32 test functions for consistency and add max index …
yigitdot Apr 26, 2025
3397bfb
tests: rename BIP44 test functions for Bitcoin Cash consistency and i…
yigitdot Apr 26, 2025
2630a56
tests: add maximum non-hardened index derivation tests for Bitcoin, L…
yigitdot Apr 27, 2025
d7d5379
chore: improve readability of BIP44 maximum non-hardened index deriva…
yigitdot Apr 27, 2025
5a2b31c
tests: update BIP44 xPub assumptions for Litecoin, Dogecoin, and Bitc…
yigitdot Apr 27, 2025
f03f9ee
refactor: streamline address generation in derive_bip32_addresses and…
yigitdot May 1, 2025
62d634f
refactor: simplify address generation by removing Custom command and …
yigitdot May 1, 2025
e373c34
tests: add depth, index, and parent fingerprint checks for BIP32 deri…
yigitdot May 5, 2025
f5f9211
chore: improve readability of parent fingerprint assertions in BIP32 …
yigitdot May 6, 2025
89ceed9
tests: add depth progression and parent fingerprint checks for BIP44 …
yigitdot May 10, 2025
221e79b
tests: add serialization round-trip tests for BIP32 xpub in Bitcoin, …
yigitdot May 10, 2025
fdb7463
chore: improve readability of depth progression assertions in BIP44 t…
yigitdot May 10, 2025
f1d91ab
tests: add serialization round-trip tests for BIP44 xpub in Bitcoin, …
yigitdot May 10, 2025
dad873f
tests: add compression tests for derived BIP44 public keys in Bitcoin…
yigitdot May 10, 2025
f77b4e5
tests: add public key compression tests for BIP32 in Bitcoin, Litecoi…
yigitdot May 10, 2025
ca34654
chore: rename BIP44 public key compression tests for clarity
yigitdot May 10, 2025
24a622e
refactor: replace base58 crate with bs58 for encoding and decoding xp…
yigitdot May 21, 2025
12aff29
fix: removed unused import
yigitdot May 21, 2025
3dcf535
clean
yigitdot May 23, 2025
c67e949
chore
yigitdot May 25, 2025
be78d01
test: add BIP44 address derivation tests for Litecoin and Dogecoin
yigitdot May 30, 2025
08b93b7
test: add BIP32 derivation consistency tests for Litecoin, Dogecoin, …
yigitdot May 30, 2025
3f05824
test: add BIP32 large index range derivation tests for Bitcoin, Dogec…
yigitdot May 30, 2025
2c37868
clean
yigitdot May 30, 2025
a0309f6
test: improve test descriptions for BIP32 derivation consistency and …
yigitdot May 30, 2025
2685b62
test: improve consistency descriptions and add large index range test…
yigitdot May 30, 2025
1576a7b
feat: add Docker support with instructions for building the image
yigitdot May 31, 2025
ffd23ee
fix: correct formatting in README for Docker build instructions and p…
yigitdot Jun 14, 2025
3d1b0bb
fix: correct formatting in README by removing extra backticks before …
yigitdot Jun 14, 2025
4aa008b
fix: correct formatting in README by adding code block for project st…
yigitdot Jun 14, 2025
a0030c5
feat: add Docker commands for BIP32 and BIP44 address generation in R…
yigitdot Jun 14, 2025
0fdf998
fix: update README formatting for Docker usage sections
yigitdot Jun 14, 2025
75712db
fix: clarify address type description in CLI usage section of README
yigitdot Jun 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/target
**/*.rs.bk
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@ target/
.vscode/

coverage/
*.profraw
*.profraw

.devcontainer/
75 changes: 50 additions & 25 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 1 addition & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,10 @@ description = "A Rust library and CLI tool for Bitcoin address generation and ma
name = "bip-tools"
path = "src/main.rs"

[package.metadata.llvm-cov]
output-dir = "coverage"
html = true

[dependencies]
secp256k1 = "0.29"
hmac = "0.12"
sha2 = "0.10"
ripemd = "0.1"
base58 = "0.2"
clap = { version = "4.5.16", features = ["derive"] }

[package.metadata.bin]
commitlint-rs = { version = "0.1.11", bins = ["commitlint"] }
bs58 = "0.5.1"
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM rust:1.85 AS builder

WORKDIR /usr/src/bip-tools
COPY . .

RUN cargo install --path .

FROM debian:bookworm-slim

COPY --from=builder /usr/local/cargo/bin/bip-tools /usr/local/bin/bip-tools

ENTRYPOINT ["bip-tools"]
Loading
Loading