@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
51 lines • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.displayPoolCommand = displayPoolCommand;
const web3_js_1 = require("@solana/web3.js");
const node_1 = require("@flipflop-sdk/node");
const anchor_1 = require("@coral-xyz/anchor");
const spl_token_1 = require("@solana/spl-token");
async function displayPoolCommand(options) {
if (!options.rpc) {
console.error('❌ Error: Missing --rpc parameter');
return;
}
if (!options.mint) {
console.error('❌ Error: Missing --mint parameter');
return;
}
try {
const connection = new web3_js_1.Connection(options.rpc, 'confirmed');
const result = await (0, node_1.displayPool)({
tokenAMint: spl_token_1.NATIVE_MINT,
tokenBMint: new web3_js_1.PublicKey(options.mint),
rpc: options.rpc,
});
if (!result) {
console.error('❌ No pool found for the given token pair');
return;
}
if (!result.success || !result.data) {
console.error('❌ Error: ', result.message);
return;
}
console.log('\n📊 Pool Information');
console.log('━'.repeat(50));
console.log(`Pool Address: ${result.data.poolAddress.toBase58()}`);
console.log(`Config ID: ${result.data.configId.toBase58()}`);
console.log(`Pool Creator: ${result.data.poolCreator.toBase58()}`);
console.log(`Vault A: ${result.data.vaultA.toBase58()}`);
console.log(`Vault B: ${result.data.vaultB.toBase58()}`);
console.log(`LP Token Mint: ${result.data.mintLp.toBase58()}`);
console.log(`Token A Mint: ${result.data.mintA.toBase58()}`);
console.log(`Token B Mint: ${result.data.mintB.toBase58()}`);
console.log(`LP Supply: ${(result.data.lpAmount.mul(new anchor_1.BN(1000)).div(new anchor_1.BN(web3_js_1.LAMPORTS_PER_SOL)).toNumber() / 1000)}`);
console.log(`Pool Price: ${(1 / result.data.poolPrice).toFixed(12)} Token/SOL`);
console.log(`Base Reserve: ${((result.data.baseReserve.mul(new anchor_1.BN(1000)).div(new anchor_1.BN(web3_js_1.LAMPORTS_PER_SOL))).toNumber() / 1000)} SOL`);
console.log(`Quote Reserve: ${((result.data.quoteReserve.mul(new anchor_1.BN(1000)).div(new anchor_1.BN(web3_js_1.LAMPORTS_PER_SOL))).toNumber() / 1000)} Token`);
}
catch (error) {
console.error('❌ Error: ', error instanceof Error ? error.message : 'Unknown error');
}
}
//# sourceMappingURL=display-pool.js.map