Contributing

September 10, 2026 ยท View on GitHub

Use GitHub issues for bug reports and feature proposals. Search open and closed issues before filing a new one. Include the affected proposal type, reproduction steps, and the expected behavior.

Discuss non-trivial code changes with the maintainers in an issue before opening a pull request. Small fixes and documentation corrections can go directly to a pull request.

Local checks

Initialize dependencies and install the Solidity linter:

git submodule update --init --recursive
npm install

Run the checks used by the repository:

npm run lint
forge fmt --check
forge build
forge test

The integration tests fork mainnet and require a working mainnet endpoint in foundry.toml or an equivalent Foundry configuration. Tests for Addresses.updateJson() write to files under addresses/, so inspect the working tree after running the suite.

Keep changes scoped to the issue. Add or update tests for behavior changes, and update the relevant guide when a public function, environment flag, command, or generated payload changes.

Issues labeled good first issue are intended for new contributors.