Kyle Drake
11 years ago
1 changed files with 0 additions and 64 deletions
@ -1,64 +0,0 @@ |
|||||
var Transaction = require('./transaction'); |
|
||||
|
|
||||
var TransactionDatabase = function () { |
|
||||
this.txs = []; |
|
||||
this.txIndex = {}; |
|
||||
}; |
|
||||
|
|
||||
EventEmitter.augment(TransactionDatabase.prototype); |
|
||||
|
|
||||
TransactionDatabase.prototype.addTransaction = function (tx) { |
|
||||
this.addTransactionNoUpdate(tx); |
|
||||
$(this).trigger('update'); |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.addTransactionNoUpdate = function (tx) { |
|
||||
// Return if transaction is already known
|
|
||||
if (this.txIndex[tx.hash]) { |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
this.txs.push(new Transaction(tx)); |
|
||||
this.txIndex[tx.hash] = tx; |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.removeTransaction = function (hash) { |
|
||||
this.removeTransactionNoUpdate(hash); |
|
||||
$(this).trigger('update'); |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.removeTransactionNoUpdate = function (hash) { |
|
||||
var tx = this.txIndex[hash]; |
|
||||
|
|
||||
if (!tx) { |
|
||||
// If the tx is not in the index, we don't actually waste our
|
|
||||
// time looping through the array.
|
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
for (var i = 0, l = this.txs.length; i < l; i++) { |
|
||||
if (this.txs[i].hash == hash) { |
|
||||
this.txs.splice(i, 1); |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
delete this.txIndex[hash]; |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.loadTransactions = function (txs) { |
|
||||
for (var i = 0; i < txs.length; i++) { |
|
||||
this.addTransactionNoUpdate(txs[i]); |
|
||||
} |
|
||||
$(this).trigger('update'); |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.getTransactions = function () { |
|
||||
return this.txs; |
|
||||
}; |
|
||||
|
|
||||
TransactionDatabase.prototype.clear = function () { |
|
||||
this.txs = []; |
|
||||
this.txIndex = {}; |
|
||||
$(this).trigger('update'); |
|
||||
}; |
|
Loading…
Reference in new issue