{
  "version": 3,
  "sources": ["../../src/providers/DappProvider/helpers/login/helpers/getMultisigLoginToken.ts"],
  "sourcesContent": ["import isEqual from 'lodash.isequal';\nimport { IProvider } from 'providers/types/providerFactory.types';\nimport { decodeLoginToken } from 'services/nativeAuth/helpers/decodeLoginToken';\nimport { nativeAuth } from 'services/nativeAuth/nativeAuth';\nimport { NativeAuthConfigType } from 'services/nativeAuth/nativeAuth.types';\n\nexport async function getMultisigLoginToken({\n  loginData,\n  nativeAuthConfig,\n  loginToken\n}: {\n  loginData: Awaited<ReturnType<IProvider['login']>>;\n  nativeAuthConfig: NativeAuthConfigType;\n  loginToken: string;\n}): Promise<string> {\n  const {\n    address: _address,\n    signature: _signature,\n    ...loginResult\n  } = loginData;\n\n  const extraInfo = Object.keys(loginResult).reduce(\n    (acc, key) => {\n      const value =\n        ['multisig', 'impersonate'].includes(key) && loginResult[key] != null\n          ? String(loginResult[key])\n          : null;\n\n      if (value != null) {\n        acc[key] = value.toString();\n      }\n      return acc;\n    },\n    {} as { [key: string]: string }\n  );\n\n  const modifiedNativeAuthConfig: NativeAuthConfigType = {\n    ...nativeAuthConfig\n  };\n\n  if (Object.keys(extraInfo).length > 0) {\n    modifiedNativeAuthConfig.extraInfo = extraInfo;\n  }\n\n  const isSameConfig = isEqual(nativeAuthConfig, modifiedNativeAuthConfig);\n\n  if (!isSameConfig) {\n    const existingLoginToken = decodeLoginToken(loginToken);\n    const nativeAuthClient = nativeAuth(modifiedNativeAuthConfig);\n    const modifiedLoginToken = await nativeAuthClient.initialize({\n      noCache: true,\n      latestBlockInfo: {\n        hash: existingLoginToken?.blockHash ?? '',\n        timestamp: existingLoginToken?.extraInfo?.timestamp ?? 0\n      }\n    });\n    return modifiedLoginToken;\n  }\n\n  return loginToken;\n}\n"],
  "mappings": "kFAAA,OAAOA,MAAa,iBAMpB,eAAsBC,EAAsB,CAC1C,UAAAC,EACA,iBAAAC,EACA,WAAAC,CACF,EAIoB,CAClB,GAAM,CACJ,QAASC,EACT,UAAWC,EACX,GAAGC,CACL,EAAIL,EAEEM,EAAY,OAAO,KAAKD,CAAW,EAAE,OACzC,CAACE,EAAKC,IAAQ,CACZ,IAAMC,EACJ,CAAC,WAAY,aAAa,EAAE,SAASD,CAAG,GAAKH,EAAYG,CAAG,GAAK,KAC7D,OAAOH,EAAYG,CAAG,CAAC,EACvB,KAEN,OAAIC,GAAS,OACXF,EAAIC,CAAG,EAAIC,EAAM,SAAS,GAErBF,CACT,EACA,CAAC,CACH,EAEMG,EAAiD,CACrD,GAAGT,CACL,EAQA,GANI,OAAO,KAAKK,CAAS,EAAE,OAAS,IAClCI,EAAyB,UAAYJ,GAKnC,CAFiBK,EAAQV,EAAkBS,CAAwB,EAEpD,CACjB,IAAME,EAAqBC,EAAiBX,CAAU,EAStD,OAP2B,MADFY,EAAWJ,CAAwB,EACV,WAAW,CAC3D,QAAS,GACT,gBAAiB,CACf,KAAME,GAAoB,WAAa,GACvC,UAAWA,GAAoB,WAAW,WAAa,CACzD,CACF,CAAC,CAEH,CAEA,OAAOV,CACT",
  "names": ["isEqual", "getMultisigLoginToken", "loginData", "nativeAuthConfig", "loginToken", "_address", "_signature", "loginResult", "extraInfo", "acc", "key", "value", "modifiedNativeAuthConfig", "isEqual", "existingLoginToken", "decodeLoginToken", "nativeAuth"]
}
