obce 0.1.0

OpenBursh chain extension(OBCE) - util to simplify chain extension development.
Documentation
[workspace]
members = [
    "codegen",
    "macro"
]
exclude = [
    "tests/e2e/contract"
]

[package]
name = "obce"
version = "0.1.0"
authors = ["727.Ventures <green.baneling@727.ventures>"]
edition = "2021"

license = "MIT"
repository = "https://github.com/Brushfam/obce"
documentation = "https://github.com/Brushfam/obce/blob/main/README.md"
homepage = "https://727.ventures"
description = "OpenBursh chain extension(OBCE) - util to simplify chain extension development."
keywords = ["wasm", "smart-contracts", "blockchain", "chain-extension"]
categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs"]

[dependencies]
# Common deps
scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
scale-info = { version = "2.3", default-features = false, features = ["derive"] }
obce-macro = { version = "0.1.0", path = "macro", default-features = false }

# Substrate deps
sp-core = { version = "23", default-features = false, optional = true }
sp-runtime = { version = "26", default-features = false, optional = true }
sp-std = { version = "10", default-features = false, optional = true }
sp-weights = { version = "22", default-features = false, optional = true }
frame-support = { version = "23", default-features = false, optional = true }
frame-system = { version = "23", default-features = false, optional = true }
pallet-contracts = { version = "22", default-features = false, optional = true }

# Ink deps
ink = { version = "4.2.0", default-features = false, optional = true }
ink_engine = { version = "4.2.0", default-features = false, optional = true }

[dev-dependencies]
frame-support = { version = "23", default-features = false, features = ["std"] }
frame-system = { version = "23", default-features = false, features = ["std"] }
ink = { version = "4.2.0", default-features = false, features = ["std"] }
trybuild = "1.0"

[features]
default = ["std"]
substrate = [
    "pallet-contracts",
    "frame-system",
    "frame-support",
    "sp-core",
    "sp-runtime",
    "sp-std",
]
ink = [
    "dep:ink",
]
std = [
    "scale-info/std",
    "scale/std",
]
substrate-std = [
    "std",
    "substrate",
    "pallet-contracts/std",
    "frame-system/std",
    "frame-support/std",
    "sp-core/std",
    "sp-runtime/std",
    "sp-std/std",
    "sp-weights/std",
]
ink-std = [
    "std",
    "ink",
    "ink/std",
    "ink_engine/std"
]
runtime-benchmarks = [
    "frame-system/runtime-benchmarks",
    "frame-support/runtime-benchmarks",
    "pallet-contracts/runtime-benchmarks",
    "sp-runtime/runtime-benchmarks",
]

[[test]]
name = "error-macro"
path = "tests/error.rs"
required-features = ["substrate-std"]

[[test]]
name = "mock-macro"
path = "tests/mock.rs"
required-features = ["ink-std"]

[[test]]
name = "ink-environment"
path = "tests/environment.rs"
required-features = ["ink-std"]

[[test]]
name = "substrate-ui"
path = "tests/ui/substrate.rs"
required-features = ["substrate-std"]

[[test]]
name = "ink-ui"
path = "tests/ui/ink.rs"
required-features = ["ink-std"]