# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "hopper-sdk"
version = "0.1.0"
authors = [
    "BluefootLabs <contact@bluefootlabs.com>",
    "MoonManQuark",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Off-chain SDK for the Hopper zero-copy state framework. Parses receipts,
decodes account state through segment-aware partial reads, builds instructions
from a ProgramManifest, and narrates state diffs for indexers and explorers.

Neither Pinocchio, Anchor zero-copy, nor Quasar ships a symmetric off-chain
SDK of this shape. Hopper does because Hopper owns the layout_id fingerprint,
segment roles, receipt wire format, and policy graph on both sides of the
program boundary.
"""
homepage = "https://hopperzero.dev"
documentation = "https://docs.rs/crate/hopper-sdk/0.1.0"
readme = "README.md"
keywords = [
    "solana",
    "zero-copy",
    "sdk",
    "client",
    "hopper",
]
categories = [
    "api-bindings",
    "development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/BluefootLabs/Hopper-Solana-Zero-copy-State-Framework"

[features]
builder = ["std"]
default = [
    "std",
    "narrate",
    "builder",
    "hopper-native-backend",
]
hopper-native-backend = ["hopper-schema/hopper-native-backend"]
legacy-pinocchio-compat = ["hopper-schema/legacy-pinocchio-compat"]
narrate = ["std"]
serde_json = ["std"]
solana-program-backend = ["hopper-schema/solana-program-backend"]
std = []

[lib]
name = "hopper_sdk"
path = "src/lib.rs"

[dependencies.hopper-schema]
version = "0.1.0"
default-features = false

[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = [
    'cfg(target_os, values("solana"))',
    'cfg(target_arch, values("bpf"))',
]
