UNPKG

@flipflop-sdk/cli

Version:

FlipFlop CLI tool for common operations

177 lines 9.76 kB
#!/usr/bin/env node "use strict"; 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