[package] name = "unionlabs-primitives" version = "0.0.0" authors = { workspace = true } edition = { workspace = true } license-file = { workspace = true } publish = { workspace = true } repository = { workspace = true } [lints] workspace = true [dependencies] alloy-primitives = { workspace = true, optional = true } alloy-sol-types = { workspace = true, optional = true } base64 = { workspace = true, optional = true, features = ["std"] } bincode = { workspace = true, optional = true, features = ["alloc"] } bs58 = { workspace = true, optional = true, features = ["std"] } generic-array = { workspace = true, optional = true } hex = { workspace = true, features = ["std"] } primitive-types = { workspace = true } rlp = { workspace = true, optional = true } schemars = { workspace = true, optional = true } serde = { workspace = true, features = ["derive"], optional = true } serde_bytes = { version = "0.11.17", optional = true } subtle-encoding = { workspace = true, features = ["bech32-preview"] } thiserror = { workspace = true } typenum = { workspace = true, optional = true } # TODO: This is only used for uint, replace with ruint uint = "0.9.5" [dev-dependencies] serde_json = { workspace = true } unionlabs = { workspace = true, features = ["test-utils"] } unionlabs-primitives = { workspace = true, features = ["bincode"] } [features] default = ["serde", "base64"] base58 = ["dep:bs58"] base64 = ["dep:base64"] bincode = ["dep:bincode"] rlp = ["dep:rlp", "primitive-types/rlp"] schemars = ["dep:schemars"] serde = ["dep:serde", "dep:serde_bytes"] alloy-primitives-compat = ["dep:alloy-primitives"] alloy-sol-types-compat = ["dep:alloy-sol-types"] generic-array-compat = ["dep:generic-array", "dep:typenum", "typenum/const-generics"] primitive-types-compat = [ # TODO: Make this dep optional again once we switch to ruint # "dep:primitive-types" ]