Giter VIP home page Giter VIP logo

axelar-gmp-sdk-solidity's Introduction

Axelar GMP SDK Solidity

This repository contains all the necessary ingredients for successful cross-chain development utilizing the Axelar General Message Passing protocol.

Documentation

Build

We recommend using the latest Node.js LTS version.

npm ci

npm run build

npm run test

Pre-compiled bytecodes can be found under Releases. Furthermore, pre-compiled bytecodes and ABI are shipped in the npm package and can be imported via:

npm install @axelar-network/axelar-gmp-sdk-solidity
const IAxelarExecutable = require('@axelar-network/axelar-gmp-sdk-solidity/interfaces/IAxelarExecutable.json');

const Upgradable = require('@axelar-network/axelar-cgp-solidity/artifacts/contracts/upgradable/Upgradable.sol/Upgradable.json');

Unit tests can also be run against live networks for integration testing, see here.

Development

Check gas usage

REPORT_GAS=true npm run test

Check storage layout of contracts.

STORAGE_LAYOUT=true npx hardhat check

Check contract bytecode size

CHECK_CONTRACT_SIZE=true npm run build

Available contracts

AxelarExecutable

Base interface for validating and executing GMP contract calls.

AxelarExpressExecutable

Interface that allows expediting GMP calls by lending assets and performing execution before it fully propagates through the Axelar network.

Create2Deployer and Create3Deployer

These contracts are used to deploy your Executable to have the same address on different EVM chains. This simplifies message validation from peer Executables. You can learn more in the documentation.

Proxy and Upgradable

Base implementation of upgradable contracts designed to be deployed with Create3Deployer and to have the same Proxy address on different EVM chains.

AddressString

Allows conversion between string and address data types

AddressBytes

Allows conversion between bytes and address data types

Bytes32String

Allows conversion between string and bytes32 data types for storing strings under 31 bytes into a single storage slot

axelar-gmp-sdk-solidity's People

Contributors

re1ro avatar foivos avatar milapsheth avatar deanamiel avatar axelar-cicd-bot avatar ggutoski avatar npty avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.