Problem Statement
The workspace has a Makefile in course-registry (stellar contract build) but no workspace-level deployment script. Deploying Orivex end-to-end currently requires manual sequencing with no idempotency:
- Deploy reward-pool, initialize.
- Deploy badge-nft, initialize.
- Deploy course-registry, initialize.
set_reward_pool_address, set_badge_nft_address.
- Deploy quest-engine, initialize.
- Deploy stake-vault, initialize.
- Deploy governance, initialize.
add_approved_spender reward-pool(course-registry) and reward-pool(quest-engine).
There is no automation; operators run these by hand.
Why It Matters
- Manual deployments are error-prone.
- Disaster recovery requires exact sequence, which should be in source control.
Expected Outcome
- A
tools/deploy.ts (preferred: TypeScript with Stellar SDK).
- A
tools/deploy.sh shell alternative.
- A
tools/Cargo.toml workspace at the repo root for tooling crates.
- Idempotent: re-running on a fully-deployed state should not double-initialize.
- Tested against
screento or stellar-cli's local network.
Acceptance Criteria
- New
tools/deploy.sh <network> deploys all six contracts to the target network.
tools/status.sh queries each contract and prints a health report.
- README documents both commands.
Implementation Notes
Files / Modules Affected
- New
tools/ directory at repo root.
README.md updated.
Dependencies
None.
Difficulty
Medium.
Estimated Effort
2–3 days.
Suggested Labels
devops, tooling, P2
Problem Statement
The workspace has a
Makefileincourse-registry(stellar contract build) but no workspace-level deployment script. Deploying Orivex end-to-end currently requires manual sequencing with no idempotency:set_reward_pool_address,set_badge_nft_address.add_approved_spenderreward-pool(course-registry) and reward-pool(quest-engine).There is no automation; operators run these by hand.
Why It Matters
Expected Outcome
tools/deploy.ts(preferred: TypeScript with Stellar SDK).tools/deploy.shshell alternative.tools/Cargo.tomlworkspace at the repo root for tooling crates.screentoorstellar-cli's local network.Acceptance Criteria
tools/deploy.sh <network>deploys all six contracts to the target network.tools/status.shqueries each contract and prints a health report.Implementation Notes
stellar-cli'scontract deploysubcommand.deployments/<network>.json(admin addresses, contract IDs).Files / Modules Affected
tools/directory at repo root.README.mdupdated.Dependencies
None.
Difficulty
Medium.
Estimated Effort
2–3 days.
Suggested Labels
devops,tooling,P2