@flipflop-sdk/cli
Version:
FlipFlop CLI tool for common operations
177 lines • 9.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
// import { initCommand } from './init';
const launch_1 = require("./launch");
const set_urc_1 = require("./set-urc");
const display_mint_1 = require("./display-mint");
const mint_1 = require("./mint");
const display_urc_1 = require("./display-urc");
const system_config_1 = require("./system-config");
const metadata_1 = require("./metadata");
const display_token_params_1 = require("./display-token-params");
const buy_token_1 = require("./raydium/buy-token");
const sell_token_1 = require("./raydium/sell-token");
const add_liquidity_1 = require("./raydium/add-liquidity");
const remove_liquidity_1 = require("./raydium/remove-liquidity");
const burn_liquidity_1 = require("./raydium/burn-liquidity");
const display_pool_1 = require("./raydium/display-pool");
const display_lp_1 = require("./raydium/display-lp");
const create_pool_1 = require("./raydium/create-pool");
const estimate_slippage_1 = require("./raydium/estimate-slippage");
const estimate_volume_1 = require("./raydium/estimate-volume");
// Create the main program
const program = new commander_1.Command();
program
.name('flipflop')
.description('A CLI tool for Flipflop token operations')
.version('1.3.1');
// Add launch subcommand
program.command('launch')
.description('Launch a new token')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--name <name>', 'Token name')
.option('--symbol <symbol>', 'Token symbol')
.option('--uri <uri>', 'Token URI')
.option('--token-type <type>', 'Token type (meme or standard)', 'meme')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(launch_1.launchCommand);
program.command('display-mint')
.description('Display mint details')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.action(display_mint_1.displayMintCommand);
// Add urc subcommand
program.command('set-urc')
.description('Create or update URC code')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--urc <code>', 'URC code')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(set_urc_1.setUrcCommand);
program.command('display-urc')
.description('Display URC details')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--urc <code>', 'URC code')
.action(display_urc_1.displayUrcCommand);
program.command('display-token-params')
.description('Display token params')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--token-type <type>', 'Token type (meme or standard)', 'meme')
.action(display_token_params_1.displayTokenParamsCommand);
// Add mint subcommand
program.command('mint')
.description('Mint tokens')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--urc <code>', 'URC code')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.option('--lut <address>', 'LookupTableAddress of common addresses')
.action(mint_1.mintCommand);
// Add show system config
program.command('system-config')
.description('Get system config')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.action(system_config_1.systemConfigCommand);
// Add upload metadata and get uri
program.command('metadata')
.description('Upload metadata and get uri')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--name <name>', 'Token name')
.option('--symbol <symbol>', 'Token symbol')
.option('--description <description>', 'Token description')
.option('--image-path <path>', 'Path to image file')
.action(metadata_1.metadataCommand);
// Raydium CPMM Commands
program.command('raydium-buy')
.description('Buy tokens from Raydium CPMM pool')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--amount <amount>', 'Amount of tokens to buy')
.option('--slippage <percentage>', 'Slippage tolerance in percentage', '5')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(buy_token_1.buyTokenCommand);
program.command('raydium-sell')
.description('Sell tokens to Raydium CPMM pool')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--amount <amount>', 'Amount of tokens to sell')
.option('--slippage <percentage>', 'Slippage tolerance in percentage', '5')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(sell_token_1.sellTokenCommand);
program.command('raydium-add-liquidity')
.description('Add liquidity to Raydium CPMM pool')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--token-amount <amount>', 'Amount of tokens to add')
.option('--slippage <percentage>', 'Slippage tolerance in percentage', '1')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(add_liquidity_1.addLiquidityCommand);
program.command('raydium-remove-liquidity')
.description('Remove liquidity from Raydium CPMM pool')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--remove-percentage <percentage>', 'Percentage of LP tokens to remove (0-100)')
.option('--slippage <percentage>', 'Slippage tolerance in percentage', '1')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(remove_liquidity_1.removeLiquidityCommand);
program.command('raydium-burn-liquidity')
.description('Burn liquidity tokens and receive underlying assets')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--lp-token-amount <amount>', 'Amount of LP tokens to burn')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(burn_liquidity_1.burnLiquidityCommand);
program.command('raydium-display-pool')
.description('Display Raydium CPMM pool information')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.action(display_pool_1.displayPoolCommand);
program.command('raydium-display-lp')
.description('Display LP token information for user')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--owner <address>', 'Owner address')
.action(display_lp_1.displayLPCommand);
program.command('raydium-create-pool')
.description('Create a new Raydium CPMM pool')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint-a <address>', 'Token A mint address')
.option('--mint-b <address>', 'Token B mint address')
.option('--amount-a <amount>', 'Amount of token A to deposit')
.option('--amount-b <amount>', 'Amount of token B to deposit')
.option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
.option('--keypair-file <pathfile>', 'Path to keypair file (Array format)')
.action(create_pool_1.createPoolCommand);
program.command('raydium-estimate-slippage')
.description('Estimate slippage for a Raydium CPMM transaction by amount')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--action <action>', 'Action to perform (buy/sell)')
.option('--amount <amount>', 'Amount of tokens to trade')
.action(estimate_slippage_1.estimateSlippageCommand);
program.command('raydium-estimate-volume')
.description('Estimate volume for a Raydium CPMM transaction by max slippage')
.option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
.option('--mint <address>', 'Mint account address')
.option('--action <action>', 'Action to perform (buy/sell)')
.option('--max-slippage <percentage>', 'Max slippage tolerance in percentage', '10')
.action(estimate_volume_1.estimateVolumeCommand);
// Add init subcommand
// program.command('init')
// .description('Initialize contracts including LUT and system config, only by Flipflop program deployer')
// .option('--rpc <url>', 'RPC endpoint', 'https://api.mainnet-beta.solana.com')
// .option('--keypair-bs58 <bs58>', 'Keypair in BS58 format')
// .option('--keypair-file <path>', 'Path to keypair file (Array format)')
// .action(initCommand);
program.parse();
//# sourceMappingURL=cli.js.map