EIP validator
February 9, 2023 ยท View on GitHub
Superseded by eipw
An engine which ensures Ethereum Improvement Proposals meet certain requirements.
Getting Started
To install eipv and validate the EIPs repository:
git clone https://github.com/lightclient/eipv.git
cargo install --path=eipv eipv
eipv /path/to/EIPS
Requirements
This tracks what eipv can validate.
- Preamble starts with
--- - Preamble ends with
--- - Preamble includes all required fields:
eiptitledescriptionauthordiscussions-tocreatedstatustypecategory(ifftype== "Standards Track")
- Preamble does not include any unknown fields
- Preamble fields are properly formed:
- Each field is of the shape
{field}: {value}\n -
eipis an unsigned integer -
titleis a string whose length is less than 44 characters -
authoris a comma-separated string of author information which has three possible shapes:- Name only:
John A. Doe - Name and email:
John A. Doe <john@doe.com> - Name and Github username:
John A. Doe (@johndoe)
- Name only:
-
discussions-tois a URL where discussions regarding the EIP should be directed -
discussions-todoes not point to a PR -
statusis one of the following string values:draftlast callacceptedfinalabandonedrejectedsuperseded
-
typeis one of the following string values:standards trackinformationalmeta
-
categoryis one of the following string values:corenetworkinginterfaceerc
-
last-call-deadlineis a date value -
createdis a date value -
updatedis a comma-separated list of date values -
requiresis a comma-separated list of EIP numbers in ascending order -
withdrawal-reasonis a string
- Each field is of the shape
- EIP numbers listed as
requiredexist - The EIP body includes the required sections in the following order:
AbstractMotivationSpecificationRationaleBackwards CompatibilityTest CasesImplementationsSecurity ConsiderationsCopyright Waiver
- The
Abstractsection is no longer than 200 words - The
Copyright Waiversection contains only the following string:Copyright and related rights waived via CC0. - The EIP body does not include any unclosed brackets or parentheses outside of code snippets
- File name is of form
eip-N.md, whereNcoresponds to the EIP's assigned number - URLs to other EIPs are relative links
- No trailing whitespace in preamble