[package]
edition = "2024"
name = "thruput-sdk"
version = "0.58.0"
authors = ["Thruput Team"]
build = false
exclude = ["/tests"]
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Thruput smart-contract SDK for Rust (rv32 guest runtime and native test harness)"
homepage = "https://github.com/thruputchain/thruput-sdk-rs"
readme = "README.md"
keywords = [
"thruput",
"smart-contracts",
"blockchain",
"riscv",
"no-std",
]
categories = [
"cryptography::cryptocurrencies",
"no-std",
]
license = "Apache-2.0"
repository = "https://github.com/thruputchain/thruput-sdk-rs"
[package.metadata.docs.rs]
features = [
"dev",
"remote",
]
targets = ["x86_64-unknown-linux-gnu"]
[features]
alloc = [
"thruput-u256/alloc",
"thruput-xdr/alloc",
"xdrs/alloc",
"thruput-contract-spec/alloc",
"thruput-rv32-runtime/alloc",
]
dev = [
"std",
"dep:thruput-native-exec",
"dep:thruput-storage-cost",
"dep:thruput-trace",
"thruput-macros/mock",
"dep:sha2",
]
logging = [
"thruput-macros/logging",
"alloc",
]
remote = [
"std",
"dep:thruput-contract-util",
"thruput-macros/remote",
]
source-build = ["thruput-native-exec?/source-build"]
std = [
"alloc",
"thruput-u256/std",
"thruput-xdr/std",
"thruput-contract-spec/owned-model",
"xdrs/detailed-errors",
]
[lib]
name = "thruput_sdk"
crate-type = ["rlib"]
path = "src/lib.rs"
doctest = true
[dependencies.heapless]
version = "0.9.2"
[dependencies.sha2]
version = "0.11.0"
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.12"
default-features = false
[dependencies.thruput-contract-spec]
version = "=0.58.0"
default-features = false
[dependencies.thruput-contract-util]
version = "=0.58.0"
optional = true
[dependencies.thruput-event]
version = "=0.58.0"
[dependencies.thruput-exn]
version = "=0.58.0"
[dependencies.thruput-macros]
version = "=0.58.0"
[dependencies.thruput-native-exec]
version = "=0.58.0"
optional = true
[dependencies.thruput-storage-cost]
version = "=0.58.0"
optional = true
[dependencies.thruput-trace]
version = "=0.63.0"
optional = true
[dependencies.thruput-u256]
version = "=0.58.0"
default-features = false
[dependencies.thruput-xdr]
version = "=0.63.0"
features = ["xdrs"]
[dependencies.xdrs]
version = "0.17.1"
features = [
"int128",
"heapless",
"heapless",
]
default-features = false
package = "thruput-xdrs"
[dev-dependencies.ed25519-dalek]
version = "3"
[dev-dependencies.hex-literal]
version = "1.0.0"
[dev-dependencies.ml-dsa]
version = "0.1.1"
features = ["alloc"]
default-features = false
[dev-dependencies.thruput-contract-util]
version = "=0.58.0"
[dev-dependencies.trybuild]
version = "1"
[target.'cfg(not(target_arch = "riscv32"))'.dependencies.linkme]
version = "0.3"
[target.'cfg(not(target_arch = "riscv32"))'.dependencies.thruput-u256]
version = "=0.58.0"
features = ["fmt"]
default-features = false
[target.'cfg(not(target_arch = "riscv32"))'.dependencies.thruput-xdr]
version = "=0.63.0"
features = [
"xdrs",
"syscalls_mock",
]
[target.'cfg(target_arch = "riscv32")'.dependencies.thruput-rv32-runtime]
version = "=0.58.0"
[target.'cfg(target_arch = "riscv32")'.dependencies.thruput-u256]
version = "=0.58.0"
features = ["nightly"]
default-features = false
[target.'cfg(target_arch = "riscv32")'.dependencies.thruput-xdr]
version = "=0.63.0"
features = [
"xdrs",
"syscalls",
]