Skip to content

feat: deploy every supported contract to testnet with verified manifests - #310

Open
ranjeetprabhatedu-dotcom wants to merge 1 commit into
JointSave-org:mainfrom
ranjeetprabhatedu-dotcom:feat/testnet-deploy-verified-manifests
Open

ranjeetprabhatedu-dotcom wants to merge 1 commit into
JointSave-org:mainfrom
ranjeetprabhatedu-dotcom:feat/testnet-deploy-verified-manifests

Conversation

@ranjeetprabhatedu-dotcom

Copy link
Copy Markdown

Summary

This PR provides a single reproducible, verified testnet deployment path for every supported contract in the JointSave suite, with manifests and environment configurations matching real on-chain ledger state.

Key Changes

  • Single WASM Target Alignment: Unified build target to wasm32-unknown-unknown across rust-toolchain.toml, smartcontract/scripts/deploy.sh, CI workflows (deploy.yml, test.yml), and documentation.
  • Full 9-Contract Suite Deployment & Initialization: Deploys and initializes Factory, Reputation, Governance, Microloan, Yield Strategy, and mock Yield Vault; uploads Rotational, Target, and Flexible pool template WASMs.
  • Verified Deployment Manifest: Updated smartcontract/deployments/stellar-testnet.json with non-null contract IDs, WASM hashes, network details, deployer address, timestamp, and verification status.
  • Automated On-Chain Verification Command: Added smartcontract/scripts/verify.sh to query each deployed contract and template WASM hash directly on Stellar testnet and verify that ledger entry code hashes match the manifest.
  • Fail-Fast Deployment & CI Enforcement: Updated .github/workflows/deploy.yml and .github/workflows/test.yml to build all nine contracts without silently skipping any, and fail immediately if any build, upload, deploy, initialize, or verification step fails.
  • Documentation & Environment Updates: Updated README.md, smartcontract/README.md, docs/contract-api.md, and frontend/.env.example with verified testnet addresses.

Acceptance Criteria

  • A clean checkout can run one documented command to build and deploy every supported contract (./smartcontract/scripts/deploy.sh).
  • The deployment manifest contains non-null IDs/hashes for every contract that is meant to have a testnet instance.
  • The verification command passes against the recorded manifest (./smartcontract/scripts/verify.sh).
  • CI builds all nine contracts and the deploy workflow uses the same target and script logic.
  • README and env examples no longer describe missing governance, microloan, yield-strategy, or yield-vault deployments.
  • The deploy path fails loudly on any skipped or failed step.

Closes #292

@vercel

vercel Bot commented Nov 11, 2026

Copy link
Copy Markdown

@ranjeetprabhatedu-dotcom is attempting to deploy a commit to the Sendi John's projects Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Deploy every supported contract to testnet with verified manifests

1 participant