[workspace] members = [ "crates/*", ] resolver = "3" [workspace.dependencies] alloy = "1.7.3" async-trait = "0.1.89" base64 = "0.22.1" chrono = { version = "0.4.44", features = ["serde"] } ed25519-dalek = { version = "3.0.0-pre.6", features = ["rand_core"] } futures = "0.3.32" hmac = "0.12.1" k256 = { version = "0.13.4", features = ["ecdsa", "pkcs8"] } kameo = { version = "0.20.0", git = "https://github.com/tqwewe/kameo" } # hold this until new patch version is released miette = { version = "7.6.0", features = ["fancy", "serde"] } ml-dsa = { version = "0.1.0-rc.8", features = ["zeroize"] } mutants = "0.0.4" prost = "0.14.3" prost-types = { version = "0.14.3", features = ["chrono"] } rand = "0.10.0" rcgen = { version = "0.14.7", features = [ "aws_lc_rs", "pem", "x509-parser", "zeroize" ], default-features = false } rsa = { version = "0.9", features = ["sha2"] } rstest = "0.26.1" rustls = { version = "0.23.37", features = ["aws-lc-rs", "logging", "prefer-post-quantum", "std"], default-features = false } rustls-pki-types = "1.14.0" sha2 = "0.10" smlang = "0.8.0" spki = "0.7" thiserror = "2.0.18" tokio = { version = "1.50.0", features = ["full"] } tokio-stream = { version = "0.1.18", features = ["full"] } tonic = { version = "0.14.5", features = [ "deflate", "gzip", "tls-connect-info", "zstd" ] } tracing = "0.1.44" x25519-dalek = { version = "2.0.1", features = ["getrandom"] } [workspace.lints.rust] missing_unsafe_on_extern = "deny" unsafe_attr_outside_unsafe = "deny" unsafe_op_in_unsafe_fn = "deny" unstable_features = "deny" deprecated_safe_2024 = "warn" ffi_unwind_calls = "warn" fuzzy_provenance_casts = "warn" linker_messages = "warn" lossy_provenance_casts = "warn" must_not_suspend = "warn" elided_lifetimes_in_paths = "warn" explicit_outlives_requirements = "warn" impl-trait-overcaptures = "warn" impl-trait-redundant-captures = "warn" redundant_lifetimes = "warn" single_use_lifetimes = "warn" unused_lifetimes = "warn" macro_use_extern_crate = "warn" redundant_imports = "warn" unqualified_local_imports = "warn" unused_import_braces = "warn" unused_macro_rules = "warn" unused_qualifications = "warn" unit_bindings = "warn" # missing_docs = "warn" # ENABLE BY THE FIRST MAJOR VERSION!! unnameable_types = "warn" variant_size_differences = "warn" [workspace.lints.clippy] derive_partial_eq_without_eq = "allow" future_not_send = "allow" inconsistent_struct_constructor = "allow" inline_always = "allow" missing_errors_doc = "allow" missing_fields_in_debug = "allow" missing_panics_doc = "allow" must_use_candidate = "allow" needless_pass_by_ref_mut = "allow" pub_underscore_fields = "allow" redundant_pub_crate = "allow" uninhabited_references = "allow" # safe with unsafe_code = "forbid" and standard uninhabited pattern (match *self {}) # restriction lints alloc_instead_of_core = "warn" allow_attributes_without_reason = "warn" as_conversions = "warn" assertions_on_result_states = "warn" cfg_not_test = "warn" clone_on_ref_ptr = "warn" cognitive_complexity = "warn" create_dir = "warn" dbg_macro = "warn" decimal_literal_representation = "warn" default_union_representation = "warn" deref_by_slicing = "warn" disallowed_script_idents = "warn" doc_include_without_cfg = "warn" empty_drop = "warn" empty_enum_variants_with_brackets = "warn" empty_structs_with_brackets = "warn" error_impl_error = "warn" exit = "warn" filetype_is_file = "warn" float_arithmetic = "warn" float_cmp_const = "warn" fn_to_numeric_cast_any = "warn" get_unwrap = "warn" if_then_some_else_none = "warn" indexing_slicing = "warn" infinite_loop = "warn" inline_asm_x86_att_syntax = "warn" inline_asm_x86_intel_syntax = "warn" integer_division = "warn" large_include_file = "warn" lossy_float_literal = "warn" map_with_unused_argument_over_ranges = "warn" mem_forget = "warn" missing_assert_message = "warn" mixed_read_write_in_expression = "warn" modulo_arithmetic = "warn" multiple_unsafe_ops_per_block = "warn" mutex_atomic = "warn" mutex_integer = "warn" needless_raw_strings = "warn" non_ascii_literal = "warn" non_zero_suggestions = "warn" panic = "warn" panic_in_result_fn = "warn" pathbuf_init_then_push = "warn" pointer_format = "warn" precedence_bits = "warn" pub_without_shorthand = "warn" rc_buffer = "warn" rc_mutex = "warn" redundant_test_prefix = "warn" redundant_type_annotations = "warn" ref_patterns = "warn" renamed_function_params = "warn" rest_pat_in_fully_bound_structs = "warn" return_and_then = "warn" semicolon_inside_block = "warn" str_to_string = "warn" string_add = "warn" string_lit_chars_any = "warn" string_slice = "warn" suspicious_xor_used_as_pow = "warn" try_err = "warn" undocumented_unsafe_blocks = "warn" uninlined_format_args = "warn" unnecessary_safety_comment = "warn" unnecessary_safety_doc = "warn" unnecessary_self_imports = "warn" unneeded_field_pattern = "warn" unused_result_ok = "warn" verbose_file_reads = "warn" wildcard_dependencies = "warn" # prod panicking macro. ENABLE BY THE FIRST MAJOR VERSION!! # todo = "warn" # unimplemented = "warn" disallowed_methods = "deny" cargo = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 }