[package]
name = "solang"
version = "0.2.0"
authors = ["Sean Young <sean@mess.org>"]
homepage = "https://github.com/hyperledger/solang"
documentation = "https://solang.readthedocs.io/"
license = "Apache-2.0"
build = "build.rs"
description = "Solang Solidity Compiler"
keywords = [ "solidity", "compiler", "solana", "substrate" ]
rust-version = "1.63.0"
edition = "2021"

[build-dependencies]
cc = "1.0"

[dependencies]
regex = "1"
rand = "0.8"
num-bigint = { version = "0.4", features = ["rand"]}
num-traits = "0.2"
num-integer = "0.1.44"
parity-wasm = "0.45"
clap = "4.0"
clap_complete = "4.0"
hex = "0.4"
tiny-keccak = { version = "2.0", features = ["keccak"] }
serde_json = "1.0"
serde = "1.0"
serde_derive = { version = "1.0" }
inkwell = { version = "0.1.0-beta.5", features = ["target-webassembly", "target-bpf", "no-libffi-linking", "llvm13-0"], optional = true }
blake2-rfc = "0.2.18"
handlebars = "4.2"
contract-metadata = "1.5.0"
semver = { version = "^1.0.3", features = ["serde"] }
tempfile = "3.3"
libc = { version = "0.2", optional = true }
tower-lsp = "0.17"
tokio = { version = "1.16", features = ["rt", "io-std", "macros"] }
base58 = "0.2.0"
sha2 = "0.10"
ripemd = "0.1"
bitvec = "0.20"
funty = "2.0"
itertools = "0.10"
num-rational = "0.4"
indexmap = "1.8"
once_cell = "1.10"
solang-parser = { path = "solang-parser", version = "0.2.0" }
codespan-reporting = "0.11"
phf = { version = "0.11", features = ["macros"] }
rust-lapper = "1.0"
bitflags = "1.3"
anchor-syn = { version = "0.25", features = ["idl"] }
convert_case = "0.6"
parse-display = "0.6.0"
parity-scale-codec = "3.1"
ink = "4.0.0-beta"
scale-info = "2.3"


[dev-dependencies]
num-derive = "0.3"
ethabi = "17.0"
wasmi = "0.11"
# rand version 0.7 is needed for ed25519_dalek::keypair::generate, used in solana_tests/signature_verify.rs
rand_07 = { package = "rand", version = "0.7" }
sha2 = "0.10"
# solana_rbpf makes api changes in patch versions
solana_rbpf = "=0.2.33"
byteorder = "1.4"
assert_cmd = "2.0"
bincode = "1.3"
ed25519-dalek = "1.0"
path-slash = "0.2"
pretty_assertions = "1.2"
byte-slice-cast = "1.2.1"
borsh = "0.9.3"
rayon = "1"

[package.metadata.docs.rs]
no-default-features = true

[profile.release]
lto = true

[features]
default = ["llvm"]
llvm = ["inkwell", "libc"]

[workspace]
members = ["solang-parser"]
