[ { "anonymous": false, "inputs": [ {"indexed": true, "internalType": "address", "name": "buyer", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "amountOut", "type": "uint256"} ], "name": "Buy", "type": "event" }, { "anonymous": false, "inputs": [ {"indexed": false, "internalType": "uint256", "name": "tokenAmount", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "ethAmount", "type": "uint256"} ], "name": "Launch", "type": "event" }, { "anonymous": false, "inputs": [ {"indexed": true, "internalType": "address", "name": "seller", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "amountOut", "type": "uint256"} ], "name": "Sell", "type": "event" }, { "inputs": [], "name": "FEE_DENOMINATOR", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function" }, { "inputs": [ {"internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMin", "type": "uint256"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "deadline", "type": "uint256"} ], "name": "buy", "outputs": [{"internalType": "uint256", "name": "amountOut", "type": "uint256"}], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "buyFeePercent", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "stateMutability": "view", "type": "function" }, { "inputs": [{"internalType": "uint256", "name": "amountIn", "type": "uint256"}], "name": "calcBuyExactIn", "outputs": [ {"internalType": "uint256", "name": "amountOut", "type": "uint256"}, {"internalType": "uint256", "name": "amountInMax", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMax", "type": "uint256"} ], "stateMutability": "view", "type": "function" }, { "inputs": [{"internalType": "uint256", "name": "amountOut", "type": "uint256"}], "name": "calcBuyExactOut", "outputs": [ {"internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMax", "type": "uint256"} ], "stateMutability": "view", "type": "function" }, { "inputs": [{"internalType": "uint256", "name": "amountIn", "type": "uint256"}], "name": "calcSellExactIn", "outputs": [ {"internalType": "uint256", "name": "amountOut", "type": "uint256"}, {"internalType": "uint256", "name": "amountInMax", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMax", "type": "uint256"} ], "stateMutability": "view", "type": "function" }, { "inputs": [{"internalType": "uint256", "name": "amountOut", "type": "uint256"}], "name": "calcSellExactOut", "outputs": [ {"internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMax", "type": "uint256"} ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "correlation", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ethReserve", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeRecipient", "outputs": [{"internalType": "address payable", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "getData", "outputs": [ { "components": [ {"internalType": "uint256", "name": "totalSupply", "type": "uint256"}, {"internalType": "uint256", "name": "tokenReserve", "type": "uint256"}, {"internalType": "uint256", "name": "virtualTokenReserve", "type": "uint256"}, {"internalType": "uint256", "name": "ethReserve", "type": "uint256"}, {"internalType": "uint256", "name": "virtualEthReserve", "type": "uint256"}, {"internalType": "uint256", "name": "launchThreshold", "type": "uint256"}, {"internalType": "uint8", "name": "buyFeePercent", "type": "uint8"}, {"internalType": "uint8", "name": "sellFeePercent", "type": "uint8"}, {"internalType": "address", "name": "pair", "type": "address"}, {"internalType": "uint256", "name": "balance", "type": "uint256"} ], "internalType": "struct BondingCurve.Data", "name": "data", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPostLaunchPrice", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [ {"internalType": "address", "name": "factory_", "type": "address"}, {"internalType": "address", "name": "uniswapV2Factory_", "type": "address"}, {"internalType": "address", "name": "uniswapV2Router_", "type": "address"}, {"internalType": "contract BCToken", "name": "token_", "type": "address"}, {"internalType": "uint8", "name": "buyFeePercent_", "type": "uint8"}, {"internalType": "uint8", "name": "sellFeePercent_", "type": "uint8"}, {"internalType": "uint8", "name": "launchFeePercent_", "type": "uint8"}, {"internalType": "address payable", "name": "feeRecipient_", "type": "address"} ], "name": "init", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "launchFeePercent", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchThreshold", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [ {"internalType": "uint256", "name": "amountIn", "type": "uint256"}, {"internalType": "uint256", "name": "amountOutMin", "type": "uint256"}, {"internalType": "uint256", "name": "deadline", "type": "uint256"} ], "name": "sell", "outputs": [{"internalType": "uint256", "name": "amountOut", "type": "uint256"}], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFeePercent", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [{"internalType": "contract BCToken", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenReserve", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Factory", "outputs": [{"internalType": "contract IUniswapV2Factory", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [{"internalType": "contract IUniswapV2Router02", "name": "", "type": "address"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "virtualEthReserve", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "virtualTokenReserve", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function" } ]