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