// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.4; interface IiZiSwapMintCallback { /// @notice Called to msg.sender in iZiSwapPool#mint call /// @param x Amount of tokenX need to pay from miner /// @param y Amount of tokenY need to pay from miner /// @param data Any data passed through by the msg.sender via the iZiSwapPool#mint call function mintDepositCallback( uint256 x, uint256 y, bytes calldata data ) external; } interface IiZiSwapCallback { /// @notice Called to msg.sender in iZiSwapPool#swapY2X(DesireX) call /// @param x Amount of tokenX trader will acquire /// @param y Amount of tokenY trader will pay /// @param data Any dadta passed though by the msg.sender via the iZiSwapPool#swapY2X(DesireX) call function swapY2XCallback( uint256 x, uint256 y, bytes calldata data ) external; /// @notice Called to msg.sender in iZiSwapPool#swapX2Y(DesireY) call /// @param x Amount of tokenX trader will pay /// @param y Amount of tokenY trader will require /// @param data Any dadta passed though by the msg.sender via the iZiSwapPool#swapX2Y(DesireY) call function swapX2YCallback( uint256 x, uint256 y, bytes calldata data ) external; } interface IiZiSwapAddLimOrderCallback { /// @notice Called to msg.sender in iZiSwapPool#addLimOrderWithX(Y) call /// @param x Amount of tokenX seller will pay /// @param y Amount of tokenY seller will pay /// @param data Any dadta passed though by the msg.sender via the iZiSwapPool#addLimOrderWithX(Y) call function payCallback( uint256 x, uint256 y, bytes calldata data ) external; }