[package]
description = "Move types for Aftermath's `SwitchboardWrapper` package that extends `AfOracle`"
name        = "af-switchboard-wrapper"
version     = "0.0.30"

authors.workspace      = true
categories.workspace   = true
edition.workspace      = true
license.workspace      = true
repository.workspace   = true
rust-version.workspace = true

[package.metadata.docs.rs]
# To build locally:
# RUSTDOCFLAGS="-Zunstable-options --generate-link-to-definition" RUSTC_BOOTSTRAP=1 cargo +nightly doc --all-features --no-deps --open
all-features = true
rustdoc-args = [
  # Generate links to definition in rustdoc source code pages
  # https://github.com/rust-lang/rust/pull/84176
  "--generate-link-to-definition",
  "-Zunstable-options",
]

[lints]
workspace = true

[features]
graphql = [
  "dep:af-move-type",
  "dep:af-sui-types",
  "dep:bcs",
  "dep:extension-traits",
  "dep:thiserror",
  "dep:trait-variant",
  "sui-gql-client/move-type",
  "sui-gql-client/queries",
]
ptb = ["dep:af-ptbuilder", "dep:extension-traits"]

[dependencies]
# Public dependencies; a SemVer-breaking bump in one of these must come with a SemVer-breaking bump
# to this crate
# https://rust-lang.github.io/rfcs/3516-public-private-dependencies.html
af-ptbuilder      = { version = "10.0.0", public = true, optional = true, path = "../af-ptbuilder" }
af-sui-pkg-sdk    = { version = "0.12.0", public = true, path = "../af-sui-pkg-sdk" }
sui-framework-sdk = { version = "0.14.0", public = true, path = "../sui-framework-sdk" }
sui-gql-client    = { version = "0.22", public = true, default-features = false, optional = true, path = "../sui-gql-client" }
sui-sdk-types     = { version = "0.0.8", public = true }

bcs              = { version = "0.1", optional = true }
extension-traits = { version = "2", optional = true }
thiserror        = { version = "2", optional = true }
trait-variant    = { version = "0.1", optional = true }

af-move-type = { version = "0.15.0", optional = true, path = "../af-move-type" }
af-sui-types = { version = "0.15.0", optional = true, path = "../af-sui-types" }
