-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
64 lines (56 loc) · 2.28 KB
/
Copy pathCargo.toml
File metadata and controls
64 lines (56 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[package]
name = "unicity-token"
version = "0.1.0"
edition = "2021"
rust-version = "1.81"
description = "Clean-room Rust SDK for the Unicity token state-transition protocol, binary-compatible with the Java and TypeScript SDKs. no_std-first, zkVM/WASM friendly."
license = "MIT OR Apache-2.0"
repository = "https://github.com/unicitynetwork/state-transition-sdk-rs"
categories = ["cryptography", "no-std"]
keywords = ["unicity", "token", "zkvm", "cbor", "secp256k1"]
# Internal design doc; not part of the published API surface.
exclude = ["rust-sdk-plan.md"]
# Build docs.rs with every feature so the `http`/`client` types are documented.
[package.metadata.docs.rs]
all-features = true
[features]
default = ["std", "client"]
# alloc is always required by the core (Vec/BTreeMap for CBOR + structures).
alloc = []
# std enables std error integration, host RNG conveniences, JSON trust-base
# parsing, and pulls std in deps.
std = ["alloc", "k256/std", "sha2/std", "dep:getrandom", "dep:serde_json"]
# client adds transaction construction, signing, and the mint/transfer flow
# over a caller-supplied AggregatorClient transport.
client = ["alloc"]
# http adds a blocking JSON-RPC AggregatorClient for talking to a live
# aggregator/gateway (host only; pulls in a TLS HTTP stack).
http = ["std", "client", "dep:ureq", "dep:url", "dep:zeroize"]
[dependencies]
sha2 = { version = "0.10", default-features = false }
k256 = { version = "0.13", default-features = false, features = ["ecdsa", "alloc"] }
hex = { version = "0.4", default-features = false, features = ["alloc"] }
# Arbitrary-precision unsigned integers for 256-bit asset amounts and the radix
# sparse Merkle sum tree sums used by token split. no_std + alloc, no host deps.
num-bigint = { version = "0.4", default-features = false }
getrandom = { version = "0.2", optional = true }
serde_json = { version = "1", optional = true }
ureq = { version = "2", optional = true }
url = { version = "2", optional = true }
zeroize = { version = "1", optional = true }
[dev-dependencies]
hex-literal = "0.4"
# Loads e2e/.env for the live examples.
dotenvy = "0.15"
[[example]]
name = "mint"
required-features = ["http"]
[[example]]
name = "transfer"
required-features = ["http"]
[[example]]
name = "split"
required-features = ["http"]
[profile.release]
opt-level = 3
lto = true