# ZKP2P M2 Review
## Review
| No. | Deliverable | Specification | Status |
|---|---|---|---|
| 1 | Documentation | We will provide both inline documentation of the UI code and a basic tutorial that explains how a user can (for example) spin up the application. Application is up, it will be possible to send test transactions that will show how the new functionality works. | ✅ - See Demo |
| 2 | Testing | The code will have proper unit-test coverage (e.g. 90%) for both circuits and smart contracts to ensure functionality and robustness. In the guide we will describe how to run these tests. | ✅ - See [circuits](https://github.com/zkp2p/zk-p2p/tree/main/circuits-circom/test) and [contracts](https://github.com/zkp2p/zk-p2p/tree/brian/ramp/contracts/test) |
| 3 | Functionality - Ramp.sol offramper isn’t honest | Smart contract that accounts for dishonest offramper. Deposit liquidity includes a fee bounty where if offramper does not submit proof within x min, then onramper is given this rebate. Settle order (onramper fallback flow). | ✅ - [contracts](https://github.com/zkp2p/zk-p2p/tree/brian/integrate-verifiers/contracts/test) |
| 4 | Functionality - Onramper Send Payment Circuit | Main circuit that onramper uses to generate a proof of payment if offramper fails to generate proof above. Verifies the DKIM signature (RSA, SHA256). Extracts payee ID and amount for the Venmo transaction. Houses nullifier to prevent replay attacks. Contains other order information to tie a proof to an order ID to prevent frontrunning. | ✅ - [circuit](https://github.com/zkp2p/zk-p2p/blob/brian/ramp/circuits-circom/venmo_send.circom) |
| 5 | Functionality - Venmo Amount Regex support | Regex config generated using zk-email that extracts $ amount sent from the email's header in a payment sent email. | ✅ - [regex template](https://github.com/zkp2p/zk-p2p/blob/brian/ramp/circuits-circom/regexes/venmo_amount.circom) |
| 6 | Venmo Extract Offramper ID Regex support | Regex config generated using zk-email that extracts the Venmo ID of the payee (user who was paid) from a venmo payment sent email's subject body. | ✅ - [regex template](https://github.com/zkp2p/zk-p2p/blob/brian/ramp/circuits-circom/regexes/venmo_send_id.circom) |
| 7 | Application - Onramper UI core path | On ramping UI. Implement initial Uniswap trade UI component, best rate is automatically shown for an input amount. Implement component for an order intent transaction. | ✅ - [Client](https://github.com/zkp2p/zk-p2p/tree/brian/ramp/client) |
## Updates
* Circuits and testing added coverage for:
* On and off-ramper payment verification: using payment sent and payment received
* Registration: using either of the above plus payment-request-completed-sent and requested-completed-received
* Smart contract finalized and adding test coverage for:
* Registration, offRamp, and signalIntent
* Pulled in updated verifiers and added tests
* [Client](https://peaceful-dolphin-73028c.netlify.app/swap) deployed to remote host, (currently on Netlify, will replace zkp2p.xyz)
* Basic components across all pages completed
* Beginning integration with smart contract / circuits
### Swap page

## Open Questions
* License?