Thanks for contributing to the Soroban contracts behind Access Layer, a Stellar-native creator keys marketplace.
- Read the README for context.
- Review the scoped backlog in docs/open-source/issue-backlog.md.
- Keep pull requests limited to one contract concern at a time.
- Start a discussion before changing pricing, supply, authorization, or storage-model assumptions.
- Install the stable Rust toolchain.
- Make sure
rustfmtandclippyare available. - Run the workspace checks from this repo root.
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspaceOr use the helper targets:
make fmt-check
make clippy
make testFor testnet deployment steps, required CLI setup, and the release checklist used for contract updates, see docs/stellar-testnet-deployment.md.
- Document storage and event changes clearly.
- Treat buy, sell, fee, and supply logic as high-sensitivity areas.
- Prefer incremental contract changes over sweeping redesigns.
- Add or update tests for every behavior change.
- Keep names and comments specific to Access Layer and Stellar, not generic template wording.
Good first issues in this repo should:
- avoid protocol-level economic changes
- have narrow storage or event scope
- include explicit acceptance criteria
- be testable in isolation
If a change touches client UX or backend indexing, split that work into the appropriate repository instead of expanding contract scope.