This document tracks tasks related to the TypeScript SDK, CLI tools, and DevOps for OrbitPay.
When you complete an issue:
- Mark the checkbox
[x] - Append your GitHub username and the Date/Time.
- Example:
- [x] Setup SDK project (@yourname - 2026-02-18 15:00 UTC)
Priority: Critical
Labels: sdk, typescript, good-first-issue
Description: Initialize the TypeScript SDK package.
- Tasks:
- Create
sdk/directory at project root. - Initialize with
package.json,tsconfig.json. - Setup build tooling (tsup or tsc).
- Export main
OrbitPayClientclass. - Add
@stellar/stellar-sdkas dependency.
- Create
Priority: High
Labels: sdk, typescript, treasury
Description: TypeScript wrapper for treasury contract interactions.
- Tasks:
-
Treasury.deposit(token, amount)— build + submit deposit transaction. -
Treasury.createWithdrawal(token, recipient, amount, memo)— create proposal. -
Treasury.approveWithdrawal(proposalId)— approve proposal. -
Treasury.executeWithdrawal(proposalId)— execute approved proposal. -
Treasury.getConfig()— query treasury configuration. -
Treasury.getWithdrawal(id)— query specific withdrawal.
-
Priority: High
Labels: sdk, typescript, payroll
Description: TypeScript wrapper for payroll stream contract interactions.
- Tasks:
-
PayrollStream.create(recipient, token, amount, start, end)— create stream. -
PayrollStream.claim(streamId)— claim accrued tokens. -
PayrollStream.cancel(streamId)— cancel stream. -
PayrollStream.getClaimable(streamId)— query claimable amount. -
PayrollStream.getStream(streamId)— query stream details. -
PayrollStream.listByRecipient(address)— list received streams.
-
Priority: High
Labels: sdk, typescript, vesting
Description: TypeScript wrapper for vesting contract interactions.
- Tasks:
-
Vesting.createSchedule(...)— create vesting schedule. -
Vesting.claim(scheduleId)— claim vested tokens. -
Vesting.revoke(scheduleId)— revoke schedule. -
Vesting.getProgress(scheduleId)— query vesting progress. -
Vesting.listByBeneficiary(address)— list schedules.
-
Priority: Medium
Labels: sdk, typescript, docs
Description: Comprehensive TypeScript types and JSDoc documentation.
- Tasks:
- Define all contract types in TypeScript:
WithdrawalRequest,WithdrawalStatusPayrollStream,StreamStatusVestingSchedule,VestingStatus,VestingProgressProposal,ProposalStatus,VoteChoice
- Add JSDoc comments to all SDK methods.
- Generate API docs with TypeDoc.
- Add usage examples in
sdk/README.md.
- Define all contract types in TypeScript:
Priority: High
Labels: tooling, cli
Description: Build a CLI tool for deploying OrbitPay contracts to Stellar.
- Tasks:
- Create
scripts/deploy.shfor Soroban CLI deployment. - Build each contract:
soroban contract build. - Deploy to testnet:
soroban contract deploy. - Initialize each contract after deployment.
- Save deployed contract IDs to
.envordeployed.json.
- Create
Priority: High
Labels: testing, integration
Description: Cross-contract integration tests.
- Tasks:
- Test governance → treasury fund disbursement flow.
- Test full lifecycle: deposit → stream → claim.
- Test full lifecycle: deposit → vest → claim.
- Simulate multi-user scenarios in test environment.
Priority: Medium
Labels: devops, ci
Description: Setup GitHub Actions for automated testing and building.
- Tasks:
- Workflow:
cargo test --allon PR tomain. - Workflow:
cargo build --release --allto verify compilation. - Workflow:
npm run lintfor frontend on PR. - Workflow:
npm run buildfor frontend on PR. - Add badges to README.
- Workflow:
Priority: Low
Labels: tooling, docs
Description: Auto-generate contract documentation from source.
- Tasks:
- Use
cargo docwith custom configuration. - Deploy docs to GitHub Pages.
- Include architecture diagrams (Mermaid).
- Cross-link contract docs with issue tracker.
- Use
Priority: Medium
Labels: tooling, testing
Description: Automate testnet funding for development.
- Tasks:
- Create
scripts/fund-testnet.shscript. - Use Stellar Friendbot API for XLM funding.
- Fund multiple test accounts in batch.
- Wrap test token deployment for payroll/vesting testing.
- Add setup instructions to
CONTRIBUTING.md.
- Create
(Move completed items here)