message: dont use HDNode in public facing interfaces
diff: @@ -64,7 +64,8 @@ export class BlockstackWallet {
  getBitcoinNode(addressIndex: number, chainType: string = EXTERNAL_ADDRESS): HDNode {
  return BlockstackWallet.getNodeFromBitcoinKeychain(
  - this.getBitcoinPrivateKeychain(), addressIndex, chainType)
  + this.getBitcoinPrivateKeychain().toBase58(),
  + addressIndex, chainType)
  }
  getIdentityAddressNode(identityIndex: number): HDNode {
  @@ -72,6 +73,10 @@ export class BlockstackWallet {
  return identityPrivateKeychain.deriveHardened(identityIndex)
  }
  + static getAppsNode(identityNode: HDNode): HDNode {
  + return identityNode.deriveHardened(APPS_NODE_INDEX)
  + }
  +
  getIdentitySalt(): string {
  const identityPrivateKeychain = this.getIdentityPrivateKeychain()
  const publicKeyHex = getNodePublicKey(identityPrivateKeychain)
  @@ -94,7 +99,7 @@ export class BlockstackWallet {
  return this.getIdentityPrivateKeychain().neutered().toBase58()
  }
  - static getNodeFromBitcoinKeychain(keychain: HDNode, addressIndex: number,
  + static getNodeFromBitcoinKeychain(keychainBase58: string, addressIndex: number,
  chainType: string = EXTERNAL_ADDRESS): HDNode {
  let chain
  if (chainType === EXTERNAL_ADDRESS) {
  @@ -104,21 +109,18 @@ export class BlockstackWallet {
  } else {
  throw new Error('Invalid chain type')
  }
  + const keychain = HDNode.fromBase58(keychainBase58)
  return keychain.derive(chain).derive(addressIndex)
  }
  - static getAddressFromBitcoinKeychain(keychain: HDNode, addressIndex: number,
  + static getAddressFromBitcoinKeychain(keychainBase58: string, addressIndex: number,
  chainType: string = EXTERNAL_ADDRESS): string {
  return BlockstackWallet
  - .getNodeFromBitcoinKeychain(keychain, addressIndex, chainType)
  + .getNodeFromBitcoinKeychain(keychainBase58, addressIndex, chainType)
  .getAddress()
  }
  - static getAppsNode(identityNode: HDNode): HDNode {
  - return identityNode.deriveHardened(APPS_NODE_INDEX)
  - }
  -
  static getAppPrivateKey(appsNodeKey: string, salt: string, appDomain: string): string {
  const hash = crypto
  .createHash('sha256')
  