From 18c1476de946b6eb7444fd8f7d0331dfdc731f1e Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sun, 9 Jul 2017 14:49:14 -0700 Subject: [PATCH] chain: refactor getLocks. --- lib/blockchain/chain.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/blockchain/chain.js b/lib/blockchain/chain.js index 10f2eee0..3595c200 100644 --- a/lib/blockchain/chain.js +++ b/lib/blockchain/chain.js @@ -2266,7 +2266,6 @@ Chain.prototype.getLocks = async function getLocks(prev, tx, view, flags) { let disableFlag = consensus.SEQUENCE_DISABLE_FLAG; let typeFlag = consensus.SEQUENCE_TYPE_FLAG; let hasFlag = flags & common.lockFlags.VERIFY_SEQUENCE; - let nextHeight = this.height + 1; let minHeight = -1; let minTime = -1; @@ -2274,28 +2273,29 @@ Chain.prototype.getLocks = async function getLocks(prev, tx, view, flags) { return [minHeight, minTime]; for (let input of tx.inputs) { - let coinHeight, coinTime, entry; + let height, time, entry; if (input.sequence & disableFlag) continue; - coinHeight = view.getHeight(input); + height = view.getHeight(input); - if (coinHeight === -1) - coinHeight = nextHeight; + if (height === -1) + height = this.height + 1; if ((input.sequence & typeFlag) === 0) { - coinHeight += (input.sequence & mask) - 1; - minHeight = Math.max(minHeight, coinHeight); + height += (input.sequence & mask) - 1; + minHeight = Math.max(minHeight, height); continue; } - entry = await prev.getAncestor(Math.max(coinHeight - 1, 0)); + height = Math.max(height - 1, 0); + entry = await prev.getAncestor(height); assert(entry, 'Database is corrupt.'); - coinTime = await entry.getMedianTime(); - coinTime += ((input.sequence & mask) << granularity) - 1; - minTime = Math.max(minTime, coinTime); + time = await entry.getMedianTime(); + time += ((input.sequence & mask) << granularity) - 1; + minTime = Math.max(minTime, time); } return [minHeight, minTime];