diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..a212990 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,90 @@ +--- +name: "Bug Report" +about: "Report a bug in the OrbitStream Soroban Contract" +title: "[BUG] " +labels: ["bug", "needs-triage"] +assignees: "" +--- + +# Bug Report + +## πŸ” Is this a regression? + + + +## πŸ“ Description + + + +## πŸ”„ Steps to Reproduce + +1. +2. +3. + +## βœ… Expected Behavior + + + +## ❌ Actual Behavior + + + +## 🌍 Environment + +- **OS**: [e.g., Ubuntu 22.04, macOS 14] +- **Rust version**: [e.g., 1.75.0] +- **Soroban SDK version**: [e.g., 21.0.0] +- **Stellar network**: [testnet / mainnet] +- **Contract deployment**: [deployed / local only] + +## πŸ“‹ Contract Details + +- **Contract name**: [e.g., OrbitStream] +- **Contract ID**: [e.g., CABC...1234 (if deployed)] +- **Function called**: [e.g., create_escrow] +- **Transaction hash**: [e.g., abc123... (if applicable)] + +## πŸ“‹ Arguments Passed + + + +```rust +// Example +client.create_escrow(&buyer, &seller, &token, &1000, &3600); +``` + +## πŸ” Error Output + + + +``` +[Paste error here] +``` + +## πŸ§ͺ Test Case + + + +```rust +#[test] +fn test_reproduce_bug() { + let env = Env::default(); + // ... +} +``` + +## πŸ“‹ Storage State + + + +## πŸ“Ž Additional Context + + + +## βœ… Checklist + +- [ ] I have searched existing issues and this is not a duplicate +- [ ] I am using the latest version of Soroban SDK +- [ ] I have included contract function and arguments +- [ ] I have included error output diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..862b2a1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Documentation + url: https://github.com/your-org/OrbitStream/blob/main/orbitstream_docs/README.md + about: Read the OrbitStream documentation before opening an issue + - name: Security Vulnerability + url: https://github.com/your-org/OrbitStream/security/advisories/new + about: Report security vulnerabilities privately diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..67026c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,82 @@ +--- +name: "Feature Request" +about: "Suggest a new feature or enhancement for the OrbitStream Soroban Contract" +title: "[FEAT] " +labels: ["enhancement", "needs-triage"] +assignees: "" +--- + +# Feature Request + +## πŸ“ Summary + + + +## 🎯 Problem Statement + + + +## πŸ’‘ Proposed Solution + + + +## πŸ”„ Alternatives Considered + + + +## πŸ“‹ Acceptance Criteria + + + +- [ ] Criterion 1 +- [ ] Criterion 2 +- [ ] Criterion 3 + +## πŸ—οΈ Implementation Notes + + + +### Contract Function Signature (if applicable) + +```rust +// Example new function +pub fn new_function(env: Env, param: Address) -> Result { + // ... +} +``` + +### Storage Changes (if applicable) + +```rust +// Example storage key additions +``` + +### Events (if applicable) + +```rust +// Example new event +``` + +### Affected Contract Areas + +- [ ] Escrow (create/release/refund) +- [ ] Storage +- [ ] Events +- [ ] Errors +- [ ] Tests +- [ ] Other: ___ + +## πŸ“Ž Related Issues/PRs + + + +## πŸ“‹ Additional Context + + + +## βœ… Checklist + +- [ ] I have searched existing issues and this is not a duplicate +- [ ] I have clearly described the problem this feature solves +- [ ] I have provided acceptance criteria +- [ ] I have considered the impact on existing contract functions diff --git a/Orbitstream-Project-Idea.md b/Orbitstream-Project-Idea.md new file mode 100644 index 0000000..ec89809 --- /dev/null +++ b/Orbitstream-Project-Idea.md @@ -0,0 +1,253 @@ +# OrbitStream + +**A developer-friendly payment gateway for Stellar β€” Stripe-like DX, Stellar-native rails.** + +--- + +## The Problem + +Stellar has the best payment infrastructure in crypto: + +- **5-second finality** β€” near-instant settlement +- **$0.00001 transaction fees** β€” cheapest of any major chain +- **$83M+ USDC supply** with $4.2B total payment volume +- **MoneyGram Access** β€” cash rails at 350K+ locations globally +- **Mature anchor network** β€” fiat on/off ramps in 40+ countries +- **Built-in DEX** β€” native multi-asset support (USDC, EURC, XLM) +- **Regulatory-friendly** β€” compliance baked into SEP protocols + +**But there is no merchant-facing product layer.** + +A business that wants to accept USDC on Stellar today must build payment detection, confirmation logic, checkout UI, and settlement flows from scratch. The gap between "Stellar can move money" and "a merchant can accept Stellar payments in 10 minutes" is enormous. + +Solana Pay has a merchant SDK but lacks Stellar's fiat infrastructure (SEPs, anchors, MoneyGram). No one has built a Stripe-like checkout layer on top of Stellar's existing rails. + +--- + +## The Solution + +OrbitStream provides the missing merchant layer: + +| Capability | Description | +|---|---| +| **JS/React SDK** | `` β€” drop a payment widget on any page | +| **Hosted checkout page** | Shareable payment link (like Stripe Payment Links) | +| **Embeddable widget** | Modal/inline checkout that handles wallet connection + payment | +| **Webhook notifications** | Confirmed payment events delivered to merchant's endpoint | +| **Merchant dashboard** | Transaction history, settlements, payment status, analytics | +| **Multi-asset support** | Accept USDC, EURC, or XLM; display in merchant's preferred fiat currency | + +### How It Works + +``` +Customer OrbitStream Merchant +-------- ---------------- -------- + | | | + | Click "Pay" | | + |------------------------------->| | + | | | + | Checkout page/widget loads | | + |<-------------------------------| | + | | | + | Select asset (USDC/XLM) | | + | Connect wallet or scan QR | | + |------------------------------->| | + | | | + | Sign payment transaction | | + |------------------------------->| | + | | Monitor ledger for | + | | payment confirmation | + | | | + | | Webhook: payment.confirmed + | |------------------------->| + | | | + | Payment confirmed screen | | + |<-------------------------------| | +``` + +### Technical Architecture + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ OrbitStream β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Frontend β”‚ Backend β”‚ Indexer β”‚ Dashboard β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ - React SDK β”‚ - Payment β”‚ - Stellar β”‚ - Merchant β”‚ +β”‚ - Checkout β”‚ detection β”‚ ledger β”‚ portal β”‚ +β”‚ page β”‚ - Webhook β”‚ watcher β”‚ - Analytics β”‚ +β”‚ - Widget β”‚ dispatch β”‚ - Event β”‚ - Settings β”‚ +β”‚ - QR codes β”‚ - Session β”‚ indexing β”‚ - Webhooks β”‚ +β”‚ β”‚ mgmt β”‚ - Tx historyβ”‚ config β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ Stellar Network β”‚ +β”‚ - Stellar SDK (JS/Python) β”‚ +β”‚ - SEP-24 (fiat on/off ramps) β”‚ +β”‚ - Stellar Asset Contract (Soroban) β”‚ +β”‚ - Built-in DEX (multi-asset) β”‚ +β”‚ - Anchor Network (fiat settlement) β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +**Stack:** +- **Frontend:** React/TypeScript SDK, embeddable widget (Web Components for framework-agnostic use) +- **Backend:** Node.js or Go β€” payment session management, webhook dispatch, merchant API +- **Indexer:** Stellar ledger watcher β€” monitors accounts for incoming payments, confirms finality +- **Dashboard:** Next.js web app β€” merchant portal for transactions, settings, analytics +- **Smart Contracts (optional):** Soroban contracts for escrow, dispute resolution, or subscription logic + +--- + +## MVP Scope + +### Phase 1 β€” Core Checkout (Weeks 1-4) + +| Deliverable | Description | +|---|---| +| Payment session API | Create checkout session β†’ returns payment URL | +| Hosted checkout page | Customer-facing page: shows amount, asset options, QR code, wallet connect | +| Stellar payment detection | Backend monitors Stellar account for incoming payment matching session | +| Webhook dispatch | `payment.confirmed` event sent to merchant's configured endpoint | +| JS SDK (v0.1) | `createCheckout({ amount, currency, onSuccess })` β€” basic integration | +| Testnet support | Full flow on Stellar testnet | + +### Phase 2 β€” Merchant Experience (Weeks 5-8) + +| Deliverable | Description | +|---|---| +| Merchant dashboard | Auth, transaction history, API key management | +| Payment links | Generate shareable URLs (no code required) | +| Embeddable widget | `