{
  "version": 3,
  "sources": ["../../../../../src/providers/strategies/helpers/signMessage/signMessage.ts"],
  "sourcesContent": ["import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { PendingTransactionsEventsEnum } from 'managers/internal/PendingTransactionsStateManager/types/pendingTransactions.types';\nimport { ProviderFactory } from 'providers/ProviderFactory';\nimport {\n  ProviderType,\n  ProviderTypeEnum,\n  ICustomProvider\n} from 'providers/types/providerFactory.types';\nimport { setIsSidePanelOpen } from 'store/actions/ui/uiActions';\nimport { providerSettingsSelector } from 'store/selectors/configSelectors';\nimport { getState } from 'store/store';\nimport { SigningWarningsEnum } from 'types/enums.types';\nimport { getPendingTransactionsHandlers } from '../getPendingTransactionsHandlers';\n\ntype SignMessageWithModalPropsType<T> = {\n  message: Message;\n  handleSignMessage: (message: Message) => Promise<Message>;\n  cancelAction?: () => Promise<T> | undefined;\n  providerType: string;\n};\n\nconst isProviderType = (\n  allProviders: ICustomProvider[],\n  type: string\n): type is ProviderType =>\n  allProviders.some((provider) => provider.type === type);\n\nexport async function signMessage<T>({\n  message,\n  handleSignMessage,\n  cancelAction,\n  providerType\n}: SignMessageWithModalPropsType<T>): Promise<Message> {\n  const providerConfig = providerSettingsSelector(getState());\n\n  if (providerConfig?.isSigningUiEnabled === false) {\n    // Mark signing as in progress so idle state manager doesn't interfere\n    setIsSidePanelOpen(true);\n\n    try {\n      const signedMessage = await handleSignMessage(message);\n      return signedMessage;\n    } finally {\n      setIsSidePanelOpen(false);\n    }\n  }\n\n  const signedMsg = await new Promise<Awaited<Message>>(\n    async (resolve, reject) => {\n      const { manager, onClose } = await getPendingTransactionsHandlers({\n        cancelAction\n      });\n\n      const allProviders = Object.values(ProviderFactory.customProviders);\n      const allCustomProviderLabels = allProviders.reduce(\n        (acc, provider) => {\n          acc[provider.type] = provider.name;\n          return acc;\n        },\n        {} as Record<ProviderType, string>\n      );\n\n      const allProviderLabels = {\n        ...providerLabels,\n        ...allCustomProviderLabels\n      };\n\n      const handleClose = async () => {\n        await onClose({ shouldCancelAction: true });\n        reject({ message: SigningWarningsEnum.cancelled });\n      };\n\n      manager.subscribeToEventBus(\n        PendingTransactionsEventsEnum.CLOSE,\n        handleClose\n      );\n\n      const providerKey = isProviderType(allProviders, providerType)\n        ? providerType\n        : ProviderTypeEnum.none;\n\n      manager.updateData({\n        name: allProviderLabels[providerKey],\n        type: providerKey\n      });\n\n      try {\n        const signedMessage = await handleSignMessage(message);\n        resolve(signedMessage);\n      } catch (err) {\n        await onClose({ shouldCancelAction: true });\n        reject(err);\n      } finally {\n        manager.closeUI();\n      }\n    }\n  );\n  return signedMsg;\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+B,+CAE/BC,EAA8C,6FAC9CC,EAAgC,qCAChCF,EAIO,iDACPG,EAAmC,sCACnCC,EAAyC,2CACzCC,EAAyB,uBACzBC,EAAoC,6BACpCC,EAA+C,6CAS/C,MAAMC,EAAiB,CACrBC,EACAC,IAEAD,EAAa,KAAME,GAAaA,EAAS,OAASD,CAAI,EAExD,eAAsBZ,EAAe,CACnC,QAAAc,EACA,kBAAAC,EACA,aAAAC,EACA,aAAAC,CACF,EAAuD,CAGrD,MAFuB,+BAAyB,YAAS,CAAC,GAEtC,qBAAuB,GAAO,IAEhD,sBAAmB,EAAI,EAEvB,GAAI,CAEF,OADsB,MAAMF,EAAkBD,CAAO,CAEvD,QAAE,IACA,sBAAmB,EAAK,CAC1B,CACF,CAoDA,OAlDkB,MAAM,IAAI,QAC1B,MAAOI,EAASC,IAAW,CACzB,KAAM,CAAE,QAAAC,EAAS,QAAAC,CAAQ,EAAI,QAAM,kCAA+B,CAChE,aAAAL,CACF,CAAC,EAEKL,EAAe,OAAO,OAAO,kBAAgB,eAAe,EAC5DW,EAA0BX,EAAa,OAC3C,CAACY,EAAKV,KACJU,EAAIV,EAAS,IAAI,EAAIA,EAAS,KACvBU,GAET,CAAC,CACH,EAEMC,EAAoB,CACxB,GAAG,iBACH,GAAGF,CACL,EAEMG,EAAc,SAAY,CAC9B,MAAMJ,EAAQ,CAAE,mBAAoB,EAAK,CAAC,EAC1CF,EAAO,CAAE,QAAS,sBAAoB,SAAU,CAAC,CACnD,EAEAC,EAAQ,oBACN,gCAA8B,MAC9BK,CACF,EAEA,MAAMC,EAAchB,EAAeC,EAAcM,CAAY,EACzDA,EACA,mBAAiB,KAErBG,EAAQ,WAAW,CACjB,KAAMI,EAAkBE,CAAW,EACnC,KAAMA,CACR,CAAC,EAED,GAAI,CACF,MAAMC,EAAgB,MAAMZ,EAAkBD,CAAO,EACrDI,EAAQS,CAAa,CACvB,OAASC,EAAK,CACZ,MAAMP,EAAQ,CAAE,mBAAoB,EAAK,CAAC,EAC1CF,EAAOS,CAAG,CACZ,QAAE,CACAR,EAAQ,QAAQ,CAClB,CACF,CACF,CAEF",
  "names": ["signMessage_exports", "__export", "signMessage", "__toCommonJS", "import_providerFactory", "import_pendingTransactions", "import_ProviderFactory", "import_uiActions", "import_configSelectors", "import_store", "import_enums", "import_getPendingTransactionsHandlers", "isProviderType", "allProviders", "type", "provider", "message", "handleSignMessage", "cancelAction", "providerType", "resolve", "reject", "manager", "onClose", "allCustomProviderLabels", "acc", "allProviderLabels", "handleClose", "providerKey", "signedMessage", "err"]
}
