@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
53 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeLiquidityCommand = removeLiquidityCommand;
const web3_js_1 = require("@solana/web3.js");
const utils_1 = require("../utils");
const node_1 = require("@flipflop-sdk/node");
async function removeLiquidityCommand(options) {
if (!options.rpc) {
console.error('❌ Error: Missing --rpc parameter');
return;
}
if (!options.mint) {
console.error('❌ Error: Missing --mint parameter');
return;
}
if (!options.removePercentage) {
console.error('❌ Error: Missing --remove-percentage 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.removeLiquidity)({
rpc: options.rpc,
mint: new web3_js_1.PublicKey(options.mint),
removePercentage: parseFloat(options.removePercentage),
payer,
slippage: options.slippage ? parseFloat(options.slippage) : 1,
});
if (!result.success || !result.data) {
console.error('❌ Error: ', result.message);
return;
}
console.log('\n✅ Liquidity Removed Successfully!');
console.log('━'.repeat(50));
console.log(`Transaction Hash: ${result.data.signature}`);
if (result.data.tokenAAmount) {
console.log(`Token A Received: ${result.data.tokenAAmount.toNumber() / web3_js_1.LAMPORTS_PER_SOL}`);
}
if (result.data.tokenBAmount) {
console.log(`Token B Received: ${result.data.tokenBAmount.toNumber() / web3_js_1.LAMPORTS_PER_SOL}`);
}
}
catch (error) {
console.error('❌ Error: ', error instanceof Error ? error.message : 'Unknown error');
}
}
//# sourceMappingURL=remove-liquidity.js.map