This contract implements the actual pool that exchanges tokens. It is the core LADEX functionality. This contract inherits from UniswapV2ERC20, which provides the the ERC-20 functions for the liquidity tokens. The Pair Smart Contract consists of two main functionalities. The first one represents the liquidity pools associated with the two tokens that compose the second functionality, the swap activity. The way the pair exchange decides on the exchange rate between token0 and token1 is to keep the multiple of the two reserves constant during trades. kLast is this value. It changes when a liquidity provider deposits or withdraws tokens, and it increases slightly because of the 0.3% market fee.As traders provide more of token0, the relative value of token1 increases, and vice versa, based on supply and demand. When a liquidity provider either deposits liquidity (Mint) or withdraws it (Burn) mint event and burn even happen. In either case, the amounts of token0 and token1 that are deposited or withdrawn are part of the event, as well as the identity of the account that called us (sender). In the case of a withdrawal, the event also includes the target that received the tokens (to), which may not be the same as the sender.