txdb: refactor.
This commit is contained in:
parent
80103454c0
commit
0f3f9c984b
@ -483,16 +483,15 @@ TXDB.prototype.getInfo = function getInfo(tx, callback) {
|
||||
* Add an orphan (tx hash + input index)
|
||||
* to orphan list. Stored by its required coin ID.
|
||||
* @private
|
||||
* @param {String} key - Required coin hash + index.
|
||||
* @param {Hash} hash - Orphan transaction hash.
|
||||
* @param {Number} index - Orphan input index.
|
||||
* @param {Outpoint} prevout - Required coin hash & index.
|
||||
* @param {Buffer} spender - Spender input hash and index.
|
||||
* @param {Function} callback - Returns [Error, Buffer].
|
||||
*/
|
||||
|
||||
TXDB.prototype._addOrphan = function _addOrphan(hash, index, outpoint, callback) {
|
||||
TXDB.prototype._addOrphan = function _addOrphan(prevout, spender, callback) {
|
||||
var self = this;
|
||||
var p = new BufferWriter();
|
||||
var key = this.key.o(hash, index);
|
||||
var key = this.key.o(prevout.hash, prevout.index);
|
||||
|
||||
this.get(key, function(err, data) {
|
||||
if (err)
|
||||
@ -501,7 +500,7 @@ TXDB.prototype._addOrphan = function _addOrphan(hash, index, outpoint, callback)
|
||||
if (data)
|
||||
p.writeBytes(data);
|
||||
|
||||
p.writeBytes(outpoint);
|
||||
p.writeBytes(spender);
|
||||
|
||||
self.put(key, p.render());
|
||||
|
||||
@ -512,7 +511,8 @@ TXDB.prototype._addOrphan = function _addOrphan(hash, index, outpoint, callback)
|
||||
/**
|
||||
* Retrieve orphan list by coin ID.
|
||||
* @private
|
||||
* @param {String} key
|
||||
* @param {Hash} hash
|
||||
* @param {Number} index
|
||||
* @param {Function} callback - Returns [Error, {@link Orphan}].
|
||||
*/
|
||||
|
||||
@ -767,7 +767,7 @@ TXDB.prototype.add = function add(tx, info, callback) {
|
||||
// Consume unspent money or add orphans
|
||||
utils.forEachSerial(tx.inputs, function(input, next, i) {
|
||||
var prevout = input.prevout;
|
||||
var key, address, outpoint;
|
||||
var key, address, spender;
|
||||
|
||||
if (tx.isCoinbase())
|
||||
return next();
|
||||
@ -782,12 +782,12 @@ TXDB.prototype.add = function add(tx, info, callback) {
|
||||
key = prevout.hash + prevout.index;
|
||||
|
||||
// s/[outpoint-key] -> [spender-hash]|[spender-input-index]
|
||||
outpoint = bcoin.outpoint.fromTX(tx, i).toRaw();
|
||||
self.put(self.key.s(prevout.hash, prevout.index), outpoint);
|
||||
spender = bcoin.outpoint.fromTX(tx, i).toRaw();
|
||||
self.put(self.key.s(prevout.hash, prevout.index), spender);
|
||||
|
||||
// Add orphan, if no parent transaction is yet known
|
||||
if (!input.coin)
|
||||
return self._addOrphan(prevout.hash, prevout.index, outpoint, next);
|
||||
return self._addOrphan(prevout, spender, next);
|
||||
|
||||
self.del(self.key.c(prevout.hash, prevout.index));
|
||||
self.del(self.key.C(path.account, prevout.hash, prevout.index));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user