UNPKG

@flipflop-sdk/cli

Version:

FlipFlop CLI tool for common operations

54 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buyTokenCommand = buyTokenCommand; const web3_js_1 = require("@solana/web3.js"); const utils_1 = require("../utils"); const node_1 = require("@flipflop-sdk/node"); async function buyTokenCommand(options) { if (!options.rpc) { console.error('❌ Error: Missing --rpc parameter'); return; } if (!options.slippage) { options.slippage = '5'; } if (!options.mint) { console.error('❌ Error: Missing --mint parameter'); return; } if (!options.amount) { console.error('❌ Error: Missing --amount parameter'); return; } if (!options.keypairBs58 && !options.keypairFile) { console.error('❌ Error: Missing --keypair-bs58 or --keypair-file parameter'); return; } try { const payer = options.keypairFile ? (0, utils_1.loadKeypairFromFile)(options.keypairFile) : (0, utils_1.loadKeypairFromBase58)(options.keypairBs58); const result = await (0, node_1.buyToken)({ rpc: options.rpc, mint: new web3_js_1.PublicKey(options.mint), amount: parseFloat(options.amount), slippage: parseFloat(options.slippage), payer, }); if (!result.success || !result.data) { console.error('❌ Error: ', result.message); return; } console.log('\n✅ Token Purchase Successful!'); console.log('━'.repeat(50)); console.log(`Transaction Hash: ${result.data.txId}`); console.log(`Mint Address: ${result.data.mintAddress.toBase58()}`); console.log(`Tokens Purchased: ${result.data.tokenAmount}`); console.log(`SOL Spent: ${result.data.solAmount}`); console.log(`Pool Address: ${result.data.poolAddress.toBase58()}`); } catch (error) { console.error('❌ Error: ', error instanceof Error ? error.message : 'Unknown error'); } } //# sourceMappingURL=buy-token.js.map