import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";import { base } from "viem/chains";import { parseEther } from "viem";// Inicializar la fábricaconst factory = new BondkitTokenFactory( base.id, process.env.WALLET_PRIVATE_KEY);// Desplegar tu tokenconst tokenAddress = await factory.deployBondkitToken({ // Metadatos del token name: "My Awesome Token", symbol: "MAT", // Configuración de suministro (1 millón de tokens) finalTokenSupply: parseEther("1000000"), // Configuración de la curva de vinculación aggressivenessFactor: 35, // 0-100, más alto = curva más empinada targetEth: parseEther("10"), // Objetivo de 10 ETH para la migración // Configuración de tarifas feeRecipient: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1", // Tu dirección lpSplitRatioFeeRecipientBps: 1000n, // 10% al receptor de la tarifa // Configuración de migración migrationAdminAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1", uniswapV2RouterAddress: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24" // Router V4});console.log("✅ Token desplegado en:", tokenAddress);
import { BondkitToken } from "@b3dotfun/sdk/bondkit";import { parseEther, formatEther } from "viem";// Conectar a tu token desplegadoconst token = new BondkitToken( tokenAddress, process.env.WALLET_PRIVATE_KEY);
// Verificar el progreso de vinculaciónconst progress = await token.getBondingProgress();console.log(` Progreso: ${(progress.progress * 100).toFixed(2)}% Recaudado: ${formatEther(progress.raised)} ETH Objetivo: ${formatEther(progress.threshold)} ETH Restante: ${formatEther(progress.threshold - progress.raised)} ETH`);// Obtener precio actual del tokenconst currentPrice = await token.getCurrentPrice();console.log(`Precio actual: ${formatEther(currentPrice)} ETH por token`);// Verificar si la migración está disponibleconst canMigrate = await token.canMigrate();console.log(`Listo para migrar: ${canMigrate}`);
// Solo el administrador de migración puede llamar a estoif (await token.isMigrationAdmin(userAddress)) { console.log("🚀 Iniciando migración a Uniswap v4..."); const migrationTx = await token.migrateToDex(); console.log("Transacción de migración:", migrationTx); // Esperar por confirmación const receipt = await token.waitForTransaction(migrationTx); if (receipt.status === "success") { console.log("✅ Migración completa!"); console.log("Dirección del pool en Uniswap v4:", await token.getPoolAddress()); }} else { console.log("❌ Solo el administrador de migración puede ejecutar la migración");}
Importante: Después de la migración:
La propiedad del contrato se renuncia automáticamente
El comercio de la curva de vinculación se deshabilita permanentemente