167 lines
5.4 KiB
TOML
167 lines
5.4 KiB
TOML
[package]
|
|
name = "bitcoin-units"
|
|
version = "1.0.0-rc.0"
|
|
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>"]
|
|
license = "CC0-1.0"
|
|
repository = "https://github.com/rust-bitcoin/rust-bitcoin/"
|
|
description = "Basic Bitcoin numeric units such as amount"
|
|
categories = ["cryptography::cryptocurrencies"]
|
|
keywords = ["bitcoin", "newtypes", "no-std"]
|
|
readme = "README.md"
|
|
edition = "2021"
|
|
rust-version = "1.63.0"
|
|
exclude = ["tests", "contrib"]
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = ["alloc", "internals/std"]
|
|
alloc = ["internals/alloc","serde?/alloc"]
|
|
|
|
[dependencies]
|
|
internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.0" }
|
|
|
|
serde = { version = "1.0.103", default-features = false, optional = true }
|
|
arbitrary = { version = "1.4", optional = true }
|
|
|
|
[dev-dependencies]
|
|
internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.0", features = ["test-serde"] }
|
|
bincode = "1.3.1"
|
|
serde = { version = "1.0.103", default-features = false, features = ["derive"] }
|
|
serde_test = "1.0"
|
|
serde_json = "1.0"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "deny", check-cfg = ['cfg(kani)'] }
|
|
|
|
[lints.clippy]
|
|
# Exclude lints we don't think are valuable.
|
|
needless_question_mark = "allow" # https://github.com/rust-bitcoin/rust-bitcoin/pull/2134
|
|
manual_range_contains = "allow" # More readable than clippy's format.
|
|
# Exhaustive list of pedantic clippy lints
|
|
assigning_clones = "warn"
|
|
bool_to_int_with_if = "warn"
|
|
borrow_as_ptr = "warn"
|
|
case_sensitive_file_extension_comparisons = "warn"
|
|
cast_lossless = "warn"
|
|
cast_possible_truncation = "allow" # All casts should include a code comment (except test code).
|
|
cast_possible_wrap = "allow" # Same as above re code comment.
|
|
cast_precision_loss = "warn"
|
|
cast_ptr_alignment = "warn"
|
|
cast_sign_loss = "allow" # All casts should include a code comment (except in test code).
|
|
checked_conversions = "warn"
|
|
cloned_instead_of_copied = "warn"
|
|
copy_iterator = "warn"
|
|
default_trait_access = "warn"
|
|
doc_link_with_quotes = "warn"
|
|
doc_markdown = "warn"
|
|
empty_enum = "warn"
|
|
enum_glob_use = "warn"
|
|
expl_impl_clone_on_copy = "warn"
|
|
explicit_deref_methods = "warn"
|
|
explicit_into_iter_loop = "warn"
|
|
explicit_iter_loop = "warn"
|
|
filter_map_next = "warn"
|
|
flat_map_option = "warn"
|
|
float_cmp = "allow" # Bitcoin floats are typically limited to 8 decimal places and we want them exact.
|
|
fn_params_excessive_bools = "warn"
|
|
from_iter_instead_of_collect = "warn"
|
|
if_not_else = "warn"
|
|
ignored_unit_patterns = "warn"
|
|
implicit_clone = "warn"
|
|
implicit_hasher = "warn"
|
|
inconsistent_struct_constructor = "warn"
|
|
index_refutable_slice = "warn"
|
|
inefficient_to_string = "warn"
|
|
inline_always = "warn"
|
|
into_iter_without_iter = "warn"
|
|
invalid_upcast_comparisons = "warn"
|
|
items_after_statements = "warn"
|
|
iter_filter_is_ok = "warn"
|
|
iter_filter_is_some = "warn"
|
|
iter_not_returning_iterator = "warn"
|
|
iter_without_into_iter = "warn"
|
|
large_digit_groups = "warn"
|
|
large_futures = "warn"
|
|
large_stack_arrays = "warn"
|
|
large_types_passed_by_value = "warn"
|
|
linkedlist = "warn"
|
|
macro_use_imports = "warn"
|
|
manual_assert = "warn"
|
|
manual_instant_elapsed = "warn"
|
|
manual_is_power_of_two = "warn"
|
|
manual_is_variant_and = "warn"
|
|
manual_let_else = "warn"
|
|
manual_ok_or = "warn"
|
|
manual_string_new = "warn"
|
|
many_single_char_names = "warn"
|
|
map_unwrap_or = "warn"
|
|
match_bool = "allow" # Adds extra indentation and LOC.
|
|
match_on_vec_items = "warn"
|
|
match_same_arms = "allow" # Collapses things that are conceptually unrelated to each other.
|
|
match_wild_err_arm = "warn"
|
|
match_wildcard_for_single_variants = "warn"
|
|
maybe_infinite_iter = "warn"
|
|
mismatching_type_param_order = "warn"
|
|
missing_errors_doc = "warn"
|
|
missing_fields_in_debug = "warn"
|
|
missing_panics_doc = "warn"
|
|
must_use_candidate = "allow" # Useful for audit but many false positives.
|
|
mut_mut = "warn"
|
|
naive_bytecount = "warn"
|
|
needless_bitwise_bool = "warn"
|
|
needless_continue = "warn"
|
|
needless_for_each = "warn"
|
|
needless_pass_by_value = "warn"
|
|
needless_raw_string_hashes = "warn"
|
|
no_effect_underscore_binding = "warn"
|
|
no_mangle_with_rust_abi = "warn"
|
|
option_as_ref_cloned = "warn"
|
|
option_option = "warn"
|
|
ptr_as_ptr = "warn"
|
|
ptr_cast_constness = "warn"
|
|
pub_underscore_fields = "warn"
|
|
range_minus_one = "warn"
|
|
range_plus_one = "warn"
|
|
redundant_closure_for_method_calls = "warn"
|
|
redundant_else = "warn"
|
|
ref_as_ptr = "warn"
|
|
ref_binding_to_reference = "warn"
|
|
ref_option = "warn"
|
|
ref_option_ref = "warn"
|
|
return_self_not_must_use = "warn"
|
|
same_functions_in_if_condition = "warn"
|
|
semicolon_if_nothing_returned = "warn"
|
|
should_panic_without_expect = "warn"
|
|
similar_names = "allow" # Too many (subjectively) false positives.
|
|
single_char_pattern = "warn"
|
|
single_match_else = "warn"
|
|
stable_sort_primitive = "warn"
|
|
str_split_at_newline = "warn"
|
|
string_add_assign = "warn"
|
|
struct_excessive_bools = "warn"
|
|
struct_field_names = "warn"
|
|
too_many_lines = "warn"
|
|
transmute_ptr_to_ptr = "warn"
|
|
trivially_copy_pass_by_ref = "warn"
|
|
unchecked_duration_subtraction = "warn"
|
|
unicode_not_nfc = "warn"
|
|
uninlined_format_args = "allow" # This is a subjective style choice.
|
|
unnecessary_box_returns = "warn"
|
|
unnecessary_join = "warn"
|
|
unnecessary_literal_bound = "warn"
|
|
unnecessary_wraps = "warn"
|
|
unnested_or_patterns = "warn"
|
|
unreadable_literal = "warn"
|
|
unsafe_derive_deserialize = "warn"
|
|
unused_async = "warn"
|
|
unused_self = "warn"
|
|
used_underscore_binding = "warn"
|
|
used_underscore_items = "warn"
|
|
verbose_bit_mask = "warn"
|
|
wildcard_imports = "warn"
|
|
zero_sized_map_values = "warn"
|