safe-rs 0.9.0

Rust library for Safe v1.4.1 smart account interaction
Documentation
# Anvil rate-limiting configuration
anvil_compute_units := "100"
anvil_retries := "10"
anvil_timeout := "4000"
anvil_env := "ANVIL_COMPUTE_UNITS_PER_SECOND=" + anvil_compute_units + " ANVIL_RETRIES=" + anvil_retries + " ANVIL_TIMEOUT=" + anvil_timeout

# Default recipe
default:
    @just --list

# Run all tests
test:
    cargo test

# Run E2E tests with rate-limited Anvil config (requires ETH_RPC_URL)
test-e2e:
    cargo test --test e2e -- --test-threads=1

# Run E2E tests with rate-limited Anvil config (requires ETH_RPC_URL)
test-e2e-rpc:
    {{anvil_env}} cargo test --test e2e -- --test-threads=1 --nocapture

# Run specific E2E test module with rate limiting
test-e2e-rpc-filter filter:
    {{anvil_env}} cargo test {{filter}} --test e2e -- --test-threads=1 --nocapture

# Run clippy
lint:
    cargo clippy --all-targets --all-features

# Format code
fmt:
    cargo fmt

# Check formatting
fmt-check:
    cargo fmt -- --check

# Build the project
build:
    cargo build

# Build release
build-release:
    cargo build --release

# Clean build artifacts
clean:
    cargo clean

# Run tests with coverage and generate HTML report
coverage:
    {{anvil_env}} cargo llvm-cov --workspace --html

# Run coverage and open HTML report in browser
coverage-open:
    {{anvil_env}} cargo llvm-cov --workspace --html --open

# Run coverage including E2E tests (requires ETH_RPC_URL)
coverage-e2e:
    {{anvil_env}} cargo llvm-cov --workspace --html -- --test-threads=1

# Generate LCOV format for CI integration
coverage-lcov:
    {{anvil_env}} cargo llvm-cov --workspace --lcov --output-path coverage.lcov

# Clean coverage artifacts
coverage-clean:
    cargo llvm-cov clean --workspace