@multiversx/sdk-dapp 5.2.1 → 5.2.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/__chunks__/{chunk-TASSEE6N.mjs → chunk-26EQVDJ2.mjs} +2 -2
- package/out/__chunks__/chunk-2L23OQ3D.mjs +2 -0
- package/out/__chunks__/{chunk-DZ5FL2WV.mjs → chunk-2QW7XAGS.mjs} +2 -2
- package/out/__chunks__/chunk-2WIGLKYG.mjs +2 -0
- package/out/__chunks__/{chunk-IPIX74CB.mjs → chunk-3VA7OXBH.mjs} +2 -2
- package/out/__chunks__/{chunk-N2KEJEOD.mjs → chunk-3XKIU7VA.mjs} +2 -2
- package/out/__chunks__/{chunk-EPMKXFFR.mjs → chunk-5CJ4UDMA.mjs} +2 -2
- package/out/__chunks__/chunk-5FPOZ2AY.mjs +2 -0
- package/out/__chunks__/{chunk-SBOOJTIB.mjs → chunk-5HBNM4M2.mjs} +2 -2
- package/out/__chunks__/chunk-5JDTRILF.mjs +2 -0
- package/out/__chunks__/{chunk-BBCLPJC4.mjs → chunk-72BJ253L.mjs} +2 -2
- package/out/__chunks__/{chunk-HEA7NFOF.mjs → chunk-756GEXZI.mjs} +2 -2
- package/out/__chunks__/chunk-7BYCH7J2.mjs +2 -0
- package/out/__chunks__/{chunk-WVZRN2HX.mjs.map → chunk-7BYCH7J2.mjs.map} +1 -1
- package/out/__chunks__/chunk-7P3DNMWN.mjs +2 -0
- package/out/__chunks__/{chunk-2Y66XRQK.mjs → chunk-7ZUH3TQ2.mjs} +2 -2
- package/out/__chunks__/{chunk-62QLCUQH.mjs → chunk-ATGWLKGR.mjs} +2 -2
- package/out/__chunks__/{chunk-IV4LWBR3.mjs → chunk-BODBU56I.mjs} +2 -2
- package/out/__chunks__/{chunk-7JATWFXB.mjs → chunk-BPIUSUQG.mjs} +2 -2
- package/out/__chunks__/{chunk-R7667VN6.mjs → chunk-CRQHYOGT.mjs} +2 -2
- package/out/__chunks__/{chunk-O6RJHMIJ.mjs → chunk-CYWT37FT.mjs} +2 -2
- package/out/__chunks__/chunk-DBQCAF6H.mjs +2 -0
- package/out/__chunks__/{chunk-32ZBY2AE.mjs → chunk-EFZBU2L3.mjs} +2 -2
- package/out/__chunks__/{chunk-BKVZCTUG.mjs → chunk-EHMHIAOC.mjs} +2 -2
- package/out/__chunks__/{chunk-OMZ6A4DO.mjs → chunk-EHSW5LVN.mjs} +2 -2
- package/out/__chunks__/chunk-FAUGS6HG.mjs +2 -0
- package/out/__chunks__/{chunk-GYYCA57F.mjs → chunk-FEZKCHK7.mjs} +2 -2
- package/out/__chunks__/chunk-FKTD2GRY.mjs +2 -0
- package/out/__chunks__/{chunk-XV2BD67Y.mjs → chunk-FLJAPLZE.mjs} +2 -2
- package/out/__chunks__/{chunk-AS7XXEHY.mjs → chunk-FSJ6P7DN.mjs} +2 -2
- package/out/__chunks__/chunk-G6PZFECX.mjs +2 -0
- package/out/__chunks__/{chunk-XI2BWIQP.mjs → chunk-HBXJVW2D.mjs} +2 -2
- package/out/__chunks__/chunk-HNB7MO3A.mjs +2 -0
- package/out/__chunks__/{chunk-EIOADZ47.mjs → chunk-J7JGI5JV.mjs} +2 -2
- package/out/__chunks__/chunk-JLE5ZH6J.mjs +2 -0
- package/out/__chunks__/chunk-JLE5ZH6J.mjs.map +7 -0
- package/out/__chunks__/{chunk-PGGSHHQJ.mjs → chunk-JR7IKIR6.mjs} +2 -2
- package/out/__chunks__/chunk-KFS4ZIKP.mjs +2 -0
- package/out/__chunks__/chunk-KFS4ZIKP.mjs.map +7 -0
- package/out/__chunks__/{chunk-ZHGONRBM.mjs → chunk-KMNG6RHN.mjs} +2 -2
- package/out/__chunks__/{chunk-DHTRPE3R.mjs → chunk-LH7HQXQ7.mjs} +2 -2
- package/out/__chunks__/chunk-LKI7Z4RK.mjs +2 -0
- package/out/__chunks__/{chunk-IGTIIBN6.mjs → chunk-LNYGKGJE.mjs} +2 -2
- package/out/__chunks__/{chunk-RYOUAM3L.mjs → chunk-LSHOMXXT.mjs} +2 -2
- package/out/__chunks__/{chunk-WLXKUUZ3.mjs → chunk-LWYHD7UG.mjs} +2 -2
- package/out/__chunks__/{chunk-B5K6T6DF.mjs → chunk-MIODWPNV.mjs} +2 -2
- package/out/__chunks__/chunk-MMG52PCY.mjs +2 -0
- package/out/__chunks__/chunk-MRHKKGSJ.mjs +2 -0
- package/out/__chunks__/{chunk-4G2T73DC.mjs → chunk-MT47AO63.mjs} +2 -2
- package/out/__chunks__/{chunk-57P66SOT.mjs → chunk-MUPCSQI2.mjs} +2 -2
- package/out/__chunks__/{chunk-TZJL7CZF.mjs → chunk-MXO2L46I.mjs} +2 -2
- package/out/__chunks__/{chunk-DE6O7BFR.mjs → chunk-NSW7SBHH.mjs} +2 -2
- package/out/__chunks__/{chunk-ZEJRHV7U.mjs → chunk-NUUOYZJB.mjs} +2 -2
- package/out/__chunks__/chunk-OQWBS4SC.mjs +2 -0
- package/out/__chunks__/{chunk-W75ZD7BB.mjs → chunk-OWO6FJAZ.mjs} +2 -2
- package/out/__chunks__/{chunk-OFU3D2KB.mjs → chunk-PEBY7O46.mjs} +2 -2
- package/out/__chunks__/{chunk-SG5YZ37N.mjs → chunk-PGCZMYUZ.mjs} +2 -2
- package/out/__chunks__/{chunk-NE4YNYCQ.mjs → chunk-PQ2PJ25S.mjs} +2 -2
- package/out/__chunks__/{chunk-JV4IJH7L.mjs → chunk-QIN2VFBM.mjs} +2 -2
- package/out/__chunks__/{chunk-5VSKEHYA.mjs → chunk-QNT5Z55W.mjs} +2 -2
- package/out/__chunks__/{chunk-OYCDHRNS.mjs → chunk-R2VTYQ7O.mjs} +2 -2
- package/out/__chunks__/{chunk-IJKCH7CT.mjs → chunk-RI45GLZ7.mjs} +2 -2
- package/out/__chunks__/{chunk-4NQ35FCJ.mjs → chunk-RORFSL37.mjs} +2 -2
- package/out/__chunks__/{chunk-UCRVRBTA.mjs → chunk-S6NHNEQK.mjs} +2 -2
- package/out/__chunks__/chunk-SMON5ZO5.mjs +2 -0
- package/out/__chunks__/chunk-SOQYOVR7.mjs +2 -0
- package/out/__chunks__/{chunk-WQAFFPAS.mjs → chunk-SRHQKUXP.mjs} +2 -2
- package/out/__chunks__/{chunk-H2EFE4NU.mjs → chunk-TB2Y5M67.mjs} +2 -2
- package/out/__chunks__/{chunk-34ZJZYMC.mjs → chunk-TXRPUKQM.mjs} +2 -2
- package/out/__chunks__/{chunk-OHHNQ66F.mjs → chunk-UTU2EQJA.mjs} +2 -2
- package/out/__chunks__/{chunk-VNMU246H.mjs → chunk-VR7K4BBB.mjs} +2 -2
- package/out/__chunks__/{chunk-C3Y3ANFE.mjs → chunk-VV7CPNPW.mjs} +2 -2
- package/out/__chunks__/{chunk-R6QKRGY5.mjs → chunk-VVRC7ANW.mjs} +2 -2
- package/out/__chunks__/{chunk-5JVY6GJC.mjs → chunk-WNTY5HJN.mjs} +2 -2
- package/out/__chunks__/{chunk-5PGKBWB6.mjs → chunk-X4KR5OSC.mjs} +2 -2
- package/out/__chunks__/{chunk-4LTMFD6V.mjs → chunk-X5C4JWTG.mjs} +2 -2
- package/out/__chunks__/{chunk-OXPZVCKM.mjs → chunk-XHOY6ZTM.mjs} +2 -2
- package/out/__chunks__/{chunk-X5IHXBJ3.mjs → chunk-XJWZ6BDQ.mjs} +2 -2
- package/out/__chunks__/{chunk-OPX7XWAC.mjs → chunk-Y5UBM4II.mjs} +2 -2
- package/out/__chunks__/{chunk-EP4OBHW4.mjs → chunk-YDK5V2BZ.mjs} +2 -2
- package/out/__chunks__/chunk-YL7WVJQO.mjs +2 -0
- package/out/__chunks__/{chunk-AMS6KZTC.mjs → chunk-YOJ6MVBW.mjs} +2 -2
- package/out/__chunks__/{chunk-JIKCHL57.mjs → chunk-Z5RRBB6V.mjs} +2 -2
- package/out/__chunks__/{chunk-OLOOCCNU.mjs → chunk-ZEYX332S.mjs} +2 -2
- package/out/__chunks__/chunk-ZONHCECO.mjs +2 -0
- package/out/__chunks__/chunk-ZONHCECO.mjs.map +7 -0
- package/out/__chunks__/chunk-ZVIKYGX5.mjs +2 -0
- package/out/__chunks__/{chunk-6JSWL75O.mjs.map → chunk-ZVIKYGX5.mjs.map} +2 -2
- package/out/apiCalls/account/getScamAddressData.mjs +1 -1
- package/out/apiCalls/configuration/getCleanApiAddress.mjs +1 -1
- package/out/apiCalls/configuration/getGasStationMetadata.mjs +1 -1
- package/out/apiCalls/index.mjs +1 -1
- package/out/apiCalls/tokens/getPersistedTokenDetails.mjs +1 -1
- package/out/apiCalls/tokens/getTokenDetails.mjs +1 -1
- package/out/apiCalls/tokens/index.mjs +1 -1
- package/out/apiCalls/transactions/getServerTransactionsByHashes.mjs +1 -1
- package/out/apiCalls/transactions/getTransactionByHash.mjs +1 -1
- package/out/apiCalls/transactions/getTransactionsByHashes.mjs +1 -1
- package/out/constants/browser.constants.mjs +1 -1
- package/out/constants/index.mjs +1 -1
- package/out/constants/providerFactory.constants.cjs +0 -1
- package/out/constants/providerFactory.constants.cjs.map +2 -2
- package/out/constants/providerFactory.constants.mjs +1 -1
- package/out/constants/storage.constants.mjs +1 -1
- package/out/constants/window.constants.cjs +1 -1
- package/out/constants/window.constants.cjs.map +1 -1
- package/out/constants/window.constants.mjs +1 -1
- package/out/controllers/TransactionsHistoryController/TransactionsHistoryController.mjs +1 -1
- package/out/controllers/TransactionsHistoryController/index.mjs +1 -1
- package/out/controllers/TransactionsTableController/TransactionsTableController.mjs +1 -1
- package/out/controllers/TransactionsTableController/index.mjs +1 -1
- package/out/index.mjs +1 -1
- package/out/lib/sdkDappUi.mjs +1 -1
- package/out/managers/LogoutManager/LogoutManager.mjs +1 -1
- package/out/managers/NotificationsFeedManager/NotificationsFeedManager.mjs +1 -1
- package/out/managers/NotificationsFeedManager/index.mjs +1 -1
- package/out/managers/ToastManager/ToastManager.mjs +1 -1
- package/out/managers/ToastManager/helpers/LifetimeManager.mjs +1 -1
- package/out/managers/ToastManager/helpers/createToastsFromTransactions.mjs +1 -1
- package/out/managers/ToastManager/index.mjs +1 -1
- package/out/managers/TransactionManager/TransactionManager.mjs +1 -1
- package/out/managers/TransactionManager/helpers/getAreTransactionsCorssShards.mjs +1 -1
- package/out/managers/TransactionManager/helpers/getToastDuration.mjs +1 -1
- package/out/managers/TransactionManager/index.mjs +1 -1
- package/out/managers/UnlockPanelManager/UnlockPanelManager.mjs +1 -1
- package/out/managers/UnlockPanelManager/index.mjs +1 -1
- package/out/managers/index.mjs +1 -1
- package/out/managers/internal/LedgerConnectStateManager/LedgerConnectStateManager.mjs +1 -1
- package/out/managers/internal/LedgerConnectStateManager/index.mjs +1 -1
- package/out/managers/internal/LedgerIdleStateManager/LedgerIdleStateManager.mjs +1 -1
- package/out/managers/internal/PendingTransactionsStateManager/PendingTransactionsStateManager.mjs +1 -1
- package/out/managers/internal/PendingTransactionsStateManager/index.mjs +1 -1
- package/out/managers/internal/SidePanelBaseManager/SidePanelBaseManager.mjs +1 -1
- package/out/managers/internal/SidePanelBaseManager/index.mjs +1 -1
- package/out/managers/internal/SignTransactionsStateManager/SignTransactionsStateManager.mjs +1 -1
- package/out/managers/internal/SignTransactionsStateManager/index.mjs +1 -1
- package/out/managers/internal/UIBaseManager/UIBaseManager.mjs +1 -1
- package/out/managers/internal/WalletConnectStateManager/WalletConnectStateManager.mjs +1 -1
- package/out/managers/internal/WalletConnectStateManager/index.mjs +1 -1
- package/out/managers/internal/index.mjs +1 -1
- package/out/methods/account/getAccount.mjs +1 -1
- package/out/methods/account/getAccountInfo.mjs +1 -1
- package/out/methods/account/getAddress.mjs +1 -1
- package/out/methods/account/getIsLoggedIn.mjs +1 -1
- package/out/methods/account/getLatestNonce.mjs +1 -1
- package/out/methods/initApp/gastStationMetadata/setGasStationMetadata.mjs +1 -1
- package/out/methods/initApp/initApp.mjs +1 -1
- package/out/methods/initApp/websocket/initializeWebsocketConnection.mjs +1 -1
- package/out/methods/initApp/websocket/registerWebsocket.mjs +1 -1
- package/out/methods/loginInfo/getLoginInfo.mjs +1 -1
- package/out/methods/network/getEgldLabel.mjs +1 -1
- package/out/methods/network/getExplorerAddress.mjs +1 -1
- package/out/methods/network/getNetworkConfig.mjs +1 -1
- package/out/methods/trackTransactions/helpers/checkTransactionStatus/checkBatch.mjs +1 -1
- package/out/methods/trackTransactions/helpers/checkTransactionStatus/checkTransactionStatus.mjs +1 -1
- package/out/methods/trackTransactions/helpers/checkTransactionStatus/index.mjs +1 -1
- package/out/methods/trackTransactions/helpers/checkTransactionStatus/manageFailedTransactions.mjs +1 -1
- package/out/methods/trackTransactions/helpers/getPollingInterval.mjs +1 -1
- package/out/methods/trackTransactions/trackTransactions.mjs +1 -1
- package/out/methods/transactions/getFailedTransactions.mjs +1 -1
- package/out/methods/transactions/getFailedTransactionsSessions.mjs +1 -1
- package/out/methods/transactions/getPendingTransactions.mjs +1 -1
- package/out/methods/transactions/getPendingTransactionsSessions.mjs +1 -1
- package/out/methods/transactions/getSuccessfulTransactions.mjs +1 -1
- package/out/methods/transactions/getSuccessfulTransactionsSessions.mjs +1 -1
- package/out/methods/transactions/getTransactionSessions.mjs +1 -1
- package/out/providers/DappProvider/DappProvider.mjs +1 -1
- package/out/providers/DappProvider/helpers/login/helpers/accountLogin.mjs +1 -1
- package/out/providers/DappProvider/helpers/login/helpers/extractAddressFromToken.mjs +1 -1
- package/out/providers/DappProvider/helpers/login/helpers/getAccountFromToken.mjs +1 -1
- package/out/providers/DappProvider/helpers/login/helpers/getModifiedLoginToken.mjs +1 -1
- package/out/providers/DappProvider/helpers/login/login.mjs +1 -1
- package/out/providers/DappProvider/helpers/logout/logout.mjs +1 -1
- package/out/providers/DappProvider/helpers/signErrors/handleSignError.mjs +1 -1
- package/out/providers/DappProvider/helpers/signMessage/signMessageWithProvider.mjs +1 -1
- package/out/providers/DappProvider/helpers/signTransactions/signTransactionsWithProvider.mjs +1 -1
- package/out/providers/DappProvider/index.mjs +1 -1
- package/out/providers/ProviderFactory.cjs +1 -10
- package/out/providers/ProviderFactory.cjs.map +2 -2
- package/out/providers/ProviderFactory.mjs +1 -1
- package/out/providers/helpers/accountProvider.mjs +1 -1
- package/out/providers/helpers/cancelCrossWindowAction.mjs +1 -1
- package/out/providers/helpers/clearInitiatedLogins.mjs +1 -1
- package/out/providers/helpers/emptyProvider.mjs +1 -1
- package/out/providers/helpers/restoreProvider.mjs +1 -1
- package/out/providers/index.mjs +1 -1
- package/out/providers/strategies/BaseProviderStrategy/BaseProviderStrategy.mjs +1 -1
- package/out/providers/strategies/CrossWindowProviderStrategy/CrossWindowProviderStrategy.mjs +1 -1
- package/out/providers/strategies/CrossWindowProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/ExtensionProviderStrategy/ExtensionProviderStrategy.mjs +1 -1
- package/out/providers/strategies/ExtensionProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.cjs +9 -11
- package/out/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.cjs.map +2 -2
- package/out/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.d.ts +1 -2
- package/out/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.mjs +1 -1
- package/out/providers/strategies/IframeProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/IframeProviderStrategy/types/iframe.types.cjs.map +1 -1
- package/out/providers/strategies/IframeProviderStrategy/types/iframe.types.d.ts +0 -2
- package/out/providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/authenticateLedgerAccount.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/getAuthTokenText.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerConfiguration.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerProvider.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerVersionOptions.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/index.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/initializeLedgerProvider.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/signLedgerMessage.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/updateAccountsList/index.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/helpers/updateAccountsList/updateAccountsList.mjs +1 -1
- package/out/providers/strategies/LedgerProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/WalletConnectProviderStrategy/WalletConnectProviderStrategy.mjs +1 -1
- package/out/providers/strategies/WalletConnectProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/WebviewProviderStrategy/WebviewClient/WebviewClient.mjs +1 -1
- package/out/providers/strategies/WebviewProviderStrategy/WebviewClient/index.mjs +1 -1
- package/out/providers/strategies/WebviewProviderStrategy/WebviewProviderStrategy.mjs +1 -1
- package/out/providers/strategies/WebviewProviderStrategy/index.mjs +1 -1
- package/out/providers/strategies/helpers/getPendingTransactionsHandlers.mjs +1 -1
- package/out/providers/strategies/helpers/index.mjs +1 -1
- package/out/providers/strategies/helpers/signMessage/signMessage.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/helpers/calculateFeeLimit.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.cjs +4 -6
- package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.cjs.map +2 -2
- package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/helpers/getExtractTransactionsInfo.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/helpers/getFeeData.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/helpers/guardTransactions/guardTransactions.mjs +1 -1
- package/out/providers/strategies/helpers/signTransactions/signTransactions.mjs +1 -1
- package/out/providers/strategies/index.mjs +1 -1
- package/out/providers/types/providerFactory.types.cjs +0 -1
- package/out/providers/types/providerFactory.types.cjs.map +2 -2
- package/out/providers/types/providerFactory.types.d.ts +0 -1
- package/out/providers/types/providerFactory.types.mjs +1 -1
- package/out/react/account/useGetAccount.mjs +1 -1
- package/out/react/account/useGetAccountInfo.mjs +1 -1
- package/out/react/account/useGetIsLoggedIn.mjs +1 -1
- package/out/react/account/useGetLatestNonce.mjs +1 -1
- package/out/react/index.mjs +1 -1
- package/out/react/loginInfo/useGetLoginInfo.mjs +1 -1
- package/out/react/network/useGetNetworkConfig.mjs +1 -1
- package/out/react/store/getReactStore.mjs +1 -1
- package/out/react/store/useSelector.mjs +1 -1
- package/out/react/transactions/useGetFailedTransactions.mjs +1 -1
- package/out/react/transactions/useGetFailedTransactionsSessions.mjs +1 -1
- package/out/react/transactions/useGetPendingTransactions.mjs +1 -1
- package/out/react/transactions/useGetPendingTransactionsSessions.mjs +1 -1
- package/out/react/transactions/useGetSuccessfulTransactions.mjs +1 -1
- package/out/react/transactions/useGetSuccessfulTransactionsSessions.mjs +1 -1
- package/out/react/transactions/useGetTransactionSessions.mjs +1 -1
- package/out/services/index.mjs +1 -1
- package/out/services/nativeAuth/index.mjs +1 -1
- package/out/services/nativeAuth/methods/buildNativeAuthConfig.mjs +1 -1
- package/out/services/nativeAuth/methods/getDefaultNativeAuthConfig.mjs +1 -1
- package/out/services/nativeAuth/methods/index.mjs +1 -1
- package/out/services/nativeAuth/nativeAuth.mjs +1 -1
- package/out/store/actions/account/accountActions.mjs +1 -1
- package/out/store/actions/account/index.mjs +1 -1
- package/out/store/actions/cache/cacheActions.mjs +1 -1
- package/out/store/actions/cache/index.mjs +1 -1
- package/out/store/actions/config/configActions.mjs +1 -1
- package/out/store/actions/config/index.mjs +1 -1
- package/out/store/actions/index.mjs +1 -1
- package/out/store/actions/loginInfo/loginInfoActions.mjs +1 -1
- package/out/store/actions/network/index.mjs +1 -1
- package/out/store/actions/network/initializeNetwork.mjs +1 -1
- package/out/store/actions/network/networkActions.mjs +1 -1
- package/out/store/actions/sharedActions/index.mjs +1 -1
- package/out/store/actions/sharedActions/sharedActions.mjs +1 -1
- package/out/store/actions/toasts/index.mjs +1 -1
- package/out/store/actions/toasts/toastsActions.mjs +1 -1
- package/out/store/actions/transactions/transactionsActions.mjs +1 -1
- package/out/store/actions/ui/index.mjs +1 -1
- package/out/store/actions/ui/uiActions.mjs +1 -1
- package/out/store/middleware/applyMiddlewares.mjs +1 -1
- package/out/store/middleware/index.mjs +1 -1
- package/out/store/middleware/logoutMiddleware.mjs +1 -1
- package/out/store/storage/index.mjs +1 -1
- package/out/store/storage/storageCallback.mjs +1 -1
- package/out/store/store.mjs +1 -1
- package/out/utils/ComponentFactory.mjs +1 -1
- package/out/utils/account/index.mjs +1 -1
- package/out/utils/account/refreshAccount.mjs +1 -1
- package/out/utils/account/refreshNativeAuthTokenLogin.mjs +1 -1
- package/out/utils/index.mjs +1 -1
- package/out/utils/transactions/getActiveTransactionsStatus.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/getInterpretedTransaction.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/getLockedAccountName.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/getReceiptMessage.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/getShardText.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionIconInfo.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionMessages.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/helpers/index.mjs +1 -1
- package/out/utils/transactions/getInterpretedTransaction/index.mjs +1 -1
- package/out/utils/transactions/getTransactionsHistory/getTransactionsHistory.mjs +1 -1
- package/out/utils/transactions/getTransactionsHistory/helpers/getCachedTransactionListItem.mjs +1 -1
- package/out/utils/transactions/getTransactionsHistory/helpers/index.mjs +1 -1
- package/out/utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems.mjs +1 -1
- package/out/utils/transactions/getTransactionsHistory/index.mjs +1 -1
- package/out/utils/transactions/index.mjs +1 -1
- package/out/utils/visual/index.mjs +1 -1
- package/out/utils/visual/switchTheme.mjs +1 -1
- package/out/utils/window/getIsInIframe.mjs +1 -1
- package/out/utils/window/getWindowParentOrigin.mjs +1 -1
- package/out/utils/window/index.mjs +1 -1
- package/package.json +2 -2
- package/out/__chunks__/chunk-3JEK5A62.mjs +0 -2
- package/out/__chunks__/chunk-5LFB2H3K.mjs +0 -2
- package/out/__chunks__/chunk-5UYF2YJN.mjs +0 -2
- package/out/__chunks__/chunk-5W77GYVQ.mjs +0 -2
- package/out/__chunks__/chunk-6FPG2OTI.mjs +0 -2
- package/out/__chunks__/chunk-6JSWL75O.mjs +0 -2
- package/out/__chunks__/chunk-7Z665D57.mjs +0 -2
- package/out/__chunks__/chunk-CGLVVKZU.mjs +0 -2
- package/out/__chunks__/chunk-CTITNRKA.mjs +0 -2
- package/out/__chunks__/chunk-HSYMR5UW.mjs +0 -2
- package/out/__chunks__/chunk-IYVM5B26.mjs +0 -2
- package/out/__chunks__/chunk-K3OKY7NL.mjs +0 -2
- package/out/__chunks__/chunk-LJX4MW7B.mjs +0 -2
- package/out/__chunks__/chunk-LJX4MW7B.mjs.map +0 -7
- package/out/__chunks__/chunk-O72VJVJC.mjs +0 -2
- package/out/__chunks__/chunk-QB4NUTLA.mjs +0 -2
- package/out/__chunks__/chunk-QVGM6655.mjs +0 -2
- package/out/__chunks__/chunk-QVGM6655.mjs.map +0 -7
- package/out/__chunks__/chunk-R76CQZZH.mjs +0 -2
- package/out/__chunks__/chunk-SYWFZFFJ.mjs +0 -2
- package/out/__chunks__/chunk-TSBH5KYD.mjs +0 -2
- package/out/__chunks__/chunk-UN2MEJKC.mjs +0 -2
- package/out/__chunks__/chunk-UN2MEJKC.mjs.map +0 -7
- package/out/__chunks__/chunk-WAM7WNSA.mjs +0 -2
- package/out/__chunks__/chunk-WVZRN2HX.mjs +0 -2
- /package/out/__chunks__/{chunk-TASSEE6N.mjs.map → chunk-26EQVDJ2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-CGLVVKZU.mjs.map → chunk-2L23OQ3D.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-DZ5FL2WV.mjs.map → chunk-2QW7XAGS.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-HSYMR5UW.mjs.map → chunk-2WIGLKYG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IPIX74CB.mjs.map → chunk-3VA7OXBH.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-N2KEJEOD.mjs.map → chunk-3XKIU7VA.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EPMKXFFR.mjs.map → chunk-5CJ4UDMA.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5UYF2YJN.mjs.map → chunk-5FPOZ2AY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-SBOOJTIB.mjs.map → chunk-5HBNM4M2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-QB4NUTLA.mjs.map → chunk-5JDTRILF.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-BBCLPJC4.mjs.map → chunk-72BJ253L.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-HEA7NFOF.mjs.map → chunk-756GEXZI.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-6FPG2OTI.mjs.map → chunk-7P3DNMWN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-2Y66XRQK.mjs.map → chunk-7ZUH3TQ2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-62QLCUQH.mjs.map → chunk-ATGWLKGR.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IV4LWBR3.mjs.map → chunk-BODBU56I.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-7JATWFXB.mjs.map → chunk-BPIUSUQG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-R7667VN6.mjs.map → chunk-CRQHYOGT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-O6RJHMIJ.mjs.map → chunk-CYWT37FT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-7Z665D57.mjs.map → chunk-DBQCAF6H.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-32ZBY2AE.mjs.map → chunk-EFZBU2L3.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-BKVZCTUG.mjs.map → chunk-EHMHIAOC.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OMZ6A4DO.mjs.map → chunk-EHSW5LVN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-TSBH5KYD.mjs.map → chunk-FAUGS6HG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-GYYCA57F.mjs.map → chunk-FEZKCHK7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-CTITNRKA.mjs.map → chunk-FKTD2GRY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-XV2BD67Y.mjs.map → chunk-FLJAPLZE.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-AS7XXEHY.mjs.map → chunk-FSJ6P7DN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-3JEK5A62.mjs.map → chunk-G6PZFECX.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-XI2BWIQP.mjs.map → chunk-HBXJVW2D.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-WAM7WNSA.mjs.map → chunk-HNB7MO3A.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EIOADZ47.mjs.map → chunk-J7JGI5JV.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-PGGSHHQJ.mjs.map → chunk-JR7IKIR6.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ZHGONRBM.mjs.map → chunk-KMNG6RHN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-DHTRPE3R.mjs.map → chunk-LH7HQXQ7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5LFB2H3K.mjs.map → chunk-LKI7Z4RK.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IGTIIBN6.mjs.map → chunk-LNYGKGJE.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-RYOUAM3L.mjs.map → chunk-LSHOMXXT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-WLXKUUZ3.mjs.map → chunk-LWYHD7UG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-B5K6T6DF.mjs.map → chunk-MIODWPNV.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IYVM5B26.mjs.map → chunk-MMG52PCY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5W77GYVQ.mjs.map → chunk-MRHKKGSJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-4G2T73DC.mjs.map → chunk-MT47AO63.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-57P66SOT.mjs.map → chunk-MUPCSQI2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-TZJL7CZF.mjs.map → chunk-MXO2L46I.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-DE6O7BFR.mjs.map → chunk-NSW7SBHH.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ZEJRHV7U.mjs.map → chunk-NUUOYZJB.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-K3OKY7NL.mjs.map → chunk-OQWBS4SC.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-W75ZD7BB.mjs.map → chunk-OWO6FJAZ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OFU3D2KB.mjs.map → chunk-PEBY7O46.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-SG5YZ37N.mjs.map → chunk-PGCZMYUZ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-NE4YNYCQ.mjs.map → chunk-PQ2PJ25S.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JV4IJH7L.mjs.map → chunk-QIN2VFBM.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5VSKEHYA.mjs.map → chunk-QNT5Z55W.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OYCDHRNS.mjs.map → chunk-R2VTYQ7O.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IJKCH7CT.mjs.map → chunk-RI45GLZ7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-4NQ35FCJ.mjs.map → chunk-RORFSL37.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-UCRVRBTA.mjs.map → chunk-S6NHNEQK.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-SYWFZFFJ.mjs.map → chunk-SMON5ZO5.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-O72VJVJC.mjs.map → chunk-SOQYOVR7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-WQAFFPAS.mjs.map → chunk-SRHQKUXP.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-H2EFE4NU.mjs.map → chunk-TB2Y5M67.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-34ZJZYMC.mjs.map → chunk-TXRPUKQM.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OHHNQ66F.mjs.map → chunk-UTU2EQJA.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-VNMU246H.mjs.map → chunk-VR7K4BBB.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-C3Y3ANFE.mjs.map → chunk-VV7CPNPW.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-R6QKRGY5.mjs.map → chunk-VVRC7ANW.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5JVY6GJC.mjs.map → chunk-WNTY5HJN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5PGKBWB6.mjs.map → chunk-X4KR5OSC.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-4LTMFD6V.mjs.map → chunk-X5C4JWTG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OXPZVCKM.mjs.map → chunk-XHOY6ZTM.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-X5IHXBJ3.mjs.map → chunk-XJWZ6BDQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OPX7XWAC.mjs.map → chunk-Y5UBM4II.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EP4OBHW4.mjs.map → chunk-YDK5V2BZ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-R76CQZZH.mjs.map → chunk-YL7WVJQO.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-AMS6KZTC.mjs.map → chunk-YOJ6MVBW.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JIKCHL57.mjs.map → chunk-Z5RRBB6V.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-OLOOCCNU.mjs.map → chunk-ZEYX332S.mjs.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as p,q as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{j as p,q as e}from"./chunk-X5C4JWTG.mjs";import{c as i}from"./chunk-NTEMINYA.mjs";var T=()=>e().setState(p),a=({address:o,providerType:d})=>{e().setState(({account:r,loginInfo:t})=>{r.address=o,r.publicKey=new i(o).toHex(),t&&(t.providerType=d)},!1,"loginAction")};export{T as a,a as b};
|
|
2
|
+
//# sourceMappingURL=chunk-26EQVDJ2.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-DLWDO7M6.mjs";import{d as v}from"./chunk-JLE5ZH6J.mjs";import{v as m}from"./chunk-FSJ6P7DN.mjs";import{s as n}from"./chunk-X5C4JWTG.mjs";import{d as s}from"./chunk-VNLGNNIL.mjs";import{a as i}from"./chunk-ZONHCECO.mjs";import{a as p}from"./chunk-MUPCSQI2.mjs";async function g(){let t=a(),d=p(),r=s(n()),e=d||t?i.webview:r,c=Object.values(i).includes(r);if(r&&!c&&(e=r),!e)return;let o=await v.create({type:e});if(!o)throw new Error("Provider not found");(t||e===i.webview&&o.isInitialized())&&await o.login(),m(o)}export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2L23OQ3D.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as T}from"./chunk-Q2Q4XN4M.mjs";import{b as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as T}from"./chunk-Q2Q4XN4M.mjs";import{b as u}from"./chunk-BPIUSUQG.mjs";import{d as m,e as l}from"./chunk-756GEXZI.mjs";import{q as a}from"./chunk-X5C4JWTG.mjs";import{b as r}from"./chunk-SAAOQW7P.mjs";import{b as t}from"./chunk-GGBMHKR4.mjs";import{io as y}from"socket.io-client";var A=3e3,g=3,w=500,E=1e3,f="batchUpdated",p="connect",N="connect_error",b="disconnect";async function M(i){let{apiAddress:k,websocketUrl:I}=r(a().getState());if(!i)throw new Error("Websocket could not be initialized: address missing");let o=null,n=null,c=e=>{t.status=e,u(e)},d=e=>{o&&clearTimeout(o),o=setTimeout(()=>{m(e)},E)},C=e=>{n&&clearTimeout(n),n=setTimeout(()=>{l(e)},E)},W=()=>{let e=t.instance;e&&(e.off(N),e.off(p),e.off(f),e.off(b),e.close(),console.log("Websocket disconnected.")),c("not_initialized"),t.instance=null,o&&clearTimeout(o),n&&clearTimeout(n)},S=async()=>{c("pending");let e=I??await T(k);if(!e){c("not_initialized");return}t.instance=y(e,{forceNew:!0,reconnection:!0,reconnectionAttempts:g,reconnectionDelay:w,timeout:A,query:{address:i}}),t.instance.onAny(d),t.instance.on(f,C),t.instance.on(p,()=>{console.log("Websocket connected."),c("completed")}),t.instance.on(N,s=>{console.warn("Websocket connect error: ",s.message)}),t.instance.on(b,s=>{console.warn("Websocket disconnected: ",s),c("pending")})};return t.status==="not_initialized"&&!t.instance?.active&&await S(),{closeConnection:W}}export{M as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2QW7XAGS.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as u}from"./chunk-SMON5ZO5.mjs";import{a as f}from"./chunk-5HBNM4M2.mjs";import{a as g}from"./chunk-X4KR5OSC.mjs";import{b as a}from"./chunk-X5C4JWTG.mjs";import{c as s,g as r}from"./chunk-NTEMINYA.mjs";var v=async({signMessageCallback:m,nativeAuthClientConfig:o})=>{let{address:t}=u(),c=g(),i=f(o||c),e=await i.initialize({noCache:!!o});if(!e)return null;let h=new r({address:new s(t),data:Buffer.from(`${t}${e}`)}),n=await m(h,{});if(!n?.signature)throw"Message not signed";return a({loginToken:e,signature:Buffer.from(n.signature).toString("hex")}),i.getToken({address:t,token:e,signature:Buffer.from(n.signature).toString("hex")})};export{v as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3VA7OXBH.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-72BJ253L.mjs";import{a as d}from"./chunk-MXO2L46I.mjs";import{a as f}from"./chunk-YL7WVJQO.mjs";import{a as h}from"./chunk-3L7HZ2SO.mjs";var g=t=>t.sort((n,i)=>i.timestamp-n.timestamp),k=async({transactions:t,address:n,explorerAddress:i,egldLabel:u,skipFetchingTransactions:I=!1})=>{let o=[],e=[];if(t.forEach(s=>{let a=f(s.hash);a?o.push(a):e.push(s.hash)}),e.length===0)return g(o);let c=I?t.map(s=>({...s,txHash:s.hash})):await p(e),l=c.map(s=>s.txHash),T=e.filter(s=>!l.includes(s));if(T.length>0){let a=t.filter(r=>T.includes(r.hash)).map(r=>({...r,txHash:r.hash,price:0,status:"pending",gasUsed:0,miniBlockHash:"",receiverShard:0,round:0,senderShard:0,timestamp:Date.now()}));c.push(...a)}let m=new Map;return o.forEach(s=>{let a=s.hash;a&&m.set(String(a),s)}),c.forEach(s=>{let a=h({transaction:s,address:n,explorerAddress:i,egldLabel:u});a.status!=="pending"&&d({key:`transaction-${s.txHash}`,value:a}),m.set(s.txHash,a)}),g(Array.from(m.values()))};export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3XKIU7VA.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-LWYHD7UG.mjs";var n=class t extends e{constructor(){super({uiDataUpdateEvent:"DATA_UPDATE",uiTag:"mvx-wallet-connect"});this.initialData={wcURI:"",walletConnectDeepLink:""};this.data={...this.initialData}}static getInstance(){return t.instance||(t.instance=new t),t.instance}handleClose(a){a?.isLoginFinished||(this.anchor?this.anchor.dispatchEvent(new CustomEvent("ANCHOR_CLOSE",{composed:!1,bubbles:!1})):this.destroy())}async setupEventListeners(){this.eventBus&&(this.eventBus.subscribe("CLOSE",this.handleClose.bind(this)),this.eventBus.subscribe("UI_DISCONNECTED",this.destroy.bind(this)))}};export{n as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5CJ4UDMA.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as g}from"./chunk-3S57OP4Z.mjs";import{a as l}from"./chunk-QTKK6OSJ.mjs";import{a as h}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as g}from"./chunk-3S57OP4Z.mjs";import{a as l}from"./chunk-QTKK6OSJ.mjs";import{a as h}from"./chunk-ATGWLKGR.mjs";import{NativeAuthClient as y}from"@multiversx/sdk-native-auth-client";var H=f=>{let{origin:o,apiAddress:i,expirySeconds:r,blockHashShard:s,extraInfo:u,gatewayUrl:d,extraRequestHeaders:k}=h(f),e=new y({origin:o,apiUrl:i,expirySeconds:r,blockHashShard:s,gatewayUrl:d,extraRequestHeaders:k});return{initialize:async t=>{if(!i||!o)return"";let a=()=>e.getCurrentBlockHash(),n=t?.latestBlockInfo;n??=await g({apiAddress:i,blockHashShard:s,getBlockHash:a,noCache:t?.noCache});let{hash:p,timestamp:c}=n,m=e.encodeValue(JSON.stringify({...t?.extraInfo??u,...c?{timestamp:c}:{}}));return`${e.encodeValue(o)}.${p}.${r}.${m}`},getToken:({address:t,token:a,signature:n})=>e.getToken(t,a,n),getTokenExpiration:l}};export{H as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5HBNM4M2.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{s as e}from"./chunk-X5C4JWTG.mjs";import{b as t}from"./chunk-SAAOQW7P.mjs";import{x as r}from"./chunk-KD2IQ32V.mjs";import i from"axios";var T=async o=>{let{apiAddress:s}=t(e()),{data:a}=await i.get(`${s}/${r}`,{params:{hashes:o.join(","),withScResults:!0}});return a};export{T as a};
|
|
2
|
+
//# sourceMappingURL=chunk-72BJ253L.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{q as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{q as c}from"./chunk-X5C4JWTG.mjs";import{a as o}from"./chunk-JMC7CMTU.mjs";var r=e=>{c().setState(({account:t})=>{let s=t.address===e.address;t.accounts={[t.address]:s?e:o}},!1,"setAccount")},u=e=>c().setState(({account:t})=>{t.ledgerAccount=e},!1,"setLedgerAccount"),p=e=>c().setState(({account:t})=>{t.walletConnectAccount=e},!1,"setWalletConnectAccount"),l=e=>c().setState(({account:t})=>{t.websocketEvent={timestamp:Date.now(),message:e}},!1,"setWebsocketEvent"),m=e=>c().setState(({account:t})=>{t.websocketBatchEvent={timestamp:Date.now(),data:e}},!1,"setWebsocketBatchEvent"),A=e=>{c().setState(({account:t})=>{t.accounts[t.address].nonce=e},!1,"setAccountNonce")};export{r as a,u as b,p as c,l as d,m as e,A as f};
|
|
2
|
+
//# sourceMappingURL=chunk-756GEXZI.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/constants/window.constants.ts"],
|
|
4
|
-
"sourcesContent": ["export const safeWindow: Window =\n typeof window !== 'undefined' ? window : ({} as Window);\n\nexport const version = '5.2.1'; // will be replaced at build time\n"],
|
|
4
|
+
"sourcesContent": ["export const safeWindow: Window =\n typeof window !== 'undefined' ? window : ({} as Window);\n\nexport const version = '5.2.2-alpha.1'; // will be replaced at build time\n"],
|
|
5
5
|
"mappings": "AAAO,IAAMA,EACX,OAAO,OAAW,IAAc,OAAU,CAAC,EAEhCC,EAAU",
|
|
6
6
|
"names": ["safeWindow", "version"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-QJGFIK7H.mjs";import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-QJGFIK7H.mjs";import{a as r}from"./chunk-ZONHCECO.mjs";var a=n=>(Object.values(r).forEach(o=>{if(o!==n?.skipLoginMethod)switch(o){case r.crossWindow:{let e=i.getInstance();e.isInitialized()&&e.onDestroy();break}default:break}}),null);export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-7ZUH3TQ2.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-X4KR5OSC.mjs";var i=e=>{let t=a();return{origin:e?.origin??t.origin,blockHashShard:e?.blockHashShard,expirySeconds:e?.expirySeconds??t.expirySeconds,apiAddress:e?.apiAddress??t.apiAddress,tokenExpirationToastWarningSeconds:e?.tokenExpirationToastWarningSeconds??t.tokenExpirationToastWarningSeconds,extraInfo:e?.extraInfo??{},gatewayUrl:e?.gatewayUrl,extraRequestHeaders:e?.extraRequestHeaders??{}}};export{i as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ATGWLKGR.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as u}from"./chunk-TQA3JDNV.mjs";import{s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as u}from"./chunk-TQA3JDNV.mjs";import{s}from"./chunk-X5C4JWTG.mjs";import{e as a}from"./chunk-UERJ6AKK.mjs";function x(n){let e=s(),o=u(e),c=a(e),t=Object.keys(o).map(Number).reduce((r,m)=>{let i=o[m]?.transactions||[];return Math.max(r,...i.map(l=>l.nonce),0)},0);return t>0&&(t+=1),n==null?Math.max(t,c):Math.max(t,n.nonce,c)}export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BODBU56I.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-4TBVQD27.mjs";import{q as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-4TBVQD27.mjs";import{q as n}from"./chunk-X5C4JWTG.mjs";var c=t=>n().setState(({config:e})=>{e.nativeAuthConfig=t},!1,"setNativeAuthConfig"),C=t=>n().setState(({config:e})=>{e.websocketStatus=t},!1,"setWebsocketStatus"),f=t=>n().setState(({config:e})=>{let a=t.walletConnectV2RelayAddress||o.walletConnectV2RelayAddress,s=t.walletConnectDeepLink||o.walletConnectDeepLink;e.walletConnectConfig={...t,walletConnectDeepLink:s,walletConnectV2RelayAddress:a}},!1,"setWalletConnectConfig");export{c as a,C as b,f as c};
|
|
2
|
+
//# sourceMappingURL=chunk-BPIUSUQG.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as o,f as a,g as i,h as r}from"./chunk-TQA3JDNV.mjs";import{s as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{e as o,f as a,g as i,h as r}from"./chunk-TQA3JDNV.mjs";import{s as c}from"./chunk-X5C4JWTG.mjs";function b(){let t=c(),l=r(t),u=i(t),T=a(t),d=o(t),e=Object.keys(d)?.length>0,n=!e&&Object.keys(l)?.length>0,s=!e&&!n&&Object.keys(u)?.length>0,f=!e&&!n&&!s&&Object.keys(T).length>0;return{pending:e,timedOut:n,fail:s,success:f}}export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-CRQHYOGT.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-KDWLSBQB.mjs";import{b as e,c as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-KDWLSBQB.mjs";import{b as e,c as i}from"./chunk-VV7CPNPW.mjs";import{j as r}from"./chunk-65L5EBBL.mjs";import{q as n}from"./chunk-X5C4JWTG.mjs";async function E({results:u,hash:c,sessionId:s}){let a=u?.find(t=>t?.returnMessage!=="");i({sessionId:s,transaction:{...a,hash:c,status:"fail",inTransit:!1}});let{transactions:m}=n().getState();m[s].transactions.some(t=>r(t.status))||(e({sessionId:s,status:"fail",errorMessage:a?.returnMessage}),await o({sessionId:s,status:"fail"}))}export{E as a};
|
|
2
|
+
//# sourceMappingURL=chunk-CYWT37FT.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as t}from"./chunk-R2VTYQ7O.mjs";import{c as n}from"./chunk-X5C4JWTG.mjs";async function c({loginToken:r,extraInfoData:i,address:e}){let o=await t({originalLoginToken:r,extraInfoData:i,address:e});return o.modifiedLoginToken&&n(o.modifiedLoginToken),o.address}export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DBQCAF6H.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-55W25Q35.mjs";import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-55W25Q35.mjs";import{a as r}from"./chunk-3XKIU7VA.mjs";import e from"lodash.isempty";var p=async({transactionsSessions:t,address:i,explorerAddress:a,egldLabel:o})=>{if(e(t))return[];let n=s(t);return r({transactions:n,address:i,explorerAddress:a,egldLabel:o})};export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-EFZBU2L3.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-2QW7XAGS.mjs";var t={closeConnectionRef:void 0};async function c(n){let{closeConnection:o}=await e(n);t.closeConnectionRef=o}export{t as a,c as b};
|
|
2
|
+
//# sourceMappingURL=chunk-EHMHIAOC.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-72BJ253L.mjs";var i=async a=>{let r=a.map(s=>s.hash),n=await e(r);return a.map(s=>{let t=n.find(o=>o?.txHash===s.hash);return{...s,status:t?.status,invalidTransaction:t==null,results:t?.results??[],previousStatus:s.status?.toString()||"",hasStatusChanged:!!(t&&t.status!==s.status)}})};export{i as a};
|
|
2
|
+
//# sourceMappingURL=chunk-EHSW5LVN.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as w}from"./chunk-YK7T6MBD.mjs";import{a as l}from"./chunk-KMJMQEXI.mjs";import{q as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as w}from"./chunk-YK7T6MBD.mjs";import{a as l}from"./chunk-KMJMQEXI.mjs";import{q as u}from"./chunk-X5C4JWTG.mjs";import{a as c}from"./chunk-SQVKVA7X.mjs";import{a as i}from"./chunk-ULUZWP2P.mjs";var e=o=>u().setState(({network:r})=>{r.network={...r.network,...o}},!1,"initializeNetworkConfig");var y=async({customNetworkConfig:o={},environment:r})=>{let d=!o?.skipFetchFromServer,g=o?.apiAddress,n=r&&r in i,p=n?i[r]:{},s={...c,...p,...o},t={...s,apiTimeout:String(s.apiTimeout)},N=p?.apiAddress;if(!n&&d){let a=g||N,m=await w(a),f=t.roundDuration?null:await l(a);if(f!=null&&(t.roundDuration=f.erd_round_duration),m!=null){let k={...t,...m,...o};return e(k),k}}return e(t),t};export{y as a,e as b};
|
|
2
|
+
//# sourceMappingURL=chunk-FEZKCHK7.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as k}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as k}from"./chunk-TXRPUKQM.mjs";import{a as T}from"./chunk-XCVEFI4B.mjs";import{a as i}from"./chunk-W5MTQBQF.mjs";import{a as m}from"./chunk-UNBTFF6K.mjs";import{a as l}from"./chunk-U3UMCTU6.mjs";import{c as d}from"./chunk-PJWJZHIS.mjs";import{a as o}from"./chunk-7CELSV4S.mjs";var p=class{static async processTransactions({address:u,egldLabel:v,explorerAddress:g,transactions:L}){let f=L.map(e=>m({address:u,explorerAddress:g,transaction:e}));return await Promise.all(f.map(async e=>{let s=e.receiverAssets?.name.replace(/\p{Emoji}/gu,""),a=e.senderAssets?.name.replace(/\p{Emoji}/gu,""),{senderLockedAccount:h,receiverLockedAccount:D}=await k({receiver:e.receiver,sender:e.sender,tokenId:e.tokenIdentifier}),{egldValueData:t,tokenValueData:n,nftValueData:r}=T({transaction:e}),x=r?.token.type==="MetaESDT"?void 0:r?.badgeText,c=l.getData({input:t?.value??n?.value??r?.value??"",decimals:t?.decimals??n?.decimals??r?.decimals??d,digits:2}),y={badge:x??void 0,collection:n?.token.collection??r?.token.collection,egldLabel:t?v:"",link:n?.tokenExplorerLink??r?.tokenExplorerLink,linkText:n?.tokenLinkText??r?.tokenLinkText,name:n?.token.name??r?.token.name,showFormattedAmount:!!(t||n?.tokenFormattedAmount||r?.tokenFormattedAmount),svgUrl:n?.token.svgUrl??r?.token.svgUrl,ticker:n?.token.ticker??r?.token.ticker,titleText:n?.titleText??r?.titleText,valueDecimal:c.valueDecimal,valueInteger:c.valueInteger},w=i(e.receiverShard),A=i(e.senderShard);return{age:e.transactionDetails.age,direction:e.transactionDetails.direction,method:e.transactionDetails.method,iconInfo:e.transactionDetails.iconInfo,link:e.links.transactionLink??"",txHash:e.txHash,receiver:{address:e.receiver,name:s??"",description:`${s??e.receiver} (${e.receiver})`,isContract:o(e.receiver),isTokenLocked:!!D,link:e.links.receiverLink??"",shard:w,shardLink:e.links.receiverLink,showLink:e.transactionDetails.direction!=="In"},sender:{address:e.sender,name:a??"",description:`${a??e.sender} (${e.sender})`,isContract:o(e.sender),isTokenLocked:!!h,link:e.links.senderLink??"",shard:A,shardLink:e.links.senderShardLink,showLink:e.transactionDetails.direction!=="Out"},value:y}}))}};export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-FLJAPLZE.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Et}from"./chunk-OMZ6A4DO.mjs";import{a as gt}from"./chunk-CTITNRKA.mjs";import{a as It}from"./chunk-6UZHM5LW.mjs";import{a as k}from"./chunk-VNMU246H.mjs";import{a as xt}from"./chunk-ZHGONRBM.mjs";import{a as wt}from"./chunk-3JEK5A62.mjs";import{a as At}from"./chunk-QB4NUTLA.mjs";import{a as Lt}from"./chunk-O6RJHMIJ.mjs";import{a as y}from"./chunk-KDWLSBQB.mjs";import{a as Ct}from"./chunk-MFUQ5NBC.mjs";import{a as Rt}from"./chunk-4ODPAHHA.mjs";import{a as Ot}from"./chunk-PGGSHHQJ.mjs";import{b as F}from"./chunk-BKVZCTUG.mjs";import{a as kt}from"./chunk-7Z665D57.mjs";import{a as Pt}from"./chunk-MDVI45IV.mjs";import{a as Ft}from"./chunk-4G2T73DC.mjs";import{a as S}from"./chunk-IYVM5B26.mjs";import{a as ut}from"./chunk-O72VJVJC.mjs";import{a as yt}from"./chunk-JV4IJH7L.mjs";import{a as x}from"./chunk-IV4LWBR3.mjs";import{a as O,f as bt}from"./chunk-HEA7NFOF.mjs";import{b as f,c as q,d as vt}from"./chunk-C3Y3ANFE.mjs";import{k as ft,l as N,n as ht}from"./chunk-65L5EBBL.mjs";import{b as Nt}from"./chunk-TASSEE6N.mjs";import{a as P}from"./chunk-HORSXVIV.mjs";import{a as Mt}from"./chunk-SYWFZFFJ.mjs";import{a as ct}from"./chunk-SBOOJTIB.mjs";import{a as L}from"./chunk-QTKK6OSJ.mjs";import{a as rt}from"./chunk-6ACLOUQ3.mjs";import{a as A}from"./chunk-NZYB675D.mjs";import{a as at}from"./chunk-YSCND2MX.mjs";import{a as Dt}from"./chunk-NJN53MJV.mjs";import{a as lt,b as pt,g as Tt,l as dt}from"./chunk-2IUBMLF4.mjs";import{b as mt}from"./chunk-TQA3JDNV.mjs";import{a as nt,b as it,q as u,s as E}from"./chunk-4LTMFD6V.mjs";import{c as Q,d as X,f as tt}from"./chunk-UERJ6AKK.mjs";import{b as v}from"./chunk-VNLGNNIL.mjs";import{b}from"./chunk-6JM4DPOH.mjs";import{b as st,c as et,f as ot}from"./chunk-NTEMINYA.mjs";import{b as Bt}from"./chunk-UCRVRBTA.mjs";import{a as St}from"./chunk-OPX7XWAC.mjs";import{c as w}from"./chunk-IGTIIBN6.mjs";import{b as z}from"./chunk-GGBMHKR4.mjs";import{a as C}from"./chunk-LJX4MW7B.mjs";import Vt from"lodash.isequal";import J from"lodash.isequal";import V from"bignumber.js";var M=class o{constructor(){this.store=u();this.warningLogoutTimeoutRef=null;this.actualLogoutTimeoutRef=null;this.plannedLogoutTimeoutRef=null;this.plannedLogoutKey=null;this.init=async()=>{if(!this.shouldStart())return;let t=this.store.getState(),s=v(t),{isExpired:e}=L(s?.nativeAuthToken);e?I().logout():this.addPlannedLogout()};this.stop=()=>{clearTimeout(this.warningLogoutTimeoutRef??0),clearTimeout(this.plannedLogoutTimeoutRef??0),clearTimeout(this.actualLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=null,this.plannedLogoutTimeoutRef=null,this.actualLogoutTimeoutRef=null,this.plannedLogoutKey=null};this.shouldStart=()=>{let t=this.store.getState(),s=v(t),e=tt(t);return!!(s?.nativeAuthToken&&e)};this.addPlannedLogout=()=>{let t=I(),s=Q(this.store.getState()),e=t.getType()===C.webview;if(!s||e)return;this.addLogoutWarning();let n=v(this.store.getState()),{secondsUntilExpires:i,expiresAt:r}=L(n?.nativeAuthToken),c=new V(String(i)),a=`${s}_${r}`,m=this.plannedLogoutKey===a;if(!(i&&c.isGreaterThan(0))||m)return;this.plannedLogoutKey=a,clearTimeout(this.plannedLogoutTimeoutRef??0);let T=c.times(1e3);this.actualLogoutTimeoutRef=setTimeout(()=>{d.getInstance().createCustomToast({toastId:"native-auth-logout",iconClassName:"warning",title:"Logging out",icon:"times",message:"Your session has expired!"}),this.actualLogoutTimeoutRef=null},T.toNumber()-3e3),this.plannedLogoutTimeoutRef=setTimeout(()=>{t.logout(),this.plannedLogoutTimeoutRef=null,this.plannedLogoutKey=null},T.toNumber())};this.addLogoutWarning=()=>{if(this.warningLogoutTimeoutRef)return;let t=b(this.store.getState()),s=v(this.store.getState()),{secondsUntilExpires:e}=L(s?.nativeAuthToken),n=new V(String(e)),i=n.times(1e3);if(!e||n.isLessThanOrEqualTo(0)||!t?.tokenExpirationToastWarningSeconds)return;let c=new V(t?.tokenExpirationToastWarningSeconds??0).times(1e3),a=n.times(1e3).minus(c),m=It(i.toNumber()),l=a.isLessThanOrEqualTo(0)?0:a.toNumber();clearTimeout(this.warningLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=setTimeout(()=>{d.getInstance().createCustomToast({toastId:"native-auth-expired",iconClassName:"warning",title:"Session Expiration Warning",icon:"hourglass",message:`Your session will expire in ${m}!`}),this.warningLogoutTimeoutRef=null},l)}}static getInstance(){return o.instance||(o.instance=new o),o.instance}};var R={};async function Zt({serverTransaction:o,sessionId:t,isSequential:s}){let{hash:e,status:n,results:i,invalidTransaction:r,hasStatusChanged:c}=o;try{if(R[e]>30){f({sessionId:t,status:"timedOut"}),await y({sessionId:t,status:"timedOut"});return}if(r&&!s||n==="sent"){R[e]=R[e]?R[e]+1:1;return}if(s&&!n){let m=q({sessionId:t,transaction:o});await y({sessionId:t,status:m});return}if(c){let m=q({sessionId:t,transaction:o});await y({sessionId:t,status:m})}N(n)&&await Lt({sessionId:t,hash:e,results:i})}catch(a){console.error(a),f({sessionId:t,status:"timedOut"}),await y({sessionId:t,status:"timedOut"})}}async function Ut({sessionId:o,transactionBatch:t,isSequential:s}){try{if(t==null)return;let e=wt(),n=Ct(t),i=await Et(n);for(let p of i)await Zt({serverTransaction:p,sessionId:o,isSequential:s});if(!i.every(p=>p.status!=="pending"))return;e&&await B();let{transactions:c}=u().getState(),a=c[o];if(a.transactions.every(p=>p.status==="success"))return f({sessionId:o,status:"success"});if(a.transactions.some(p=>p.status==="fail"))return f({sessionId:o,status:"fail"});if(a.transactions.every(p=>p.status==="not executed"))return f({sessionId:o,status:"invalid"})}catch(e){console.error(e)}}async function _t(){let o=mt(E());if(Object.keys(o).length>0)for(let[t,{transactions:s}]of Object.entries(o))await Ut({sessionId:t,transactionBatch:s})}async function D(){let o=u(),t=At(),s=null,e=null,n=X(o.getState())?.timestamp,i=()=>{_t()},r=()=>{s??=setInterval(i,t)},c=()=>{s&&(clearInterval(s),s=null)},a=()=>{c();let p=o.subscribe(({account:{websocketEvent:g}})=>{g?.message&&n!==g.timestamp&&(n=g.timestamp,i())});w.set("websocketEventReceived",p)},m=()=>{z.status!=="not_initialized"||e||(e=setInterval(()=>{z.status==="completed"&&(clearInterval(e),e=null,a())},1e3))};i();let l=()=>{c(),e&&(clearInterval(e),e=null)},T=o.subscribe(({account:{address:p},config:{websocketStatus:g}},jt)=>{if(jt.config.websocketStatus!==g)switch(g){case"completed":a();break;case"pending":r(),m();break;default:p?r():l();break}});return w.set("websocketStatusChanged",T),w.set("websocketEventReceived",l),{stopTransactionsTracking:l}}async function j({address:o,provider:t,apiAddress:s}){let e=await A({address:o,baseURL:s});if(!e)throw new Error("Account not found");Nt({address:o,providerType:t.getType()});let n={...e,username:P(e.username),nonce:x(e)};O(n),await F(o),D(),e.shard!=null&&await xt({shard:Number(e.shard),apiAddress:s})}async function Jt(o){let{network:{apiAddress:t}}=S();await o.login();let s=await o.getAddress();if(!s)throw new Error("Address not found");return await j({address:s,provider:o,apiAddress:t}),{address:s}}async function Qt({provider:o,nativeAuthConfig:t,token:s}){let{network:{apiAddress:e}}=S(),n=ct(t),i=s;i||(i=await n.initialize({noCache:!0}));let{address:r,signature:c,...a}=await o.login({token:i});if(!r)return console.warn("Login cancelled."),null;if(!c)return console.error("Failed to sign login token"),null;let l=rt(a?.accessToken)?a.accessToken:n.getToken({address:r,token:i,signature:c});it({loginToken:i,signature:c,nativeAuthToken:l});let T=await kt({loginToken:i,extraInfoData:{multisig:a?.multisig,impersonate:a?.impersonate},address:r});return await j({address:T,provider:o,apiAddress:e}),{address:T,signature:c}}async function Wt(o,t){let s=b(E());if(s)return await Qt({provider:o,nativeAuthConfig:s,token:t?.token});let{address:e}=await Jt(o);return await F(e),D(),{address:e,signature:""}}var Y={error:{title:"Error when signing".toString(),iconClassName:"danger",toastId:`${pt}-${Date.now()}`},warning:{title:"Signing canceled".toString(),iconClassName:"warning",toastId:`${lt}-${Date.now()}`}},Xt={extensionResponse:"Unable to sign transactions","Transaction canceled":"Transaction canceled","cancelled by user":"Transaction signing cancelled by user","denied by the user":"Transaction signing denied by the user"},ts=o=>{for(let[t,s]of Object.entries(Xt))if(o.includes(t))return s;return"Error when signing"};function Z(o,t="error"){let s=o?.message,e=ts(s),i=e!=="Error when signing"?"warning":t,r=Object.keys(Y).includes(i)?Y[i]:Y.error,{toastId:c,iconClassName:a,title:m}=r;return U({toastId:c,duration:1e4,icon:"times",iconClassName:a,message:e,title:m}),e}async function Ht({provider:o,transactions:t,options:s={}}){await B();let{isGuarded:e,activeGuardianAddress:n,nonce:i}=Mt(),r=o.getType()===C.ledger,c=Rt({latestNonce:i,transactions:t}),a=n&&e&&!s.skipGuardian?c?.map(l=>(l.version=st.withTxOptions().valueOf(),l.options=ot.withOptions({guarded:!0,...r?{hashSign:!0}:{}}).valueOf(),l.guardian=et.newFromBech32(n),l)):c,m=await o.signTransactions(a)??[];return bt(i+m.length),m}var _=class{constructor(t){this._isLoggingOut=!1;this.provider=t}init(){return this.provider.init()}async login(t){let s=await Wt(this.provider,t);return nt(this.provider.getType()),Gt(this),M.getInstance().init(),s}isInitialized(){return this.provider.isInitialized()}async logout(t={shouldBroadcastLogoutAcrossTabs:!0}){if(this._isLoggingOut)return console.warn("Logout already in progress"),!1;this._isLoggingOut=!0;let s=await Ot({provider:this.provider,options:t});return this._isLoggingOut=!1,s}getType(){return this.provider.getType()}getProvider(){return this.provider}async signTransactions(t,s){try{return await Ht({provider:this.provider,transactions:t,options:s})}catch(e){let n=Z(e);throw new Error(n)}}async signMessage(t,s){try{return await Ft({provider:this.provider,message:t,options:s})}catch(e){let n=Z(e,"warning");throw new Error(n)}}async verifyMessage(t){return await Pt(t)}cancelLogin(){this.provider.cancelLogin?.()}};var $t=null;function Gt(o){$t=o}function I(){return $t||new _(Bt)}var ss=async()=>{try{let o=ut(),{network:t}=S();try{let s=await A({address:o,baseURL:t.apiAddress});if(s!=null){let e={...s,username:P(s.username),nonce:x(s)};return O(e),e}}catch(s){console.error("Failed getting account ",s)}}catch(o){console.error("Failed getting address ",o)}return null};async function B(){let o=I();if(o==null)throw"Provider not initialized";try{if(!o.init)throw"Current provider does not have init() function";return await o.init()?await ss():void 0}catch(t){console.error("Failed initializing provider ",t)}}var W={},h={},es=(o,t)=>{u().setState(({toasts:s})=>{let e=s.customToasts.length>0?Math.max(...s.customToasts.map(a=>parseInt(a.toastId.split("-").pop()??"0"))):0,n=t??`custom-toast-${e+1}`,i=s.customToasts.findIndex(a=>a.toastId===n),r={...o,toastId:n};if(i!==-1){s.customToasts[i]=r;return}s.customToasts.push({...r,toastId:n})},!1,"addCustomToast")},H=o=>{u().setState(({toasts:t})=>{t.customToasts=t.customToasts.filter(s=>s.toastId!==o)},!1,"removeCustomToast")},Kt=()=>{u().setState(({toasts:o})=>{o.customToasts=[]},!1,"removeAllCustomToasts")},No=()=>{u().setState(({toasts:o})=>{o.transactionToasts=[]})},zt=({toastId:o,totalDuration:t})=>{let s="";return u().setState(({toasts:e})=>{let n=e.transactionToasts.length>0?Math.max(...e.transactionToasts.map(i=>parseInt(i.toastId.split("-").pop()??"0"))):0;s=o??`transaction-toast-${n+1}`,e.transactionToasts.push({startTime:at(),endTime:Dt(t),toastId:s})},!1,"addTransactionToast"),s},G=o=>{u().setState(({toasts:t})=>{t.transactionToasts=t.transactionToasts.filter(s=>s.toastId!==o)},!1,"removeTransactionToast"),delete h[o],delete W[o]},U=o=>{let{toasts:t}=u().getState(),s=t.customToasts.length>0?Math.max(...t.customToasts.map(n=>parseInt(n.toastId.split("-").pop()??"0"))):0,e=o.toastId||`custom-toast-${s+1}`;return o.onClose&&(h[e]=o.onClose),o.instantiateToastElement?(W[e]=o.instantiateToastElement,u().setState(({toasts:n})=>{let i=n.customToasts.findIndex(a=>a.toastId===e),r={...o,instantiateToastElement:null,toastId:e};i!==-1?n.customToasts[i]=r:n.customToasts.push(r)},!1,"createCustomToast"),e):(es(o,e),e)};var qt=1e4,$=class{constructor(){this.timeoutIntervals=new Map;this.successfulToastLifetime=qt;this.start=t=>{if(this.stop(t),this.successfulToastLifetime<=0)return;let s=setTimeout(()=>{G(t)},this.successfulToastLifetime);this.timeoutIntervals.set(t,s)};this.startWithCustomDuration=(t,s)=>{if(this.stop(t),s<=0)return;let e=setTimeout(()=>{H(t);let n=h[t];n?.()},s);this.timeoutIntervals.set(t,e)};this.stop=t=>{let s=this.timeoutIntervals.get(t);s&&(clearTimeout(s),this.timeoutIntervals.delete(t))}}init({successfulToastLifetime:t}){this.successfulToastLifetime=t||qt}destroy(){this.timeoutIntervals.forEach(t=>clearTimeout(t)),this.timeoutIntervals.clear()}};var d=class o{constructor(){this.isCreatingElement=!1;this.toastsElement=null;this.transactionToasts=[];this.customToasts=[];this.storeToastsSubscription=()=>null;this.eventBusUnsubscribeFunctions=[];this.eventBus=null;this.store=u();this.destroy(),this.lifetimeManager=new $,this.notificationsFeedManager=K.getInstance()}async init({successfulToastLifetime:t=5e3}={}){this.successfulToastLifetime=t,this.lifetimeManager.init({successfulToastLifetime:t}),await this.updateTransactionToastsList(),await this.updateCustomToastList(),await this.subscribeToEventBusNotifications(),this.storeToastsSubscription=this.store.subscribe(async({toasts:s,transactions:e},{toasts:n,transactions:i})=>{let r=!J(n.transactionToasts,s.transactionToasts),c=!J(i,e);(r||c)&&await this.updateTransactionToastsList({skipFetchingTransactions:c}),!J(n.customToasts,s.customToasts)&&await this.updateCustomToastList()})}static getInstance(){return o.instance||(o.instance=new o),o.instance}handleCompletedTransaction(t){let{transactions:s}=this.store.getState(),e=s[t];if(!e)return!1;let{status:n}=e,i=ht(n),r=N(n),c=ft(n),a=r||c||i;return a?(this.successfulToastLifetime&&this.lifetimeManager.start(t),a):(this.lifetimeManager.stop(t),a)}async createTransactionToast(t,s){let e=zt({toastId:t,totalDuration:s});return this.handleCompletedTransaction(t),await this.updateTransactionToastsList(),e}createCustomToast(t){let s=U(t);return this.updateCustomToastList(),s}async updateTransactionToastsList(t){let{toasts:s,transactions:e,account:n}=this.store.getState(),{pendingTransactionToasts:i,completedTransactionToasts:r}=await k({toastList:s,transactionsSessions:e,account:n,skipFetchingTransactions:t?.skipFetchingTransactions});this.transactionToasts=[...i,...r];for(let c of s.transactionToasts)this.handleCompletedTransaction(c.toastId);await this.publishTransactionToasts()}async updateCustomToastList(){let{toasts:t}=this.store.getState();this.customToasts=[];for(let s of t.customToasts){let n="message"in s?{...s}:{...s,instantiateToastElement:W[s.toastId]};this.customToasts.push(n),s.duration&&this.lifetimeManager.startWithCustomDuration(s.toastId,s.duration)}this.eventBus?.publish("CUSTOM_TOAST_DATA_UPDATE",this.customToasts)}async createToastListElement(){return this.toastsElement?this.toastsElement:(this.isCreatingElement||(this.isCreatingElement=!0,this.toastsElement=await St.create({name:"mvx-toast-list"}),this.isCreatingElement=!1),this.toastsElement)}handleTransactionToastClose(t){this.handleCompletedTransaction(t)&&G(t)}async subscribeToEventBusNotifications(){let t=await this.createToastListElement();if(t){if(this.eventBus=await t.getEventBus(),!this.eventBus)throw new Error("eventBus is not initialized");this.eventBus.subscribe("CLOSE_TOAST",this.closeToast.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("CLOSE_TOAST",this.closeToast.bind(this))}),this.eventBus.subscribe("OPEN_NOTIFICATIONS_FEED",this.handleOpenNotificationsFeed.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("OPEN_NOTIFICATIONS_FEED",this.handleOpenNotificationsFeed.bind(this))})}}async showToasts(){this.eventBus?.publish("SHOW_TOAST_LIST",null),await this.updateCustomToastList(),await this.updateTransactionToastsList()}hideToasts(){this.eventBus?.publish("HIDE_TOAST_LIST",null)}async handleOpenNotificationsFeed(){this.notificationsFeedManager.openNotificationsFeed()}closeToast(t){if(this.customToasts.find(e=>e.toastId===t)){this.lifetimeManager.stop(t);let e=h[t];e?.(),H(t);return}this.handleTransactionToastClose(t)}async publishTransactionToasts(){if(this.notificationsFeedManager.isNotificationsFeedOpen()&&this.eventBus){this.eventBus.publish("TRANSACTION_TOAST_DATA_UPDATE",this.transactionToasts),this.hideToasts();return}if(!this.eventBus){let t=await this.createToastListElement();if(!t)return;this.eventBus=await t.getEventBus()}this.eventBus.publish("TRANSACTION_TOAST_DATA_UPDATE",this.transactionToasts)}destroy(){this.storeToastsSubscription(),this.lifetimeManager?.destroy(),this.notificationsFeedManager?.destroy(),Kt(),this.eventBusUnsubscribeFunctions.forEach(t=>t()),this.eventBusUnsubscribeFunctions=[]}};var ns="NOTIFICATIONS_FEED_STORE_SUBSCRIBE",K=class o extends yt{constructor(){super({uiDataUpdateEvent:"OPEN_NOTIFICATIONS_FEED",uiTag:"mvx-notifications-feed"});this.store=u();this.initialData={pendingTransactions:[],historicTransactions:[]};this.data={...this.initialData}}static getInstance(){return o.instance||(o.instance=new o),o.instance}isNotificationsFeedOpen(){return this.isOpen}async openNotificationsFeed(){d.getInstance().hideToasts(),await this.openUI(),await this.updateDataAndNotifications();let e=this.store.subscribe(async({toasts:n,transactions:i},{toasts:r,transactions:c})=>{(!Vt(r.transactionToasts,n.transactionToasts)||!Vt(c,i))&&await this.updateDataAndNotifications()});this.unsubscribeFunctions.set(ns,[e]),this.eventBus?.publish("OPEN_NOTIFICATIONS_FEED"),await this.updateDataAndNotifications()}async handleCloseUI(){let s=d.getInstance();this.closeUI(),await s.showToasts()}async setupEventListeners(){this.eventBus&&(this.subscribeToEventBus("CLOSE_NOTIFICATIONS_FEED",this.handleCloseUI.bind(this)),this.subscribeToEventBus("CLEAR_NOTIFICATIONS_FEED_HISTORY",this.handleClearNotificationsFeedHistory.bind(this)))}async updateDataAndNotifications(){let{transactions:s,account:e,toasts:n,network:i}=this.store.getState(),{pendingTransactionToasts:r}=await k({toastList:n,transactionsSessions:s,account:e});this.data.pendingTransactions=r,this.data.historicTransactions=await gt.getTransactionsHistory({transactionsSessions:s,address:e.address,explorerAddress:i.network.explorerAddress,egldLabel:i.network.egldLabel}),await this.updateNotificationsFeed()}handleClearNotificationsFeedHistory(){vt(),this.resetData(),this.updateNotificationsFeed()}async updateNotificationsFeed(){this.eventBus&&(this.eventBus.publish("PENDING_TRANSACTIONS_UPDATE",this.data.pendingTransactions),this.eventBus.publish("TRANSACTIONS_HISTORY_UPDATE",this.data.historicTransactions))}};export{K as a,W as b,h as c,es as d,H as e,Kt as f,No as g,zt as h,G as i,U as j,$ as k,d as l,M as m,Ut as n,_t as o,D as p,j as q,Wt as r,Z as s,Ht as t,_ as u,Gt as v,I as w,B as x};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as Et}from"./chunk-EHSW5LVN.mjs";import{a as gt}from"./chunk-FKTD2GRY.mjs";import{a as It}from"./chunk-6UZHM5LW.mjs";import{a as k}from"./chunk-VR7K4BBB.mjs";import{a as xt}from"./chunk-KMNG6RHN.mjs";import{a as wt}from"./chunk-G6PZFECX.mjs";import{a as At}from"./chunk-5JDTRILF.mjs";import{a as Lt}from"./chunk-CYWT37FT.mjs";import{a as y}from"./chunk-KDWLSBQB.mjs";import{a as Ct}from"./chunk-MFUQ5NBC.mjs";import{a as Rt}from"./chunk-4ODPAHHA.mjs";import{a as Ot}from"./chunk-JR7IKIR6.mjs";import{b as F}from"./chunk-EHMHIAOC.mjs";import{a as kt}from"./chunk-DBQCAF6H.mjs";import{a as Pt}from"./chunk-MDVI45IV.mjs";import{a as Ft}from"./chunk-MT47AO63.mjs";import{a as S}from"./chunk-MMG52PCY.mjs";import{a as ut}from"./chunk-SOQYOVR7.mjs";import{a as yt}from"./chunk-QIN2VFBM.mjs";import{a as x}from"./chunk-BODBU56I.mjs";import{a as O,f as bt}from"./chunk-756GEXZI.mjs";import{b as f,c as q,d as vt}from"./chunk-VV7CPNPW.mjs";import{k as ft,l as N,n as ht}from"./chunk-65L5EBBL.mjs";import{b as Nt}from"./chunk-26EQVDJ2.mjs";import{a as P}from"./chunk-HORSXVIV.mjs";import{a as Mt}from"./chunk-SMON5ZO5.mjs";import{a as ct}from"./chunk-5HBNM4M2.mjs";import{a as L}from"./chunk-QTKK6OSJ.mjs";import{a as rt}from"./chunk-6ACLOUQ3.mjs";import{a as A}from"./chunk-NZYB675D.mjs";import{a as at}from"./chunk-YSCND2MX.mjs";import{a as Dt}from"./chunk-NJN53MJV.mjs";import{a as lt,b as pt,g as Tt,l as dt}from"./chunk-2IUBMLF4.mjs";import{b as mt}from"./chunk-TQA3JDNV.mjs";import{a as nt,b as it,q as u,s as E}from"./chunk-X5C4JWTG.mjs";import{c as Q,d as X,f as tt}from"./chunk-UERJ6AKK.mjs";import{b as v}from"./chunk-VNLGNNIL.mjs";import{b}from"./chunk-6JM4DPOH.mjs";import{b as st,c as et,f as ot}from"./chunk-NTEMINYA.mjs";import{b as Bt}from"./chunk-S6NHNEQK.mjs";import{a as St}from"./chunk-Y5UBM4II.mjs";import{c as w}from"./chunk-LNYGKGJE.mjs";import{b as z}from"./chunk-GGBMHKR4.mjs";import{a as C}from"./chunk-ZONHCECO.mjs";import Vt from"lodash.isequal";import J from"lodash.isequal";import V from"bignumber.js";var M=class o{constructor(){this.store=u();this.warningLogoutTimeoutRef=null;this.actualLogoutTimeoutRef=null;this.plannedLogoutTimeoutRef=null;this.plannedLogoutKey=null;this.init=async()=>{if(!this.shouldStart())return;let t=this.store.getState(),s=v(t),{isExpired:e}=L(s?.nativeAuthToken);e?I().logout():this.addPlannedLogout()};this.stop=()=>{clearTimeout(this.warningLogoutTimeoutRef??0),clearTimeout(this.plannedLogoutTimeoutRef??0),clearTimeout(this.actualLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=null,this.plannedLogoutTimeoutRef=null,this.actualLogoutTimeoutRef=null,this.plannedLogoutKey=null};this.shouldStart=()=>{let t=this.store.getState(),s=v(t),e=tt(t);return!!(s?.nativeAuthToken&&e)};this.addPlannedLogout=()=>{let t=I(),s=Q(this.store.getState()),e=t.getType()===C.webview;if(!s||e)return;this.addLogoutWarning();let n=v(this.store.getState()),{secondsUntilExpires:i,expiresAt:r}=L(n?.nativeAuthToken),c=new V(String(i)),a=`${s}_${r}`,m=this.plannedLogoutKey===a;if(!(i&&c.isGreaterThan(0))||m)return;this.plannedLogoutKey=a,clearTimeout(this.plannedLogoutTimeoutRef??0);let T=c.times(1e3);this.actualLogoutTimeoutRef=setTimeout(()=>{d.getInstance().createCustomToast({toastId:"native-auth-logout",iconClassName:"warning",title:"Logging out",icon:"times",message:"Your session has expired!"}),this.actualLogoutTimeoutRef=null},T.toNumber()-3e3),this.plannedLogoutTimeoutRef=setTimeout(()=>{t.logout(),this.plannedLogoutTimeoutRef=null,this.plannedLogoutKey=null},T.toNumber())};this.addLogoutWarning=()=>{if(this.warningLogoutTimeoutRef)return;let t=b(this.store.getState()),s=v(this.store.getState()),{secondsUntilExpires:e}=L(s?.nativeAuthToken),n=new V(String(e)),i=n.times(1e3);if(!e||n.isLessThanOrEqualTo(0)||!t?.tokenExpirationToastWarningSeconds)return;let c=new V(t?.tokenExpirationToastWarningSeconds??0).times(1e3),a=n.times(1e3).minus(c),m=It(i.toNumber()),l=a.isLessThanOrEqualTo(0)?0:a.toNumber();clearTimeout(this.warningLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=setTimeout(()=>{d.getInstance().createCustomToast({toastId:"native-auth-expired",iconClassName:"warning",title:"Session Expiration Warning",icon:"hourglass",message:`Your session will expire in ${m}!`}),this.warningLogoutTimeoutRef=null},l)}}static getInstance(){return o.instance||(o.instance=new o),o.instance}};var R={};async function Zt({serverTransaction:o,sessionId:t,isSequential:s}){let{hash:e,status:n,results:i,invalidTransaction:r,hasStatusChanged:c}=o;try{if(R[e]>30){f({sessionId:t,status:"timedOut"}),await y({sessionId:t,status:"timedOut"});return}if(r&&!s||n==="sent"){R[e]=R[e]?R[e]+1:1;return}if(s&&!n){let m=q({sessionId:t,transaction:o});await y({sessionId:t,status:m});return}if(c){let m=q({sessionId:t,transaction:o});await y({sessionId:t,status:m})}N(n)&&await Lt({sessionId:t,hash:e,results:i})}catch(a){console.error(a),f({sessionId:t,status:"timedOut"}),await y({sessionId:t,status:"timedOut"})}}async function Ut({sessionId:o,transactionBatch:t,isSequential:s}){try{if(t==null)return;let e=wt(),n=Ct(t),i=await Et(n);for(let p of i)await Zt({serverTransaction:p,sessionId:o,isSequential:s});if(!i.every(p=>p.status!=="pending"))return;e&&await B();let{transactions:c}=u().getState(),a=c[o];if(a.transactions.every(p=>p.status==="success"))return f({sessionId:o,status:"success"});if(a.transactions.some(p=>p.status==="fail"))return f({sessionId:o,status:"fail"});if(a.transactions.every(p=>p.status==="not executed"))return f({sessionId:o,status:"invalid"})}catch(e){console.error(e)}}async function _t(){let o=mt(E());if(Object.keys(o).length>0)for(let[t,{transactions:s}]of Object.entries(o))await Ut({sessionId:t,transactionBatch:s})}async function D(){let o=u(),t=At(),s=null,e=null,n=X(o.getState())?.timestamp,i=()=>{_t()},r=()=>{s??=setInterval(i,t)},c=()=>{s&&(clearInterval(s),s=null)},a=()=>{c();let p=o.subscribe(({account:{websocketEvent:g}})=>{g?.message&&n!==g.timestamp&&(n=g.timestamp,i())});w.set("websocketEventReceived",p)},m=()=>{z.status!=="not_initialized"||e||(e=setInterval(()=>{z.status==="completed"&&(clearInterval(e),e=null,a())},1e3))};i();let l=()=>{c(),e&&(clearInterval(e),e=null)},T=o.subscribe(({account:{address:p},config:{websocketStatus:g}},jt)=>{if(jt.config.websocketStatus!==g)switch(g){case"completed":a();break;case"pending":r(),m();break;default:p?r():l();break}});return w.set("websocketStatusChanged",T),w.set("websocketEventReceived",l),{stopTransactionsTracking:l}}async function j({address:o,provider:t,apiAddress:s}){let e=await A({address:o,baseURL:s});if(!e)throw new Error("Account not found");Nt({address:o,providerType:t.getType()});let n={...e,username:P(e.username),nonce:x(e)};O(n),await F(o),D(),e.shard!=null&&await xt({shard:Number(e.shard),apiAddress:s})}async function Jt(o){let{network:{apiAddress:t}}=S();await o.login();let s=await o.getAddress();if(!s)throw new Error("Address not found");return await j({address:s,provider:o,apiAddress:t}),{address:s}}async function Qt({provider:o,nativeAuthConfig:t,token:s}){let{network:{apiAddress:e}}=S(),n=ct(t),i=s;i||(i=await n.initialize({noCache:!0}));let{address:r,signature:c,...a}=await o.login({token:i});if(!r)return console.warn("Login cancelled."),null;if(!c)return console.error("Failed to sign login token"),null;let l=rt(a?.accessToken)?a.accessToken:n.getToken({address:r,token:i,signature:c});it({loginToken:i,signature:c,nativeAuthToken:l});let T=await kt({loginToken:i,extraInfoData:{multisig:a?.multisig,impersonate:a?.impersonate},address:r});return await j({address:T,provider:o,apiAddress:e}),{address:T,signature:c}}async function Wt(o,t){let s=b(E());if(s)return await Qt({provider:o,nativeAuthConfig:s,token:t?.token});let{address:e}=await Jt(o);return await F(e),D(),{address:e,signature:""}}var Y={error:{title:"Error when signing".toString(),iconClassName:"danger",toastId:`${pt}-${Date.now()}`},warning:{title:"Signing canceled".toString(),iconClassName:"warning",toastId:`${lt}-${Date.now()}`}},Xt={extensionResponse:"Unable to sign transactions","Transaction canceled":"Transaction canceled","cancelled by user":"Transaction signing cancelled by user","denied by the user":"Transaction signing denied by the user"},ts=o=>{for(let[t,s]of Object.entries(Xt))if(o.includes(t))return s;return"Error when signing"};function Z(o,t="error"){let s=o?.message,e=ts(s),i=e!=="Error when signing"?"warning":t,r=Object.keys(Y).includes(i)?Y[i]:Y.error,{toastId:c,iconClassName:a,title:m}=r;return U({toastId:c,duration:1e4,icon:"times",iconClassName:a,message:e,title:m}),e}async function Ht({provider:o,transactions:t,options:s={}}){await B();let{isGuarded:e,activeGuardianAddress:n,nonce:i}=Mt(),r=o.getType()===C.ledger,c=Rt({latestNonce:i,transactions:t}),a=n&&e&&!s.skipGuardian?c?.map(l=>(l.version=st.withTxOptions().valueOf(),l.options=ot.withOptions({guarded:!0,...r?{hashSign:!0}:{}}).valueOf(),l.guardian=et.newFromBech32(n),l)):c,m=await o.signTransactions(a)??[];return bt(i+m.length),m}var _=class{constructor(t){this._isLoggingOut=!1;this.provider=t}init(){return this.provider.init()}async login(t){let s=await Wt(this.provider,t);return nt(this.provider.getType()),Gt(this),M.getInstance().init(),s}isInitialized(){return this.provider.isInitialized()}async logout(t={shouldBroadcastLogoutAcrossTabs:!0}){if(this._isLoggingOut)return console.warn("Logout already in progress"),!1;this._isLoggingOut=!0;let s=await Ot({provider:this.provider,options:t});return this._isLoggingOut=!1,s}getType(){return this.provider.getType()}getProvider(){return this.provider}async signTransactions(t,s){try{return await Ht({provider:this.provider,transactions:t,options:s})}catch(e){let n=Z(e);throw new Error(n)}}async signMessage(t,s){try{return await Ft({provider:this.provider,message:t,options:s})}catch(e){let n=Z(e,"warning");throw new Error(n)}}async verifyMessage(t){return await Pt(t)}cancelLogin(){this.provider.cancelLogin?.()}};var $t=null;function Gt(o){$t=o}function I(){return $t||new _(Bt)}var ss=async()=>{try{let o=ut(),{network:t}=S();try{let s=await A({address:o,baseURL:t.apiAddress});if(s!=null){let e={...s,username:P(s.username),nonce:x(s)};return O(e),e}}catch(s){console.error("Failed getting account ",s)}}catch(o){console.error("Failed getting address ",o)}return null};async function B(){let o=I();if(o==null)throw"Provider not initialized";try{if(!o.init)throw"Current provider does not have init() function";return await o.init()?await ss():void 0}catch(t){console.error("Failed initializing provider ",t)}}var W={},h={},es=(o,t)=>{u().setState(({toasts:s})=>{let e=s.customToasts.length>0?Math.max(...s.customToasts.map(a=>parseInt(a.toastId.split("-").pop()??"0"))):0,n=t??`custom-toast-${e+1}`,i=s.customToasts.findIndex(a=>a.toastId===n),r={...o,toastId:n};if(i!==-1){s.customToasts[i]=r;return}s.customToasts.push({...r,toastId:n})},!1,"addCustomToast")},H=o=>{u().setState(({toasts:t})=>{t.customToasts=t.customToasts.filter(s=>s.toastId!==o)},!1,"removeCustomToast")},Kt=()=>{u().setState(({toasts:o})=>{o.customToasts=[]},!1,"removeAllCustomToasts")},No=()=>{u().setState(({toasts:o})=>{o.transactionToasts=[]})},zt=({toastId:o,totalDuration:t})=>{let s="";return u().setState(({toasts:e})=>{let n=e.transactionToasts.length>0?Math.max(...e.transactionToasts.map(i=>parseInt(i.toastId.split("-").pop()??"0"))):0;s=o??`transaction-toast-${n+1}`,e.transactionToasts.push({startTime:at(),endTime:Dt(t),toastId:s})},!1,"addTransactionToast"),s},G=o=>{u().setState(({toasts:t})=>{t.transactionToasts=t.transactionToasts.filter(s=>s.toastId!==o)},!1,"removeTransactionToast"),delete h[o],delete W[o]},U=o=>{let{toasts:t}=u().getState(),s=t.customToasts.length>0?Math.max(...t.customToasts.map(n=>parseInt(n.toastId.split("-").pop()??"0"))):0,e=o.toastId||`custom-toast-${s+1}`;return o.onClose&&(h[e]=o.onClose),o.instantiateToastElement?(W[e]=o.instantiateToastElement,u().setState(({toasts:n})=>{let i=n.customToasts.findIndex(a=>a.toastId===e),r={...o,instantiateToastElement:null,toastId:e};i!==-1?n.customToasts[i]=r:n.customToasts.push(r)},!1,"createCustomToast"),e):(es(o,e),e)};var qt=1e4,$=class{constructor(){this.timeoutIntervals=new Map;this.successfulToastLifetime=qt;this.start=t=>{if(this.stop(t),this.successfulToastLifetime<=0)return;let s=setTimeout(()=>{G(t)},this.successfulToastLifetime);this.timeoutIntervals.set(t,s)};this.startWithCustomDuration=(t,s)=>{if(this.stop(t),s<=0)return;let e=setTimeout(()=>{H(t);let n=h[t];n?.()},s);this.timeoutIntervals.set(t,e)};this.stop=t=>{let s=this.timeoutIntervals.get(t);s&&(clearTimeout(s),this.timeoutIntervals.delete(t))}}init({successfulToastLifetime:t}){this.successfulToastLifetime=t||qt}destroy(){this.timeoutIntervals.forEach(t=>clearTimeout(t)),this.timeoutIntervals.clear()}};var d=class o{constructor(){this.isCreatingElement=!1;this.toastsElement=null;this.transactionToasts=[];this.customToasts=[];this.storeToastsSubscription=()=>null;this.eventBusUnsubscribeFunctions=[];this.eventBus=null;this.store=u();this.destroy(),this.lifetimeManager=new $,this.notificationsFeedManager=K.getInstance()}async init({successfulToastLifetime:t=5e3}={}){this.successfulToastLifetime=t,this.lifetimeManager.init({successfulToastLifetime:t}),await this.updateTransactionToastsList(),await this.updateCustomToastList(),await this.subscribeToEventBusNotifications(),this.storeToastsSubscription=this.store.subscribe(async({toasts:s,transactions:e},{toasts:n,transactions:i})=>{let r=!J(n.transactionToasts,s.transactionToasts),c=!J(i,e);(r||c)&&await this.updateTransactionToastsList({skipFetchingTransactions:c}),!J(n.customToasts,s.customToasts)&&await this.updateCustomToastList()})}static getInstance(){return o.instance||(o.instance=new o),o.instance}handleCompletedTransaction(t){let{transactions:s}=this.store.getState(),e=s[t];if(!e)return!1;let{status:n}=e,i=ht(n),r=N(n),c=ft(n),a=r||c||i;return a?(this.successfulToastLifetime&&this.lifetimeManager.start(t),a):(this.lifetimeManager.stop(t),a)}async createTransactionToast(t,s){let e=zt({toastId:t,totalDuration:s});return this.handleCompletedTransaction(t),await this.updateTransactionToastsList(),e}createCustomToast(t){let s=U(t);return this.updateCustomToastList(),s}async updateTransactionToastsList(t){let{toasts:s,transactions:e,account:n}=this.store.getState(),{pendingTransactionToasts:i,completedTransactionToasts:r}=await k({toastList:s,transactionsSessions:e,account:n,skipFetchingTransactions:t?.skipFetchingTransactions});this.transactionToasts=[...i,...r];for(let c of s.transactionToasts)this.handleCompletedTransaction(c.toastId);await this.publishTransactionToasts()}async updateCustomToastList(){let{toasts:t}=this.store.getState();this.customToasts=[];for(let s of t.customToasts){let n="message"in s?{...s}:{...s,instantiateToastElement:W[s.toastId]};this.customToasts.push(n),s.duration&&this.lifetimeManager.startWithCustomDuration(s.toastId,s.duration)}this.eventBus?.publish("CUSTOM_TOAST_DATA_UPDATE",this.customToasts)}async createToastListElement(){return this.toastsElement?this.toastsElement:(this.isCreatingElement||(this.isCreatingElement=!0,this.toastsElement=await St.create({name:"mvx-toast-list"}),this.isCreatingElement=!1),this.toastsElement)}handleTransactionToastClose(t){this.handleCompletedTransaction(t)&&G(t)}async subscribeToEventBusNotifications(){let t=await this.createToastListElement();if(t){if(this.eventBus=await t.getEventBus(),!this.eventBus)throw new Error("eventBus is not initialized");this.eventBus.subscribe("CLOSE_TOAST",this.closeToast.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("CLOSE_TOAST",this.closeToast.bind(this))}),this.eventBus.subscribe("OPEN_NOTIFICATIONS_FEED",this.handleOpenNotificationsFeed.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("OPEN_NOTIFICATIONS_FEED",this.handleOpenNotificationsFeed.bind(this))})}}async showToasts(){this.eventBus?.publish("SHOW_TOAST_LIST",null),await this.updateCustomToastList(),await this.updateTransactionToastsList()}hideToasts(){this.eventBus?.publish("HIDE_TOAST_LIST",null)}async handleOpenNotificationsFeed(){this.notificationsFeedManager.openNotificationsFeed()}closeToast(t){if(this.customToasts.find(e=>e.toastId===t)){this.lifetimeManager.stop(t);let e=h[t];e?.(),H(t);return}this.handleTransactionToastClose(t)}async publishTransactionToasts(){if(this.notificationsFeedManager.isNotificationsFeedOpen()&&this.eventBus){this.eventBus.publish("TRANSACTION_TOAST_DATA_UPDATE",this.transactionToasts),this.hideToasts();return}if(!this.eventBus){let t=await this.createToastListElement();if(!t)return;this.eventBus=await t.getEventBus()}this.eventBus.publish("TRANSACTION_TOAST_DATA_UPDATE",this.transactionToasts)}destroy(){this.storeToastsSubscription(),this.lifetimeManager?.destroy(),this.notificationsFeedManager?.destroy(),Kt(),this.eventBusUnsubscribeFunctions.forEach(t=>t()),this.eventBusUnsubscribeFunctions=[]}};var ns="NOTIFICATIONS_FEED_STORE_SUBSCRIBE",K=class o extends yt{constructor(){super({uiDataUpdateEvent:"OPEN_NOTIFICATIONS_FEED",uiTag:"mvx-notifications-feed"});this.store=u();this.initialData={pendingTransactions:[],historicTransactions:[]};this.data={...this.initialData}}static getInstance(){return o.instance||(o.instance=new o),o.instance}isNotificationsFeedOpen(){return this.isOpen}async openNotificationsFeed(){d.getInstance().hideToasts(),await this.openUI(),await this.updateDataAndNotifications();let e=this.store.subscribe(async({toasts:n,transactions:i},{toasts:r,transactions:c})=>{(!Vt(r.transactionToasts,n.transactionToasts)||!Vt(c,i))&&await this.updateDataAndNotifications()});this.unsubscribeFunctions.set(ns,[e]),this.eventBus?.publish("OPEN_NOTIFICATIONS_FEED"),await this.updateDataAndNotifications()}async handleCloseUI(){let s=d.getInstance();this.closeUI(),await s.showToasts()}async setupEventListeners(){this.eventBus&&(this.subscribeToEventBus("CLOSE_NOTIFICATIONS_FEED",this.handleCloseUI.bind(this)),this.subscribeToEventBus("CLEAR_NOTIFICATIONS_FEED_HISTORY",this.handleClearNotificationsFeedHistory.bind(this)))}async updateDataAndNotifications(){let{transactions:s,account:e,toasts:n,network:i}=this.store.getState(),{pendingTransactionToasts:r}=await k({toastList:n,transactionsSessions:s,account:e});this.data.pendingTransactions=r,this.data.historicTransactions=await gt.getTransactionsHistory({transactionsSessions:s,address:e.address,explorerAddress:i.network.explorerAddress,egldLabel:i.network.egldLabel}),await this.updateNotificationsFeed()}handleClearNotificationsFeedHistory(){vt(),this.resetData(),this.updateNotificationsFeed()}async updateNotificationsFeed(){this.eventBus&&(this.eventBus.publish("PENDING_TRANSACTIONS_UPDATE",this.data.pendingTransactions),this.eventBus.publish("TRANSACTIONS_HISTORY_UPDATE",this.data.historicTransactions))}};export{K as a,W as b,h as c,es as d,H as e,Kt as f,No as g,zt as h,G as i,U as j,$ as k,d as l,M as m,Ut as n,_t as o,D as p,j as q,Wt as r,Z as s,Ht as t,_ as u,Gt as v,I as w,B as x};
|
|
2
|
+
//# sourceMappingURL=chunk-FSJ6P7DN.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-O7LCTC4K.mjs";import{s as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-O7LCTC4K.mjs";import{s as m}from"./chunk-X5C4JWTG.mjs";import{b as a}from"./chunk-SAAOQW7P.mjs";import{o as r,u as i}from"./chunk-KD2IQ32V.mjs";import{a as c}from"./chunk-3FXHIV6O.mjs";async function b({tokenId:o}){let t=a(m()),{isNft:k}=c(o),n=o,p=k?r:i;if(!n)return{tokenDecimals:Number(t.decimals),tokenLabel:"",tokenAvatar:""};try{let{data:e}=await s.get(`${t.apiAddress}/${p}/${n}`),f=e?e?.decimals:Number(t.decimals),l=e?e?.name:"",d=e?e?.assets?.svgUrl??e?.media?.[0]?.thumbnailUrl:"";return{tokenDecimals:f,tokenLabel:l,type:e?.type,tokenAvatar:d,identifier:e?.identifier,assets:e?.assets,esdtPrice:e?.price,ticker:e?.ticker,name:e?.name}}catch(e){return{error:`Error fetching token ${n}: ${e.toString()}`,tokenDecimals:Number(t.decimals),tokenLabel:"",tokenAvatar:"",identifier:n}}}export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HBXJVW2D.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as k}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as k}from"./chunk-SRHQKUXP.mjs";import{a as B}from"./chunk-5FPOZ2AY.mjs";import{a as b}from"./chunk-7P3DNMWN.mjs";import{a as O}from"./chunk-QXC4D3AC.mjs";import{a as D}from"./chunk-KFS4ZIKP.mjs";import{a as I}from"./chunk-PHOF3Z5D.mjs";import{a as _}from"./chunk-RORFSL37.mjs";import{a as R}from"./chunk-PZHQ37I6.mjs";import{a as j}from"./chunk-URJQWHBM.mjs";import{a as A}from"./chunk-MRHKKGSJ.mjs";import{s as x}from"./chunk-X5C4JWTG.mjs";import{b as v}from"./chunk-SAAOQW7P.mjs";import{a as G,c as U,f as F}from"./chunk-PJWJZHIS.mjs";import{a as w}from"./chunk-NTEMINYA.mjs";import{c as N}from"./chunk-MGFIOCA4.mjs";async function Dn({transactions:z=[],handleSign:H,guardTransactions:K=_}){let{account:{address:y,shard:h,username:E}}=B(),g=v(x()),C=A(),{allTransactions:r,parsedTransactionsByDataField:L}=R(z),p=[],n=k.getInstance();if(await n.openUI(),!n)throw new Error("Unable to establish connection with sign screens");let W=async()=>{await b(),n.closeUI()};return n.subscribeToEventBus("CLOSE_SIGN_TRANSACTIONS",W),new Promise(async(X,M)=>{let d=[],Y=await O({baseURL:g.apiAddress});n.notifyDataUpdate(),n.initializeGasPriceMap(r.map(a=>a.transaction));let l=Y?.price,t=0,T=async()=>{let c=r[t]?.transaction,i=Number(c.nonce);try{n.updateIsLoading(!0);let{commonData:o,tokenTransaction:e,fungibleTransaction:s}=await D({allTransactions:r,currentScreenIndex:t,egldLabel:C,network:g,gasPriceData:n.ppuMap[i],price:l,address:y,username:E,shard:h,signedIndexes:p,parsedTransactionsByDataField:L});e&&n.updateTokenTransaction(e),s&&n.updateNonFungibleTransaction(s.type,s),n.updateCommonData(o)}catch(o){throw console.error(`Error fetching common data for transaction at index ${t}:`,o),o}finally{n.updateIsLoading(!1)}},$=()=>{t>0&&(t--,T())},q=(a=0)=>{let i=r[t].transaction,o=Number(i.nonce);n.updateGasPriceMap({nonce:o,ppu:a}),n.updateCommonData({ppu:a});let e=i.toPlainObject(),s=I({transaction:e,gasPriceData:n.ppuMap[o]}),P=w.newFromPlainObject({...e,gasPrice:s}),u=j({transaction:P,price:l}),m=F({input:s.toString(),decimals:U,addCommas:!0,digits:G});n.updateCommonData({feeLimit:u.feeLimitFormatted,feeInFiatLimit:u.feeInFiatLimit,gasPrice:m,ppu:a})},J=async()=>{M(new Error("Transaction signing cancelled by user")),await b(),n.closeUI()},f=()=>{t<n.transactionsCount-1&&(t++,T())},Q=async()=>{let c=r[t].transaction,i=Number(c.nonce),{commonData:o}=await D({allTransactions:r,currentScreenIndex:t,egldLabel:C,network:g,gasPriceData:n.ppuMap[i],price:l,address:y,username:E,shard:h,signedIndexes:p,parsedTransactionsByDataField:L});if(!o.needsSigning)return p.push(t),f();let e=c.toPlainObject(),s=e.nonce,P=I({transaction:e,gasPriceData:n.ppuMap[s]}),u=w.newFromPlainObject({...e,gasPrice:P});try{let m=await H([u]);m&&(p.push(t),d.push(m[0]));let nn=t===r.length-1,tn=r.filter(S=>S.needsSigning),an=d.length===tn.length;if(nn&&an){let S=await K(d);return n.closeUI(),X(S)}f()}catch(m){n.closeUI(),M(m)}},V=new Map([["NEXT_SIGN_TRANSACTIONS",f],["CONFIRM_SIGN_TRANSACTIONS",Q],["CLOSE_SIGN_TRANSACTIONS",J],["BACK_SIGN_TRANSACTIONS",$],["SET_PPU_SIGN_TRANSACTIONS",q]]);function Z(){for(let[a,c]of V)n.subscribeToEventBus(a,c)}Z(),await T()})}export{Dn as a};
|
|
2
|
+
//# sourceMappingURL=chunk-J7JGI5JV.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as de}from"./chunk-M3YL36ZL.mjs";import{a as I}from"./chunk-5CJ4UDMA.mjs";import{a as se}from"./chunk-7ZUH3TQ2.mjs";import{a as ie}from"./chunk-XJWZ6BDQ.mjs";import{a as N}from"./chunk-NSW7SBHH.mjs";import{a as oe}from"./chunk-VVRC7ANW.mjs";import{a as te}from"./chunk-Z5RRBB6V.mjs";import{a as re}from"./chunk-YUFPUG5O.mjs";import{a as ae}from"./chunk-YDK5V2BZ.mjs";import{a as p}from"./chunk-NUUOYZJB.mjs";import{a as ee}from"./chunk-MIODWPNV.mjs";import{a as L}from"./chunk-J7JGI5JV.mjs";import{a as ne}from"./chunk-RORFSL37.mjs";import{a as Z}from"./chunk-QJGFIK7H.mjs";import{b as Q}from"./chunk-4Z3DZ2A3.mjs";import{b as C,c as J}from"./chunk-NRXYSTRW.mjs";import{j as X,l as D,u as E,v as y,w as M}from"./chunk-FSJ6P7DN.mjs";import{a as P}from"./chunk-G6PZFECX.mjs";import{a as K}from"./chunk-SOQYOVR7.mjs";import{a as U}from"./chunk-4TBVQD27.mjs";import{a as Y}from"./chunk-26EQVDJ2.mjs";import{g as $}from"./chunk-2IUBMLF4.mjs";import{a as q,q as F,s as l}from"./chunk-X5C4JWTG.mjs";import{f as V}from"./chunk-UERJ6AKK.mjs";import{b as A,c as B}from"./chunk-SAAOQW7P.mjs";import{a as H}from"./chunk-VNLGNNIL.mjs";import{b as G,c as j}from"./chunk-6JM4DPOH.mjs";import{a as c}from"./chunk-ZVIKYGX5.mjs";import{a as n}from"./chunk-ZONHCECO.mjs";var f=class extends p{constructor({address:e,anchor:r,shouldInitProvider:t}){super(e);this.provider=null;this.config=null;this.ledgerLogin=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");if(!e||typeof e.addressIndex!="number")throw new Error("Missing addressIndex for Ledger login");let{address:r,signature:t}=await this.provider.login({addressIndex:e.addressIndex});return{address:r,signature:t??""}};this.loginOperation=async e=>{if(!this.provider||!this.config)throw new Error("Provider is not initialized.");return await ie({options:e,config:this.config,provider:this.provider,login:this.ledgerLogin.bind(this)})};this.initLegderConnectManager=async e=>{if(!!P())return;await N.getInstance().init(e)};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await this.rebuildProvider(),await L({transactions:e,handleSign:this.provider.signTransactions.bind(this.provider)})};this.signMessage=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await this.rebuildProvider(),await ce({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider)})};this.rebuildProvider=async()=>{try{await this.provider?.getAddress()}catch{try{let{ledgerProvider:r}=await te({shouldInitProvider:!0});this.provider=r}catch(r){throw X({toastId:"ledger-provider-rebuild-error",duration:1e4,icon:"times",iconClassName:"warning",message:"Unlock your device & open the MultiversX App",title:"Ledger unavailable"}),r}}};this.options={anchor:r,shouldInitProvider:t},this._login=this.ledgerLogin.bind(this)}async init(){try{this.initializeAddress(),await this.initializeProvider()}catch{return!1}return!0}logout(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.logout()}getType(){return n.ledger}getAddress(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.getAddress()}setAccount(e){return this.provider?.setAccount(e)}isInitialized(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.isInitialized()}async initializeProvider(){await this.initLegderConnectManager(this.options?.anchor);let e=N.getInstance(),{ledgerProvider:r,ledgerConfig:t}=await new Promise((o,s)=>oe({manager:e,resolve:o,reject:s,shouldInitProvider:this.options?.shouldInitProvider}));this.config=t,this.provider=r}};var ge=3e4,ve=5e3,me=3e3,S=class a{constructor(){this.store=F();this.connectionCheckInterval=null;this.recreateProviderInterval=null;this.init=async()=>{this.startCheckConnectionLoop()};this.shouldCheckConnection=()=>{let i=this.store.getState(),{providerType:e}=H(i),r=V(i);return!!(e===n.ledger&&r)};this.startCheckConnectionLoop=()=>{this.connectionCheckInterval||(this.connectionCheckInterval=setInterval(async()=>{let i=Q(l());if(!(!this.shouldCheckConnection()||i))try{await M().getProvider().getAddress()}catch{if(D.getInstance().createCustomToast({toastId:"ledger-provider-idle-warning",icon:"times",iconClassName:"warning",message:"Unlock your device to continue signing transactions",title:"Ledger disconnected"}),this.reset(),this.recreateProviderInterval)return;this.recreateProviderInterval=setInterval(this.reconnectProvider,ve)}},ge))};this.reconnectProvider=async()=>{if(this.shouldCheckConnection())try{let i=new f({shouldInitProvider:!0});await i.init();let e=new E(i);i.getType=()=>n.ledger,y(e),this.reset(),clearInterval(this.recreateProviderInterval??0),this.recreateProviderInterval=null,D.getInstance().createCustomToast({toastId:"ledger-provider-idle-warning",duration:me,icon:"check",iconClassName:"success",message:"Your device is ready to sign transactions",title:"Ledger reconnected"}),this.startCheckConnectionLoop()}catch{console.log("Unable to reconnect to Ledger")}};this.reset=()=>{clearInterval(this.connectionCheckInterval??0),this.connectionCheckInterval=null}}static getInstance(){return a.instance||(a.instance=new a),a.instance}};var z=class extends p{constructor(e){super(e?.address);this.cancelAction=async()=>{this.provider.cancelAction()};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");let{onClose:r,manager:t}=await this.initSignState();try{let o=await this.provider.signTransactions(e)??[];return await ne(o)}catch(o){throw await r({shouldCancelAction:!0}),o}finally{t.closeUI()}};this.signMessage=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c.crossWindow})};this.walletAddress=e?.walletAddress,this.provider=Z.getInstance(),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}async initializeProvider(){let e=A(l()),r=await this.provider.init();return this.provider.setWalletUrl(this.walletAddress??e.walletAddress),this.address&&this.provider.setAddress(this.address),r}logout(){return this.provider.logout()}getType(){return n.crossWindow}getAddress(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.getAddress()}setAccount(e){return this.provider.setAccount(e)}isInitialized(){return this.provider.isInitialized()}};import{ExtensionProvider as he}from"@multiversx/sdk-extension-provider/out/extensionProvider";var k=class extends p{constructor(e){super(e);this.cancelAction=async()=>{this.provider.cancelAction()};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");let{manager:r,onClose:t}=await this.initSignState();try{return await this.provider.signTransactions(e)??[]}catch(o){throw await t({shouldCancelAction:!1}),o}finally{r.closeUI()}};this.signMessage=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c.extension})};this.provider=he.getInstance(),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}async initializeProvider(){let e=await this.provider.init();return this.address&&this.setAccount({address:this.address}),e}getAddress(){return this.provider.getAddress()}setAccount(e){return this.provider.setAccount(e)}isInitialized(){return this.provider.isInitialized()}logout(){return this.provider.logout()}getType(){return n.extension}};var x=class extends p{constructor({address:e,walletUrl:r}={}){super(e);this.cancelAction=async()=>{this.provider.cancelAction()};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");let{manager:r,onClose:t}=await this.initSignState();try{return await L({transactions:e,handleSign:this.provider.signTransactions.bind(this.provider)})}catch(o){throw await t({shouldCancelAction:!0}),o}finally{r.closeUI()}};this.signMessage=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c[n.metamask]})};this.walletUrl=r??"",this.provider=de.getInstance(),this._login=this.provider.login.bind(this.provider)}init(){return this.initializeAddress(),this.initializeWalletUrl(),this.initializeProvider()}initializeWalletUrl(){if(this.walletUrl)return;let e=A(l());if(!e.iframeWalletAddress)throw new Error("Invalid walletUrl");this.walletUrl=e.iframeWalletAddress}async initializeProvider(){return await this.provider.init(),this.address&&this.setAccount({address:this.address}),this.provider.setWalletUrl(this.walletUrl),!0}logout(){return this.provider.logout()}getType(){return n.metamask}getAddress(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.getAddress()}setAccount(e){this.provider.setAccount(e)}isInitialized(){return this.provider.isInitialized()}};import{OptionalOperation as fe}from"@multiversx/sdk-wallet-connect-provider/out";var le=[C.CANCEL_ACTION,C.SIGN_LOGIN_TOKEN],W=class extends p{constructor(e){super();this.provider=null;this.methods=[];this._approval=null;this.cancelActionAbortController=null;this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");let{manager:r,onClose:t}=await this.initSignState();this.cancelActionAbortController=new AbortController;let o=this.cancelActionAbortController.signal;try{let s=new Promise((h,v)=>{o.addEventListener("abort",()=>{v(new Error("cancelled by user"))})});return await Promise.race([this.provider.signTransactions(e),s])}catch(s){throw await t({shouldCancelAction:!0}),s}finally{r.closeUI()}};this.cancelAction=async()=>{this.sendCustomRequest({method:C.CANCEL_ACTION,action:fe.CANCEL_ACTION}),this.cancelActionAbortController?.abort()};this.signMessage=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");this.cancelActionAbortController=new AbortController;let r=this.cancelActionAbortController.signal,t=new Promise((s,d)=>{r.addEventListener("abort",()=>{d(new Error("cancelled by user"))})});return await Promise.race([g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c.extension}),t])};this.config=e}async init(){try{await this.initializeProvider()}catch{return!1}return!0}logout(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.logout()}getType(){return n.walletConnect}getAddress(){if(!this.provider)throw new Error("Provider is not initialized.");return Promise.resolve(this.provider.getAddress())}setAccount(e){return this.provider?.setAccount(e)}isInitialized(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.isInitialized()}async initializeProvider(){if(await this.initWalletConnectManager(),!this.config)throw new Error("Invalid WalletConnect setup");let{walletConnectProvider:e,dappMethods:r}=await this.createWalletConnectProvider(this.config);this.provider=e,this.methods=r;let{uri:t="",approval:o}=await this.provider.connect({methods:this.methods}),s=this.config.walletConnectDeepLink??U.walletConnectDeepLink;this._approval=o,I.getInstance().updateData({wcURI:t,walletConnectDeepLink:`${s}?wallet-connect=${encodeURIComponent(t)}`})}async initWalletConnectManager(){if(!!P())return;await I.getInstance().init(this.config?.anchor)}async createWalletConnectProvider(e){let r=P(),t=B(l());if(G(l())&&le.push(C.SIGN_NATIVE_AUTH_TOKEN),!e?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");let v={onClientLogin:()=>{},onClientLogout:()=>{Y()},onClientEvent:m=>{}};try{let{walletConnectV2ProjectId:m,walletConnectV2Options:_={},walletConnectV2RelayAddress:O=""}=e,w=new J(v,t,O,m,_);return await w.init(),{walletConnectProvider:w,dappMethods:le}}catch(m){throw console.error("Unable to connect",m),r&&await this.logout(),m}}async login(e){if(!this.provider)throw new Error("Provider is not initialized. Call createProvider first.");let r=async()=>{if(!this.provider)throw new Error("Provider is not initialized.");try{await this.provider.init();let t=I.getInstance(),{uri:o="",approval:s}=await this.provider.connect({methods:this.methods}),d=this.config.walletConnectDeepLink??U.walletConnectDeepLink;t.updateData({wcURI:o,walletConnectDeepLink:`${d}?wallet-connect=${encodeURIComponent(o)}`});let h=await this.provider.login({approval:s,token:e?.token}),{address:v="",signature:m=""}=h??{};return t.handleClose({isLoginFinished:!!v}),{address:v,signature:m}}catch{return await r()}};if(!this._approval)throw new Error("Approval or login is not initialized");try{let t=await this.provider.login({approval:this._approval.bind(this),token:e?.token}),{address:o="",signature:s=""}=t??{};return I.getInstance().handleClose({isLoginFinished:!!o}),{address:o,signature:s}}catch(t){return console.error("User rejected connection proposal",t),await r()}}async sendCustomRequest({action:e,method:r}){if(!this.provider)throw new Error("Provider is not initialized.");try{await this.provider.sendCustomRequest?.({request:{method:r,params:{action:e}}})}catch(t){console.error("Unable to send event",t)}}};var T=class{static set customProviders(i){this._customProviders=i}static get customProviders(){return this._customProviders}static async create({type:i,anchor:e}){let r=null;switch(i){case n.extension:{r=new k;break}case n.crossWindow:{r=new z;break}case n.ledger:{r=new f({anchor:e}),await S.getInstance().init();break}case n.metamask:{r=new x;break}case n.walletConnect:{let s=j(l());if(!s?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");r=new W({anchor:e,...s});break}case n.webview:{r=new ae;break}default:{let s=K();for(let d of this._customProviders)d.type===i&&(r=await d.constructor({address:s,anchor:e}));break}}if(!r)throw new Error("Unable to create provider");await r.init();let t=new E(r);y(t);let o=n.crossWindow===i;return se(o?{skipLoginMethod:i}:null),t}static async destroy(){M().cancelLogin(),y(null),q(n.none)}};T._customProviders=[];var we=(a,i)=>a.some(e=>e.type===i);async function g({message:a,handleSignMessage:i,cancelAction:e,providerType:r}){return await new Promise(async(o,s)=>{let{manager:d,onClose:h}=await ee({cancelAction:e}),v=Object.values(T.customProviders),m=v.reduce((u,R)=>(u[R.type]=R.name,u),{}),_={...c,...m},O=async()=>{await h({shouldCancelAction:!0}),s({message:"Signing canceled"})};d.subscribeToEventBus("CLOSE_PENDING_TRANSACTIONS",O);let w=we(v,r)?r:n.none;d.updateData({name:_[w],type:w});try{let u=await i(a);o(u)}catch(u){await h({shouldCancelAction:!0}),s(u)}finally{d.closeUI()}})}async function ce({message:a,handleSignMessage:i}){try{return await g({message:a,handleSignMessage:i,providerType:c.ledger})}catch(e){let{errorMessage:r}=re(e);throw r?{message:r}:e}}export{ce as a,f as b,S as c,T as d,g as e,z as f,k as g,x as h,W as i};
|
|
2
|
+
//# sourceMappingURL=chunk-JLE5ZH6J.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy.ts", "../../src/managers/internal/LedgerIdleStateManager/LedgerIdleStateManager.ts", "../../src/providers/strategies/CrossWindowProviderStrategy/CrossWindowProviderStrategy.ts", "../../src/providers/strategies/ExtensionProviderStrategy/ExtensionProviderStrategy.ts", "../../src/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.ts", "../../src/providers/strategies/WalletConnectProviderStrategy/WalletConnectProviderStrategy.ts", "../../src/providers/ProviderFactory.ts", "../../src/providers/strategies/helpers/signMessage/signMessage.ts", "../../src/providers/strategies/LedgerProviderStrategy/helpers/signLedgerMessage.ts"],
|
|
4
|
+
"sourcesContent": ["import { HWProvider } from '@multiversx/sdk-hw-provider';\n\nimport { CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION } from 'constants/transactions.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { LedgerConnectStateManager } from 'managers/internal/LedgerConnectStateManager/LedgerConnectStateManager';\nimport { ToastIconsEnum } from 'managers/ToastManager/helpers/getToastDataStateByStatus';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { createCustomToast } from 'store/actions/toasts/toastsActions';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { getLedgerProvider } from './helpers';\nimport { authenticateLedgerAccount } from './helpers/authenticateLedgerAccount';\nimport { initializeLedgerProvider } from './helpers/initializeLedgerProvider';\nimport { signLedgerMessage } from './helpers/signLedgerMessage';\nimport { LedgerConfigType } from './types/ledgerProvider.types';\nimport {\n BaseProviderStrategy,\n LoginOptionsTypes\n} from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\ntype LedgerProviderStrategyOptionsType = {\n anchor?: HTMLElement;\n shouldInitProvider?: boolean;\n};\n\ntype LedgerProviderStrategyType = LedgerProviderStrategyOptionsType & {\n address?: string;\n};\n\nexport class LedgerProviderStrategy extends BaseProviderStrategy {\n private provider: HWProvider | null = null;\n private config: LedgerConfigType | null = null;\n private readonly options?: LedgerProviderStrategyOptionsType;\n\n constructor({\n address,\n anchor,\n shouldInitProvider\n }: LedgerProviderStrategyType) {\n super(address);\n this.options = { anchor, shouldInitProvider };\n this._login = this.ledgerLogin.bind(this);\n }\n\n async init(): Promise<boolean> {\n try {\n this.initializeAddress();\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.ledger;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initLegderConnectManager(this.options?.anchor);\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n\n const { ledgerProvider, ledgerConfig } = await new Promise<\n Awaited<ReturnType<typeof getLedgerProvider>>\n >((resolve, reject) =>\n initializeLedgerProvider({\n manager: ledgerConnectManager,\n resolve,\n reject,\n shouldInitProvider: this.options?.shouldInitProvider\n })\n );\n\n this.config = ledgerConfig;\n this.provider = ledgerProvider;\n }\n\n private readonly ledgerLogin = async (\n options?: LoginOptionsTypes & { addressIndex?: number }\n ): Promise<{ address: string; signature: string }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n if (!options || typeof options.addressIndex !== 'number') {\n throw new Error('Missing addressIndex for Ledger login');\n }\n const { address, signature } = await this.provider.login({\n addressIndex: options.addressIndex\n });\n return {\n address,\n signature: signature ?? ''\n };\n };\n\n public override loginOperation = async (options?: LoginOptionsTypes) => {\n if (!this.provider || !this.config) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return await authenticateLedgerAccount({\n options,\n config: this.config,\n provider: this.provider,\n login: this.ledgerLogin.bind(this)\n });\n };\n\n private readonly initLegderConnectManager = async (anchor?: HTMLElement) => {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n await ledgerConnectManager.init(anchor);\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n };\n\n signMessage = async (message: Message): Promise<Message> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedMessage = await signLedgerMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider)\n });\n\n return signedMessage;\n };\n\n /**\n * Makes sure the device is accessible and if not, tries to initialize a new provider\n */\n private readonly rebuildProvider = async () => {\n try {\n await this.provider?.getAddress(); // can communicate with device\n } catch (_err) {\n try {\n const { ledgerProvider } = await getLedgerProvider({\n shouldInitProvider: true\n });\n this.provider = ledgerProvider;\n } catch (error) {\n createCustomToast({\n toastId: 'ledger-provider-rebuild-error',\n duration: CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION,\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device & open the MultiversX App',\n title: 'Ledger unavailable'\n });\n throw error;\n }\n }\n };\n}\n", "import { DappProvider } from 'providers/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from 'providers/helpers/accountProvider';\nimport { LedgerProviderStrategy } from 'providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy';\nimport { ProviderTypeEnum } from 'providers/types/providerFactory.types';\nimport { isLoggedInSelector, loginInfoSelector } from 'store/selectors';\nimport { isSidePanelOpenSelector } from 'store/selectors/uiSelectors';\nimport { getState, getStore } from 'store/store';\nimport { ToastManager } from '../../ToastManager';\nimport { ToastIconsEnum } from '../../ToastManager/helpers/getToastDataStateByStatus';\n\nconst LEDGER_IDLE_STATE_CHECK_INTERVAL = 30_000;\nconst LEDGER_IDLE_STATE_RECONNECT_INTERVAL = 5_000;\nconst RECONNECT_SUCCESS_DURATION = 3000;\n\nexport class LedgerIdleStateManager {\n private static instance: LedgerIdleStateManager;\n private store = getStore();\n private connectionCheckInterval: ReturnType<typeof setInterval> | null = null;\n private recreateProviderInterval: ReturnType<typeof setInterval> | null =\n null;\n\n public static getInstance(): LedgerIdleStateManager {\n if (!LedgerIdleStateManager.instance) {\n LedgerIdleStateManager.instance = new LedgerIdleStateManager();\n }\n return LedgerIdleStateManager.instance;\n }\n\n private constructor() {}\n\n public init = async () => {\n this.startCheckConnectionLoop();\n };\n\n private readonly shouldCheckConnection = (): boolean => {\n const state = this.store.getState();\n const { providerType } = loginInfoSelector(state);\n const isLoggedIn = isLoggedInSelector(state);\n return Boolean(providerType === ProviderTypeEnum.ledger && isLoggedIn);\n };\n\n private readonly startCheckConnectionLoop = () => {\n if (this.connectionCheckInterval) {\n return;\n }\n\n this.connectionCheckInterval = setInterval(async () => {\n const isSigningProcess = isSidePanelOpenSelector(getState());\n\n if (!this.shouldCheckConnection() || isSigningProcess) {\n return;\n }\n\n try {\n const ledgerProvider = getAccountProvider().getProvider();\n await ledgerProvider.getAddress();\n } catch (_error) {\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device to continue signing transactions',\n title: 'Ledger disconnected'\n });\n this.reset();\n if (this.recreateProviderInterval) {\n return;\n }\n this.recreateProviderInterval = setInterval(\n this.reconnectProvider,\n LEDGER_IDLE_STATE_RECONNECT_INTERVAL\n );\n }\n }, LEDGER_IDLE_STATE_CHECK_INTERVAL);\n };\n\n private readonly reconnectProvider = async () => {\n if (!this.shouldCheckConnection()) {\n return;\n }\n\n try {\n const createdProvider = new LedgerProviderStrategy({\n shouldInitProvider: true\n });\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n createdProvider.getType = () => ProviderTypeEnum.ledger;\n setAccountProvider(dappProvider);\n\n this.reset();\n clearInterval(this.recreateProviderInterval ?? 0);\n this.recreateProviderInterval = null;\n\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n duration: RECONNECT_SUCCESS_DURATION,\n icon: ToastIconsEnum.check,\n iconClassName: 'success',\n message: 'Your device is ready to sign transactions',\n title: 'Ledger reconnected'\n });\n this.startCheckConnectionLoop();\n } catch (_err) {\n console.log('Unable to reconnect to Ledger');\n }\n };\n\n public reset = () => {\n clearInterval(this.connectionCheckInterval ?? 0);\n this.connectionCheckInterval = null;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { CrossWindowProvider } from 'lib/sdkWebWalletCrossWindowProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { guardTransactions } from '../helpers/signTransactions/helpers/guardTransactions/guardTransactions';\n\ntype CrossWindowProviderProps = {\n address?: string;\n walletAddress?: string;\n};\n\nexport class CrossWindowProviderStrategy extends BaseProviderStrategy {\n private readonly provider: CrossWindowProvider;\n private readonly walletAddress?: string;\n\n constructor(config?: CrossWindowProviderProps) {\n super(config?.address);\n this.walletAddress = config?.walletAddress;\n this.provider = CrossWindowProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const network = networkSelector(getState());\n\n const isProviderInitialized = await this.provider.init();\n\n this.provider.setWalletUrl(this.walletAddress ?? network.walletAddress);\n\n if (this.address) {\n this.provider.setAddress(this.address);\n }\n\n return isProviderInitialized;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.crossWindow;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { onClose, manager } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n const optionallyGuardedTransactions =\n await guardTransactions(signedTransactions);\n\n return optionallyGuardedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.crossWindow\n });\n\n return signedMessage;\n };\n}\n", "import { ExtensionProvider } from '@multiversx/sdk-extension-provider/out/extensionProvider';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nexport class ExtensionProviderStrategy extends BaseProviderStrategy {\n private readonly provider: ExtensionProvider;\n\n constructor(address?: string) {\n super(address);\n this.provider = ExtensionProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const initialized = await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n return initialized;\n }\n\n getAddress(): Promise<string | undefined> {\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.extension;\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: false });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n });\n\n return signedMessage;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { IframeProvider } from 'lib/sdkWebWalletIframeProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { IframeProviderType } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\nexport class IframeProviderStrategy extends BaseProviderStrategy {\n private readonly provider: IframeProvider;\n private walletUrl: string;\n\n constructor({ address, walletUrl }: IframeProviderType = {}) {\n super(address);\n this.walletUrl = walletUrl ?? '';\n this.provider = IframeProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n init(): Promise<boolean> {\n this.initializeAddress();\n this.initializeWalletUrl();\n return this.initializeProvider();\n }\n\n private initializeWalletUrl() {\n if (this.walletUrl) {\n return;\n }\n\n const network = networkSelector(getState());\n\n if (!network.iframeWalletAddress) {\n throw new Error('Invalid walletUrl');\n }\n\n this.walletUrl = network.iframeWalletAddress;\n }\n\n private async initializeProvider() {\n await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n this.provider.setWalletUrl(this.walletUrl);\n\n return true;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.metamask;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels[ProviderTypeEnum.metamask]\n });\n\n return signedMessage;\n };\n}\n", "import {\n SessionEventTypes,\n SessionTypes,\n OptionalOperation\n} from '@multiversx/sdk-wallet-connect-provider/out';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { fallbackWalletConnectConfigurations } from 'constants/walletConnect.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { WalletConnectStateManager } from 'managers/internal/WalletConnectStateManager/WalletConnectStateManager';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { logoutAction } from 'store/actions';\nimport { chainIdSelector, nativeAuthConfigSelector } from 'store/selectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport {\n WalletConnectOptionalMethodsEnum,\n WalletConnectV2Provider\n} from 'utils/walletconnect/__sdkWalletconnectProvider';\nimport { WalletConnectV2Error, WalletConnectConfig } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nconst dappMethods: string[] = [\n WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n WalletConnectOptionalMethodsEnum.SIGN_LOGIN_TOKEN\n];\n\ntype WalletConnectProviderStrategyConfigType = WalletConnectConfig & {\n anchor?: HTMLElement;\n};\n\nexport class WalletConnectProviderStrategy extends BaseProviderStrategy {\n private provider: WalletConnectV2Provider | null = null;\n private readonly config: WalletConnectProviderStrategyConfigType;\n private methods: string[] = [];\n private _approval: (() => Promise<SessionTypes.Struct>) | null = null;\n protected cancelActionAbortController: AbortController | null = null;\n\n constructor(config: WalletConnectProviderStrategyConfigType) {\n super();\n this.config = config;\n }\n\n async init(): Promise<boolean> {\n try {\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.walletConnect;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return Promise.resolve(this.provider.getAddress());\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initWalletConnectManager();\n\n if (!this.config) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const { walletConnectProvider, dappMethods: dAppMethods } =\n await this.createWalletConnectProvider(this.config);\n\n this.provider = walletConnectProvider;\n this.methods = dAppMethods;\n\n const { uri = '', approval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n this._approval = approval;\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n }\n\n private async initWalletConnectManager() {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n await walletConnectManager.init(this.config?.anchor);\n }\n\n private async createWalletConnectProvider(config: WalletConnectConfig) {\n const isLoggedIn = getIsLoggedIn();\n const chainId = chainIdSelector(getState());\n const nativeAuthConfig = nativeAuthConfigSelector(getState());\n\n if (nativeAuthConfig) {\n dappMethods.push(WalletConnectOptionalMethodsEnum.SIGN_NATIVE_AUTH_TOKEN);\n }\n\n if (!config?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const handleOnLogin = () => {};\n\n const handleOnLogout = () => {\n logoutAction();\n };\n\n const handleOnEvent = (_event: SessionEventTypes['event']) => {};\n\n const providerHandlers = {\n onClientLogin: handleOnLogin,\n onClientLogout: handleOnLogout,\n onClientEvent: handleOnEvent\n };\n\n try {\n const {\n walletConnectV2ProjectId,\n walletConnectV2Options = {},\n walletConnectV2RelayAddress = ''\n } = config;\n const walletConnectProvider = new WalletConnectV2Provider(\n providerHandlers,\n chainId,\n walletConnectV2RelayAddress,\n walletConnectV2ProjectId,\n walletConnectV2Options\n );\n\n await walletConnectProvider.init();\n\n return { walletConnectProvider, dappMethods };\n } catch (err) {\n console.error(WalletConnectV2Error.connectError, err);\n\n if (isLoggedIn) {\n await this.logout();\n }\n\n throw err;\n }\n }\n\n async login(options?: { token?: string }): Promise<{\n address: string;\n signature: string;\n }> {\n if (!this.provider) {\n throw new Error(\n 'Provider is not initialized. Call createProvider first.'\n );\n }\n\n const reconnect = async (): Promise<{\n address: string;\n signature: string;\n }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.init();\n const walletConnectManager = WalletConnectStateManager.getInstance();\n\n const { uri = '', approval: wcApproval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n\n const providerInfo = await this.provider.login({\n approval: wcApproval,\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerInfo ?? {};\n\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch {\n return await reconnect();\n }\n };\n\n if (!this._approval) {\n throw new Error('Approval or login is not initialized');\n }\n\n try {\n const providerData = await this.provider.login({\n approval: this._approval.bind(this),\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerData ?? {};\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch (error) {\n console.error(WalletConnectV2Error.userRejected, error);\n return await reconnect();\n }\n }\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n try {\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedTransactions: Transaction[] = await Promise.race([\n this.provider.signTransactions(transactions),\n abortPromise\n ]);\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n cancelAction = async () => {\n this.sendCustomRequest({\n method: WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n action: OptionalOperation.CANCEL_ACTION\n });\n\n this.cancelActionAbortController?.abort();\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedMessage = await Promise.race([\n signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n }),\n abortPromise\n ]);\n\n return signedMessage;\n };\n\n private async sendCustomRequest({\n action,\n method\n }: {\n action: OptionalOperation;\n method: WalletConnectOptionalMethodsEnum;\n }) {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.sendCustomRequest?.({\n request: {\n method,\n params: { action }\n }\n });\n } catch (error) {\n console.error(WalletConnectV2Error.actionError, error);\n }\n }\n}\n", "import { LedgerIdleStateManager } from 'managers/internal/LedgerIdleStateManager/LedgerIdleStateManager';\nimport { getAddress } from 'methods/account/getAddress';\nimport {\n CrossWindowProviderStrategy,\n ExtensionProviderStrategy,\n IframeProviderStrategy,\n LedgerProviderStrategy,\n WalletConnectProviderStrategy,\n WalletConnectV2Error\n} from 'providers/strategies';\nimport { setProviderType } from 'store/actions/loginInfo/loginInfoActions';\nimport { walletConnectConfigSelector } from 'store/selectors/configSelectors';\nimport { getState } from 'store/store';\nimport { DappProvider } from './DappProvider/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from './helpers/accountProvider';\nimport { clearInitiatedLogins } from './helpers/clearInitiatedLogins';\nimport { WebviewProviderStrategy } from './strategies/WebviewProviderStrategy';\nimport {\n ICustomProvider,\n IProvider,\n IProviderFactory,\n ProviderTypeEnum\n} from './types/providerFactory.types';\n\nexport class ProviderFactory {\n private static _customProviders: ICustomProvider[] = [];\n\n public static set customProviders(providers: ICustomProvider[]) {\n this._customProviders = providers;\n }\n\n public static get customProviders() {\n return this._customProviders;\n }\n\n public static async create({\n type,\n anchor\n }: IProviderFactory): Promise<DappProvider> {\n let createdProvider: IProvider | null = null;\n\n switch (type) {\n case ProviderTypeEnum.extension: {\n createdProvider = new ExtensionProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.crossWindow: {\n createdProvider = new CrossWindowProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.ledger: {\n createdProvider = new LedgerProviderStrategy({ anchor });\n\n const ledgerIdleStateManager = LedgerIdleStateManager.getInstance();\n await ledgerIdleStateManager.init();\n\n break;\n }\n\n case ProviderTypeEnum.metamask: {\n createdProvider = new IframeProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.walletConnect: {\n const walletConnectConfig = walletConnectConfigSelector(getState());\n\n if (!walletConnectConfig?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n createdProvider = new WalletConnectProviderStrategy({\n anchor,\n ...walletConnectConfig\n });\n\n break;\n }\n case ProviderTypeEnum.webview: {\n createdProvider = new WebviewProviderStrategy();\n break;\n }\n\n default: {\n const address = getAddress();\n\n for (const customProvider of this._customProviders) {\n if (customProvider.type === type) {\n createdProvider = await customProvider.constructor({\n address,\n anchor\n });\n }\n }\n break;\n }\n }\n\n if (!createdProvider) {\n throw new Error('Unable to create provider');\n }\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n setAccountProvider(dappProvider);\n\n const shouldClearInitiatedLogins = ProviderTypeEnum.crossWindow === type;\n\n // Clear initiated logins and skip the login method if it's crossWindow or metamask\n clearInitiatedLogins(\n shouldClearInitiatedLogins ? { skipLoginMethod: type } : null\n );\n\n return dappProvider;\n }\n\n public static async destroy() {\n const provider = getAccountProvider();\n provider.cancelLogin();\n setAccountProvider(null);\n setProviderType(ProviderTypeEnum.none);\n }\n}\n", "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 { 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 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", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { getLedgerErrorCodes } from './getLedgerErrorCodes';\nimport { signMessage } from '../../helpers/signMessage/signMessage';\n\nexport async function signLedgerMessage({\n message,\n handleSignMessage\n}: {\n message: Message;\n handleSignMessage: (msg: Message) => Promise<Message>;\n}): Promise<Message> {\n try {\n const signedMessage = await signMessage({\n message,\n handleSignMessage: handleSignMessage,\n providerType: providerLabels.ledger\n });\n return signedMessage;\n } catch (error) {\n const { errorMessage } = getLedgerErrorCodes(error);\n throw errorMessage ? { message: errorMessage } : error;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["LedgerProviderStrategy", "BaseProviderStrategy", "address", "anchor", "shouldInitProvider", "options", "signature", "authenticateLedgerAccount", "getIsLoggedIn", "LedgerConnectStateManager", "transactions", "signTransactions", "message", "signLedgerMessage", "ledgerProvider", "getLedgerProvider", "error", "createCustomToast", "ProviderTypeEnum", "account", "ledgerConnectManager", "ledgerConfig", "resolve", "reject", "initializeLedgerProvider", "LEDGER_IDLE_STATE_CHECK_INTERVAL", "LEDGER_IDLE_STATE_RECONNECT_INTERVAL", "RECONNECT_SUCCESS_DURATION", "LedgerIdleStateManager", "_LedgerIdleStateManager", "getStore", "state", "providerType", "loginInfoSelector", "isLoggedIn", "isLoggedInSelector", "ProviderTypeEnum", "isSigningProcess", "isSidePanelOpenSelector", "getState", "getAccountProvider", "ToastManager", "createdProvider", "LedgerProviderStrategy", "dappProvider", "DappProvider", "setAccountProvider", "CrossWindowProviderStrategy", "BaseProviderStrategy", "config", "transactions", "onClose", "manager", "signedTransactions", "guardTransactions", "error", "message", "signMessage", "providerLabels", "CrossWindowProvider", "network", "networkSelector", "getState", "isProviderInitialized", "ProviderTypeEnum", "account", "ExtensionProvider", "ExtensionProviderStrategy", "BaseProviderStrategy", "address", "transactions", "manager", "onClose", "error", "message", "signMessage", "providerLabels", "ExtensionProvider", "initialized", "account", "ProviderTypeEnum", "IframeProviderStrategy", "BaseProviderStrategy", "address", "walletUrl", "transactions", "manager", "onClose", "signTransactions", "error", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "IframeProvider", "network", "networkSelector", "getState", "account", "OptionalOperation", "dappMethods", "WalletConnectOptionalMethodsEnum", "WalletConnectProviderStrategy", "BaseProviderStrategy", "config", "transactions", "manager", "onClose", "signal", "abortPromise", "_", "reject", "error", "OptionalOperation", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "account", "walletConnectProvider", "dAppMethods", "uri", "approval", "walletConnectDeepLink", "fallbackWalletConnectConfigurations", "WalletConnectStateManager", "getIsLoggedIn", "isLoggedIn", "chainId", "chainIdSelector", "getState", "nativeAuthConfigSelector", "providerHandlers", "logoutAction", "_event", "walletConnectV2ProjectId", "walletConnectV2Options", "walletConnectV2RelayAddress", "WalletConnectV2Provider", "err", "options", "reconnect", "walletConnectManager", "wcApproval", "providerInfo", "address", "signature", "providerData", "action", "method", "ProviderFactory", "providers", "type", "anchor", "createdProvider", "ProviderTypeEnum", "ExtensionProviderStrategy", "CrossWindowProviderStrategy", "LedgerProviderStrategy", "LedgerIdleStateManager", "IframeProviderStrategy", "walletConnectConfig", "walletConnectConfigSelector", "getState", "WalletConnectProviderStrategy", "WebviewProviderStrategy", "address", "getAddress", "customProvider", "dappProvider", "DappProvider", "setAccountProvider", "shouldClearInitiatedLogins", "clearInitiatedLogins", "getAccountProvider", "setProviderType", "isProviderType", "allProviders", "type", "provider", "signMessage", "message", "handleSignMessage", "cancelAction", "providerType", "resolve", "reject", "manager", "onClose", "getPendingTransactionsHandlers", "ProviderFactory", "allCustomProviderLabels", "acc", "allProviderLabels", "providerLabels", "handleClose", "providerKey", "ProviderTypeEnum", "signedMessage", "err", "signLedgerMessage", "message", "handleSignMessage", "signMessage", "providerLabels", "error", "errorMessage", "getLedgerErrorCodes"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-EHMHIAOC.mjs";import{a}from"./chunk-SOQYOVR7.mjs";import{a as u}from"./chunk-26EQVDJ2.mjs";import{c as n}from"./chunk-LNYGKGJE.mjs";import{a as s}from"./chunk-7BYCH7J2.mjs";var c=(o,t)=>{let r=`sdk-dapp-logout-event-${o}`,e=t.getItem(r);e&&o!==e||(t.setItem(r,o),t.removeItem(r))};async function L({provider:o,options:t={shouldBroadcastLogoutAcrossTabs:!0}}){let r=a();t.shouldBroadcastLogoutAcrossTabs&&s.localStorage&&c(r,s.localStorage);try{return u(),n.forEach(g=>g()),n.clear(),i.closeConnectionRef?.(),await o.logout()}catch(e){return console.error("Logging out error:",e),!1}}export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JR7IKIR6.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as U}from"./chunk-PLMCHSS6.mjs";import{a as j}from"./chunk-7Z7IX367.mjs";import{a as z}from"./chunk-VCQBYNNS.mjs";import{a as V}from"./chunk-LN5UXO64.mjs";import{a as B}from"./chunk-PHOF3Z5D.mjs";import{a as $}from"./chunk-RBZC4PEU.mjs";import{a as _}from"./chunk-BQX7MJR6.mjs";import{a as R}from"./chunk-URJQWHBM.mjs";import{a as M}from"./chunk-YGI3KXMZ.mjs";import{a as w}from"./chunk-LSHOMXXT.mjs";import{a as O}from"./chunk-RYIJWGFA.mjs";import{w as v}from"./chunk-FSJ6P7DN.mjs";import{a as x}from"./chunk-OQWBS4SC.mjs";import{a as G}from"./chunk-BRJNX4JF.mjs";import{a as C,c as F,f}from"./chunk-PJWJZHIS.mjs";import{a as b}from"./chunk-KD2IQ32V.mjs";import{c as L}from"./chunk-TI37DKBT.mjs";import{k as h}from"./chunk-LHEH7L4L.mjs";import{a as A}from"./chunk-7BYCH7J2.mjs";import{BigNumber as Dt}from"bignumber.js";async function Kt({allTransactions:T,currentScreenIndex:s,egldLabel:n,network:e,gasPriceData:m,price:S,address:c,username:q,shard:H,signedIndexes:i,parsedTransactionsByDataField:K}){let p=T[s],W=p?.transaction?.sender.toString(),d=p?.transaction,o=d.toPlainObject(),D=null,I=null,t=await _({egldLabel:n,sender:W,apiAddress:e.apiAddress,address:c,parsedTransactionsByDataField:K})(p),g=!t?.transactionTokenInfo?.tokenId,{tokenId:l,nonce:u,amount:y=""}=t?.transactionTokenInfo??{},Z=l&&u&&u.length>0?`${l}-${u}`:l,J=await w({tokenId:Z}),{esdtPrice:Q,tokenDecimals:X,type:r,identifier:a,tokenImageUrl:Y}=J;if(r==="SemiFungibleESDT"||r==="NonFungibleESDT")I={type:r,identifier:a,amount:y,imageURL:Y};else{let P=({addCommas:St})=>f({input:g?d.value.toString():y,decimals:g?Number(e.decimals):X,digits:Number(e.digits),showLastNonZeroDecimal:!1,addCommas:St}),lt=P({addCommas:!0}),ut=P({addCommas:!1}),ft=Number(g?S:Q),Tt=M({amount:ut,usd:ft,addEqualSign:!0});D={identifier:(a===h?n:a)??n,amount:lt,usdValue:Tt}}let{feeLimitFormatted:tt,feeInFiatLimit:ot}=R({transaction:d,price:S}),nt=V({shard:H,initialGasPrice:m.initialGasPrice,transaction:o,gasStationMetadata:e.gasStationMetadata}),et=B({transaction:o,gasPriceData:m}),it=v().getType(),rt=O(it),N=T.length,at=i.length>0?i[i.length-1]+1:0,k=L(o?.data??""),E=$(t?.transactionTokenInfo),st=U({data:k,identifier:a,highlight:E}),mt=x(),ct=G({to:`/${b}/${c}`,explorerAddress:mt}),pt=N===1||t?.needsSigning&&!i.includes(s),dt=f({input:et.toString(),decimals:F,addCommas:!0,digits:C}),gt=new Dt(o.gasLimit).toFormat({decimalSeparator:",",groupSeparator:".",groupSize:3});return{commonData:{receiver:o.receiver.toString(),data:k,decodedData:st,gasPrice:dt,gasLimit:gt,explorerLink:ct,ppu:m.ppu,ppuOptions:nt,egldLabel:n,tokenType:j(r),feeLimit:tt,feeInFiatLimit:ot,transactionsCount:N,currentIndex:s,currentIndexToSign:at,highlight:E,scCall:z(t?.transactionTokenInfo),needsSigning:pt,isEditable:t?.needsSigning,providerName:rt,address:c,username:q,origin:A.location?.origin},tokenTransaction:D,fungibleTransaction:I}}export{Kt as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KFS4ZIKP.mjs.map
|