[package]
name = "near-cli-rs"
version = "0.10.1"
authors = ["FroVolod <frol_off@meta.ua>", "Near Inc <hello@nearprotocol.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
homepage = "https://near.cli.rs"
repository = "https://github.com/near/near-cli-rs"
description = "human-friendly console utility that helps to interact with NEAR Protocol from command line."

[package.metadata.wix]
upgrade-guid = "A6432354-8256-45E3-9E10-53C117EE22B4"
path-guid = "3A5A99B6-61EC-4DFB-AA36-763EE316AF18"
license = false
eula = false

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[[bin]]
name = "near"
path = "src/main.rs"

[dependencies]
clap = { version = "4.0.18", features = ["derive"] }
inquire = "0.7"
strum = { version = "0.24", features = ["derive"] }
strum_macros = "0.24"
smart-default = "0.7.1"
derive_more = "0.99.9"
easy-ext = "1"

reqwest = { version = "0.11", features = ["blocking", "json"] }
tokio = { version = "1.0", features = ["rt-multi-thread"] }
futures = "0.3"
# Ad-hoc fix for compilation errors (rustls is used instead of openssl to ease the deployment avoiding the system dependency on openssl)
openssl = { version = "0.10", features = ["vendored"] }

bip39 = { version = "2.0.0", features = ["rand"] }
bs58 = "0.5"
ed25519-dalek = { version = "1" }
hex = "0.4.2"
linked-hash-map = { version = "0.5", features = ["serde_impl"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.57"
toml = "0.7"
dirs = "5"
shellexpand = "3"
slip10 = "0.4.3"
url = { version = "2", features = ["serde"] }
open = "4"
shell-words = "1"
cargo-util = "0.1.1"
indicatif = "0.17.8"
tracing = "0.1.40"
tracing-indicatif = "0.3.6"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

wasmparser = "0.200.0"

semver = { version = "1.0.4", optional = true }
self_update = { version = "0.37.0", features = [
    "archive-tar",
    "compression-flate2",
], optional = true }

color-eyre = "0.6"
thiserror = "1"

bytesize = "1.1.0"
prettytable = "0.10.0"
textwrap = "0.16.1"

near-ledger = { version = "0.5.0", optional = true }

near-crypto = "0.20.1"
near-primitives = "0.20.1"
near-jsonrpc-client = "0.8.0"
near-jsonrpc-primitives = "0.20.1"

near-gas = { version = "0.2.3", features = [
    "serde",
    "borsh",
    "interactive-clap",
] }
near-token = { version = "0.2.0", features = [
    "serde",
    "borsh",
    "interactive-clap",
] }
near-socialdb-client = "0.2.2"

near-abi = "0.4.2"
zstd = "0.11"

keyring = "2.0.5"
interactive-clap = "0.2.10"
interactive-clap-derive = "0.2.10"

rust_decimal = "1.35.0"

[features]
default = ["ledger", "self-update"]
ledger = ["near-ledger"]
self-update = ["self_update", "semver"]

# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"

# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.9.0"
# CI backends to support
ci = ["github"]
# The installers to generate for each app
installers = ["shell", "powershell", "npm", "msi"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# The archive format to use for windows builds (defaults .zip)
windows-archive = ".tar.gz"
# The archive format to use for non-windows builds (defaults .tar.xz)
unix-archive = ".tar.gz"
# Publish jobs to run in CI
pr-run-mode = "upload"
# XXX: In order to use custom GITHUB_TOKEN to trigger npm-publish workflow, 
# we allow dirty CI scripts to avoid cargo-dist complains.
allow-dirty = ["ci"]

[workspace.metadata.dist.dependencies.apt]
libudev-dev = { version = "*", targets = ["x86_64-unknown-linux-gnu"] }
