enum MessageType {
INTERCHAIN_TRANSFER,
DEPLOY_INTERCHAIN_TOKEN,
DEPLOY_TOKEN_MANAGER,
SEND_TO_HUB,
RECEIVE_FROM_HUB
}
struct InterchainTransfer {
uint256 messageType;
bytes32 tokenId;
bytes sourceAddress;
bytes destinationAddress;
uint256 amount;
bytes data;
}
struct DeployInterchainToken {
uint256 messageType;
bytes32 tokenId;
string name;
string symbol;
uint8 decimals;
bytes minter;
}
struct DeployTokenManager {
uint256 messageType;
bytes32 tokenId;
uint256 tokenManagerType;
bytes params;
}