Summary
1-2 sentence summary of what this document is about and why we should work on it.
This is a tech spec on an ITS Token hub design for Amplifier. Token transfers between ITS-enabled chains will be routed through this token hub.
Terminology
- Axelar: Axelar network is a Cosmos SDK based Proof-of-Stake chain that facilitates cross-chain messaging between chains. Axelar validators participate in cross-chain message validation.
- Axelar Amplifier: The Amplifier protocol allows programmable chain connections on Axelar. It’s implemented in Cosmwasm (smart contract layer on Axelar), and provides the building blocks to allow chains to integrate with Axelar.
- Amplifier Chain: This is an external chain that’s connected to Axelar via the Amplifier protocol.
- Consensus chain: This is an external chain that’s connected to Axelar via the original Axelar protocol. Only the existing EVM and Cosmos chains are supported through this approach.
- External Gateway: This contract lives on the external chain that connects to Axelar. It allows app contracts to send/receive GMP calls. The EVM implementation for this can be found here. Non-EVM chains will have their own gateway implementations. Axelar powered apps inherit an AxelarExecutable contract which allows a relayer to execute messages on the app if they can be validated against the external gateway.
- Gateway: This is a cosmwasm contract that lives on Axelar Amplifier that connects to the external gateway. It’s responsible for verifying contract call events from the external gateway (with the help of a verifier contract), forwarding the verified messages to the router, and thus to the internal gateway for the destination chain (which then allows a batch of message approvals to be signed, with the help of the prover contract, and relayed to the external gateway for the destination).
- Axelarnet Gateway: This is a specific gateway contract that allows apps on Axelar to send/receive cross-chain messages via the Amplifier protocol. ITS Hub is one such app that will interact with this gateway.
- ITS edge contracts: This is a cross-chain token bridging contract that makes use of Axelar’s cross-chain messaging system (i.e send/receive messages via the external gateway). Tokens are linked across different chains via a unique
tokenId
. ITS allows permissionless deployment and transfers of tokens cross-chain. It also allows linking custom tokens across chains with various configurations. ITS v1.2.4 is already live on various EVM chains. It can also be used via a UI here (testnet link here). ITS contracts currently connect directly to each other between different EVM chains.
- ITS edge contract will be implemented for any external chain that’s connected to Axelar.
- Various ITS flows can be found in this test.
- ITS Hub: This is a cosmwasm contract on Axelar that will act as a Hub between ITS edge contracts, and provide further security checks, along with other features in the future.
- ITS Tokens: Tokens deployed via ITS are labelled as ITS tokens. These tokens are controlled by the ITS protocol, and appear as just messages to Axelar’s cross-chain messaging system.
- Gateway Tokens: Cross-chain tokens deployed natively via the Axelar protocol and the old EVM Axelar gateway are labelled as Gateway tokens. These are legacy tokens that ITS edge contract will support. ITS Hub will also support these in the future.
Notes
- The ITS Hub contract in scope for the audit also does not support Axelar or a Cosmos chain as a source or destination yet.
- ITS edge contracts don’t support express execution of messages received from ITS Hub as well.