[workspace] members = ["cli"] [workspace.package] edition = "2018" authors = ["Edouard Paris "] license-file = "LICENSE" repository = "https://github.com/wizardsardine/async-hwi" keywords = ["bitcoin"] [package] name = "async-hwi" version = "0.0.24" readme = "README.md" description = "Async hardware wallet interface" license-file.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true [features] default = ["ledger", "specter", "coldcard", "bitbox", "jade"] bitbox = ["tokio", "hidapi", "bitbox-api", "regex"] coldcard = ["dep:coldcard", "regex"] specter = ["tokio", "tokio-serial", "serialport"] jade = ["tokio", "tokio-serial", "serde", "serde_bytes", "serde_cbor", "serialport", "reqwest"] ledger = ["regex", "tokio", "ledger_bitcoin_client", "ledger-transport-hidapi", "ledger-apdu", "hidapi"] regex = ["dep:regex"] [dependencies] async-trait = "0.1.52" futures = "0.3" bitcoin = { package = "bitcoin", version = "0.31", default-features = false, features = ["base64", "serde", "std"] } bitcoin_32 = { package = "bitcoin", version = "0.32", default-features = false, features = ["base64", "serde", "std"] } # specter & jade tokio-serial = { version = "5.4.1", optional = true } serialport = { version = "4.3", optional = true } # jade serde = { version = "1.0", features = ["derive"], optional = true } serde_bytes = { version = "0.11.14", optional = true } serde_cbor = { version = "0.11", optional = true } reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"] , optional = true} # bitbox bitbox-api = { version = "0.6.0", default-features = false, features = ["usb", "tokio", "multithreaded"], optional = true } # coldcard coldcard = { version = "0.12.2", optional = true } # ledger ledger_bitcoin_client = { version = "0.4.1", optional = true } ledger-apdu = { version = "0.10", optional = true } ledger-transport-hidapi = { version = "0.10.0", optional = true } # bitbox & ledger hidapi = { version = "2.5.1", features = ["linux-static-hidraw"], default-features = false, optional = true } regex = { version = "1.6.0", optional = true } # jade & specter & ledger & bitbox tokio = { version = "1.21.0", features = ["net", "time", "io-util", "sync", "macros"], optional = true } [dev-dependencies] tokio = { version = "1.21", features = ["macros", "net", "rt", "rt-multi-thread", "io-util", "sync"] }