Address Service: Sort mempool txids
This commit is contained in:
parent
a166b6af23
commit
d4f2df5c51
@ -1490,6 +1490,10 @@ AddressService.prototype._setAndSortTxidsFromAppearanceIds = function(result, ca
|
|||||||
result.txids.sort(function(a, b) {
|
result.txids.sort(function(a, b) {
|
||||||
return result.appearanceIds[a] - result.appearanceIds[b];
|
return result.appearanceIds[a] - result.appearanceIds[b];
|
||||||
});
|
});
|
||||||
|
result.unconfirmedTxids = Object.keys(result.unconfirmedAppearanceIds);
|
||||||
|
result.unconfirmedTxids.sort(function(a, b) {
|
||||||
|
return result.unconfirmedAppearanceIds[a] - result.unconfirmedAppearanceIds[b];
|
||||||
|
});
|
||||||
callback(null, result);
|
callback(null, result);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1505,8 +1509,6 @@ AddressService.prototype._getAddressMempoolSummary = function(address, options,
|
|||||||
var hashBuffer = address.hashBuffer;
|
var hashBuffer = address.hashBuffer;
|
||||||
var hashTypeBuffer = constants.HASH_TYPES_MAP[address.type];
|
var hashTypeBuffer = constants.HASH_TYPES_MAP[address.type];
|
||||||
|
|
||||||
// TODO: Sort mempool by timestamp?
|
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function(next) {
|
function(next) {
|
||||||
self._getInputsMempool(addressStr, hashBuffer, hashTypeBuffer, function(err, mempoolInputs) {
|
self._getInputsMempool(addressStr, hashBuffer, hashTypeBuffer, function(err, mempoolInputs) {
|
||||||
@ -1549,7 +1551,7 @@ AddressService.prototype._getAddressMempoolSummary = function(address, options,
|
|||||||
AddressService.prototype._transformAddressSummaryFromResult = function(result, options) {
|
AddressService.prototype._transformAddressSummaryFromResult = function(result, options) {
|
||||||
|
|
||||||
var confirmedTxids = result.txids;
|
var confirmedTxids = result.txids;
|
||||||
var unconfirmedTxids = Object.keys(result.unconfirmedAppearanceIds);
|
var unconfirmedTxids = result.unconfirmedTxids;
|
||||||
|
|
||||||
var summary = {
|
var summary = {
|
||||||
totalReceived: result.totalReceived,
|
totalReceived: result.totalReceived,
|
||||||
|
|||||||
@ -2425,6 +2425,13 @@ describe('Address Service', function() {
|
|||||||
'22488dbb99aed86e7081ac480e3459fa40ccab7ee18bef98b84b3cdce6bf05be': 200,
|
'22488dbb99aed86e7081ac480e3459fa40ccab7ee18bef98b84b3cdce6bf05be': 200,
|
||||||
'1c413601acbd608240fc635b95886c3c1f76ec8589c3392a58b5715ceb618e93': 100,
|
'1c413601acbd608240fc635b95886c3c1f76ec8589c3392a58b5715ceb618e93': 100,
|
||||||
'206d3834c010d46a2cf478cb1c5fe252be41f683c8a738e3ebe27f1aae67f505': 101
|
'206d3834c010d46a2cf478cb1c5fe252be41f683c8a738e3ebe27f1aae67f505': 101
|
||||||
|
},
|
||||||
|
unconfirmedAppearanceIds: {
|
||||||
|
'ec94d845c603f292a93b7c829811ac624b76e52b351617ca5a758e9d61a11681': 1452898347406,
|
||||||
|
'ed11a08e3102f9610bda44c80c46781d97936a4290691d87244b1b345b39a693': 1452898331964,
|
||||||
|
'f71bccef3a8f5609c7f016154922adbfe0194a96fb17a798c24077c18d0a9345': 1452897902377,
|
||||||
|
'edc080f2084eed362aa488ccc873a24c378dc0979aa29b05767517b70569414a': 1452897971363,
|
||||||
|
'f35e7e2a2334e845946f3eaca76890d9a68f4393ccc9fe37a0c2fb035f66d2e9': 1452897923107
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
as._setAndSortTxidsFromAppearanceIds(result, function(err, result) {
|
as._setAndSortTxidsFromAppearanceIds(result, function(err, result) {
|
||||||
@ -2435,6 +2442,11 @@ describe('Address Service', function() {
|
|||||||
result.txids[0].should.equal('1c413601acbd608240fc635b95886c3c1f76ec8589c3392a58b5715ceb618e93');
|
result.txids[0].should.equal('1c413601acbd608240fc635b95886c3c1f76ec8589c3392a58b5715ceb618e93');
|
||||||
result.txids[1].should.equal('206d3834c010d46a2cf478cb1c5fe252be41f683c8a738e3ebe27f1aae67f505');
|
result.txids[1].should.equal('206d3834c010d46a2cf478cb1c5fe252be41f683c8a738e3ebe27f1aae67f505');
|
||||||
result.txids[2].should.equal('22488dbb99aed86e7081ac480e3459fa40ccab7ee18bef98b84b3cdce6bf05be');
|
result.txids[2].should.equal('22488dbb99aed86e7081ac480e3459fa40ccab7ee18bef98b84b3cdce6bf05be');
|
||||||
|
result.unconfirmedTxids[0].should.equal('f71bccef3a8f5609c7f016154922adbfe0194a96fb17a798c24077c18d0a9345');
|
||||||
|
result.unconfirmedTxids[1].should.equal('f35e7e2a2334e845946f3eaca76890d9a68f4393ccc9fe37a0c2fb035f66d2e9');
|
||||||
|
result.unconfirmedTxids[2].should.equal('edc080f2084eed362aa488ccc873a24c378dc0979aa29b05767517b70569414a');
|
||||||
|
result.unconfirmedTxids[3].should.equal('ed11a08e3102f9610bda44c80c46781d97936a4290691d87244b1b345b39a693');
|
||||||
|
result.unconfirmedTxids[4].should.equal('ec94d845c603f292a93b7c829811ac624b76e52b351617ca5a758e9d61a11681');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -2546,8 +2558,6 @@ describe('Address Service', function() {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it.skip('will sort txids by timestamp', function(done) {
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#_transformAddressSummaryFromResult', function() {
|
describe('#_transformAddressSummaryFromResult', function() {
|
||||||
@ -2566,6 +2576,10 @@ describe('Address Service', function() {
|
|||||||
'35fafaf572341798b2ce2858755afa7c8800bb6b1e885d3e030b81255b5e172d': 1452874536321,
|
'35fafaf572341798b2ce2858755afa7c8800bb6b1e885d3e030b81255b5e172d': 1452874536321,
|
||||||
'57b7842afc97a2b46575b490839df46e9273524c6ea59ba62e1e86477cf25247': 1452874521466
|
'57b7842afc97a2b46575b490839df46e9273524c6ea59ba62e1e86477cf25247': 1452874521466
|
||||||
},
|
},
|
||||||
|
unconfirmedTxids: [
|
||||||
|
'57b7842afc97a2b46575b490839df46e9273524c6ea59ba62e1e86477cf25247',
|
||||||
|
'35fafaf572341798b2ce2858755afa7c8800bb6b1e885d3e030b81255b5e172d'
|
||||||
|
],
|
||||||
unconfirmedBalance: 500000
|
unconfirmedBalance: 500000
|
||||||
};
|
};
|
||||||
var testnode = {
|
var testnode = {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user