Skip to content
forked from ethereum/eipv

Ethereum Improvement Proposal Validator

License

Notifications You must be signed in to change notification settings

Woodpile37/eipv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EIP validator

Superseded by eipw

license ci status

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:
    • eip
    • title
    • description
    • author
    • discussions-to
    • created
    • status
    • type
    • category (iff type == "Standards Track")
  • Preamble does not include any unknown fields
  • Preamble fields are properly formed:
    • Each field is of the shape {field}: {value}\n
    • eip is an unsigned integer
    • title is a string whose length is less than 44 characters
    • author is a comma-separated string of author information which has three possible shapes:
      • Name only: John A. Doe
      • Name and email: John A. Doe <[email protected]>
      • Name and Github username: John A. Doe (@johndoe)
    • discussions-to is a URL where discussions regarding the EIP should be directed
    • discussions-to does not point to a PR
    • status is one of the following string values:
      • draft
      • last call
      • accepted
      • final
      • abandoned
      • rejected
      • superseded
    • type is one of the following string values:
      • standards track
      • informational
      • meta
    • category is one of the following string values:
      • core
      • networking
      • interface
      • erc
    • last-call-deadline is a date value
    • created is a date value
    • updated is a comma-separated list of date values
    • requires is a comma-separated list of EIP numbers in ascending order
    • withdrawal-reason is a string
  • EIP numbers listed as required exist
  • The EIP body includes the required sections in the following order:
    • Abstract
    • Motivation
    • Specification
    • Rationale
    • Backwards Compatibility
    • Test Cases
    • Implementations
    • Security Considerations
    • Copyright Waiver
  • The Abstract section is no longer than 200 words
  • The Copyright Waiver section 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, where N coresponds to the EIP's assigned number
  • URLs to other EIPs are relative links
  • No trailing whitespace in preamble

About

Ethereum Improvement Proposal Validator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%