ic-agent 0.23.2

Agent library to communicate with the Internet Computer, following the Public Specification.
Documentation
[package]
name = "ic-agent"
version.workspace = true
authors.workspace = true
edition.workspace = true
repository.workspace = true
license.workspace = true
rust-version.workspace = true
description = "Agent library to communicate with the Internet Computer, following the Public Specification."
homepage = "https://docs.rs/ic-agent"
documentation = "https://docs.rs/ic-agent"
readme = "README.md"
categories = ["api-bindings", "data-structures", "no-std"]
keywords = ["internet-computer", "agent", "icp", "dfinity"]
include = ["src", "Cargo.toml", "../LICENSE", "README.md"]

[dependencies]
async-trait = "0.1.53"
backoff = "0.4.0"
base32 = "0.4.0"
base64 = "0.13.0"
byteorder = "1.3.2"
candid = { workspace = true }
futures-util = "0.3.21"
hex = { workspace = true }
http = "0.2.6"
http-body = "0.4.5"
hyper-rustls = { version = "0.23.0", features = [
    "webpki-roots",
    "http2",
], optional = true }
ic-verify-bls-signature = "0.1"
k256 = { version = "0.11", features = ["pem"] }
leb128 = "0.2.5"
mime = "0.3.16"
rand = "0.8.5"
rustls = "0.20.4"
ring = { workspace = true, features = ["std"] }
serde = { workspace = true, features = ["derive"] }
serde_bytes = { workspace = true }
serde_cbor = "0.11.2"
sha2 = { workspace = true }
simple_asn1 = "0.6.1"
thiserror = { workspace = true }
tokio = { version = "1.24.2", features = ["time"] }
url = "2.1.0"
pkcs8 = { version = "0.9", features = ["std"] }
sec1 = { version = "0.3", features = ["pem"] }
ic-certification = { path = "../ic-certification", version = "0.23" }

[dependencies.hyper]
version = "0.14"
features = ["client", "http2", "http1"]
optional = true

[dependencies.reqwest]
version = "0.11.7"
default-features = false
features = ["blocking", "json", "rustls-tls", "stream"]
optional = true

[dependencies.pem]
version = "1.0"
optional = true

[dev-dependencies]
mockito = "0.31.0"
proptest = "1.0.0"
serde_json = "1.0.79"
tokio = { version = "1.24.2", features = ["full"] }

[features]
default = ["pem", "reqwest"]
reqwest = ["dep:reqwest", "dep:hyper-rustls"]
hyper = ["dep:hyper", "dep:hyper-rustls"]
ic_ref_tests = [
    "default",
] # Used to separate integration tests for ic-ref which need a server running.