Skip to content

Contributing Guide ​

We welcome contributions to soroban-budget-assert.

Workflow ​

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes using conventional commits (e.g., feat(macro): add new limit).
  4. Push to your fork and submit a Pull Request.

Requirements ​

  • All new CLI features must support the --json flag.
  • Macro changes must include corresponding #[test] cases in the amm-pool-contract.
  • Do not introduce panics in the CLI; use anyhow::Result for graceful error handling.
  • When adding a new cost metric, follow the Adding a New Cost Metric guide to ensure all coordinated edits are made.

⚙️ Supported Versions & Compatibility ​

  • Supported SDK Version: soroban-sdk = "27.0.3" (specifically tested/resolved to 27.0.6 in Cargo.lock)
  • Supported XDR Version: stellar-xdr = "27.0.0" (used for decoding transaction simulation responses)
  • Corresponding Stellar Protocol: Protocol 27

Compatibility Matrix ​

SDK VersionProtocol VersionStatusNotes
< 22.0.0`< 22`UntestedOlder protocols may use different transaction/resource schemas.
22.0.x22UntestedPreviously supported; superseded by SDK 27 workspace baseline.
23.0.x – 26.0.x23 – 26UntestedNot pinned in the workspace; may work but are untested.
27.0.x27SupportedMatches pinned manifest dependencies (soroban-sdk 27.0.3, stellar-xdr 27.0.0).

Built for the Stellar & Soroban ecosystem.