Skip to content

feat: add Stellar deployment script and instructions#36

Open
thebabalola wants to merge 1 commit into
wraith-protocol:developfrom
thebabalola:feat/stellar-deploy-script
Open

feat: add Stellar deployment script and instructions#36
thebabalola wants to merge 1 commit into
wraith-protocol:developfrom
thebabalola:feat/stellar-deploy-script

Conversation

@thebabalola
Copy link
Copy Markdown

Added a versatile bash script for deploying all Stellar contracts to testnet, futurenet, or mainnet. Also added a README with build and deployment instructions. Closes #7.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@thebabalola Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@thebabalola thebabalola marked this pull request as ready for review May 29, 2026 21:08
@thebabalola
Copy link
Copy Markdown
Author

Hi @maintainer, I've added the Stellar deployment script and setup instructions. Ready for your review!

@truthixify truthixify changed the base branch from main to develop June 1, 2026 15:11
@truthixify
Copy link
Copy Markdown
Contributor

The skeleton is right — accepting a network argument, deploying all four contracts in order, initializing stealth-sender with the announcer ID. Good baseline.

The blocker for merging is that the SDK and downstream consumers can't pick up the deployment automatically from echo output. Could you add:

  1. JSON deployment manifest — write stellar/deployments/<network>.json with the schema the issue spec lays out:

    {
      "network": "futurenet",
      "deployer": "G...",
      "deployedAt": "2026-XX-XX...",
      "contracts": {
        "stealthAnnouncer": "C...",
        "stealthRegistry": "C...",
        "stealthSender": "C...",
        "wraithNames": "C..."
      }
    }

    This is the single most important deliverable — without it the SDK's getDeployment('stellar') can't read addresses.

  2. Build + optimize step — currently the script assumes target/wasm32-unknown-unknown/release/*.wasm exists. Add cargo build --target wasm32-unknown-unknown --release and stellar contract optimize so it works from a clean checkout.

  3. Idempotency guard — refuse to overwrite an existing deployments/<network>.json unless --force is passed. Mainnet sneakers will thank you.

  4. --dry-run mode — print planned operations without spending fees. Useful for code review against deployed state.

Optional but nice: a verification step at the end that calls a read-only function on each fresh contract and confirms a sane response.

Once the JSON manifest piece lands the rest of the protocol (SDK, demo, Spectre) can start consuming the futurenet deployment automatically. Thanks @thebabalola — happy to re-review.

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.

Stellar deployment script (testnet / futurenet / mainnet)

2 participants