UNPKG

litecore-explorers

Version:
44 lines (36 loc) 1.23 kB
'use strict'; var litecore = require('litecore-lib'); var _ = litecore.deps._; var $ = litecore.util.preconditions; var Address = litecore.Address; var JSUtil = litecore.util.js; function AddressInfo(param) { if (!(this instanceof AddressInfo)) { return new AddressInfo(param); } if (param instanceof AddressInfo) { return param; } $.checkArgument(param.address instanceof Address); $.checkArgument(_.isNumber(param.balance)); $.checkArgument(_.isNumber(param.totalSent)); $.checkArgument(_.isNumber(param.totalReceived)); $.checkArgument(_.isNumber(param.unconfirmedBalance)); $.checkArgument(_.isArray(param.transactionIds)); $.checkArgument(_.all(_.map(param.transactionIds, JSUtil.isHexa))); JSUtil.defineImmutable(this, param); } AddressInfo.fromInsight = function(param) { if (_.isString(param)) { param = JSON.parse(param); } return new AddressInfo({ address: new Address(param.addrStr), balance: param.balanceSat, totalReceived: param.totalReceivedSat, totalSent: param.totalSentSat, unconfirmedBalance: param.unconfirmedBalanceSat, transactionIds: param.transactions }); }; module.exports = AddressInfo;