[{"inputs": [{"internalType": "address", "name": "_forwarder", "type": "address"}, {"internalType": "address", "name": "_escrow", "type": "address"}, {"internalType": "address", "name": "_treasury", "type": "address"}, {"internalType": "uint256", "name": "_launchFee", "type": "uint256"}, {"internalType": "uint16", "name": "_feeBps", "type": "uint16"}, {"internalType": "uint16", "name": "_protocolBps", "type": "uint16"}, {"internalType": "uint16", "name": "_bountyBps", "type": "uint16"}, {"internalType": "uint256", "name": "_bountyCap", "type": "uint256"}], "stateMutability": "nonpayable", "type": "constructor"}, {"inputs": [], "name": "BadLength", "type": "error"}, {"inputs": [], "name": "BadValue", "type": "error"}, {"inputs": [{"internalType": "uint256", "name": "i", "type": "uint256"}, {"internalType": "bytes", "name": "reason", "type": "bytes"}], "name": "BuyFailed", "type": "error"}, {"inputs": [], "name": "Deployer", "type": "error"}, {"inputs": [], "name": "NotOwner", "type": "error"}, {"inputs": [], "name": "TooMany", "type": "error"}, {"inputs": [], "name": "Zero", "type": "error"}, {"inputs": [], "name": "MAX_FEE_BPS", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "MAX_PROTOCOL_BPS", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "MAX_RECIPIENTS", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "bountyBps", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "bountyCap", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "escrow", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "execImpl", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "feeBps", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "forwarder", "outputs": [{"internalType": "contract IForwarder", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "string", "name": "name", "type": "string"}, {"internalType": "string", "name": "symbol", "type": "string"}, {"internalType": "string", "name": "uri", "type": "string"}, {"internalType": "string", "name": "description", "type": "string"}, {"components": [{"internalType": "string", "name": "a", "type": "string"}, {"internalType": "string", "name": "b", "type": "string"}, {"internalType": "string", "name": "c", "type": "string"}, {"internalType": "string", "name": "d", "type": "string"}, {"internalType": "string", "name": "e", "type": "string"}], "internalType": "struct IForwarder.Socials", "name": "socials", "type": "tuple"}, {"internalType": "address", "name": "deployer", "type": "address"}, {"internalType": "uint16", "name": "creatorTaxBps", "type": "uint16"}, {"internalType": "bool", "name": "flag", "type": "bool"}, {"internalType": "bytes32", "name": "salt1", "type": "bytes32"}, {"internalType": "bytes32", "name": "salt2", "type": "bytes32"}], "internalType": "struct IForwarder.LaunchParams", "name": "p", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "seed", "type": "uint256"}, {"internalType": "uint256", "name": "minSeedOut", "type": "uint256"}, {"internalType": "address[]", "name": "recipients", "type": "address[]"}, {"internalType": "uint256[]", "name": "amounts", "type": "uint256[]"}, {"internalType": "uint256", "name": "minOutEach", "type": "uint256"}, {"internalType": "uint256", "name": "gasDrop", "type": "uint256"}, {"internalType": "bool", "name": "useVault", "type": "bool"}], "internalType": "struct LaunchBlock.Bundle", "name": "b", "type": "tuple"}], "name": "launchBundle", "outputs": [{"internalType": "address", "name": "token", "type": "address"}, {"internalType": "address", "name": "curve", "type": "address"}, {"internalType": "address", "name": "vault", "type": "address"}], "stateMutability": "payable", "type": "function"}, {"inputs": [], "name": "launchFee", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "owner", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "protocolBps", "outputs": [{"internalType": "uint16", "name": "", "type": "uint16"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "seed", "type": "uint256"}, {"internalType": "uint256[]", "name": "amounts", "type": "uint256[]"}, {"internalType": "uint256", "name": "gasDrop", "type": "uint256"}], "name": "quote", "outputs": [{"internalType": "uint256", "name": "total", "type": "uint256"}, {"internalType": "uint256", "name": "bundled", "type": "uint256"}, {"internalType": "uint256", "name": "fee", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint16", "name": "_feeBps", "type": "uint16"}, {"internalType": "uint16", "name": "_protocolBps", "type": "uint16"}, {"internalType": "uint16", "name": "_bountyBps", "type": "uint16"}, {"internalType": "uint256", "name": "_bountyCap", "type": "uint256"}, {"internalType": "uint256", "name": "_launchFee", "type": "uint256"}, {"internalType": "address", "name": "_treasury", "type": "address"}], "name": "setParams", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "n", "type": "address"}], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "treasury", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "vaultImpl", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}]