[package]
edition = "2021"
name = "bsv-rs"
version = "0.3.13"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "BSV blockchain SDK for Rust - primitives, script, transactions, and more"
homepage = "https://github.com/Calhooon/bsv-rs"
readme = "README.md"
keywords = [
"bitcoin",
"bsv",
"blockchain",
"cryptocurrency",
"sdk",
]
categories = [
"cryptography",
"encoding",
"parser-implementations",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Calhooon/bsv-rs"
[features]
auth = [
"wallet",
"messages",
"dep:tokio",
]
compat = ["primitives"]
default = [
"primitives",
"script",
]
dhat-profiling = ["dep:dhat"]
full = [
"primitives",
"script",
"transaction",
"wallet",
"messages",
"compat",
"totp",
"auth",
"overlay",
"storage",
"registry",
"kvstore",
"identity",
"socketio",
]
http = ["dep:reqwest"]
identity = [
"auth",
"overlay",
]
kvstore = ["overlay"]
messages = ["wallet"]
overlay = [
"wallet",
"dep:tokio",
]
primitives = []
registry = ["overlay"]
script = ["primitives"]
socketio = ["auth"]
storage = ["overlay"]
totp = ["primitives"]
transaction = ["script"]
wallet = ["transaction"]
wasm = [
"getrandom/js",
"dep:futures-timer",
"futures-timer/wasm-bindgen",
"dep:js-sys",
]
websocket = [
"auth",
"dep:tokio-tungstenite",
"dep:futures-util",
]
[lib]
name = "bsv_rs"
path = "src/lib.rs"
[[example]]
name = "brc29_32byte_repro"
path = "examples/brc29_32byte_repro.rs"
[[test]]
name = "auth_cross_sdk_tests"
path = "tests/auth_cross_sdk_tests.rs"
[[test]]
name = "auth_integration_tests"
path = "tests/auth_integration_tests.rs"
[[test]]
name = "auth_peer_e2e_tests"
path = "tests/auth_peer_e2e_tests.rs"
[[test]]
name = "broadcaster_http_tests"
path = "tests/broadcaster_http_tests.rs"
[[test]]
name = "chaintracker_http_tests"
path = "tests/chaintracker_http_tests.rs"
[[test]]
name = "compat_bip39_tests"
path = "tests/compat_bip39_tests.rs"
[[test]]
name = "compat_integration_tests"
path = "tests/compat_integration_tests.rs"
[[test]]
name = "cross_sdk_tests"
path = "tests/cross_sdk_tests.rs"
[[test]]
name = "drbg_tests"
path = "tests/drbg_tests.rs"
[[test]]
name = "ec_tests"
path = "tests/ec_tests.rs"
[[test]]
name = "identity_tests"
path = "tests/identity_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "kvstore_global_tests"
path = "tests/kvstore_global_tests.rs"
[[test]]
name = "kvstore_integration_tests"
path = "tests/kvstore_integration_tests.rs"
[[test]]
name = "live_policy_http_tests"
path = "tests/live_policy_http_tests.rs"
[[test]]
name = "memory_profiling"
path = "tests/memory_profiling.rs"
[[test]]
name = "messages_tests"
path = "tests/messages_tests.rs"
[[test]]
name = "overlay_admin_token_ts_parity_tests"
path = "tests/overlay_admin_token_ts_parity_tests.rs"
[[test]]
name = "overlay_cross_sdk_tests"
path = "tests/overlay_cross_sdk_tests.rs"
[[test]]
name = "overlay_http_tests"
path = "tests/overlay_http_tests.rs"
[[test]]
name = "overlay_integration_tests"
path = "tests/overlay_integration_tests.rs"
[[test]]
name = "overlay_mock_tests"
path = "tests/overlay_mock_tests.rs"
[[test]]
name = "registry_integration_tests"
path = "tests/registry_integration_tests.rs"
[[test]]
name = "script_vectors_tests"
path = "tests/script_vectors_tests.rs"
[[test]]
name = "sighash_tests"
path = "tests/sighash_tests.rs"
[[test]]
name = "storage_http_tests"
path = "tests/storage_http_tests.rs"
[[test]]
name = "storage_tests"
path = "tests/storage_tests.rs"
[[test]]
name = "template_tests"
path = "tests/template_tests.rs"
[[test]]
name = "transaction_tests"
path = "tests/transaction_tests.rs"
[[test]]
name = "wallet_tests"
path = "tests/wallet_tests.rs"
[[test]]
name = "wallet_wire_cross_sdk_tests"
path = "tests/wallet_wire_cross_sdk_tests.rs"
[[test]]
name = "wire_method_roundtrip_tests"
path = "tests/wire_method_roundtrip_tests.rs"
[[bench]]
name = "hash_bench"
path = "benches/hash_bench.rs"
harness = false
[[bench]]
name = "memory_bench"
path = "benches/memory_bench.rs"
harness = false
[[bench]]
name = "primitives_bench"
path = "benches/primitives_bench.rs"
harness = false
[[bench]]
name = "script_bench"
path = "benches/script_bench.rs"
harness = false
[dependencies.aes]
version = "0.8"
[dependencies.aes-gcm]
version = "0.10"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bs58]
version = "0.5"
[dependencies.cbc]
version = "0.1"
features = ["alloc"]
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.futures-timer]
version = "3"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.getrandom]
version = "0.2"
features = ["js"]
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.k256]
version = "0.13"
features = [
"ecdsa",
"sha256",
]
[dependencies.lazy_static]
version = "1.4"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-integer]
version = "0.1"
[dependencies.num-traits]
version = "0.2"
[dependencies.p256]
version = "0.13"
[dependencies.pbkdf2]
version = "0.12"
features = ["hmac"]
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.ripemd]
version = "0.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha1]
version = "0.10"
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2.5"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = [
"sync",
"time",
"rt",
]
optional = true
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["native-tls"]
optional = true
[dependencies.urlencoding]
version = "2.1"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.memory-stats]
version = "1.2"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"net",
]
[dev-dependencies.wiremock]
version = "=0.6.2"