maili-rpc 0.2.0

Optimism RPC Types and API
Documentation
[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]
# Workspace
maili-protocol.workspace = true

# OP Alloy
op-alloy-rpc-types-engine.workspace = true

# Alloy
alloy-eips = { workspace = true, features = ["serde"] }
alloy-primitives = { workspace = true, features = ["map", "rlp", "serde"] }

# Misc
derive_more = { workspace = true, default-features = false, features = ["display", "from"] }

# `serde`
serde = { workspace = true, optional = true }

# `jsonrpsee`
jsonrpsee = { workspace = true, optional = true }
getrandom = { workspace = true, optional = true, features = ["js"] } # req for wasm32-unknown-unknown
maili-genesis = { workspace = true, optional = true }
alloy-sol-types = { workspace = true, optional = true }
op-alloy-rpc-jsonrpsee = { workspace = true, optional = true }

# `interop` feature
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 }

# `client` feature
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",
]