Thank you for your interest in contributing to this ERC. Contributions of all kinds are welcome, including feedback on the specification, improvements to the reference implementation, security analysis, and documentation.
- Open an issue to discuss ambiguities, edge cases, or potential improvements to the ERC text.
- Propose alternative approaches with a clear rationale and, where possible, supporting examples.
- Review open issues and pull requests to provide your perspective.
- Submit bug fixes or improvements to the reference implementation via pull request.
- Add or improve test cases to increase coverage of edge cases and invariants.
- Report vulnerabilities responsibly by following the security policy below.
- Improve inline documentation, NatSpec comments, or usage examples.
- Help clarify the specification language for precision and readability.
- Fork the repository and clone your fork locally.
- Create a topic branch from
mainfor your changes. - Install dependencies and run the existing test suite to confirm everything passes before making changes.
- Make your changes in focused, logically separated commits.
- Run the full test suite and linter before submitting.
- Ensure your branch is up to date with
main. - Write a clear PR description that explains what changes you made and why.
- Reference any related issues using
Closes #<number>orRelates to #<number>. - All CI checks must pass before a PR will be reviewed.
- At least one maintainer approval is required before merging.
- Squash commits into a clean history when requested during review.
Follow Conventional Commits:
<type>: <short summary>
<optional body>
Types: feat, fix, docs, test, refactor, chore, ci.
- Solidity code must follow the Solidity Style Guide.
- Use NatSpec comments (
@notice,@dev,@param,@return) for all public and external functions and state variables. - Keep functions short, focused, and well-named. Prefer clarity over cleverness.
Do not open a public issue for security vulnerabilities. Instead, report them privately by emailing the maintainers or using GitHub's private vulnerability reporting feature on this repository. Include steps to reproduce, potential impact, and any suggested mitigations.
This ERC follows the lifecycle defined by EIP-1. Discussion of the standard itself should happen in:
- The Ethereum Magicians forum thread linked from the ERC header.
- Issues in this repository tagged with
discussion.
By contributing, you agree that your contributions will be licensed under the same license as this project.