tx: minor.
This commit is contained in:
parent
b87f557823
commit
7022c6649f
@ -1727,17 +1727,17 @@ TX.prototype.checkInputs = function checkInputs(view, height) {
|
|||||||
let total = 0;
|
let total = 0;
|
||||||
|
|
||||||
for (const {prevout} of this.inputs) {
|
for (const {prevout} of this.inputs) {
|
||||||
let coin = view.getEntry(prevout);
|
const entry = view.getEntry(prevout);
|
||||||
|
|
||||||
if (!coin)
|
if (!entry)
|
||||||
return [-1, 'bad-txns-inputs-missingorspent', 0];
|
return [-1, 'bad-txns-inputs-missingorspent', 0];
|
||||||
|
|
||||||
if (coin.coinbase) {
|
if (entry.coinbase) {
|
||||||
if (height - coin.height < consensus.COINBASE_MATURITY)
|
if (height - entry.height < consensus.COINBASE_MATURITY)
|
||||||
return [-1, 'bad-txns-premature-spend-of-coinbase', 0];
|
return [-1, 'bad-txns-premature-spend-of-coinbase', 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
coin = view.getOutput(prevout);
|
const coin = view.getOutput(prevout);
|
||||||
assert(coin);
|
assert(coin);
|
||||||
|
|
||||||
if (coin.value < 0 || coin.value > consensus.MAX_MONEY)
|
if (coin.value < 0 || coin.value > consensus.MAX_MONEY)
|
||||||
@ -2261,7 +2261,7 @@ TX.prototype.fromRaw = function fromRaw(data) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
TX.prototype.fromReader = function fromReader(br) {
|
TX.prototype.fromReader = function fromReader(br) {
|
||||||
if (TX.isWitness(br))
|
if (hasWitnessBytes(br))
|
||||||
return this.fromWitnessReader(br);
|
return this.fromWitnessReader(br);
|
||||||
|
|
||||||
br.start();
|
br.start();
|
||||||
@ -2512,20 +2512,6 @@ TX.prototype.getWitnessSizes = function getWitnessSizes() {
|
|||||||
return new RawTX(base + witness, witness);
|
return new RawTX(base + witness, witness);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Test whether data is a witness transaction.
|
|
||||||
* @param {Buffer|BufferReader} data
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
|
|
||||||
TX.isWitness = function isWitness(br) {
|
|
||||||
if (br.left() < 6)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return br.data[br.offset + 4] === 0
|
|
||||||
&& br.data[br.offset + 5] !== 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test whether an object is a TX.
|
* Test whether an object is a TX.
|
||||||
* @param {Object} obj
|
* @param {Object} obj
|
||||||
@ -2540,6 +2526,14 @@ TX.isTX = function isTX(obj) {
|
|||||||
* Helpers
|
* Helpers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
function hasWitnessBytes(br) {
|
||||||
|
if (br.left() < 6)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return br.data[br.offset + 4] === 0
|
||||||
|
&& br.data[br.offset + 5] !== 0;
|
||||||
|
}
|
||||||
|
|
||||||
function RawTX(size, witness) {
|
function RawTX(size, witness) {
|
||||||
this.data = null;
|
this.data = null;
|
||||||
this.size = size;
|
this.size = size;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user