← Contracts

Contracts · MIT license

IPons.sol

The slice of pons V2's interface the launcher uses.

Download .sol
1// SPDX-License-Identifier: MIT
2pragma solidity ^0.8.28;
3
4/// Minimal interfaces for the pons v2 launchpad on Robinhood Chain (chain 4663),
5/// taken from https://docs.ponsfamily.com/v2 and the deployed contracts.
6
7interface IPonsFactory {
8 struct Socials {
9 string twitter;
10 string telegram;
11 string discord;
12 string website;
13 string farcaster;
14 }
15
16 struct TokenParams {
17 string name;
18 string symbol;
19 string logo;
20 string description;
21 Socials socials;
22 address creatorFeeRecipient;
23 uint16 creatorTaxBps;
24 bool buybackEnabled;
25 bytes32 expectedEconomics;
26 bytes32 salt;
27 }
28
29 function launchToken(TokenParams calldata params, uint256 launchConfigId, address pairToken, address[] calldata snipeTaxExemptions)
30 external
31 payable
32 returns (address token, address curve);
33
34 function launchFee() external view returns (uint256);
35 function maxCreatorTaxBps() external view returns (uint256);
36 function canLaunch(address launcher) external view returns (bool);
37 function previewLaunchEconomics(uint256 launchConfigId, address pairToken) external view returns (bytes32);
38}
39
40interface IPonsCurve {
41 function buy(uint256 quoteIn, uint256 minTokensOut, address recipient) external payable returns (uint256);
42 function sell(uint256 tokensIn, uint256 minQuoteOut, address recipient) external returns (uint256);
43 function token() external view returns (address);
44 function tokenReserve() external view returns (uint256);
45 function quoteReserve() external view returns (uint256);
46 function realQuoteReserve() external view returns (uint256);
47 function phantomQuote() external view returns (uint256);
48 function feeBps() external view returns (uint256);
49 function graduationThreshold() external view returns (uint256);
50 function sellableTokens() external view returns (uint256);
51 function graduated() external view returns (bool);
52 function currentSnipeTaxBps(address recipient) external view returns (uint256);
53}