From ffa19210e07ab8c1feafe3efe97d4b5ac63cb82e Mon Sep 17 00:00:00 2001 From: CalDescent <> Date: Fri, 6 May 2022 11:43:17 +0100 Subject: [PATCH] Added support for coins with 2 address prefix bytes. Address derivation still needs more work for Pirate Chain (Zcash address format) --- qortal-ui-crypto/api/bitcoin/AltcoinHDWallet.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/qortal-ui-crypto/api/bitcoin/AltcoinHDWallet.js b/qortal-ui-crypto/api/bitcoin/AltcoinHDWallet.js index 2050c87e..0c7c70f8 100644 --- a/qortal-ui-crypto/api/bitcoin/AltcoinHDWallet.js +++ b/qortal-ui-crypto/api/bitcoin/AltcoinHDWallet.js @@ -687,8 +687,14 @@ export default class AltcoinHDWallet { * Derive Litecoin Legacy Address */ - // Append Address Prefix - const k = [this.versionBytes.mainnet.prefix].concat(...this.grandChildPublicKeyHash) + // Append Address Prefix + let prefix = [this.versionBytes.mainnet.prefix] + if (2 == this.versionBytes.mainnet.prefix.length) { + prefix = [this.versionBytes.mainnet.prefix[0]] + prefix.push([this.versionBytes.mainnet.prefix[1]]) + } + + const k = prefix.concat(...this.grandChildPublicKeyHash) // Derive Checksum const _addressCheckSum = new Sha256().process(new Sha256().process(new Uint8Array(k)).finish().result).finish().result