Summary
The Soroban escrow contract (stellance/Contracts/src/lib.rs) is complete, test-covered (30 tests), and compiles to WASM. It has never been deployed to testnet. Issue #46 was created for this — this issue captures the full wiring work needed after deployment.
Steps
1. Deploy to testnet
# Install Stellar CLI
cargo install --locked stellar-cli --features opt
# Generate deployer account
stellar keys generate deployer --network testnet
# Fund via Friendbot
stellar keys fund deployer --network testnet
# Build + deploy
cd stellance/Contracts
cargo build --target wasm32-unknown-unknown --release
stellar contract deploy --wasm target/wasm32-unknown-unknown/release/stellance_escrow.wasm --source deployer --network testnet
2. Record the contract address
- Add
SOROBAN_CONTRACT_ID=C... to stellance/backend/.env.example
- Add
STELLAR_NETWORK=testnet to .env.example
3. Smoke-test the backend integration
- Start the backend with the real contract ID
- Call
POST /contracts/:id/fund and verify the returned XDR decodes correctly in Stellar Lab
- Verify
EscrowService.buildFundXdr() assembles the correct invokeContractFunction envelope
4. Update CI
- Add a contract address secret (
SOROBAN_CONTRACT_ID) to GitHub Actions secrets for testnet smoke tests
Acceptance criteria
Related
Summary
The Soroban escrow contract (
stellance/Contracts/src/lib.rs) is complete, test-covered (30 tests), and compiles to WASM. It has never been deployed to testnet. Issue #46 was created for this — this issue captures the full wiring work needed after deployment.Steps
1. Deploy to testnet
2. Record the contract address
SOROBAN_CONTRACT_ID=C...tostellance/backend/.env.exampleSTELLAR_NETWORK=testnetto.env.example3. Smoke-test the backend integration
POST /contracts/:id/fundand verify the returned XDR decodes correctly in Stellar LabEscrowService.buildFundXdr()assembles the correctinvokeContractFunctionenvelope4. Update CI
SOROBAN_CONTRACT_ID) to GitHub Actions secrets for testnet smoke testsAcceptance criteria
.env.exampleupdated withSOROBAN_CONTRACT_IDPOST /contracts/:id/fundreturns valid XDR on testnetdocs/local-development.mdRelated