bip152: minor refactor.
This commit is contained in:
parent
9d90704b83
commit
69b862df42
@ -13,7 +13,6 @@
|
|||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const util = require('../utils/util');
|
const util = require('../utils/util');
|
||||||
const BufferReader = require('../utils/reader');
|
const BufferReader = require('../utils/reader');
|
||||||
const BufferWriter = require('../utils/writer');
|
|
||||||
const StaticWriter = require('../utils/staticwriter');
|
const StaticWriter = require('../utils/staticwriter');
|
||||||
const encoding = require('../utils/encoding');
|
const encoding = require('../utils/encoding');
|
||||||
const consensus = require('../protocol/consensus');
|
const consensus = require('../protocol/consensus');
|
||||||
@ -91,9 +90,7 @@ CompactBlock.prototype.fromOptions = function fromOptions(options) {
|
|||||||
if (options.totalTX != null)
|
if (options.totalTX != null)
|
||||||
this.totalTX = options.totalTX;
|
this.totalTX = options.totalTX;
|
||||||
|
|
||||||
this.sipKey = options.sipKey;
|
this.sipKey = this.getKey();
|
||||||
|
|
||||||
this.initKey();
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
@ -135,8 +132,7 @@ CompactBlock.prototype.fromRaw = function fromRaw(data) {
|
|||||||
this.nonce = br.readU32();
|
this.nonce = br.readU32();
|
||||||
|
|
||||||
this.keyNonce = br.readBytes(8);
|
this.keyNonce = br.readBytes(8);
|
||||||
|
this.sipKey = this.getKey();
|
||||||
this.initKey();
|
|
||||||
|
|
||||||
count = br.readVarint();
|
count = br.readVarint();
|
||||||
|
|
||||||
@ -397,12 +393,13 @@ CompactBlock.prototype.hasIndex = function hasIndex(index) {
|
|||||||
/**
|
/**
|
||||||
* Initialize the siphash key.
|
* Initialize the siphash key.
|
||||||
* @private
|
* @private
|
||||||
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CompactBlock.prototype.initKey = function initKey() {
|
CompactBlock.prototype.getKey = function getKey() {
|
||||||
let data = Buffer.concat([this.abbr(), this.keyNonce]);
|
let data = Buffer.concat([this.abbr(), this.keyNonce]);
|
||||||
let hash = digest.sha256(data);
|
let hash = digest.sha256(data);
|
||||||
this.sipKey = hash.slice(0, 16);
|
return hash.slice(0, 16);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -507,8 +504,7 @@ CompactBlock.prototype.fromBlock = function fromBlock(block, witness, nonce) {
|
|||||||
nonce = util.nonce();
|
nonce = util.nonce();
|
||||||
|
|
||||||
this.keyNonce = nonce;
|
this.keyNonce = nonce;
|
||||||
|
this.sipKey = this.getKey();
|
||||||
this.initKey();
|
|
||||||
|
|
||||||
for (let i = 1; i < block.txs.length; i++) {
|
for (let i = 1; i < block.txs.length; i++) {
|
||||||
let tx = block.txs[i];
|
let tx = block.txs[i];
|
||||||
@ -698,7 +694,11 @@ TXRequest.prototype.getSize = function getSize() {
|
|||||||
size += encoding.sizeVarint(this.indexes.length);
|
size += encoding.sizeVarint(this.indexes.length);
|
||||||
|
|
||||||
for (let i = 0; i < this.indexes.length; i++) {
|
for (let i = 0; i < this.indexes.length; i++) {
|
||||||
let index = this.indexes[i] - (i === 0 ? 0 : this.indexes[i - 1] + 1);
|
let index = this.indexes[i];
|
||||||
|
|
||||||
|
if (i > 0)
|
||||||
|
index -= this.indexes[i - 1] + 1;
|
||||||
|
|
||||||
size += encoding.sizeVarint(index);
|
size += encoding.sizeVarint(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -716,7 +716,11 @@ TXRequest.prototype.toWriter = function toWriter(bw) {
|
|||||||
bw.writeVarint(this.indexes.length);
|
bw.writeVarint(this.indexes.length);
|
||||||
|
|
||||||
for (let i = 0; i < this.indexes.length; i++) {
|
for (let i = 0; i < this.indexes.length; i++) {
|
||||||
let index = this.indexes[i] - (i === 0 ? 0 : this.indexes[i - 1] + 1);
|
let index = this.indexes[i];
|
||||||
|
|
||||||
|
if (i > 0)
|
||||||
|
index -= this.indexes[i - 1] + 1;
|
||||||
|
|
||||||
bw.writeVarint(index);
|
bw.writeVarint(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -729,7 +733,8 @@ TXRequest.prototype.toWriter = function toWriter(bw) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
TXRequest.prototype.toRaw = function toRaw() {
|
TXRequest.prototype.toRaw = function toRaw() {
|
||||||
return this.toWriter(new BufferWriter()).render();
|
let size = this.getSize();
|
||||||
|
return this.toWriter(new StaticWriter(size)).render();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user