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.workspace = true borsh.workspace = true bs58.workspace = true bytes = { workspace = true, features = ["serde"] } config = { workspace = true, optional = true } convert_case.workspace = true derive-new.workspace = true derive_more.workspace = true ethers-contract = { workspace = true, optional = true } ethers-core = { workspace = true, optional = true } ethers-providers = { workspace = true, optional = true } eyre.workspace = true fixed-hash.workspace = true getrandom.workspace = true hex.workspace = true itertools.workspace = true num = { workspace = true, features = ["serde"] } num-derive.workspace = true num-traits.workspace = true primitive-types = { workspace = true, optional = true } serde.workspace = true serde_json.workspace = true sha3.workspace = true solana-sdk = { workspace = true, optional = true } strum = { workspace = true, optional = true, features = ["derive"] } thiserror.workspace = true tiny-keccak = { workspace = true, features = ["keccak"]} uint.workspace = 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"] solana = ["dep:solana-sdk"]