UNPKG

@hashgraph/hedera-cli

Version:

CLI tool to manage and setup developer environments for Hedera Hashgraph.

54 lines (47 loc) 1.72 kB
import stateUtils from '../../utils/state'; import { Logger } from '../../utils/logger'; import accountUtils from '../../utils/account'; import dynamicVariablesUtils from '../../utils/dynamicVariables'; import telemetryUtils from '../../utils/telemetry'; import type { Command } from '../../../types'; const logger = Logger.getInstance(); export default (program: any) => { program .command('balance') .hook('preAction', async (thisCommand: Command) => { const command = [ thisCommand.parent.action().name(), ...thisCommand.parent.args, ]; if (stateUtils.isTelemetryEnabled()) { await telemetryUtils.recordCommand(command.join(' ')); } }) .description('Retrieve the balance for an account ID or alias') .requiredOption( '-a, --account-id-or-alias <accountIdOrAlias>', '(Required) Account ID or account alias to retrieve balance for', ) .option('-h, --only-hbar', 'Show only Hbar balance') .option('-t, --token-id <tokenId>', 'Show balance for a specific token ID') .action(async (options: GetAccountBalanceOptions) => { logger.verbose(`Getting balance for ${options.accountIdOrAlias}`); options = dynamicVariablesUtils.replaceOptions(options); if (options.onlyHbar && options.tokenId) { logger.error( 'You cannot use both --only-hbar and --token-id options at the same time.', ); process.exit(1); } await accountUtils.getAccountBalance( options.accountIdOrAlias, options.onlyHbar, options.tokenId, ); }); }; interface GetAccountBalanceOptions { onlyHbar: boolean; tokenId: string; accountIdOrAlias: string; }