show spend status on outputs
This commit is contained in:
parent
daa8327a5e
commit
5a8a06e0dd
|
@ -134,6 +134,27 @@ function spec(b) {
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
TransactionDb.prototype._fillSpend = function(info, cb) {
|
||||
var self = this;
|
||||
|
||||
if (!info) return cb();
|
||||
|
||||
var k = SPEND_PREFIX + info.txid;
|
||||
db.createReadStream({start: k, end: k + '~'})
|
||||
.on('data', function (data) {
|
||||
var k = data.key.split('-');
|
||||
self._addSpendInfo(info.vout[k[3]], k[4], k[5]);
|
||||
})
|
||||
.on('error', function (err) {
|
||||
return cb(err);
|
||||
})
|
||||
.on('end', function (err) {
|
||||
return cb(err);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
TransactionDb.prototype._fillOutpoints = function(info, cb) {
|
||||
var self = this;
|
||||
|
||||
|
@ -205,7 +226,9 @@ function spec(b) {
|
|||
if (err) return next(err);
|
||||
|
||||
self._fillOutpoints(info, function() {
|
||||
return next(null, info);
|
||||
self._fillSpend(info, function() {
|
||||
return next(null, info);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
@ -226,8 +249,6 @@ function spec(b) {
|
|||
var k = OUTS_PREFIX + txid + '-' + n;
|
||||
|
||||
db.get(k, function (err,val) {
|
||||
|
||||
console.log('[TransactionDb.js.230]'); //TODO
|
||||
if (!val || (err && err.notFound) ) {
|
||||
return cb(null, { unconfirmedInput: 1} );
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ function($scope, $rootScope, $routeParams, $location, Global, Transaction, Trans
|
|||
tmp[addr].addr = addr;
|
||||
tmp[addr].items = [];
|
||||
}
|
||||
tmp[addr].isSpend = items[i].spendTxId;
|
||||
|
||||
tmp[addr].doubleSpendTxID = tmp[addr].doubleSpendTxID || items[i].doubleSpendTxID;
|
||||
tmp[addr].doubleSpendIndex = tmp[addr].doubleSpendIndex || items[i].doubleSpendIndex;
|
||||
|
|
|
@ -64,7 +64,7 @@ that need more advanced blockchain queries than provided by bitcoind RPC.
|
|||
Check out the <a href="http://github.com/bitpay/insight" target="_blank">source code</a>.
|
||||
|
||||
|
||||
<p> Power by
|
||||
<p> Powered by
|
||||
<p class="text-center">
|
||||
<a href="http://bitcore.io/"><img src="http://bitcore.io/images/logo.svg" width="150px"></a>
|
||||
<p class="text-center">
|
||||
|
|
|
@ -73,7 +73,15 @@
|
|||
<div class="row">
|
||||
<div data-ng-repeat="vout in tx.voutSimple" data-ng-show="!itemsExpanded">
|
||||
<div class="col-md-12 transaction-vin-vout">
|
||||
<div class="text-muted pull-right btc-value" data-ng-class="{'text-success': $root.currentAddr == vout.addr}"><small>{{$root.currency.getConvertion(vout.value)}}</small></div>
|
||||
<div class="text-muted pull-right btc-value" data-ng-class="{'text-success': $root.currentAddr == vout.addr}">
|
||||
|
||||
<small>
|
||||
{{$root.currency.getConvertion(vout.value)}}
|
||||
<span class="text-danger" data-ng-show="vout.isSpend" tooltip="Output is spend" tooltip-placement="left">(S)</span>
|
||||
<span class="text-success" data-ng-show="!vout.isSpend" tooltip="Output is unspend" tooltip-placement="left">(U)</span>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="ellipsis">
|
||||
<span data-ng-show="vout.notAddr">{{vout.addr}}</span>
|
||||
<span class="text-muted" title="Current Bitcoin Address" data-ng-show="address == $root.currentAddr" data-ng-repeat="address in vout.addr.split(',')">{{vout.addr}}</span>
|
||||
|
@ -85,7 +93,14 @@
|
|||
</div>
|
||||
<div data-ng-repeat="vout in tx.vout" data-ng-show="itemsExpanded">
|
||||
<div class="col-md-12 transaction-vin-vout">
|
||||
<div class="text-muted pull-right btc-value"><small>{{$root.currency.getConvertion(vout.value)}}</small></div>
|
||||
<div class="text-muted pull-right btc-value"><small>{{$root.currency.getConvertion(vout.value)}}
|
||||
<span class="text-success" data-ng-show="!vout.spendTxId" tooltip="Output is unspend" tooltip-placement="left">(U)</span>
|
||||
<a class="glyphicon glyphicon-chevron-right" data-ng-show="vout.spendTxId" href="/#!/tx/{{vout.spendTxId}}" title="Spent at: {{vout.spendTxId}},{{vout.spendIndex}}"></a>
|
||||
|
||||
|
||||
</small>
|
||||
|
||||
</div>
|
||||
<div class="ellipsis">
|
||||
<a href="/address/{{address}}" data-ng-repeat="address in vout.scriptPubKey.addresses">{{address}}</a>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue