Skip to content

Commit 29c63ac

Browse files
committed
ADR #12: Native Rust SDK for Smart Contracts
1 parent c7277a3 commit 29c63ac

File tree

1 file changed

+197
-0
lines changed

1 file changed

+197
-0
lines changed
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
# ADR Template
2+
3+
## ADR_[ADR_id]: [Descriptive title of the architectural decision]
4+
5+
*Note: This template maintains the Reader-focused design principle. Template sections can be completed out of order. Recommended sequence: Date → Status → People → Context → Consequences → Options → Decision. See ADR Guide for detailed working methods.*
6+
7+
## Date
8+
9+
Decision date: YYYY-MM-DD
10+
Last status update: YYYY-MM-DD
11+
12+
## Status
13+
14+
- [ ] Proposed
15+
- [ ] Accepted
16+
- [ ] Deprecated
17+
- [ ] Superseded
18+
19+
### Implementation Status
20+
21+
- [ ] Planned
22+
- [ ] In Development
23+
- [ ] Implemented
24+
- [ ] Verified
25+
- [ ] Discontinued
26+
27+
## People
28+
29+
### Author/Decision Owner (Single Point of Accountability)
30+
31+
[Name of person or team accountable for this decision and point of contact for questions]
32+
33+
- [Person 1]
34+
- [Person 2]
35+
- [Person 3]
36+
37+
### Consulted (Subject Matter Experts)
38+
39+
[List of people with relevant expertise who provided advice]
40+
41+
- [Person 1]
42+
- [Person 2]
43+
- [Person 3]
44+
45+
### Informed (Affected Parties)
46+
47+
[People/teams affected by this decision who should be aware]
48+
49+
- [ ] [Person 1]
50+
- [ ] [Person 2]
51+
- [ ] [Person 3]
52+
53+
*Note: People listed in "Informed" should submit a PR to check their name after reading this ADR. This can be done during the initial review process of the ADR upload/commit PR (when the file is first uploaded to GitHub and the author requests reviews), or in a separate PR after the ADR is merged.*
54+
55+
## Decision
56+
57+
[Briefly describe the decision made in "We will..." format. This section should be concise - it's a declaration of intent for implementers. Detailed reasoning belongs in other sections.]
58+
59+
## Context
60+
61+
[Describe the situation that calls for a decision. Focus on forces, constraints, and circumstances that led to needing this decision. Answer "What is the problem?" not "What's the solution?" Include:
62+
63+
- Technical, business, and organizational context
64+
- Applicable requirements (functional and cross-functional)
65+
- Current state and why change is needed
66+
- Key stakeholders and their concerns]
67+
68+
### Decision Criteria (Optional)
69+
70+
[Explicit criteria for evaluating options, such as:
71+
72+
- Performance requirements
73+
- Cost constraints
74+
- Security requirements
75+
- Maintainability needs
76+
- Time-to-market considerations]
77+
78+
## Problem (Optional)
79+
80+
[Clearly state the problem being addressed. What issue or opportunity requires this architectural decision?]
81+
82+
## Decision in Details (Optional)
83+
84+
[Describe in details the decision made, including:
85+
86+
- Key technical details
87+
- Implementation approach
88+
- Timeline considerations
89+
- Who is responsible for implementation]
90+
91+
### Decision Drivers (Optional)
92+
93+
- [Driver 1: Key force or requirement influencing the decision]
94+
- [Driver 2: Another key consideration]
95+
- [...]
96+
97+
## Options
98+
99+
[Briefly list the considered options. Each option is numbered for easy reference, with the selected option marked clearly as `(SELECTED)`. Aim for 3-5 options minimum. Always include at least "do nothing" option. A detailed description of each option can be written in the Consequences section below.]
100+
101+
1. (SELECTED) [Name of selected option]
102+
2. [Name of alternative option]
103+
3. [Name of alternative option]
104+
4. [Do nothing / Status quo option]
105+
106+
## Consequences (Optional)
107+
108+
### Option 1: [Name of option] (SELECTED)
109+
110+
[Brief description of this option.]
111+
112+
**Selected because:**
113+
114+
- [Benefit 1 that led to selection]
115+
- [Benefit 2 that led to selection]
116+
117+
**Selected despite:**
118+
119+
- [Drawback 1 that we accept]
120+
- [Drawback 2 that we accept]
121+
122+
**Risks and Mitigations:**
123+
124+
- [Risk 1]
125+
- [Mitigation strategy 1]
126+
- [Risk 2]
127+
- [Mitigation strategy 2]
128+
129+
**Failure Recovery:**
130+
[How will we recover if this option fails?]
131+
132+
### Option 2: [Name of alternative option]
133+
134+
[Brief description of this option.]
135+
136+
**Rejected because:**
137+
138+
- [Critical drawback 1 - reason for rejection]
139+
- [Critical drawback 2 - reason for rejection]
140+
141+
**Rejected despite:**
142+
143+
- [Potential benefit 1 we're giving up]
144+
- [Potential benefit 2 we're giving up]
145+
146+
*(Repeat for additional options if applicable)*
147+
148+
## Implementation Notes (Optional)
149+
150+
[Any specific guidance for implementing this decision, including:
151+
152+
- Required dependencies
153+
- Migration steps
154+
- Testing considerations
155+
- Failure Recovery / Rollback procedures]
156+
157+
## Confirmation (Optional)
158+
159+
[Describe how the implementation of this decision will be verified. Include:
160+
161+
- Acceptance criteria
162+
- Testing approach
163+
- Automated verification methods]
164+
165+
## Advice (Optional)
166+
167+
[Raw, unfiltered contributions from people who offered advice. his section provides transparency into the decision process and serves as a learning resource.]
168+
169+
- [Advice given] ([Advice-giver's name, role], YYYY-MM-DD)
170+
- [Advice given] ([Advice-giver's name, role], YYYY-MM-DD)
171+
172+
## Glossary (Optional)
173+
174+
- **[Term]**: [Definition]
175+
176+
## References
177+
178+
- [Related documents, links, and research materials]
179+
- [Previous ADRs that influence this decision]
180+
- [External resources that informed this decision]
181+
- [Requirements or standards]
182+
183+
## ADR Relationships
184+
185+
[Fill in the section if applicable or leave blank for further filling.]
186+
187+
### Supersedes
188+
189+
- ADR #[X]: [Brief description of superseded decision]
190+
191+
### Superseded By
192+
193+
- ADR #[X]: [Brief description of superseding decision]
194+
195+
### Related ADRs
196+
197+
- ADR #[X]: [Brief description of relationship]

0 commit comments

Comments
 (0)