Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull changes into PR #5983

Merged
merged 113 commits into from
Nov 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
28b0da0
Update EIP-4834: Move back to review (#5779)
Pandapip1 Oct 11, 2022
eae6d56
ERC-4519: Change SmartNFT to EIP-4519 NFT (#5777)
Hardblock-IMSE-CNM Oct 11, 2022
e8e4208
Update eip-5187.md (#5770)
DerivStudio Oct 11, 2022
a63e7d6
EIP4519: Change some images (#5781)
Hardblock-IMSE-CNM Oct 12, 2022
f589107
Add EIP-5750: Method with Extra Data (#5750)
xinbenlv Oct 15, 2022
7755218
Update EIP-5187: update identifier for this interface (#5783)
DerivStudio Oct 18, 2022
f43ca0b
Update EIP-2294 for content (#5795)
xinbenlv Oct 18, 2022
81bdf6b
Add EIP-5727: Semi-Fungible Soulbound Token (#5727)
AustinZhu Oct 19, 2022
9c25bf0
Add EIP-5585: EIP-721 NFT Authorization (#5585)
VeegaLabsOfficial Oct 19, 2022
e306f73
CI: Disable certain labels from becoming stale (#5655)
Pandapip1 Oct 19, 2022
07ca2ed
EIP-2535: Additions and improvements (#5798)
mudgen Oct 19, 2022
587ee67
EIP-2535: small change (#5800)
mudgen Oct 19, 2022
7ff6dae
EIP-2535: small text change (#5801)
mudgen Oct 19, 2022
206a8fa
Update EIP-2771: Add myself as an author and bring it up to date (#5607)
Pandapip1 Oct 19, 2022
4ff1904
Make EIP-2535 Final (#5802)
mudgen Oct 19, 2022
15af728
Update EIP-5528: Move to final (#5790)
StartfundInc Oct 19, 2022
f44c482
Add EIP-5806: Account abstraction through delegate transaction (#5806)
Amxx Oct 21, 2022
921b75a
Fix interface identifier to 0x8d7bac72 (#5811)
TimDaub Oct 21, 2022
9369231
Update eip-template.md (#5694)
donBarbos Oct 21, 2022
07d0978
Update README.md (#5695)
donBarbos Oct 21, 2022
2665063
Add Discord link of Eth R&D to the EIP Website header. (#5699)
xinbenlv Oct 21, 2022
fe8e730
README cleanup (#5708)
brendankirby Oct 21, 2022
611981e
CI: Add Markdown Linter (#5367)
Pandapip1 Oct 21, 2022
49c7867
Add EIP-5023: Shareable non-transferable non-fungible token (#5023)
yaruno Oct 21, 2022
502bd37
Catch up to Yellow Paper (#5815)
gcolvin Oct 22, 2022
10b1bf1
Update EIP-2315: Catch up to latest Yellow Paper (#5814)
gcolvin Oct 23, 2022
bf502d0
CI: Pin hashes (#5797)
Pandapip1 Oct 23, 2022
7114c45
Website: Add Ethereum Wallets Discord (#5816)
Pandapip1 Oct 23, 2022
3b38fc1
CI: Add concurrency (#5819)
Pandapip1 Oct 23, 2022
87115ba
CI: Re-enable CodeSpell (#5817)
Pandapip1 Oct 23, 2022
6f89f85
Add EIP-5791: Physical Backed Tokens (#5791)
2pmflow Oct 23, 2022
7d4efa0
Update EIP-5375: Clarify address casing and move to Last Call (#5813)
samuelemarro Oct 24, 2022
03fccc9
Update EIP-5218: New version of the IC3 NFT License (#5529)
iseriohn Oct 25, 2022
9ca13db
Update EIP-5484: Move to Last Call (#5809)
buzzcai Oct 25, 2022
239c137
Update eip-5528.md (#5832)
StartfundInc Oct 25, 2022
c681021
EIP-5006: Change 'uint256 amount' to 'uint64 amount' (#5833)
emojidao Oct 25, 2022
773f024
update EIP with `validator_index` and more info around `index` (#5835)
ralexstokes Oct 25, 2022
30a7e53
CI: Fix Markdown Linter & CodeSpell (#5818)
Pandapip1 Oct 25, 2022
4e83ad5
Update EIP-4895: update status to review (#5822)
ralexstokes Oct 25, 2022
cf97807
Update EIP-2315: Yellow Paper link (#5823)
gcolvin Oct 26, 2022
958a9fd
Grab latest eipw-action (#5836)
SamWilsn Oct 26, 2022
095cf7d
Update EIP-5585: Introduce a “rights” attribute in UserRecord struct …
VeegaLabsOfficial Oct 26, 2022
b2d2691
Update EIP-5216: Move to Last Call (#5839)
ivanmmurciaua Oct 26, 2022
eff90f2
Grammatical improvements, typo corrections (#5834)
joejordan Oct 26, 2022
8a0f588
Update 5791 interface (#5842)
cygaar Oct 27, 2022
66f98b8
Update EIP-2294: Move to Review (#5763)
xinbenlv Oct 27, 2022
c0a6d67
Update EIP-4955: Move to review (#5829)
nachomazzara Oct 27, 2022
b41e2e2
Update EIP-5528: Move to Last Call (#5841)
StartfundInc Oct 27, 2022
6077b17
Update EIP-5679: Move to Last Call (#5759)
xinbenlv Oct 27, 2022
ba84768
Update EIP-5679: Update Last Call Deadline (#5845)
xinbenlv Oct 27, 2022
17adaeb
Update EIP-5732: Move to Last Call (#5758)
xinbenlv Oct 27, 2022
188c915
CI: Fix changed files detection (#5840)
Pandapip1 Oct 27, 2022
05c090a
nit (#5846)
gcolvin Oct 27, 2022
12fb407
Update EIP-5606: Remove unnecessary variables from a struct a functio…
gaurangtorvekar Oct 28, 2022
9746ddd
fixing some typos in eip 2537 (#5772)
asanso Oct 28, 2022
c2cf3c3
Update EIP-4519: Fix typos in figures 4 and 5 (#5784)
Hardblock-IMSE-CNM Oct 28, 2022
31db6a4
Update EIP-1271: Fix example (#5086)
PhABC Oct 28, 2022
30f428a
Update EIP-2315: Example bytecode fix (#5718)
radeksvarz Oct 28, 2022
df9df9a
Update EIP-1202: Resolve new EIPW and bring this EIP back to live (#3…
xinbenlv Oct 31, 2022
ab6d095
Update EIP-5164: Move to review (#5808)
PierrickGT Oct 31, 2022
5fd5902
Update EIP-5750: Move to Review (#5785)
xinbenlv Oct 31, 2022
07e4906
CI: Add EIP-5757 to unchecked list (#5854)
Pandapip1 Oct 31, 2022
d672efd
Update EIP-5732 to improve backward compatibility and address collabo…
xinbenlv Oct 31, 2022
98d579b
Add EIP-5792: Wallet Abstract Transaction Send API (#5792)
moodysalem Oct 31, 2022
0dbfc7a
fix linting (#5860)
adietrichs Oct 31, 2022
7e8d262
Update EIP-4844: Fee Market Update (#5707)
adietrichs Nov 1, 2022
50adc64
Update EIP-5606: Moving to Review stage (#5857)
gaurangtorvekar Nov 1, 2022
1420396
Update EIP-2612: Move to Final (#5782)
frangio Nov 1, 2022
a896261
Add EIP-5568: Required Action Signals Using Revert Reasons (#5568)
Pandapip1 Nov 2, 2022
e4d88df
Add EIP-5757: Propose process for allowing external links (#5757)
SamWilsn Nov 2, 2022
3cf2126
EIP-5757: apply changes from EIPIP meeting (#5869)
SamWilsn Nov 2, 2022
362527d
Update EIP-5750: Change the specification to suit more use cases, fix…
Pandapip1 Nov 3, 2022
a072bce
EIP-5757: Move to last call (#5870)
SamWilsn Nov 3, 2022
78b2bb4
Add EIP-5573: SIWE ReCap Extension (#5573)
awoie Nov 4, 2022
b0c931d
EIP-3540: Reformat, fix typos (#5876)
chfast Nov 5, 2022
7869a41
Update EIP-5750: Move to Last Call (#5861)
xinbenlv Nov 5, 2022
5013c0b
Update EIP-5750 (#5879)
xinbenlv Nov 5, 2022
dc1c29e
Update EIP-5615: Add short note about the function naming (#5885)
Pandapip1 Nov 6, 2022
81d204b
EIP-3670: Improve text style, fix markdown lint (#5893)
chfast Nov 8, 2022
2ae8b6f
Update EIP-2335: Remove superfluous use of "verifies" (#5207)
padresmurfa Nov 8, 2022
6642a5b
Fixed punctuation inconsistency (#5884)
SebastianSupreme Nov 8, 2022
da33915
Add EIP-5793: eth/68: Add transaction type to tx announcement (#5793)
MariusVanDerWijden Nov 8, 2022
b6065da
Fix data-only contract example (#5898)
hugo-dc Nov 8, 2022
0cf20f2
Updated EIP-5375: Move to Final (#5897)
samuelemarro Nov 9, 2022
670e734
Update eip-5528.md (#5900)
StartfundInc Nov 9, 2022
218be6b
Update EIP-5507: Add EIP-20 support (#5905)
Pandapip1 Nov 9, 2022
abd0795
Update EIP-4519: Make a few wording changes (#5889)
Pandapip1 Nov 10, 2022
da8b23d
Update EIP-5679: Move to Final (#5899)
xinbenlv Nov 10, 2022
d646483
Update EIP-3540: Use exceptions with error messages in reference code…
gumb0 Nov 10, 2022
2754851
Add EIP-5656: Memory Copying Instruction (#5656)
chfast Nov 10, 2022
f351381
4844: declare withdrawals in 4895 as a dependency (#5906)
ralexstokes Nov 10, 2022
33c34c3
Update EIP-5732: include @fulldecent's change (#5909)
xinbenlv Nov 10, 2022
610f3c1
Update EIP-5732 Clean up (#5910)
xinbenlv Nov 10, 2022
b5c728a
Update EIP-5732 Clean up (#5901)
xinbenlv Nov 10, 2022
a066576
Update EIP-5732: Fix typos (#5913)
xinbenlv Nov 11, 2022
92a425d
Fix ERC165 identifier (#5915)
xinbenlv Nov 11, 2022
da8a809
fix nit on the language of eip-1153 (#5911)
moodysalem Nov 12, 2022
ab2f32c
Update EIP-5000: Fix external link (#5918)
Pandapip1 Nov 12, 2022
5a1335e
5000: Fix complaints of the markdown linter (#5923)
axic Nov 12, 2022
8a4b49b
Update eip-5604.md (#5924)
xinbenlv Nov 13, 2022
fed7625
Update EIP-5732: Move to Final (#5919)
xinbenlv Nov 13, 2022
3455662
Update README: Clarify incomplete draft behaviour (#5925)
Pandapip1 Nov 13, 2022
7e6ecda
Update EIP-5489: Move to review (#5736)
coderfengyun Nov 13, 2022
81811de
Update EIP-5749: Move to Review (#5912)
kvhnuke Nov 13, 2022
6abf9b4
Add EIP-5593: Restrict Web3 Provider Object API Injection (#5593)
kdenhartog Nov 14, 2022
89b8520
[EIP-4844] Reduce Throughput (#5863)
adietrichs Nov 14, 2022
68dca65
Update eipw to allow links to CL (#5929)
SamWilsn Nov 14, 2022
8e75684
EIP-5072 edits (#5931)
moodysalem Nov 14, 2022
b38791b
Update EIP-4519: Move to last call (#5908)
Hardblock-IMSE-CNM Nov 15, 2022
f5d4139
Add EIP-5298: ENS as Token Holder (#5300)
xinbenlv Nov 15, 2022
7729168
Update README: Update automatic check descriptions (#5926)
Pandapip1 Nov 15, 2022
30b81ed
Update EIP-5484: Move to Final (#5881)
buzzcai Nov 15, 2022
aed2995
move EIP-5202 to review stage (#5978)
charles-cooper Nov 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/auto-label-bot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
on:
pull_request_target:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

name: Auto Label Bot
jobs:
jekyll-label-action:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/auto-review-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
types:
- completed

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

name: Auto Review Bot
jobs:
auto-review-bot:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/auto-review-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ on:
types:
- created

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

name: Auto Review Bot Trigger
jobs:
trigger:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/auto-stagnate-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
name: Auto Stagnant Bot
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791
- name: Setup Node.js Environment
uses: actions/setup-node@v2
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516
with:
node-version: '14'
- name: auto-stagnant-bot
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-rerun-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
name: Trigger
steps:
- name: Trigger
uses: actions/github-script@v6
uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0
if: github.event.issue.pull_request && contains(github.event.comment.body, '@eth-bot rerun')
with:
script: |
Expand Down
54 changes: 46 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
- ready_for_review
- edited

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
save-pr:
name: Save PR Number
Expand All @@ -27,7 +31,7 @@ jobs:
echo $MERGE_SHA > ./pr/merge_sha

- name: Upload PR Number
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
with:
name: pr_number
path: pr/
Expand All @@ -39,7 +43,7 @@ jobs:
steps:
- name: Checkout EIP Repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b

- name: Install OpenSSL
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev

Expand Down Expand Up @@ -67,17 +71,25 @@ jobs:
steps:
- name: Checkout EIP Repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b

- name: Delete Unchanged Files
uses: Pandapip1/delete-unchanged-files@2c27069573bbeb6703790ac5c872e9b1a100d96c

- name: Get Changed Files
id: changed
continue-on-error: true
run: |
echo "CHANGED_FILES<<EOF" >> $GITHUB_ENV
gh pr diff ${{ github.event.number }} --name-only | sed -e 's|$|,|' | xargs -i echo "{}" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Run CodeSpell
uses: codespell-project/actions-codespell@2391250ab05295bddd51e36a8c6295edb6343b0e
if: steps.changed.outcome == 'success'
with:
check_filenames: true
ignore_words_file: config/.codespell-whitelist
path: ${{ env.CHANGED_FILES }}
skip: .git,Gemfile.lock,**/*.png,**/*.gif,**/*.jpg,**/*.svg,.codespell-whitelist,vendor,_site,_config.yml,style.css
only_warn: 1

eipw-validator:
name: EIP Walidator
Expand All @@ -87,8 +99,34 @@ jobs:
- name: Checkout EIP Repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b

- uses: ethereum/eipw-action@dist
- uses: ethereum/eipw-action@bbf342b62cb8046439c3508f1e98e23a4a9cd27a
id: eipw
with:
token: ${{ secrets.GITHUB_TOKEN }}
unchecked: 1, 5069
unchecked: 1, 5069, 5757

markdownlint:
name: Markdown Linter
runs-on: ubuntu-latest
steps:
- name: Checkout EIP Repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b

- name: Get Changed Files
id: changed
continue-on-error: true
run: |
echo "CHANGED_FILES<<EOF" >> $GITHUB_ENV
gh pr diff ${{ github.event.number }} --name-only | grep -E -x '[^/]+\.md|EIPS/eip-[0-9]+\.md' >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Lint
uses: DavidAnson/markdownlint-cli2-action@16d9da45919c958a8d1ddccb4bd7028e8848e4f1
if: steps.changed.outcome == 'success'
with:
command: config
globs: |
config/.markdownlint.yaml
${{ env.CHANGED_FILES }}
4 changes: 3 additions & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ jobs:
close-issue-message: This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback.
days-before-issue-stale: 7
days-before-issue-close: 49 # 49 + 7 weeks = 3 months
exempt-issue-labels: discussions-to
exempt-issue-labels: discussions-to, e-consensus
stale-issue-label: w-stale
# PR config
stale-pr-message: There has been no activity on this pull request for 2 weeks. It will be closed after 3 months of inactivity. If you would like to move this PR forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.
close-pr-message: This pull request was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment.
days-before-pr-stale: 14
days-before-pr-close: 42 # 42 + 14 weeks = 3 months
exempt-pr-labels: e-review, e-consensus
exempt-pr-milestones: "Manual Merge Queue"
stale-pr-label: w-stale
41 changes: 21 additions & 20 deletions EIPS/eip-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ An EIP must meet certain minimum criteria. It must be a clear and complete descr
### Special requirements for Core EIPs

If a **Core** EIP mentions or proposes changes to the EVM (Ethereum Virtual Machine), it should refer to the instructions by their mnemonics and define the opcodes of those mnemonics at least once. A preferred way is the following:

```
REVERT (0xfe)
```
Expand All @@ -48,13 +49,13 @@ REVERT (0xfe)

Parties involved in the process are you, the champion or *EIP author*, the [*EIP editors*](#eip-editors), and the [*Ethereum Core Developers*](https://github.com/ethereum/pm).

Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be rejected based on prior research. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum](https://ethereum-magicians.org/) to do this.
Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be rejected based on prior research. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum](https://ethereum-magicians.org/) to do this.

Once the idea has been vetted, your next responsibility will be to present (by means of an EIP) the idea to the reviewers and all interested parties, invite editors, developers, and the community to give feedback on the aforementioned channels. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the work required for implementing a Core EIP will be much greater than for an ERC and the EIP will need sufficient interest from the Ethereum client teams. Negative community feedback will be taken into consideration and may prevent your EIP from moving past the Draft stage.

### Core EIPs

For Core EIPs, given that they require client implementations to be considered **Final** (see "EIPs Process" below), you will need to either provide an implementation for clients or convince clients to implement your EIP.
For Core EIPs, given that they require client implementations to be considered **Final** (see "EIPs Process" below), you will need to either provide an implementation for clients or convince clients to implement your EIP.

The best way to get client implementers to review your EIP is to present it on an AllCoreDevs call. You can request to do so by posting a comment linking your EIP on an [AllCoreDevs agenda GitHub Issue](https://github.com/ethereum/pm/issues).

Expand All @@ -64,9 +65,9 @@ These calls generally result in a "rough consensus" around what EIPs should be i

:warning: The EIPs process and AllCoreDevs call were not designed to address contentious non-technical issues, but, due to the lack of other ways to address these, often end up entangled in them. This puts the burden on client implementers to try and gauge community sentiment, which hinders the technical coordination function of EIPs and AllCoreDevs calls. If you are shepherding an EIP, you can make the process of building community consensus easier by making sure that [the Ethereum Magicians forum](https://ethereum-magicians.org/) thread for your EIP includes or links to as much of the community discussion as possible and that various stakeholders are well-represented.

*In short, your role as the champion is to write the EIP using the style and format described below, shepherd the discussions in the appropriate forums, and build community consensus around the idea.*
*In short, your role as the champion is to write the EIP using the style and format described below, shepherd the discussions in the appropriate forums, and build community consensus around the idea.*

### EIP Process
### EIP Process

The following is the standardization process for all EIPs in all tracks:

Expand All @@ -84,7 +85,7 @@ If this period results in necessary normative changes it will revert the EIP to

**Final** - This EIP represents the final standard. A Final EIP exists in a state of finality and should only be updated to correct errata and add non-normative clarifications.

**Stagnant** - Any EIP in `Draft` or `Review` or `Last Call` if inactive for a period of 6 months or greater is moved to `Stagnant`. An EIP may be resurrected from this state by Authors or EIP Editors through moving it back to `Draft` or it's earlier status. If not resurrected, a proposal may stay forever in this status.
**Stagnant** - Any EIP in `Draft` or `Review` or `Last Call` if inactive for a period of 6 months or greater is moved to `Stagnant`. An EIP may be resurrected from this state by Authors or EIP Editors through moving it back to `Draft` or it's earlier status. If not resurrected, a proposal may stay forever in this status.

>*EIP Authors are notified of any algorithmic change to the status of their EIP*

Expand All @@ -98,12 +99,12 @@ Each EIP should have the following parts:

- Preamble - RFC 822 style headers containing metadata about the EIP, including the EIP number, a short descriptive title (limited to a maximum of 44 characters), a description (limited to a maximum of 140 characters), and the author details. Irrespective of the category, the title and description should not include EIP number. See [below](./eip-1.md#eip-header-preamble) for details.
- Abstract - Abstract is a multi-sentence (short paragraph) technical summary. This should be a very terse and human-readable version of the specification section. Someone should be able to read only the abstract to get the gist of what this specification does.
- Motivation _(optional)_ - A motivation section is critical for EIPs that want to change the Ethereum protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the EIP solves. This section may be omitted if the motivation is evident.
- Motivation *(optional)* - A motivation section is critical for EIPs that want to change the Ethereum protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the EIP solves. This section may be omitted if the motivation is evident.
- Specification - The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Ethereum platforms (cpp-ethereum, go-ethereum, parity, ethereumJ, ethereumjs-lib, [and others](https://ethereum.org/en/developers/docs/nodes-and-clients).
- Rationale - The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. The rationale should discuss important objections or concerns raised during discussion around the EIP.
- Backwards Compatibility _(optional)_ - All EIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their consequences. The EIP must explain how the author proposes to deal with these incompatibilities. This section may be omitted if the proposal does not introduce any backwards incompatibilities, but this section must be included if backward incompatibilities exist.
- Test Cases _(optional)_ - Test cases for an implementation are mandatory for EIPs that are affecting consensus changes. Tests should either be inlined in the EIP as data (such as input/expected output pairs, or included in `../assets/eip-###/<filename>`. This section may be omitted for non-Core proposals.
- Reference Implementation _(optional)_ - An optional section that contains a reference/example implementation that people can use to assist in understanding or implementing this specification. This section may be omitted for all EIPs.
- Backwards Compatibility *(optional)* - All EIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their consequences. The EIP must explain how the author proposes to deal with these incompatibilities. This section may be omitted if the proposal does not introduce any backwards incompatibilities, but this section must be included if backward incompatibilities exist.
- Test Cases *(optional)* - Test cases for an implementation are mandatory for EIPs that are affecting consensus changes. Tests should either be inlined in the EIP as data (such as input/expected output pairs, or included in `../assets/eip-###/<filename>`. This section may be omitted for non-Core proposals.
- Reference Implementation *(optional)* - An optional section that contains a reference/example implementation that people can use to assist in understanding or implementing this specification. This section may be omitted for all EIPs.
- Security Considerations - All EIPs must contain a section that discusses the security implications/considerations relevant to the proposed change. Include information that might be important for security discussions, surfaces risks and can be used throughout the life-cycle of the proposal. E.g. include security-relevant design decisions, concerns, important discussions, implementation-specific guidance and pitfalls, an outline of threats and risks and how they are being addressed. EIP submissions missing the "Security Considerations" section will be rejected. An EIP cannot proceed to status "Final" without a Security Considerations discussion deemed sufficient by the reviewers.
- Copyright Waiver - All EIPs must be in the public domain. The copyright waiver MUST link to the license file and use the following wording: `Copyright and related rights waived via [CC0](../LICENSE.md).`

Expand Down Expand Up @@ -143,7 +144,7 @@ Headers that permit lists must separate elements with commas.

Headers requiring dates will always do so in the format of ISO 8601 (yyyy-mm-dd).

#### `author` header
### `author` header

The `author` header lists the names, email addresses or usernames of the authors/owners of the EIP. Those who prefer anonymity may use a username only, or a first name and a username. The format of the `author` header value must be:

Expand All @@ -163,25 +164,25 @@ It is not possible to use both an email and a GitHub username at the same time.

At least one author must use a GitHub username, in order to get notified on change requests and have the capability to approve or reject them.

#### `discussions-to` header
### `discussions-to` header

While an EIP is a draft, a `discussions-to` header will indicate the URL where the EIP is being discussed.

The preferred discussion URL is a topic on [Ethereum Magicians](https://ethereum-magicians.org/). The URL cannot point to Github pull requests, any URL which is ephemeral, and any URL which can get locked over time (i.e. Reddit topics).

#### `type` header
### `type` header

The `type` header specifies the type of EIP: Standards Track, Meta, or Informational. If the track is Standards please include the subcategory (core, networking, interface, or ERC).

#### `category` header
### `category` header

The `category` header specifies the EIP's category. This is required for standards-track EIPs only.

#### `created` header
### `created` header

The `created` header records the date that the EIP was assigned a number. Both headers should be in yyyy-mm-dd format, e.g. 2001-08-14.

#### `requires` header
### `requires` header

EIPs may have a `requires` header, indicating the EIP numbers that this EIP depends on.

Expand Down Expand Up @@ -213,7 +214,7 @@ The current EIP editors are
- Matt Garnett (@lightclient)
- Sam Wilson (@SamWilsn)

Emeritus EIP editors are
Emeritus EIP editors are

- Casey Detrio (@cdetrio)
- Hudson Jameson (@Souptacular)
Expand Down Expand Up @@ -251,15 +252,15 @@ The editors don't pass judgment on EIPs. We merely do the administrative & edito

The `title` field in the preamble:

- Should not include the word "standard" or any variation thereof; and
- Should not include the EIP's number.
- Should not include the word "standard" or any variation thereof; and
- Should not include the EIP's number.

### Descriptions

The `description` field in the preamble:

- Should not include the word "standard" or any variation thereof; and
- Should not include the EIP's number.
- Should not include the word "standard" or any variation thereof; and
- Should not include the EIP's number.

### EIP numbers

Expand Down
Loading