Skip to content

eigerco/axelar-amplifier

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axelar Amplifier

The Interchain Amplifier enables developers to permissionlessly set up connections to the Axelar network. Developers gain access to Axelar's interconnected network of chains and can "amplify" their resources by paying the cost equivalent to developing only one connection. They can establish connections between new ecosystems or existing chains to add new network properties, such as improved security or better delivery and availability.

Documentation

High level documentation and diagrams can be found in the doc directory.

Contract Json Schemas

Json schemas for types used in the contract apis can be generated by navigating to the ./contracts/{contract_name} directory and running cargo schema. This will generate a ./contracts/{contract_name}/schema directory containing the json schemas for types used to instantiate, execute, query etc.

Setup

Clone the repo along with the submodules:

git clone --recurse-submodules  https://github.com/axelarnetwork/axelar-amplifier.git

If you've already cloned the repository without initializing submodules and encounter errors such as:

Error: Custom { kind: Other, error: "protoc failed: Could not make proto path relative: proto-files/ampd/v1/ampd.proto: No such file or directory" }

Run the submodule initialization commands:

git submodule init
git submodule update

When pulling new changes from the remote repository, use:

git pull --recurse-submodules

Development and Testing

The build instructions can be found in the build guide. When developing contracts to integrate with amplifier, the cw-multi-test crate can be used to create a simulated blockchain environment, where different contracts can be deployed and interacted with, and contracts can interact with each other. See the integration-tests package for examples, as well as reusable helper functions.

Release

For Team Members

For team members responsible for managing releases, please refer to the ampd release document for detailed instructions on the release process.

For Users

  1. Ampd:

    • Official ampd releases can be downloaded from the GitHub Releases page
    • These releases include prebuilt binaries for different platforms
  2. Contract Builds:

    • Official contract builds are hosted on Axelar's CDN and organized by version

    • Example URLs:

      • https://static.axelar.network/releases/cosmwasm/coordinator/2.0.0/*
      • https://static.axelar.network/releases/cosmwasm/gateway/[tag]/*
      • https://static.axelar.network/releases/cosmwasm/multisig/[tag]/*
    • For information on deploying these contracts, refer to the Axelar Contract Deployments guide

Versioning

The semver for new releases is calculated automatically based on the commit messages and the folders where changes were made. The configuration for each piece of software released (e.g. ampd, gateway...) can be seen in the release.yaml file. You can perform a dry-run using the release action to be sure that the next version is what you intend it to be. The basic rules are as follows:

  • a commit with a message that does not include any associated tag (e.g. major-contracts) for release will be considered a patch release
  • a commit with a message with minor tag e.g. feat(minor-ampd):... will be considered a minor release, and the same logic applies to major releases
  • if no changes are detected in the watched directories, the release will not bump the version. For example, if since last release for the gateway contract no changes were made in the contracts/gateway or packages/ directory. A new release will not bump the version.

Compatibility

For the amplifier preview with version numbers < 1.0.0, please refer to the following compatibility table to select versions of contracts and ampd that work well together.

Binary Version
ampd 0.6.0
coordinator 0.2.0
gateway 0.2.3
multisig-prover 0.6.0
multisig 0.4.1
rewards 0.4.0
router 0.4.0
service-registry 0.4.1
voting-verifier 0.5.0
tofnd 1.0.1
solidity-contracts 5.9.0

About

Permissionless Connections Service run on the Axelar Network

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.9%
  • Other 0.1%