12345678910111213141516171819202122232425262728293031323334353637383940 |
- import AccountsCommandBase from '../../base/AccountsCommandBase'
- import { AccountSummary, NameValueObj, NamedKeyringPair } from '../../Types'
- import { displayHeader, displayNameValueTable } from '../../helpers/display'
- import { formatBalance } from '@polkadot/util'
- import moment from 'moment'
- export default class AccountCurrent extends AccountsCommandBase {
- static description = 'Display information about currently choosen default account'
- static aliases = ['account:info', 'account:default']
- async run() {
- const currentAccount: NamedKeyringPair = await this.getRequiredSelectedAccount(false)
- const summary: AccountSummary = await this.getApi().getAccountSummary(currentAccount.address)
- displayHeader('Account information')
- const creationDate: string = currentAccount.meta.whenCreated
- ? moment(currentAccount.meta.whenCreated as string | number).format('YYYY-MM-DD HH:mm:ss')
- : '?'
- const accountRows: NameValueObj[] = [
- { name: 'Account name:', value: currentAccount.meta.name },
- { name: 'Address:', value: currentAccount.address },
- { name: 'Created:', value: creationDate },
- ]
- displayNameValueTable(accountRows)
- displayHeader('Balances')
- const balances = summary.balances
- const balancesRows: NameValueObj[] = [
- { name: 'Total balance:', value: formatBalance(balances.votingBalance) },
- { name: 'Transferable balance:', value: formatBalance(balances.availableBalance) },
- ]
- if (balances.lockedBalance.gtn(0)) {
- balancesRows.push({ name: 'Locked balance:', value: formatBalance(balances.lockedBalance) })
- }
- if (balances.reservedBalance.gtn(0)) {
- balancesRows.push({ name: 'Reserved balance:', value: formatBalance(balances.reservedBalance) })
- }
- displayNameValueTable(balancesRows)
- }
- }
|