diff --git a/apps/pay/src/address.ts b/apps/pay/src/address.ts index 7ba2bef..bfbb20d 100644 --- a/apps/pay/src/address.ts +++ b/apps/pay/src/address.ts @@ -4,6 +4,7 @@ // @ts-ignore — bitcore libs don't have perfect types import bitcore from "bitcore-lib"; +import bs58check from "bs58check"; // @ts-ignore import bitcoreCash from "bitcore-lib-cash"; // @ts-ignore @@ -86,11 +87,10 @@ export function deriveAddressSafe(coin: string, index: number): string { let key = xpub; if (xpub.startsWith("zpub") || xpub.startsWith("Zpub")) { // Decode base58check, swap version bytes to Ltub (0x019da462), re-encode - const bs58check = await import("bs58check"); - const decoded = bs58check.default.decode(xpub); + const decoded = bs58check.decode(xpub); // Replace first 4 bytes with Ltub version: 0x019da462 decoded[0] = 0x01; decoded[1] = 0x9d; decoded[2] = 0xa4; decoded[3] = 0x62; - key = bs58check.default.encode(decoded); + key = bs58check.encode(decoded); } const hd = new bitcoreLtc.HDPublicKey(key); return hd.deriveChild(0).deriveChild(index).publicKey.toAddress().toString();