This repo provides an implementation for an Interchain Token Service and an Interchain Token using it. The interchain token service is meant to allow users/developers to easily create their own token bridge. All the underlying interchain communication is done by the service, and the deployer can either use an InterchainToken
that the service provides, or their own implementations. There are quite a few different possible configurations for bridges, and any user of any deployed bridge needs to trust the deployer of said bridge, much like any user of a token needs to trust the operator of said token. We plan to eventually remove upgradability from the service to make this protocol more trustworthy. Please reference the design description for more details on the design. Please look at the docs for more details on the contracts.
To build and run tests, do the following
npm ci
npm run build
npm run test
Generate gas report
REPORT_GAS=true npm run test
Generate test coverage report
npm run coverage
Test coverage reports of the main
branch can also be found on Codecov.
To learn more about the deployment process, please refer to this repo.