What changed, and why it matters
This commit adds documentation showing the project's internal crate dependency tree and a helper command to regenerate it. It does not change any executable code, cryptographic logic, or network handling, so it has no security impact on its own.
No security action required; this is a documentation/development-tooling change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit introduces a docs/dep-tree ASCII tree generated by cargo tree, updates docs/README.md to mention it, and adds a just gen-dep-tree recipe. The recipe uses cargo tree --all-features --edges=no-dev,no-build --format={lib} --no-dedupe with several prune and package filters. No source code, build scripts, dependencies, or configuration affecting runtime behavior are modified.
Changed components
docs/README.mddocs/dep-treejustfileInspect captured patch +141 / −0
diff --git a/docs/README.md b/docs/README.md
index dcc5ab65..8877f7ed 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -7,3 +7,7 @@ In general, PR discussions on source code should be about the technical content
whether a change should be made at all, or the strategy for making changes, it is better to first PR to
the `docs/` tree. If a PR discussion veers into this sort of strategic discussion, the PR should be put on
hold and a PR made to the `docs/` tree or in the Discussions section to debate it before moving forward.
+
+## Depenency tree
+
+The `./dep-tree` file was generated using `just gen-dep-tree`.
diff --git a/docs/dep-tree b/docs/dep-tree
new file mode 100644
index 00000000..9d27b985
--- /dev/null
+++ b/docs/dep-tree
@@ -0,0 +1,129 @@
+base58ck
+├── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+└── bitcoin_hashes
+ ├── bitcoin_internals
+ │ └── hex_conservative
+ │ └── arrayvec
+ └── hex_conservative
+ └── arrayvec
+
+bitcoin
+├── arbitrary
+├── base58ck
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── bitcoin_hashes
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── hex_conservative
+│ └── arrayvec
+├── base64
+├── bech32
+├── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_io
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── bitcoin_hashes
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_primitives
+│ ├── arbitrary
+│ ├── arrayvec
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ ├── bitcoin_units
+│ │ ├── arbitrary
+│ │ └── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ ├── bitcoin_hashes
+│ │ ├── bitcoin_internals
+│ │ │ └── hex_conservative
+│ │ │ └── arrayvec
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_units
+│ ├── arbitrary
+│ └── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_hashes
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoinconsensus
+├── hex_conservative
+│ └── arrayvec
+└── secp256k1
+ ├── bitcoin_hashes
+ │ ├── bitcoin_io
+ │ └── hex_conservative
+ │ └── arrayvec
+ └── secp256k1_sys
+
+bitcoin_addresses
+
+bitcoin_internals
+└── hex_conservative
+ └── arrayvec
+
+bitcoin_io
+├── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+└── bitcoin_hashes
+ ├── bitcoin_internals
+ │ └── hex_conservative
+ │ └── arrayvec
+ └── hex_conservative
+ └── arrayvec
+
+bitcoin_primitives
+├── arbitrary
+├── arrayvec
+├── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_units
+│ ├── arbitrary
+│ └── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+├── bitcoin_hashes
+│ ├── bitcoin_internals
+│ │ └── hex_conservative
+│ │ └── arrayvec
+│ └── hex_conservative
+│ └── arrayvec
+└── hex_conservative
+ └── arrayvec
+
+bitcoin_units
+├── arbitrary
+└── bitcoin_internals
+ └── hex_conservative
+ └── arrayvec
+
+bitcoin_hashes
+├── bitcoin_internals
+│ └── hex_conservative
+│ └── arrayvec
+└── hex_conservative
+ └── arrayvec
+
+chacha20_poly1305
diff --git a/justfile b/justfile
index e3e2d37e..9343b832 100644
--- a/justfile
+++ b/justfile
@@ -59,3 +59,11 @@ githooks-install:
# Remove githooks
githooks-remove:
./contrib/copy-githooks.sh -r
+
+# Generate a dependency tree
+gen-dep-tree:
+ cargo tree --all-features --edges=no-dev,no-build --format={lib} --no-dedupe \
+ --prune=serde_json --prune=rand --prune=bincode --prune=serde \
+ -p bitcoin -p bitcoin-internals -p bitcoin_hashes@0.16.0 -p bitcoin-units \
+ -p bitcoin-primitives -p chacha20-poly1305 -p base58ck -p bitcoin-addresses -p bitcoin-io@0.2.0
+
\ No newline at end of file
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.