Revert "miner: pass ts."

This reverts commit aa46fb2df2.
This commit is contained in:
Christopher Jeffrey 2016-12-14 10:59:17 -08:00
parent aa46fb2df2
commit f8b4750d90
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
2 changed files with 10 additions and 3 deletions

View File

@ -338,7 +338,6 @@ Miner.prototype.createBlock = co(function* createBlock(tip, address) {
attempt = new MinerBlock({
tip: tip,
version: version,
ts: ts,
bits: target,
locktime: locktime,
flags: this.chain.state.flags,

View File

@ -49,7 +49,6 @@ function MinerBlock(options) {
this.tip = options.tip;
this.version = options.version;
this.ts = options.ts;
this.height = options.tip.height + 1;
this.bits = options.bits;
this.target = btcutils.fromCompact(this.bits).toArrayLike(Buffer, 'le', 32);
@ -123,7 +122,7 @@ MinerBlock.prototype._init = function _init() {
block.version = this.version;
block.prevBlock = this.tip.hash;
block.merkleRoot = constants.NULL_HASH;
block.ts = this.ts;
block.ts = Math.max(this.network.now(), this.tip.ts + 1);
block.bits = this.bits;
block.nonce = 0;
@ -232,6 +231,8 @@ MinerBlock.prototype.updateCoinbase = function updateCoinbase() {
*/
MinerBlock.prototype.updateNonce = function updateNonce() {
this.block.ts = Math.max(this.network.now(), this.tip.ts + 1);
// Overflow the nonce and increment the extraNonce.
this.block.nonce = 0;
this.extraNonce.iaddn(1);
@ -255,6 +256,9 @@ MinerBlock.prototype.updateMerkle = function updateMerkle() {
if (this.witness)
this.updateCommitment();
// Update timestamp.
this.block.ts = Math.max(this.network.now(), this.tip.ts + 1);
// Recalculate merkle root.
this.block.merkleRoot = this.block.createMerkleRoot('hex');
};
@ -383,6 +387,8 @@ MinerBlock.prototype.mine = function mine() {
// Track how long we've been at it.
this.begin = util.now();
assert(this.block.ts > this.tip.ts);
for (;;) {
nonce = this.findNonce();
@ -408,6 +414,8 @@ MinerBlock.prototype.mineAsync = co(function* mineAsync() {
// Track how long we've been at it.
this.begin = util.now();
assert(this.block.ts > this.tip.ts);
for (;;) {
nonce = yield this.findNonceAsync();