// SPDX-License-Identifier: MIT pragma solidity ^0.8.28; /// Minimal interfaces for the pons v2 launchpad on Robinhood Chain (chain 4663), /// taken from https://docs.ponsfamily.com/v2 and the deployed contracts. interface IPonsFactory { struct Socials { string twitter; string telegram; string discord; string website; string farcaster; } struct TokenParams { string name; string symbol; string logo; string description; Socials socials; address creatorFeeRecipient; uint16 creatorTaxBps; bool buybackEnabled; bytes32 expectedEconomics; bytes32 salt; } function launchToken(TokenParams calldata params, uint256 launchConfigId, address pairToken, address[] calldata snipeTaxExemptions) external payable returns (address token, address curve); function launchFee() external view returns (uint256); function maxCreatorTaxBps() external view returns (uint256); function canLaunch(address launcher) external view returns (bool); function previewLaunchEconomics(uint256 launchConfigId, address pairToken) external view returns (bytes32); } interface IPonsCurve { function buy(uint256 quoteIn, uint256 minTokensOut, address recipient) external payable returns (uint256); function sell(uint256 tokensIn, uint256 minQuoteOut, address recipient) external returns (uint256); function token() external view returns (address); function tokenReserve() external view returns (uint256); function quoteReserve() external view returns (uint256); function realQuoteReserve() external view returns (uint256); function phantomQuote() external view returns (uint256); function feeBps() external view returns (uint256); function graduationThreshold() external view returns (uint256); function sellableTokens() external view returns (uint256); function graduated() external view returns (bool); function currentSnipeTaxBps(address recipient) external view returns (uint256); }