mirror of
https://github.com/aljazceru/cdk.git
synced 2025-12-30 11:05:31 +01:00
fixes + tor feature in cdk-cli fix: call `clone_with_prefs` to get a new isolation token format remove `new_isolated` from Transport trait fix: remove tor dependencies under wasm32, disallow compilation with tor feature and wasm32 tor_transport in its own file fixes fmt format tor: implement Transport::resolve_dns_txt for TorAsync using DoH over Tor; fix tor transport trait changes after rebase; remove unused as_str() call for TorToggle in cdk-cli. Ensure compilation with features: tor,bip353 format remove double reference format feat: circuits pool format tor_transport: deterministically select Tor client per request using index_for_request(endpoint path + query + payload)\n\n- Add index_for_request(&Url, Option<&[u8]>) using FNV-1a 64-bit (dependency-free)\n- Replace round-robin next_index() usage in request() with deterministic index\n- Adjust request() to accept Option<Vec<u8>> body to hash payload bytes\n- Update http_get/http_post/resolve_dns_txt to call new request signature\n- Keep next_index() as dead_code for potential fallback tor_transport: implement Default by bootstrapping with default pool size (blocking)\n\n- Default now attempts to use existing Tokio runtime handle, or creates a temporary runtime\n- Preserves previous behavior for async constructors (new/with_pool_size) tor_transport: fix Default to avoid nested runtime panic by initializing on a new thread when no Handle available\n\n- If a runtime is present, block_on via current handle\n- Otherwise, spawn a new OS thread and create a runtime inside it, then join tor_transport: rework Default to use block_in_place + background thread runtime to avoid nested block_on inside tokio\n\n- Always create runtime on a separate OS thread; if inside tokio, enter block_in_place first\n- Avoids 'Cannot start a runtime from within a runtime' panic fix more fixes tor_transport: lazy-initialize Tor client pool on first use via ensure_pool; make Default non-blocking and remove runtime gymnastics\n\n- Introduce Inner with OnceCell<Arc<Vec<TorClient>>> and configured size\n- Default/new/with_pool_size now cheap; actual arti bootstrap happens on first request\n- request() calls ensure_pool() and uses deterministic index with pool.len()\n- Keeps deterministic endpoint/method/body affinity and DoH TXT resolution\n\nThis avoids nested-runtime/block_in_place complexity and makes Default trivial. tor_transport: make DEFAULT_TOR_POOL_SIZE public and support custom pool sizes via TorAsync::with_pool_size() (lazy)} remove unneeded async add salt to keyed circuit selection
43 lines
1.1 KiB
TOML
43 lines
1.1 KiB
TOML
[package]
|
|
name = "cdk-cli"
|
|
version.workspace = true
|
|
authors = ["CDK Developers"]
|
|
description = "Cashu cli wallet built on CDK"
|
|
license.workspace = true
|
|
homepage.workspace = true
|
|
repository.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
readme = "README.md"
|
|
|
|
[features]
|
|
default = []
|
|
sqlcipher = ["cdk-sqlite/sqlcipher"]
|
|
# MSRV is not tracked with redb enabled
|
|
redb = ["dep:cdk-redb"]
|
|
tor = ["cdk/tor"]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
bip39.workspace = true
|
|
bitcoin.workspace = true
|
|
cdk = { workspace = true, default-features = false, features = ["wallet", "auth", "nostr", "bip353"]}
|
|
cdk-redb = { workspace = true, features = ["wallet"], optional = true }
|
|
cdk-sqlite = { workspace = true, features = ["wallet"] }
|
|
clap.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
home.workspace = true
|
|
nostr-sdk = { version = "0.41.0", default-features = false, features = [
|
|
"nip04",
|
|
"nip44",
|
|
"nip59"
|
|
]}
|
|
reqwest.workspace = true
|
|
url.workspace = true
|
|
serde_with.workspace = true
|
|
lightning.workspace = true
|