@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
54 lines • 2.06 kB
JavaScript
;
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