[package]
name = "pink-web3"
version = "0.19.3"
description = "Ethereum JSON-RPC client for pink."
homepage = "https://github.com/Phala-Network/pink-web3"
repository = "https://github.com/Phala-Network/pink-web3"
documentation = "https://docs.rs/pink-web3"
license = "MIT"
keywords = ["web3", "ethereum", "rpc", "client", "pink"]
authors = ["Tomasz Drwięga <tomasz@parity.io>", "Kevin Wang <wy721@qq.com>"]
readme = "README.md"
edition = "2021"

[dependencies]
arrayvec = { version = "0.7.1", default-features = false, features = ["serde"] }
derive_more = "0.99.1"
ethabi = { version = "17.2.0", package = "pink-ethabi", default-features = false, features = [
    "serde",
    "rlp",
] }
ethereum-types = { version = "0.13.0", default-features = false, features = [
    "rlp",
    "serialize",
] }
futures = { version = "0.3.5", default-features = false, features = ["alloc"] }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
rlp = { version = "0.5", default-features = false }
serde = { version = "1.0.90", default-features = false, features = ["derive"] }
erased-serde = { version = "0.3", package = "pink-erased-serde", default-features = false, features = [
    "alloc",
] }
json = { version = "0.4.0", package = "pink-json", default-features = false }
tiny-keccak = { version = "2.0.1", features = ["keccak"] }
pin-project = "1.0"
# Optional deps
pink = { version = "0.1.18", package = "pink-extension", default-features = false, optional = true }
ink_env = { version = "3", default-features = false, optional = true }

[dev-dependencies]
# For examples
env_logger = "0.9"
hex-literal = "0.3"
serde_json = "1.0.85"
futures = "0.3.5"
pink-extension-runtime = "0.1.3"
jsonrpc-core = "18.0.0"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
hyper = { version = "0.14", default-features = false, features = ["server"] }
tokio = { version = "1.0", features = ["full"] }
tokio-stream = { version = "0.1", features = ["net"] }

[features]
default = ["signing", "pink", "std"]
std = ["pink?/std", "ink_env?/std", "serde/std", "json/std", "ethabi/std"]
signing = []
pink = ["dep:pink", "ink_env"]
test = []

[workspace]
