## MVP
> Withdrawls and Conversions are NOT detailed YET that is WIP for MVP
```mermaid
graph TB
Start((Start)) --> ConnectWallet{Connect Wallet}
ConnectWallet --> DepositETH{Deposit ETH}
DepositETH --> AssertETH{Assert ETH >= 0.01}
AssertETH -- Yes --> MintmevETH{Mint mevETH}
MintmevETH --> End((End))
AssertETH -- No --> Error{Error: Minimum deposit is 0.01 ETH}
Error --> Start
ConnectWallet --> AssertWallet{Assert Wallet Connection}
AssertWallet -- No --> ErrorWallet{Error: Wallet not connected}
ErrorWallet --> Start
AssertWallet -- Yes --> DepositETH
```
The diagram starts with the user at the beginning of their journey. The user then attempts to connect their wallet. If the wallet connection is successful, the user proceeds to deposit ETH. If the wallet connection fails, an error message is displayed and the user is directed back to the start.
Once the user has successfully connected their wallet and deposited ETH, an assertion is made to ensure that the deposited amount is greater than or equal to 0.01 ETH. If the deposited amount is less than 0.01 ETH, an error message is displayed and the user is directed back to the start.
If the deposited amount is greater than or equal to 0.01 ETH, the user proceeds to mint mevETH. After successfully minting mevETH, the user journey ends.
## v1.0.0.0-ish
L1/L2 support etc etc?
![](https://hackmd.io/_uploads/HkFzMRHsh.png)
The diagram starts with the determineEntry state. If the entry is successful, the state transitions to welcome. If there is an error during entry, an error state Error1 is triggered and the process ends.
From the welcome state, the process moves to loading after the welcome is acknowledged. If there is an error during loading, an error state Error2 is triggered and the process ends.
This pattern continues through the states assignContext, fetchBalancesAndAllowances, resetTransactionHash, waitForTx, send, sending, recoverNetwork, disclaimer, reset, settings, generateL1, resetTransactionHash, readyToPair, pairing, and accountState. At each state, if there is an error, an error state is triggered and the process ends.
The process ends successfully when the accountState is updated.
```mermaid
stateDiagram-v2
[*] --> determineEntry
determineEntry --> welcome: Successful Entry
determineEntry --> Error1: Entry Error
welcome --> loading: Welcome Acknowledged
loading --> assignContext: Data Loaded
loading --> Error2: Loading Error
assignContext --> fetchBalancesAndAllowances: Context Assigned
fetchBalancesAndAllowances --> resetTransactionHash: Balances Fetched
fetchBalancesAndAllowances --> Error3: Fetching Error
resetTransactionHash --> waitForTx: Transaction Hash Reset
waitForTx --> send: Transaction Detected
waitForTx --> Error4: Waiting Error
send --> sending: Send Initiated
sending --> recoverNetwork: Transaction Sent
sending --> Error5: Sending Error
recoverNetwork --> disclaimer: Network Recovered
disclaimer --> reset: Disclaimer Acknowledged
reset --> settings: Reset Completed
settings --> generateL1: Settings Configured
generateL1 --> resetTransactionHash: L1 Generated
resetTransactionHash --> readyToPair: Transaction Hash Reset
readyToPair --> pairing: Pairing Initiated
pairing --> accountState: Pairing Successful
accountState --> [*]: Account State Updated
Error1 --> [*]: Error Handled
Error2 --> [*]: Error Handled
Error3 --> [*]: Error Handled
Error4 --> [*]: Error Handled
Error5 --> [*]: Error Handled
```