@multiversx/sdk-dapp 5.0.10 → 5.0.12
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-2MP3RCTQ.mjs +2 -0
- package/out/__chunks__/{chunk-37GQJETS.mjs → chunk-2WU7D7YG.mjs} +2 -2
- package/out/__chunks__/chunk-3M53H6YO.mjs +2 -0
- package/out/__chunks__/{chunk-HATMKO3E.mjs → chunk-3UIE6BRQ.mjs} +2 -2
- package/out/__chunks__/{chunk-IKMXDYW3.mjs → chunk-4GHUCWEP.mjs} +2 -2
- package/out/__chunks__/{chunk-THLKRICU.mjs → chunk-6BLI4FKK.mjs} +2 -2
- package/out/__chunks__/chunk-6J645SGW.mjs +2 -0
- package/out/__chunks__/{chunk-RZJFCSMQ.mjs → chunk-6QSFQQMX.mjs} +2 -2
- package/out/__chunks__/{chunk-W6SHPZ3U.mjs → chunk-7FSHP4H6.mjs} +2 -2
- package/out/__chunks__/chunk-7I2JJXOJ.mjs +2 -0
- package/out/__chunks__/{chunk-C3LVCOLX.mjs.map → chunk-7I2JJXOJ.mjs.map} +2 -2
- package/out/__chunks__/{chunk-A3KALOME.mjs → chunk-7IQY3VO7.mjs} +2 -2
- package/out/__chunks__/{chunk-KDCWDZHE.mjs → chunk-A3KEMXOI.mjs} +2 -2
- package/out/__chunks__/chunk-AHXCPQRJ.mjs +2 -0
- package/out/__chunks__/{chunk-LWLCUOTE.mjs → chunk-B47MW4MQ.mjs} +2 -2
- package/out/__chunks__/{chunk-GO3HIDG6.mjs → chunk-BJAN2AML.mjs} +2 -2
- package/out/__chunks__/chunk-BR6B7DF2.mjs +2 -0
- package/out/__chunks__/{chunk-QCZNG6A7.mjs → chunk-C5FEAEFQ.mjs} +2 -2
- package/out/__chunks__/chunk-CAM3ZPGJ.mjs +2 -0
- package/out/__chunks__/{chunk-F6G45M7E.mjs → chunk-CNVAG3VJ.mjs} +2 -2
- package/out/__chunks__/chunk-CP2FW52J.mjs +2 -0
- package/out/__chunks__/{chunk-ZEF24QFQ.mjs → chunk-CWZPHB67.mjs} +2 -2
- package/out/__chunks__/{chunk-ESWETNND.mjs → chunk-D6PDBNSG.mjs} +2 -2
- package/out/__chunks__/{chunk-6NSQVQGJ.mjs → chunk-DIA7C6K4.mjs} +2 -2
- package/out/__chunks__/{chunk-GJAULBJK.mjs → chunk-DX57OY4M.mjs} +2 -2
- package/out/__chunks__/{chunk-JAISYJMQ.mjs → chunk-EA5FRGGI.mjs} +2 -2
- package/out/__chunks__/{chunk-24YON5QD.mjs → chunk-EQOLC6DK.mjs} +2 -2
- package/out/__chunks__/{chunk-VXQIGYVC.mjs → chunk-ERUJDTZY.mjs} +2 -2
- package/out/__chunks__/{chunk-LP3FNMJH.mjs → chunk-EZF55RCT.mjs} +2 -2
- package/out/__chunks__/{chunk-QYPQVELM.mjs → chunk-G6XQTNAH.mjs} +2 -2
- package/out/__chunks__/chunk-HDET5UQE.mjs +2 -0
- package/out/__chunks__/{chunk-P44TH75P.mjs → chunk-HERYB4JY.mjs} +2 -2
- package/out/__chunks__/chunk-HHRXRHFC.mjs +2 -0
- package/out/__chunks__/{chunk-JK3FLSXR.mjs → chunk-HOWOZOK5.mjs} +2 -2
- package/out/__chunks__/{chunk-APW4J6AS.mjs → chunk-HPRIBTT7.mjs} +2 -2
- package/out/__chunks__/{chunk-VYCZQO5G.mjs → chunk-HQLKZJ25.mjs} +2 -2
- package/out/__chunks__/{chunk-XGOW3DLS.mjs → chunk-HU3AHMQJ.mjs} +2 -2
- package/out/__chunks__/{chunk-GOBN6PUQ.mjs → chunk-IB7XJW3Z.mjs} +2 -2
- package/out/__chunks__/{chunk-4CWR2NJK.mjs → chunk-IGJ5TMOT.mjs} +2 -2
- package/out/__chunks__/{chunk-EH3RKIKC.mjs → chunk-IHCYCTKF.mjs} +2 -2
- package/out/__chunks__/{chunk-EO6YS5TR.mjs → chunk-IRE3CPRO.mjs} +2 -2
- package/out/__chunks__/{chunk-PA7AMY6W.mjs → chunk-JKDQLXRK.mjs} +2 -2
- package/out/__chunks__/{chunk-EYL5DTCP.mjs → chunk-JUP4CZ2X.mjs} +2 -2
- package/out/__chunks__/chunk-KKTID7DD.mjs +2 -0
- package/out/__chunks__/{chunk-IUFE5QMD.mjs → chunk-KMIXMIDH.mjs} +2 -2
- package/out/__chunks__/{chunk-YD7XXBEF.mjs → chunk-KZPUZR2Y.mjs} +2 -2
- package/out/__chunks__/{chunk-UCW5NENH.mjs → chunk-LSBFHWUY.mjs} +2 -2
- package/out/__chunks__/chunk-LTAJZBHP.mjs +2 -0
- package/out/__chunks__/{chunk-NUKCXXE7.mjs.map → chunk-LTAJZBHP.mjs.map} +1 -1
- package/out/__chunks__/chunk-M7BM6QPB.mjs +2 -0
- package/out/__chunks__/{chunk-X4XULIVT.mjs.map → chunk-M7BM6QPB.mjs.map} +2 -2
- package/out/__chunks__/{chunk-P4WKGTAO.mjs → chunk-MYCBTVET.mjs} +2 -2
- package/out/__chunks__/chunk-N24QHAHB.mjs +2 -0
- package/out/__chunks__/chunk-NMOXI6JM.mjs +2 -0
- package/out/__chunks__/{chunk-2HQWOWUK.mjs → chunk-NX27H6YQ.mjs} +2 -2
- package/out/__chunks__/{chunk-KZSAOENX.mjs → chunk-OC6EUGTY.mjs} +2 -2
- package/out/__chunks__/{chunk-KSLDJ36Q.mjs → chunk-OIEXBS5U.mjs} +2 -2
- package/out/__chunks__/chunk-OOIVSS6B.mjs +2 -0
- package/out/__chunks__/chunk-OOIVSS6B.mjs.map +7 -0
- package/out/__chunks__/{chunk-FDDIV4MY.mjs → chunk-OTBCYYQJ.mjs} +2 -2
- package/out/__chunks__/chunk-PQ2NXYA5.mjs +2 -0
- package/out/__chunks__/{chunk-RFOZXJED.mjs → chunk-PXOF6KO2.mjs} +2 -2
- package/out/__chunks__/{chunk-CQ3TQFRH.mjs → chunk-QET2LPCN.mjs} +2 -2
- package/out/__chunks__/{chunk-ZRO6U2CK.mjs → chunk-QSUVTM4Q.mjs} +2 -2
- package/out/__chunks__/{chunk-LUJL3TMO.mjs → chunk-RCWWARI5.mjs} +2 -2
- package/out/__chunks__/{chunk-UEZ62NSX.mjs → chunk-RWONERD2.mjs} +2 -2
- package/out/__chunks__/{chunk-UEZ62NSX.mjs.map → chunk-RWONERD2.mjs.map} +2 -2
- package/out/__chunks__/{chunk-R4NNE2QE.mjs → chunk-RXEX2FW6.mjs} +2 -2
- package/out/__chunks__/chunk-S4ILNY2V.mjs +2 -0
- package/out/__chunks__/{chunk-67HWG3LZ.mjs → chunk-SCIZ57T6.mjs} +2 -2
- package/out/__chunks__/chunk-TP37QCFI.mjs +2 -0
- package/out/__chunks__/chunk-TP37QCFI.mjs.map +7 -0
- package/out/__chunks__/{chunk-ZPMJKDPP.mjs → chunk-TVPUPQOT.mjs} +2 -2
- package/out/__chunks__/chunk-TWLXB65I.mjs +2 -0
- package/out/__chunks__/chunk-URDBQFRH.mjs +2 -0
- package/out/__chunks__/{chunk-WCTJY5KM.mjs.map → chunk-URDBQFRH.mjs.map} +2 -2
- package/out/__chunks__/chunk-V3W43G5K.mjs +2 -0
- package/out/__chunks__/{chunk-ATGMUGBA.mjs → chunk-VFWJ7ARF.mjs} +2 -2
- package/out/__chunks__/{chunk-QBQQSGSP.mjs → chunk-VH7LP5H3.mjs} +2 -2
- package/out/__chunks__/{chunk-5HL26PV7.mjs → chunk-W52HYKAU.mjs} +2 -2
- package/out/__chunks__/{chunk-JHAJ64CY.mjs → chunk-X3YODHAF.mjs} +2 -2
- package/out/__chunks__/{chunk-7BOVBFFV.mjs → chunk-XDLAYQD5.mjs} +2 -2
- package/out/__chunks__/{chunk-XTPCX6MF.mjs → chunk-XHOEWGQ4.mjs} +2 -2
- package/out/__chunks__/{chunk-77MB3RKC.mjs → chunk-Y3MZT7FL.mjs} +2 -2
- package/out/__chunks__/{chunk-GY43CTNP.mjs → chunk-Z5FBBXZT.mjs} +2 -2
- package/out/__chunks__/{chunk-FAWVNS4Q.mjs → chunk-ZDBSG2BU.mjs} +2 -2
- package/out/__chunks__/{chunk-NBEHPVGH.mjs → chunk-ZGAD3U3E.mjs} +2 -2
- package/out/__chunks__/chunk-ZO7UCTX4.mjs +2 -0
- package/out/__chunks__/chunk-ZO7UCTX4.mjs.map +7 -0
- package/out/__chunks__/{chunk-6TYMK3S6.mjs → chunk-ZU6E3AQR.mjs} +2 -2
- package/out/__chunks__/chunk-ZYCDEAG7.mjs +2 -0
- package/out/__chunks__/{chunk-TZ3YUCED.mjs.map → chunk-ZYCDEAG7.mjs.map} +3 -3
- 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/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/TransactionManager/TransactionManager.cjs +37 -38
- package/out/managers/TransactionManager/TransactionManager.cjs.map +2 -2
- package/out/managers/TransactionManager/TransactionManager.d.ts +0 -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.cjs +7 -2
- package/out/managers/internal/SidePanelBaseManager/SidePanelBaseManager.cjs.map +2 -2
- package/out/managers/internal/SidePanelBaseManager/SidePanelBaseManager.d.ts +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/ToastManager/ToastManager.mjs +1 -1
- package/out/managers/internal/ToastManager/helpers/LifetimeManager.mjs +1 -1
- package/out/managers/internal/ToastManager/helpers/createToastsFromTransactions.mjs +1 -1
- package/out/managers/internal/UIBaseManager/UIBaseManager.cjs +1 -1
- package/out/managers/internal/UIBaseManager/UIBaseManager.cjs.map +2 -2
- package/out/managers/internal/UIBaseManager/UIBaseManager.d.ts +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.cjs +2 -1
- package/out/methods/account/getLatestNonce.cjs.map +2 -2
- 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.d.ts +0 -5
- 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/getSuccessfulTransactionsSessions.mjs.map +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.mjs +1 -1
- package/out/providers/helpers/accountProvider.mjs +1 -1
- package/out/providers/helpers/cancelCrossWindowAction.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.mjs +1 -1
- package/out/providers/strategies/IframeProviderStrategy/index.mjs +1 -1
- 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.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.cjs +1 -0
- package/out/providers/strategies/helpers/signTransactions/signTransactions.cjs.map +2 -2
- package/out/providers/strategies/helpers/signTransactions/signTransactions.mjs +1 -1
- package/out/providers/strategies/index.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.d.ts +0 -5
- 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.cjs +2 -20
- package/out/store/actions/loginInfo/loginInfoActions.cjs.map +2 -2
- package/out/store/actions/loginInfo/loginInfoActions.d.ts +1 -3
- 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/slices/index.mjs +1 -1
- package/out/store/slices/loginInfo/index.mjs +1 -1
- package/out/store/slices/loginInfo/loginInfo.types.cjs.map +1 -1
- package/out/store/slices/loginInfo/loginInfo.types.d.ts +0 -9
- package/out/store/slices/loginInfo/loginInfoSlice.cjs +0 -4
- package/out/store/slices/loginInfo/loginInfoSlice.cjs.map +2 -2
- package/out/store/slices/loginInfo/loginInfoSlice.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/tests/getElementByDataTestIdDeep.jest.d.ts +9 -0
- package/out/utils/tests/getElementByDataTestIdDeep.playwright.d.ts +9 -0
- package/out/utils/tests/getElementByDataTestIdDeep.puppeteer.d.ts +9 -0
- package/out/utils/tests/shadowDomTraversal.d.ts +17 -0
- 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.cjs +5 -8
- package/out/utils/window/getWindowParentOrigin.cjs.map +2 -2
- package/out/utils/window/getWindowParentOrigin.d.ts +1 -1
- package/out/utils/window/getWindowParentOrigin.mjs +1 -1
- package/out/utils/window/index.mjs +1 -1
- package/package.json +1 -1
- package/out/__chunks__/chunk-2NHQLPQZ.mjs +0 -2
- package/out/__chunks__/chunk-6BEBX4RH.mjs +0 -2
- package/out/__chunks__/chunk-77XXLJH2.mjs +0 -2
- package/out/__chunks__/chunk-C3LVCOLX.mjs +0 -2
- package/out/__chunks__/chunk-DZGLONCH.mjs +0 -2
- package/out/__chunks__/chunk-DZGLONCH.mjs.map +0 -7
- package/out/__chunks__/chunk-E6YIVYVH.mjs +0 -2
- package/out/__chunks__/chunk-IVQKDPKR.mjs +0 -2
- package/out/__chunks__/chunk-IVQKDPKR.mjs.map +0 -7
- package/out/__chunks__/chunk-J2BFMJ4R.mjs +0 -2
- package/out/__chunks__/chunk-JCIAIQ6A.mjs +0 -2
- package/out/__chunks__/chunk-JXBZL733.mjs +0 -2
- package/out/__chunks__/chunk-NUKCXXE7.mjs +0 -2
- package/out/__chunks__/chunk-PJQKMSYS.mjs +0 -2
- package/out/__chunks__/chunk-SG754XHN.mjs +0 -2
- package/out/__chunks__/chunk-TBEZUIKL.mjs +0 -2
- package/out/__chunks__/chunk-TXZ53KDQ.mjs +0 -2
- package/out/__chunks__/chunk-TYLXZ7I3.mjs +0 -2
- package/out/__chunks__/chunk-TZ3YUCED.mjs +0 -2
- package/out/__chunks__/chunk-UWSOMYZJ.mjs +0 -2
- package/out/__chunks__/chunk-UYIZDU7U.mjs +0 -2
- package/out/__chunks__/chunk-WCTJY5KM.mjs +0 -2
- package/out/__chunks__/chunk-WRFEEFU6.mjs +0 -2
- package/out/__chunks__/chunk-WRFZRRKZ.mjs +0 -2
- package/out/__chunks__/chunk-WYNZ6UQF.mjs +0 -2
- package/out/__chunks__/chunk-WYNZ6UQF.mjs.map +0 -7
- package/out/__chunks__/chunk-X4XULIVT.mjs +0 -2
- /package/out/__chunks__/{chunk-JCIAIQ6A.mjs.map → chunk-2MP3RCTQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-37GQJETS.mjs.map → chunk-2WU7D7YG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-TXZ53KDQ.mjs.map → chunk-3M53H6YO.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-HATMKO3E.mjs.map → chunk-3UIE6BRQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IKMXDYW3.mjs.map → chunk-4GHUCWEP.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-THLKRICU.mjs.map → chunk-6BLI4FKK.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-TBEZUIKL.mjs.map → chunk-6J645SGW.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-RZJFCSMQ.mjs.map → chunk-6QSFQQMX.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-W6SHPZ3U.mjs.map → chunk-7FSHP4H6.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-A3KALOME.mjs.map → chunk-7IQY3VO7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-KDCWDZHE.mjs.map → chunk-A3KEMXOI.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-J2BFMJ4R.mjs.map → chunk-AHXCPQRJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-LWLCUOTE.mjs.map → chunk-B47MW4MQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-GO3HIDG6.mjs.map → chunk-BJAN2AML.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-E6YIVYVH.mjs.map → chunk-BR6B7DF2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-QCZNG6A7.mjs.map → chunk-C5FEAEFQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-WRFZRRKZ.mjs.map → chunk-CAM3ZPGJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-F6G45M7E.mjs.map → chunk-CNVAG3VJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-6BEBX4RH.mjs.map → chunk-CP2FW52J.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ZEF24QFQ.mjs.map → chunk-CWZPHB67.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ESWETNND.mjs.map → chunk-D6PDBNSG.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-6NSQVQGJ.mjs.map → chunk-DIA7C6K4.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-GJAULBJK.mjs.map → chunk-DX57OY4M.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JAISYJMQ.mjs.map → chunk-EA5FRGGI.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-24YON5QD.mjs.map → chunk-EQOLC6DK.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-VXQIGYVC.mjs.map → chunk-ERUJDTZY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-LP3FNMJH.mjs.map → chunk-EZF55RCT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-QYPQVELM.mjs.map → chunk-G6XQTNAH.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-UYIZDU7U.mjs.map → chunk-HDET5UQE.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-P44TH75P.mjs.map → chunk-HERYB4JY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-WRFEEFU6.mjs.map → chunk-HHRXRHFC.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JK3FLSXR.mjs.map → chunk-HOWOZOK5.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-APW4J6AS.mjs.map → chunk-HPRIBTT7.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-VYCZQO5G.mjs.map → chunk-HQLKZJ25.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-XGOW3DLS.mjs.map → chunk-HU3AHMQJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-GOBN6PUQ.mjs.map → chunk-IB7XJW3Z.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-4CWR2NJK.mjs.map → chunk-IGJ5TMOT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EH3RKIKC.mjs.map → chunk-IHCYCTKF.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EO6YS5TR.mjs.map → chunk-IRE3CPRO.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-PA7AMY6W.mjs.map → chunk-JKDQLXRK.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-EYL5DTCP.mjs.map → chunk-JUP4CZ2X.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-2NHQLPQZ.mjs.map → chunk-KKTID7DD.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-IUFE5QMD.mjs.map → chunk-KMIXMIDH.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-YD7XXBEF.mjs.map → chunk-KZPUZR2Y.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-UCW5NENH.mjs.map → chunk-LSBFHWUY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-P4WKGTAO.mjs.map → chunk-MYCBTVET.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-TYLXZ7I3.mjs.map → chunk-N24QHAHB.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-UWSOMYZJ.mjs.map → chunk-NMOXI6JM.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-2HQWOWUK.mjs.map → chunk-NX27H6YQ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-KZSAOENX.mjs.map → chunk-OC6EUGTY.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-KSLDJ36Q.mjs.map → chunk-OIEXBS5U.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-FDDIV4MY.mjs.map → chunk-OTBCYYQJ.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JXBZL733.mjs.map → chunk-PQ2NXYA5.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-RFOZXJED.mjs.map → chunk-PXOF6KO2.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-CQ3TQFRH.mjs.map → chunk-QET2LPCN.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ZRO6U2CK.mjs.map → chunk-QSUVTM4Q.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-LUJL3TMO.mjs.map → chunk-RCWWARI5.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-R4NNE2QE.mjs.map → chunk-RXEX2FW6.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-77XXLJH2.mjs.map → chunk-S4ILNY2V.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-67HWG3LZ.mjs.map → chunk-SCIZ57T6.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ZPMJKDPP.mjs.map → chunk-TVPUPQOT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-SG754XHN.mjs.map → chunk-TWLXB65I.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-PJQKMSYS.mjs.map → chunk-V3W43G5K.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-ATGMUGBA.mjs.map → chunk-VFWJ7ARF.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-QBQQSGSP.mjs.map → chunk-VH7LP5H3.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-5HL26PV7.mjs.map → chunk-W52HYKAU.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-JHAJ64CY.mjs.map → chunk-X3YODHAF.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-7BOVBFFV.mjs.map → chunk-XDLAYQD5.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-XTPCX6MF.mjs.map → chunk-XHOEWGQ4.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-77MB3RKC.mjs.map → chunk-Y3MZT7FL.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-GY43CTNP.mjs.map → chunk-Z5FBBXZT.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-FAWVNS4Q.mjs.map → chunk-ZDBSG2BU.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-NBEHPVGH.mjs.map → chunk-ZGAD3U3E.mjs.map} +0 -0
- /package/out/__chunks__/{chunk-6TYMK3S6.mjs.map → chunk-ZU6E3AQR.mjs.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-ZU6E3AQR.mjs";var a=class{constructor({uiDataUpdateEvent:t,uiTag:e}){this.eventBus=null;this.uiElement=null;this.isCreatingElement=!1;this.unsubscribeFunctions=new Map;this.uiDataUpdateEvent=t,this.uiTag=e,this.data=this.getInitialData()}async init(t){this.anchor=t,await this.createUIElement(t),await this.setupEventListeners()}updateData(t){this.data={...this.data,...t},this.notifyDataUpdate()}subscribeToEventBus(t,e){if(!this.eventBus)throw new Error("eventBus is not initialized");let i=this.eventBus?.subscribe(t,e);if(i){let n=this.unsubscribeFunctions.get(t)||[];n.push(i),this.unsubscribeFunctions.set(t,n)}}notifyDataUpdate(){this.eventBus?.publish(this.uiDataUpdateEvent,this.data)}destroy(){this.unsubscribeFunctions.forEach(t=>t.forEach(e=>e())),this.unsubscribeFunctions.clear(),this.eventBus=null,this.uiElement?.remove?.(),this.uiElement=null}getInitialData(){return this.initialData}resetData(){this.data=this.getInitialData()}async createUIElement(t=this.anchor){if(this.isCreatingElement||this.uiElement)return this.uiElement;if(this.isCreatingElement=!0,this.uiElement=await s.create({name:this.uiTag,anchor:t}),this.isCreatingElement=!1,!this.uiElement)throw new Error(`Failed to create ${this.uiTag} element`);if(this.eventBus||(this.eventBus=await this.uiElement.getEventBus()),!this.eventBus)throw new Error("eventBus is not initialized");return this.uiElement}};export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-RWONERD2.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/managers/internal/UIBaseManager/UIBaseManager.ts"],
|
|
4
|
-
"sourcesContent": ["import { UITagsEnum } from 'constants/UITags.enum';\nimport { IEventBus } from 'lib/sdkDappUi';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport {\n ComponentFactory,\n CreateEventBusUIElementType\n} from 'utils/ComponentFactory';\n\nexport abstract class UIBaseManager<\n TElement extends CreateEventBusUIElementType,\n TData extends Record<string, any> | null,\n TEventEnum extends string\n> {\n protected eventBus: IEventBus | null = null;\n protected uiElement: TElement | null = null;\n protected isCreatingElement = false;\n protected anchor?: HTMLElement;\n protected uiTag: UITagsEnum;\n protected uiDataUpdateEvent: TEventEnum;\n protected unsubscribeFunctions: Map<TEventEnum, (() => void)[]> = new Map();\n protected abstract initialData: TData;\n protected data: TData;\n\n constructor({\n uiDataUpdateEvent,\n uiTag\n }: {\n uiTag: UITagsEnum;\n uiDataUpdateEvent: TEventEnum;\n }) {\n this.uiDataUpdateEvent = uiDataUpdateEvent;\n this.uiTag = uiTag;\n this.data = this.getInitialData();\n }\n\n public async init(anchor?: HTMLElement) {\n this.anchor = anchor;\n await this.createUIElement(anchor);\n await this.setupEventListeners();\n }\n\n public updateData(newData: Partial<TData>) {\n this.data = { ...this.data, ...newData };\n this.notifyDataUpdate();\n }\n\n public subscribeToEventBus(event: TEventEnum, callback: Function) {\n if (!this.eventBus) {\n throw new Error(ProviderErrorsEnum.eventBusError);\n }\n\n const unsubscribe = this.eventBus?.subscribe(event, callback);\n if (unsubscribe) {\n const existing = this.unsubscribeFunctions.get(event) || [];\n existing.push(unsubscribe);\n this.unsubscribeFunctions.set(event, existing);\n }\n }\n\n public notifyDataUpdate() {\n this.eventBus?.publish(this.uiDataUpdateEvent, this.data);\n }\n\n
|
|
5
|
-
"mappings": "yCAQO,IAAeA,EAAf,KAIL,CAWA,YAAY,CACV,kBAAAC,EACA,MAAAC,CACF,EAGG,CAhBH,KAAU,SAA6B,KACvC,KAAU,UAA6B,KACvC,KAAU,kBAAoB,GAI9B,KAAU,qBAAwD,IAAI,IAWpE,KAAK,kBAAoBD,EACzB,KAAK,MAAQC,EACb,KAAK,KAAO,KAAK,eAAe,CAClC,CAEA,MAAa,KAAKC,EAAsB,CACtC,KAAK,OAASA,EACd,MAAM,KAAK,gBAAgBA,CAAM,EACjC,MAAM,KAAK,oBAAoB,CACjC,CAEO,WAAWC,EAAyB,CACzC,KAAK,KAAO,CAAE,GAAG,KAAK,KAAM,GAAGA,CAAQ,EACvC,KAAK,iBAAiB,CACxB,CAEO,oBAAoBC,EAAmBC,EAAoB,CAChE,GAAI,CAAC,KAAK,SACR,MAAM,IAAI,mCAAsC,EAGlD,IAAMC,EAAc,KAAK,UAAU,UAAUF,EAAOC,CAAQ,EAC5D,GAAIC,EAAa,CACf,IAAMC,EAAW,KAAK,qBAAqB,IAAIH,CAAK,GAAK,CAAC,EAC1DG,EAAS,KAAKD,CAAW,EACzB,KAAK,qBAAqB,IAAIF,EAAOG,CAAQ,CAC/C,CACF,CAEO,kBAAmB,CACxB,KAAK,UAAU,QAAQ,KAAK,kBAAmB,KAAK,IAAI,CAC1D,
|
|
4
|
+
"sourcesContent": ["import { UITagsEnum } from 'constants/UITags.enum';\nimport { IEventBus } from 'lib/sdkDappUi';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport {\n ComponentFactory,\n CreateEventBusUIElementType\n} from 'utils/ComponentFactory';\n\nexport abstract class UIBaseManager<\n TElement extends CreateEventBusUIElementType,\n TData extends Record<string, any> | null,\n TEventEnum extends string\n> {\n protected eventBus: IEventBus | null = null;\n protected uiElement: TElement | null = null;\n protected isCreatingElement = false;\n protected anchor?: HTMLElement;\n protected uiTag: UITagsEnum;\n protected uiDataUpdateEvent: TEventEnum;\n protected unsubscribeFunctions: Map<TEventEnum, (() => void)[]> = new Map();\n protected abstract initialData: TData;\n protected data: TData;\n\n constructor({\n uiDataUpdateEvent,\n uiTag\n }: {\n uiTag: UITagsEnum;\n uiDataUpdateEvent: TEventEnum;\n }) {\n this.uiDataUpdateEvent = uiDataUpdateEvent;\n this.uiTag = uiTag;\n this.data = this.getInitialData();\n }\n\n public async init(anchor?: HTMLElement) {\n this.anchor = anchor;\n await this.createUIElement(anchor);\n await this.setupEventListeners();\n }\n\n public updateData(newData: Partial<TData>) {\n this.data = { ...this.data, ...newData };\n this.notifyDataUpdate();\n }\n\n public subscribeToEventBus(event: TEventEnum, callback: Function) {\n if (!this.eventBus) {\n throw new Error(ProviderErrorsEnum.eventBusError);\n }\n\n const unsubscribe = this.eventBus?.subscribe(event, callback);\n if (unsubscribe) {\n const existing = this.unsubscribeFunctions.get(event) || [];\n existing.push(unsubscribe);\n this.unsubscribeFunctions.set(event, existing);\n }\n }\n\n public notifyDataUpdate() {\n this.eventBus?.publish(this.uiDataUpdateEvent, this.data);\n }\n\n public destroy() {\n this.unsubscribeFunctions.forEach((unsubList) =>\n unsubList.forEach((unsubscribe) => unsubscribe())\n );\n this.unsubscribeFunctions.clear();\n this.eventBus = null;\n this.uiElement?.remove?.();\n this.uiElement = null;\n }\n\n protected getInitialData(): TData {\n return this.initialData;\n }\n\n protected resetData() {\n this.data = this.getInitialData();\n }\n\n protected abstract setupEventListeners(): Promise<void>;\n\n private async createUIElement(\n anchor: HTMLElement | undefined = this.anchor\n ): Promise<TElement | null> {\n if (this.isCreatingElement || this.uiElement) {\n return this.uiElement;\n }\n\n this.isCreatingElement = true;\n\n this.uiElement = await ComponentFactory.create<TElement>({\n name: this.uiTag,\n anchor\n });\n\n this.isCreatingElement = false;\n\n if (!this.uiElement) {\n throw new Error(`Failed to create ${this.uiTag} element`);\n }\n\n if (!this.eventBus) {\n this.eventBus = await this.uiElement.getEventBus();\n }\n\n if (!this.eventBus) {\n throw new Error(ProviderErrorsEnum.eventBusError);\n }\n\n return this.uiElement;\n }\n}\n"],
|
|
5
|
+
"mappings": "yCAQO,IAAeA,EAAf,KAIL,CAWA,YAAY,CACV,kBAAAC,EACA,MAAAC,CACF,EAGG,CAhBH,KAAU,SAA6B,KACvC,KAAU,UAA6B,KACvC,KAAU,kBAAoB,GAI9B,KAAU,qBAAwD,IAAI,IAWpE,KAAK,kBAAoBD,EACzB,KAAK,MAAQC,EACb,KAAK,KAAO,KAAK,eAAe,CAClC,CAEA,MAAa,KAAKC,EAAsB,CACtC,KAAK,OAASA,EACd,MAAM,KAAK,gBAAgBA,CAAM,EACjC,MAAM,KAAK,oBAAoB,CACjC,CAEO,WAAWC,EAAyB,CACzC,KAAK,KAAO,CAAE,GAAG,KAAK,KAAM,GAAGA,CAAQ,EACvC,KAAK,iBAAiB,CACxB,CAEO,oBAAoBC,EAAmBC,EAAoB,CAChE,GAAI,CAAC,KAAK,SACR,MAAM,IAAI,mCAAsC,EAGlD,IAAMC,EAAc,KAAK,UAAU,UAAUF,EAAOC,CAAQ,EAC5D,GAAIC,EAAa,CACf,IAAMC,EAAW,KAAK,qBAAqB,IAAIH,CAAK,GAAK,CAAC,EAC1DG,EAAS,KAAKD,CAAW,EACzB,KAAK,qBAAqB,IAAIF,EAAOG,CAAQ,CAC/C,CACF,CAEO,kBAAmB,CACxB,KAAK,UAAU,QAAQ,KAAK,kBAAmB,KAAK,IAAI,CAC1D,CAEO,SAAU,CACf,KAAK,qBAAqB,QAASC,GACjCA,EAAU,QAASF,GAAgBA,EAAY,CAAC,CAClD,EACA,KAAK,qBAAqB,MAAM,EAChC,KAAK,SAAW,KAChB,KAAK,WAAW,SAAS,EACzB,KAAK,UAAY,IACnB,CAEU,gBAAwB,CAChC,OAAO,KAAK,WACd,CAEU,WAAY,CACpB,KAAK,KAAO,KAAK,eAAe,CAClC,CAIA,MAAc,gBACZJ,EAAkC,KAAK,OACb,CAC1B,GAAI,KAAK,mBAAqB,KAAK,UACjC,OAAO,KAAK,UAYd,GATA,KAAK,kBAAoB,GAEzB,KAAK,UAAY,MAAMO,EAAiB,OAAiB,CACvD,KAAM,KAAK,MACX,OAAAP,CACF,CAAC,EAED,KAAK,kBAAoB,GAErB,CAAC,KAAK,UACR,MAAM,IAAI,MAAM,oBAAoB,KAAK,KAAK,UAAU,EAO1D,GAJK,KAAK,WACR,KAAK,SAAW,MAAM,KAAK,UAAU,YAAY,GAG/C,CAAC,KAAK,SACR,MAAM,IAAI,mCAAsC,EAGlD,OAAO,KAAK,SACd,CACF",
|
|
6
6
|
"names": ["UIBaseManager", "uiDataUpdateEvent", "uiTag", "anchor", "newData", "event", "callback", "unsubscribe", "existing", "unsubList", "ComponentFactory"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-LTAJZBHP.mjs";import{createJSONStorage as o}from"zustand/middleware";var r={persistReducersStorageType:"localStorage"},i=e?o(()=>e[r.persistReducersStorageType]):void 0,p=new Map;export{r as a,i as b,p as c};
|
|
2
|
+
//# sourceMappingURL=chunk-RXEX2FW6.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-G4Z3ZQR6.mjs";import{a as se}from"./chunk-M3YL36ZL.mjs";import{a as te}from"./chunk-IUFE5QMD.mjs";import{a as U}from"./chunk-2HQWOWUK.mjs";import{a as ie}from"./chunk-GO3HIDG6.mjs";import{a as re}from"./chunk-6NSQVQGJ.mjs";import{a as I}from"./chunk-6BEBX4RH.mjs";import{a as ee}from"./chunk-YUFPUG5O.mjs";import{a as de}from"./chunk-ZPMJKDPP.mjs";import{a as p}from"./chunk-KDCWDZHE.mjs";import{a as Z}from"./chunk-PA7AMY6W.mjs";import{a as ne}from"./chunk-DZGLONCH.mjs";import{a as oe}from"./chunk-IKMXDYW3.mjs";import{a as Q}from"./chunk-QJGFIK7H.mjs";import{b as J}from"./chunk-4Z3DZ2A3.mjs";import{b as C,c as Y}from"./chunk-NRXYSTRW.mjs";import{j as $,l as O,r as M,s as P,t as L}from"./chunk-FAWVNS4Q.mjs";import{a as y}from"./chunk-THLKRICU.mjs";import{g as K}from"./chunk-CAA4VJRH.mjs";import{a as q}from"./chunk-UYIZDU7U.mjs";import{a as D}from"./chunk-4TBVQD27.mjs";import{a as X}from"./chunk-RFOZXJED.mjs";import{a as F,s as j,u as l}from"./chunk-TZ3YUCED.mjs";import{f as R}from"./chunk-UERJ6AKK.mjs";import{b as E,c as V}from"./chunk-SAAOQW7P.mjs";import{a as B}from"./chunk-VNLGNNIL.mjs";import{b as H,c as G}from"./chunk-6JM4DPOH.mjs";import{a as c}from"./chunk-CDQ2BNUD.mjs";import{a as o}from"./chunk-PLUWBWJ2.mjs";import{IframeLoginTypes as pe}from"@multiversx/sdk-web-wallet-iframe-provider/out/constants";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 te({options:e,config:this.config,provider:this.provider,login:this.ledgerLogin.bind(this)})};this.initLegderConnectManager=async e=>{if(!!I())return;await U.getInstance().init(e)};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await this.rebuildProvider(),await ne({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 re({shouldInitProvider:!0});this.provider=r}catch(r){throw $({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 o.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=U.getInstance(),{ledgerProvider:r,ledgerConfig:t}=await new Promise((n,s)=>ie({manager:e,resolve:n,reject:s,shouldInitProvider:this.options?.shouldInitProvider}));this.config=t,this.provider=r}};var ve=3e4,me=5e3,he=3e3,S=class a{constructor(){this.store=j();this.connectionCheckInterval=null;this.recreateProviderInterval=null;this.init=async()=>{this.startCheckConnectionLoop()};this.shouldCheckConnection=()=>{let i=this.store.getState(),{providerType:e}=B(i),r=R(i);return!!(e===o.ledger&&r)};this.startCheckConnectionLoop=()=>{this.connectionCheckInterval||(this.connectionCheckInterval=setInterval(async()=>{let i=J(l());if(!(!this.shouldCheckConnection()||i))try{await L().getProvider().getAddress()}catch{if(O.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,me)}},ve))};this.reconnectProvider=async()=>{if(this.shouldCheckConnection())try{let i=new f({shouldInitProvider:!0});await i.init();let e=new M(i);i.getType=()=>o.ledger,P(e),this.reset(),clearInterval(this.recreateProviderInterval??0),this.recreateProviderInterval=null,O.getInstance().createCustomToast({toastId:"ledger-provider-idle-warning",duration:he,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 k=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 n=await this.provider.signTransactions(e)??[];return await oe(n)}catch(n){throw await r({shouldCancelAction:!0}),n}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=Q.getInstance(),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}async initializeProvider(){let e=E(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 o.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 ue}from"@multiversx/sdk-extension-provider/out/extensionProvider";var z=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(n){throw await t({shouldCancelAction:!1}),n}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=ue.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 o.extension}};var fe={passkey:o.passkey,metamask:o.metamask},T=class extends p{constructor({type:e,address:r,walletUrl:t}){super(r);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(n){throw await t({shouldCancelAction:!0}),n}finally{r.closeUI()}};this.signMessage=async e=>{if(!this.provider||!this.type)throw new Error("Provider is not initialized.");return await g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c[this.type]})};this.type=e,this.walletUrl=t??"",this.provider=se.getInstance(),this._login=this.provider.login.bind(this.provider)}init(){return this.initializeAddress(),this.initializeWalletUrl(),this.initializeProvider()}initializeWalletUrl(){if(this.walletUrl)return;let e=E(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.setLoginType(this.type),this.provider.setWalletUrl(this.walletUrl),!0}logout(){return this.provider.logout()}getType(){return fe[this.type]}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 ye}from"@multiversx/sdk-wallet-connect-provider/out";var le=[C.CANCEL_ACTION,C.SIGN_LOGIN_TOKEN],_=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 n=this.cancelActionAbortController.signal;try{let s=new Promise((h,v)=>{n.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:ye.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 o.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:n}=await this.provider.connect({methods:this.methods}),s=this.config.walletConnectDeepLink??D.walletConnectDeepLink;this._approval=n,y.getInstance().updateData({wcURI:t,walletConnectDeepLink:`${s}?wallet-connect=${encodeURIComponent(t)}`})}async initWalletConnectManager(){if(!!I())return;await y.getInstance().init(this.config?.anchor)}async createWalletConnectProvider(e){let r=I(),t=V(l());if(H(l())&&le.push(C.SIGN_NATIVE_AUTH_TOKEN),!e?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");let v={onClientLogin:()=>{},onClientLogout:()=>{X()},onClientEvent:m=>{}};try{let{walletConnectV2ProjectId:m,walletConnectV2Options:x={},walletConnectV2RelayAddress:W=""}=e,w=new Y(v,t,W,m,x);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=y.getInstance(),{uri:n="",approval:s}=await this.provider.connect({methods:this.methods}),d=this.config.walletConnectDeepLink??D.walletConnectDeepLink;t.updateData({wcURI:n,walletConnectDeepLink:`${d}?wallet-connect=${encodeURIComponent(n)}`});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:n="",signature:s=""}=t??{};return y.getInstance().handleClose({isLoginFinished:!!n}),{address:n,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 A=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 o.extension:{r=new z;break}case o.crossWindow:{r=new k;break}case o.ledger:{r=new f({anchor:e}),await S.getInstance().init();break}case o.metamask:{r=new T({type:pe.metamask});break}case o.passkey:{r=new T({type:pe.passkey});break}case o.walletConnect:{let s=G(l());if(!s?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");r=new _({anchor:e,...s});break}case o.webview:{r=new de;break}default:{let s=q();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 M(r);P(t);let n=[o.crossWindow,o.metamask,o.passkey].includes(i);return ae(n?{skipLoginMethod:i}:null),t}static async destroy(){L().cancelLogin(),P(null),F(o.none)}};A._customProviders=[];var Pe=(a,i)=>a.some(e=>e.type===i);async function g({message:a,handleSignMessage:i,cancelAction:e,providerType:r}){return await new Promise(async(n,s)=>{let{manager:d,onClose:h}=await Z({cancelAction:e}),v=Object.values(A.customProviders),m=v.reduce((u,N)=>(u[N.type]=N.name,u),{}),x={...c,...m},W=async()=>{await h({shouldCancelAction:!0}),s({message:"Signing canceled"})};d.subscribeToEventBus("CLOSE_PENDING_TRANSACTIONS",W);let w=Pe(v,r)?r:o.none;d.updateData({name:x[w],type:w});try{let u=await i(a);n(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}=ee(e);throw r?{message:r}:e}}export{ce as a,f as b,S as c,A as d,g as e,k as f,z as g,T as h,_ as i};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as ae}from"./chunk-G4Z3ZQR6.mjs";import{a as se}from"./chunk-M3YL36ZL.mjs";import{a as te}from"./chunk-KMIXMIDH.mjs";import{a as U}from"./chunk-NX27H6YQ.mjs";import{a as ie}from"./chunk-BJAN2AML.mjs";import{a as re}from"./chunk-DIA7C6K4.mjs";import{a as I}from"./chunk-CP2FW52J.mjs";import{a as ee}from"./chunk-YUFPUG5O.mjs";import{a as de}from"./chunk-TVPUPQOT.mjs";import{a as p}from"./chunk-A3KEMXOI.mjs";import{a as Z}from"./chunk-JKDQLXRK.mjs";import{a as ne}from"./chunk-TP37QCFI.mjs";import{a as oe}from"./chunk-4GHUCWEP.mjs";import{a as Q}from"./chunk-QJGFIK7H.mjs";import{b as J}from"./chunk-4Z3DZ2A3.mjs";import{b as C,c as Y}from"./chunk-NRXYSTRW.mjs";import{j as $,l as O,r as M,s as P,t as L}from"./chunk-ZDBSG2BU.mjs";import{a as y}from"./chunk-6BLI4FKK.mjs";import{g as K}from"./chunk-CAA4VJRH.mjs";import{a as q}from"./chunk-HDET5UQE.mjs";import{a as D}from"./chunk-4TBVQD27.mjs";import{a as X}from"./chunk-PXOF6KO2.mjs";import{a as F,q as j,s as l}from"./chunk-ZYCDEAG7.mjs";import{f as R}from"./chunk-UERJ6AKK.mjs";import{b as E,c as V}from"./chunk-SAAOQW7P.mjs";import{a as B}from"./chunk-VNLGNNIL.mjs";import{b as H,c as G}from"./chunk-6JM4DPOH.mjs";import{a as c}from"./chunk-CDQ2BNUD.mjs";import{a as o}from"./chunk-PLUWBWJ2.mjs";import{IframeLoginTypes as pe}from"@multiversx/sdk-web-wallet-iframe-provider/out/constants";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 te({options:e,config:this.config,provider:this.provider,login:this.ledgerLogin.bind(this)})};this.initLegderConnectManager=async e=>{if(!!I())return;await U.getInstance().init(e)};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await this.rebuildProvider(),await ne({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 re({shouldInitProvider:!0});this.provider=r}catch(r){throw $({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 o.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=U.getInstance(),{ledgerProvider:r,ledgerConfig:t}=await new Promise((n,s)=>ie({manager:e,resolve:n,reject:s,shouldInitProvider:this.options?.shouldInitProvider}));this.config=t,this.provider=r}};var ve=3e4,me=5e3,he=3e3,S=class a{constructor(){this.store=j();this.connectionCheckInterval=null;this.recreateProviderInterval=null;this.init=async()=>{this.startCheckConnectionLoop()};this.shouldCheckConnection=()=>{let i=this.store.getState(),{providerType:e}=B(i),r=R(i);return!!(e===o.ledger&&r)};this.startCheckConnectionLoop=()=>{this.connectionCheckInterval||(this.connectionCheckInterval=setInterval(async()=>{let i=J(l());if(!(!this.shouldCheckConnection()||i))try{await L().getProvider().getAddress()}catch{if(O.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,me)}},ve))};this.reconnectProvider=async()=>{if(this.shouldCheckConnection())try{let i=new f({shouldInitProvider:!0});await i.init();let e=new M(i);i.getType=()=>o.ledger,P(e),this.reset(),clearInterval(this.recreateProviderInterval??0),this.recreateProviderInterval=null,O.getInstance().createCustomToast({toastId:"ledger-provider-idle-warning",duration:he,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 k=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 n=await this.provider.signTransactions(e)??[];return await oe(n)}catch(n){throw await r({shouldCancelAction:!0}),n}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=Q.getInstance(),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}async initializeProvider(){let e=E(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 o.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 ue}from"@multiversx/sdk-extension-provider/out/extensionProvider";var z=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(n){throw await t({shouldCancelAction:!1}),n}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=ue.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 o.extension}};var fe={passkey:o.passkey,metamask:o.metamask},T=class extends p{constructor({type:e,address:r,walletUrl:t}){super(r);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(n){throw await t({shouldCancelAction:!0}),n}finally{r.closeUI()}};this.signMessage=async e=>{if(!this.provider||!this.type)throw new Error("Provider is not initialized.");return await g({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider),cancelAction:this.cancelAction,providerType:c[this.type]})};this.type=e,this.walletUrl=t??"",this.provider=se.getInstance(),this._login=this.provider.login.bind(this.provider)}init(){return this.initializeAddress(),this.initializeWalletUrl(),this.initializeProvider()}initializeWalletUrl(){if(this.walletUrl)return;let e=E(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.setLoginType(this.type),this.provider.setWalletUrl(this.walletUrl),!0}logout(){return this.provider.logout()}getType(){return fe[this.type]}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 ye}from"@multiversx/sdk-wallet-connect-provider/out";var le=[C.CANCEL_ACTION,C.SIGN_LOGIN_TOKEN],_=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 n=this.cancelActionAbortController.signal;try{let s=new Promise((h,v)=>{n.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:ye.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 o.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:n}=await this.provider.connect({methods:this.methods}),s=this.config.walletConnectDeepLink??D.walletConnectDeepLink;this._approval=n,y.getInstance().updateData({wcURI:t,walletConnectDeepLink:`${s}?wallet-connect=${encodeURIComponent(t)}`})}async initWalletConnectManager(){if(!!I())return;await y.getInstance().init(this.config?.anchor)}async createWalletConnectProvider(e){let r=I(),t=V(l());if(H(l())&&le.push(C.SIGN_NATIVE_AUTH_TOKEN),!e?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");let v={onClientLogin:()=>{},onClientLogout:()=>{X()},onClientEvent:m=>{}};try{let{walletConnectV2ProjectId:m,walletConnectV2Options:x={},walletConnectV2RelayAddress:W=""}=e,w=new Y(v,t,W,m,x);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=y.getInstance(),{uri:n="",approval:s}=await this.provider.connect({methods:this.methods}),d=this.config.walletConnectDeepLink??D.walletConnectDeepLink;t.updateData({wcURI:n,walletConnectDeepLink:`${d}?wallet-connect=${encodeURIComponent(n)}`});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:n="",signature:s=""}=t??{};return y.getInstance().handleClose({isLoginFinished:!!n}),{address:n,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 A=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 o.extension:{r=new z;break}case o.crossWindow:{r=new k;break}case o.ledger:{r=new f({anchor:e}),await S.getInstance().init();break}case o.metamask:{r=new T({type:pe.metamask});break}case o.passkey:{r=new T({type:pe.passkey});break}case o.walletConnect:{let s=G(l());if(!s?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");r=new _({anchor:e,...s});break}case o.webview:{r=new de;break}default:{let s=q();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 M(r);P(t);let n=[o.crossWindow,o.metamask,o.passkey].includes(i);return ae(n?{skipLoginMethod:i}:null),t}static async destroy(){L().cancelLogin(),P(null),F(o.none)}};A._customProviders=[];var Pe=(a,i)=>a.some(e=>e.type===i);async function g({message:a,handleSignMessage:i,cancelAction:e,providerType:r}){return await new Promise(async(n,s)=>{let{manager:d,onClose:h}=await Z({cancelAction:e}),v=Object.values(A.customProviders),m=v.reduce((u,N)=>(u[N.type]=N.name,u),{}),x={...c,...m},W=async()=>{await h({shouldCancelAction:!0}),s({message:"Signing canceled"})};d.subscribeToEventBus("CLOSE_PENDING_TRANSACTIONS",W);let w=Pe(v,r)?r:o.none;d.updateData({name:x[w],type:w});try{let u=await i(a);n(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}=ee(e);throw r?{message:r}:e}}export{ce as a,f as b,S as c,A as d,g as e,k as f,z as g,T as h,_ as i};
|
|
2
|
+
//# sourceMappingURL=chunk-SCIZ57T6.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as B}from"./chunk-CAM3ZPGJ.mjs";import{a as b}from"./chunk-3UIE6BRQ.mjs";import{a as k}from"./chunk-QXC4D3AC.mjs";import{a as R}from"./chunk-OD4ANAAQ.mjs";import{a as D}from"./chunk-XDLAYQD5.mjs";import{a as I}from"./chunk-PHOF3Z5D.mjs";import{a as j}from"./chunk-URJQWHBM.mjs";import{a as _}from"./chunk-4GHUCWEP.mjs";import{a as A}from"./chunk-OIEXBS5U.mjs";import{a as O}from"./chunk-BR6B7DF2.mjs";import{s as x}from"./chunk-ZYCDEAG7.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=O(),{allTransactions:r,parsedTransactionsByDataField:L}=R(z),p=[],n=A.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 k({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-TP37QCFI.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/providers/strategies/helpers/signTransactions/signTransactions.ts"],
|
|
4
|
+
"sourcesContent": ["import { getEconomics } from 'apiCalls/economics/getEconomics';\nimport { EMPTY_PPU } from 'constants/placeholders.constants';\nimport { Transaction } from 'lib/sdkCore';\nimport { DECIMALS, DIGITS, formatAmount } from 'lib/sdkDappUtils';\nimport { SignTransactionsStateManager } from 'managers/internal/SignTransactionsStateManager/SignTransactionsStateManager';\nimport {\n ISignTransactionsPanelCommonData,\n SignEventsEnum\n} from 'managers/internal/SignTransactionsStateManager/types';\nimport { getAccountInfo } from 'methods/account/getAccountInfo';\nimport { getEgldLabel } from 'methods/network/getEgldLabel';\nimport { cancelCrossWindowAction } from 'providers/helpers/cancelCrossWindowAction';\nimport { IProvider } from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { getCommonData } from './helpers/getCommonData/getCommonData';\nimport { getRecommendedGasPrice } from './helpers/getCommonData/helpers/getRecommendedGasPrice';\nimport { getFeeData } from './helpers/getFeeData';\nimport { getMultiEsdtTransferData } from './helpers/getMultiEsdtTransferData/getMultiEsdtTransferData';\nimport { guardTransactions as getGuardedTransactions } from './helpers/guardTransactions/guardTransactions';\n\ntype SignTransactionsParamsType = {\n transactions?: Transaction[];\n handleSign: IProvider['signTransactions'];\n guardTransactions?: typeof getGuardedTransactions;\n};\n\nexport async function signTransactions({\n transactions = [],\n handleSign,\n guardTransactions = getGuardedTransactions\n}: SignTransactionsParamsType): Promise<Transaction[]> {\n const {\n account: { address, shard, username }\n } = getAccountInfo();\n const network = networkSelector(getState());\n\n const egldLabel = getEgldLabel();\n\n const { allTransactions, parsedTransactionsByDataField } =\n getMultiEsdtTransferData(transactions);\n\n let signedIndexes: number[] = [];\n\n const manager = SignTransactionsStateManager.getInstance();\n await manager.openUI();\n\n if (!manager) {\n throw new Error('Unable to establish connection with sign screens');\n }\n\n const handleCancel = async () => {\n await cancelCrossWindowAction();\n manager.closeUI();\n };\n\n manager.subscribeToEventBus(SignEventsEnum.CLOSE, handleCancel);\n\n return new Promise<Transaction[]>(async (resolve, reject) => {\n const signedTransactions: Transaction[] = [];\n const economics = await getEconomics({ baseURL: network.apiAddress });\n\n manager.notifyDataUpdate();\n\n manager.initializeGasPriceMap(allTransactions.map((tx) => tx.transaction));\n const price = economics?.price;\n\n let currentScreenIndex = 0;\n\n const updateScreen = async () => {\n const currentTransaction = allTransactions[currentScreenIndex];\n const transaction = currentTransaction?.transaction;\n\n const currentNonce = Number(transaction.nonce);\n\n try {\n manager.updateIsLoading(true);\n\n const { commonData, tokenTransaction, fungibleTransaction } =\n await getCommonData({\n allTransactions,\n currentScreenIndex,\n egldLabel,\n network,\n gasPriceData: manager.ppuMap[currentNonce],\n price,\n address,\n username,\n shard,\n signedIndexes,\n parsedTransactionsByDataField\n });\n\n if (tokenTransaction) {\n manager.updateTokenTransaction(tokenTransaction);\n }\n\n if (fungibleTransaction) {\n manager.updateNonFungibleTransaction(\n fungibleTransaction.type,\n fungibleTransaction\n );\n }\n\n manager.updateCommonData(commonData);\n } catch (error) {\n console.error(\n `Error fetching common data for transaction at index ${currentScreenIndex}:`,\n error\n );\n\n throw error;\n } finally {\n manager.updateIsLoading(false);\n }\n };\n\n const onBack = () => {\n if (currentScreenIndex > 0) {\n currentScreenIndex--;\n updateScreen();\n }\n };\n\n const onSetPpu = (\n ppu: ISignTransactionsPanelCommonData['ppu'] = EMPTY_PPU\n ) => {\n const currentTransaction = allTransactions[currentScreenIndex];\n const transaction = currentTransaction.transaction;\n const currentNonce = Number(transaction.nonce);\n\n manager.updateGasPriceMap({\n nonce: currentNonce,\n ppu\n });\n\n manager.updateCommonData({ ppu });\n\n const plainTransaction = transaction.toPlainObject();\n const newGasPrice = getRecommendedGasPrice({\n transaction: plainTransaction,\n gasPriceData: manager.ppuMap[currentNonce]\n });\n\n const newTransaction = Transaction.newFromPlainObject({\n ...plainTransaction,\n gasPrice: newGasPrice\n });\n\n const feeData = getFeeData({\n transaction: newTransaction,\n price\n });\n\n const formattedGasPrice = formatAmount({\n input: newGasPrice.toString(),\n decimals: DECIMALS,\n addCommas: true,\n digits: DIGITS\n });\n\n manager.updateCommonData({\n feeLimit: feeData.feeLimitFormatted,\n feeInFiatLimit: feeData.feeInFiatLimit,\n gasPrice: formattedGasPrice,\n ppu\n });\n };\n\n const onCancel = async () => {\n reject(new Error('Transaction signing cancelled by user'));\n await cancelCrossWindowAction();\n manager.closeUI();\n };\n\n const onNext = () => {\n if (currentScreenIndex < manager.transactionsCount - 1) {\n currentScreenIndex++;\n updateScreen();\n }\n };\n\n const onSign = async () => {\n const currentTransaction = allTransactions[currentScreenIndex];\n const transaction = currentTransaction.transaction;\n const currentNonce = Number(transaction.nonce);\n\n const { commonData } = await getCommonData({\n allTransactions,\n currentScreenIndex,\n egldLabel,\n network,\n gasPriceData: manager.ppuMap[currentNonce],\n price,\n address,\n username,\n shard,\n signedIndexes,\n parsedTransactionsByDataField\n });\n\n if (!commonData.needsSigning) {\n signedIndexes.push(currentScreenIndex);\n return onNext();\n }\n\n const plainTransaction = transaction.toPlainObject();\n const txNonce = plainTransaction.nonce;\n\n const newGasPrice = getRecommendedGasPrice({\n transaction: plainTransaction,\n gasPriceData: manager.ppuMap[txNonce]\n });\n\n const transactionToSign = Transaction.newFromPlainObject({\n ...plainTransaction,\n gasPrice: newGasPrice\n });\n\n try {\n const signedTxs = await handleSign([transactionToSign]);\n if (signedTxs) {\n signedIndexes.push(currentScreenIndex);\n signedTransactions.push(signedTxs[0]);\n }\n\n const isLastScreen = currentScreenIndex === allTransactions.length - 1;\n const allSignableTransactions = allTransactions.filter(\n (tx) => tx.needsSigning\n );\n\n const areAllTransactionsSigned =\n signedTransactions.length === allSignableTransactions.length;\n\n if (isLastScreen && areAllTransactionsSigned) {\n const optionallyGuardedTransactions =\n await guardTransactions(signedTransactions);\n manager.closeUI();\n return resolve(optionallyGuardedTransactions);\n }\n\n onNext();\n } catch (error) {\n manager.closeUI();\n reject(error);\n }\n };\n\n const eventHandlersMap = new Map([\n [SignEventsEnum.NEXT, onNext],\n [SignEventsEnum.CONFIRM, onSign],\n [SignEventsEnum.CLOSE, onCancel],\n [SignEventsEnum.BACK, onBack],\n [SignEventsEnum.SET_PPU, onSetPpu]\n ]);\n\n function setupEventListeners() {\n for (const [event, handler] of eventHandlersMap) {\n manager.subscribeToEventBus(event, handler);\n }\n }\n\n setupEventListeners();\n await updateScreen();\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["signTransactions", "transactions", "handleSign", "guardTransactions", "address", "shard", "username", "getAccountInfo", "network", "networkSelector", "getState", "egldLabel", "getEgldLabel", "allTransactions", "parsedTransactionsByDataField", "getMultiEsdtTransferData", "signedIndexes", "manager", "SignTransactionsStateManager", "handleCancel", "cancelCrossWindowAction", "resolve", "reject", "signedTransactions", "economics", "getEconomics", "tx", "price", "currentScreenIndex", "updateScreen", "transaction", "currentNonce", "commonData", "tokenTransaction", "fungibleTransaction", "getCommonData", "error", "onBack", "onSetPpu", "ppu", "plainTransaction", "newGasPrice", "getRecommendedGasPrice", "newTransaction", "Transaction", "feeData", "getFeeData", "formattedGasPrice", "formatAmount", "DECIMALS", "DIGITS", "onCancel", "onNext", "onSign", "txNonce", "transactionToSign", "signedTxs", "isLastScreen", "allSignableTransactions", "areAllTransactionsSigned", "optionallyGuardedTransactions", "eventHandlersMap", "setupEventListeners", "event", "handler"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-A3KEMXOI.mjs";import{a as o}from"./chunk-PLUWBWJ2.mjs";import{a as e,b as t}from"./chunk-LTAJZBHP.mjs";import{WebviewProvider as a}from"@multiversx/sdk-webview-provider/out/WebviewProvider";var n=class extends s{constructor(r){super(r?.address);this.cancelAction=async()=>{this.provider.cancelAction()};this.signTransactions=async r=>{if(!this.provider)throw new Error("Provider is not initialized.");try{return await this.provider.signTransactions(r)||[]}catch(i){throw this.cancelAction(),i}};this.signMessage=async r=>{if(!this.provider)throw new Error("Provider is not initialized.");try{return await this.provider.signMessage(r)}catch(i){throw this.cancelAction(),i}};this.provider=a.getInstance({resetStateCallback:()=>{e.localStorage?.clear?.(),e.sessionStorage?.clear?.()}}),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}logout(){return this.provider.logout()}getType(){return o.webview}getAddress(){throw new Error("Method not implemented.")}setAccount(r){return this.provider.setAccount(r)}isInitialized(){return this.provider.isInitialized()}async initializeProvider(){let r=await this.provider.init(t);return this.address&&this.setAccount({address:this.address}),r}};export{n as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TVPUPQOT.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as n}from"./chunk-RWONERD2.mjs";import{a as t}from"./chunk-S4ILNY2V.mjs";var i=class extends n{constructor({uiDataUpdateEvent:e,uiTag:s}){super({uiDataUpdateEvent:e,uiTag:s});this.isOpen=!1;this.data=this.getInitialData()}async openUI(){this.isOpen&&this.uiElement||(await super.init(),this.setIsSidePanelOpen(!0))}destroy(){if(this.setIsSidePanelOpen(!1),this.uiElement?.closeWithAnimation){this.uiElement?.closeWithAnimation?.().finally(()=>{super.destroy()});return}super.destroy()}closeUI(){this.resetData(),this.destroy()}setIsSidePanelOpen(e){this.isOpen=e,t(e)}};export{i as a};
|
|
2
|
+
//# sourceMappingURL=chunk-URDBQFRH.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/managers/internal/SidePanelBaseManager/SidePanelBaseManager.ts"],
|
|
4
|
-
"sourcesContent": ["import { UITagsEnum } from 'constants/UITags.enum';\nimport { setIsSidePanelOpen } from 'store/actions/ui/uiActions';\nimport { CreateEventBusUIElementType } from 'utils/ComponentFactory';\nimport { UIBaseManager } from '../UIBaseManager/UIBaseManager';\n\ninterface ISideManagerUIElement extends CreateEventBusUIElementType {\n closeWithAnimation?: () => Promise<unknown>;\n}\n\nexport abstract class SidePanelBaseManager<\n TElement extends ISideManagerUIElement,\n TData extends Record<string, any> | null,\n TEventEnum extends string\n> extends UIBaseManager<TElement, TData, TEventEnum> {\n protected isOpen = false;\n\n constructor({\n uiDataUpdateEvent,\n uiTag\n }: {\n uiTag: UITagsEnum;\n uiDataUpdateEvent: TEventEnum;\n }) {\n super({\n uiDataUpdateEvent,\n uiTag\n });\n this.data = this.getInitialData();\n }\n\n public async openUI() {\n if (this.isOpen && this.uiElement) {\n // UI element is already open\n return;\n }\n\n await super.init();\n this.setIsSidePanelOpen(true);\n }\n\n public
|
|
5
|
-
"mappings": "kFASO,IAAeA,EAAf,cAIGC,CAA2C,CAGnD,YAAY,CACV,kBAAAC,EACA,MAAAC,CACF,EAGG,CACD,MAAM,CACJ,kBAAAD,EACA,MAAAC,CACF,CAAC,EAZH,KAAU,OAAS,GAajB,KAAK,KAAO,KAAK,eAAe,CAClC,CAEA,MAAa,QAAS,CAChB,KAAK,QAAU,KAAK,YAKxB,MAAM,MAAM,KAAK,EACjB,KAAK,mBAAmB,EAAI,EAC9B,
|
|
4
|
+
"sourcesContent": ["import { UITagsEnum } from 'constants/UITags.enum';\nimport { setIsSidePanelOpen } from 'store/actions/ui/uiActions';\nimport { CreateEventBusUIElementType } from 'utils/ComponentFactory';\nimport { UIBaseManager } from '../UIBaseManager/UIBaseManager';\n\ninterface ISideManagerUIElement extends CreateEventBusUIElementType {\n closeWithAnimation?: () => Promise<unknown>;\n}\n\nexport abstract class SidePanelBaseManager<\n TElement extends ISideManagerUIElement,\n TData extends Record<string, any> | null,\n TEventEnum extends string\n> extends UIBaseManager<TElement, TData, TEventEnum> {\n protected isOpen = false;\n\n constructor({\n uiDataUpdateEvent,\n uiTag\n }: {\n uiTag: UITagsEnum;\n uiDataUpdateEvent: TEventEnum;\n }) {\n super({\n uiDataUpdateEvent,\n uiTag\n });\n this.data = this.getInitialData();\n }\n\n public async openUI() {\n if (this.isOpen && this.uiElement) {\n // UI element is already open\n return;\n }\n\n await super.init();\n this.setIsSidePanelOpen(true);\n }\n\n public destroy() {\n this.setIsSidePanelOpen(false);\n\n if (this.uiElement?.closeWithAnimation) {\n this.uiElement?.closeWithAnimation?.().finally(() => {\n super.destroy();\n });\n return;\n }\n super.destroy();\n }\n\n public closeUI(): void {\n this.resetData();\n this.destroy();\n }\n\n private setIsSidePanelOpen(isOpen: boolean): void {\n this.isOpen = isOpen;\n setIsSidePanelOpen(isOpen);\n }\n}\n"],
|
|
5
|
+
"mappings": "kFASO,IAAeA,EAAf,cAIGC,CAA2C,CAGnD,YAAY,CACV,kBAAAC,EACA,MAAAC,CACF,EAGG,CACD,MAAM,CACJ,kBAAAD,EACA,MAAAC,CACF,CAAC,EAZH,KAAU,OAAS,GAajB,KAAK,KAAO,KAAK,eAAe,CAClC,CAEA,MAAa,QAAS,CAChB,KAAK,QAAU,KAAK,YAKxB,MAAM,MAAM,KAAK,EACjB,KAAK,mBAAmB,EAAI,EAC9B,CAEO,SAAU,CAGf,GAFA,KAAK,mBAAmB,EAAK,EAEzB,KAAK,WAAW,mBAAoB,CACtC,KAAK,WAAW,qBAAqB,EAAE,QAAQ,IAAM,CACnD,MAAM,QAAQ,CAChB,CAAC,EACD,MACF,CACA,MAAM,QAAQ,CAChB,CAEO,SAAgB,CACrB,KAAK,UAAU,EACf,KAAK,QAAQ,CACf,CAEQ,mBAAmBC,EAAuB,CAChD,KAAK,OAASA,EACdC,EAAmBD,CAAM,CAC3B,CACF",
|
|
6
6
|
"names": ["SidePanelBaseManager", "UIBaseManager", "uiDataUpdateEvent", "uiTag", "isOpen", "setIsSidePanelOpen"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as t}from"./chunk-X3YODHAF.mjs";import{c as n}from"./chunk-ZYCDEAG7.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-V3W43G5K.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-LSBFHWUY.mjs";import{a}from"./chunk-HDET5UQE.mjs";import{a as u}from"./chunk-PXOF6KO2.mjs";import{c as n}from"./chunk-RXEX2FW6.mjs";import{a as s}from"./chunk-LTAJZBHP.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-VFWJ7ARF.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-LTAJZBHP.mjs";import{MvxLedgerConnect as r}from"@multiversx/sdk-dapp-ui/web-components/mvx-ledger-connect";async function i(n){if(!(typeof t.navigator<"u"&&t.navigator.product==="ReactNative"))try{(await import("@multiversx/sdk-dapp-ui")).defineCustomElements(n)}catch(e){console.warn("@multiversx/sdk-dapp-ui not found"+e)}}export{i as a,r as b};
|
|
2
|
+
//# sourceMappingURL=chunk-VH7LP5H3.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{s as e}from"./chunk-ZYCDEAG7.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-W52HYKAU.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-IGJ5TMOT.mjs";async function g({originalLoginToken:i,extraInfoData:n,address:o}){let e=await t({loginToken:i,extraInfoData:n}),s=n.multisig||n.impersonate||o;return{address:e!=null?s:o,modifiedLoginToken:e}}export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-X3YODHAF.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as V}from"./chunk-7Z7IX367.mjs";import{a as B}from"./chunk-VCQBYNNS.mjs";import{a as $}from"./chunk-LN5UXO64.mjs";import{a as _}from"./chunk-PHOF3Z5D.mjs";import{a as U}from"./chunk-RBZC4PEU.mjs";import{a as R}from"./chunk-ROZAXUMC.mjs";import{a as M}from"./chunk-BETSOJFK.mjs";import{a as w}from"./chunk-URJQWHBM.mjs";import{a as O}from"./chunk-YGI3KXMZ.mjs";import{a as x}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as V}from"./chunk-7Z7IX367.mjs";import{a as B}from"./chunk-VCQBYNNS.mjs";import{a as $}from"./chunk-LN5UXO64.mjs";import{a as _}from"./chunk-PHOF3Z5D.mjs";import{a as U}from"./chunk-RBZC4PEU.mjs";import{a as R}from"./chunk-ROZAXUMC.mjs";import{a as M}from"./chunk-BETSOJFK.mjs";import{a as w}from"./chunk-URJQWHBM.mjs";import{a as O}from"./chunk-YGI3KXMZ.mjs";import{a as x}from"./chunk-QET2LPCN.mjs";import{a as v}from"./chunk-RYIJWGFA.mjs";import{t as G}from"./chunk-ZDBSG2BU.mjs";import{a as L}from"./chunk-AHXCPQRJ.mjs";import{a as h}from"./chunk-BRJNX4JF.mjs";import{a as b,c as C,f as u}from"./chunk-PJWJZHIS.mjs";import{a as P}from"./chunk-KD2IQ32V.mjs";import{c as f}from"./chunk-TI37DKBT.mjs";import{k as A}from"./chunk-LHEH7L4L.mjs";import{a as F}from"./chunk-LTAJZBHP.mjs";import{BigNumber as yt}from"bignumber.js";async function Kt({allTransactions:T,currentScreenIndex:m,egldLabel:o,network:e,gasPriceData:c,price:S,address:p,username:z,shard:j,signedIndexes:i,parsedTransactionsByDataField:q}){let t=T[m],H=t?.transaction?.sender.toString(),K=t?.transaction,D=null,y=null,W=R({egldLabel:o,sender:H,apiAddress:e.apiAddress,address:p,parsedTransactionsByDataField:q}),a=t.transaction.toPlainObject(),n=await W(t),d=!n?.transactionTokenInfo?.tokenId,{tokenId:g,nonce:l,amount:I=""}=n?.transactionTokenInfo??{},Z=g&&l&&l.length>0?`${g}-${l}`:g,J=await x({tokenId:Z}),{esdtPrice:Q,tokenDecimals:X,type:r,identifier:s,tokenImageUrl:Y}=J;if(r==="SemiFungibleESDT"||r==="NonFungibleESDT")y={type:r,identifier:s,amount:I,imageURL:Y};else{let E=({addCommas:Dt})=>u({input:d?t.transaction.value.toString():I,decimals:d?Number(e.decimals):X,digits:Number(e.digits),showLastNonZeroDecimal:!1,addCommas:Dt}),ut=E({addCommas:!0}),ft=E({addCommas:!1}),Tt=Number(d?S:Q),St=O({amount:ft,usd:Tt,addEqualSign:!0});D={identifier:(s===A?o:s)??o,amount:ut,usdValue:St}}let{feeLimitFormatted:tt,feeInFiatLimit:nt}=w({transaction:K,price:S}),ot=$({shard:j,initialGasPrice:c.initialGasPrice,transaction:a,gasStationMetadata:e.gasStationMetadata}),et=_({transaction:a,gasPriceData:c}),it=G().getType(),at=v(it),N=T.length,rt=i.length>0?i[i.length-1]+1:0,st=f(t.transaction.data.toString()??""),k=U(n?.transactionTokenInfo),mt=M({data:st,identifier:s,highlight:k}),ct=L(),pt=h({to:`/${P}/${p}`,explorerAddress:ct}),dt=N===1||n?.needsSigning&&!i.includes(m),gt=u({input:et.toString(),decimals:C,addCommas:!0,digits:b}),lt=new yt(a.gasLimit).toFormat({decimalSeparator:",",groupSeparator:".",groupSize:3});return{commonData:{receiver:a.receiver.toString(),data:f(t.transaction.data.toString()??""),decodedData:mt,gasPrice:gt,gasLimit:lt,explorerLink:pt,ppu:c.ppu,ppuOptions:ot,egldLabel:o,tokenType:V(r),feeLimit:tt,feeInFiatLimit:nt,transactionsCount:N,currentIndex:m,currentIndexToSign:rt,highlight:k,scCall:B(n?.transactionTokenInfo),needsSigning:dt,isEditable:n?.needsSigning,providerName:at,address:p,username:z,origin:F.location?.origin},tokenTransaction:D,fungibleTransaction:y}}export{Kt as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XDLAYQD5.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-X6MN67NW.mjs";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-X6MN67NW.mjs";import{s as m}from"./chunk-ZYCDEAG7.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-XHOEWGQ4.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as w}from"./chunk-QXC4D3AC.mjs";import{a as g}from"./chunk-YGI3KXMZ.mjs";import{a as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as w}from"./chunk-QXC4D3AC.mjs";import{a as g}from"./chunk-YGI3KXMZ.mjs";import{a as b}from"./chunk-PQ2NXYA5.mjs";import{a as m}from"./chunk-6FXEHNGW.mjs";import{f}from"./chunk-PJWJZHIS.mjs";import x from"bignumber.js";var F=async({manager:e,provider:d})=>{if(!e||!d)throw new Error("Provider is not initialized.");let{network:u}=b(),s=e.getAccountScreenData()?.startIndex||0,r=e.getAllAccounts(),a=await w({baseURL:u.apiAddress}),l=o=>o.index>=s&&o.index<s+e.addressesPerPage,I=r.reduce((o,n)=>Object.assign(o,{[n.index]:n}),{}),A=r.filter(l),y=!!I[s];if(e.updateAccountScreen({isLoading:!y}),A.length>0){e.updateAccountScreen({accounts:A});return}try{let o=Math.floor(s/e.addressesPerPage),n=await d.getAccounts(o,e.addressesPerPage),L=n.map((t,c)=>({address:t,balance:"...",index:c+s})),P=[...r,...L],h=n.map(t=>m({address:t,baseURL:u.apiAddress})),j=await Promise.all(h),i=P.reduce((t,c)=>Object.assign(t,{[c.address]:c}),{});j.forEach(t=>{if(!t||!a||!a.price)return;let c=new x(t.balance),S=c.dividedBy(x(10).pow(18)).toFormat(4).toString();if(c.isNaN())return;let U=g({amount:f({input:t.balance}),usd:a?.price});i[t.address].balance=S,i[t.address].usdValue=U});let p=Object.values(i).sort((t,c)=>t.index-c.index),O=p.filter(l);e.updateAllAccounts(p),e.updateAccountScreen({accounts:O,isLoading:!1})}catch(o){console.error("Failed to fetch accounts:",o)}};export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-Y3MZT7FL.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as w}from"./chunk-YK7T6MBD.mjs";import{a as l}from"./chunk-KMJMQEXI.mjs";import{
|
|
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-ZYCDEAG7.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-Z5FBBXZT.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as et}from"./chunk-TXZ53KDQ.mjs";import{a as mt}from"./chunk-6UZHM5LW.mjs";import{a as b}from"./chunk-JAISYJMQ.mjs";import{a as pt}from"./chunk-RZJFCSMQ.mjs";import{a as w}from"./chunk-24YON5QD.mjs";import{a as Z,b as tt,g as st,l as ot}from"./chunk-CAA4VJRH.mjs";import{a as gt}from"./chunk-ATGMUGBA.mjs";import{b as S}from"./chunk-UCW5NENH.mjs";import{a as dt}from"./chunk-PJQKMSYS.mjs";import{a as It}from"./chunk-4ODPAHHA.mjs";import{a as ht}from"./chunk-MDVI45IV.mjs";import{a as ft}from"./chunk-QCZNG6A7.mjs";import{a as f}from"./chunk-JXBZL733.mjs";import{a as X}from"./chunk-UYIZDU7U.mjs";import{a as ut}from"./chunk-WCTJY5KM.mjs";import{a as L}from"./chunk-C3LVCOLX.mjs";import{a as C,f as lt}from"./chunk-JK3FLSXR.mjs";import{b as Tt}from"./chunk-RFOZXJED.mjs";import{d as rt}from"./chunk-KZSAOENX.mjs";import{k as it,l as nt,n as at}from"./chunk-65L5EBBL.mjs";import{a as A}from"./chunk-HORSXVIV.mjs";import{a as vt}from"./chunk-WRFEEFU6.mjs";import{a as Q}from"./chunk-LUJL3TMO.mjs";import{a as E}from"./chunk-QTKK6OSJ.mjs";import{a as J}from"./chunk-6ACLOUQ3.mjs";import{a as y}from"./chunk-6FXEHNGW.mjs";import{a as yt}from"./chunk-NJN53MJV.mjs";import{a as j}from"./chunk-YSCND2MX.mjs";import{a as V,b as q,s as u,u as Y}from"./chunk-TZ3YUCED.mjs";import{c as H,f as $}from"./chunk-UERJ6AKK.mjs";import{b as g}from"./chunk-VNLGNNIL.mjs";import{b as v}from"./chunk-6JM4DPOH.mjs";import{b as G,c as K,f as z}from"./chunk-NTEMINYA.mjs";import{b as Et}from"./chunk-76URRONH.mjs";import{a as ct}from"./chunk-6TYMK3S6.mjs";import{a as I}from"./chunk-PLUWBWJ2.mjs";import W from"lodash.isequal";import Lt from"lodash.isequal";var Ft="NOTIFICATIONS_FEED_STORE_SUBSCRIBE",x=class e extends ut{constructor(){super({uiDataUpdateEvent:"OPEN_NOTIFICATIONS_FEED",uiTag:"mvx-notifications-feed"});this.store=u();this.initialData={pendingTransactions:[],historicTransactions:[]};this.closeUI=async()=>{this.data.pendingTransactions.length>0?(this.unsubscribeFunctions.forEach(s=>s.forEach(o=>o())),this.unsubscribeFunctions.clear(),await this.uiElement?.closeWithAnimation()):super.closeUI()};this.data={...this.initialData}}static getInstance(){return e.instance||(e.instance=new e),e.instance}isNotificationsFeedOpen(){return this.isOpen}async openNotificationsFeed(){p.getInstance().hideToasts(),await this.openUI(),await this.updateDataAndNotifications();let o=this.store.subscribe(async({toasts:i,transactions:n},{toasts:a,transactions:c})=>{(!Lt(a.transactionToasts,i.transactionToasts)||!Lt(c,n))&&await this.updateDataAndNotifications()});this.unsubscribeFunctions.set(Ft,[o]),this.eventBus?.publish("OPEN_NOTIFICATIONS_FEED"),await this.updateDataAndNotifications()}async handleCloseUI(){let s=p.getInstance();await 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:o,toasts:i,network:n}=this.store.getState(),{pendingTransactionToasts:a}=await b({toastList:i,transactionsSessions:s,account:o});this.data.pendingTransactions=a,this.data.historicTransactions=await et.getTransactionsHistory({transactionsSessions:s,address:o.address,explorerAddress:n.network.explorerAddress,egldLabel:n.network.egldLabel}),await this.updateNotificationsFeed()}handleClearNotificationsFeedHistory(){rt(),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))}};import R from"bignumber.js";var N=class e{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=g(t),{isExpired:o}=E(s?.nativeAuthToken);o?h().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=g(t),o=$(t);return!!(s?.nativeAuthToken&&o)};this.addPlannedLogout=()=>{let t=h(),s=H(this.store.getState()),o=t.getType()===I.webview;if(!s||o)return;this.addLogoutWarning();let i=g(this.store.getState()),{secondsUntilExpires:n,expiresAt:a}=E(i?.nativeAuthToken),c=new R(String(n)),r=`${s}_${a}`,m=this.plannedLogoutKey===r;if(!(n&&c.isGreaterThan(0))||m)return;this.plannedLogoutKey=r,clearTimeout(this.plannedLogoutTimeoutRef??0);let d=c.times(1e3);this.actualLogoutTimeoutRef=setTimeout(()=>{p.getInstance().createCustomToast({toastId:"native-auth-logout",iconClassName:"warning",title:"Logging out",icon:"times",message:"Your session has expired!"}),this.actualLogoutTimeoutRef=null},d.toNumber()-3e3),this.plannedLogoutTimeoutRef=setTimeout(()=>{t.logout(),this.plannedLogoutTimeoutRef=null,this.plannedLogoutKey=null},d.toNumber())};this.addLogoutWarning=()=>{if(this.warningLogoutTimeoutRef)return;let t=v(this.store.getState()),s=g(this.store.getState()),{secondsUntilExpires:o}=E(s?.nativeAuthToken),i=new R(String(o)),n=i.times(1e3);if(!o||i.isLessThanOrEqualTo(0)||!t?.tokenExpirationToastWarningSeconds)return;let c=new R(t?.tokenExpirationToastWarningSeconds??0).times(1e3),r=i.times(1e3).minus(c),m=mt(n.toNumber()),l=r.isLessThanOrEqualTo(0)?0:r.toNumber();clearTimeout(this.warningLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=setTimeout(()=>{p.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 e.instance||(e.instance=new e),e.instance}};async function B({address:e,provider:t,apiAddress:s}){let o=await y({address:e,baseURL:s});if(!o)throw new Error("Account not found");Tt({address:e,providerType:t.getType()});let i={...o,username:A(o.username),nonce:L(o)};C(i),await S(e),w(),o.shard!=null&&await pt({shard:Number(o.shard),apiAddress:s})}async function kt(e){let{network:{apiAddress:t}}=f();await e.login();let s=await e.getAddress();if(!s)throw new Error("Address not found");return await B({address:s,provider:e,apiAddress:t}),{address:s}}async function Dt({provider:e,nativeAuthConfig:t,token:s}){let{network:{apiAddress:o}}=f(),i=Q(t),n=s;n||(n=await i.initialize({noCache:!0}));let{address:a,signature:c,...r}=await e.login({token:n});if(!a)return console.warn("Login cancelled."),null;if(!c)return console.error("Failed to sign login token"),null;let l=J(r?.accessToken)?r.accessToken:i.getToken({address:a,token:n,signature:c});q({loginToken:n,signature:c,nativeAuthToken:l});let d=await dt({loginToken:n,extraInfoData:{multisig:r?.multisig,impersonate:r?.impersonate},address:a});return await B({address:d,provider:e,apiAddress:o}),{address:d,signature:c}}async function bt(e,t){let s=v(Y());if(s)return await Dt({provider:e,nativeAuthConfig:s,token:t?.token});let{address:o}=await kt(e);return await S(o),w(),{address:o}}var U={error:{title:"Error when signing".toString(),iconClassName:"danger",toastId:`${tt}-${Date.now()}`},warning:{title:"Signing canceled".toString(),iconClassName:"warning",toastId:`${Z}-${Date.now()}`}},Rt={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"},Bt=e=>{for(let[t,s]of Object.entries(Rt))if(e.includes(t))return s;return"Error when signing"};function _(e,t="error"){let s=e?.message,o=Bt(s),n=o!=="Error when signing"?"warning":t,a=Object.keys(U).includes(n)?U[n]:U.error,{toastId:c,iconClassName:r,title:m}=a;return M({toastId:c,duration:1e4,icon:"times",iconClassName:r,message:o,title:m}),o}async function Ct({provider:e,transactions:t,options:s={}}){await St();let{isGuarded:o,activeGuardianAddress:i,nonce:n}=vt(),a=e.getType()===I.ledger,c=It({latestNonce:n,transactions:t}),r=i&&o&&!s.skipGuardian?c?.map(l=>(l.version=G.withTxOptions().valueOf(),l.options=z.withOptions({guarded:!0,...a?{hashSign:!0}:{}}).valueOf(),l.guardian=K.newFromBech32(i),l)):c,m=await e.signTransactions(r)??[];return lt(n+m.length),m}var O=class{constructor(t){this._isLoggingOut=!1;this.provider=t}init(){return this.provider.init()}async login(t){let s=await bt(this.provider,t);return V(this.provider.getType()),wt(this),N.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 gt({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 Ct({provider:this.provider,transactions:t,options:s})}catch(o){let i=_(o);throw new Error(i)}}async signMessage(t,s){try{return await ft({provider:this.provider,message:t,options:s})}catch(o){let i=_(o,"warning");throw new Error(i)}}async verifyMessage(t){return await ht(t)}cancelLogin(){this.provider.cancelLogin?.()}};var At=null;function wt(e){At=e}function h(){return At||new O(Et)}var Ut=async()=>{try{let e=X(),{network:t}=f();try{let s=await y({address:e,baseURL:t.apiAddress});if(s!=null){let o={...s,username:A(s.username),nonce:L(s)};return C(o),o}}catch(s){console.error("Failed getting account ",s)}}catch(e){console.error("Failed getting address ",e)}return null};async function St(){let e=h();if(e==null)throw"Provider not initialized";try{if(!e.init)throw"Current provider does not have init() function";return await e.init()?Ut():void 0}catch(t){console.error("Failed initializing provider ",t)}}var F={},T={},_t=(e,t)=>{u().setState(({toasts:s})=>{let o=s.customToasts.length>0?Math.max(...s.customToasts.map(r=>parseInt(r.toastId.split("-").pop()??"0"))):0,i=t??`custom-toast-${o+1}`,n=s.customToasts.findIndex(r=>r.toastId===i),a={...e,toastId:i};if(n!==-1){s.customToasts[n]=a;return}s.customToasts.push({...a,toastId:i})},!1,"addCustomToast")},P=e=>{u().setState(({toasts:t})=>{t.customToasts=t.customToasts.filter(s=>s.toastId!==e)},!1,"removeCustomToast")},xt=()=>{u().setState(({toasts:e})=>{e.customToasts=[]},!1,"removeAllCustomToasts")},zo=()=>{u().setState(({toasts:e})=>{e.transactionToasts=[]})},Nt=({toastId:e,totalDuration:t})=>{let s="";return u().setState(({toasts:o})=>{let i=o.transactionToasts.length>0?Math.max(...o.transactionToasts.map(n=>parseInt(n.toastId.split("-").pop()??"0"))):0;s=e??`transaction-toast-${i+1}`,o.transactionToasts.push({startTime:j(),endTime:yt(t),toastId:s})},!1,"addTransactionToast"),s},k=e=>{u().setState(({toasts:t})=>{t.transactionToasts=t.transactionToasts.filter(s=>s.toastId!==e)},!1,"removeTransactionToast"),delete T[e],delete F[e]},M=e=>{let{toasts:t}=u().getState(),s=t.customToasts.length>0?Math.max(...t.customToasts.map(i=>parseInt(i.toastId.split("-").pop()??"0"))):0,o=e.toastId||`custom-toast-${s+1}`;return e.onClose&&(T[o]=e.onClose),e.instantiateToastElement?(F[o]=e.instantiateToastElement,u().setState(({toasts:i})=>{let n=i.customToasts.findIndex(r=>r.toastId===o),a={...e,instantiateToastElement:null,toastId:o};n!==-1?i.customToasts[n]=a:i.customToasts.push(a)},!1,"createCustomToast"),o):(_t(e,o),o)};var Mt=1e4,D=class{constructor(){this.timeoutIntervals=new Map;this.successfulToastLifetime=Mt;this.start=t=>{if(this.stop(t),this.successfulToastLifetime<=0)return;let s=setTimeout(()=>{k(t)},this.successfulToastLifetime);this.timeoutIntervals.set(t,s)};this.startWithCustomDuration=(t,s)=>{if(this.stop(t),s<=0)return;let o=setTimeout(()=>{P(t);let i=T[t];i?.()},s);this.timeoutIntervals.set(t,o)};this.stop=t=>{let s=this.timeoutIntervals.get(t);s&&(clearTimeout(s),this.timeoutIntervals.delete(t))}}init({successfulToastLifetime:t}){this.successfulToastLifetime=t||Mt}destroy(){this.timeoutIntervals.forEach(t=>clearTimeout(t)),this.timeoutIntervals.clear()}};var p=class e{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 D,this.notificationsFeedManager=x.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:o},{toasts:i,transactions:n})=>{(!W(i.transactionToasts,s.transactionToasts)||!W(n,o))&&await this.updateTransactionToastsList(),W(i.customToasts,s.customToasts)||await this.updateCustomToastList()})}static getInstance(){return e.instance||(e.instance=new e),e.instance}handleCompletedTransaction(t){let{transactions:s}=this.store.getState(),o=s[t];if(!o)return!1;let{status:i}=o,n=at(i),a=nt(i),c=it(i),r=a||c||n;return r?(this.successfulToastLifetime&&this.lifetimeManager.start(t),r):(this.lifetimeManager.stop(t),r)}async createTransactionToast(t,s){let o=Nt({toastId:t,totalDuration:s});return this.handleCompletedTransaction(t),await this.updateTransactionToastsList(),o}createCustomToast(t){let s=M(t);return this.updateCustomToastList(),s}async updateTransactionToastsList(){let{toasts:t,transactions:s,account:o}=this.store.getState(),{pendingTransactionToasts:i,completedTransactionToasts:n}=await b({toastList:t,transactionsSessions:s,account:o});this.transactionToasts=[...i,...n];for(let a of t.transactionToasts)this.handleCompletedTransaction(a.toastId);await this.publishTransactionToasts()}async updateCustomToastList(){let{toasts:t}=this.store.getState();this.customToasts=[];for(let s of t.customToasts){let i="message"in s?{...s}:{...s,instantiateToastElement:F[s.toastId]};this.customToasts.push(i),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 ct.create({name:"mvx-toast-list"}),this.isCreatingElement=!1),this.toastsElement)}handleTransactionToastClose(t){this.handleCompletedTransaction(t)&&k(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.handleCloseToast.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("CLOSE_TOAST",this.handleCloseToast.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()}handleCloseToast(t){if(this.customToasts.find(o=>o.toastId===t)){this.lifetimeManager.stop(t);let o=T[t];o?.(),P(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(),xt(),this.eventBusUnsubscribeFunctions.forEach(t=>t()),this.eventBusUnsubscribeFunctions=[]}};export{x as a,F as b,T as c,_t as d,P as e,xt as f,zo as g,Nt as h,k as i,M as j,D as k,p as l,N as m,B as n,bt as o,_ as p,Ct as q,O as r,wt as s,h as t,St as u};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as et}from"./chunk-3M53H6YO.mjs";import{a as mt}from"./chunk-6UZHM5LW.mjs";import{a as b}from"./chunk-EA5FRGGI.mjs";import{a as pt}from"./chunk-6QSFQQMX.mjs";import{a as w}from"./chunk-EQOLC6DK.mjs";import{a as Z,b as tt,g as st,l as ot}from"./chunk-CAA4VJRH.mjs";import{a as gt}from"./chunk-VFWJ7ARF.mjs";import{b as S}from"./chunk-LSBFHWUY.mjs";import{a as dt}from"./chunk-V3W43G5K.mjs";import{a as It}from"./chunk-4ODPAHHA.mjs";import{a as ht}from"./chunk-MDVI45IV.mjs";import{a as ft}from"./chunk-C5FEAEFQ.mjs";import{a as f}from"./chunk-PQ2NXYA5.mjs";import{a as X}from"./chunk-HDET5UQE.mjs";import{a as ut}from"./chunk-URDBQFRH.mjs";import{a as L}from"./chunk-7I2JJXOJ.mjs";import{a as C,f as lt}from"./chunk-HOWOZOK5.mjs";import{b as Tt}from"./chunk-PXOF6KO2.mjs";import{d as rt}from"./chunk-OC6EUGTY.mjs";import{k as it,l as nt,n as at}from"./chunk-65L5EBBL.mjs";import{a as A}from"./chunk-HORSXVIV.mjs";import{a as vt}from"./chunk-HHRXRHFC.mjs";import{a as Q}from"./chunk-RCWWARI5.mjs";import{a as E}from"./chunk-QTKK6OSJ.mjs";import{a as J}from"./chunk-6ACLOUQ3.mjs";import{a as y}from"./chunk-6FXEHNGW.mjs";import{a as yt}from"./chunk-NJN53MJV.mjs";import{a as j}from"./chunk-YSCND2MX.mjs";import{a as V,b as q,q as u,s as Y}from"./chunk-ZYCDEAG7.mjs";import{c as H,f as $}from"./chunk-UERJ6AKK.mjs";import{b as g}from"./chunk-VNLGNNIL.mjs";import{b as v}from"./chunk-6JM4DPOH.mjs";import{b as G,c as K,f as z}from"./chunk-NTEMINYA.mjs";import{b as Et}from"./chunk-76URRONH.mjs";import{a as ct}from"./chunk-ZU6E3AQR.mjs";import{a as I}from"./chunk-PLUWBWJ2.mjs";import W from"lodash.isequal";import Lt from"lodash.isequal";var Ft="NOTIFICATIONS_FEED_STORE_SUBSCRIBE",x=class e extends ut{constructor(){super({uiDataUpdateEvent:"OPEN_NOTIFICATIONS_FEED",uiTag:"mvx-notifications-feed"});this.store=u();this.initialData={pendingTransactions:[],historicTransactions:[]};this.closeUI=async()=>{this.data.pendingTransactions.length>0?(this.unsubscribeFunctions.forEach(s=>s.forEach(o=>o())),this.unsubscribeFunctions.clear(),await this.uiElement?.closeWithAnimation()):super.closeUI()};this.data={...this.initialData}}static getInstance(){return e.instance||(e.instance=new e),e.instance}isNotificationsFeedOpen(){return this.isOpen}async openNotificationsFeed(){p.getInstance().hideToasts(),await this.openUI(),await this.updateDataAndNotifications();let o=this.store.subscribe(async({toasts:i,transactions:n},{toasts:a,transactions:c})=>{(!Lt(a.transactionToasts,i.transactionToasts)||!Lt(c,n))&&await this.updateDataAndNotifications()});this.unsubscribeFunctions.set(Ft,[o]),this.eventBus?.publish("OPEN_NOTIFICATIONS_FEED"),await this.updateDataAndNotifications()}async handleCloseUI(){let s=p.getInstance();await 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:o,toasts:i,network:n}=this.store.getState(),{pendingTransactionToasts:a}=await b({toastList:i,transactionsSessions:s,account:o});this.data.pendingTransactions=a,this.data.historicTransactions=await et.getTransactionsHistory({transactionsSessions:s,address:o.address,explorerAddress:n.network.explorerAddress,egldLabel:n.network.egldLabel}),await this.updateNotificationsFeed()}handleClearNotificationsFeedHistory(){rt(),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))}};import R from"bignumber.js";var N=class e{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=g(t),{isExpired:o}=E(s?.nativeAuthToken);o?h().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=g(t),o=$(t);return!!(s?.nativeAuthToken&&o)};this.addPlannedLogout=()=>{let t=h(),s=H(this.store.getState()),o=t.getType()===I.webview;if(!s||o)return;this.addLogoutWarning();let i=g(this.store.getState()),{secondsUntilExpires:n,expiresAt:a}=E(i?.nativeAuthToken),c=new R(String(n)),r=`${s}_${a}`,m=this.plannedLogoutKey===r;if(!(n&&c.isGreaterThan(0))||m)return;this.plannedLogoutKey=r,clearTimeout(this.plannedLogoutTimeoutRef??0);let d=c.times(1e3);this.actualLogoutTimeoutRef=setTimeout(()=>{p.getInstance().createCustomToast({toastId:"native-auth-logout",iconClassName:"warning",title:"Logging out",icon:"times",message:"Your session has expired!"}),this.actualLogoutTimeoutRef=null},d.toNumber()-3e3),this.plannedLogoutTimeoutRef=setTimeout(()=>{t.logout(),this.plannedLogoutTimeoutRef=null,this.plannedLogoutKey=null},d.toNumber())};this.addLogoutWarning=()=>{if(this.warningLogoutTimeoutRef)return;let t=v(this.store.getState()),s=g(this.store.getState()),{secondsUntilExpires:o}=E(s?.nativeAuthToken),i=new R(String(o)),n=i.times(1e3);if(!o||i.isLessThanOrEqualTo(0)||!t?.tokenExpirationToastWarningSeconds)return;let c=new R(t?.tokenExpirationToastWarningSeconds??0).times(1e3),r=i.times(1e3).minus(c),m=mt(n.toNumber()),l=r.isLessThanOrEqualTo(0)?0:r.toNumber();clearTimeout(this.warningLogoutTimeoutRef??0),this.warningLogoutTimeoutRef=setTimeout(()=>{p.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 e.instance||(e.instance=new e),e.instance}};async function B({address:e,provider:t,apiAddress:s}){let o=await y({address:e,baseURL:s});if(!o)throw new Error("Account not found");Tt({address:e,providerType:t.getType()});let i={...o,username:A(o.username),nonce:L(o)};C(i),await S(e),w(),o.shard!=null&&await pt({shard:Number(o.shard),apiAddress:s})}async function kt(e){let{network:{apiAddress:t}}=f();await e.login();let s=await e.getAddress();if(!s)throw new Error("Address not found");return await B({address:s,provider:e,apiAddress:t}),{address:s}}async function Dt({provider:e,nativeAuthConfig:t,token:s}){let{network:{apiAddress:o}}=f(),i=Q(t),n=s;n||(n=await i.initialize({noCache:!0}));let{address:a,signature:c,...r}=await e.login({token:n});if(!a)return console.warn("Login cancelled."),null;if(!c)return console.error("Failed to sign login token"),null;let l=J(r?.accessToken)?r.accessToken:i.getToken({address:a,token:n,signature:c});q({loginToken:n,signature:c,nativeAuthToken:l});let d=await dt({loginToken:n,extraInfoData:{multisig:r?.multisig,impersonate:r?.impersonate},address:a});return await B({address:d,provider:e,apiAddress:o}),{address:d,signature:c}}async function bt(e,t){let s=v(Y());if(s)return await Dt({provider:e,nativeAuthConfig:s,token:t?.token});let{address:o}=await kt(e);return await S(o),w(),{address:o}}var U={error:{title:"Error when signing".toString(),iconClassName:"danger",toastId:`${tt}-${Date.now()}`},warning:{title:"Signing canceled".toString(),iconClassName:"warning",toastId:`${Z}-${Date.now()}`}},Rt={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"},Bt=e=>{for(let[t,s]of Object.entries(Rt))if(e.includes(t))return s;return"Error when signing"};function _(e,t="error"){let s=e?.message,o=Bt(s),n=o!=="Error when signing"?"warning":t,a=Object.keys(U).includes(n)?U[n]:U.error,{toastId:c,iconClassName:r,title:m}=a;return M({toastId:c,duration:1e4,icon:"times",iconClassName:r,message:o,title:m}),o}async function Ct({provider:e,transactions:t,options:s={}}){await St();let{isGuarded:o,activeGuardianAddress:i,nonce:n}=vt(),a=e.getType()===I.ledger,c=It({latestNonce:n,transactions:t}),r=i&&o&&!s.skipGuardian?c?.map(l=>(l.version=G.withTxOptions().valueOf(),l.options=z.withOptions({guarded:!0,...a?{hashSign:!0}:{}}).valueOf(),l.guardian=K.newFromBech32(i),l)):c,m=await e.signTransactions(r)??[];return lt(n+m.length),m}var O=class{constructor(t){this._isLoggingOut=!1;this.provider=t}init(){return this.provider.init()}async login(t){let s=await bt(this.provider,t);return V(this.provider.getType()),wt(this),N.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 gt({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 Ct({provider:this.provider,transactions:t,options:s})}catch(o){let i=_(o);throw new Error(i)}}async signMessage(t,s){try{return await ft({provider:this.provider,message:t,options:s})}catch(o){let i=_(o,"warning");throw new Error(i)}}async verifyMessage(t){return await ht(t)}cancelLogin(){this.provider.cancelLogin?.()}};var At=null;function wt(e){At=e}function h(){return At||new O(Et)}var Ut=async()=>{try{let e=X(),{network:t}=f();try{let s=await y({address:e,baseURL:t.apiAddress});if(s!=null){let o={...s,username:A(s.username),nonce:L(s)};return C(o),o}}catch(s){console.error("Failed getting account ",s)}}catch(e){console.error("Failed getting address ",e)}return null};async function St(){let e=h();if(e==null)throw"Provider not initialized";try{if(!e.init)throw"Current provider does not have init() function";return await e.init()?Ut():void 0}catch(t){console.error("Failed initializing provider ",t)}}var F={},T={},_t=(e,t)=>{u().setState(({toasts:s})=>{let o=s.customToasts.length>0?Math.max(...s.customToasts.map(r=>parseInt(r.toastId.split("-").pop()??"0"))):0,i=t??`custom-toast-${o+1}`,n=s.customToasts.findIndex(r=>r.toastId===i),a={...e,toastId:i};if(n!==-1){s.customToasts[n]=a;return}s.customToasts.push({...a,toastId:i})},!1,"addCustomToast")},P=e=>{u().setState(({toasts:t})=>{t.customToasts=t.customToasts.filter(s=>s.toastId!==e)},!1,"removeCustomToast")},xt=()=>{u().setState(({toasts:e})=>{e.customToasts=[]},!1,"removeAllCustomToasts")},zo=()=>{u().setState(({toasts:e})=>{e.transactionToasts=[]})},Nt=({toastId:e,totalDuration:t})=>{let s="";return u().setState(({toasts:o})=>{let i=o.transactionToasts.length>0?Math.max(...o.transactionToasts.map(n=>parseInt(n.toastId.split("-").pop()??"0"))):0;s=e??`transaction-toast-${i+1}`,o.transactionToasts.push({startTime:j(),endTime:yt(t),toastId:s})},!1,"addTransactionToast"),s},k=e=>{u().setState(({toasts:t})=>{t.transactionToasts=t.transactionToasts.filter(s=>s.toastId!==e)},!1,"removeTransactionToast"),delete T[e],delete F[e]},M=e=>{let{toasts:t}=u().getState(),s=t.customToasts.length>0?Math.max(...t.customToasts.map(i=>parseInt(i.toastId.split("-").pop()??"0"))):0,o=e.toastId||`custom-toast-${s+1}`;return e.onClose&&(T[o]=e.onClose),e.instantiateToastElement?(F[o]=e.instantiateToastElement,u().setState(({toasts:i})=>{let n=i.customToasts.findIndex(r=>r.toastId===o),a={...e,instantiateToastElement:null,toastId:o};n!==-1?i.customToasts[n]=a:i.customToasts.push(a)},!1,"createCustomToast"),o):(_t(e,o),o)};var Mt=1e4,D=class{constructor(){this.timeoutIntervals=new Map;this.successfulToastLifetime=Mt;this.start=t=>{if(this.stop(t),this.successfulToastLifetime<=0)return;let s=setTimeout(()=>{k(t)},this.successfulToastLifetime);this.timeoutIntervals.set(t,s)};this.startWithCustomDuration=(t,s)=>{if(this.stop(t),s<=0)return;let o=setTimeout(()=>{P(t);let i=T[t];i?.()},s);this.timeoutIntervals.set(t,o)};this.stop=t=>{let s=this.timeoutIntervals.get(t);s&&(clearTimeout(s),this.timeoutIntervals.delete(t))}}init({successfulToastLifetime:t}){this.successfulToastLifetime=t||Mt}destroy(){this.timeoutIntervals.forEach(t=>clearTimeout(t)),this.timeoutIntervals.clear()}};var p=class e{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 D,this.notificationsFeedManager=x.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:o},{toasts:i,transactions:n})=>{(!W(i.transactionToasts,s.transactionToasts)||!W(n,o))&&await this.updateTransactionToastsList(),W(i.customToasts,s.customToasts)||await this.updateCustomToastList()})}static getInstance(){return e.instance||(e.instance=new e),e.instance}handleCompletedTransaction(t){let{transactions:s}=this.store.getState(),o=s[t];if(!o)return!1;let{status:i}=o,n=at(i),a=nt(i),c=it(i),r=a||c||n;return r?(this.successfulToastLifetime&&this.lifetimeManager.start(t),r):(this.lifetimeManager.stop(t),r)}async createTransactionToast(t,s){let o=Nt({toastId:t,totalDuration:s});return this.handleCompletedTransaction(t),await this.updateTransactionToastsList(),o}createCustomToast(t){let s=M(t);return this.updateCustomToastList(),s}async updateTransactionToastsList(){let{toasts:t,transactions:s,account:o}=this.store.getState(),{pendingTransactionToasts:i,completedTransactionToasts:n}=await b({toastList:t,transactionsSessions:s,account:o});this.transactionToasts=[...i,...n];for(let a of t.transactionToasts)this.handleCompletedTransaction(a.toastId);await this.publishTransactionToasts()}async updateCustomToastList(){let{toasts:t}=this.store.getState();this.customToasts=[];for(let s of t.customToasts){let i="message"in s?{...s}:{...s,instantiateToastElement:F[s.toastId]};this.customToasts.push(i),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 ct.create({name:"mvx-toast-list"}),this.isCreatingElement=!1),this.toastsElement)}handleTransactionToastClose(t){this.handleCompletedTransaction(t)&&k(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.handleCloseToast.bind(this)),this.eventBusUnsubscribeFunctions.push(()=>{this.eventBus?.unsubscribe("CLOSE_TOAST",this.handleCloseToast.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()}handleCloseToast(t){if(this.customToasts.find(o=>o.toastId===t)){this.lifetimeManager.stop(t);let o=T[t];o?.(),P(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(),xt(),this.eventBusUnsubscribeFunctions.forEach(t=>t()),this.eventBusUnsubscribeFunctions=[]}};export{x as a,F as b,T as c,_t as d,P as e,xt as f,zo as g,Nt as h,k as i,M as j,D as k,p as l,N as m,B as n,bt as o,_ as p,Ct as q,O as r,wt as s,h as t,St as u};
|
|
2
|
+
//# sourceMappingURL=chunk-ZDBSG2BU.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-LTAJZBHP.mjs";function r(t){try{if(!e)return;e.document.documentElement.dataset.mvxTheme=t}catch{console.log("Error switching the theme!")}}export{r as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZGAD3U3E.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as A}from"./chunk-2WU7D7YG.mjs";import{a as I}from"./chunk-EAJBSX6Y.mjs";import{a as b}from"./chunk-Y3BNMQFP.mjs";import{h as f}from"./chunk-ZDBSG2BU.mjs";import{h as u}from"./chunk-CAA4VJRH.mjs";import{b as S}from"./chunk-3ZEUVYQF.mjs";import{a as y}from"./chunk-OC6EUGTY.mjs";import{a as g}from"./chunk-L3MWDI6J.mjs";import{a as h}from"./chunk-HHRXRHFC.mjs";import{s as m}from"./chunk-ZYCDEAG7.mjs";import{b as T}from"./chunk-SAAOQW7P.mjs";import w from"axios";var r=class r{constructor(){this.setCallbacks=({onSuccess:a,onFail:t})=>{S({onSuccess:a,onFail:t})};this.send=async a=>{if(a.length===0)throw new Error("No transactions to send");try{if(!I(a))return await this.sendSignedTransactions(a);let t=await this.sendSignedBatchTransactions(a);if(!t.data||t.data.error)throw new Error(t.data?.error??"Failed to send transactions");return t.data.transactions}catch(t){throw t.response?.data?.message??t.message}};this.track=async(a,t={disableToasts:!1})=>{let n=this.sequentialToFlatArray(a).map(e=>({...e,status:e.status??"pending"})),o=g(n),s=y({transactions:n,transactionsDisplayInfo:t.transactionsDisplayInfo,status:o??"sent",sessionInformation:t.sessionInformation});if(t.disableToasts===!0)return s;let i=A(a);return f({toastId:s,totalDuration:i}),s};this.sendSignedTransactions=async a=>{let{apiAddress:t,apiTimeout:n}=T(m());return await Promise.all(a.map(async s=>{let i=await w.post(`${t}/transactions`,s.toPlainObject(),{timeout:Number(n)}),e=i.data.txHash;return{...s.toPlainObject(),...i.data,status:"pending",hash:e}}))};this.sendSignedBatchTransactions=async a=>{let{address:t}=h(),{apiAddress:n,apiTimeout:o}=T(m());if(!t)return{error:"Invalid address provided. You need to be logged in to send transactions"};let s=this.buildBatchId(t),e={transactions:a.map(p=>p.map(c=>c.toPlainObject())),id:s},{data:l}=await w.post(`${n}/batch`,e,{timeout:Number(o)}),B=l.transactions.map(p=>p.map(c=>{let d={...c,status:"pending",hash:c.hash};return b({data:d.data})&&(delete d.senderUsername,delete d.receiverUsername),d}));return{data:{...l,transactions:B}}};this.buildBatchId=a=>`${Date.now().toString()}${u}${a}`;this.sequentialToFlatArray=(a=[])=>this.getIsSequential(a)?a.flat():a;this.getIsSequential=a=>a?.every(t=>Array.isArray(t))}static getInstance(){return r.instance||(r.instance=new r),r.instance}};r.instance=null;var v=r;export{v as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZO7UCTX4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/managers/TransactionManager/TransactionManager.ts"],
|
|
4
|
+
"sourcesContent": ["import axios, { AxiosError } from 'axios';\nimport { BATCH_TRANSACTIONS_ID_SEPARATOR } from 'constants/transactions.constants';\nimport { Transaction } from 'lib/sdkCore';\nimport { getAccount } from 'methods/account/getAccount';\nimport { TransactionTrackingConfigType } from 'methods/initApp/initApp.types';\nimport { addTransactionToast } from 'store/actions/toasts/toastsActions';\nimport { createTransactionsSession } from 'store/actions/transactions/transactionsActions';\nimport { networkSelector } from 'store/selectors';\nimport { getState } from 'store/store';\nimport {\n TransactionBatchStatusesEnum,\n TransactionServerStatusesEnum\n} from 'types/enums.types';\nimport { BatchTransactionsResponseType } from 'types/serverTransactions.types';\nimport { SignedTransactionType } from 'types/transactions.types';\nimport { isGuardianTx } from 'utils/transactions/isGuardianTx';\nimport { getToastDuration } from './helpers/getToastDuration';\nimport { getTransactionsSessionStatus } from './helpers/getTransactionsStatus';\nimport { isBatchTransaction } from './helpers/isBatchTransaction';\nimport { registerSessionCallbacks } from './helpers/sessionCallbacks';\nimport { TransactionManagerTrackOptionsType } from './TransactionManager.types';\n\nexport class TransactionManager {\n private static instance: TransactionManager | null = null;\n\n public static getInstance(): TransactionManager {\n if (!TransactionManager.instance) {\n TransactionManager.instance = new TransactionManager();\n }\n return TransactionManager.instance;\n }\n\n /**\n * Set callbacks to be executed when the transaction session is successful or fails.\n * @param onSuccess - The callback to run when the transaction session is successful.\n * @param onFail - The callback to run when the transaction session fails.\n * @example\n * ```ts\n * TransactionManager.setCallbacks({\n * onSuccess: (sessionId) => {\n * console.log('Transaction session successful', sessionId);\n * },\n * });\n */\n public setCallbacks = ({\n onSuccess,\n onFail\n }: TransactionTrackingConfigType) => {\n registerSessionCallbacks({ onSuccess, onFail });\n };\n\n public send = async (\n signedTransactions: Transaction[] | Transaction[][]\n ): Promise<SignedTransactionType[] | SignedTransactionType[][]> => {\n if (signedTransactions.length === 0) {\n throw new Error('No transactions to send');\n }\n\n try {\n if (!isBatchTransaction(signedTransactions)) {\n const flatTransactions =\n await this.sendSignedTransactions(signedTransactions);\n\n return flatTransactions;\n }\n\n const sentTransactions =\n await this.sendSignedBatchTransactions(signedTransactions);\n\n if (!sentTransactions.data || sentTransactions.data.error) {\n throw new Error(\n sentTransactions.data?.error ?? 'Failed to send transactions'\n );\n }\n\n const groupedTransactions = sentTransactions.data.transactions;\n\n return groupedTransactions;\n } catch (error) {\n const responseData = <{ message: string }>(\n (error as AxiosError).response?.data\n );\n throw responseData?.message ?? (error as Error).message;\n }\n };\n\n public track = async (\n sentTransactions: SignedTransactionType[] | SignedTransactionType[][],\n options: TransactionManagerTrackOptionsType = { disableToasts: false }\n ): Promise<string> => {\n const flatTransactions = this.sequentialToFlatArray(sentTransactions).map(\n (transaction) => ({\n ...transaction,\n status: transaction.status ?? TransactionServerStatusesEnum.pending\n })\n );\n\n const status = getTransactionsSessionStatus(flatTransactions);\n\n const sessionId = createTransactionsSession({\n transactions: flatTransactions,\n transactionsDisplayInfo: options.transactionsDisplayInfo,\n status: status ?? TransactionBatchStatusesEnum.sent,\n sessionInformation: options.sessionInformation\n });\n\n if (options.disableToasts === true) {\n return sessionId;\n }\n\n const totalDuration = getToastDuration(sentTransactions);\n addTransactionToast({\n toastId: sessionId,\n totalDuration\n });\n\n return sessionId;\n };\n\n private readonly sendSignedTransactions = async (\n signedTransactions: Transaction[]\n ): Promise<SignedTransactionType[]> => {\n const { apiAddress, apiTimeout } = networkSelector(getState());\n\n const mergedTransactions = await Promise.all(\n signedTransactions.map(async (transaction) => {\n const response = await axios.post(\n `${apiAddress}/transactions`,\n transaction.toPlainObject(),\n { timeout: Number(apiTimeout) }\n );\n\n const txHash = response.data.txHash;\n\n return {\n ...transaction.toPlainObject(),\n ...response.data,\n status: TransactionServerStatusesEnum.pending,\n hash: txHash\n };\n })\n );\n\n return mergedTransactions;\n };\n\n private readonly sendSignedBatchTransactions = async (\n signedTransactions: Transaction[][]\n ) => {\n const { address } = getAccount();\n const { apiAddress, apiTimeout } = networkSelector(getState());\n\n if (!address) {\n return {\n error:\n 'Invalid address provided. You need to be logged in to send transactions'\n };\n }\n\n const batchId = this.buildBatchId(address);\n\n const plainTransactions = signedTransactions.map((group) =>\n group.map((tx) => tx.toPlainObject())\n );\n\n const payload = {\n transactions: plainTransactions,\n id: batchId\n };\n\n const { data } = await axios.post<BatchTransactionsResponseType>(\n `${apiAddress}/batch`,\n payload,\n {\n timeout: Number(apiTimeout)\n }\n );\n\n const parsedTransactions = data.transactions.map((group) =>\n group.map((tx) => {\n const parsedTx: SignedTransactionType = {\n ...tx,\n status: TransactionServerStatusesEnum.pending,\n hash: tx.hash\n };\n\n // Remove when the protocol supports usernames for guardian transactions\n if (isGuardianTx({ data: parsedTx.data })) {\n delete parsedTx.senderUsername;\n delete parsedTx.receiverUsername;\n }\n\n return parsedTx;\n })\n );\n\n return {\n data: {\n ...data,\n transactions: parsedTransactions\n }\n };\n };\n\n private readonly buildBatchId = (address: string) => {\n const sessionId = Date.now().toString();\n return `${sessionId}${BATCH_TRANSACTIONS_ID_SEPARATOR}${address}`;\n };\n private readonly sequentialToFlatArray = (\n transactions: SignedTransactionType[] | SignedTransactionType[][] = []\n ) =>\n this.getIsSequential(transactions)\n ? transactions.flat()\n : (transactions as SignedTransactionType[]);\n\n private readonly getIsSequential = (\n transactions?: SignedTransactionType[] | SignedTransactionType[][]\n ) => transactions?.every((transaction) => Array.isArray(transaction));\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["axios", "_TransactionManager", "onSuccess", "onFail", "registerSessionCallbacks", "signedTransactions", "isBatchTransaction", "sentTransactions", "error", "options", "flatTransactions", "transaction", "status", "getTransactionsSessionStatus", "sessionId", "createTransactionsSession", "totalDuration", "getToastDuration", "addTransactionToast", "apiAddress", "apiTimeout", "networkSelector", "getState", "response", "axios", "txHash", "address", "getAccount", "batchId", "payload", "group", "tx", "data", "parsedTransactions", "parsedTx", "isGuardianTx", "BATCH_TRANSACTIONS_ID_SEPARATOR", "transactions", "TransactionManager"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-LTAJZBHP.mjs";var n=class{static get create(){return this.createComponent}static set create(e){this.createComponent=e}};n.createComponent=async({name:e,anchor:m})=>{if(!t?.customElements?.get(e))return null;let o=t.document.createElement(e);return(m||t.document.body).appendChild(o),await customElements.whenDefined(e),o};export{n as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZU6E3AQR.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as s,f as a}from"./chunk-UERJ6AKK.mjs";import{f as p}from"./chunk-VNLGNNIL.mjs";import{a as d,b as L}from"./chunk-NLRDRI7Q.mjs";import{a as k}from"./chunk-2MP3RCTQ.mjs";import{a as v}from"./chunk-KRWR77QE.mjs";import{b as y}from"./chunk-A7FTKX2A.mjs";import{a as c,b as g}from"./chunk-WZGG2YKQ.mjs";import{a as m,b as f}from"./chunk-M7BM6QPB.mjs";import{a as T}from"./chunk-CYCS3K6Q.mjs";import{a as S,b as u}from"./chunk-VKEESSBI.mjs";import{a as x}from"./chunk-2DNGCNYM.mjs";import{a as I}from"./chunk-NB7A4C7L.mjs";import{c as l}from"./chunk-NTEMINYA.mjs";import{createJSONStorage as O,devtools as V,persist as H}from"zustand/middleware";import{immer as N}from"zustand/middleware/immer";import{createStore as J}from"zustand/vanilla";var A=e=>{e.account=c,e.loginInfo=m,e.transactions=d,e.toasts=S};function h(){return new Date().setHours(new Date().getHours()+24)}function w(e){if(e==null){E();return}b(e)}var C=e=>{let t=a(e),n=p(e),{address:i,publicKey:M}=s(e);if(i&&M!==new l(i).hex()&&A(e),!t)return;if(n==null){w(h());return}let P=Date.now();n-P<0&&(w(null),o().setState(A))};var z=(e,t)=>{C(e)};var W=e=>{let t=J(V(H(N((...n)=>({network:x(...n),account:g(...n),loginInfo:f(...n),config:T(...n),transactions:L(...n),toasts:u(...n),cache:y(...n),ui:I(...n)})),{name:"sdk-dapp-store",storage:O(e)})));return t.subscribe(z),t},r,D=e=>{r=e},o=()=>(r||D(W(()=>new v)),r),pe=(e=k)=>D(W(e)),le=()=>o().getState();var me=e=>o().setState(({loginInfo:t})=>{t.providerType=e},!1,"setProviderType"),fe=e=>o().setState(({loginInfo:t})=>{t.tokenLogin=e},!1,"setTokenLogin"),Se=e=>o().setState(({loginInfo:t})=>{if(t.tokenLogin!=null){t.tokenLogin.loginToken=e;return}t.tokenLogin={loginToken:e}},!1,"setLoginToken"),ue=e=>o().setState(({loginInfo:t})=>{t?.tokenLogin!=null&&(t.tokenLogin.signature=e)},!1,"setTokenLoginSignature"),de=e=>o().setState(({loginInfo:t})=>{t.walletConnectLogin=e},!1,"setWalletConnectLogin"),Le=e=>o().setState(({loginInfo:t})=>{t.ledgerLogin=e},!1,"setLedgerLogin"),xe=e=>o().setState(({loginInfo:t})=>{t.isWalletConnectV2Initialized=e},!1,"setIsWalletConnectV2Initialized"),E=()=>o().setState(({loginInfo:e})=>{e.loginExpiresAt=null},!1,"removeLoginExpiresAt"),b=e=>o().setState(({loginInfo:t})=>{t.loginExpiresAt=e},!1,"addLoginExpiresAt");export{me as a,fe as b,Se as c,ue as d,de as e,Le as f,xe as g,E as h,b as i,A as j,h as k,w as l,C as m,z as n,W as o,D as p,o as q,pe as r,le as s};
|
|
2
|
+
//# sourceMappingURL=chunk-ZYCDEAG7.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/store.ts", "../../src/store/middleware/logoutMiddleware.ts", "../../src/store/middleware/applyMiddlewares.ts", "../../src/store/actions/loginInfo/loginInfoActions.ts"],
|
|
4
|
-
"sourcesContent": ["import { createJSONStorage, devtools, persist } from 'zustand/middleware';\nimport { immer } from 'zustand/middleware/immer';\nimport { createStore } from 'zustand/vanilla';\nimport { applyMiddlewares } from './middleware';\nimport {\n networkSlice,\n accountSlice,\n loginInfoSlice,\n configSlice,\n toastSlice,\n cacheSlice,\n uiSlice\n} from './slices';\nimport { transactionsSlice } from './slices/transactions';\nimport {\n InMemoryStorage,\n defaultStorageCallback,\n StorageCallback\n} from './storage';\nimport { StoreType } from './store.types';\n\nexport type MutatorsIn = [\n ['zustand/devtools', never],\n ['zustand/persist', unknown],\n ['zustand/immer', never]\n];\n\nexport type MutatorsOut = [\n ['zustand/devtools', never],\n ['zustand/persist', StoreType],\n ['zustand/immer', never]\n];\n\nexport const createDAppStore = (getStorageCallback: StorageCallback) => {\n const store = createStore<StoreType, MutatorsOut>(\n devtools(\n persist(\n immer((...args) => ({\n network: networkSlice(...args),\n account: accountSlice(...args),\n loginInfo: loginInfoSlice(...args),\n config: configSlice(...args),\n transactions: transactionsSlice(...args),\n toasts: toastSlice(...args),\n cache: cacheSlice(...args),\n ui: uiSlice(...args)\n })),\n {\n name: 'sdk-dapp-store',\n storage: createJSONStorage(getStorageCallback)\n }\n )\n )\n );\n store.subscribe(applyMiddlewares);\n return store;\n};\n\nexport type StoreApi = ReturnType<typeof createDAppStore>;\n\nlet store: StoreApi;\n\nexport const setDAppStore = (_store: StoreApi) => {\n store = _store;\n};\n\nexport const getStore = () => {\n if (!store) {\n setDAppStore(createDAppStore(() => new InMemoryStorage()));\n }\n return store;\n};\n\n/**\n * Initialize store with the preferred storage by passing a callback.\n * Default storage is localStorage.\n * You can pass your own storage.\n * Call this function before using store, ideally before app bootstrapping.\n * @param getStorageCallback\n * @default () => localStorage\n * @returns persistent store instance\n * @example\n * initStore(() => window.localStorage);\n * initStore(() => window.sessionStorage);\n * initStore(() => new InMemoryStorage());\n * */\nexport const initStore = (getStorageCallback = defaultStorageCallback) => {\n return setDAppStore(createDAppStore(getStorageCallback));\n};\n\nexport const getState = () => getStore().getState();\n", "import { WritableDraft } from 'immer';\nimport { Address } from 'lib/sdkCore';\nimport {\n addLoginExpiresAt,\n removeLoginExpiresAt\n} from 'store/actions/loginInfo/loginInfoActions';\nimport {\n accountInfoSelector,\n isLoggedInSelector,\n loginExpiresAtSelector\n} from 'store/selectors';\nimport { initialState as initialAccountState } from 'store/slices/account/accountSlice';\nimport { initialState as initialLoginInfoState } from 'store/slices/loginInfo/loginInfoSlice';\nimport { initialState as initialToastState } from 'store/slices/toast/toastSlice';\nimport { initialState as initialTransactionsState } from 'store/slices/transactions/transactionsSlice';\nimport { getStore } from 'store/store';\nimport { StoreType } from '../store.types';\n\nexport const resetStore = (store: WritableDraft<StoreType>) => {\n store.account = initialAccountState;\n store.loginInfo = initialLoginInfoState;\n store.transactions = initialTransactionsState;\n store.toasts = initialToastState;\n};\n\nexport function getNewLoginExpiresTimestamp() {\n return new Date().setHours(new Date().getHours() + 24);\n}\n\nexport function setLoginExpiresAt(expiresAt: number | null) {\n if (expiresAt == null) {\n removeLoginExpiresAt();\n return;\n }\n addLoginExpiresAt(expiresAt);\n}\n\nexport const logoutMiddleware = (state: StoreType) => {\n const isLoggedIn = isLoggedInSelector(state);\n const loginTimestamp = loginExpiresAtSelector(state);\n const { address, publicKey } = accountInfoSelector(state);\n\n if (address && publicKey !== new Address(address).hex()) {\n resetStore(state);\n }\n\n if (!isLoggedIn) {\n return;\n }\n\n if (loginTimestamp == null) {\n setLoginExpiresAt(getNewLoginExpiresTimestamp());\n return;\n }\n\n const now = Date.now();\n const isExpired = loginTimestamp - now < 0;\n\n if (isExpired) {\n // logout\n setLoginExpiresAt(null);\n getStore().setState(resetStore);\n }\n};\n", "import { StoreType } from '../store.types';\nimport { logoutMiddleware } from './logoutMiddleware';\n\nexport const applyMiddlewares = (state: StoreType, _prevState: StoreType) => {\n logoutMiddleware(state);\n};\n", "import { ProviderType } from 'providers/types/providerFactory.types';\nimport {\n LedgerLoginType,\n
|
|
5
|
-
"mappings": "wjBAAA,OAAS,qBAAAA,EAAmB,YAAAC,EAAU,WAAAC,MAAe,qBACrD,OAAS,SAAAC,MAAa,2BACtB,OAAS,eAAAC,MAAmB,kBCgBrB,IAAMC,EAAcC,GAAoC,CAC7DA,EAAM,QAAUC,EAChBD,EAAM,UAAYC,EAClBD,EAAM,aAAeC,EACrBD,EAAM,OAASC,CACjB,EAEO,SAASC,GAA8B,CAC5C,OAAO,IAAI,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,EAAI,EAAE,CACvD,CAEO,SAASC,EAAkBC,EAA0B,CAC1D,GAAIA,GAAa,KAAM,CACrBC,EAAqB,EACrB,MACF,CACAC,EAAkBF,CAAS,CAC7B,CAEO,IAAMG,EAAoBC,GAAqB,CACpD,IAAMC,EAAaC,EAAmBF,CAAK,EACrCG,EAAiBC,EAAuBJ,CAAK,EAC7C,CAAE,QAAAK,EAAS,UAAAC,CAAU,EAAIC,EAAoBP,CAAK,EAMxD,GAJIK,GAAWC,IAAc,IAAIE,EAAQH,CAAO,EAAE,IAAI,GACpDd,EAAWS,CAAK,EAGd,CAACC,EACH,OAGF,GAAIE,GAAkB,KAAM,CAC1BR,EAAkBD,EAA4B,CAAC,EAC/C,MACF,CAEA,IAAMe,EAAM,KAAK,IAAI,EACHN,EAAiBM,EAAM,IAIvCd,EAAkB,IAAI,EACtBe,EAAS,EAAE,SAASnB,CAAU,EAElC,EC5DO,IAAMoB,EAAmB,CAACC,EAAkBC,IAA0B,CAC3EC,EAAiBF,CAAK,CACxB,EF4BO,IAAMG,EAAmBC,GAAwC,CACtE,IAAMC,EAAQC,EACZC,EACEC,EACEC,EAAM,IAAIC,KAAU,CAClB,QAASC,EAAa,GAAGD,CAAI,EAC7B,QAASE,EAAa,GAAGF,CAAI,EAC7B,UAAWG,EAAe,GAAGH,CAAI,EACjC,OAAQI,EAAY,GAAGJ,CAAI,EAC3B,aAAcK,EAAkB,GAAGL,CAAI,EACvC,OAAQM,EAAW,GAAGN,CAAI,EAC1B,MAAOO,EAAW,GAAGP,CAAI,EACzB,GAAIQ,EAAQ,GAAGR,CAAI,CACrB,EAAE,EACF,CACE,KAAM,iBACN,QAASS,EAAkBf,CAAkB,CAC/C,CACF,CACF,CACF,EACA,OAAAC,EAAM,UAAUe,CAAgB,EACzBf,CACT,EAIIA,EAESgB,EAAgBC,GAAqB,CAChDjB,EAAQiB,CACV,EAEaC,EAAW,KACjBlB,GACHgB,EAAalB,EAAgB,IAAM,IAAIqB,CAAiB,CAAC,EAEpDnB,GAgBIoB,GAAY,CAACrB,EAAqBsB,IACtCL,EAAalB,EAAgBC,CAAkB,CAAC,EAG5CuB,GAAW,IAAMJ,EAAS,EAAE,SAAS,
|
|
6
|
-
"names": ["createJSONStorage", "devtools", "persist", "immer", "createStore", "resetStore", "store", "initialState", "getNewLoginExpiresTimestamp", "setLoginExpiresAt", "expiresAt", "removeLoginExpiresAt", "addLoginExpiresAt", "logoutMiddleware", "state", "isLoggedIn", "isLoggedInSelector", "loginTimestamp", "loginExpiresAtSelector", "address", "publicKey", "accountInfoSelector", "Address", "now", "getStore", "applyMiddlewares", "state", "_prevState", "logoutMiddleware", "createDAppStore", "getStorageCallback", "store", "createStore", "devtools", "persist", "immer", "args", "networkSlice", "accountSlice", "loginInfoSlice", "configSlice", "transactionsSlice", "toastSlice", "cacheSlice", "uiSlice", "createJSONStorage", "applyMiddlewares", "setDAppStore", "_store", "getStore", "InMemoryStorage", "initStore", "defaultStorageCallback", "getState", "setProviderType", "providerType", "getStore", "state", "setTokenLogin", "tokenLogin", "setLoginToken", "loginToken", "setTokenLoginSignature", "signature", "
|
|
4
|
+
"sourcesContent": ["import { createJSONStorage, devtools, persist } from 'zustand/middleware';\nimport { immer } from 'zustand/middleware/immer';\nimport { createStore } from 'zustand/vanilla';\nimport { applyMiddlewares } from './middleware';\nimport {\n networkSlice,\n accountSlice,\n loginInfoSlice,\n configSlice,\n toastSlice,\n cacheSlice,\n uiSlice\n} from './slices';\nimport { transactionsSlice } from './slices/transactions';\nimport {\n InMemoryStorage,\n defaultStorageCallback,\n StorageCallback\n} from './storage';\nimport { StoreType } from './store.types';\n\nexport type MutatorsIn = [\n ['zustand/devtools', never],\n ['zustand/persist', unknown],\n ['zustand/immer', never]\n];\n\nexport type MutatorsOut = [\n ['zustand/devtools', never],\n ['zustand/persist', StoreType],\n ['zustand/immer', never]\n];\n\nexport const createDAppStore = (getStorageCallback: StorageCallback) => {\n const store = createStore<StoreType, MutatorsOut>(\n devtools(\n persist(\n immer((...args) => ({\n network: networkSlice(...args),\n account: accountSlice(...args),\n loginInfo: loginInfoSlice(...args),\n config: configSlice(...args),\n transactions: transactionsSlice(...args),\n toasts: toastSlice(...args),\n cache: cacheSlice(...args),\n ui: uiSlice(...args)\n })),\n {\n name: 'sdk-dapp-store',\n storage: createJSONStorage(getStorageCallback)\n }\n )\n )\n );\n store.subscribe(applyMiddlewares);\n return store;\n};\n\nexport type StoreApi = ReturnType<typeof createDAppStore>;\n\nlet store: StoreApi;\n\nexport const setDAppStore = (_store: StoreApi) => {\n store = _store;\n};\n\nexport const getStore = () => {\n if (!store) {\n setDAppStore(createDAppStore(() => new InMemoryStorage()));\n }\n return store;\n};\n\n/**\n * Initialize store with the preferred storage by passing a callback.\n * Default storage is localStorage.\n * You can pass your own storage.\n * Call this function before using store, ideally before app bootstrapping.\n * @param getStorageCallback\n * @default () => localStorage\n * @returns persistent store instance\n * @example\n * initStore(() => window.localStorage);\n * initStore(() => window.sessionStorage);\n * initStore(() => new InMemoryStorage());\n * */\nexport const initStore = (getStorageCallback = defaultStorageCallback) => {\n return setDAppStore(createDAppStore(getStorageCallback));\n};\n\nexport const getState = () => getStore().getState();\n", "import { WritableDraft } from 'immer';\nimport { Address } from 'lib/sdkCore';\nimport {\n addLoginExpiresAt,\n removeLoginExpiresAt\n} from 'store/actions/loginInfo/loginInfoActions';\nimport {\n accountInfoSelector,\n isLoggedInSelector,\n loginExpiresAtSelector\n} from 'store/selectors';\nimport { initialState as initialAccountState } from 'store/slices/account/accountSlice';\nimport { initialState as initialLoginInfoState } from 'store/slices/loginInfo/loginInfoSlice';\nimport { initialState as initialToastState } from 'store/slices/toast/toastSlice';\nimport { initialState as initialTransactionsState } from 'store/slices/transactions/transactionsSlice';\nimport { getStore } from 'store/store';\nimport { StoreType } from '../store.types';\n\nexport const resetStore = (store: WritableDraft<StoreType>) => {\n store.account = initialAccountState;\n store.loginInfo = initialLoginInfoState;\n store.transactions = initialTransactionsState;\n store.toasts = initialToastState;\n};\n\nexport function getNewLoginExpiresTimestamp() {\n return new Date().setHours(new Date().getHours() + 24);\n}\n\nexport function setLoginExpiresAt(expiresAt: number | null) {\n if (expiresAt == null) {\n removeLoginExpiresAt();\n return;\n }\n addLoginExpiresAt(expiresAt);\n}\n\nexport const logoutMiddleware = (state: StoreType) => {\n const isLoggedIn = isLoggedInSelector(state);\n const loginTimestamp = loginExpiresAtSelector(state);\n const { address, publicKey } = accountInfoSelector(state);\n\n if (address && publicKey !== new Address(address).hex()) {\n resetStore(state);\n }\n\n if (!isLoggedIn) {\n return;\n }\n\n if (loginTimestamp == null) {\n setLoginExpiresAt(getNewLoginExpiresTimestamp());\n return;\n }\n\n const now = Date.now();\n const isExpired = loginTimestamp - now < 0;\n\n if (isExpired) {\n // logout\n setLoginExpiresAt(null);\n getStore().setState(resetStore);\n }\n};\n", "import { StoreType } from '../store.types';\nimport { logoutMiddleware } from './logoutMiddleware';\n\nexport const applyMiddlewares = (state: StoreType, _prevState: StoreType) => {\n logoutMiddleware(state);\n};\n", "import { ProviderType } from 'providers/types/providerFactory.types';\nimport {\n LedgerLoginType,\n WalletConnectLoginType\n} from 'store/slices/loginInfo/loginInfo.types';\nimport { getStore } from 'store/store';\nimport { TokenLoginType } from 'types/login.types';\n\nexport const setProviderType = <T extends ProviderType = ProviderType>(\n providerType: T\n) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.providerType = providerType;\n },\n false,\n 'setProviderType'\n );\n\nexport const setTokenLogin = (tokenLogin: TokenLoginType) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.tokenLogin = tokenLogin;\n },\n false,\n 'setTokenLogin'\n );\n\nexport const setLoginToken = (loginToken: string) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n if (state.tokenLogin != null) {\n state.tokenLogin.loginToken = loginToken;\n return;\n }\n state.tokenLogin = {\n loginToken\n };\n },\n false,\n 'setLoginToken'\n );\n\nexport const setTokenLoginSignature = (signature: string) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n if (state?.tokenLogin != null) {\n state.tokenLogin.signature = signature;\n }\n },\n false,\n 'setTokenLoginSignature'\n );\n\nexport const setWalletConnectLogin = (\n walletConnectLogin: WalletConnectLoginType | null\n) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.walletConnectLogin = walletConnectLogin;\n },\n false,\n 'setWalletConnectLogin'\n );\n\nexport const setLedgerLogin = (ledgerLogin: LedgerLoginType | null) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.ledgerLogin = ledgerLogin;\n },\n false,\n 'setLedgerLogin'\n );\n\nexport const setIsWalletConnectV2Initialized = (isInitialized: boolean) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.isWalletConnectV2Initialized = isInitialized;\n },\n false,\n 'setIsWalletConnectV2Initialized'\n );\n\nexport const removeLoginExpiresAt = () =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.loginExpiresAt = null;\n },\n false,\n 'removeLoginExpiresAt'\n );\n\nexport const addLoginExpiresAt = (expiresAt: number) =>\n getStore().setState(\n ({ loginInfo: state }) => {\n state.loginExpiresAt = expiresAt;\n },\n false,\n 'addLoginExpiresAt'\n );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["createJSONStorage", "devtools", "persist", "immer", "createStore", "resetStore", "store", "initialState", "getNewLoginExpiresTimestamp", "setLoginExpiresAt", "expiresAt", "removeLoginExpiresAt", "addLoginExpiresAt", "logoutMiddleware", "state", "isLoggedIn", "isLoggedInSelector", "loginTimestamp", "loginExpiresAtSelector", "address", "publicKey", "accountInfoSelector", "Address", "now", "getStore", "applyMiddlewares", "state", "_prevState", "logoutMiddleware", "createDAppStore", "getStorageCallback", "store", "createStore", "devtools", "persist", "immer", "args", "networkSlice", "accountSlice", "loginInfoSlice", "configSlice", "transactionsSlice", "toastSlice", "cacheSlice", "uiSlice", "createJSONStorage", "applyMiddlewares", "setDAppStore", "_store", "getStore", "InMemoryStorage", "initStore", "defaultStorageCallback", "getState", "setProviderType", "providerType", "getStore", "state", "setTokenLogin", "tokenLogin", "setLoginToken", "loginToken", "setTokenLoginSignature", "signature", "setWalletConnectLogin", "walletConnectLogin", "setLedgerLogin", "ledgerLogin", "setIsWalletConnectV2Initialized", "isInitialized", "removeLoginExpiresAt", "addLoginExpiresAt", "expiresAt"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../__chunks__/chunk-AXUYY4T7.mjs";import"../../__chunks__/chunk-6ET5BDZH.mjs";import"../../__chunks__/chunk-LSKZWWBZ.mjs";import"../../__chunks__/chunk-3GGBXXXJ.mjs";import"../../__chunks__/chunk-X6MN67NW.mjs";import"../../__chunks__/chunk-KD2IQ32V.mjs";import"../../__chunks__/chunk-5Y2ZDPP6.mjs";import"../../__chunks__/chunk-CDQ2BNUD.mjs";import"../../__chunks__/chunk-LHEH7L4L.mjs";import"../../__chunks__/chunk-
|
|
1
|
+
import{a}from"../../__chunks__/chunk-AXUYY4T7.mjs";import"../../__chunks__/chunk-6ET5BDZH.mjs";import"../../__chunks__/chunk-LSKZWWBZ.mjs";import"../../__chunks__/chunk-3GGBXXXJ.mjs";import"../../__chunks__/chunk-X6MN67NW.mjs";import"../../__chunks__/chunk-KD2IQ32V.mjs";import"../../__chunks__/chunk-5Y2ZDPP6.mjs";import"../../__chunks__/chunk-CDQ2BNUD.mjs";import"../../__chunks__/chunk-LHEH7L4L.mjs";import"../../__chunks__/chunk-B47MW4MQ.mjs";import"../../__chunks__/chunk-EJV4VNJG.mjs";import"../../__chunks__/chunk-RXEX2FW6.mjs";import"../../__chunks__/chunk-FI444OX3.mjs";import"../../__chunks__/chunk-ULUZWP2P.mjs";import"../../__chunks__/chunk-MGFIOCA4.mjs";import"../../__chunks__/chunk-GGBMHKR4.mjs";import"../../__chunks__/chunk-GLXG5BES.mjs";import"../../__chunks__/chunk-PLUWBWJ2.mjs";import"../../__chunks__/chunk-LTAJZBHP.mjs";export{a as getScamAddressData};
|
|
2
2
|
//# sourceMappingURL=getScamAddressData.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../__chunks__/chunk-
|
|
1
|
+
import{a}from"../../__chunks__/chunk-KZPUZR2Y.mjs";import"../../__chunks__/chunk-ZYCDEAG7.mjs";import"../../__chunks__/chunk-T4FRQ4JG.mjs";import"../../__chunks__/chunk-UERJ6AKK.mjs";import"../../__chunks__/chunk-KPK72MOE.mjs";import"../../__chunks__/chunk-SAAOQW7P.mjs";import"../../__chunks__/chunk-VNLGNNIL.mjs";import"../../__chunks__/chunk-6JM4DPOH.mjs";import"../../__chunks__/chunk-UTWIKUIK.mjs";import"../../__chunks__/chunk-ZODTYAYF.mjs";import"../../__chunks__/chunk-NLRDRI7Q.mjs";import"../../__chunks__/chunk-DKX6JUT6.mjs";import"../../__chunks__/chunk-2MP3RCTQ.mjs";import"../../__chunks__/chunk-KRWR77QE.mjs";import"../../__chunks__/chunk-B7YCKWDU.mjs";import"../../__chunks__/chunk-HDJOER66.mjs";import"../../__chunks__/chunk-A7FTKX2A.mjs";import"../../__chunks__/chunk-XKU5QBXG.mjs";import"../../__chunks__/chunk-WZGG2YKQ.mjs";import"../../__chunks__/chunk-JMC7CMTU.mjs";import"../../__chunks__/chunk-S2B2ZKIJ.mjs";import"../../__chunks__/chunk-T2YPFNVM.mjs";import"../../__chunks__/chunk-M7BM6QPB.mjs";import"../../__chunks__/chunk-5N4F5T5L.mjs";import"../../__chunks__/chunk-CYCS3K6Q.mjs";import"../../__chunks__/chunk-YMPZDHKF.mjs";import"../../__chunks__/chunk-VKEESSBI.mjs";import"../../__chunks__/chunk-2DNGCNYM.mjs";import"../../__chunks__/chunk-SQVKVA7X.mjs";import"../../__chunks__/chunk-I24YBVHK.mjs";import"../../__chunks__/chunk-NB7A4C7L.mjs";import"../../__chunks__/chunk-PJWJZHIS.mjs";import"../../__chunks__/chunk-NTEMINYA.mjs";import"../../__chunks__/chunk-MGFIOCA4.mjs";import"../../__chunks__/chunk-GGBMHKR4.mjs";import"../../__chunks__/chunk-LTAJZBHP.mjs";export{a as getCleanApiAddress};
|
|
2
2
|
//# sourceMappingURL=getCleanApiAddress.mjs.map
|