|
| 1 | +# [Project Name]: Design Doc |
| 2 | + |
| 3 | +| | | |
| 4 | +| ------------------ | -------------------------------------------------- | |
| 5 | +| Author | _Author Name_ | |
| 6 | +| Created at | _YYYY-MM-DD_ | |
| 7 | +| Initial Reviewers | _Reviewer Name 1, Reviewer Name 2_ | |
| 8 | +| Need Approval From | _Reviewer Name_ | |
| 9 | +| Status | _Draft / In Review / Implementing Actions / Final_ | |
| 10 | + |
| 11 | +## Purpose |
| 12 | + |
| 13 | +<!-- This section is also sometimes called “Motivations” or “Goals”. --> |
| 14 | + |
| 15 | +<!-- It is fine to remove this section from the final document, |
| 16 | +but understanding the purpose of the doc when writing is very helpful. --> |
| 17 | + |
| 18 | +## Summary |
| 19 | + |
| 20 | +<!-- Most (if not all) documents should have a summary. |
| 21 | +While the length will likely be proportional to the length of the full document, |
| 22 | +the summary should be as succinct as possible. --> |
| 23 | + |
| 24 | +## Problem Statement + Context |
| 25 | + |
| 26 | +<!-- Describe the specific problem that the document is seeking to address as well |
| 27 | +as information needed to understand the problem and design space. |
| 28 | +If more information is needed on the costs of the problem, |
| 29 | +this is a good place to that information. --> |
| 30 | + |
| 31 | +## Proposed Solution |
| 32 | + |
| 33 | +<!-- A high level overview of the proposed solution. |
| 34 | +When there are multiple alternatives there should be an explanation |
| 35 | +of why one solution was picked over other solutions. |
| 36 | +As a rule of thumb, including code snippets (except for defining an external API) |
| 37 | +is likely too low level. --> |
| 38 | + |
| 39 | +### Resource Usage |
| 40 | + |
| 41 | +<!-- What is the resource usage of the proposed solution? |
| 42 | +Does it consume a large amount of computational resources or time? --> |
| 43 | + |
| 44 | +### Single Point of Failure and Multi Client Considerations |
| 45 | + |
| 46 | +<!-- Details on how this change will impact multiple clients. Do we need to plan for changes to both op-geth and op-reth? --> |
| 47 | + |
| 48 | +## Failure Mode Analysis |
| 49 | + |
| 50 | +<!-- Link to the failure mode analysis document, created from the fma-template.md file. --> |
| 51 | + |
| 52 | +## Impact on Developer Experience |
| 53 | +<!-- Does this proposed design change the way application developers interact with the protocol? |
| 54 | +Will any Superchain developer tools (like Supersim, templates, etc.) break as a result of this change? ---!> |
| 55 | + |
| 56 | +## Alternatives Considered |
| 57 | + |
| 58 | +<!-- List out a short summary of each possible solution that was considered. |
| 59 | +Comparing the effort of each solution --> |
| 60 | + |
| 61 | +## Risks & Uncertainties |
| 62 | + |
| 63 | +<!-- An overview of what could go wrong. |
| 64 | +Also any open questions that need more work to resolve. --> |
0 commit comments