[package]
edition = "2021"
name = "stoffelcrypto"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Asynchronous HoneyBadgerMPC protocols, preprocessing, and arithmetic for Stoffel."
homepage = "https://stoffelmpc.com"
documentation = "https://docs.rs/stoffelcrypto"
readme = "README.md"
keywords = [
"async",
"crypto",
"cryptography",
"mpc",
"secret-sharing",
]
categories = ["cryptography"]
license = "Apache-2.0"
repository = "https://github.com/Stoffel-Labs/mpc-protocols"
[lib]
name = "stoffelcrypto"
crate-type = [
"lib",
"staticlib",
"cdylib",
]
path = "src/lib.rs"
[[test]]
name = "avss_input_test"
path = "tests/avss_input_test.rs"
[[test]]
name = "avss_mpc_test"
path = "tests/avss_mpc_test.rs"
[[test]]
name = "avss_output_test"
path = "tests/avss_output_test.rs"
[[test]]
name = "avss_test"
path = "tests/avss_test.rs"
[[test]]
name = "avss_turmoil_test"
path = "tests/avss_turmoil_test.rs"
[[test]]
name = "batchrecon_test"
path = "tests/batchrecon_test.rs"
[[test]]
name = "double_share_tests"
path = "tests/double_share_tests.rs"
[[test]]
name = "fpmul_test"
path = "tests/fpmul_test.rs"
[[test]]
name = "input_test"
path = "tests/input_test.rs"
[[test]]
name = "mul_bench_turmoil"
path = "tests/mul_bench_turmoil.rs"
[[test]]
name = "mul_test"
path = "tests/mul_test.rs"
[[test]]
name = "node_test"
path = "tests/node_test.rs"
[[test]]
name = "prandbitd_test"
path = "tests/prandbitd_test.rs"
[[test]]
name = "rand_bit_test"
path = "tests/rand_bit_test.rs"
[[test]]
name = "randousha_test"
path = "tests/randousha_test.rs"
[[test]]
name = "ransha_test"
path = "tests/ransha_test.rs"
[[test]]
name = "rbc_test"
path = "tests/rbc_test.rs"
[[test]]
name = "triple_gen_test"
path = "tests/triple_gen_test.rs"
[[test]]
name = "truncpr_test"
path = "tests/truncpr_test.rs"
[[test]]
name = "turmoil_test"
path = "tests/turmoil_test.rs"
[[bench]]
name = "avss_mpc_bench"
path = "benches/avss_mpc_bench.rs"
harness = false
[[bench]]
name = "bench_utils"
path = "benches/bench_utils.rs"
[[bench]]
name = "hmpc_batch_recon_bench"
path = "benches/hmpc_batch_recon_bench.rs"
harness = false
[[bench]]
name = "hmpc_batchrecon_ab_bench"
path = "benches/hmpc_batchrecon_ab_bench.rs"
harness = false
[[bench]]
name = "hmpc_fpdiv_const_bench"
path = "benches/hmpc_fpdiv_const_bench.rs"
harness = false
[[bench]]
name = "hmpc_fpmul_bench"
path = "benches/hmpc_fpmul_bench.rs"
harness = false
[[bench]]
name = "hmpc_mul_bench"
path = "benches/hmpc_mul_bench.rs"
harness = false
[[bench]]
name = "hmpc_mul_e2e_bench"
path = "benches/hmpc_mul_e2e_bench.rs"
harness = false
[[bench]]
name = "hmpc_mul_micro_bench"
path = "benches/hmpc_mul_micro_bench.rs"
harness = false
[[bench]]
name = "hmpc_preprocessing_bench"
path = "benches/hmpc_preprocessing_bench.rs"
harness = false
[dependencies.ark-bls12-381]
version = "0.5.0"
[dependencies.ark-bn254]
version = "0.5.0"
[dependencies.ark-ec]
version = "0.5.0"
[dependencies.ark-ff]
version = "0.5.0"
features = ["asm"]
[dependencies.ark-poly]
version = "0.5.0"
[dependencies.ark-serialize]
version = "0.5"
features = ["derive"]
[dependencies.ark-std]
version = "0.5.0"
features = ["getrandom"]
[dependencies.async-trait]
version = "0.1.88"
[dependencies.bincode]
version = "1.3"
[dependencies.chacha20poly1305]
version = "0.10.1"
[dependencies.futures]
version = "0.3.31"
[dependencies.itertools]
version = "0.14.0"
[dependencies.num-bigint]
version = "0.4"
features = [
"rand",
"serde",
]
[dependencies.num-integer]
version = "0.1.46"
[dependencies.num-traits]
version = "0.2"
[dependencies.rand]
version = "0.7.3"
[dependencies.reed-solomon-erasure]
version = "6.0.0"
[dependencies.rs_merkle]
version = "1.5.0"
[dependencies.rustls]
version = "0.23"
[dependencies.serde]
version = "1.0.219"
[dependencies.sha2]
version = "0.10.8"
[dependencies.stoffelmpc-network]
version = "0.1.0"
[dependencies.stoffelnet]
version = "0.1.0"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.threshold_crypto]
version = "0.4.0"
[dependencies.tokio]
version = "1.46.1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dependencies.turmoil]
version = "0.7.1"
[dependencies.uuid]
version = "1.18.1"
features = [
"v4",
"v5",
"serde",
]
[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]
[dev-dependencies.once_cell]
version = "1.21.3"
[dev-dependencies.turmoil]
version = "0.7.1"
[lints.clippy]
assign_op_pattern = "allow"
bind_instead_of_map = "allow"
blocks_in_conditions = "allow"
borrow_deref_ref = "allow"
clone_on_copy = "allow"
collapsible_else_if = "allow"
collapsible_if = "allow"
comparison_chain = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
empty_line_after_doc_comments = "allow"
expect_fun_call = "allow"
extra_unused_type_parameters = "allow"
field_reassign_with_default = "allow"
for_kv_map = "allow"
from_over_into = "allow"
get_first = "allow"
int_plus_one = "allow"
iter_cloned_collect = "allow"
iter_kv_map = "allow"
iter_nth_zero = "allow"
legacy_numeric_constants = "allow"
len_zero = "allow"
let_and_return = "allow"
let_unit_value = "allow"
manual_async_fn = "allow"
manual_clamp = "allow"
manual_contains = "allow"
manual_div_ceil = "allow"
manual_is_multiple_of = "allow"
manual_map = "allow"
manual_repeat_n = "allow"
manual_unwrap_or_default = "allow"
map_entry = "allow"
match_like_matches_macro = "allow"
missing_safety_doc = "allow"
module_inception = "allow"
needless_borrow = "allow"
needless_borrows_for_generic_args = "allow"
needless_late_init = "allow"
needless_lifetimes = "allow"
needless_range_loop = "allow"
needless_return = "allow"
nonminimal_bool = "allow"
not_unsafe_ptr_arg_deref = "allow"
only_used_in_recursion = "allow"
op_ref = "allow"
option_map_unit_fn = "allow"
or_fun_call = "allow"
ptr_arg = "allow"
redundant_closure = "allow"
redundant_closure_call = "allow"
redundant_field_names = "allow"
repeat_vec_with_capacity = "allow"
result_unit_err = "allow"
should_implement_trait = "allow"
single_char_pattern = "allow"
single_match = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
uninlined_format_args = "allow"
unnecessary_cast = "allow"
unnecessary_lazy_evaluations = "allow"
unused_enumerate_index = "allow"
unwrap_or_default = "allow"
useless_conversion = "allow"
useless_vec = "allow"
while_let_loop = "allow"