Browse Source

HDNode: adds neutered test examples

hk-custom-address
Daniel Cousens 11 years ago
parent
commit
dca193be4e
  1. 33
      test/hdnode.js

33
test/hdnode.js

@ -193,7 +193,7 @@ describe('HDNode', function() {
describe('getAddress', function() {
var f = fixtures.valid[0]
it('returns the Address (pubKeyHash) for ' + f.master.fingerprint, function() {
it('returns the Address (pubHash) for ' + f.master.fingerprint, function() {
var hd = HDNode.fromBase58(f.master.base58)
assert.equal(hd.getAddress().toString(), f.master.address)
@ -224,6 +224,7 @@ describe('HDNode', function() {
fixtures.valid.forEach(function(f, j) {
var hd = HDNode.fromSeedHex(f.master.seed)
// FIXME: test data is only testing Private -> private for now
f.children.forEach(function(c, i) {
it(c.description + ' from ' + f.master.fingerprint, function() {
if (c.hardened) {
@ -238,7 +239,31 @@ describe('HDNode', function() {
})
})
it('works for public -> public', function() {
it('works for Private -> public (neutered)', function() {
var f = fixtures.valid[1]
var c = f.children[0]
var parentNode = HDNode.fromBase58(f.master.base58Priv)
var child = parentNode.derive(c.m)
// FIXME: N(CKDpriv((kpar, cpar), i)), could be done better...
var childNeutered = HDNode.fromBase58(child.toBase58(false)) // neuter
assert.equal(childNeutered.toBase58(), c.base58)
})
it('works for Private -> public (neutered, hardened)', function() {
var f = fixtures.valid[0]
var c = f.children[0]
var parentNode = HDNode.fromBase58(f.master.base58Priv)
var child = parentNode.deriveHardened(c.m)
// FIXME: N(CKDpriv((kpar, cpar), i)), could be done better...
var childNeutered = HDNode.fromBase58(child.toBase58(false)) // neuter
assert.equal(childNeutered.toBase58(), c.base58)
})
it('works for Public -> public', function() {
var f = fixtures.valid[1]
var c = f.children[0]
@ -248,8 +273,8 @@ describe('HDNode', function() {
assert.equal(child.toBase58(), c.base58)
})
it('throws on public -> public (hardened)', function() {
var f = fixtures.valid[1]
it('throws on Public -> public (hardened)', function() {
var f = fixtures.valid[0]
var c = f.children[0]
var parentNode = HDNode.fromBase58(f.master.base58)

Loading…
Cancel
Save