[package]
name = "maili-rpc"
description = "Optimism RPC Types and API"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
authors.workspace = true
repository.workspace = true
exclude.workspace = true
[lints]
workspace = true
[dependencies]
maili-protocol.workspace = true
op-alloy-rpc-types-engine.workspace = true
alloy-eips = { workspace = true, features = ["serde"] }
alloy-primitives = { workspace = true, features = ["map", "rlp", "serde"] }
derive_more = { workspace = true, default-features = false, features = ["display", "from"] }
serde = { workspace = true, optional = true }
jsonrpsee = { workspace = true, optional = true }
getrandom = { workspace = true, optional = true, features = ["js"] }
maili-genesis = { workspace = true, optional = true }
alloy-sol-types = { workspace = true, optional = true }
op-alloy-rpc-jsonrpsee = { workspace = true, optional = true }
thiserror = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
maili-interop = { workspace = true, features = ["serde"], optional = true }
alloy-rpc-client = { workspace = true, features = ["reqwest"], optional = true }
tokio = { workspace = true, features = ["time"], optional = true }
[dev-dependencies]
serde_json.workspace = true
[features]
default = ["std", "jsonrpsee"]
std = [
"maili-protocol/std",
"maili-genesis?/std",
"alloy-eips/std",
"alloy-primitives/std",
"op-alloy-rpc-types-engine/std",
"derive_more/std",
"maili-interop?/std",
"serde?/std",
]
serde = [
"dep:serde",
"maili-protocol/serde",
"maili-genesis?/serde",
"alloy-eips/serde",
"alloy-primitives/serde",
"op-alloy-rpc-types-engine/serde",
"maili-interop?/serde"
]
interop = [
"dep:thiserror",
"dep:maili-interop",
"dep:alloy-rpc-client",
"dep:async-trait",
]
jsonrpsee = [
"serde",
"dep:maili-genesis",
"dep:maili-interop",
"dep:jsonrpsee",
"dep:getrandom",
"dep:alloy-sol-types",
"dep:op-alloy-rpc-jsonrpsee",
]
client = [
"dep:maili-interop",
"jsonrpsee",
"jsonrpsee/client",
"jsonrpsee/async-client",
"op-alloy-rpc-jsonrpsee/client",
"tokio",
]