vuke 0.9.0

Research tool for studying vulnerable Bitcoin key generation practices
Documentation
[package]
name = "vuke"
version = "0.9.0"
edition = "2021"
authors = ["oritwoen"]
description = "Research tool for studying vulnerable Bitcoin key generation practices"
license = "MIT"
repository = "https://github.com/oritwoen/vuke"
keywords = ["bitcoin", "security", "research", "brainwallet", "vulnerability"]
categories = ["cryptography", "command-line-utilities"]

[features]
default = []
gpu = ["wgpu", "pollster", "bytemuck"]
storage = ["parquet", "arrow"]
storage-query = ["storage", "duckdb", "comfy-table"]
storage-cloud = ["storage", "object_store", "tokio", "async-trait", "futures"]
storage-iceberg = ["storage-cloud", "iceberg", "iceberg-catalog-rest"]
boha = ["dep:boha"]

[dependencies]
# Core
anyhow = "1.0"
clap = { version = "4.5", features = ["derive", "env"] }
rayon = "1.10"
indicatif = "0.17"
hex = "0.4"
chrono = "0.4"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Crypto
sha2 = "0.10"
md-5 = "0.10"
hmac = "0.12"
secp256k1 = { version = "0.29", features = ["global-context"] }
bitcoin = { version = "0.32", features = ["rand"] }
rand_mt = "4.2"
num-bigint = "0.4"
base64 = "0.22"

# GPU acceleration (optional)
wgpu = { version = "24", optional = true }
pollster = { version = "0.4", optional = true }
bytemuck = { version = "1.21", features = ["derive"], optional = true }

# Storage (optional)
parquet = { version = "56", optional = true, features = ["arrow", "zstd"] }
arrow = { version = "56", optional = true }

# Query (optional)
duckdb = { version = "1.4", optional = true, features = ["bundled"] }
comfy-table = { version = "7", optional = true }

# Cloud storage (optional)
object_store = { version = "0.11", optional = true, features = ["aws"] }
tokio = { version = "1", optional = true, features = ["rt-multi-thread", "sync", "time"] }
async-trait = { version = "0.1", optional = true }
futures = { version = "0.3", optional = true }

# Iceberg catalog (optional)
iceberg = { version = "0.7", optional = true }
iceberg-catalog-rest = { version = "0.7", optional = true }

# Puzzle data (optional)
boha = { version = "0.11", optional = true }

[dev-dependencies]
tempfile = "3.10"
criterion = { package = "codspeed-criterion-compat", version = "4.1" }
testcontainers = "0.23"
testcontainers-modules = { version = "0.11", features = ["minio"] }

[[bin]]
name = "vuke"
path = "src/main.rs"

[[bench]]
name = "transforms"
harness = false

[[bench]]
name = "derivation"
harness = false

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true