[package] name = "solang" version = "0.3.4" authors = ["Sean Young ", "Lucas Steuernagel ", "Cyrill Leutwiler "] repository = "https://github.com/hyperledger-solang/solang" documentation = "https://solang.readthedocs.io/" license = "Apache-2.0" build = "build.rs" description = "Solang Solidity Compiler" keywords = [ "solidity", "compiler", "solana", "polkadot", "substrate" ] rust-version = "1.85.0" edition = "2021" exclude = [ "/.*", "/docs", "/solana-library", "/tests", "/integration", "/vscode", "/testdata" ] [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" clap = {version = "4.5", features = ["derive"]} clap_complete = "4.5" 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.4.0", features = ["target-webassembly", "no-libffi-linking", "llvm16-0"], optional = true } blake2-rfc = "0.2.18" handlebars = "5.1" contract-metadata = "4.0.2" semver = { version = "1.0", features = ["serde"] } tempfile = "3.20.0" libc = { version = "0.2", optional = true } tower-lsp = { version = "0.20", optional = true } tokio = { version = "1.27", features = ["rt", "io-std", "macros"], optional = true } base58 = "0.2.0" sha2 = "0.10" ripemd = "0.1" bitvec = "1" funty = "2.0" itertools = ">=0.10, <=0.13" num-rational = "0.4" indexmap = "2.2" once_cell = "1.19" solang-parser = { path = "solang-parser", version = "0.3.5" } codespan-reporting = "0.11" phf = { version = "0.11", features = ["macros"] } rust-lapper = { version = "1.1", optional = true } anchor-syn = { version = "0.29.0", features = ["idl-build"] } convert_case = "0.6" parse-display = "0.9" parity-scale-codec = "3.6" ink_env = "5.0.0" ink_metadata = "5.0.0" scale-info = "2.10" petgraph = "0.6" wasmparser = "0.202.0" wasm-encoder = "0.202" toml = "0.8" wasm-opt = { version = "0.116.0", default-features = false, optional = true } contract-build = { version = "4.0.2", optional = true } primitive-types = { version = "0.12", features = ["codec"] } normalize-path = "0.2.1" bitflags = "2.4" scopeguard = "1.2.0" solang-forge-fmt = { version = "0.2.0", optional = true } # We don't use ethers-core directly, but need the correct version for the # build to work. ethers-core = { version = "2.0.10", optional = true } soroban-sdk = { version = "22.0.7", features = ["testutils"], optional = true } [dev-dependencies] num-derive = "0.4" wasmi = "0.31" # solana_rbpf makes api changes in patch versions solana_rbpf = "=0.6.1" byteorder = "1.5" assert_cmd = "2.0" bincode = "1.3" ed25519-dalek = { version = "2", features = ["rand_core"] } path-slash = "0.2" pretty_assertions = "1.4" byte-slice-cast = "1.2" borsh = "1.1" borsh-derive = "1.1" rayon = "1" walkdir = "2.4" ink_primitives = "5.0.0" wasm_host_attr = { path = "tests/wasm_host_attr" } num-bigint = { version = "0.4", features = ["rand", "serde"]} [package.metadata.docs.rs] no-default-features = true [profile.release] lto = true [features] soroban = ["soroban-sdk"] default = ["llvm", "wasm_opt", "language_server", "soroban"] llvm = ["inkwell", "libc"] wasm_opt = ["llvm", "wasm-opt", "contract-build"] language_server = ["tower-lsp", "solang-forge-fmt", "ethers-core", "tokio", "rust-lapper"] [workspace] members = ["solang-parser", "fmt", "tests/wasm_host_attr"]