UNPKG

four-flap-meme-sdk

Version:

SDK for Flap bonding curve and four.meme TokenManager

143 lines (142 loc) 4.95 kB
/** * Flap Protocol Portal 代理合约地址(收费版) * 注意:这些是代理合约地址,会自动收取手续费 * 用于交易、Permit 签名等操作 */ export const FLAP_PORTAL_ADDRESSES = { BSC: '0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0', BASE: '0x00214f8C22A076575f4B67f3B4AA62f99E166e36', XLAYER: '0xb30D8c4216E1f21F27444D2FfAee3ad577808678', MORPH: '0x6aB823408672c0Db1DE1a18F1750d62E5F995A58', // ✅ 新增 Monad 链 Portal 地址 MONAD: '0x30e8ee7b5881bf2E158A0514f2150aabe2c68b23', }; /** * Flap Protocol 平台原始 Portal 合约地址 * 注意:这些是 Flap 平台的原始合约地址(非代理) * 用于 CREATE2 vanity 地址生成 */ export const FLAP_ORIGINAL_PORTAL_ADDRESSES = { BSC: '0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0', BASE: '0xF3c514E04f83166E80718f29f0d34F206be40A0A', XLAYER: '0xb30D8c4216E1f21F27444D2FfAee3ad577808678', MORPH: '0x4267F317adee7C6478a5EE92985c2BD5D855E274', // ✅ 新增 Monad 链原始 Portal 地址 MONAD: '0x30e8ee7b5881bf2E158A0514f2150aabe2c68b23', }; /** * Flap Protocol Token 实现合约地址 */ export const FLAP_TOKEN_IMPL_ADDRESSES = { BSC_NORMAL: '0x8b4329947e34b6d56d71a3385cac122bade7d78d', BSC_TAXED: '0x5dd913731C12aD8DF3E574859FDe45412bF4aaD9', BASE: '0xF3c514E04f83166E80718f29f0d34F206be40A0A', XLAYER: '0x12Dc83157Bf1cfCB8Db5952b3ba5bb56Cc38f8C9', MORPH: '0x8b4329947e34b6d56d71a3385cac122bade7d78d', // 暂时使用 BSC NORMAL 地址 // ✅ 新增 Monad 链 Token 实现地址 MONAD_NORMAL: '0xB88189aA1162850D75A1c1e16F837b7979994184', MONAD_TAXED: '0x1C8847736521f5cD725dFB8f33c7c610826e7C42', }; /** * 不同链的默认手续费率 * 数据来源:Example-Code 配置文件 */ export const FLAP_DEFAULT_FEE_RATES = { BSC: { buy: 0.01, sell: 0.01 }, // 1% (100 bps) MORPH: { buy: 0.025, sell: 0.025 }, // 2.5% (250 bps) XLAYER: { buy: 0.015, sell: 0.015 }, // 1.5% (150 bps) BASE: { buy: 0.025, sell: 0.025 }, // 2.5% (默认) // ✅ 新增 Monad 链默认费率 MONAD: { buy: 0.01, sell: 0.01 }, // 1% (100 bps) - 与 BSC 相同 }; /** * Flap IPFS API 端点 * 警告:这是一个占位符端点,实际 Flap 官方 IPFS 端点未公开 * 用户需要: * 1. 联系 Flap 团队获取真实的 IPFS GraphQL 端点 * 2. 或使用自己的 IPFS 服务(Pinata、Infura、Web3.Storage 等) * 3. 或在调用 uploadTokenMeta 时传入自定义端点作为第三个参数 */ export const FLAP_IPFS_API_URL = 'https://api.flap.sh/graphql'; // ⚠️ 占位符,需替换为真实端点 /** * Vanity 地址后缀配置 * 根据截图中的合约部署信息: * - BNB Chain: standard:8888, Tax:7777 * - Toshimart (BASE): standard:8453 * - X Layer: standard:1111 (无 Tax) * - Muffun: standard:8888 * - Monad: standard:8888, Tax:1111 */ export const FLAP_VANITY_SUFFIX = { // 默认后缀 NORMAL: '8888', TAXED: '7777', // 各链特定后缀 BSC_NORMAL: '8888', BSC_TAXED: '7777', BASE_NORMAL: '8453', XLAYER_NORMAL: '1111', MONAD_NORMAL: '8888', MONAD_TAXED: '1111', }; /** * 各链是否支持 Tax 代币 */ export const CHAIN_TAX_SUPPORT = { BSC: true, BASE: false, XLAYER: false, MORPH: false, MONAD: true, }; /** * 根据链获取 Vanity 后缀 * @param chain 链名称 * @param taxed 是否为税版代币 * @returns Vanity 后缀 */ export function getVanitySuffix(chain, taxed = false) { const chainUpper = chain.toUpperCase(); switch (chainUpper) { case 'BSC': return taxed ? FLAP_VANITY_SUFFIX.BSC_TAXED : FLAP_VANITY_SUFFIX.BSC_NORMAL; case 'BASE': return FLAP_VANITY_SUFFIX.BASE_NORMAL; // BASE 不支持 Tax case 'XLAYER': return FLAP_VANITY_SUFFIX.XLAYER_NORMAL; // XLayer 不支持 Tax case 'MONAD': return taxed ? FLAP_VANITY_SUFFIX.MONAD_TAXED : FLAP_VANITY_SUFFIX.MONAD_NORMAL; case 'MORPH': return FLAP_VANITY_SUFFIX.NORMAL; // MORPH 暂时使用默认 default: return taxed ? FLAP_VANITY_SUFFIX.TAXED : FLAP_VANITY_SUFFIX.NORMAL; } } /** * 检查链是否支持 Tax 代币 * @param chain 链名称 * @returns 是否支持 Tax */ export function isChainSupportTax(chain) { return CHAIN_TAX_SUPPORT[chain.toUpperCase()] ?? false; } /** * 默认 DEX 迁移阈值(占总供应量的比例) */ export const FLAP_DEX_THRESHOLDS = { TWO_THIRDS: 0.6667, // 66.67% FOUR_FIFTHS: 0.8, // 80% HALF: 0.5, // 50% _95_PERCENT: 0.95, // 95% _81_PERCENT: 0.81, // 81% _1_PERCENT: 0.01, // 1% (测试用) }; /** * 代币总供应量(固定为 10 亿) */ export const FLAP_TOTAL_SUPPLY = BigInt(1000000000) * BigInt(10 ** 18); /** * 零地址(用于表示原生代币) * ✅ 从公共模块重新导出 */ export { ZERO_ADDRESS } from '../utils/constants.js';