rustreexo 0.6.0

A Rust implementation of Utreexo
Documentation
alias c := check
alias cs := check-sigs
alias d := doc
alias do := doc-open
alias f := fmt
alias l := lock
alias t := test
alias tns := test-no-std
alias p := pre-push

_default:
    @echo "> rustreexo"
    @echo "> A Rust implementation of Utreexo\n"
    @just --list

[doc: "Run benchmarks: accumulator, proof, stump"]
bench BENCH="":
    cargo rbmt run bench {{ if BENCH != "" { "--bench " + BENCH } else { "" } }}

[doc: "Check code formatting, compilation, and linting"]
check:
    cargo rbmt fmt --check
    cargo rbmt lint
    cargo rbmt docsrs

[doc: "Checks whether all commits in this branch are signed"]
check-sigs:
    bash contrib/check-commit-signatures.sh

[doc: "Generate documentation"]
doc:
    cargo rbmt docsrs

[doc: "Generate and open documentation"]
doc-open:
    cargo rbmt docsrs --open

[doc: "Format code"]
fmt:
    cargo rbmt fmt

[doc: "Regenerate Cargo-recent.lock and Cargo-minimal.lock"]
lock:
    cargo rbmt lock

[doc: "Run tests across all toolchains and lockfiles"]
test:
    rustup target add thumbv7m-none-eabi
    cargo rbmt test --toolchain stable --lockfile recent
    cargo rbmt test --toolchain stable --lockfile minimal

[doc: "Run no_std build check with the MSRV toolchain (1.74.0)"]
test-no-std:
    rustup target add thumbv7m-none-eabi --toolchain 1.74.0
    cargo rbmt test --toolchain msrv --lockfile minimal

[doc: "Run pre-push suite: lock, fmt, check, test, and test-no-std"]
pre-push:
    @just check-sigs
    @just lock
    @just fmt
    @just check
    @just test
    @just test-no-std