mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-13 06:29:25 +00:00
Updates how we calculcate verification shares, improves performance when extracting multiple sets of keys, and adds more to the test for it.
232 lines
6.0 KiB
TOML
232 lines
6.0 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
# Version patches
|
|
"patches/parking_lot_core",
|
|
"patches/parking_lot",
|
|
"patches/zstd",
|
|
"patches/rocksdb",
|
|
"patches/proc-macro-crate",
|
|
|
|
# std patches
|
|
"patches/matches",
|
|
"patches/is-terminal",
|
|
|
|
# Rewrites/redirects
|
|
"patches/option-ext",
|
|
"patches/directories-next",
|
|
|
|
"common/std-shims",
|
|
"common/zalloc",
|
|
"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/alloy-simple-request-transport",
|
|
"networks/ethereum",
|
|
"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",
|
|
|
|
"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/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" }
|
|
|
|
# Needed due to dockertest's usage of `Rc`s when we need `Arc`s
|
|
dockertest = { git = "https://github.com/orcalabs/dockertest-rs", rev = "4dd6ae24738aa6dc5c89444cc822ea4745517493" }
|
|
|
|
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" }
|
|
# proc-macro-crate 2 binds to an old version of toml for msrv so we patch to 3
|
|
proc-macro-crate = { path = "patches/proc-macro-crate" }
|
|
|
|
# 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" }
|
|
|
|
[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"
|