When a user initiates a token swap by sending Jettons to the Vault contract, the swap parameters are provided in the Jetton's transfer_notification payload, which follows this TLB structure:
When a user contributes Jettons/TON to a liquidity pool via the Vault contract, the liquidity parameters are transmitted within the Jetton's transfer_notification payload. This payload adheres to the following TLB structure:
Since the Pool contract also acts as a Jetton Master, it supports the burn message, which facilitates liquidity withdrawal from the pool.
According to the Jetton specification, the Jetton Master may support an optional custom_payload parameter in burn messages. Crouton Finance uses this field to specify additional withdrawal parameters, such as slippage control and whether liquidity should be withdrawn in a balanced manner or in a specific pooled token.