make it impossible to "impersonate" blocks and txs.

This commit is contained in:
Christopher Jeffrey 2014-09-29 16:54:21 -07:00
parent e6f33b2793
commit 59ec8c54a2
1 changed files with 8 additions and 8 deletions

View File

@ -307,6 +307,8 @@ Bitcoin.prototype.close = function(callback) {
* Block
*/
var _blockFlag = {};
function Block(data) {
if (!(this instanceof Block)) {
return new Block(data);
@ -318,7 +320,7 @@ function Block(data) {
var self = this;
this._isBlock = Block._blockFlag;
this._blockFlag = _blockFlag;
Object.keys(data).forEach(function(key) {
if (!self[key]) {
@ -331,10 +333,8 @@ function Block(data) {
this.toHex();
}
Block._blockFlag = {};
Block.isBlock = function(block) {
return block._isBlock === Block._blockFlag;
return block._blockFlag === _blockFlag;
};
// NOTE: Could just call tx.GetHash() in C++
@ -442,6 +442,8 @@ Block.toHex = function(block) {
* Transaction
*/
var _txFlag = {};
function Transaction(data) {
if (!(this instanceof Transaction)) {
return new Transaction(data);
@ -453,7 +455,7 @@ function Transaction(data) {
var self = this;
this._isTx = Transaction._txFlag;
this._txFlag = _txFlag;
this.nMinTxFee = data.nMinTxFee || data.minTxFee || 1000;
this.nMinRelayTxFee = data.nMinRelayTxFee || data.minRelayTxFee || 1000;
@ -481,11 +483,9 @@ function Transaction(data) {
this.toHex();
}
Transaction._txFlag = {};
Transaction.isTransaction =
Transaction.isTx = function(tx) {
return tx._isTx === Transaction._txFlag;
return tx._txFlag === _txFlag;
};
Transaction.prototype.verify = function() {