[workspace] resolver = "2" members = [ # Version patches "patches/parking_lot_core", "patches/parking_lot", "patches/zstd", "patches/rocksdb", # std patches "patches/matches", "patches/is-terminal", # Rewrites/redirects "patches/option-ext", "patches/directories-next", "common/std-shims", "common/zalloc", "common/patchable-async-sleep", "common/db", "common/env", "common/request", "crypto/transcript", "crypto/ff-group-tests", "crypto/dalek-ff-group", "crypto/ed448", "crypto/ciphersuite", "crypto/multiexp", "crypto/schnorr", "crypto/dleq", "crypto/evrf/secq256k1", "crypto/evrf/embedwards25519", "crypto/evrf/generalized-bulletproofs", "crypto/evrf/circuit-abstraction", "crypto/evrf/divisors", "crypto/evrf/ec-gadgets", "crypto/dkg", "crypto/frost", "crypto/schnorrkel", "networks/bitcoin", "networks/ethereum/build-contracts", "networks/ethereum/alloy-simple-request-transport", "networks/ethereum/relayer", "networks/monero/io", "networks/monero/generators", "networks/monero/primitives", "networks/monero/ringct/mlsag", "networks/monero/ringct/clsag", "networks/monero/ringct/borromean", "networks/monero/ringct/bulletproofs", "networks/monero", "networks/monero/rpc", "networks/monero/rpc/simple-request", "networks/monero/wallet/address", "networks/monero/wallet", "networks/monero/wallet/seed", "networks/monero/wallet/polyseed", "networks/monero/wallet/util", "networks/monero/verify-chain", "message-queue", "processor/messages", "processor/key-gen", "processor/view-keys", "processor/frost-attempt-manager", "processor/primitives", "processor/scanner", "processor/scheduler/primitives", "processor/scheduler/utxo/primitives", "processor/scheduler/utxo/standard", "processor/scheduler/utxo/transaction-chaining", "processor/scheduler/smart-contract", "processor/signers", "processor/bin", "processor/bitcoin", "processor/ethereum/contracts", "processor/ethereum/ethereum-serai", "processor/ethereum", "processor/monero", "coordinator/tributary/tendermint", "coordinator/tributary", "coordinator", "substrate/primitives", "substrate/coins/primitives", "substrate/coins/pallet", "substrate/dex/pallet", "substrate/validator-sets/primitives", "substrate/validator-sets/pallet", "substrate/genesis-liquidity/primitives", "substrate/genesis-liquidity/pallet", "substrate/emissions/primitives", "substrate/emissions/pallet", "substrate/economic-security/pallet", "substrate/in-instructions/primitives", "substrate/in-instructions/pallet", "substrate/signals/primitives", "substrate/signals/pallet", "substrate/abi", "substrate/runtime", "substrate/node", "substrate/client", "orchestration", "mini", "tests/no-std", "tests/docker", "tests/message-queue", "tests/processor", "tests/coordinator", "tests/full-stack", "tests/reproducible-runtime", ] # Always compile Monero (and a variety of dependencies) with optimizations due # to the extensive operations required for Bulletproofs [profile.dev.package] subtle = { opt-level = 3 } ff = { opt-level = 3 } group = { opt-level = 3 } crypto-bigint = { opt-level = 3 } secp256k1 = { opt-level = 3 } curve25519-dalek = { opt-level = 3 } dalek-ff-group = { opt-level = 3 } minimal-ed448 = { opt-level = 3 } multiexp = { opt-level = 3 } secq256k1 = { opt-level = 3 } embedwards25519 = { opt-level = 3 } generalized-bulletproofs = { opt-level = 3 } generalized-bulletproofs-circuit-abstraction = { opt-level = 3 } ec-divisors = { opt-level = 3 } generalized-bulletproofs-ec-gadgets = { opt-level = 3 } dkg = { opt-level = 3 } monero-generators = { opt-level = 3 } monero-borromean = { opt-level = 3 } monero-bulletproofs = { opt-level = 3 } monero-mlsag = { opt-level = 3 } monero-clsag = { opt-level = 3 } [profile.release] panic = "unwind" [patch.crates-io] # https://github.com/rust-lang-nursery/lazy-static.rs/issues/201 lazy_static = { git = "https://github.com/rust-lang-nursery/lazy-static.rs", rev = "5735630d46572f1e5377c8f2ba0f79d18f53b10c" } parking_lot_core = { path = "patches/parking_lot_core" } parking_lot = { path = "patches/parking_lot" } # wasmtime pulls in an old version for this zstd = { path = "patches/zstd" } # Needed for WAL compression rocksdb = { path = "patches/rocksdb" } # is-terminal now has an std-based solution with an equivalent API is-terminal = { path = "patches/is-terminal" } # So does matches matches = { path = "patches/matches" } # directories-next was created because directories was unmaintained # directories-next is now unmaintained while directories is maintained # The directories author pulls in ridiculously pointless crates and prefers # copyleft licenses # The following two patches resolve everything option-ext = { path = "patches/option-ext" } directories-next = { path = "patches/directories-next" } # The official pasta_curves repo doesn't support Zeroize pasta_curves = { git = "https://github.com/kayabaNerve/pasta_curves", rev = "a46b5be95cacbff54d06aad8d3bbcba42e05d616" } # https://github.com/alloy-rs/core/issues/717 alloy-sol-type-parser = { git = "https://github.com/alloy-rs/core", rev = "446b9d2fbce12b88456152170709a3eaac929af0" } [workspace.lints.clippy] unwrap_or_default = "allow" borrow_as_ptr = "deny" cast_lossless = "deny" cast_possible_truncation = "deny" cast_possible_wrap = "deny" cast_precision_loss = "deny" cast_ptr_alignment = "deny" cast_sign_loss = "deny" checked_conversions = "deny" cloned_instead_of_copied = "deny" enum_glob_use = "deny" expl_impl_clone_on_copy = "deny" explicit_into_iter_loop = "deny" explicit_iter_loop = "deny" flat_map_option = "deny" float_cmp = "deny" fn_params_excessive_bools = "deny" ignored_unit_patterns = "deny" implicit_clone = "deny" inefficient_to_string = "deny" invalid_upcast_comparisons = "deny" large_stack_arrays = "deny" linkedlist = "deny" macro_use_imports = "deny" manual_instant_elapsed = "deny" manual_let_else = "deny" manual_ok_or = "deny" manual_string_new = "deny" map_unwrap_or = "deny" match_bool = "deny" match_same_arms = "deny" missing_fields_in_debug = "deny" needless_continue = "deny" needless_pass_by_value = "deny" ptr_cast_constness = "deny" range_minus_one = "deny" range_plus_one = "deny" redundant_closure_for_method_calls = "deny" redundant_else = "deny" string_add_assign = "deny" unchecked_duration_subtraction = "deny" uninlined_format_args = "deny" unnecessary_box_returns = "deny" unnecessary_join = "deny" unnecessary_wraps = "deny" unnested_or_patterns = "deny" unused_async = "deny" unused_self = "deny" zero_sized_map_values = "deny"