1#![warn(missing_docs)]
2
3extern crate core;
23extern crate log;
24#[cfg(feature = "use-openssl")]
25extern crate openssl;
26#[cfg(all(
27 any(
28 feature = "default",
29 feature = "use-rustls",
30 feature = "use-rustls-ring"
31 ),
32 not(feature = "use-openssl")
33))]
34extern crate rustls;
35extern crate serde;
36extern crate serde_json;
37
38#[cfg(any(
39 feature = "default",
40 feature = "use-rustls",
41 feature = "use-rustls-ring"
42))]
43extern crate webpki_roots;
44
45#[cfg(any(feature = "default", feature = "proxy"))]
46extern crate byteorder;
47
48extern crate amplify;
49extern crate bp;
50#[cfg(all(unix, any(feature = "default", feature = "proxy")))]
51extern crate libc;
52extern crate sha2;
53#[cfg(all(windows, any(feature = "default", feature = "proxy")))]
54extern crate winapi;
55
56#[cfg(any(feature = "default", feature = "proxy"))]
57pub mod socks;
58
59mod api;
60mod batch;
61
62#[cfg(any(
63 all(feature = "proxy", feature = "use-openssl"),
64 all(feature = "proxy", feature = "use-rustls"),
65 all(feature = "proxy", feature = "use-rustls-ring")
66))]
67pub mod client;
68
69mod config;
70
71pub mod raw_client;
72mod stream;
73mod types;
74#[cfg(test)]
75pub mod utils;
76
77pub use api::ElectrumApi;
78pub use batch::Batch;
79#[cfg(any(
80 all(feature = "proxy", feature = "use-openssl"),
81 all(feature = "proxy", feature = "use-rustls"),
82 all(feature = "proxy", feature = "use-rustls-ring")
83))]
84pub use client::*;
85pub use config::{Config, ConfigBuilder, Socks5Config};
86pub use types::*;