@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
56 lines • 2.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addLiquidityCommand = addLiquidityCommand;
const web3_js_1 = require("@solana/web3.js");
const utils_1 = require("../utils");
const node_1 = require("@flipflop-sdk/node");
async function addLiquidityCommand(options) {
if (!options.rpc) {
console.error('❌ Error: Missing --rpc parameter');
return;
}
if (!options.mint) {
console.error('❌ Error: Missing --mint parameter');
return;
}
if (!options.tokenAmount) {
console.error('❌ Error: Missing --token-amount parameter');
return;
}
if (!options.slippage) {
console.error('❌ Error: Missing --slippage 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.addLiquidity)({
rpc: options.rpc,
mint: new web3_js_1.PublicKey(options.mint),
tokenAmount: parseFloat(options.tokenAmount),
slippage: parseFloat(options.slippage),
payer,
});
if (!result.success || !result.data) {
console.error('❌ Error: ', result.message);
return;
}
console.log('\n✅ Liquidity Added Successfully!');
console.log('━'.repeat(50));
console.log(`Transaction Hash: ${result.data.signature}`);
console.log(`Mint Address: ${result.data.mintAddress.toBase58()}`);
console.log(`Tokens Added: ${result.data.tokenAmount.toNumber() / web3_js_1.LAMPORTS_PER_SOL}`);
console.log(`SOL Added: ${result.data.solAmount.toNumber() / web3_js_1.LAMPORTS_PER_SOL}`);
console.log(`LP Tokens Received: ${result.data.lpTokenAmount.toNumber() / web3_js_1.LAMPORTS_PER_SOL}`);
console.log(`Pool Address: ${result.data.poolAddress.toBase58()}`);
}
catch (error) {
console.error('❌ Error: ', error instanceof Error ? error.message : 'Unknown error');
}
}
//# sourceMappingURL=add-liquidity.js.map