@@ -14,6 +14,41 @@ There is no company, licensing fee, or monetization model behind OpenEscrow —
1414
1515---
1616
17+ ## System Wireframe
18+
19+ [ Tenant Wallet]
20+ |
21+ createAgreement()
22+ |
23+ +-------------+
24+ | OpenEscrow |---> (optional call) ---> [ RulesModule]
25+ | Core |---> (optional call) ---> [ YieldModule]
26+ +-------------+
27+ |
28+ [ Factory] --- createVault() ---> [ UserVaults]
29+ |
30+ [ EscrowViewer]
31+ |
32+ read info/multicall
33+ v
34+ [ Dashboard / UI]
35+
36+ ---
37+
38+ ## Core Entities & Functions
39+
40+ | Entity | Type | Description | Key Functions |
41+ | ----------------| -----------| --------------------------------------------------------| --------------------------------------------|
42+ | OpenEscrowCore | Contract | Main escrow logic, handles deposits, releases, refunds | createAgreement, releaseFunds, refund |
43+ | Factory | Contract | Creates vaults/escrows for each user | createVault, getVault |
44+ | EscrowViewer | Contract | Read-only view, off-chain reading for UI/dashboards | getAgreement, getAllAgreements |
45+ | RulesModule | Interface | Optional module to add rules/validation | validateRelease |
46+ | YieldModule | Interface | Optional yield integration (Aave/Compound/mock) | claimYield, viewYield |
47+ | Agreement | Struct | Data for a single escrow (tenant, landlord, amount…) | (in OpenEscrowCore.agreements mapping) |
48+
49+ ---
50+
51+
1752### MVP Scope (Q3 2025)
1853
1954- Escrow for rental deposits
@@ -120,6 +155,55 @@ We are seeking **$60,000** to build, audit, and launch a secure, fully open-sour
120155
121156---
122157
158+ ## 🧪 How to Test Locally
159+
160+ 1 . ** Install Foundry (if not already)**
161+ ``` bash
162+ curl -L https://foundry.paradigm.xyz | bash
163+ foundryup
164+
165+ 2. ** Clone the repo and install**
166+ ` ` ` bash
167+ git clone < repo_url>
168+ cd OpenEscrow
169+
170+ 3. ** Run all testsl**
171+ ` ` ` bash
172+ forge test
173+
174+ 4. ** Run a single test suite**
175+ ` ` ` bash
176+ forge test --match-contract RefundWithYieldTest
177+
178+ 5. ** See gas usage**
179+ ` ` ` bash
180+ forge test --gas-report
181+
182+ All core flows (refund, release, yield, factory, viewer) are fully tested and should pass [PASS].
183+
184+ ---
185+
186+ # # Features Covered / TODO / Roadmap
187+
188+ # ## ✅ Features Covered
189+
190+ - Modular escrow contract with pluggable modules (rules, yield)
191+ - Refund and release flows with tested yield split (tenant/landlord)
192+ - Factory for multi-user/multi-vault management
193+ - EscrowViewer for off-chain dashboard/analytics
194+ - Core error handling and revert tests
195+
196+ # ## 🟡 TODO / Roadmap
197+
198+ - EIP-712 signature-based interactions (walletless UX)
199+ - Factory advanced (clones, multi-chain, mapping)
200+ - EscrowViewer: batch reads, indexer, pagination
201+ - UI: Minimal testnet demo / Remix playground
202+ - Partial refund logic (see contract TODO)
203+ - Docs polish, NatSpec, audit pass, contributor guide
204+
205+ ---
206+
123207# ## About the Project Lead
124208
125209** Omri Gross**
0 commit comments