diff --git a/src/hardware/portal/index.ts b/src/hardware/portal/index.ts index 638491ac4..07c4109cf 100644 --- a/src/hardware/portal/index.ts +++ b/src/hardware/portal/index.ts @@ -168,7 +168,7 @@ export const isReading = () => { return keepReading; }; -export const getPortalDetailsFromDescriptor = (descriptor: string) => { +export const getPortalDetailsFromDescriptor = (descriptor: string, isMultisig: boolean) => { const regex = /\[([0-9a-fA-F]+)\/([0-9'\/]+)\]([xtyz][A-Za-z0-9]+)/; // /^\[(\w+\/(?:\d+'?\/)*\d+')\](tpub[a-zA-Z0-9]+)$/; // single sig const match = descriptor.match(regex); @@ -178,8 +178,7 @@ export const getPortalDetailsFromDescriptor = (descriptor: string) => { const mfp = match[1].toUpperCase(); const derivationPath = 'm/' + match[2]; const xpub = match[3]; - xpubDetails[XpubTypes.P2WSH] = { xpub, derivationPath }; - + xpubDetails[isMultisig ? XpubTypes.P2WSH : XpubTypes.P2WPKH] = { xpub, derivationPath }; return { xpub, derivationPath, masterFingerprint: mfp?.toUpperCase(), xpubDetails }; } else { throw new Error('Invalid descriptor format'); diff --git a/src/screens/SigningDevices/SetupPortal.tsx b/src/screens/SigningDevices/SetupPortal.tsx index 6026b0c8b..8f79f876f 100644 --- a/src/screens/SigningDevices/SetupPortal.tsx +++ b/src/screens/SigningDevices/SetupPortal.tsx @@ -46,7 +46,7 @@ function SetupPortal({ route }) { mode, signer, isMultisig, - accountNumber, + accountNumber = 0, signTransaction, addSignerFlow = false, vaultId, @@ -201,8 +201,8 @@ function SetupPortal({ route }) { const getPortalDetails = async () => { await PORTAL.startReading(); await checkAndUnlock(cvc, setPortalStatus); - const descriptor = await PORTAL.getXpub({ accountNumber, isMultisig: true }); - const signer = PORTAL.getPortalDetailsFromDescriptor(descriptor.xpub); + const descriptor = await PORTAL.getXpub({ accountNumber, isMultisig }); + const signer = PORTAL.getPortalDetailsFromDescriptor(descriptor.xpub, isMultisig); return signer; };