Read through CONTRIBUTING.md for a general overview of our contribution process. Then check out our list of good first issues to find something fun to work on!
root ├── core: The Go core library with common utilities for use across the monorepo ├── ethergo: Go-based ethereum testing + common library ├── packages │ ├── contracts-core: Core contracts used for synapse, powered by Foundry ├── services │ ├── explorer: Bridge/messaging explorer backend │ ├── omnirpc: Latency aware RPC Client used across multiple-chains at once │ ├── scribe: Generalized ethereum event logger ├── tools │ ├── abigen: Used to generate abigen bindings for go │ ├── module copier: Used to copy internal modules and export methods for testing ├── agents: agents contain all the agents used in optimistic messaging
Clone the repository, open it, and install nodejs packages with yarn
:
git clone https://github.com/synapsecns/sanguine
cd sanguine
yarn install
Using nvm
, install the correct version of NodeJS.
nvm use
To build all of the TypeScript packages, run:
yarn clean
yarn build
Packages compiled when on one branch may not be compatible with packages on a different branch. You should recompile all packages whenever you move from one branch to another. Use the above commands to recompile the packages.