zera-sdk 0.1.0

Rust SDK for ZERA transactions, validator APIs, and bridge workflows
Documentation

zera.rust

Rust workspace for the ZERA SDK migration.

Current state

Migration scaffolding and parity phases are landed in this repo:

  • ✅ Workspace + toolchain setup (Cargo.toml, rust-toolchain.toml)
  • ✅ Canonical protobuf snapshot in proto/ + generated Rust types in crates/zera-proto
  • ✅ Core SDK crate in crates/zera-sdk
  • ✅ Phase 2 wrappers (bridge ZERA, dex, staking)
  • ✅ Phase 3 bridge additions (guardian fetch/submit + solana builders/orchestration)
  • ✅ CI matrix for default + feature-gated verification (.github/workflows/ci.yml)

For parity tracking, see docs/parity-matrix.md.

Feature flags (crates/zera-sdk)

Default build keeps optional Phase 3 bridge modules off.

  • bridge-guardian
    • Enables guardian gRPC helpers and guardian bridge APIs
    • Exposes zera_sdk::smart_contracts::use_cases::bridge::guardian
    • Includes submit_vaa_to_zera
  • bridge-solana
    • Enables Solana bridge constants/types/utils/builders
    • Exposes zera_sdk::smart_contracts::use_cases::bridge::solana
  • bridge-phase3
    • Convenience flag enabling both bridge-guardian and bridge-solana

submit_vaa_to_solana is exported from bridge::guardian and is available only when both bridge-guardian and bridge-solana are enabled.

Recommended verification

Prereq: protoc must be installed (CI installs protobuf-compiler).

Run the same checks used in CI:

cargo test -p zera-sdk
cargo test -p zera-sdk --features bridge-guardian --test grpc__guardian --test smart_contracts__bridge_guardian
cargo test -p zera-sdk --features bridge-solana --test smart_contracts__bridge_solana_transactions --test smart_contracts__bridge_solana_utils
cargo test -p zera-sdk --features "bridge-guardian bridge-solana" --test grpc__guardian --test smart_contracts__bridge_guardian --test smart_contracts__bridge_guardian_solana --test smart_contracts__bridge_solana_transactions
cargo test -p zera-sdk --features "bridge-guardian bridge-solana" --examples

If you only want one Phase 3 flag switch, use:

cargo test -p zera-sdk --features bridge-phase3 --examples