import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";import { base } from "viem/chains";import { parseEther } from "viem";// Inicializar a fábricaconst factory = new BondkitTokenFactory( base.id, process.env.WALLET_PRIVATE_KEY);// Implantar seu tokenconst tokenAddress = await factory.deployBondkitToken({ // Metadados do token name: "My Awesome Token", symbol: "MAT", // Configuração de fornecimento (1 milhão de tokens) finalTokenSupply: parseEther("1000000"), // Configurações da curva de ligação aggressivenessFactor: 35, // 0-100, quanto maior, mais íngreme a curva targetEth: parseEther("10"), // Alvo de 10 ETH para migração // Configuração de taxa feeRecipient: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1", // Seu endereço lpSplitRatioFeeRecipientBps: 1000n, // 10% para o destinatário da taxa // Configurações de migração migrationAdminAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1", uniswapV2RouterAddress: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24" // Roteador V4});console.log("✅ Token implantado em:", tokenAddress);
import { BondkitToken } from "@b3dotfun/sdk/bondkit";import { parseEther, formatEther } from "viem";// Conectar ao seu token implantadoconst token = new BondkitToken( tokenAddress, process.env.WALLET_PRIVATE_KEY);
// Verificar o progresso da ligaçãoconst progress = await token.getBondingProgress();console.log(` Progresso: ${(progress.progress * 100).toFixed(2)}% Arrecadado: ${formatEther(progress.raised)} ETH Alvo: ${formatEther(progress.threshold)} ETH Restante: ${formatEther(progress.threshold - progress.raised)} ETH`);// Obter preço atual do tokenconst currentPrice = await token.getCurrentPrice();console.log(`Preço atual: ${formatEther(currentPrice)} ETH por token`);// Verificar se a migração está disponívelconst canMigrate = await token.canMigrate();console.log(`Pronto para migrar: ${canMigrate}`);
// Apenas o administrador da migração pode chamar issoif (await token.isMigrationAdmin(userAddress)) { console.log("🚀 Iniciando migração para Uniswap v4..."); const migrationTx = await token.migrateToDex(); console.log("Transação de migração:", migrationTx); // Aguardar confirmação const receipt = await token.waitForTransaction(migrationTx); if (receipt.status === "success") { console.log("✅ Migração completa!"); console.log("Endereço do pool Uniswap v4:", await token.getPoolAddress()); }} else { console.log("❌ Apenas o administrador da migração pode executar a migração");}
Importante: Após a migração:
A propriedade do contrato é automaticamente renunciada
A negociação da curva de ligação é permanentemente desabilitada