meriadec
7 years ago
2 changed files with 64 additions and 1 deletions
@ -0,0 +1,63 @@ |
|||||
|
// Utility to human-read the accounts.json file
|
||||
|
// You have to pass it in parameter, because the location
|
||||
|
// differ depending on the OS.
|
||||
|
|
||||
|
const { |
||||
|
formatCurrencyUnit, |
||||
|
getCryptoCurrencyById, |
||||
|
} = require('@ledgerhq/live-common/lib/helpers/currencies') |
||||
|
const chalk = require('chalk') |
||||
|
const padStart = require('lodash/padStart') |
||||
|
const padEnd = require('lodash/padEnd') |
||||
|
|
||||
|
const { argv } = process |
||||
|
|
||||
|
const [, , FILE_PATH] = argv |
||||
|
|
||||
|
if (!FILE_PATH) { |
||||
|
console.log(`You need to specify a file`) |
||||
|
process.exit(1) |
||||
|
} |
||||
|
|
||||
|
const { data: wrappedAccounts } = require(FILE_PATH) // eslint-disable-line
|
||||
|
|
||||
|
const str = wrappedAccounts |
||||
|
.map(({ data: account }) => { |
||||
|
const currency = getCryptoCurrencyById(account.currencyId) |
||||
|
const unit = currency.units[0] |
||||
|
const headline = `${account.isSegwit ? '[SEGWIT]' : '[NOT SEGWIT]'} ${account.name} | ${ |
||||
|
account.id |
||||
|
} | ${account.path} | balance: ${formatCurrencyUnit(unit, account.balance, { |
||||
|
showCode: true, |
||||
|
alwaysShowSign: true, |
||||
|
})}` |
||||
|
return [ |
||||
|
headline, |
||||
|
headline |
||||
|
.split('') |
||||
|
.map(() => '-') |
||||
|
.join(''), |
||||
|
account.operations |
||||
|
.map(op => { |
||||
|
const opType = op.amount < 0 ? 'SEND' : 'RECEIVE' |
||||
|
return [ |
||||
|
padEnd(opType, 8), |
||||
|
op.date.substr(0, 10), |
||||
|
chalk[opType === 'SEND' ? 'red' : 'green']( |
||||
|
padStart( |
||||
|
formatCurrencyUnit(unit, op.amount, { |
||||
|
showCode: true, |
||||
|
alwaysShowSign: true, |
||||
|
}), |
||||
|
15, |
||||
|
), |
||||
|
), |
||||
|
op.hash, |
||||
|
].join(' ') |
||||
|
}) |
||||
|
.join('\n'), |
||||
|
].join('\n') |
||||
|
}) |
||||
|
.join('\n\n') |
||||
|
|
||||
|
console.log(str) |
Loading…
Reference in new issue