JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 22
  • Score
    100M100P100Q44184F

EVM Gateway Contract

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@routerprotocol/evm-gateway-contracts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Router EVM Gateway contracts

    Overview

    The Router EVM Gateway contract will bridge EVM chains with the Router Chain. We can deploy this gateway contract on any EVM-compatible chain. The gateway contract validates all incoming requests coming from the router chain using the validator set signatures. These signatures should have at-least 2/3 validator power. The current validator set(valset) can update the validator set to a new valset by invoking the updateValset function.

    The Gateway contract has a function iSend to send request to other chains, a function iReceive to receive requests from another chain and iAck to receive acknowledgments back from destination chain.

    For more details, please check here.

    Please use the following instruction to setup, test and deploy the project

    Setup

    To run any command you need to have .env in your local

    cd router-gateway-contracts/evm
    cp .env.test .env

    then update the value in .env file.

    Compile Project

    cd router-gateway-contracts/evm
    npm install
    npx hardhat compile

    Run Tests

    Use the following commands to run the test cases:

    npx hardhat test

    Deploy Gateway Contract on live network

    cd router-gateway-contracts/evm
    npx hardhat deploy:Gateway --network <network> --chaintype <chainType> --valsetnonce <valsetNonce> --validators <validators> --powers <powers>

    Upgrade Gateway Contract on live network

    cd router-gateway-contracts/evm
    npx hardhat upgrade:Gateway --network <network>

    Verify GateWay Contract on a network

    cd router-gateway-contracts/evm
    npx hardhat verify --constructor-args <args-file-path> <gateway-contract-address> --network <network-name>

    Example:-

    npx hardhat verify --constructor-args scripts/arguments.js 0x610aEe9387488398c25Aca6aDFBac662177DB24D --network polygonMumbai

    Generate ABIs, BIN and GO bindings of the Gateway Contract

    cd router-gateway-contracts
    npm install
    sh scripts/createBinding.sh