-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
154 lines (142 loc) · 6.24 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
[package]
name = "bifrost"
version = "0.1.0"
# edition = "2024"
edition = "2021"
publish = false
rust-version = "1.85"
[features]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
async-channel = "2.3.1"
borsh = { version = "1.5.5", features = ["derive"] }
bs58 = "0.5.1"
curve25519-dalek = "4.1.3"
derive_more = { version = "2.0.1", features = ["from", "display"] }
ed25519-dalek = { version = "2.1.1", features = ["rand_core"] }
memmap2 = "0.9.5"
mutants = "0.0.3"
rand = "0.8.5"
rand_chacha = "0.3.1"
sha2 = "0.10.8"
tokio = { version = "1.43.0", features = ["full"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
test-log = { version = "0.2.17", features = ["trace"] }
[build-dependencies]
[patch.crates-io]
borsh = { git = "https://github.com/VincentBerthier/borsh-rs", branch = "auto_derive_attr" }
# [[test]]
# name = "core" # name of the test targets
# harness = false # allow Cucumber to print output instead of libtest
[[bench]]
name = "random"
harness = false
[profile.release]
debug = false
lto = true
strip = "debuginfo"
opt-level = 3
panic = "abort"
codegen-units = 1
incremental = false
[profile.profiling]
inherits = "release"
[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(coverage,coverage_nightly)'] }
[lints.clippy]
nursery = "warn"
pedantic = "warn"
restriction = "allow" # activated individually below
module_name_repetitions = { level = "allow", priority = 1 }
used_underscore_binding = { level = "allow", priority = 1 }
empty_docs = { level = "allow", priority = 1 }
wildcard_imports = { level = "allow", priority = 1 }
missing_panics_doc = { level = "allow", priority = 1 }
module_inception = { level = "allow", priority = 1 }
significant_drop_in_scrutinee = { level = "allow", priority = 1 } # annoying false positives on github
# Restriction lints
# absolute_paths = { level = "warn", priority = 1 }
alloc_instead_of_core = { level = "warn", priority = 1 }
allow_attributes = { level = "warn", priority = 1 }
# allow_attributes_without_reason = { level = "warn", priority = 1 }
# arithmetic_side_effects = { level = "warn", priority = 1 }
assertions_on_result_states = { level = "warn", priority = 1 }
as_underscore = { level = "warn", priority = 1 }
big_endian_bytes = { level = "warn", priority = 1 }
clone_on_ref_ptr = { level = "warn", priority = 1 }
create_dir = { level = "warn", priority = 1 }
dbg_macro = { level = "warn", priority = 1 }
default_numeric_fallback = { level = "warn", priority = 1 }
default_union_representation = { level = "warn", priority = 1 }
deref_by_slicing = { level = "warn", priority = 1 }
disallowed_script_idents = { level = "warn", priority = 1 }
else_if_without_else = { level = "warn", priority = 1 }
empty_drop = { level = "warn", priority = 1 }
empty_structs_with_brackets = { level = "warn", priority = 1 }
exit = { level = "warn", priority = 1 }
expect_used = { level = "warn", priority = 1 }
filetype_is_file = { level = "warn", priority = 1 }
float_cmp_const = { level = "warn", priority = 1 }
fn_to_numeric_cast_any = { level = "warn", priority = 1 }
format_push_string = { level = "warn", priority = 1 }
get_unwrap = { level = "warn", priority = 1 }
host_endian_bytes = { level = "warn", priority = 1 }
if_then_some_else_none = { level = "warn", priority = 1 }
impl_trait_in_params = { level = "warn", priority = 1 }
indexing_slicing = { level = "allow", priority = 1 }
inline_asm_x86_att_syntax = { level = "warn", priority = 1 }
inline_asm_x86_intel_syntax = { level = "warn", priority = 1 }
integer_division = { level = "warn", priority = 1 }
iter_over_hash_type = { level = "warn", priority = 1 }
large_include_file = { level = "warn", priority = 1 }
let_underscore_must_use = { level = "warn", priority = 1 }
little_endian_bytes = { level = "warn", priority = 1 }
lossy_float_literal = { level = "warn", priority = 1 }
map_err_ignore = { level = "warn", priority = 1 }
mem_forget = { level = "warn", priority = 1 }
# min_ident_chars = { level = "warn", priority = 1 }
missing_assert_message = { level = "warn", priority = 1 }
missing_asserts_for_indexing = { level = "warn", priority = 1 }
mixed_read_write_in_expression = { level = "warn", priority = 1 }
multiple_inherent_impl = { level = "allow", priority = 1 }
multiple_unsafe_ops_per_block = { level = "warn", priority = 1 }
mutex_atomic = { level = "warn", priority = 1 }
needless_raw_strings = { level = "warn", priority = 1 }
# panic_in_result_fn = { level = "warn", priority = 1 }
panic = { level = "warn", priority = 1 }
# partial_pub_fields = { level = "warn", priority = 1 }
print_stderr = { level = "warn", priority = 1 }
print_stdout = { level = "warn", priority = 1 }
pub_without_shorthand = { level = "warn", priority = 1 }
rc_buffer = { level = "warn", priority = 1 }
rc_mutex = { level = "warn", priority = 1 }
redundant_type_annotations = { level = "warn", priority = 1 }
rest_pat_in_fully_bound_structs = { level = "warn", priority = 1 }
same_name_method = { level = "warn", priority = 1 }
self_named_module_files = { level = "warn", priority = 1 }
semicolon_inside_block = { level = "warn", priority = 1 }
shadow_unrelated = { level = "warn", priority = 1 }
string_add = { level = "warn", priority = 1 }
string_slice = { level = "warn", priority = 1 }
string_to_string = { level = "warn", priority = 1 }
str_to_string = { level = "warn", priority = 1 }
suspicious_xor_used_as_pow = { level = "warn", priority = 1 }
tests_outside_test_module = { level = "warn", priority = 1 }
todo = { level = "warn", priority = 1 }
try_err = { level = "warn", priority = 1 }
undocumented_unsafe_blocks = { level = "warn", priority = 1 }
unimplemented = { level = "warn", priority = 1 }
unnecessary_safety_comment = { level = "warn", priority = 1 }
unnecessary_safety_doc = { level = "warn", priority = 1 }
unnecessary_self_imports = { level = "warn", priority = 1 }
unneeded_field_pattern = { level = "warn", priority = 1 }
unreachable = { level = "warn", priority = 1 }
unseparated_literal_suffix = { level = "warn", priority = 1 }
unwrap_in_result = { level = "warn", priority = 1 }
unwrap_used = { level = "warn", priority = 1 }
verbose_file_reads = { level = "warn", priority = 1 }
[package.metadata.cargo-machete]
ignored = []