Skip to main content

IBC Transfer

Abstract

This document specifies the internal x/ibc/transfer module of the HAQQ Network.

tip

The x/ibc/transfer module is a custom wrapper around the native IBC Transfer module. If you're not familiar with the IBC protocol and its native implementation, please check this document as prerequisite reading.

This wrapper allows IBC (ICS20) transfers for the registered ERC-20 tokens by automatic conversion between EVM and native Cosmos representations. It coupled with x/erc20 and x/evm modules.

References

Module Architecture

note

If you're not familiar with the overall module structure from the SDK modules, please check this document as prerequisite reading.

ibc/transfer/
├── keeper
│ ├── keeper.go # Store keeper that handles the business logic of the module and has access to a specific subtree of the state tree.
│ └── msg_server.go # Tx handlers
├── types
│ └── interfaces.go # The interfaces describing the components of the required modules
├── ibc_module.go # ICS26 implementation (used for transfer stacks)
└── module.go # Module setup for the module manager & ABCI InitGenesis and ExportGenesis functionality