[package] name = "mpc-node" edition = { workspace = true } version = { workspace = true } license = { workspace = true } [features] network-hardship-simulation = [] test-utils = ["threshold-signatures/test-utils"] [dependencies] aes-gcm = { workspace = true } anyhow = { workspace = true } async-trait = { workspace = true } axum = { workspace = true } backon = { workspace = true } base64 = { workspace = true } borsh = { workspace = true } bs58 = { workspace = true } bytes = { workspace = true } chain-gateway = { workspace = true } clap = { workspace = true } derive_more = { workspace = true } ed25519-dalek = { workspace = true } flume = { workspace = true } foreign-chain-inspector = { workspace = true } foreign-chain-rpc-interfaces = { workspace = true } futures = { workspace = true } gcloud-sdk = { workspace = true } hex = { workspace = true } http = { workspace = true } http-body-util = { workspace = true } humantime = { workspace = true } hyper = { workspace = true } hyper-util = { workspace = true } itertools = { workspace = true } k256 = { workspace = true } launcher-interface = { workspace = true } lru = { workspace = true } mpc-attestation = { workspace = true, features = ["local-verify"] } mpc-node-config = { workspace = true } mpc-primitives = { workspace = true } mpc-tls = { workspace = true } near-account-id = { workspace = true } near-async = { workspace = true } near-client = { workspace = true } near-config-utils = { workspace = true } near-crypto = { workspace = true } near-indexer = { workspace = true } near-indexer-primitives = { workspace = true } near-mpc-bounded-collections = { workspace = true } near-mpc-contract-interface = { workspace = true, features = [ "k256", "ed25519-dalek", "blstrs", "near", ] } near-mpc-crypto-types = { workspace = true } near-o11y = { workspace = true } near-sdk = { workspace = true, features = ["non-contract-usage"] } near-store = { workspace = true } near-time = { workspace = true } node-types = { workspace = true } num_enum = { workspace = true } pprof = { workspace = true } prometheus = { workspace = true } rand = { workspace = true } regex = { workspace = true } rocksdb = { workspace = true } rustls = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_yaml = { workspace = true } sha3 = { workspace = true } socket2 = { workspace = true } tee-authority = { workspace = true } tempfile = { workspace = true } thiserror = { workspace = true } thread-priority = { workspace = true } threshold-signatures = { workspace = true } tikv-jemallocator = { workspace = true } time = { workspace = true } tokio = { workspace = true } tokio-metrics = { workspace = true } tokio-rustls = { workspace = true } tokio-stream = { workspace = true } tokio-util = { workspace = true } tower = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } url = { workspace = true } # jemalloc heap profiling is only supported on Linux. [target.'cfg(target_os = "linux")'.dependencies] backtrace = { workspace = true } inferno = { workspace = true } jemalloc_pprof = { workspace = true } mappings = { workspace = true } pprof_util = { workspace = true } # Use frame-pointer to get the back-trace on macOS # see: https://github.com/tikv/pprof-rs/issues/131#issuecomment-1146991294 [target.'cfg(target_os = "macos")'.dependencies] pprof = { workspace = true, features = ["frame-pointer"] } [build-dependencies] built = { workspace = true } [dev-dependencies] assert_matches = { workspace = true } average = { workspace = true } blstrs = { workspace = true } chain-gateway = { workspace = true, features = ["test-utils"] } elliptic-curve = { workspace = true } insta = { workspace = true } itertools = { workspace = true } mockall = { workspace = true } mpc-contract = { workspace = true, features = ["test-utils"] } rstest = { workspace = true } serial_test = { workspace = true } test-log = { workspace = true } threshold-signatures = { workspace = true, features = ["test-utils"] } tokio = { workspace = true, features = ["test-util"] } tracing-test = { workspace = true } [lints] workspace = true