2026-04-13 16:03:20 +08:00
|
|
|
[package]
|
|
|
|
|
name = "fuzz"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
edition = "2024"
|
|
|
|
|
publish = false
|
|
|
|
|
|
|
|
|
|
[package.metadata]
|
|
|
|
|
cargo-fuzz = true
|
|
|
|
|
|
|
|
|
|
# Required by cargo-fuzz — prevents this crate from being a workspace member
|
|
|
|
|
[workspace]
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_transaction_decoding"
|
|
|
|
|
path = "fuzz_targets/fuzz_transaction_decoding.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_stateless_verification"
|
|
|
|
|
path = "fuzz_targets/fuzz_stateless_verification.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_state_transition"
|
|
|
|
|
path = "fuzz_targets/fuzz_state_transition.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_block_verification"
|
|
|
|
|
path = "fuzz_targets/fuzz_block_verification.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
2026-05-27 19:41:34 +08:00
|
|
|
[features]
|
|
|
|
|
default = ["fuzzer-libfuzzer"]
|
|
|
|
|
fuzzer-libfuzzer = ["libfuzzer-sys", "fuzz_props/fuzzer-libfuzzer"]
|
|
|
|
|
fuzzer-afl = ["afl", "fuzz_props/fuzzer-afl"]
|
|
|
|
|
|
2026-04-13 16:03:20 +08:00
|
|
|
[dependencies]
|
2026-05-27 19:41:34 +08:00
|
|
|
libfuzzer-sys = { version = "0.4", optional = true }
|
|
|
|
|
afl = { version = "0.15", optional = true }
|
2026-04-13 16:03:20 +08:00
|
|
|
arbitrary = { version = "1", features = ["derive"] }
|
|
|
|
|
borsh = "1"
|
|
|
|
|
nssa = { path = "../../logos-execution-zone/nssa" }
|
|
|
|
|
nssa_core = { path = "../../logos-execution-zone/nssa/core" }
|
|
|
|
|
common = { path = "../../logos-execution-zone/common" }
|
|
|
|
|
fuzz_props = { path = "../fuzz_props" }
|
|
|
|
|
testnet_initial_state = { path = "../../logos-execution-zone/testnet_initial_state" }
|
|
|
|
|
|
|
|
|
|
[profile.release]
|
|
|
|
|
debug = true
|
|
|
|
|
opt-level = 3
|
2026-04-15 15:47:01 +08:00
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_encoding_roundtrip"
|
|
|
|
|
path = "fuzz_targets/fuzz_encoding_roundtrip.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_signature_verification"
|
|
|
|
|
path = "fuzz_targets/fuzz_signature_verification.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_replay_prevention"
|
|
|
|
|
path = "fuzz_targets/fuzz_replay_prevention.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_state_diff_computation"
|
|
|
|
|
path = "fuzz_targets/fuzz_state_diff_computation.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_validate_execute_consistency"
|
|
|
|
|
path = "fuzz_targets/fuzz_validate_execute_consistency.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
2026-05-15 14:20:55 +08:00
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_state_serialization"
|
|
|
|
|
path = "fuzz_targets/fuzz_state_serialization.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_witness_set_verification"
|
|
|
|
|
path = "fuzz_targets/fuzz_witness_set_verification.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_program_deployment_lifecycle"
|
|
|
|
|
path = "fuzz_targets/fuzz_program_deployment_lifecycle.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_apply_state_diff_split_path"
|
|
|
|
|
path = "fuzz_targets/fuzz_apply_state_diff_split_path.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_multi_block_state_sequence"
|
|
|
|
|
path = "fuzz_targets/fuzz_multi_block_state_sequence.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|
2026-05-19 11:31:48 +08:00
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "fuzz_sequencer_vs_replayer"
|
|
|
|
|
path = "fuzz_targets/fuzz_sequencer_vs_replayer.rs"
|
|
|
|
|
test = false
|
|
|
|
|
bench = false
|