Skip to content

sygmaprotocol/sygma-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sygma Core

discord go

 

Sygma-Core encompasses reusable modules to easily build relayers based on Sygma contracts.

 

Project still in deep beta

 

Table of Contents

  1. Installation
  2. Usage
  3. Local Setup
  4. Contributing

 

Contributing

Sygma-core is a open project and welcomes contributions of all kinds: code, docs, and more. If you wish to submit more complex changes, please check up with the core devs first on our Discord Server (look for CHAINBRIDGE category) or submit an issue on the repo to ensure those changes are in line with the general philoshophy of the project or get some early feedback.

When implementing a change:

  1. Adhere to the standard Go formatting guidelines, e.g. Effective Go. Run go fmt.
  2. Stick to the idioms and patterns used in the codebase. Familiar-looking code has a higher chance of being accepted than eerie code. Pay attention to commonly used variable and parameter names, avoidance of naked returns, error handling patterns, etc.
  3. Comments: follow the advice on the Commentary section of Effective Go.
  4. Minimize code churn. Modify only what is strictly necessary. Well-encapsulated changesets will get a quicker response from maintainers.
  5. Lint your code with golangci-lint (CI will reject your PR if unlinted).
  6. Add tests.
  7. Title the PR in a meaningful way and describe the rationale and the thought process in the PR description.
  8. Write clean, thoughtful, and detailed commit messages.

Submiting a PR

Fork the repository, make changes and open a PR to the main branch of the repo. Pull requests must be cleanly rebased on top of main and changes require at least 2 PR approvals for them to be merged.

Reporting an issue

A great way to contribute to the project is to send a detailed report when you encounter an issue. We always appreciate a well-written, thorough bug report, and will thank you for it!

When reporting issues, always include:

  • sygma-core version
  • modules used
  • logs (don't forget to remove sensitive data)
  • tx hashes related to issue (if applicable)
  • steps required to reproduce the problem

Putting large logs into a gist will be appreciated.

 

ChainSafe Security Policy

Reporting a Security Bug

We take all security issues seriously, if you believe you have found a security issue within a ChainSafe project please notify us immediately. If an issue is confirmed, we will take all necessary precautions to ensure a statement and patch release is made in a timely manner.

Please email us a description of the flaw and any related information (e.g. reproduction steps, version) to security at chainsafe dot io.

License

GNU Lesser General Public License v3.0

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.7%
  • Makefile 1.1%
  • Shell 0.2%