remove multiple concats with one, more efficient, concat

This commit is contained in:
Ryan X. Charles 2014-04-22 17:27:01 -03:00
parent 46fe8ea800
commit d52e8ac8ed
1 changed files with 29 additions and 46 deletions

View File

@ -136,28 +136,20 @@ BIP32.prototype.buildExtendedPublicKey = function() {
} }
// Version // Version
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([v >> 24])]); this.extendedPublicKey = Buffer.concat([
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([(v >> 16) & 0xff])]); new Buffer([v >> 24]),
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([(v >> 8) & 0xff])]); new Buffer([(v >> 16) & 0xff]),
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([v & 0xff])]); new Buffer([(v >> 8) & 0xff]),
new Buffer([v & 0xff]),
// Depth new Buffer([this.depth]),
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([this.depth])]); this.parentFingerprint,
new Buffer([this.childIndex >>> 24]),
// Parent fingerprint new Buffer([(this.childIndex >>> 16) & 0xff]),
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, this.parentFingerprint]); new Buffer([(this.childIndex >>> 8) & 0xff]),
new Buffer([this.childIndex & 0xff]),
// Child index this.chainCode,
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([this.childIndex >>> 24])]); this.eckey.public
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([(this.childIndex >>> 16) & 0xff])]); ]);
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([(this.childIndex >>> 8) & 0xff])]);
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, new Buffer([this.childIndex & 0xff])]);
// Chain code
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, this.chainCode]);
// Public key
this.extendedPublicKey = Buffer.concat([this.extendedPublicKey, this.eckey.public]);
} }
BIP32.prototype.extendedPublicKeyString = function(format) { BIP32.prototype.extendedPublicKeyString = function(format) {
@ -179,30 +171,21 @@ BIP32.prototype.buildExtendedPrivateKey = function() {
var v = this.version; var v = this.version;
// Version this.extendedPrivateKey = Buffer.concat([
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([v >> 24])]); new Buffer([v >> 24]),
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([(v >> 16) & 0xff])]); new Buffer([(v >> 16) & 0xff]),
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([(v >> 8) & 0xff])]); new Buffer([(v >> 8) & 0xff]),
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([v & 0xff])]); new Buffer([v & 0xff]),
new Buffer([this.depth]),
// Depth this.parentFingerprint,
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([this.depth])]); new Buffer([this.childIndex >>> 24]),
new Buffer([(this.childIndex >>> 16) & 0xff]),
// Parent fingerprint new Buffer([(this.childIndex >>> 8) & 0xff]),
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, this.parentFingerprint]); new Buffer([this.childIndex & 0xff]),
this.chainCode,
// Child index new Buffer([0]),
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([this.childIndex >>> 24])]); this.eckey.private
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([(this.childIndex >>> 16) & 0xff])]); ]);
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([(this.childIndex >>> 8) & 0xff])]);
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([this.childIndex & 0xff])]);
// Chain code
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, this.chainCode]);
// Private key
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, new Buffer([0])]);
this.extendedPrivateKey = Buffer.concat([this.extendedPrivateKey, this.eckey.private]);
} }
BIP32.prototype.extendedPrivateKeyString = function(format) { BIP32.prototype.extendedPrivateKeyString = function(format) {