Skip to content

Latest commit

 

History

History
61 lines (37 loc) · 2.66 KB

File metadata and controls

61 lines (37 loc) · 2.66 KB

How to Contribute to ICM Services

Setup

To start developing on with ICM Contracts, you'll need Solidity >= v0.8.30. Foundry is the recommended development toolkit for working with Teleporter, and it comes bundled with the required Solidity version. To run the tests and linter locally, you'll need the dependencies described in Setup, as well as npm

Issues

Security

  • Do not open up a GitHub issue if it relates to a security vulnerability in ICM Services, and instead refer to our security policy.
  • Do not use unaudited contract code in production even if it's in the main branch of the repository.

Making an Issue

  • Check that the issue you're filing doesn't already exist by searching under issues.
  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description with as much relevant information as possible.

Features

  • If you want to start a discussion about the development of a new feature or the modification of an existing one, start a thread under GitHub discussions.
  • Post a thread about your idea and why it should be added to ICM Services.
  • Don't start working on a pull request until you've received positive feedback from the maintainers.

Pull Request Guidelines

  • Open a new GitHub pull request containing your changes.
  • All commits must be signed.
  • Ensure the PR description clearly describes the problem and solution, and how the change was tested. Include the relevant issue number if applicable.
  • If your PR isn't ready to be reviewed just yet, you can open it as a draft to collect early feedback on your changes.
  • Once the PR is ready for review, mark it as ready-for-review and request review from one of the maintainers.

Testing

See E2E Tests

Local

  • Run the unit tests
./scripts/test.sh

Linting

  • Run the Solidity and Golang linters
./scripts/lint.sh

Continuous Integration (CI)

  • Pull requests will generally not be approved or merged unless they pass CI.

Other

Do you have questions about the source code?

  • Ask any question about ICM Services or ICM contracts under GitHub discussions.