MsgTransfer
A fungible token cross chain transfer is achieved by using the MsgTransfer:
SourcePortis invalid (see 24-host naming requirements.SourceChannelis invalid (see 24-host naming requirements).Tokenis invalid (denom is invalid or amount is negative)Token.Amountis not positive.Token.Denomis not a valid IBC denomination as per ADR 001 - Coin Source Tracing.
Senderis empty.Receiveris empty or contains more than 2048 bytes.Memocontains more than 32768 bytes.TimeoutHeightandTimeoutTimestampare both zero.
SourcePort and SourceChannel.
The denomination provided for transfer should correspond to the same denomination represented on this chain. The prefixes will be added as necessary upon by the receiving chain.
If the Amount is set to the maximum value for a 256-bit unsigned integer (i.e. 2^256 - 1), then the whole balance of the corresponding denomination will be transferred. The helper function UnboundedSpendLimit in the types package of the transfer module provides the sentinel value that can be used.