[package]
edition = "2021"
rust-version = "1.85.0"
name = "boha"
version = "0.18.1"
authors = ["oritwoen"]
build = "build.rs"
exclude = ["assets/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Crypto bounties, puzzles and challenges data library"
readme = "README.md"
keywords = [
"bitcoin",
"puzzle",
"bounty",
"cryptocurrency",
]
categories = [
"data-structures",
"cryptography",
]
license = "MIT"
repository = "https://github.com/oritwoen/boha"
[features]
balance = [
"reqwest",
"tokio",
"futures",
"dotenvy",
]
cli = [
"clap",
"tabled",
"owo-colors",
"serde_json",
"serde_yaml",
"csv",
"human-panic",
"open",
"k256",
"bip39",
"bip32",
"tiny-keccak",
"bech32",
"blake-hash",
"chrono",
]
default = []
[lib]
name = "boha"
path = "src/lib.rs"
[[bin]]
name = "boha"
path = "src/cli.rs"
required-features = ["cli"]
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "validation"
path = "tests/validation.rs"
[dependencies.bech32]
version = "0.11"
optional = true
[dependencies.bip32]
version = "0.5"
optional = true
[dependencies.bip39]
version = "2"
optional = true
[dependencies.blake-hash]
version = "0.4"
optional = true
[dependencies.blake2]
version = "0.10"
optional = true
[dependencies.bs58]
version = "0.5"
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.csv]
version = "1"
optional = true
[dependencies.dotenvy]
version = "0.15"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.human-panic]
version = "2"
optional = true
[dependencies.k256]
version = "0.13"
features = ["ecdsa"]
optional = true
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.open]
version = "5"
optional = true
[dependencies.owo-colors]
version = "4"
optional = true
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.ripemd]
version = "0.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.serde_yaml]
version = "0.9"
optional = true
[dependencies.sha2]
version = "0.10"
[dependencies.tabled]
version = "0.17"
features = ["ansi"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tiny-keccak]
version = "2"
features = ["keccak"]
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
optional = true
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.bech32]
version = "0.11"
[dev-dependencies.k256]
version = "0.13"
features = ["arithmetic"]
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.regex]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[build-dependencies.bip38]
version = "1.1"
[build-dependencies.bs58]
version = "0.5"
[build-dependencies.chrono]
version = "0.4"
[build-dependencies.hex]
version = "0.4"
[build-dependencies.json-strip-comments]
version = "3.1"
[build-dependencies.k256]
version = "0.13"
features = ["ecdsa"]
[build-dependencies.num-bigint]
version = "0.4"
[build-dependencies.ripemd]
version = "0.1"
[build-dependencies.serde]
version = "1"
features = ["derive"]
[build-dependencies.serde_json]
version = "1"
[build-dependencies.sha2]
version = "0.10"
[lints.clippy]
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
doc_markdown = "allow"
fn_params_excessive_bools = "allow"
missing_const_for_fn = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
option_if_let_else = "allow"
struct_field_names = "allow"
too_many_lines = "allow"
uninlined_format_args = "allow"
unreadable_literal = "allow"
use_self = "allow"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"