iota-client 2.0.1-rc.5

The official, general-purpose IOTA client library in Rust for interaction with the IOTA network (Tangle)
Documentation
[package]
name = "iota-client"
version = "2.0.1-rc.5"
authors = [ "IOTA Stiftung" ]
edition = "2021"
description = "The official, general-purpose IOTA client library in Rust for interaction with the IOTA network (Tangle)"
documentation = "https://wiki.iota.org/iota.rs/welcome"
homepage = "https://www.iota.org/"
repository = "https://github.com/iotaledger/iota.rs"
license = "Apache-2.0"
keywords = [ "iota", "tangle", "client" ]
categories = [ "cryptography::cryptocurrencies" ]

[dependencies]
async-trait = { version = "0.1.60", default-features = false }
derive_builder = { version = "0.12.0", default-features = false, features = [ "std" ]}
derive_more = { version = "0.99.17", default-features = false, features = [ "from", "as_ref", "deref", "deref_mut" ] }
futures = { version = "0.3.25", default-features = false, features = [ "thread-pool" ] }
instant = { version = "0.1.12", default-features = false, features = [ "wasm-bindgen" ] }
iota-crypto = { version = "0.15.3", default-features = false, features = [ "std", "chacha", "blake2b", "ed25519", "random", "slip10", "bip39", "bip39-en", "ternary_encoding" ] }
iota-pow = { version = "1.0.0-rc.2", path = "../pow", default-features = false }
iota-types = { version = "1.0.0-rc.4", path = "../types", default-features = false, features = [ "api", "block", "serde", "dto", "std" ] }
log = { version = "0.4.17", default-features = false }
num_cpus = { version = "1.14.0", default-features = false }
packable = { version = "0.7.0", default-features = false, features = [ "serde", "primitive-types", "std" ] }
prefix-hex = { version = "0.5.0", default-features = false, features = [ "std" ] }
primitive-types = { version = "0.12.1", default-features = false }
regex = { version = "1.7.0", default-features = false, features = [ "std", "unicode-perl" ], optional = true }
reqwest = { version = "0.11.13", default-features = false, features = [ "json" ] }
serde = { version = "1.0.151", default-features = false, features = [ "derive" ] }
serde_json = { version = "1.0.91", default-features = false }
thiserror = { version = "1.0.38", default-features = false }
url = { version = "2.3.1", default-features = false, features = [ "serde" ] }
zeroize = { version = "1.5.7", default-features = false, features = [ "zeroize_derive" ] }

# MQTT
rumqttc = { version = "0.12.0", default-features = false, features = [ "websocket" ], optional = true }
once_cell = { version = "1.16.0", default-features = false, features = [ "std" ], optional = true }

# ledger hardware wallets
iota-ledger-nano = { version = "1.0.0-alpha.2", default-features = false, optional = true }

# stronghold secret manager integration
iota_stronghold = { version = "1.0.5", default-features = false, features = [ "std" ], optional = true }

# message_interface
backtrace = { version = "0.3.67", default-features = false, features = [ "std" ], optional = true }
tokio = { version = "1.23.0", default-features = false, features = [ "sync" ], optional = true }

# participation
getset = { version = "0.1.2", default-features = false, optional = true }

[target.'cfg(not(target_family = "wasm"))'.dependencies]
tokio = { version = "1.23.0", default-features = false, features = [ "macros", "rt-multi-thread", "time", "sync" ] }

[target.'cfg(target_family = "wasm")'.dependencies]
gloo-timers = { version = "0.2.5", default-features = false, features = [ "futures" ] }

[dev-dependencies]
iota-types = { version = "1.0.0-rc.4", path = "../types", default-features = false, features = [ "rand" ] }
dotenv = { version = "0.15.0", default-features = false }
fern-logger = { version = "0.5.0", default-features = false }

[features]
default = [ "tls" ]
mqtt = [ "rumqttc", "once_cell", "regex" ]
ledger_nano = [ "iota-ledger-nano" ]
tls = [ "reqwest/rustls-tls" ]
stronghold = [ "iota_stronghold" ]
message_interface = [ "backtrace", "tokio" ]
participation = [ "getset" ]

[package.metadata.cargo-udeps.ignore]
normal = [ "async-trait", "derive_builder" ]

# Block examples

[[example]]
name = "block_no_payload"
path = "examples/block/00_block_no_payload.rs"

[[example]]
name = "block_confirmation_time"
path = "examples/block/01_block_confirmation_time.rs"

[[example]]
name = "block_custom_parents"
path = "examples/block/02_block_custom_parents.rs"

[[example]]
name = "block_custom_payload"
path = "examples/block/03_block_custom_payload.rs"

[[example]]
name = "block_tagged_data"
path = "examples/block/04_block_tagged_data.rs"

[[example]]
name = "custom_inputs"
path = "examples/block/custom_inputs.rs"

[[example]]
name = "output"
path = "examples/block/output.rs"

[[example]]
name = "transaction"
path = "examples/block/transaction.rs"

# Node API core examples

[[example]]
name = "node_api_core_get_health"
path = "examples/node_api_core/00_get_health.rs"

[[example]]
name = "node_api_core_get_routes"
path = "examples/node_api_core/01_get_routes.rs"

[[example]]
name = "node_api_core_get_info"
path = "examples/node_api_core/02_get_info.rs"

[[example]]
name = "node_api_core_get_tips"
path = "examples/node_api_core/03_get_tips.rs"

[[example]]
name = "node_api_core_post_block"
path = "examples/node_api_core/04_post_block.rs"

[[example]]
name = "node_api_core_post_block_raw"
path = "examples/node_api_core/05_post_block_raw.rs"

[[example]]
name = "node_api_core_get_block"
path = "examples/node_api_core/06_get_block.rs"

[[example]]
name = "node_api_core_get_block_raw"
path = "examples/node_api_core/07_get_block_raw.rs"

[[example]]
name = "node_api_core_get_block_metadata"
path = "examples/node_api_core/08_get_block_metadata.rs"

[[example]]
name = "node_api_core_get_output"
path = "examples/node_api_core/09_get_output.rs"

[[example]]
name = "node_api_core_get_output_raw"
path = "examples/node_api_core/10_get_output_raw.rs"

[[example]]
name = "node_api_core_get_output_metadata"
path = "examples/node_api_core/11_get_output_metadata.rs"

[[example]]
name = "node_api_core_get_receipts"
path = "examples/node_api_core/12_get_receipts.rs"

[[example]]
name = "node_api_core_get_receipts_migrated_at"
path = "examples/node_api_core/13_get_receipts_migrated_at.rs"

[[example]]
name = "node_api_core_get_treasury"
path = "examples/node_api_core/14_get_treasury.rs"

[[example]]
name = "node_api_core_get_included_block"
path = "examples/node_api_core/15_get_included_block.rs"

[[example]]
name = "node_api_core_get_included_block_raw"
path = "examples/node_api_core/16_get_included_block_raw.rs"

[[example]]
name = "node_api_core_get_milestone_by_id"
path = "examples/node_api_core/17_get_milestone_by_id.rs"

[[example]]
name = "node_api_core_get_milestone_by_id_raw"
path = "examples/node_api_core/18_get_milestone_by_id_raw.rs"

[[example]]
name = "node_api_core_get_utxo_changes_by_id"
path = "examples/node_api_core/19_get_utxo_changes_by_id.rs"

[[example]]
name = "node_api_core_get_milestone_by_index"
path = "examples/node_api_core/20_get_milestone_by_index.rs"

[[example]]
name = "node_api_core_get_milestone_by_index_raw"
path = "examples/node_api_core/21_get_milestone_by_index_raw.rs"

[[example]]
name = "node_api_core_get_utxo_changes_by_index"
path = "examples/node_api_core/22_get_utxo_changes_by_index.rs"

# Node API indexer examples

[[example]]
name = "node_api_indexer_get_basic_outputs"
path = "examples/node_api_indexer/00_get_basic_outputs.rs"

[[example]]
name = "node_api_indexer_get_alias_output"
path = "examples/node_api_indexer/01_get_alias_output.rs"

[[example]]
name = "node_api_indexer_get_alias_outputs"
path = "examples/node_api_indexer/02_get_alias_outputs.rs"

[[example]]
name = "node_api_indexer_get_foundry_output"
path = "examples/node_api_indexer/03_get_foundry_output.rs"

[[example]]
name = "node_api_indexer_get_foundry_outputs"
path = "examples/node_api_indexer/04_get_foundry_outputs.rs"

[[example]]
name = "node_api_indexer_get_nft_output"
path = "examples/node_api_indexer/05_get_nft_output.rs"

[[example]]
name = "node_api_indexer_get_nft_outputs"
path = "examples/node_api_indexer/06_get_nft_outputs.rs"

#######

[[example]]
name = "generate_mnemonic"
path = "examples/00_generate_mnemonic.rs"

[[example]]
name = "generate_addresses"
path = "examples/01_generate_addresses.rs"

[[example]]
name = "07_mqtt"
required-features = [ "mqtt" ]

[[example]]
name = "ledger_nano"
required-features = [ "ledger_nano" ]

[[example]]
name = "ledger_nano_transaction"
required-features = [ "ledger_nano" ]

[[example]]
name = "stronghold"
required-features = [ "stronghold" ]

[[example]]
name = "0_address_generation"
path = "examples/offline_signing/0_address_generation.rs"

[[example]]
name = "1_transaction_preparation"
path = "examples/offline_signing/1_transaction_preparation.rs"

[[example]]
name = "2_transaction_signing"
path = "examples/offline_signing/2_transaction_signing.rs"

[[example]]
name = "3_send_block"
path = "examples/offline_signing/3_send_block.rs"

[[example]]
name = "all"
path = "examples/output/all.rs"

[[example]]
name = "all_automatic_input_selection"
path = "examples/output/all_automatic_input_selection.rs"

[[example]]
name = "alias"
path = "examples/output/alias.rs"

[[example]]
name = "recursive_alias"
path = "examples/output/recursive_alias.rs"

[[example]]
name = "basic"
path = "examples/output/basic.rs"

[[example]]
name = "expiration"
path = "examples/output/expiration.rs"

[[example]]
name = "foundry"
path = "examples/output/foundry.rs"

[[example]]
name = "micro_transaction"
path = "examples/output/micro_transaction.rs"

[[example]]
name = "native_tokens"
path = "examples/output/native_tokens.rs"

[[example]]
name = "nft"
path = "examples/output/nft.rs"

[[example]]
name = "participation"
required-features = [ "participation" ]