cargo-features = ["workspace-inheritance"] [package] name = "hyperlane-core" documentation.workspace = true edition.workspace = true homepage.workspace = true license-file.workspace = true publish.workspace = true version.workspace = true [dependencies] async-trait.workspace = true auto_impl = "1.0" borsh.workspace = true bs58.workspace = true bytes = { version = "1", features = ["serde"] } convert_case = "0.6" derive-new.workspace = true derive_more.workspace = true eyre.workspace = true getrandom.workspace = true hex.workspace = true itertools.workspace = true num = { workspace = true, features = ["serde"] } num-derive.workspace = true num-traits.workspace = true serde.workspace = true serde_json.workspace = true sha3 = "0.10" thiserror.workspace = true uint = "0.9.5" fixed-hash = "0.8.0" tiny-keccak = { version = "2.0.2", features = ["keccak"]} config = { workspace = true, optional = true } ethers = { workspace = true, optional = true } ethers-core = { workspace = true, optional = true } ethers-contract = { workspace = true, optional = true } ethers-providers = { workspace = true, optional = true } strum = { workspace = true, optional = true } primitive-types = { workspace = true, optional = true } [dev-dependencies] tokio = { workspace = true, features = ["rt", "time"] } [features] default = [] test-utils = ["dep:config"] agent = ["ethers", "strum"] strum = ["dep:strum"] ethers = ["dep:ethers-core", "dep:ethers-contract", "dep:ethers-providers", "dep:primitive-types", "dep:ethers"]