iuna

iuna

iuna - experimental mainnet-candidate protocol
git clone https://getiuna.org/git/iuna.git
Log | Files | Refs | README | LICENSE

README.md (1800B)


      1 # iuna Fuzz Targets
      2 
      3 These targets exercise external input boundaries and persistence decoders.
      4 
      5 Install the release-pinned cargo-fuzz version once. Building the helper may use a newer stable
      6 toolchain without changing Iuna's Rust 1.88 build contract:
      7 
      8 ```sh
      9 cargo +1.98.1 install cargo-fuzz --version 0.13.2 --locked
     10 ```
     11 
     12 Run a target:
     13 
     14 ```sh
     15 cargo fuzz run p2p_envelope
     16 cargo fuzz run compact_snapshot
     17 cargo fuzz run domain_json
     18 cargo fuzz run stratum_request
     19 cargo fuzz run wallet_config
     20 cargo fuzz run vdf_proof
     21 cargo fuzz run transaction_v2
     22 ```
     23 
     24 cargo fuzz requires a nightly Rust toolchain and adds sanitizer and coverage instrumentation.
     25 For a bounded run, use for example:
     26 
     27 ```sh
     28 cargo +nightly fuzz run transaction_v2 -- -max_total_time=300
     29 ```
     30 
     31 The release gate also applies a 10-second per-input timeout so hangs are retained
     32 as actionable fuzzing failures alongside crashes.
     33 
     34 Short, uninstrumented crash smoke run without installing cargo-fuzz:
     35 
     36 ```sh
     37 cargo run --manifest-path fuzz/Cargo.toml --bin p2p_envelope -- -runs=1 fuzz/corpus/p2p_envelope
     38 cargo run --manifest-path fuzz/Cargo.toml --bin compact_snapshot -- -runs=1 fuzz/corpus/compact_snapshot
     39 cargo run --manifest-path fuzz/Cargo.toml --bin domain_json -- -runs=1 fuzz/corpus/domain_json
     40 cargo run --manifest-path fuzz/Cargo.toml --bin stratum_request -- -runs=1 fuzz/corpus/stratum_request
     41 cargo run --manifest-path fuzz/Cargo.toml --bin wallet_config -- -runs=1 fuzz/corpus/wallet_config
     42 cargo run --manifest-path fuzz/Cargo.toml --bin vdf_proof -- -runs=1 fuzz/corpus/vdf_proof
     43 cargo run --manifest-path fuzz/Cargo.toml --bin transaction_v2 -- -runs=1 fuzz/corpus/transaction_v2
     44 ```
     45 
     46 Targets intentionally accept malformed input. A parse error is fine; panics,
     47 crashes, excessive allocation, or timeouts are failures.