File Structure
Understand the components of the ICTT structure
Contract Structure
The ERC20 and native token transferrers built on top of Interchain Messaging are composed of interfaces and abstract contracts that make them extendable to new implementations in the future.
ITokenTransferrer
Interface that defines the events token transfer contract implementations must emit. Also defines the message types and formats of messages between all implementations.
IERC20TokenTransferrer
and INativeTokenTransferrer
Interfaces that define the external functions for interacting with token transfer contract implementations of each type. ERC20 and native token transferrer interfaces vary from each other in that the native token transferrer functions are payable
and do not take an explicit amount parameter (it is implied by msg.value
), while the ERC20 token transferrer functions are not payable
and require the explicit amount parameter. Otherwise, they include the same functions.