stop saving block height on blocks.
This commit is contained in:
parent
67d1405c15
commit
22427fe78f
@ -41,8 +41,6 @@ function Block(data, subtype) {
|
|||||||
|
|
||||||
this.network = data.network || false;
|
this.network = data.network || false;
|
||||||
this.relayedBy = data.relayedBy || '0.0.0.0';
|
this.relayedBy = data.relayedBy || '0.0.0.0';
|
||||||
this._height = data._height != null ? data._height : -1;
|
|
||||||
this._nextBlock = data._nextBlock || null;
|
|
||||||
|
|
||||||
// List of matched TXs
|
// List of matched TXs
|
||||||
this.tx = [];
|
this.tx = [];
|
||||||
@ -61,14 +59,14 @@ function Block(data, subtype) {
|
|||||||
return tx;
|
return tx;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (this.version >= 2 && this._height === -1) {
|
// if (this.version >= 2 && this.height === -1) {
|
||||||
tx = this.txs[0];
|
// tx = this.txs[0];
|
||||||
if (tx && tx.inputs[0] && +tx.inputs[0].out.hash === 0) {
|
// if (tx && tx.isCoinbase()) {
|
||||||
height = bcoin.script.coinbaseHeight(tx.inputs[0].script, this);
|
// height = bcoin.script.coinbaseHeight(tx.inputs[0].script, this);
|
||||||
if (height > 0)
|
// if (height > 0)
|
||||||
this._height = height;
|
// this.height = height;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
this.invalid = !this._checkBlock();
|
this.invalid = !this._checkBlock();
|
||||||
}
|
}
|
||||||
@ -255,23 +253,17 @@ Block.prototype._checkBlock = function checkBlock() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Block.prototype.getHeight = function getHeight(chain) {
|
Block.prototype.getHeight = function getHeight(chain) {
|
||||||
if (this._height >= 0)
|
|
||||||
return this._height;
|
|
||||||
|
|
||||||
chain = chain || bcoin.chain.global;
|
chain = chain || bcoin.chain.global;
|
||||||
|
|
||||||
if (!chain)
|
if (!chain)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return this._height = chain.getHeight(this.hash('hex'));
|
return chain.getHeight(this.hash('hex'));
|
||||||
};
|
};
|
||||||
|
|
||||||
Block.prototype.getNextBlock = function getNextBlock(chain) {
|
Block.prototype.getNextBlock = function getNextBlock(chain) {
|
||||||
var next;
|
var next;
|
||||||
|
|
||||||
if (this._nextBlock)
|
|
||||||
return this._nextBlock;
|
|
||||||
|
|
||||||
chain = chain || bcoin.chain.global;
|
chain = chain || bcoin.chain.global;
|
||||||
|
|
||||||
if (!chain)
|
if (!chain)
|
||||||
@ -282,7 +274,7 @@ Block.prototype.getNextBlock = function getNextBlock(chain) {
|
|||||||
if (!next)
|
if (!next)
|
||||||
return utils.toHex(constants.zeroHash);
|
return utils.toHex(constants.zeroHash);
|
||||||
|
|
||||||
return this._nextBlock = next;
|
return next;
|
||||||
};
|
};
|
||||||
|
|
||||||
Block.reward = function reward(height) {
|
Block.reward = function reward(height) {
|
||||||
@ -343,10 +335,6 @@ Block.prototype.__defineGetter__('rhash', function() {
|
|||||||
return utils.revHex(this.hash('hex'));
|
return utils.revHex(this.hash('hex'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Block.prototype.__defineSetter__('height', function(height) {
|
|
||||||
return this._height = height;
|
|
||||||
});
|
|
||||||
|
|
||||||
Block.prototype.__defineGetter__('height', function() {
|
Block.prototype.__defineGetter__('height', function() {
|
||||||
return this.getHeight(bcoin.chain.global);
|
return this.getHeight(bcoin.chain.global);
|
||||||
});
|
});
|
||||||
@ -387,7 +375,6 @@ Block.prototype.toJSON = function toJSON() {
|
|||||||
ts: this.ts,
|
ts: this.ts,
|
||||||
network: this.network,
|
network: this.network,
|
||||||
relayedBy: this.relayedBy,
|
relayedBy: this.relayedBy,
|
||||||
_height: this._height,
|
|
||||||
block: utils.toHex(bcoin.protocol.framer.block(this, this.subtype))
|
block: utils.toHex(bcoin.protocol.framer.block(this, this.subtype))
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -408,7 +395,6 @@ Block.fromJSON = function fromJSON(json) {
|
|||||||
|
|
||||||
data.network = json.network;
|
data.network = json.network;
|
||||||
data.relayedBy = json.relayedBy;
|
data.relayedBy = json.relayedBy;
|
||||||
data._height = json._height;
|
|
||||||
|
|
||||||
block = new Block(data, json.subtype);
|
block = new Block(data, json.subtype);
|
||||||
|
|
||||||
|
|||||||
@ -36,8 +36,6 @@ function TX(data, block) {
|
|||||||
|
|
||||||
this.network = data.network || false;
|
this.network = data.network || false;
|
||||||
this.relayedBy = data.relayedBy || '0.0.0.0';
|
this.relayedBy = data.relayedBy || '0.0.0.0';
|
||||||
this._height = data._height != null ? data._height : -1;
|
|
||||||
this._confirmations = data._confirmations != null ? data._confirmations : -1;
|
|
||||||
|
|
||||||
this._lock = this.lock;
|
this._lock = this.lock;
|
||||||
|
|
||||||
@ -838,25 +836,17 @@ TX.prototype.funds = function funds(side) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
TX.prototype.getHeight = function getHeight(chain) {
|
TX.prototype.getHeight = function getHeight(chain) {
|
||||||
if (this._height >= 0)
|
|
||||||
return this._height;
|
|
||||||
|
|
||||||
chain = chain || bcoin.chain.global;
|
chain = chain || bcoin.chain.global;
|
||||||
|
|
||||||
if (!chain)
|
if (!chain)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
this._height = this.block ? chain.getHeight(this.block) : -1;
|
return this.block ? chain.getHeight(this.block) : -1;
|
||||||
|
|
||||||
return this._height;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TX.prototype.getConfirmations = function getConfirmations(chain) {
|
TX.prototype.getConfirmations = function getConfirmations(chain) {
|
||||||
var top, height;
|
var top, height;
|
||||||
|
|
||||||
if (this._confirmations >= 0)
|
|
||||||
return this._confirmations;
|
|
||||||
|
|
||||||
chain = chain || bcoin.chain.global;
|
chain = chain || bcoin.chain.global;
|
||||||
|
|
||||||
if (!chain)
|
if (!chain)
|
||||||
@ -889,10 +879,6 @@ TX.prototype.__defineGetter__('value', function() {
|
|||||||
return this.funds('in');
|
return this.funds('in');
|
||||||
});
|
});
|
||||||
|
|
||||||
TX.prototype.__defineSetter__('height', function(height) {
|
|
||||||
return this._height = height;
|
|
||||||
});
|
|
||||||
|
|
||||||
TX.prototype.__defineGetter__('height', function() {
|
TX.prototype.__defineGetter__('height', function() {
|
||||||
return this.getHeight(bcoin.chain.global);
|
return this.getHeight(bcoin.chain.global);
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user