Contributing Guide
We welcome contributions to soroban-budget-assert.
Workflow
- Fork the repository.
- Create a feature branch.
- Commit your changes using conventional commits (e.g.,
feat(macro): add new limit). - Push to your fork and submit a Pull Request.
Requirements
- All new CLI features must support the
--jsonflag. - Macro changes must include corresponding
#[test]cases in theamm-pool-contract. - Do not introduce panics in the CLI; use
anyhow::Resultfor 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 to27.0.6inCargo.lock) - Supported XDR Version:
stellar-xdr="27.0.0"(used for decoding transaction simulation responses) - Corresponding Stellar Protocol: Protocol 27
Compatibility Matrix
| SDK Version | Protocol Version | Status | Notes |
|---|---|---|---|
| < 22.0.0` | < 22` | Untested | Older protocols may use different transaction/resource schemas. |
22.0.x | 22 | Untested | Previously supported; superseded by SDK 27 workspace baseline. |
23.0.x – 26.0.x | 23 – 26 | Untested | Not pinned in the workspace; may work but are untested. |
27.0.x | 27 | Supported | Matches pinned manifest dependencies (soroban-sdk 27.0.3, stellar-xdr 27.0.0). |