use BigUint;
/// A structure representing the data necessary for transferring tokens during a contract call.
///
/// `TokenTransfer` is used to specify the details of a token transfer that is to be carried out as part
/// of a contract call. It includes the identifier of the token, a nonce, and the amount of tokens to be transferred.
/// This struct is solely used for providing token transfer information as a parameter to a contract call. In case
/// there is a token payment return from the contract, a different struct (which would be generated from the ABI along
/// with the client) named `EsdtTokenPayment` would be used to represent that data.