From a58088795f6542129e22d439083152192d28516c Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Mon, 15 Sep 2014 16:04:12 +1000 Subject: [PATCH] HDNode: indicate 2.x.y removal of Buffer interop --- src/hdnode.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/hdnode.js b/src/hdnode.js index 3a7f860..e14ad44 100644 --- a/src/hdnode.js +++ b/src/hdnode.js @@ -72,10 +72,15 @@ HDNode.fromSeedHex = function(hex, network) { } HDNode.fromBase58 = function(string) { - return HDNode.fromBuffer(base58check.decode(string)) + return HDNode.fromBuffer(base58check.decode(string), true) } -HDNode.fromBuffer = function(buffer) { +// FIXME: remove in 2.x.y +HDNode.fromBuffer = function(buffer, __ignoreDeprecation) { + if (!__ignoreDeprecation) { + console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead') + } + assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length') // 4 byte: version bytes @@ -127,6 +132,7 @@ HDNode.fromBuffer = function(buffer) { return hd } +// FIXME: remove in 2.x.y HDNode.fromHex = function(hex) { return HDNode.fromBuffer(new Buffer(hex, 'hex')) } @@ -153,10 +159,11 @@ HDNode.prototype.neutered = function() { } HDNode.prototype.toBase58 = function(isPrivate) { - return base58check.encode(this.toBuffer(isPrivate)) + return base58check.encode(this.toBuffer(isPrivate, true)) } -HDNode.prototype.toBuffer = function(isPrivate) { +// FIXME: remove in 2.x.y +HDNode.prototype.toBuffer = function(isPrivate, __ignoreDeprecation) { if (isPrivate == undefined) { isPrivate = !!this.privKey @@ -165,6 +172,10 @@ HDNode.prototype.toBuffer = function(isPrivate) { console.warn('isPrivate flag is deprecated, please use the .neutered() method instead') } + if (!__ignoreDeprecation) { + console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead') + } + // Version var version = isPrivate ? this.network.bip32.private : this.network.bip32.public var buffer = new Buffer(HDNode.LENGTH) @@ -204,6 +215,7 @@ HDNode.prototype.toBuffer = function(isPrivate) { return buffer } +// FIXME: remove in 2.x.y HDNode.prototype.toHex = function(isPrivate) { return this.toBuffer(isPrivate).toString('hex') }