[package]
edition = "2024"
rust-version = "1.90.0"
name = "aptos-sdk"
version = "0.3.0"
authors = ["Aptos Labs <opensource@aptoslabs.com>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A user-friendly, idiomatic Rust SDK for the Aptos blockchain"
homepage = "https://aptoslabs.com"
readme = "README.md"
keywords = [
"aptos",
"blockchain",
"crypto",
"sdk",
"web3",
]
categories = [
"cryptography",
"api-bindings",
"asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/aptos-labs/aptos-rust-sdk"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
bls = ["dep:blst"]
cli = ["dep:clap"]
default = [
"ed25519",
"secp256k1",
"secp256r1",
"indexer",
"faucet",
"mnemonic",
]
e2e = [
"ed25519",
"secp256k1",
"faucet",
]
ed25519 = [
"dep:ed25519-dalek",
"dep:rand_core",
]
faucet = []
full = [
"ed25519",
"secp256k1",
"secp256r1",
"bls",
"keyless",
"indexer",
"faucet",
"mnemonic",
]
fuzzing = [
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
]
indexer = ["dep:graphql_client"]
keyless = [
"dep:jsonwebtoken",
"ed25519",
"secp256r1",
]
macros = ["dep:aptos-sdk-macros"]
mnemonic = [
"dep:bip39",
"dep:hmac",
]
secp256k1 = ["dep:k256"]
secp256r1 = ["dep:p256"]
[lib]
name = "aptos_sdk"
path = "src/lib.rs"
[[bin]]
name = "aptos-codegen"
path = "src/bin/codegen.rs"
required-features = ["cli"]
[[example]]
name = "account_management"
path = "examples/account_management.rs"
required-features = [
"ed25519",
"secp256k1",
"mnemonic",
"faucet",
]
[[example]]
name = "advanced_transactions"
path = "examples/advanced_transactions.rs"
required-features = [
"ed25519",
"secp256k1",
"faucet",
]
[[example]]
name = "balance_checker"
path = "examples/balance_checker.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "call_contract"
path = "examples/call_contract.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "codegen"
path = "examples/codegen.rs"
required-features = ["ed25519"]
[[example]]
name = "contract_bindings"
path = "examples/contract_bindings.rs"
required-features = [
"ed25519",
"macros",
]
[[example]]
name = "deploy_module"
path = "examples/deploy_module.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "entry_function"
path = "examples/entry_function.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "event_queries"
path = "examples/event_queries.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "indexer_queries"
path = "examples/indexer_queries.rs"
required-features = [
"ed25519",
"indexer",
]
[[example]]
name = "multi_agent"
path = "examples/multi_agent.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "multi_key_account"
path = "examples/multi_key_account.rs"
required-features = [
"ed25519",
"secp256k1",
"faucet",
]
[[example]]
name = "multi_sig_account"
path = "examples/multi_sig_account.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "multisig_v2"
path = "examples/multisig_v2.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "nft_operations"
path = "examples/nft_operations.rs"
required-features = ["ed25519"]
[[example]]
name = "read_contract_state"
path = "examples/read_contract_state.rs"
required-features = ["ed25519"]
[[example]]
name = "script_transaction"
path = "examples/script_transaction.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "simulation"
path = "examples/simulation.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "sponsored_transaction"
path = "examples/sponsored_transaction.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "transaction_data"
path = "examples/transaction_data.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "transaction_waiting"
path = "examples/transaction_waiting.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "transfer"
path = "examples/transfer.rs"
required-features = [
"ed25519",
"faucet",
]
[[example]]
name = "view_function"
path = "examples/view_function.rs"
required-features = ["ed25519"]
[[test]]
name = "lib"
path = "tests/lib.rs"
[dependencies.anyhow]
version = "1.0.97"
[dependencies.aptos-bcs]
version = "0.1.4"
[dependencies.aptos-sdk-macros]
version = "0.1.0"
optional = true
[dependencies.arbitrary]
version = "1.4.1"
features = ["derive"]
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.bip39]
version = "2.1"
features = ["rand"]
optional = true
[dependencies.blst]
version = "0.3"
optional = true
[dependencies.bytes]
version = "1.10.1"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.ed25519-dalek]
version = "2.1"
features = [
"std",
"rand_core",
"zeroize",
]
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.graphql_client]
version = "0.14"
optional = true
[dependencies.hex]
version = "0.4.3"
features = ["serde"]
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.jsonwebtoken]
version = "10.3"
features = ["aws_lc_rs"]
optional = true
[dependencies.k256]
version = "0.13"
features = [
"ecdsa",
"sha256",
"std",
]
optional = true
[dependencies.p256]
version = "0.13"
features = [
"ecdsa",
"sha256",
"std",
]
optional = true
[dependencies.proptest]
version = "1.6.0"
optional = true
[dependencies.proptest-derive]
version = "0.5.1"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.rand_core]
version = "0.6"
optional = true
[dependencies.reqwest]
version = "0.12.15"
features = [
"blocking",
"cookies",
"json",
"multipart",
"stream",
]
[dependencies.serde]
version = "1.0.219"
features = [
"derive",
"rc",
]
[dependencies.serde_bytes]
version = "0.11"
[dependencies.serde_json]
version = "1.0.140"
features = [
"preserve_order",
"arbitrary_precision",
]
[dependencies.sha2]
version = "0.10"
[dependencies.sha3]
version = "0.10"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.44.1"
features = ["full"]
[dependencies.url]
version = "2.5.4"
features = ["serde"]
[dependencies.urlencoding]
version = "2.1"
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
[dev-dependencies.proptest]
version = "1.6.0"
[dev-dependencies.proptest-derive]
version = "0.5.1"
[dev-dependencies.tempfile]
version = "3.14"
[dev-dependencies.tokio]
version = "1.44.1"
features = [
"full",
"full",
"test-util",
]
[dev-dependencies.tracing-test]
version = "0.2"
[dev-dependencies.wiremock]
version = "0.6"