The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Yorke Rhodes 3ff8eb3c3d
Update mainnet3 governance and validator configurations (#3315)
9 months ago
.changeset Update mainnet3 governance and validator configurations (#3315) 9 months ago
.github Update mainnet3 governance and validator configurations (#3315) 9 months ago
.husky fix: only run cargo fmt hook when rs files changed (#2620) 1 year ago
.yarn Upgrade to yarn 4.0.2 1 year ago
rust Separate agent chain configurations, re-add some chains to infra, fix eclipsetestnet & solanatestnet configs (#3327) 9 months ago
solidity fix: include the correct build artifact name (#3308) 9 months ago
tools/grafana chore: Use templating for datasource in grafana dashboard file (#2542) 1 year ago
typescript Update mainnet3 governance and validator configurations (#3315) 9 months ago
vectors Support cosmos contract byte lengths other than 32 (#3147) 10 months ago
.dockerignore Hyperlane packages and typescript rebrand (#1077) 2 years ago
.eslintignore [Chore] Setup eslint for typescript assets (#505) 3 years ago
.eslintrc Enable for-in lint rule (#3013) 1 year ago
.gitattributes Add Cosmos support to Utils and SDK (#2859) 1 year ago
.gitignore V3 agents rebase (#2746) 1 year ago
.gitmodules v3 Router SDK changes (#2752) 1 year ago
.lintstagedrc Fix prettier + githook (#503) 3 years ago
.prettierignore Sealevel (#2404) 1 year ago
.prettierrc Graduate to yarn 4 🧶 (#2899) 1 year ago
.yarnrc.yml Upgrade to yarn 4.0.2 1 year ago
CODE_OF_CONDUCT.md Hyperlane packages and typescript rebrand (#1077) 2 years ago
CONTRIBUTING.md Hyperlane packages and typescript rebrand (#1077) 2 years ago
DISCLAIMER.md Hyperlane packages and typescript rebrand (#1077) 2 years ago
Dockerfile feat: verify with deployment (#3255) 9 months ago
LICENSE.md chore: add APACHE2.0 license 4 years ago
README.md feat: add foundry and rosetta setup steps (#3134) 11 months ago
codecov.yml v3 Router SDK changes (#2752) 1 year ago
mono.code-workspace [Chore] Fix VSCode formatting and prettier precommit (#501) 3 years ago
package.json Deploy viction core and warp routes (#3067) 10 months ago
rust-toolchain Merge main to v3 (#2812) 1 year ago
tsconfig.json Graduate to yarn 4 🧶 (#2899) 1 year ago
yarn.lock Implement WarpCore and Token classes (#3272) 9 months ago

README.md

Hyperlane

GitHub Actions codecov Foundry License: MIT

Versioning

Note this is the branch for Hyperlane v3.

V2 is still in operation but is not being actively developed. The code for V2 can be found in the v2 branch.

V1 has since been deprecated in favor of V2, but if you are looking for code relating to the existing V1 deployments, refer to the v1 branch.

Overview

Hyperlane is an interchain messaging protocol that allows applications to communicate between blockchains.

Developers can use Hyperlane to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains.

To read more about interchain applications, how the protocol works, and how to integrate with Hyperlane, please see the documentation.

Working on Hyperlane

Foundry

First ensure you have Foundry installed on your machine.

Run the following to install foundryup:

curl -L https://foundry.paradigm.xyz | bash

Then run foundryup to install forge, cast, anvil and chisel.

foundryup

Check out the Foundry Book for more information.

Workspaces

This monorepo uses Yarn Workspaces. Installing dependencies, building, testing, and running prettier for all packages can be done from the root directory of the repository.

  • Installing dependencies

    yarn install
    
  • Building

    yarn build
    

If you are using VSCode, you can launch the multi-root workspace with code mono.code-workspace, install the recommended workspace extensions, and use the editor settings.

Rust

See rust/README.md

Release Agents

  • Tag the commit with the current date in the format agents-yyyy-mm-dd; e.g. agents-2023-03-28.
  • Create a Github Release with a changelog against the previous version titled Agents MMMM DD, YYYY, e.g. Agents March 28, 2023.
  • Include the agent docker image tag in the description of the release
  • Create a summary of change highlights
  • Create a "breaking changes" section with any changes required
  • Deploy agents with the new image tag (if it makes sense to)