[package]
name                = "saa-schema"
description         = "Macros and serialization utlities for various blockchain based virtual machines"
edition             = { workspace = true }
authors             = { workspace = true }
version             = { workspace = true }
license             = { workspace = true }
repository          = { workspace = true }

[dependencies]
saa-macros-proto    = { workspace = true }

# Substrate
scale               = { workspace = true, default-features = false, features = ["derive"], optional = true }
scale-info          = { workspace = true, default-features = false, features = ["derive"], optional = true }
# CosmWasm
serde               = { workspace = true, default-features = false, features = ["derive"], optional = true }
schemars            = { workspace = true, default-features = false, features = ["derive"], optional = true }
# Solana
borsh               = { workspace = true, default-features = false, features = ["derive"], optional = true }


[features]
default        = ["std"]
solana         = ["dep:borsh",                   "saa-macros-proto/solana"    ]
substrate      = ["dep:scale", "dep:scale-info", "saa-macros-proto/substrate" ]
cosmwasm       = ["dep:serde", "dep:schemars",   "saa-macros-proto/cosmwasm"  ]
std            = [
    "scale?/std", 
    "scale-info?/std", 
]