[package] name = "ex3-ic-agent" version = "0.24.1" 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.68" backoff = "0.4.0" base32 = "0.4.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" ic-certification = { workspace = true } ic-verify-bls-signature = "0.1" k256 = { version = "0.13.1", features = ["pem"] } leb128 = "0.2.5" mime = "0.3.16" pkcs8 = { version = "0.10.2", features = ["std"] } sec1 = { version = "0.7.2", features = ["pem"] } rand = "0.8.5" ring = { workspace = true, features = ["std"] } serde = { workspace = true, features = ["derive"] } serde_bytes = { workspace = true } serde_cbor = { workspace = true } serde_repr = "0.1.12" sha2 = { workspace = true } simple_asn1 = "0.6.1" thiserror = { workspace = true } url = "2.1.0" [dependencies.hyper] version = "0.14" features = ["client", "http2", "http1"] optional = true [dependencies.reqwest] version = "= 0.11.18" default-features = false features = ["blocking", "json", "rustls-tls", "stream"] optional = true [dependencies.pem] version = "2.0.1" optional = true [target.'cfg(not(target_family = "wasm"))'.dependencies] hyper-rustls = { version = "=0.24.0", features = [ "webpki-roots", "http2", ], optional = true } tokio = { version = "1.24.2", features = ["time"] } rustls = "=0.21.1" [target.'cfg(target_family = "wasm")'.dependencies] getrandom = { version = "0.2", features = ["js"], optional = true } js-sys = { version = "0.3", optional = true } wasm-bindgen = { version = "0.2", optional = true } wasm-bindgen-futures = { version = "0.4", optional = true } web-sys = { version = "0.3", features = ["Window"], optional = true } time = { workspace = true, features = ["wasm-bindgen"], optional = true } [dev-dependencies] serde_json = "1.0.79" [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] tokio = { version = "1.24.2", features = ["full"] } mockito = "1.0.2" [target.'cfg(target_family = "wasm")'.dev-dependencies] wasm-bindgen-test = "0.3.34" web-sys = { version = "0.3", features = [ "Navigator", "ServiceWorkerContainer", "ServiceWorker", "ServiceWorkerRegistration", "ServiceWorkerState", ] } [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. wasm-bindgen = [ "dep:js-sys", "dep:wasm-bindgen", "dep:wasm-bindgen-futures", "dep:getrandom", "dep:web-sys", "dep:time", "backoff/wasm-bindgen", ] [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"] rustdoc-args = ["--cfg=docsrs"] features = ["hyper"]