Problem Statement There is no generated client-side TypeScript / JSON ABI in the repo. Off-chain tooling has to hand-craft the XDR shapes.
Expected Outcome A make bindings target that runs stellar contract bindings json --wasm target/wasm32v1-none/release/milestonex_campaign.wasm --out bindings/. The bindings file bindings/milestonex_campaign.json is committed and updated any time the contract changes (CI check).
Acceptance Criteria
make bindings produces bindings/milestonex_campaign.json.
- A CI check fails if the bindings file is stale.
- The bindings commit is automatically regenerated by a follow-up CI workflow on contract re-builds.
Implementation Notes
stellar contract bindings supports json, rust, and typescript outputs; pick one or maintain all.
Affected Files / Modules
Makefile
.github/workflows/ci.yml
- New:
bindings/ directory
Dependencies — Issue 14 (correct binary name).
Problem Statement There is no generated client-side TypeScript / JSON ABI in the repo. Off-chain tooling has to hand-craft the XDR shapes.
Expected Outcome A
make bindingstarget that runsstellar contract bindings json --wasm target/wasm32v1-none/release/milestonex_campaign.wasm --out bindings/. The bindings filebindings/milestonex_campaign.jsonis committed and updated any time the contract changes (CI check).Acceptance Criteria
make bindingsproducesbindings/milestonex_campaign.json.Implementation Notes
stellar contract bindingssupportsjson,rust, andtypescriptoutputs; pick one or maintain all.Affected Files / Modules
Makefile.github/workflows/ci.ymlbindings/directoryDependencies — Issue 14 (correct binary name).