@multiversx/sdk-dapp 5.2.5 → 5.2.7

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.
Files changed (600) hide show
  1. package/out/__chunks__/chunk-22IJ3QB4.mjs +2 -0
  2. package/out/__chunks__/{chunk-7ZUH3TQ2.mjs → chunk-2Y66XRQK.mjs} +2 -2
  3. package/out/__chunks__/chunk-34PFLOIB.mjs +2 -0
  4. package/out/__chunks__/{chunk-S22V4GGF.mjs → chunk-37O2ROE4.mjs} +2 -2
  5. package/out/__chunks__/{chunk-E5RLJTLP.mjs → chunk-3Q5IOJ67.mjs} +2 -2
  6. package/out/__chunks__/{chunk-UPHBWFSY.mjs → chunk-3WS7UAIF.mjs} +2 -2
  7. package/out/__chunks__/{chunk-LYNRBQNO.mjs → chunk-4JCZWUDH.mjs} +2 -2
  8. package/out/__chunks__/chunk-4L2AXB2K.mjs +2 -0
  9. package/out/__chunks__/chunk-4MWQKLVG.mjs +2 -0
  10. package/out/__chunks__/chunk-4MWQKLVG.mjs.map +7 -0
  11. package/out/__chunks__/{chunk-ZXNJFXKB.mjs → chunk-4PQ3E6VH.mjs} +2 -2
  12. package/out/__chunks__/{chunk-OOVV574D.mjs → chunk-4VA2SULD.mjs} +2 -2
  13. package/out/__chunks__/{chunk-DSVSX4ZT.mjs → chunk-5DILKRFV.mjs} +2 -2
  14. package/out/__chunks__/{chunk-GR362QNP.mjs → chunk-5FZ5WUYZ.mjs} +2 -2
  15. package/out/__chunks__/{chunk-6DWUEZO7.mjs → chunk-5KVNYLOM.mjs} +2 -2
  16. package/out/__chunks__/chunk-5MKXCLBG.mjs +2 -0
  17. package/out/__chunks__/{chunk-52PGMMOM.mjs → chunk-5OMQOYP7.mjs} +2 -2
  18. package/out/__chunks__/{chunk-3WHS4QZZ.mjs → chunk-5TNG3JR3.mjs} +2 -2
  19. package/out/__chunks__/chunk-5WVYRVED.mjs +2 -0
  20. package/out/__chunks__/chunk-5WVYRVED.mjs.map +7 -0
  21. package/out/__chunks__/chunk-63MIE6JF.mjs +2 -0
  22. package/out/__chunks__/chunk-63MIE6JF.mjs.map +7 -0
  23. package/out/__chunks__/chunk-6L7YQWGX.mjs +2 -0
  24. package/out/__chunks__/chunk-6LOIZTC6.mjs +2 -0
  25. package/out/__chunks__/chunk-6LOIZTC6.mjs.map +7 -0
  26. package/out/__chunks__/chunk-6R2WFQ7U.mjs +2 -0
  27. package/out/__chunks__/{chunk-ZVIKYGX5.mjs.map → chunk-6R2WFQ7U.mjs.map} +3 -3
  28. package/out/__chunks__/{chunk-HMHP5DPL.mjs → chunk-6UMOECOW.mjs} +1 -1
  29. package/out/__chunks__/chunk-6UMOECOW.mjs.map +7 -0
  30. package/out/__chunks__/chunk-7VHTZYM2.mjs +2 -0
  31. package/out/__chunks__/chunk-7VHTZYM2.mjs.map +7 -0
  32. package/out/__chunks__/chunk-A3D3GW7R.mjs +2 -0
  33. package/out/__chunks__/{chunk-SK2W4LXI.mjs → chunk-A4KEELZM.mjs} +2 -2
  34. package/out/__chunks__/chunk-AORVRKD7.mjs +2 -0
  35. package/out/__chunks__/chunk-B4QT6VK6.mjs +2 -0
  36. package/out/__chunks__/chunk-B5ETDLE6.mjs +2 -0
  37. package/out/__chunks__/chunk-B5ETDLE6.mjs.map +7 -0
  38. package/out/__chunks__/chunk-BAWWEDTL.mjs +2 -0
  39. package/out/__chunks__/{chunk-3BVKYYHT.mjs → chunk-C6D4JSK4.mjs} +2 -2
  40. package/out/__chunks__/{chunk-GB2K574L.mjs → chunk-CLUVDWX6.mjs} +2 -2
  41. package/out/__chunks__/chunk-CLUVDWX6.mjs.map +7 -0
  42. package/out/__chunks__/{chunk-SMFNVU6B.mjs → chunk-CO23VS2O.mjs} +2 -2
  43. package/out/__chunks__/{chunk-GZL6GF6Z.mjs → chunk-CT235ZUB.mjs} +2 -2
  44. package/out/__chunks__/chunk-DLCBEPEX.mjs +2 -0
  45. package/out/__chunks__/chunk-DLCBEPEX.mjs.map +7 -0
  46. package/out/__chunks__/{chunk-FRIE2JPN.mjs → chunk-DP53BNR6.mjs} +2 -2
  47. package/out/__chunks__/{chunk-Q5Z34JFU.mjs → chunk-DRYIE3UL.mjs} +2 -2
  48. package/out/__chunks__/chunk-E2GGD7D4.mjs +2 -0
  49. package/out/__chunks__/chunk-E2GGD7D4.mjs.map +7 -0
  50. package/out/__chunks__/{chunk-XCVEFI4B.mjs → chunk-EAXWH64Z.mjs} +2 -2
  51. package/out/__chunks__/chunk-EETNNBUP.mjs +2 -0
  52. package/out/__chunks__/chunk-EETNNBUP.mjs.map +7 -0
  53. package/out/__chunks__/{chunk-X74ZW4SP.mjs → chunk-EEVAKQEF.mjs} +2 -2
  54. package/out/__chunks__/chunk-EYGPOZGS.mjs +2 -0
  55. package/out/__chunks__/{chunk-OF4WULEW.mjs → chunk-EYNHHGCH.mjs} +2 -2
  56. package/out/__chunks__/chunk-EZKCZPIE.mjs +2 -0
  57. package/out/__chunks__/chunk-EZKCZPIE.mjs.map +7 -0
  58. package/out/__chunks__/{chunk-C3LAZHGD.mjs → chunk-FNMAWOLC.mjs} +2 -2
  59. package/out/__chunks__/{chunk-EFD2PMLA.mjs → chunk-FUFPNXYS.mjs} +2 -2
  60. package/out/__chunks__/{chunk-CECXI5ZJ.mjs → chunk-G5VTJTDE.mjs} +2 -2
  61. package/out/__chunks__/{chunk-XADBXKX5.mjs → chunk-GFEDWIDV.mjs} +2 -2
  62. package/out/__chunks__/{chunk-EAH7XGM3.mjs → chunk-GUAXMODN.mjs} +2 -2
  63. package/out/__chunks__/{chunk-I4QHHCK6.mjs → chunk-HGQYSGTG.mjs} +2 -2
  64. package/out/__chunks__/chunk-HZGRS7HG.mjs +2 -0
  65. package/out/__chunks__/{chunk-CFJZFKIS.mjs → chunk-I47BE6ON.mjs} +2 -2
  66. package/out/__chunks__/{chunk-QEE4T6UM.mjs → chunk-ICTG3GLU.mjs} +2 -2
  67. package/out/__chunks__/{chunk-RB6NB2UN.mjs → chunk-IF3IASJC.mjs} +2 -2
  68. package/out/__chunks__/{chunk-LWCNB4VP.mjs → chunk-IGN5F3GN.mjs} +2 -2
  69. package/out/__chunks__/{chunk-ZBJRLPCR.mjs → chunk-J6WJ6ULQ.mjs} +2 -2
  70. package/out/__chunks__/{chunk-LZPMMMJZ.mjs → chunk-JIIULTH3.mjs} +2 -2
  71. package/out/__chunks__/{chunk-6ST4KZLT.mjs → chunk-JQ57YAGP.mjs} +2 -2
  72. package/out/__chunks__/chunk-JRRBXKOK.mjs +2 -0
  73. package/out/__chunks__/{chunk-UNBTFF6K.mjs → chunk-JSSRK6RP.mjs} +2 -2
  74. package/out/__chunks__/{chunk-BZQSEPTC.mjs → chunk-JTIXXP4J.mjs} +2 -2
  75. package/out/__chunks__/chunk-JTV664SG.mjs +2 -0
  76. package/out/__chunks__/chunk-JTV664SG.mjs.map +7 -0
  77. package/out/__chunks__/{chunk-GY6MHIOO.mjs → chunk-JVRKUYW6.mjs} +2 -2
  78. package/out/__chunks__/{chunk-PZHQ37I6.mjs → chunk-K373M2BG.mjs} +2 -2
  79. package/out/__chunks__/{chunk-2JGSMQ3T.mjs → chunk-K3VNFEPP.mjs} +2 -2
  80. package/out/__chunks__/chunk-K7X3YFJU.mjs +2 -0
  81. package/out/__chunks__/{chunk-NBQ7F24V.mjs.map → chunk-K7X3YFJU.mjs.map} +3 -3
  82. package/out/__chunks__/{chunk-JVI373HI.mjs → chunk-KLDTJCML.mjs} +2 -2
  83. package/out/__chunks__/chunk-KOLL3XGD.mjs +2 -0
  84. package/out/__chunks__/{chunk-HKKKOC5V.mjs → chunk-LFBY6WV3.mjs} +2 -2
  85. package/out/__chunks__/chunk-LJX4MW7B.mjs +2 -0
  86. package/out/__chunks__/chunk-LJX4MW7B.mjs.map +7 -0
  87. package/out/__chunks__/{chunk-F6QODHDC.mjs → chunk-LUCBMBG7.mjs} +2 -2
  88. package/out/__chunks__/{chunk-2IUBMLF4.mjs → chunk-M6MN4RXG.mjs} +1 -1
  89. package/out/__chunks__/{chunk-2IUBMLF4.mjs.map → chunk-M6MN4RXG.mjs.map} +2 -2
  90. package/out/__chunks__/chunk-MSF6QQXH.mjs +2 -0
  91. package/out/__chunks__/{chunk-L3MWDI6J.mjs → chunk-N55JEIM6.mjs} +2 -2
  92. package/out/__chunks__/chunk-NGM3AVCY.mjs +2 -0
  93. package/out/__chunks__/chunk-NGM3AVCY.mjs.map +7 -0
  94. package/out/__chunks__/{chunk-BUAVB6CL.mjs → chunk-NOIBKBS3.mjs} +2 -2
  95. package/out/__chunks__/{chunk-BHAHZQVO.mjs → chunk-NTPPBM7T.mjs} +2 -2
  96. package/out/__chunks__/{chunk-CANC2FCH.mjs → chunk-NUJ4VCBC.mjs} +2 -2
  97. package/out/__chunks__/chunk-O4I2ENO6.mjs +2 -0
  98. package/out/__chunks__/chunk-OLPFN3HZ.mjs +2 -0
  99. package/out/__chunks__/chunk-OPHTJKDE.mjs +2 -0
  100. package/out/__chunks__/{chunk-ARY5QEDY.mjs → chunk-PBTBNQ25.mjs} +2 -2
  101. package/out/__chunks__/chunk-PCTCQEFY.mjs +2 -0
  102. package/out/__chunks__/{chunk-JIBYUZL4.mjs → chunk-PI3A4HAK.mjs} +2 -2
  103. package/out/__chunks__/{chunk-ZXHMD677.mjs → chunk-Q6RQNGJC.mjs} +2 -2
  104. package/out/__chunks__/chunk-QAOBZWSF.mjs +2 -0
  105. package/out/__chunks__/{chunk-ZZNPJF24.mjs.map → chunk-QAOBZWSF.mjs.map} +1 -1
  106. package/out/__chunks__/chunk-QSXHUZLS.mjs +2 -0
  107. package/out/__chunks__/chunk-QSXHUZLS.mjs.map +7 -0
  108. package/out/__chunks__/{chunk-X6SYH5RO.mjs → chunk-QUPXSKV4.mjs} +2 -2
  109. package/out/__chunks__/{chunk-YNHWN4KZ.mjs → chunk-RIB3PJIR.mjs} +2 -2
  110. package/out/__chunks__/{chunk-3D7VMEVL.mjs → chunk-RXX3GSOM.mjs} +2 -2
  111. package/out/__chunks__/{chunk-UWGZQ6WZ.mjs → chunk-SGNJ44D2.mjs} +2 -2
  112. package/out/__chunks__/chunk-TBCYELRO.mjs +2 -0
  113. package/out/__chunks__/chunk-TBCYELRO.mjs.map +7 -0
  114. package/out/__chunks__/{chunk-OEPTRJEB.mjs → chunk-TCDMXBPB.mjs} +1 -1
  115. package/out/__chunks__/{chunk-OEPTRJEB.mjs.map → chunk-TCDMXBPB.mjs.map} +2 -2
  116. package/out/__chunks__/chunk-TFCXKUX5.mjs +2 -0
  117. package/out/__chunks__/{chunk-EYUQF6VD.mjs → chunk-THWK4TAG.mjs} +2 -2
  118. package/out/__chunks__/{chunk-WOZIHP5Q.mjs → chunk-TLW7RSAO.mjs} +2 -2
  119. package/out/__chunks__/{chunk-AJC3F2YT.mjs → chunk-U3MIDVR7.mjs} +2 -2
  120. package/out/__chunks__/{chunk-S6NHNEQK.mjs → chunk-UCRVRBTA.mjs} +2 -2
  121. package/out/__chunks__/chunk-UY57JRX7.mjs +2 -0
  122. package/out/__chunks__/chunk-UY57JRX7.mjs.map +7 -0
  123. package/out/__chunks__/chunk-UZTMRUVT.mjs +2 -0
  124. package/out/__chunks__/chunk-UZTMRUVT.mjs.map +7 -0
  125. package/out/__chunks__/{chunk-LDTECGMM.mjs → chunk-V7P525KM.mjs} +2 -2
  126. package/out/__chunks__/{chunk-PNVMS2VO.mjs → chunk-VOJLXYJ3.mjs} +2 -2
  127. package/out/__chunks__/chunk-VRLS225Q.mjs +2 -0
  128. package/out/__chunks__/{chunk-JSKOWAZU.mjs → chunk-VW2RKDMX.mjs} +2 -2
  129. package/out/__chunks__/chunk-WGKDCYB7.mjs +2 -0
  130. package/out/__chunks__/chunk-WGKDCYB7.mjs.map +7 -0
  131. package/out/__chunks__/chunk-XFBUY46Y.mjs +2 -0
  132. package/out/__chunks__/{chunk-5YDUSQUN.mjs → chunk-XH2ZG7PU.mjs} +2 -2
  133. package/out/__chunks__/chunk-XJPXTYIE.mjs +2 -0
  134. package/out/__chunks__/chunk-XXV6KGR4.mjs +2 -0
  135. package/out/__chunks__/chunk-XXV6KGR4.mjs.map +7 -0
  136. package/out/__chunks__/{chunk-JSTWLAYX.mjs → chunk-XYPOYVRU.mjs} +2 -2
  137. package/out/__chunks__/{chunk-HJGZQFKX.mjs → chunk-Y3OGRXWT.mjs} +2 -2
  138. package/out/__chunks__/{chunk-2FU37PY5.mjs → chunk-Y5BESSJK.mjs} +2 -2
  139. package/out/__chunks__/{chunk-6IDZ52FJ.mjs → chunk-Z3NZ36LQ.mjs} +2 -2
  140. package/out/__chunks__/{chunk-KD2K7HNK.mjs → chunk-Z64FHGQ2.mjs} +2 -2
  141. package/out/__chunks__/{chunk-3TJTXI66.mjs → chunk-ZC6ENJP4.mjs} +2 -2
  142. package/out/__chunks__/chunk-ZRMZYVMR.mjs +2 -0
  143. package/out/__chunks__/{chunk-NIP6EFXI.mjs.map → chunk-ZRMZYVMR.mjs.map} +2 -2
  144. package/out/__chunks__/{chunk-N342XMFH.mjs → chunk-ZRSYQ3MT.mjs} +2 -2
  145. package/out/__chunks__/{chunk-2GG67TZD.mjs → chunk-ZS4EBCWC.mjs} +2 -2
  146. package/out/apiCalls/account/getScamAddressData.mjs +1 -1
  147. package/out/apiCalls/configuration/getCleanApiAddress.mjs +1 -1
  148. package/out/apiCalls/configuration/getGasStationMetadata.mjs +1 -1
  149. package/out/apiCalls/configuration/index.mjs +1 -1
  150. package/out/apiCalls/index.mjs +1 -1
  151. package/out/apiCalls/tokens/getPersistedTokenDetails.mjs +1 -1
  152. package/out/apiCalls/tokens/getTokenDetails.mjs +1 -1
  153. package/out/apiCalls/tokens/index.mjs +1 -1
  154. package/out/apiCalls/transactions/getServerTransactionsByHashes.cjs +4 -3
  155. package/out/apiCalls/transactions/getServerTransactionsByHashes.cjs.map +2 -2
  156. package/out/apiCalls/transactions/getServerTransactionsByHashes.d.ts +3 -1
  157. package/out/apiCalls/transactions/getServerTransactionsByHashes.mjs +1 -1
  158. package/out/apiCalls/transactions/getTransactionByHash.mjs +1 -1
  159. package/out/apiCalls/transactions/getTransactionsByHashes.mjs +1 -1
  160. package/out/constants/browser.constants.mjs +1 -1
  161. package/out/constants/index.mjs +1 -1
  162. package/out/constants/providerFactory.constants.cjs +4 -0
  163. package/out/constants/providerFactory.constants.cjs.map +2 -2
  164. package/out/constants/providerFactory.constants.d.ts +1 -0
  165. package/out/constants/providerFactory.constants.mjs +1 -1
  166. package/out/constants/storage.constants.mjs +1 -1
  167. package/out/constants/transactions.constants.cjs +3 -3
  168. package/out/constants/transactions.constants.cjs.map +1 -1
  169. package/out/constants/transactions.constants.d.ts +1 -1
  170. package/out/constants/transactions.constants.mjs +1 -1
  171. package/out/constants/window.constants.cjs +1 -1
  172. package/out/constants/window.constants.cjs.map +1 -1
  173. package/out/constants/window.constants.mjs +1 -1
  174. package/out/controllers/TransactionsHistoryController/TransactionsHistoryController.mjs +1 -1
  175. package/out/controllers/TransactionsHistoryController/index.mjs +1 -1
  176. package/out/controllers/TransactionsTableController/TransactionsTableController.mjs +1 -1
  177. package/out/controllers/TransactionsTableController/index.mjs +1 -1
  178. package/out/index.mjs +1 -1
  179. package/out/lib/sdkDappUi.mjs +1 -1
  180. package/out/managers/LogoutManager/LogoutManager.mjs +1 -1
  181. package/out/managers/NotificationsFeedManager/NotificationsFeedManager.cjs +5 -12
  182. package/out/managers/NotificationsFeedManager/NotificationsFeedManager.cjs.map +2 -2
  183. package/out/managers/NotificationsFeedManager/NotificationsFeedManager.d.ts +2 -1
  184. package/out/managers/NotificationsFeedManager/NotificationsFeedManager.mjs +1 -1
  185. package/out/managers/NotificationsFeedManager/index.mjs +1 -1
  186. package/out/managers/ToastManager/ToastManager.cjs +28 -102
  187. package/out/managers/ToastManager/ToastManager.cjs.map +2 -2
  188. package/out/managers/ToastManager/ToastManager.d.ts +13 -31
  189. package/out/managers/ToastManager/ToastManager.mjs +1 -1
  190. package/out/managers/ToastManager/ToastUICoordinator.cjs +126 -0
  191. package/out/managers/ToastManager/ToastUICoordinator.cjs.map +7 -0
  192. package/out/managers/ToastManager/ToastUICoordinator.d.ts +30 -0
  193. package/out/managers/ToastManager/ToastUICoordinator.mjs +2 -0
  194. package/out/managers/ToastManager/ToastUICoordinator.mjs.map +7 -0
  195. package/out/managers/ToastManager/helpers/LifetimeManager.cjs +1 -1
  196. package/out/managers/ToastManager/helpers/LifetimeManager.cjs.map +1 -1
  197. package/out/managers/ToastManager/helpers/LifetimeManager.mjs +1 -1
  198. package/out/managers/ToastManager/helpers/createToastsFromTransactions.cjs +12 -14
  199. package/out/managers/ToastManager/helpers/createToastsFromTransactions.cjs.map +2 -2
  200. package/out/managers/ToastManager/helpers/createToastsFromTransactions.d.ts +3 -7
  201. package/out/managers/ToastManager/helpers/createToastsFromTransactions.mjs +1 -1
  202. package/out/managers/ToastManager/helpers/createTransactionToast.cjs.map +2 -2
  203. package/out/managers/ToastManager/helpers/createTransactionToast.d.ts +2 -3
  204. package/out/managers/ToastManager/helpers/createTransactionToast.mjs +1 -1
  205. package/out/managers/ToastManager/helpers/getToastDataStateByStatus.mjs +1 -1
  206. package/out/managers/ToastManager/helpers/getToastTransactionsStatus.mjs +1 -1
  207. package/out/managers/ToastManager/helpers/tests/mocks/cache.d.ts +14 -0
  208. package/out/managers/ToastManager/helpers/tests/mocks/transactions.d.ts +34 -0
  209. package/out/managers/ToastManager/index.mjs +1 -1
  210. package/out/managers/ToastManager/types/index.mjs +1 -1
  211. package/out/managers/ToastManager/types/toast.types.cjs.map +2 -2
  212. package/out/managers/ToastManager/types/toast.types.d.ts +2 -2
  213. package/out/managers/ToastManager/types/toast.types.mjs +1 -1
  214. package/out/managers/TransactionManager/TransactionManager.mjs +1 -1
  215. package/out/managers/TransactionManager/helpers/getAreTransactionsCorssShards.mjs +1 -1
  216. package/out/managers/TransactionManager/helpers/getToastDuration.mjs +1 -1
  217. package/out/managers/TransactionManager/helpers/getTransactionsStatus.mjs +1 -1
  218. package/out/managers/TransactionManager/index.mjs +1 -1
  219. package/out/managers/UnlockPanelManager/UnlockPanelManager.mjs +1 -1
  220. package/out/managers/UnlockPanelManager/index.mjs +1 -1
  221. package/out/managers/index.mjs +1 -1
  222. package/out/managers/internal/LedgerConnectStateManager/LedgerConnectStateManager.mjs +1 -1
  223. package/out/managers/internal/LedgerConnectStateManager/index.mjs +1 -1
  224. package/out/managers/internal/LedgerIdleStateManager/LedgerIdleStateManager.mjs +1 -1
  225. package/out/managers/internal/PendingTransactionsStateManager/PendingTransactionsStateManager.mjs +1 -1
  226. package/out/managers/internal/PendingTransactionsStateManager/index.mjs +1 -1
  227. package/out/managers/internal/SidePanelBaseManager/SidePanelBaseManager.mjs +1 -1
  228. package/out/managers/internal/SidePanelBaseManager/index.mjs +1 -1
  229. package/out/managers/internal/SignTransactionsStateManager/SignTransactionsStateManager.mjs +1 -1
  230. package/out/managers/internal/SignTransactionsStateManager/index.mjs +1 -1
  231. package/out/managers/internal/UIBaseManager/UIBaseManager.mjs +1 -1
  232. package/out/managers/internal/WalletConnectStateManager/WalletConnectStateManager.mjs +1 -1
  233. package/out/managers/internal/WalletConnectStateManager/index.mjs +1 -1
  234. package/out/managers/internal/index.mjs +1 -1
  235. package/out/methods/account/getAccount.mjs +1 -1
  236. package/out/methods/account/getAccountInfo.mjs +1 -1
  237. package/out/methods/account/getAddress.mjs +1 -1
  238. package/out/methods/account/getIsLoggedIn.mjs +1 -1
  239. package/out/methods/account/getLatestNonce.mjs +1 -1
  240. package/out/methods/initApp/gastStationMetadata/setGasStationMetadata.mjs +1 -1
  241. package/out/methods/initApp/initApp.mjs +1 -1
  242. package/out/methods/initApp/initApp.mjs.map +1 -1
  243. package/out/methods/initApp/websocket/initializeWebsocketConnection.mjs +1 -1
  244. package/out/methods/initApp/websocket/registerWebsocket.mjs +1 -1
  245. package/out/methods/loginInfo/getLoginInfo.mjs +1 -1
  246. package/out/methods/network/getEgldLabel.mjs +1 -1
  247. package/out/methods/network/getExplorerAddress.mjs +1 -1
  248. package/out/methods/network/getNetworkConfig.mjs +1 -1
  249. package/out/methods/trackTransactions/helpers/checkTransactionStatus/checkBatch.mjs +1 -1
  250. package/out/methods/trackTransactions/helpers/checkTransactionStatus/checkTransactionStatus.mjs +1 -1
  251. package/out/methods/trackTransactions/helpers/checkTransactionStatus/getPendingTransactions.mjs +1 -1
  252. package/out/methods/trackTransactions/helpers/checkTransactionStatus/index.mjs +1 -1
  253. package/out/methods/trackTransactions/helpers/checkTransactionStatus/manageFailedTransactions.mjs +1 -1
  254. package/out/methods/trackTransactions/helpers/getPollingInterval.mjs +1 -1
  255. package/out/methods/trackTransactions/trackTransactions.mjs +1 -1
  256. package/out/methods/transactions/getFailedTransactions.mjs +1 -1
  257. package/out/methods/transactions/getFailedTransactionsSessions.mjs +1 -1
  258. package/out/methods/transactions/getPendingTransactions.mjs +1 -1
  259. package/out/methods/transactions/getPendingTransactionsSessions.mjs +1 -1
  260. package/out/methods/transactions/getSuccessfulTransactions.mjs +1 -1
  261. package/out/methods/transactions/getSuccessfulTransactionsSessions.mjs +1 -1
  262. package/out/methods/transactions/getTransactionSessions.mjs +1 -1
  263. package/out/providers/DappProvider/DappProvider.mjs +1 -1
  264. package/out/providers/DappProvider/helpers/login/helpers/accountLogin.mjs +1 -1
  265. package/out/providers/DappProvider/helpers/login/helpers/extractAddressFromToken.mjs +1 -1
  266. package/out/providers/DappProvider/helpers/login/helpers/getAccountFromToken.mjs +1 -1
  267. package/out/providers/DappProvider/helpers/login/helpers/getModifiedLoginToken.mjs +1 -1
  268. package/out/providers/DappProvider/helpers/login/login.mjs +1 -1
  269. package/out/providers/DappProvider/helpers/logout/logout.mjs +1 -1
  270. package/out/providers/DappProvider/helpers/signErrors/handleSignError.mjs +1 -1
  271. package/out/providers/DappProvider/helpers/signMessage/signMessageWithProvider.mjs +1 -1
  272. package/out/providers/DappProvider/helpers/signTransactions/signTransactionsWithProvider.mjs +1 -1
  273. package/out/providers/DappProvider/index.mjs +1 -1
  274. package/out/providers/ProviderFactory.cjs +18 -9
  275. package/out/providers/ProviderFactory.cjs.map +3 -3
  276. package/out/providers/ProviderFactory.mjs +1 -1
  277. package/out/providers/helpers/accountProvider.mjs +1 -1
  278. package/out/providers/helpers/cancelCrossWindowAction.mjs +1 -1
  279. package/out/providers/helpers/clearInitiatedLogins.mjs +1 -1
  280. package/out/providers/helpers/emptyProvider.mjs +1 -1
  281. package/out/providers/helpers/restoreProvider.mjs +1 -1
  282. package/out/providers/index.mjs +1 -1
  283. package/out/providers/strategies/BaseProviderStrategy/BaseProviderStrategy.mjs +1 -1
  284. package/out/providers/strategies/CrossWindowProviderStrategy/CrossWindowProviderStrategy.mjs +1 -1
  285. package/out/providers/strategies/CrossWindowProviderStrategy/index.mjs +1 -1
  286. package/out/providers/strategies/ExtensionProviderStrategy/ExtensionProviderStrategy.mjs +1 -1
  287. package/out/providers/strategies/ExtensionProviderStrategy/index.mjs +1 -1
  288. package/out/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.mjs +1 -1
  289. package/out/providers/strategies/IframeProviderStrategy/index.mjs +1 -1
  290. package/out/providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy.mjs +1 -1
  291. package/out/providers/strategies/LedgerProviderStrategy/helpers/authenticateLedgerAccount.mjs +1 -1
  292. package/out/providers/strategies/LedgerProviderStrategy/helpers/getAuthTokenText.mjs +1 -1
  293. package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerConfiguration.mjs +1 -1
  294. package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerProvider.mjs +1 -1
  295. package/out/providers/strategies/LedgerProviderStrategy/helpers/getLedgerVersionOptions.mjs +1 -1
  296. package/out/providers/strategies/LedgerProviderStrategy/helpers/index.mjs +1 -1
  297. package/out/providers/strategies/LedgerProviderStrategy/helpers/initializeLedgerProvider.mjs +1 -1
  298. package/out/providers/strategies/LedgerProviderStrategy/helpers/signLedgerMessage.mjs +1 -1
  299. package/out/providers/strategies/LedgerProviderStrategy/helpers/updateAccountsList/index.mjs +1 -1
  300. package/out/providers/strategies/LedgerProviderStrategy/helpers/updateAccountsList/updateAccountsList.mjs +1 -1
  301. package/out/providers/strategies/LedgerProviderStrategy/index.mjs +1 -1
  302. package/out/providers/strategies/WalletConnectProviderStrategy/WalletConnectProviderStrategy.mjs +1 -1
  303. package/out/providers/strategies/WalletConnectProviderStrategy/index.mjs +1 -1
  304. package/out/providers/strategies/WebviewProviderStrategy/WebviewClient/WebviewClient.mjs +1 -1
  305. package/out/providers/strategies/WebviewProviderStrategy/WebviewClient/index.mjs +1 -1
  306. package/out/providers/strategies/WebviewProviderStrategy/WebviewProviderStrategy.mjs +1 -1
  307. package/out/providers/strategies/WebviewProviderStrategy/index.mjs +1 -1
  308. package/out/providers/strategies/helpers/getPendingTransactionsHandlers.mjs +1 -1
  309. package/out/providers/strategies/helpers/index.mjs +1 -1
  310. package/out/providers/strategies/helpers/signMessage/signMessage.mjs +1 -1
  311. package/out/providers/strategies/helpers/signTransactions/helpers/calculateFeeLimit.mjs +1 -1
  312. package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.cjs +1 -1
  313. package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.cjs.map +2 -2
  314. package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/getCommonData.mjs +1 -1
  315. package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/helpers/decodeDataField.mjs +1 -1
  316. package/out/providers/strategies/helpers/signTransactions/helpers/getCommonData/helpers/getExtractTransactionsInfo.mjs +1 -1
  317. package/out/providers/strategies/helpers/signTransactions/helpers/getFeeData.mjs +1 -1
  318. package/out/providers/strategies/helpers/signTransactions/helpers/getMultiEsdtTransferData/getMultiEsdtTransferData.mjs +1 -1
  319. package/out/providers/strategies/helpers/signTransactions/helpers/getMultiEsdtTransferData/helpers/getTokenFromData.mjs +1 -1
  320. package/out/providers/strategies/helpers/signTransactions/helpers/getMultiEsdtTransferData/helpers/parseMultiEsdtTransferDataForMultipleTransactions.mjs +1 -1
  321. package/out/providers/strategies/helpers/signTransactions/helpers/guardTransactions/guardTransactions.mjs +1 -1
  322. package/out/providers/strategies/helpers/signTransactions/signTransactions.mjs +1 -1
  323. package/out/providers/strategies/index.mjs +1 -1
  324. package/out/providers/types/providerFactory.types.cjs +1 -0
  325. package/out/providers/types/providerFactory.types.cjs.map +2 -2
  326. package/out/providers/types/providerFactory.types.d.ts +1 -0
  327. package/out/providers/types/providerFactory.types.mjs +1 -1
  328. package/out/react/account/useGetAccount.mjs +1 -1
  329. package/out/react/account/useGetAccountInfo.mjs +1 -1
  330. package/out/react/account/useGetIsLoggedIn.mjs +1 -1
  331. package/out/react/account/useGetLatestNonce.mjs +1 -1
  332. package/out/react/index.mjs +1 -1
  333. package/out/react/loginInfo/useGetLoginInfo.mjs +1 -1
  334. package/out/react/network/useGetNetworkConfig.mjs +1 -1
  335. package/out/react/store/getReactStore.mjs +1 -1
  336. package/out/react/store/useSelector.mjs +1 -1
  337. package/out/react/transactions/useGetFailedTransactions.mjs +1 -1
  338. package/out/react/transactions/useGetFailedTransactionsSessions.mjs +1 -1
  339. package/out/react/transactions/useGetPendingTransactions.mjs +1 -1
  340. package/out/react/transactions/useGetPendingTransactionsSessions.mjs +1 -1
  341. package/out/react/transactions/useGetSuccessfulTransactions.mjs +1 -1
  342. package/out/react/transactions/useGetSuccessfulTransactionsSessions.mjs +1 -1
  343. package/out/react/transactions/useGetTransactionSessions.mjs +1 -1
  344. package/out/services/index.mjs +1 -1
  345. package/out/services/nativeAuth/index.mjs +1 -1
  346. package/out/services/nativeAuth/methods/buildNativeAuthConfig.mjs +1 -1
  347. package/out/services/nativeAuth/methods/getDefaultNativeAuthConfig.mjs +1 -1
  348. package/out/services/nativeAuth/methods/index.mjs +1 -1
  349. package/out/services/nativeAuth/nativeAuth.mjs +1 -1
  350. package/out/store/actions/account/accountActions.mjs +1 -1
  351. package/out/store/actions/account/index.mjs +1 -1
  352. package/out/store/actions/cache/cacheActions.mjs +1 -1
  353. package/out/store/actions/cache/index.mjs +1 -1
  354. package/out/store/actions/config/configActions.mjs +1 -1
  355. package/out/store/actions/config/index.mjs +1 -1
  356. package/out/store/actions/index.mjs +1 -1
  357. package/out/store/actions/loginInfo/loginInfoActions.mjs +1 -1
  358. package/out/store/actions/network/index.mjs +1 -1
  359. package/out/store/actions/network/initializeNetwork.mjs +1 -1
  360. package/out/store/actions/network/networkActions.mjs +1 -1
  361. package/out/store/actions/sharedActions/index.mjs +1 -1
  362. package/out/store/actions/sharedActions/sharedActions.mjs +1 -1
  363. package/out/store/actions/toasts/index.mjs +1 -1
  364. package/out/store/actions/toasts/toastsActions.mjs +1 -1
  365. package/out/store/actions/transactions/transactionStateByStatus.cjs.map +2 -2
  366. package/out/store/actions/transactions/transactionStateByStatus.d.ts +23 -24
  367. package/out/store/actions/transactions/transactionStateByStatus.mjs +1 -1
  368. package/out/store/actions/transactions/transactionsActions.cjs +1 -3
  369. package/out/store/actions/transactions/transactionsActions.cjs.map +2 -2
  370. package/out/store/actions/transactions/transactionsActions.mjs +1 -1
  371. package/out/store/actions/ui/index.mjs +1 -1
  372. package/out/store/actions/ui/uiActions.mjs +1 -1
  373. package/out/store/middleware/applyMiddlewares.mjs +1 -1
  374. package/out/store/middleware/index.mjs +1 -1
  375. package/out/store/middleware/logoutMiddleware.mjs +1 -1
  376. package/out/store/selectors/index.mjs +1 -1
  377. package/out/store/selectors/networkSelectors.cjs +9 -0
  378. package/out/store/selectors/networkSelectors.cjs.map +2 -2
  379. package/out/store/selectors/networkSelectors.d.ts +3 -0
  380. package/out/store/selectors/networkSelectors.mjs +1 -1
  381. package/out/store/selectors/toastsSelectors.mjs +1 -1
  382. package/out/store/selectors/toastsSelectors.mjs.map +4 -4
  383. package/out/store/selectors/transactionsSelector.cjs +3 -3
  384. package/out/store/selectors/transactionsSelector.cjs.map +2 -2
  385. package/out/store/selectors/transactionsSelector.mjs +1 -1
  386. package/out/store/storage/index.mjs +1 -1
  387. package/out/store/storage/storageCallback.mjs +1 -1
  388. package/out/store/store.mjs +1 -1
  389. package/out/types/serverTransactions.types.cjs.map +2 -2
  390. package/out/types/serverTransactions.types.d.ts +1 -1
  391. package/out/types/serverTransactions.types.mjs +1 -1
  392. package/out/types/transaction-list-item.types.cjs.map +2 -2
  393. package/out/types/transaction-list-item.types.d.ts +1 -6
  394. package/out/types/transaction-list-item.types.mjs +1 -1
  395. package/out/types/transactions.types.cjs.map +2 -2
  396. package/out/types/transactions.types.d.ts +4 -4
  397. package/out/types/transactions.types.mjs.map +2 -2
  398. package/out/utils/ComponentFactory.mjs +1 -1
  399. package/out/utils/account/index.mjs +1 -1
  400. package/out/utils/account/refreshAccount.mjs +1 -1
  401. package/out/utils/account/refreshNativeAuthTokenLogin.mjs +1 -1
  402. package/out/utils/index.mjs +1 -1
  403. package/out/utils/transactions/getActiveTransactionsStatus.mjs +1 -1
  404. package/out/utils/transactions/getDecodedDataField/getDecodedDataField.mjs +1 -1
  405. package/out/utils/transactions/getDecodedDataField/helpers/decodeByMethod.mjs +1 -1
  406. package/out/utils/transactions/getDecodedDataField/helpers/decodeHighlight.mjs +1 -1
  407. package/out/utils/transactions/getDecodedDataField/helpers/getDecodedParts.mjs +1 -1
  408. package/out/utils/transactions/getDecodedDataField/helpers/getDisplayValueAndValidationWarnings.mjs +1 -1
  409. package/out/utils/transactions/getDecodedDataField/helpers/getSmartDecodedParts.mjs +1 -1
  410. package/out/utils/transactions/getDecodedDataField/helpers/index.mjs +1 -1
  411. package/out/utils/transactions/getDecodedDataField/index.mjs +1 -1
  412. package/out/utils/transactions/getInterpretedTransaction/getInterpretedTransaction.mjs +1 -1
  413. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/constants.mjs +1 -1
  414. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/getTransactionValue.mjs +1 -1
  415. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/helpers/getValueFromOperations.mjs +1 -1
  416. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/helpers/getVisibleOperations.mjs +1 -1
  417. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/helpers/index.mjs +1 -1
  418. package/out/utils/transactions/getInterpretedTransaction/getTransactionValue/index.mjs +1 -1
  419. package/out/utils/transactions/getInterpretedTransaction/helpers/getLockedAccountName.mjs +1 -1
  420. package/out/utils/transactions/getInterpretedTransaction/helpers/getReceiptMessage.mjs +1 -1
  421. package/out/utils/transactions/getInterpretedTransaction/helpers/getShardText.mjs +1 -1
  422. package/out/utils/transactions/getInterpretedTransaction/helpers/getTokenFromData.mjs +1 -1
  423. package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionIconInfo.mjs +1 -1
  424. package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionMessages.mjs +1 -1
  425. package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionMethod.mjs +1 -1
  426. package/out/utils/transactions/getInterpretedTransaction/helpers/getTransactionTransferType.mjs +1 -1
  427. package/out/utils/transactions/getInterpretedTransaction/helpers/index.mjs +1 -1
  428. package/out/utils/transactions/getInterpretedTransaction/index.mjs +1 -1
  429. package/out/utils/transactions/getTransactionsHistory/getTransactionsHistory.cjs +2 -8
  430. package/out/utils/transactions/getTransactionsHistory/getTransactionsHistory.cjs.map +2 -2
  431. package/out/utils/transactions/getTransactionsHistory/getTransactionsHistory.d.ts +1 -1
  432. package/out/utils/transactions/getTransactionsHistory/getTransactionsHistory.mjs +1 -1
  433. package/out/utils/transactions/getTransactionsHistory/helpers/getCachedTransactionListItem.cjs +2 -2
  434. package/out/utils/transactions/getTransactionsHistory/helpers/getCachedTransactionListItem.cjs.map +2 -2
  435. package/out/utils/transactions/getTransactionsHistory/helpers/getCachedTransactionListItem.d.ts +2 -1
  436. package/out/utils/transactions/getTransactionsHistory/helpers/getCachedTransactionListItem.mjs +1 -1
  437. package/out/utils/transactions/getTransactionsHistory/helpers/getTransactionAction.mjs +1 -1
  438. package/out/utils/transactions/getTransactionsHistory/helpers/getTransactionAsset.mjs +1 -1
  439. package/out/utils/transactions/getTransactionsHistory/helpers/index.mjs +1 -1
  440. package/out/utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems.cjs +15 -9
  441. package/out/utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems.cjs.map +2 -2
  442. package/out/utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems.d.ts +3 -4
  443. package/out/utils/transactions/getTransactionsHistory/helpers/mapServerTransactionsToListItems.mjs +1 -1
  444. package/out/utils/transactions/getTransactionsHistory/helpers/mapTransactionToListItem.cjs +2 -2
  445. package/out/utils/transactions/getTransactionsHistory/helpers/mapTransactionToListItem.cjs.map +2 -2
  446. package/out/utils/transactions/getTransactionsHistory/helpers/mapTransactionToListItem.d.ts +5 -3
  447. package/out/utils/transactions/getTransactionsHistory/helpers/mapTransactionToListItem.mjs +1 -1
  448. package/out/utils/transactions/getTransactionsHistory/index.mjs +1 -1
  449. package/out/utils/transactions/index.mjs +1 -1
  450. package/out/utils/visual/index.mjs +1 -1
  451. package/out/utils/visual/switchTheme.mjs +1 -1
  452. package/out/utils/window/getIsInIframe.mjs +1 -1
  453. package/out/utils/window/getWindowParentOrigin.mjs +1 -1
  454. package/out/utils/window/index.mjs +1 -1
  455. package/package.json +3 -5
  456. package/out/__chunks__/chunk-3L7HZ2SO.mjs +0 -2
  457. package/out/__chunks__/chunk-3L7HZ2SO.mjs.map +0 -7
  458. package/out/__chunks__/chunk-3MW2H273.mjs +0 -2
  459. package/out/__chunks__/chunk-3MW2H273.mjs.map +0 -7
  460. package/out/__chunks__/chunk-62XXIXTE.mjs +0 -2
  461. package/out/__chunks__/chunk-65L5EBBL.mjs +0 -2
  462. package/out/__chunks__/chunk-65L5EBBL.mjs.map +0 -7
  463. package/out/__chunks__/chunk-7YKKU6UM.mjs +0 -2
  464. package/out/__chunks__/chunk-B6KBOAFE.mjs +0 -2
  465. package/out/__chunks__/chunk-BJEPGGTR.mjs +0 -2
  466. package/out/__chunks__/chunk-CUTW32BD.mjs +0 -2
  467. package/out/__chunks__/chunk-GB2K574L.mjs.map +0 -7
  468. package/out/__chunks__/chunk-GV2STE7J.mjs +0 -2
  469. package/out/__chunks__/chunk-GV2STE7J.mjs.map +0 -7
  470. package/out/__chunks__/chunk-GWUYYSBN.mjs +0 -2
  471. package/out/__chunks__/chunk-HMHP5DPL.mjs.map +0 -7
  472. package/out/__chunks__/chunk-I6WKWOAM.mjs +0 -2
  473. package/out/__chunks__/chunk-I7L5LOHR.mjs +0 -2
  474. package/out/__chunks__/chunk-IDJ7NXCI.mjs +0 -2
  475. package/out/__chunks__/chunk-IQ6JB5QS.mjs +0 -2
  476. package/out/__chunks__/chunk-IQ6JB5QS.mjs.map +0 -7
  477. package/out/__chunks__/chunk-IR4Y2GE5.mjs +0 -2
  478. package/out/__chunks__/chunk-K7FDXJZD.mjs +0 -2
  479. package/out/__chunks__/chunk-KRJLYFVI.mjs +0 -2
  480. package/out/__chunks__/chunk-MFUQ5NBC.mjs +0 -2
  481. package/out/__chunks__/chunk-N4XWVRRE.mjs +0 -2
  482. package/out/__chunks__/chunk-N4XWVRRE.mjs.map +0 -7
  483. package/out/__chunks__/chunk-NBQ7F24V.mjs +0 -2
  484. package/out/__chunks__/chunk-NIP6EFXI.mjs +0 -2
  485. package/out/__chunks__/chunk-NWQY6WSD.mjs +0 -2
  486. package/out/__chunks__/chunk-OTJAWUCX.mjs +0 -2
  487. package/out/__chunks__/chunk-OTJAWUCX.mjs.map +0 -7
  488. package/out/__chunks__/chunk-OXMMRCSH.mjs +0 -2
  489. package/out/__chunks__/chunk-P72TQUGN.mjs +0 -2
  490. package/out/__chunks__/chunk-P72TQUGN.mjs.map +0 -7
  491. package/out/__chunks__/chunk-PBFDXHTQ.mjs +0 -2
  492. package/out/__chunks__/chunk-PBFDXHTQ.mjs.map +0 -7
  493. package/out/__chunks__/chunk-PLMCHSS6.mjs +0 -2
  494. package/out/__chunks__/chunk-SAAOQW7P.mjs +0 -2
  495. package/out/__chunks__/chunk-SAAOQW7P.mjs.map +0 -7
  496. package/out/__chunks__/chunk-SJN2CPGB.mjs +0 -2
  497. package/out/__chunks__/chunk-TQA3JDNV.mjs +0 -2
  498. package/out/__chunks__/chunk-TQA3JDNV.mjs.map +0 -7
  499. package/out/__chunks__/chunk-WJQVMI33.mjs +0 -2
  500. package/out/__chunks__/chunk-WKPW72IW.mjs +0 -2
  501. package/out/__chunks__/chunk-X5QIDX7Z.mjs +0 -2
  502. package/out/__chunks__/chunk-YFUI3MRL.mjs +0 -2
  503. package/out/__chunks__/chunk-ZEUNADU7.mjs +0 -2
  504. package/out/__chunks__/chunk-ZNSKART2.mjs +0 -2
  505. package/out/__chunks__/chunk-ZNSKART2.mjs.map +0 -7
  506. package/out/__chunks__/chunk-ZONHCECO.mjs +0 -2
  507. package/out/__chunks__/chunk-ZONHCECO.mjs.map +0 -7
  508. package/out/__chunks__/chunk-ZVIKYGX5.mjs +0 -2
  509. package/out/__chunks__/chunk-ZZNPJF24.mjs +0 -2
  510. /package/out/__chunks__/{chunk-WKPW72IW.mjs.map → chunk-22IJ3QB4.mjs.map} +0 -0
  511. /package/out/__chunks__/{chunk-7ZUH3TQ2.mjs.map → chunk-2Y66XRQK.mjs.map} +0 -0
  512. /package/out/__chunks__/{chunk-CUTW32BD.mjs.map → chunk-34PFLOIB.mjs.map} +0 -0
  513. /package/out/__chunks__/{chunk-S22V4GGF.mjs.map → chunk-37O2ROE4.mjs.map} +0 -0
  514. /package/out/__chunks__/{chunk-E5RLJTLP.mjs.map → chunk-3Q5IOJ67.mjs.map} +0 -0
  515. /package/out/__chunks__/{chunk-UPHBWFSY.mjs.map → chunk-3WS7UAIF.mjs.map} +0 -0
  516. /package/out/__chunks__/{chunk-LYNRBQNO.mjs.map → chunk-4JCZWUDH.mjs.map} +0 -0
  517. /package/out/__chunks__/{chunk-I7L5LOHR.mjs.map → chunk-4L2AXB2K.mjs.map} +0 -0
  518. /package/out/__chunks__/{chunk-ZXNJFXKB.mjs.map → chunk-4PQ3E6VH.mjs.map} +0 -0
  519. /package/out/__chunks__/{chunk-OOVV574D.mjs.map → chunk-4VA2SULD.mjs.map} +0 -0
  520. /package/out/__chunks__/{chunk-DSVSX4ZT.mjs.map → chunk-5DILKRFV.mjs.map} +0 -0
  521. /package/out/__chunks__/{chunk-GR362QNP.mjs.map → chunk-5FZ5WUYZ.mjs.map} +0 -0
  522. /package/out/__chunks__/{chunk-6DWUEZO7.mjs.map → chunk-5KVNYLOM.mjs.map} +0 -0
  523. /package/out/__chunks__/{chunk-BJEPGGTR.mjs.map → chunk-5MKXCLBG.mjs.map} +0 -0
  524. /package/out/__chunks__/{chunk-52PGMMOM.mjs.map → chunk-5OMQOYP7.mjs.map} +0 -0
  525. /package/out/__chunks__/{chunk-3WHS4QZZ.mjs.map → chunk-5TNG3JR3.mjs.map} +0 -0
  526. /package/out/__chunks__/{chunk-I6WKWOAM.mjs.map → chunk-6L7YQWGX.mjs.map} +0 -0
  527. /package/out/__chunks__/{chunk-GWUYYSBN.mjs.map → chunk-A3D3GW7R.mjs.map} +0 -0
  528. /package/out/__chunks__/{chunk-SK2W4LXI.mjs.map → chunk-A4KEELZM.mjs.map} +0 -0
  529. /package/out/__chunks__/{chunk-IR4Y2GE5.mjs.map → chunk-AORVRKD7.mjs.map} +0 -0
  530. /package/out/__chunks__/{chunk-KRJLYFVI.mjs.map → chunk-B4QT6VK6.mjs.map} +0 -0
  531. /package/out/__chunks__/{chunk-SJN2CPGB.mjs.map → chunk-BAWWEDTL.mjs.map} +0 -0
  532. /package/out/__chunks__/{chunk-3BVKYYHT.mjs.map → chunk-C6D4JSK4.mjs.map} +0 -0
  533. /package/out/__chunks__/{chunk-SMFNVU6B.mjs.map → chunk-CO23VS2O.mjs.map} +0 -0
  534. /package/out/__chunks__/{chunk-GZL6GF6Z.mjs.map → chunk-CT235ZUB.mjs.map} +0 -0
  535. /package/out/__chunks__/{chunk-FRIE2JPN.mjs.map → chunk-DP53BNR6.mjs.map} +0 -0
  536. /package/out/__chunks__/{chunk-Q5Z34JFU.mjs.map → chunk-DRYIE3UL.mjs.map} +0 -0
  537. /package/out/__chunks__/{chunk-XCVEFI4B.mjs.map → chunk-EAXWH64Z.mjs.map} +0 -0
  538. /package/out/__chunks__/{chunk-X74ZW4SP.mjs.map → chunk-EEVAKQEF.mjs.map} +0 -0
  539. /package/out/__chunks__/{chunk-62XXIXTE.mjs.map → chunk-EYGPOZGS.mjs.map} +0 -0
  540. /package/out/__chunks__/{chunk-OF4WULEW.mjs.map → chunk-EYNHHGCH.mjs.map} +0 -0
  541. /package/out/__chunks__/{chunk-C3LAZHGD.mjs.map → chunk-FNMAWOLC.mjs.map} +0 -0
  542. /package/out/__chunks__/{chunk-EFD2PMLA.mjs.map → chunk-FUFPNXYS.mjs.map} +0 -0
  543. /package/out/__chunks__/{chunk-CECXI5ZJ.mjs.map → chunk-G5VTJTDE.mjs.map} +0 -0
  544. /package/out/__chunks__/{chunk-XADBXKX5.mjs.map → chunk-GFEDWIDV.mjs.map} +0 -0
  545. /package/out/__chunks__/{chunk-EAH7XGM3.mjs.map → chunk-GUAXMODN.mjs.map} +0 -0
  546. /package/out/__chunks__/{chunk-I4QHHCK6.mjs.map → chunk-HGQYSGTG.mjs.map} +0 -0
  547. /package/out/__chunks__/{chunk-WJQVMI33.mjs.map → chunk-HZGRS7HG.mjs.map} +0 -0
  548. /package/out/__chunks__/{chunk-CFJZFKIS.mjs.map → chunk-I47BE6ON.mjs.map} +0 -0
  549. /package/out/__chunks__/{chunk-QEE4T6UM.mjs.map → chunk-ICTG3GLU.mjs.map} +0 -0
  550. /package/out/__chunks__/{chunk-RB6NB2UN.mjs.map → chunk-IF3IASJC.mjs.map} +0 -0
  551. /package/out/__chunks__/{chunk-LWCNB4VP.mjs.map → chunk-IGN5F3GN.mjs.map} +0 -0
  552. /package/out/__chunks__/{chunk-ZBJRLPCR.mjs.map → chunk-J6WJ6ULQ.mjs.map} +0 -0
  553. /package/out/__chunks__/{chunk-LZPMMMJZ.mjs.map → chunk-JIIULTH3.mjs.map} +0 -0
  554. /package/out/__chunks__/{chunk-6ST4KZLT.mjs.map → chunk-JQ57YAGP.mjs.map} +0 -0
  555. /package/out/__chunks__/{chunk-OXMMRCSH.mjs.map → chunk-JRRBXKOK.mjs.map} +0 -0
  556. /package/out/__chunks__/{chunk-UNBTFF6K.mjs.map → chunk-JSSRK6RP.mjs.map} +0 -0
  557. /package/out/__chunks__/{chunk-BZQSEPTC.mjs.map → chunk-JTIXXP4J.mjs.map} +0 -0
  558. /package/out/__chunks__/{chunk-GY6MHIOO.mjs.map → chunk-JVRKUYW6.mjs.map} +0 -0
  559. /package/out/__chunks__/{chunk-PZHQ37I6.mjs.map → chunk-K373M2BG.mjs.map} +0 -0
  560. /package/out/__chunks__/{chunk-2JGSMQ3T.mjs.map → chunk-K3VNFEPP.mjs.map} +0 -0
  561. /package/out/__chunks__/{chunk-JVI373HI.mjs.map → chunk-KLDTJCML.mjs.map} +0 -0
  562. /package/out/__chunks__/{chunk-7YKKU6UM.mjs.map → chunk-KOLL3XGD.mjs.map} +0 -0
  563. /package/out/__chunks__/{chunk-HKKKOC5V.mjs.map → chunk-LFBY6WV3.mjs.map} +0 -0
  564. /package/out/__chunks__/{chunk-F6QODHDC.mjs.map → chunk-LUCBMBG7.mjs.map} +0 -0
  565. /package/out/__chunks__/{chunk-NWQY6WSD.mjs.map → chunk-MSF6QQXH.mjs.map} +0 -0
  566. /package/out/__chunks__/{chunk-L3MWDI6J.mjs.map → chunk-N55JEIM6.mjs.map} +0 -0
  567. /package/out/__chunks__/{chunk-BUAVB6CL.mjs.map → chunk-NOIBKBS3.mjs.map} +0 -0
  568. /package/out/__chunks__/{chunk-BHAHZQVO.mjs.map → chunk-NTPPBM7T.mjs.map} +0 -0
  569. /package/out/__chunks__/{chunk-CANC2FCH.mjs.map → chunk-NUJ4VCBC.mjs.map} +0 -0
  570. /package/out/__chunks__/{chunk-IDJ7NXCI.mjs.map → chunk-O4I2ENO6.mjs.map} +0 -0
  571. /package/out/__chunks__/{chunk-PLMCHSS6.mjs.map → chunk-OLPFN3HZ.mjs.map} +0 -0
  572. /package/out/__chunks__/{chunk-X5QIDX7Z.mjs.map → chunk-OPHTJKDE.mjs.map} +0 -0
  573. /package/out/__chunks__/{chunk-ARY5QEDY.mjs.map → chunk-PBTBNQ25.mjs.map} +0 -0
  574. /package/out/__chunks__/{chunk-K7FDXJZD.mjs.map → chunk-PCTCQEFY.mjs.map} +0 -0
  575. /package/out/__chunks__/{chunk-JIBYUZL4.mjs.map → chunk-PI3A4HAK.mjs.map} +0 -0
  576. /package/out/__chunks__/{chunk-ZXHMD677.mjs.map → chunk-Q6RQNGJC.mjs.map} +0 -0
  577. /package/out/__chunks__/{chunk-X6SYH5RO.mjs.map → chunk-QUPXSKV4.mjs.map} +0 -0
  578. /package/out/__chunks__/{chunk-YNHWN4KZ.mjs.map → chunk-RIB3PJIR.mjs.map} +0 -0
  579. /package/out/__chunks__/{chunk-3D7VMEVL.mjs.map → chunk-RXX3GSOM.mjs.map} +0 -0
  580. /package/out/__chunks__/{chunk-UWGZQ6WZ.mjs.map → chunk-SGNJ44D2.mjs.map} +0 -0
  581. /package/out/__chunks__/{chunk-YFUI3MRL.mjs.map → chunk-TFCXKUX5.mjs.map} +0 -0
  582. /package/out/__chunks__/{chunk-EYUQF6VD.mjs.map → chunk-THWK4TAG.mjs.map} +0 -0
  583. /package/out/__chunks__/{chunk-WOZIHP5Q.mjs.map → chunk-TLW7RSAO.mjs.map} +0 -0
  584. /package/out/__chunks__/{chunk-AJC3F2YT.mjs.map → chunk-U3MIDVR7.mjs.map} +0 -0
  585. /package/out/__chunks__/{chunk-S6NHNEQK.mjs.map → chunk-UCRVRBTA.mjs.map} +0 -0
  586. /package/out/__chunks__/{chunk-LDTECGMM.mjs.map → chunk-V7P525KM.mjs.map} +0 -0
  587. /package/out/__chunks__/{chunk-PNVMS2VO.mjs.map → chunk-VOJLXYJ3.mjs.map} +0 -0
  588. /package/out/__chunks__/{chunk-MFUQ5NBC.mjs.map → chunk-VRLS225Q.mjs.map} +0 -0
  589. /package/out/__chunks__/{chunk-JSKOWAZU.mjs.map → chunk-VW2RKDMX.mjs.map} +0 -0
  590. /package/out/__chunks__/{chunk-B6KBOAFE.mjs.map → chunk-XFBUY46Y.mjs.map} +0 -0
  591. /package/out/__chunks__/{chunk-5YDUSQUN.mjs.map → chunk-XH2ZG7PU.mjs.map} +0 -0
  592. /package/out/__chunks__/{chunk-ZEUNADU7.mjs.map → chunk-XJPXTYIE.mjs.map} +0 -0
  593. /package/out/__chunks__/{chunk-JSTWLAYX.mjs.map → chunk-XYPOYVRU.mjs.map} +0 -0
  594. /package/out/__chunks__/{chunk-HJGZQFKX.mjs.map → chunk-Y3OGRXWT.mjs.map} +0 -0
  595. /package/out/__chunks__/{chunk-2FU37PY5.mjs.map → chunk-Y5BESSJK.mjs.map} +0 -0
  596. /package/out/__chunks__/{chunk-6IDZ52FJ.mjs.map → chunk-Z3NZ36LQ.mjs.map} +0 -0
  597. /package/out/__chunks__/{chunk-KD2K7HNK.mjs.map → chunk-Z64FHGQ2.mjs.map} +0 -0
  598. /package/out/__chunks__/{chunk-3TJTXI66.mjs.map → chunk-ZC6ENJP4.mjs.map} +0 -0
  599. /package/out/__chunks__/{chunk-N342XMFH.mjs.map → chunk-ZRSYQ3MT.mjs.map} +0 -0
  600. /package/out/__chunks__/{chunk-2GG67TZD.mjs.map → chunk-ZS4EBCWC.mjs.map} +0 -0
@@ -1,2 +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-BJEPGGTR.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).toHex()&&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)=>{let t=W(e);return D(t),t},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-QEE4T6UM.mjs.map
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-5MKXCLBG.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).toHex()&&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)=>{let t=W(e);return D(t),t},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-ICTG3GLU.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-BUAVB6CL.mjs";import{a as o}from"./chunk-WE7YOBO7.mjs";async function p({loginToken:i,extraInfoData:n}){if(i==null||Object.keys(n).length===0)return null;let t=o(String(i)),{timestamp:e,...a}=t?.extraInfo||{};if(!(t&&e!=null))return null;let s={hash:String(t?.blockHash),timestamp:Number(e)};return await r({extraInfo:{...a,...n},expirySeconds:t?.ttl,origin:t?.origin}).initialize({latestBlockInfo:s})}export{p as a};
2
- //# sourceMappingURL=chunk-RB6NB2UN.mjs.map
1
+ import{a as r}from"./chunk-NOIBKBS3.mjs";import{a as o}from"./chunk-WE7YOBO7.mjs";async function p({loginToken:i,extraInfoData:n}){if(i==null||Object.keys(n).length===0)return null;let t=o(String(i)),{timestamp:e,...a}=t?.extraInfo||{};if(!(t&&e!=null))return null;let s={hash:String(t?.blockHash),timestamp:Number(e)};return await r({extraInfo:{...a,...n},expirySeconds:t?.ttl,origin:t?.origin}).initialize({latestBlockInfo:s})}export{p as a};
2
+ //# sourceMappingURL=chunk-IF3IASJC.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-TQA3JDNV.mjs";import{s}from"./chunk-QEE4T6UM.mjs";import{e as a}from"./chunk-UERJ6AKK.mjs";function x(n){let e=s(),o=u(e),c=a(e),t=Object.keys(o).map(Number).reduce((r,m)=>{let i=o[m]?.transactions||[];return Math.max(r,...i.map(l=>l.nonce),0)},0);return t>0&&(t+=1),n==null?Math.max(t,c):Math.max(t,n.nonce,c)}export{x as a};
2
- //# sourceMappingURL=chunk-LWCNB4VP.mjs.map
1
+ import{a as u}from"./chunk-NGM3AVCY.mjs";import{s}from"./chunk-ICTG3GLU.mjs";import{e as a}from"./chunk-UERJ6AKK.mjs";function x(n){let e=s(),o=u(e),c=a(e),t=Object.keys(o).map(Number).reduce((r,m)=>{let i=o[m]?.transactions||[];return Math.max(r,...i.map(l=>l.nonce),0)},0);return t>0&&(t+=1),n==null?Math.max(t,c):Math.max(t,n.nonce,c)}export{x as a};
2
+ //# sourceMappingURL=chunk-IGN5F3GN.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-HKKKOC5V.mjs";import{a as t}from"./chunk-B6KBOAFE.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-ZBJRLPCR.mjs.map
1
+ import{a as n}from"./chunk-LFBY6WV3.mjs";import{a as t}from"./chunk-XFBUY46Y.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-J6WJ6ULQ.mjs.map
@@ -1,2 +1,2 @@
1
- import{s as e}from"./chunk-QEE4T6UM.mjs";import{b as o}from"./chunk-SAAOQW7P.mjs";import{a as i}from"./chunk-CKTFPRJS.mjs";var n="https://api.multiversx.com",s=60*60*24,a=5*60,d=t=>{let r=o(e());return{origin:t?.origin||i().origin,apiAddress:t?.apiAddress||r.apiAddress||n,expirySeconds:t?.expirySeconds||s,tokenExpirationToastWarningSeconds:t?.tokenExpirationToastWarningSeconds||a}};export{d as a};
2
- //# sourceMappingURL=chunk-LZPMMMJZ.mjs.map
1
+ import{s as e}from"./chunk-ICTG3GLU.mjs";import{b as o}from"./chunk-7VHTZYM2.mjs";import{a as i}from"./chunk-CKTFPRJS.mjs";var n="https://api.multiversx.com",s=60*60*24,a=5*60,d=t=>{let r=o(e());return{origin:t?.origin||i().origin,apiAddress:t?.apiAddress||r.apiAddress||n,expirySeconds:t?.expirySeconds||s,tokenExpirationToastWarningSeconds:t?.tokenExpirationToastWarningSeconds||a}};export{d as a};
2
+ //# sourceMappingURL=chunk-JIIULTH3.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-ZZNPJF24.mjs";var i=String(o?.navigator?.userAgent),t=/^((?!chrome|android).)*safari/i.test(i),r=/firefox/i.test(i)&&/windows/i.test(i),n=t||r;export{t as a,n as b};
2
- //# sourceMappingURL=chunk-6ST4KZLT.mjs.map
1
+ import{a as o}from"./chunk-QAOBZWSF.mjs";var i=String(o?.navigator?.userAgent),t=/^((?!chrome|android).)*safari/i.test(i),r=/firefox/i.test(i)&&/windows/i.test(i),n=t||r;export{t as a,n as b};
2
+ //# sourceMappingURL=chunk-JQ57YAGP.mjs.map
@@ -0,0 +1,2 @@
1
+ import{s as o}from"./chunk-ICTG3GLU.mjs";import{b as t}from"./chunk-UERJ6AKK.mjs";function c(r=o()){return t(r)}export{c as a};
2
+ //# sourceMappingURL=chunk-JRRBXKOK.mjs.map
@@ -1,2 +1,2 @@
1
- import{d as c}from"./chunk-L7L56ZTG.mjs";import{a as T}from"./chunk-V4YC4AKQ.mjs";import{a as p}from"./chunk-OLOCTHIE.mjs";import{b as m}from"./chunk-2GG67TZD.mjs";import{a as k}from"./chunk-B72JAXSF.mjs";import{a as g}from"./chunk-6GREKTLP.mjs";import{a as f}from"./chunk-ZJ2WPN2K.mjs";import{a as d}from"./chunk-HS34AFHY.mjs";import{a}from"./chunk-B3IKUIRK.mjs";import{a as r}from"./chunk-BRJNX4JF.mjs";import{a as t}from"./chunk-DBIIY2TX.mjs";import{a as s}from"./chunk-7CELSV4S.mjs";function z({transaction:e,address:h,explorerAddress:o}){let y=e.tokenIdentifier??m(e.data).tokenId,n=d(e),u=f(e),l={timeAgo:c(e.timestamp*1e3,!0),tooltip:a({value:e.timestamp,noSeconds:!1,utc:!0})},v=k({address:h,transaction:e,receiver:n}),I={actionDescription:e.action?.description,name:T(e)},S=g(e),D=r({explorerAddress:o,to:t.accountDetails(e.sender)}),L=r({explorerAddress:o,to:t.accountDetails(n)}),A=r({explorerAddress:o,to:t.senderShard(e.senderShard)}),H=r({explorerAddress:o,to:t.receiverShard(e.receiverShard)}),i=e.originalTxHash||e.txHash,x=r({explorerAddress:o,to:t.transactionDetails(i)});return{...e,txHash:i,tokenIdentifier:y,receiver:n,receiverAssets:u,transactionDetails:{age:l,direction:v,method:I,iconInfo:p(e),transactionTokens:S,isContract:s(e.sender)},links:{senderLink:D,receiverLink:L,senderShardLink:A,receiverShardLink:H,transactionLink:x}}}export{z as a};
2
- //# sourceMappingURL=chunk-UNBTFF6K.mjs.map
1
+ import{d as c}from"./chunk-L7L56ZTG.mjs";import{a as T}from"./chunk-V4YC4AKQ.mjs";import{a as p}from"./chunk-OLOCTHIE.mjs";import{b as m}from"./chunk-ZS4EBCWC.mjs";import{a as k}from"./chunk-B72JAXSF.mjs";import{a as g}from"./chunk-6GREKTLP.mjs";import{a as f}from"./chunk-ZJ2WPN2K.mjs";import{a as d}from"./chunk-HS34AFHY.mjs";import{a as s}from"./chunk-B3IKUIRK.mjs";import{a as r}from"./chunk-BRJNX4JF.mjs";import{a as t}from"./chunk-DBIIY2TX.mjs";import{a}from"./chunk-7CELSV4S.mjs";function z({transaction:e,address:h,explorerAddress:o}){let y=e.tokenIdentifier??m(e.data).tokenId,n=d(e),u=f(e),l={timeAgo:c(e.timestamp*1e3,!0),tooltip:s({value:e.timestamp,noSeconds:!1,utc:!0})},v=k({address:h,transaction:e,receiver:n}),I={actionDescription:e.action?.description,name:T(e)},S=g(e),D=r({explorerAddress:o,to:t.accountDetails(e.sender)}),L=r({explorerAddress:o,to:t.accountDetails(n)}),A=r({explorerAddress:o,to:t.senderShard(e.senderShard)}),H=r({explorerAddress:o,to:t.receiverShard(e.receiverShard)}),i=e.originalTxHash||e.txHash,x=r({explorerAddress:o,to:t.transactionDetails(i)});return{...e,txHash:i,tokenIdentifier:y,receiver:n,receiverAssets:u,transactionDetails:{age:l,direction:v,method:I,iconInfo:p(e),transactionTokens:S,isContract:a(e.sender)},links:{senderLink:D,receiverLink:L,senderShardLink:A,receiverShardLink:H,transactionLink:x}}}export{z as a};
2
+ //# sourceMappingURL=chunk-JSSRK6RP.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-RB6NB2UN.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-BZQSEPTC.mjs.map
1
+ import{a as t}from"./chunk-IF3IASJC.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-JTIXXP4J.mjs.map
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-4VUMAG4J.mjs";var t={address:e,websocketEvent:{timestamp:1759393606037,message:"transactionCompleted"},websocketBatchEvent:null,accounts:{[e]:{address:e,balance:"18998263560000000000",nonce:18,shard:0,developerReward:"0",isGuarded:!1,txCount:0,scrCount:0,claimableRewards:"0"}},ledgerAccount:null,publicKey:"0e857bfcb560fa7c933a30e23509716a240967f70f9bfa1b3aab42457d04f260",walletConnectAccount:null};export{t as a};
2
+ //# sourceMappingURL=chunk-JTV664SG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/__mocks__/data/storeData/account.ts"],
4
+ "sourcesContent": ["import { testAddress } from '__mocks__/accountConfig';\nimport { AccountSliceType } from 'store/slices/account/account.types';\n\nexport const account: AccountSliceType = {\n address: testAddress,\n websocketEvent: {\n timestamp: 1759393606037,\n message: 'transactionCompleted'\n },\n websocketBatchEvent: null,\n accounts: {\n [testAddress]: {\n address: testAddress,\n balance: '18998263560000000000',\n nonce: 18,\n shard: 0,\n developerReward: '0',\n isGuarded: false,\n txCount: 0,\n scrCount: 0,\n claimableRewards: '0'\n }\n },\n ledgerAccount: null,\n publicKey: '0e857bfcb560fa7c933a30e23509716a240967f70f9bfa1b3aab42457d04f260',\n walletConnectAccount: null\n};\n"],
5
+ "mappings": "yCAGO,IAAMA,EAA4B,CACvC,QAASC,EACT,eAAgB,CACd,UAAW,cACX,QAAS,sBACX,EACA,oBAAqB,KACrB,SAAU,CACR,CAACA,CAAW,EAAG,CACb,QAASA,EACT,QAAS,uBACT,MAAO,GACP,MAAO,EACP,gBAAiB,IACjB,UAAW,GACX,QAAS,EACT,SAAU,EACV,iBAAkB,GACpB,CACF,EACA,cAAe,KACf,UAAW,mEACX,qBAAsB,IACxB",
6
+ "names": ["account", "testAddress"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as S}from"./chunk-EAJBSX6Y.mjs";import{a as s}from"./chunk-NTOY6GTP.mjs";import{c as r,d as a}from"./chunk-2IUBMLF4.mjs";import{s as e}from"./chunk-QEE4T6UM.mjs";import{a as n}from"./chunk-UERJ6AKK.mjs";var u=t=>{let o=0,i=n(e())?.shard;return S(t)?(t.forEach(c=>{let m=s(c,i);o+=m?5*6e3:6e3}),o):(o=s(t,i)?5*6e3:6e3,o)};export{u as a};
2
- //# sourceMappingURL=chunk-GY6MHIOO.mjs.map
1
+ import{a as S}from"./chunk-EAJBSX6Y.mjs";import{a as s}from"./chunk-NTOY6GTP.mjs";import{c as r,d as a}from"./chunk-M6MN4RXG.mjs";import{s as e}from"./chunk-ICTG3GLU.mjs";import{a as n}from"./chunk-UERJ6AKK.mjs";var u=t=>{let o=0,i=n(e())?.shard;return S(t)?(t.forEach(c=>{let m=s(c,i);o+=m?5*6e3:6e3}),o):(o=s(t,i)?5*6e3:6e3,o)};export{u as a};
2
+ //# sourceMappingURL=chunk-JVRKUYW6.mjs.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-SMFNVU6B.mjs";function e(t){let{allTransactions:n,parsedTransactionsByDataField:r}=a({transactions:t});return{parsedTransactionsByDataField:r,allTransactions:n}}export{e as a};
2
- //# sourceMappingURL=chunk-PZHQ37I6.mjs.map
1
+ import{a}from"./chunk-CO23VS2O.mjs";function e(t){let{allTransactions:n,parsedTransactionsByDataField:r}=a({transactions:t});return{parsedTransactionsByDataField:r,allTransactions:n}}export{e as a};
2
+ //# sourceMappingURL=chunk-K373M2BG.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as A}from"./chunk-GY6MHIOO.mjs";import{a as I}from"./chunk-EAJBSX6Y.mjs";import{a as b}from"./chunk-Y3BNMQFP.mjs";import{h as S}from"./chunk-OTJAWUCX.mjs";import{b as T}from"./chunk-2VG3V3VD.mjs";import{a as y}from"./chunk-GV2STE7J.mjs";import{a as f}from"./chunk-L3MWDI6J.mjs";import{a as h}from"./chunk-KRJLYFVI.mjs";import{h as g}from"./chunk-2IUBMLF4.mjs";import{s as l}from"./chunk-QEE4T6UM.mjs";import{b as m}from"./chunk-SAAOQW7P.mjs";import w from"axios";var r=class r{constructor(){this.setCallbacks=({onSuccess:t,onFail:a})=>{T({onSuccess:t,onFail:a})};this.send=async t=>{if(t.length===0)throw new Error("No transactions to send");try{if(!I(t))return await this.sendSignedTransactions(t);let a=await this.sendSignedBatchTransactions(t);if(!a.data||a.data.error)throw new Error(a.data?.error??"Failed to send transactions");return a.data.transactions}catch(a){throw a.response?.data?.message??a.message}};this.track=async(t,a={disableToasts:!1})=>{let s=this.sequentialToFlatArray(t).map(e=>({...e,status:e.status??"pending"})),o=f(s),n=y({transactions:s,transactionsDisplayInfo:a.transactionsDisplayInfo,status:o??"sent",sessionInformation:a.sessionInformation});if(a.disableToasts===!0)return n;a.onSuccess&&T({onSuccess:a.onSuccess,sessionId:n}),a.onFail&&T({onFail:a.onFail,sessionId:n});let i=A(t);return S({toastId:n,totalDuration:i}),n};this.sendSignedTransactions=async t=>{let{apiAddress:a,apiTimeout:s}=m(l());return await Promise.all(t.map(async n=>{let i=await w.post(`${a}/transactions`,n.toPlainObject(),{timeout:Number(s)}),e=i.data.txHash;return{...n.toPlainObject(),...i.data,status:"pending",hash:e}}))};this.sendSignedBatchTransactions=async t=>{let{address:a}=h(),{apiAddress:s,apiTimeout:o}=m(l());if(!a)return{error:"Invalid address provided. You need to be logged in to send transactions"};let n=this.buildBatchId(a),e={transactions:t.map(p=>p.map(c=>c.toPlainObject())),id:n},{data:u}=await w.post(`${s}/batch`,e,{timeout:Number(o)}),B=u.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:{...u,transactions:B}}};this.buildBatchId=t=>`${Date.now().toString()}${g}${t}`;this.sequentialToFlatArray=(t=[])=>this.getIsSequential(t)?t.flat():t;this.getIsSequential=t=>t?.every(a=>Array.isArray(a))}static getInstance(){return r.instance||(r.instance=new r),r.instance}};r.instance=null;var v=r;export{v as a};
2
- //# sourceMappingURL=chunk-2JGSMQ3T.mjs.map
1
+ import{a as A}from"./chunk-JVRKUYW6.mjs";import{a as I}from"./chunk-EAJBSX6Y.mjs";import{a as b}from"./chunk-Y3BNMQFP.mjs";import{g as f}from"./chunk-TBCYELRO.mjs";import{b as T}from"./chunk-2VG3V3VD.mjs";import{a as S}from"./chunk-EETNNBUP.mjs";import{a as y}from"./chunk-N55JEIM6.mjs";import{a as h}from"./chunk-B4QT6VK6.mjs";import{h as g}from"./chunk-M6MN4RXG.mjs";import{s as l}from"./chunk-ICTG3GLU.mjs";import{b as m}from"./chunk-7VHTZYM2.mjs";import w from"axios";var r=class r{constructor(){this.setCallbacks=({onSuccess:t,onFail:a})=>{T({onSuccess:t,onFail:a})};this.send=async t=>{if(t.length===0)throw new Error("No transactions to send");try{if(!I(t))return await this.sendSignedTransactions(t);let a=await this.sendSignedBatchTransactions(t);if(!a.data||a.data.error)throw new Error(a.data?.error??"Failed to send transactions");return a.data.transactions}catch(a){throw a.response?.data?.message??a.message}};this.track=async(t,a={disableToasts:!1})=>{let s=this.sequentialToFlatArray(t).map(e=>({...e,status:e.status??"pending"})),o=y(s),n=S({transactions:s,transactionsDisplayInfo:a.transactionsDisplayInfo,status:o??"sent",sessionInformation:a.sessionInformation});if(a.disableToasts===!0)return n;a.onSuccess&&T({onSuccess:a.onSuccess,sessionId:n}),a.onFail&&T({onFail:a.onFail,sessionId:n});let i=A(t);return f({toastId:n,totalDuration:i}),n};this.sendSignedTransactions=async t=>{let{apiAddress:a,apiTimeout:s}=m(l());return await Promise.all(t.map(async n=>{let i=await w.post(`${a}/transactions`,n.toPlainObject(),{timeout:Number(s)}),e=i.data.txHash;return{...n.toPlainObject(),...i.data,status:"pending",hash:e}}))};this.sendSignedBatchTransactions=async t=>{let{address:a}=h(),{apiAddress:s,apiTimeout:o}=m(l());if(!a)return{error:"Invalid address provided. You need to be logged in to send transactions"};let n=this.buildBatchId(a),e={transactions:t.map(p=>p.map(c=>c.toPlainObject())),id:n},{data:u}=await w.post(`${s}/batch`,e,{timeout:Number(o)}),B=u.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:{...u,transactions:B}}};this.buildBatchId=t=>`${Date.now().toString()}${g}${t}`;this.sequentialToFlatArray=(t=[])=>this.getIsSequential(t)?t.flat():t;this.getIsSequential=t=>t?.every(a=>Array.isArray(a))}static getInstance(){return r.instance||(r.instance=new r),r.instance}};r.instance=null;var v=r;export{v as a};
2
+ //# sourceMappingURL=chunk-K3VNFEPP.mjs.map
@@ -0,0 +1,2 @@
1
+ import{a as ce}from"./chunk-M3YL36ZL.mjs";import{a as A}from"./chunk-PI3A4HAK.mjs";import{a as ae}from"./chunk-2Y66XRQK.mjs";import{a as oe}from"./chunk-Q6RQNGJC.mjs";import{a as R}from"./chunk-5FZ5WUYZ.mjs";import{a as ne}from"./chunk-3WS7UAIF.mjs";import{a as ie}from"./chunk-DP53BNR6.mjs";import{a as te}from"./chunk-YUFPUG5O.mjs";import{a as de}from"./chunk-TLW7RSAO.mjs";import{a as p}from"./chunk-XYPOYVRU.mjs";import{a as re}from"./chunk-G5VTJTDE.mjs";import{a as S}from"./chunk-RIB3PJIR.mjs";import{a as se}from"./chunk-VOJLXYJ3.mjs";import{a as b}from"./chunk-QJGFIK7H.mjs";import{b as ee}from"./chunk-4Z3DZ2A3.mjs";import{b as I,c as Z}from"./chunk-NRXYSTRW.mjs";import{i as J,m as U,v as M,w as C,x as L}from"./chunk-TBCYELRO.mjs";import{a as y}from"./chunk-OPHTJKDE.mjs";import{a as X}from"./chunk-34PFLOIB.mjs";import{a as N}from"./chunk-4TBVQD27.mjs";import{a as Q}from"./chunk-C6D4JSK4.mjs";import{g as Y}from"./chunk-M6MN4RXG.mjs";import{a as q,q as F,s as c}from"./chunk-ICTG3GLU.mjs";import{f as H}from"./chunk-UERJ6AKK.mjs";import{b as f,c as B}from"./chunk-7VHTZYM2.mjs";import{a as G}from"./chunk-VNLGNNIL.mjs";import{b as $,c as j}from"./chunk-6JM4DPOH.mjs";import{a as l,b as K}from"./chunk-6R2WFQ7U.mjs";import{a as o}from"./chunk-LJX4MW7B.mjs";var w=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 oe({options:e,config:this.config,provider:this.provider,login:this.ledgerLogin.bind(this)})};this.initLegderConnectManager=async e=>{if(!!y())return;await R.getInstance().init(e)};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");return await this.rebuildProvider(),await S({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 le({message:e,handleSignMessage:this.provider.signMessage.bind(this.provider)})};this.rebuildProvider=async()=>{try{await this.provider?.getAddress()}catch{try{let{ledgerProvider:r}=await ie({shouldInitProvider:!0});this.provider=r}catch(r){throw J({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=R.getInstance(),{ledgerProvider:r,ledgerConfig:t}=await new Promise((i,s)=>ne({manager:e,resolve:i,reject:s,shouldInitProvider:this.options?.shouldInitProvider}));this.config=t,this.provider=r}};var ve=3e4,me=5e3,he=3e3,k=class a{constructor(){this.store=F();this.connectionCheckInterval=null;this.recreateProviderInterval=null;this.init=async()=>{this.startCheckConnectionLoop()};this.shouldCheckConnection=()=>{let n=this.store.getState(),{providerType:e}=G(n),r=H(n);return!!(e===o.ledger&&r)};this.startCheckConnectionLoop=()=>{this.connectionCheckInterval||(this.connectionCheckInterval=setInterval(async()=>{let n=ee(c());if(!(!this.shouldCheckConnection()||n))try{await L().getProvider().getAddress()}catch{if(U.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 n=new w({shouldInitProvider:!0});await n.init();let e=new M(n);n.getType=()=>o.ledger,C(e),this.reset(),clearInterval(this.recreateProviderInterval??0),this.recreateProviderInterval=null,U.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 T=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 i=await this.provider.signTransactions(e)??[];return await se(i)}catch(i){throw await r({shouldCancelAction:!0}),i}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:l.crossWindow})};this.walletAddress=e?.walletAddress,this.provider=b.getInstance(),this._login=this.provider.login.bind(this.provider)}async init(){return this.initializeAddress(),this.initializeProvider()}async initializeProvider(){let e=f(c()),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 _=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(i){throw await t({shouldCancelAction:!1}),i}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:l.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 W=class extends p{constructor({address:e,walletUrl:r}={}){super(e);this.cancelAction=async()=>{this.provider.cancelAction()};this.signTransactions=async e=>{if(!this.provider)throw new Error("Provider is not initialized.");let{manager:r,onClose:t}=await this.initSignState();try{return await S({transactions:e,handleSign:this.provider.signTransactions.bind(this.provider)})}catch(i){throw await t({shouldCancelAction:!0}),i}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:l[o.metamask]})};this.walletUrl=r??"",this.provider=ce.getInstance(),this._login=this.provider.login.bind(this.provider)}init(){return this.initializeAddress(),this.initializeWalletUrl(),this.initializeProvider()}initializeWalletUrl(){if(this.walletUrl)return;let e=f(c());if(!e.iframeWalletAddress)throw new Error("Invalid walletUrl");this.walletUrl=e.iframeWalletAddress}async initializeProvider(){return await this.provider.init(),this.address&&this.setAccount({address:this.address}),this.provider.setWalletUrl(this.walletUrl),!0}logout(){return this.provider.logout()}getType(){return o.metamask}getAddress(){if(!this.provider)throw new Error("Provider is not initialized.");return this.provider.getAddress()}setAccount(e){this.provider.setAccount(e)}isInitialized(){return this.provider.isInitialized()}};import{OptionalOperation as we}from"@multiversx/sdk-wallet-connect-provider/out";var pe=[I.CANCEL_ACTION,I.SIGN_LOGIN_TOKEN],x=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 i=this.cancelActionAbortController.signal;try{let s=new Promise((h,v)=>{i.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:I.CANCEL_ACTION,action:we.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:l.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:i}=await this.provider.connect({methods:this.methods}),s=this.config.walletConnectDeepLink??N.walletConnectDeepLink;this._approval=i,A.getInstance().updateData({wcURI:t,walletConnectDeepLink:`${s}?wallet-connect=${encodeURIComponent(t)}`})}async initWalletConnectManager(){if(!!y())return;await A.getInstance().init(this.config?.anchor)}async createWalletConnectProvider(e){let r=y(),t=B(c());if($(c())&&pe.push(I.SIGN_NATIVE_AUTH_TOKEN),!e?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");let v={onClientLogin:()=>{},onClientLogout:()=>{Q()},onClientEvent:m=>{}};try{let{walletConnectV2ProjectId:m,walletConnectV2Options:O={},walletConnectV2RelayAddress:D=""}=e,P=new Z(v,t,D,m,O);return await P.init(),{walletConnectProvider:P,dappMethods:pe}}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=A.getInstance(),{uri:i="",approval:s}=await this.provider.connect({methods:this.methods}),d=this.config.walletConnectDeepLink??N.walletConnectDeepLink;t.updateData({wcURI:i,walletConnectDeepLink:`${d}?wallet-connect=${encodeURIComponent(i)}`});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:i="",signature:s=""}=t??{};return A.getInstance().handleClose({isLoginFinished:!!i}),{address:i,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 E=class{static set customProviders(n){this._customProviders=n}static get customProviders(){return this._customProviders}static async create({type:n,anchor:e}){let r=null;switch(n){case o.extension:{r=new _;break}case o.crossWindow:{r=new T;break}case o.ledger:{r=new w({anchor:e}),await k.getInstance().init();break}case o.metamask:{r=new W;break}case o.passkey:{let s=f(c());r=new T({walletAddress:`${s.walletAddress}?${K}=${o.passkey}`});break}case o.walletConnect:{let s=j(c());if(!s?.walletConnectV2ProjectId)throw new Error("Invalid WalletConnect setup");r=new x({anchor:e,...s});break}case o.webview:{r=new de;break}default:{let s=X();for(let d of this._customProviders)d.type===n&&(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);C(t);let i="provider"in r&&r.provider instanceof b;return ae(i?{skipLoginMethod:o.crossWindow}:null),t}static async destroy(){L().cancelLogin(),C(null),q(o.none)}};E._customProviders=[];var Pe=(a,n)=>a.some(e=>e.type===n);async function g({message:a,handleSignMessage:n,cancelAction:e,providerType:r}){return await new Promise(async(i,s)=>{let{manager:d,onClose:h}=await re({cancelAction:e}),v=Object.values(E.customProviders),m=v.reduce((u,V)=>(u[V.type]=V.name,u),{}),O={...l,...m},D=async()=>{await h({shouldCancelAction:!0}),s({message:"Signing canceled"})};d.subscribeToEventBus("CLOSE_PENDING_TRANSACTIONS",D);let P=Pe(v,r)?r:o.none;d.updateData({name:O[P],type:P});try{let u=await n(a);i(u)}catch(u){await h({shouldCancelAction:!0}),s(u)}finally{d.closeUI()}})}async function le({message:a,handleSignMessage:n}){try{return await g({message:a,handleSignMessage:n,providerType:l.ledger})}catch(e){let{errorMessage:r}=te(e);throw r?{message:r}:e}}export{le as a,w as b,k as c,E as d,g as e,T as f,_ as g,W as h,x as i};
2
+ //# sourceMappingURL=chunk-K7X3YFJU.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy.ts", "../../src/managers/internal/LedgerIdleStateManager/LedgerIdleStateManager.ts", "../../src/providers/strategies/CrossWindowProviderStrategy/CrossWindowProviderStrategy.ts", "../../src/providers/strategies/ExtensionProviderStrategy/ExtensionProviderStrategy.ts", "../../src/providers/strategies/IframeProviderStrategy/IframeProviderStrategy.ts", "../../src/providers/strategies/WalletConnectProviderStrategy/WalletConnectProviderStrategy.ts", "../../src/providers/ProviderFactory.ts", "../../src/providers/strategies/helpers/signMessage/signMessage.ts", "../../src/providers/strategies/LedgerProviderStrategy/helpers/signLedgerMessage.ts"],
4
- "sourcesContent": ["import { HWProvider } from '@multiversx/sdk-hw-provider';\n\nimport { CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION } from 'constants/transactions.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { LedgerConnectStateManager } from 'managers/internal/LedgerConnectStateManager/LedgerConnectStateManager';\nimport { ToastIconsEnum } from 'managers/ToastManager/helpers/getToastDataStateByStatus';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { createCustomToast } from 'store/actions/toasts/toastsActions';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { getLedgerProvider } from './helpers';\nimport { authenticateLedgerAccount } from './helpers/authenticateLedgerAccount';\nimport { initializeLedgerProvider } from './helpers/initializeLedgerProvider';\nimport { signLedgerMessage } from './helpers/signLedgerMessage';\nimport { LedgerConfigType } from './types/ledgerProvider.types';\nimport {\n BaseProviderStrategy,\n LoginOptionsTypes\n} from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\ntype LedgerProviderStrategyOptionsType = {\n anchor?: HTMLElement;\n shouldInitProvider?: boolean;\n};\n\ntype LedgerProviderStrategyType = LedgerProviderStrategyOptionsType & {\n address?: string;\n};\n\nexport class LedgerProviderStrategy extends BaseProviderStrategy {\n private provider: HWProvider | null = null;\n private config: LedgerConfigType | null = null;\n private readonly options?: LedgerProviderStrategyOptionsType;\n\n constructor({\n address,\n anchor,\n shouldInitProvider\n }: LedgerProviderStrategyType) {\n super(address);\n this.options = { anchor, shouldInitProvider };\n this._login = this.ledgerLogin.bind(this);\n }\n\n async init(): Promise<boolean> {\n try {\n this.initializeAddress();\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.ledger;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initLegderConnectManager(this.options?.anchor);\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n\n const { ledgerProvider, ledgerConfig } = await new Promise<\n Awaited<ReturnType<typeof getLedgerProvider>>\n >((resolve, reject) =>\n initializeLedgerProvider({\n manager: ledgerConnectManager,\n resolve,\n reject,\n shouldInitProvider: this.options?.shouldInitProvider\n })\n );\n\n this.config = ledgerConfig;\n this.provider = ledgerProvider;\n }\n\n private readonly ledgerLogin = async (\n options?: LoginOptionsTypes & { addressIndex?: number }\n ): Promise<{ address: string; signature: string }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n if (!options || typeof options.addressIndex !== 'number') {\n throw new Error('Missing addressIndex for Ledger login');\n }\n const { address, signature } = await this.provider.login({\n addressIndex: options.addressIndex\n });\n return {\n address,\n signature: signature ?? ''\n };\n };\n\n public override loginOperation = async (options?: LoginOptionsTypes) => {\n if (!this.provider || !this.config) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return await authenticateLedgerAccount({\n options,\n config: this.config,\n provider: this.provider,\n login: this.ledgerLogin.bind(this)\n });\n };\n\n private readonly initLegderConnectManager = async (anchor?: HTMLElement) => {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n await ledgerConnectManager.init(anchor);\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n };\n\n signMessage = async (message: Message): Promise<Message> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedMessage = await signLedgerMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider)\n });\n\n return signedMessage;\n };\n\n /**\n * Makes sure the device is accessible and if not, tries to initialize a new provider\n */\n private readonly rebuildProvider = async () => {\n try {\n await this.provider?.getAddress(); // can communicate with device\n } catch (_err) {\n try {\n const { ledgerProvider } = await getLedgerProvider({\n shouldInitProvider: true\n });\n this.provider = ledgerProvider;\n } catch (error) {\n createCustomToast({\n toastId: 'ledger-provider-rebuild-error',\n duration: CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION,\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device & open the MultiversX App',\n title: 'Ledger unavailable'\n });\n throw error;\n }\n }\n };\n}\n", "import { DappProvider } from 'providers/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from 'providers/helpers/accountProvider';\nimport { LedgerProviderStrategy } from 'providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy';\nimport { ProviderTypeEnum } from 'providers/types/providerFactory.types';\nimport { isLoggedInSelector, loginInfoSelector } from 'store/selectors';\nimport { isSidePanelOpenSelector } from 'store/selectors/uiSelectors';\nimport { getState, getStore } from 'store/store';\nimport { ToastManager } from '../../ToastManager';\nimport { ToastIconsEnum } from '../../ToastManager/helpers/getToastDataStateByStatus';\n\nconst LEDGER_IDLE_STATE_CHECK_INTERVAL = 30_000;\nconst LEDGER_IDLE_STATE_RECONNECT_INTERVAL = 5_000;\nconst RECONNECT_SUCCESS_DURATION = 3000;\n\nexport class LedgerIdleStateManager {\n private static instance: LedgerIdleStateManager;\n private store = getStore();\n private connectionCheckInterval: ReturnType<typeof setInterval> | null = null;\n private recreateProviderInterval: ReturnType<typeof setInterval> | null =\n null;\n\n public static getInstance(): LedgerIdleStateManager {\n if (!LedgerIdleStateManager.instance) {\n LedgerIdleStateManager.instance = new LedgerIdleStateManager();\n }\n return LedgerIdleStateManager.instance;\n }\n\n private constructor() {}\n\n public init = async () => {\n this.startCheckConnectionLoop();\n };\n\n private readonly shouldCheckConnection = (): boolean => {\n const state = this.store.getState();\n const { providerType } = loginInfoSelector(state);\n const isLoggedIn = isLoggedInSelector(state);\n return Boolean(providerType === ProviderTypeEnum.ledger && isLoggedIn);\n };\n\n private readonly startCheckConnectionLoop = () => {\n if (this.connectionCheckInterval) {\n return;\n }\n\n this.connectionCheckInterval = setInterval(async () => {\n const isSigningProcess = isSidePanelOpenSelector(getState());\n\n if (!this.shouldCheckConnection() || isSigningProcess) {\n return;\n }\n\n try {\n const ledgerProvider = getAccountProvider().getProvider();\n await ledgerProvider.getAddress();\n } catch (_error) {\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device to continue signing transactions',\n title: 'Ledger disconnected'\n });\n this.reset();\n if (this.recreateProviderInterval) {\n return;\n }\n this.recreateProviderInterval = setInterval(\n this.reconnectProvider,\n LEDGER_IDLE_STATE_RECONNECT_INTERVAL\n );\n }\n }, LEDGER_IDLE_STATE_CHECK_INTERVAL);\n };\n\n private readonly reconnectProvider = async () => {\n if (!this.shouldCheckConnection()) {\n return;\n }\n\n try {\n const createdProvider = new LedgerProviderStrategy({\n shouldInitProvider: true\n });\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n createdProvider.getType = () => ProviderTypeEnum.ledger;\n setAccountProvider(dappProvider);\n\n this.reset();\n clearInterval(this.recreateProviderInterval ?? 0);\n this.recreateProviderInterval = null;\n\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n duration: RECONNECT_SUCCESS_DURATION,\n icon: ToastIconsEnum.check,\n iconClassName: 'success',\n message: 'Your device is ready to sign transactions',\n title: 'Ledger reconnected'\n });\n this.startCheckConnectionLoop();\n } catch (_err) {\n console.log('Unable to reconnect to Ledger');\n }\n };\n\n public reset = () => {\n clearInterval(this.connectionCheckInterval ?? 0);\n this.connectionCheckInterval = null;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { CrossWindowProvider } from 'lib/sdkWebWalletCrossWindowProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { guardTransactions } from '../helpers/signTransactions/helpers/guardTransactions/guardTransactions';\n\ntype CrossWindowProviderProps = {\n address?: string;\n walletAddress?: string;\n};\n\nexport class CrossWindowProviderStrategy extends BaseProviderStrategy {\n private readonly provider: CrossWindowProvider;\n private readonly walletAddress?: string;\n\n constructor(config?: CrossWindowProviderProps) {\n super(config?.address);\n this.walletAddress = config?.walletAddress;\n this.provider = CrossWindowProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const network = networkSelector(getState());\n\n const isProviderInitialized = await this.provider.init();\n\n this.provider.setWalletUrl(this.walletAddress ?? network.walletAddress);\n\n if (this.address) {\n this.provider.setAddress(this.address);\n }\n\n return isProviderInitialized;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.crossWindow;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { onClose, manager } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n const optionallyGuardedTransactions =\n await guardTransactions(signedTransactions);\n\n return optionallyGuardedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.crossWindow\n });\n\n return signedMessage;\n };\n}\n", "import { ExtensionProvider } from '@multiversx/sdk-extension-provider/out/extensionProvider';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nexport class ExtensionProviderStrategy extends BaseProviderStrategy {\n private readonly provider: ExtensionProvider;\n\n constructor(address?: string) {\n super(address);\n this.provider = ExtensionProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const initialized = await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n return initialized;\n }\n\n getAddress(): Promise<string | undefined> {\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.extension;\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: false });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n });\n\n return signedMessage;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { IframeProvider } from 'lib/sdkWebWalletIframeProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { IframeProviderType } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\nexport class IframeProviderStrategy extends BaseProviderStrategy {\n private readonly provider: IframeProvider;\n private walletUrl: string;\n\n constructor({ address, walletUrl }: IframeProviderType = {}) {\n super(address);\n this.walletUrl = walletUrl ?? '';\n this.provider = IframeProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n init(): Promise<boolean> {\n this.initializeAddress();\n this.initializeWalletUrl();\n return this.initializeProvider();\n }\n\n private initializeWalletUrl() {\n if (this.walletUrl) {\n return;\n }\n\n const network = networkSelector(getState());\n\n if (!network.iframeWalletAddress) {\n throw new Error('Invalid walletUrl');\n }\n\n this.walletUrl = network.iframeWalletAddress;\n }\n\n private async initializeProvider() {\n await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n this.provider.setWalletUrl(this.walletUrl);\n\n return true;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.metamask;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels[ProviderTypeEnum.metamask]\n });\n\n return signedMessage;\n };\n}\n", "import {\n SessionEventTypes,\n SessionTypes,\n OptionalOperation\n} from '@multiversx/sdk-wallet-connect-provider/out';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { fallbackWalletConnectConfigurations } from 'constants/walletConnect.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { WalletConnectStateManager } from 'managers/internal/WalletConnectStateManager/WalletConnectStateManager';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { logoutAction } from 'store/actions';\nimport { chainIdSelector, nativeAuthConfigSelector } from 'store/selectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport {\n WalletConnectOptionalMethodsEnum,\n WalletConnectV2Provider\n} from 'utils/walletconnect/__sdkWalletconnectProvider';\nimport { WalletConnectV2Error, WalletConnectConfig } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nconst dappMethods: string[] = [\n WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n WalletConnectOptionalMethodsEnum.SIGN_LOGIN_TOKEN\n];\n\ntype WalletConnectProviderStrategyConfigType = WalletConnectConfig & {\n anchor?: HTMLElement;\n};\n\nexport class WalletConnectProviderStrategy extends BaseProviderStrategy {\n private provider: WalletConnectV2Provider | null = null;\n private readonly config: WalletConnectProviderStrategyConfigType;\n private methods: string[] = [];\n private _approval: (() => Promise<SessionTypes.Struct>) | null = null;\n protected cancelActionAbortController: AbortController | null = null;\n\n constructor(config: WalletConnectProviderStrategyConfigType) {\n super();\n this.config = config;\n }\n\n async init(): Promise<boolean> {\n try {\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.walletConnect;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return Promise.resolve(this.provider.getAddress());\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initWalletConnectManager();\n\n if (!this.config) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const { walletConnectProvider, dappMethods: dAppMethods } =\n await this.createWalletConnectProvider(this.config);\n\n this.provider = walletConnectProvider;\n this.methods = dAppMethods;\n\n const { uri = '', approval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n this._approval = approval;\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n }\n\n private async initWalletConnectManager() {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n await walletConnectManager.init(this.config?.anchor);\n }\n\n private async createWalletConnectProvider(config: WalletConnectConfig) {\n const isLoggedIn = getIsLoggedIn();\n const chainId = chainIdSelector(getState());\n const nativeAuthConfig = nativeAuthConfigSelector(getState());\n\n if (nativeAuthConfig) {\n dappMethods.push(WalletConnectOptionalMethodsEnum.SIGN_NATIVE_AUTH_TOKEN);\n }\n\n if (!config?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const handleOnLogin = () => {};\n\n const handleOnLogout = () => {\n logoutAction();\n };\n\n const handleOnEvent = (_event: SessionEventTypes['event']) => {};\n\n const providerHandlers = {\n onClientLogin: handleOnLogin,\n onClientLogout: handleOnLogout,\n onClientEvent: handleOnEvent\n };\n\n try {\n const {\n walletConnectV2ProjectId,\n walletConnectV2Options = {},\n walletConnectV2RelayAddress = ''\n } = config;\n const walletConnectProvider = new WalletConnectV2Provider(\n providerHandlers,\n chainId,\n walletConnectV2RelayAddress,\n walletConnectV2ProjectId,\n walletConnectV2Options\n );\n\n await walletConnectProvider.init();\n\n return { walletConnectProvider, dappMethods };\n } catch (err) {\n console.error(WalletConnectV2Error.connectError, err);\n\n if (isLoggedIn) {\n await this.logout();\n }\n\n throw err;\n }\n }\n\n async login(options?: { token?: string }): Promise<{\n address: string;\n signature: string;\n }> {\n if (!this.provider) {\n throw new Error(\n 'Provider is not initialized. Call createProvider first.'\n );\n }\n\n const reconnect = async (): Promise<{\n address: string;\n signature: string;\n }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.init();\n const walletConnectManager = WalletConnectStateManager.getInstance();\n\n const { uri = '', approval: wcApproval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n\n const providerInfo = await this.provider.login({\n approval: wcApproval,\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerInfo ?? {};\n\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch {\n return await reconnect();\n }\n };\n\n if (!this._approval) {\n throw new Error('Approval or login is not initialized');\n }\n\n try {\n const providerData = await this.provider.login({\n approval: this._approval.bind(this),\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerData ?? {};\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch (error) {\n console.error(WalletConnectV2Error.userRejected, error);\n return await reconnect();\n }\n }\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n try {\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedTransactions: Transaction[] = await Promise.race([\n this.provider.signTransactions(transactions),\n abortPromise\n ]);\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n cancelAction = async () => {\n this.sendCustomRequest({\n method: WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n action: OptionalOperation.CANCEL_ACTION\n });\n\n this.cancelActionAbortController?.abort();\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedMessage = await Promise.race([\n signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n }),\n abortPromise\n ]);\n\n return signedMessage;\n };\n\n private async sendCustomRequest({\n action,\n method\n }: {\n action: OptionalOperation;\n method: WalletConnectOptionalMethodsEnum;\n }) {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.sendCustomRequest?.({\n request: {\n method,\n params: { action }\n }\n });\n } catch (error) {\n console.error(WalletConnectV2Error.actionError, error);\n }\n }\n}\n", "import { CrossWindowProvider } from 'lib/sdkWebWalletCrossWindowProvider';\nimport { LedgerIdleStateManager } from 'managers/internal/LedgerIdleStateManager/LedgerIdleStateManager';\nimport { getAddress } from 'methods/account/getAddress';\nimport {\n CrossWindowProviderStrategy,\n ExtensionProviderStrategy,\n IframeProviderStrategy,\n LedgerProviderStrategy,\n WalletConnectProviderStrategy,\n WalletConnectV2Error\n} from 'providers/strategies';\nimport { setProviderType } from 'store/actions/loginInfo/loginInfoActions';\nimport { walletConnectConfigSelector } from 'store/selectors/configSelectors';\nimport { getState } from 'store/store';\nimport { DappProvider } from './DappProvider/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from './helpers/accountProvider';\nimport { clearInitiatedLogins } from './helpers/clearInitiatedLogins';\nimport { WebviewProviderStrategy } from './strategies/WebviewProviderStrategy';\nimport {\n ICustomProvider,\n IProvider,\n IProviderFactory,\n ProviderTypeEnum\n} from './types/providerFactory.types';\n\nexport class ProviderFactory {\n private static _customProviders: ICustomProvider[] = [];\n\n public static set customProviders(providers: ICustomProvider[]) {\n this._customProviders = providers;\n }\n\n public static get customProviders() {\n return this._customProviders;\n }\n\n public static async create({\n type,\n anchor\n }: IProviderFactory): Promise<DappProvider> {\n let createdProvider: IProvider | null = null;\n\n switch (type) {\n case ProviderTypeEnum.extension: {\n createdProvider = new ExtensionProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.crossWindow: {\n createdProvider = new CrossWindowProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.ledger: {\n createdProvider = new LedgerProviderStrategy({ anchor });\n\n const ledgerIdleStateManager = LedgerIdleStateManager.getInstance();\n await ledgerIdleStateManager.init();\n\n break;\n }\n\n case ProviderTypeEnum.metamask: {\n createdProvider = new IframeProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.walletConnect: {\n const walletConnectConfig = walletConnectConfigSelector(getState());\n\n if (!walletConnectConfig?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n createdProvider = new WalletConnectProviderStrategy({\n anchor,\n ...walletConnectConfig\n });\n\n break;\n }\n case ProviderTypeEnum.webview: {\n createdProvider = new WebviewProviderStrategy();\n break;\n }\n\n default: {\n const address = getAddress();\n\n for (const customProvider of this._customProviders) {\n if (customProvider.type === type) {\n createdProvider = await customProvider.constructor({\n address,\n anchor\n });\n }\n }\n break;\n }\n }\n\n if (!createdProvider) {\n throw new Error('Unable to create provider');\n }\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n setAccountProvider(dappProvider);\n\n const shouldClearInitiatedLogins =\n 'provider' in createdProvider &&\n createdProvider.provider instanceof CrossWindowProvider;\n\n // Clear initiated logins and skip the login method if it's crossWindow or metamask\n clearInitiatedLogins(\n shouldClearInitiatedLogins\n ? { skipLoginMethod: ProviderTypeEnum.crossWindow }\n : null\n );\n\n return dappProvider;\n }\n\n public static async destroy() {\n const provider = getAccountProvider();\n provider.cancelLogin();\n setAccountProvider(null);\n setProviderType(ProviderTypeEnum.none);\n }\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { PendingTransactionsEventsEnum } from 'managers/internal/PendingTransactionsStateManager/types/pendingTransactions.types';\nimport { ProviderFactory } from 'providers/ProviderFactory';\nimport {\n ProviderType,\n ProviderTypeEnum,\n ICustomProvider\n} from 'providers/types/providerFactory.types';\nimport { SigningWarningsEnum } from 'types/enums.types';\nimport { getPendingTransactionsHandlers } from '../getPendingTransactionsHandlers';\n\ntype SignMessageWithModalPropsType<T> = {\n message: Message;\n handleSignMessage: (message: Message) => Promise<Message>;\n cancelAction?: () => Promise<T> | undefined;\n providerType: string;\n};\n\nconst isProviderType = (\n allProviders: ICustomProvider[],\n type: string\n): type is ProviderType =>\n allProviders.some((provider) => provider.type === type);\n\nexport async function signMessage<T>({\n message,\n handleSignMessage,\n cancelAction,\n providerType\n}: SignMessageWithModalPropsType<T>): Promise<Message> {\n const signedMsg = await new Promise<Awaited<Message>>(\n async (resolve, reject) => {\n const { manager, onClose } = await getPendingTransactionsHandlers({\n cancelAction\n });\n\n const allProviders = Object.values(ProviderFactory.customProviders);\n const allCustomProviderLabels = allProviders.reduce(\n (acc, provider) => {\n acc[provider.type] = provider.name;\n return acc;\n },\n {} as Record<ProviderType, string>\n );\n\n const allProviderLabels = {\n ...providerLabels,\n ...allCustomProviderLabels\n };\n\n const handleClose = async () => {\n await onClose({ shouldCancelAction: true });\n reject({ message: SigningWarningsEnum.cancelled });\n };\n\n manager.subscribeToEventBus(\n PendingTransactionsEventsEnum.CLOSE,\n handleClose\n );\n\n const providerKey = isProviderType(allProviders, providerType)\n ? providerType\n : ProviderTypeEnum.none;\n\n manager.updateData({\n name: allProviderLabels[providerKey],\n type: providerKey\n });\n\n try {\n const signedMessage = await handleSignMessage(message);\n resolve(signedMessage);\n } catch (err) {\n await onClose({ shouldCancelAction: true });\n reject(err);\n } finally {\n manager.closeUI();\n }\n }\n );\n return signedMsg;\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { getLedgerErrorCodes } from './getLedgerErrorCodes';\nimport { signMessage } from '../../helpers/signMessage/signMessage';\n\nexport async function signLedgerMessage({\n message,\n handleSignMessage\n}: {\n message: Message;\n handleSignMessage: (msg: Message) => Promise<Message>;\n}): Promise<Message> {\n try {\n const signedMessage = await signMessage({\n message,\n handleSignMessage: handleSignMessage,\n providerType: providerLabels.ledger\n });\n return signedMessage;\n } catch (error) {\n const { errorMessage } = getLedgerErrorCodes(error);\n throw errorMessage ? { message: errorMessage } : error;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["LedgerProviderStrategy", "BaseProviderStrategy", "address", "anchor", "shouldInitProvider", "options", "signature", "authenticateLedgerAccount", "getIsLoggedIn", "LedgerConnectStateManager", "transactions", "signTransactions", "message", "signLedgerMessage", "ledgerProvider", "getLedgerProvider", "error", "createCustomToast", "ProviderTypeEnum", "account", "ledgerConnectManager", "ledgerConfig", "resolve", "reject", "initializeLedgerProvider", "LEDGER_IDLE_STATE_CHECK_INTERVAL", "LEDGER_IDLE_STATE_RECONNECT_INTERVAL", "RECONNECT_SUCCESS_DURATION", "LedgerIdleStateManager", "_LedgerIdleStateManager", "getStore", "state", "providerType", "loginInfoSelector", "isLoggedIn", "isLoggedInSelector", "ProviderTypeEnum", "isSigningProcess", "isSidePanelOpenSelector", "getState", "getAccountProvider", "ToastManager", "createdProvider", "LedgerProviderStrategy", "dappProvider", "DappProvider", "setAccountProvider", "CrossWindowProviderStrategy", "BaseProviderStrategy", "config", "transactions", "onClose", "manager", "signedTransactions", "guardTransactions", "error", "message", "signMessage", "providerLabels", "CrossWindowProvider", "network", "networkSelector", "getState", "isProviderInitialized", "ProviderTypeEnum", "account", "ExtensionProvider", "ExtensionProviderStrategy", "BaseProviderStrategy", "address", "transactions", "manager", "onClose", "error", "message", "signMessage", "providerLabels", "ExtensionProvider", "initialized", "account", "ProviderTypeEnum", "IframeProviderStrategy", "BaseProviderStrategy", "address", "walletUrl", "transactions", "manager", "onClose", "signTransactions", "error", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "IframeProvider", "network", "networkSelector", "getState", "account", "OptionalOperation", "dappMethods", "WalletConnectOptionalMethodsEnum", "WalletConnectProviderStrategy", "BaseProviderStrategy", "config", "transactions", "manager", "onClose", "signal", "abortPromise", "_", "reject", "error", "OptionalOperation", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "account", "walletConnectProvider", "dAppMethods", "uri", "approval", "walletConnectDeepLink", "fallbackWalletConnectConfigurations", "WalletConnectStateManager", "getIsLoggedIn", "isLoggedIn", "chainId", "chainIdSelector", "getState", "nativeAuthConfigSelector", "providerHandlers", "logoutAction", "_event", "walletConnectV2ProjectId", "walletConnectV2Options", "walletConnectV2RelayAddress", "WalletConnectV2Provider", "err", "options", "reconnect", "walletConnectManager", "wcApproval", "providerInfo", "address", "signature", "providerData", "action", "method", "ProviderFactory", "providers", "type", "anchor", "createdProvider", "ProviderTypeEnum", "ExtensionProviderStrategy", "CrossWindowProviderStrategy", "LedgerProviderStrategy", "LedgerIdleStateManager", "IframeProviderStrategy", "walletConnectConfig", "walletConnectConfigSelector", "getState", "WalletConnectProviderStrategy", "WebviewProviderStrategy", "address", "getAddress", "customProvider", "dappProvider", "DappProvider", "setAccountProvider", "shouldClearInitiatedLogins", "CrossWindowProvider", "clearInitiatedLogins", "getAccountProvider", "setProviderType", "isProviderType", "allProviders", "type", "provider", "signMessage", "message", "handleSignMessage", "cancelAction", "providerType", "resolve", "reject", "manager", "onClose", "getPendingTransactionsHandlers", "ProviderFactory", "allCustomProviderLabels", "acc", "allProviderLabels", "providerLabels", "handleClose", "providerKey", "ProviderTypeEnum", "signedMessage", "err", "signLedgerMessage", "message", "handleSignMessage", "signMessage", "providerLabels", "error", "errorMessage", "getLedgerErrorCodes"]
4
+ "sourcesContent": ["import { HWProvider } from '@multiversx/sdk-hw-provider';\n\nimport { CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION } from 'constants/transactions.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { LedgerConnectStateManager } from 'managers/internal/LedgerConnectStateManager/LedgerConnectStateManager';\nimport { ToastIconsEnum } from 'managers/ToastManager/helpers/getToastDataStateByStatus';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { createCustomToast } from 'store/actions/toasts/toastsActions';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { getLedgerProvider } from './helpers';\nimport { authenticateLedgerAccount } from './helpers/authenticateLedgerAccount';\nimport { initializeLedgerProvider } from './helpers/initializeLedgerProvider';\nimport { signLedgerMessage } from './helpers/signLedgerMessage';\nimport { LedgerConfigType } from './types/ledgerProvider.types';\nimport {\n BaseProviderStrategy,\n LoginOptionsTypes\n} from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\ntype LedgerProviderStrategyOptionsType = {\n anchor?: HTMLElement;\n shouldInitProvider?: boolean;\n};\n\ntype LedgerProviderStrategyType = LedgerProviderStrategyOptionsType & {\n address?: string;\n};\n\nexport class LedgerProviderStrategy extends BaseProviderStrategy {\n private provider: HWProvider | null = null;\n private config: LedgerConfigType | null = null;\n private readonly options?: LedgerProviderStrategyOptionsType;\n\n constructor({\n address,\n anchor,\n shouldInitProvider\n }: LedgerProviderStrategyType) {\n super(address);\n this.options = { anchor, shouldInitProvider };\n this._login = this.ledgerLogin.bind(this);\n }\n\n async init(): Promise<boolean> {\n try {\n this.initializeAddress();\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.ledger;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initLegderConnectManager(this.options?.anchor);\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n\n const { ledgerProvider, ledgerConfig } = await new Promise<\n Awaited<ReturnType<typeof getLedgerProvider>>\n >((resolve, reject) =>\n initializeLedgerProvider({\n manager: ledgerConnectManager,\n resolve,\n reject,\n shouldInitProvider: this.options?.shouldInitProvider\n })\n );\n\n this.config = ledgerConfig;\n this.provider = ledgerProvider;\n }\n\n private readonly ledgerLogin = async (\n options?: LoginOptionsTypes & { addressIndex?: number }\n ): Promise<{ address: string; signature: string }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n if (!options || typeof options.addressIndex !== 'number') {\n throw new Error('Missing addressIndex for Ledger login');\n }\n const { address, signature } = await this.provider.login({\n addressIndex: options.addressIndex\n });\n return {\n address,\n signature: signature ?? ''\n };\n };\n\n public override loginOperation = async (options?: LoginOptionsTypes) => {\n if (!this.provider || !this.config) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return await authenticateLedgerAccount({\n options,\n config: this.config,\n provider: this.provider,\n login: this.ledgerLogin.bind(this)\n });\n };\n\n private readonly initLegderConnectManager = async (anchor?: HTMLElement) => {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const ledgerConnectManager = LedgerConnectStateManager.getInstance();\n await ledgerConnectManager.init(anchor);\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n };\n\n signMessage = async (message: Message): Promise<Message> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n await this.rebuildProvider();\n\n const signedMessage = await signLedgerMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider)\n });\n\n return signedMessage;\n };\n\n /**\n * Makes sure the device is accessible and if not, tries to initialize a new provider\n */\n private readonly rebuildProvider = async () => {\n try {\n await this.provider?.getAddress(); // can communicate with device\n } catch (_err) {\n try {\n const { ledgerProvider } = await getLedgerProvider({\n shouldInitProvider: true\n });\n this.provider = ledgerProvider;\n } catch (error) {\n createCustomToast({\n toastId: 'ledger-provider-rebuild-error',\n duration: CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION,\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device & open the MultiversX App',\n title: 'Ledger unavailable'\n });\n throw error;\n }\n }\n };\n}\n", "import { DappProvider } from 'providers/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from 'providers/helpers/accountProvider';\nimport { LedgerProviderStrategy } from 'providers/strategies/LedgerProviderStrategy/LedgerProviderStrategy';\nimport { ProviderTypeEnum } from 'providers/types/providerFactory.types';\nimport { isLoggedInSelector, loginInfoSelector } from 'store/selectors';\nimport { isSidePanelOpenSelector } from 'store/selectors/uiSelectors';\nimport { getState, getStore } from 'store/store';\nimport { ToastManager } from '../../ToastManager';\nimport { ToastIconsEnum } from '../../ToastManager/helpers/getToastDataStateByStatus';\n\nconst LEDGER_IDLE_STATE_CHECK_INTERVAL = 30_000;\nconst LEDGER_IDLE_STATE_RECONNECT_INTERVAL = 5_000;\nconst RECONNECT_SUCCESS_DURATION = 3000;\n\nexport class LedgerIdleStateManager {\n private static instance: LedgerIdleStateManager;\n private store = getStore();\n private connectionCheckInterval: ReturnType<typeof setInterval> | null = null;\n private recreateProviderInterval: ReturnType<typeof setInterval> | null =\n null;\n\n public static getInstance(): LedgerIdleStateManager {\n if (!LedgerIdleStateManager.instance) {\n LedgerIdleStateManager.instance = new LedgerIdleStateManager();\n }\n return LedgerIdleStateManager.instance;\n }\n\n private constructor() {}\n\n public init = async () => {\n this.startCheckConnectionLoop();\n };\n\n private readonly shouldCheckConnection = (): boolean => {\n const state = this.store.getState();\n const { providerType } = loginInfoSelector(state);\n const isLoggedIn = isLoggedInSelector(state);\n return Boolean(providerType === ProviderTypeEnum.ledger && isLoggedIn);\n };\n\n private readonly startCheckConnectionLoop = () => {\n if (this.connectionCheckInterval) {\n return;\n }\n\n this.connectionCheckInterval = setInterval(async () => {\n const isSigningProcess = isSidePanelOpenSelector(getState());\n\n if (!this.shouldCheckConnection() || isSigningProcess) {\n return;\n }\n\n try {\n const ledgerProvider = getAccountProvider().getProvider();\n await ledgerProvider.getAddress();\n } catch (_error) {\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n icon: ToastIconsEnum.times,\n iconClassName: 'warning',\n message: 'Unlock your device to continue signing transactions',\n title: 'Ledger disconnected'\n });\n this.reset();\n if (this.recreateProviderInterval) {\n return;\n }\n this.recreateProviderInterval = setInterval(\n this.reconnectProvider,\n LEDGER_IDLE_STATE_RECONNECT_INTERVAL\n );\n }\n }, LEDGER_IDLE_STATE_CHECK_INTERVAL);\n };\n\n private readonly reconnectProvider = async () => {\n if (!this.shouldCheckConnection()) {\n return;\n }\n\n try {\n const createdProvider = new LedgerProviderStrategy({\n shouldInitProvider: true\n });\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n createdProvider.getType = () => ProviderTypeEnum.ledger;\n setAccountProvider(dappProvider);\n\n this.reset();\n clearInterval(this.recreateProviderInterval ?? 0);\n this.recreateProviderInterval = null;\n\n ToastManager.getInstance().createCustomToast({\n toastId: 'ledger-provider-idle-warning',\n duration: RECONNECT_SUCCESS_DURATION,\n icon: ToastIconsEnum.check,\n iconClassName: 'success',\n message: 'Your device is ready to sign transactions',\n title: 'Ledger reconnected'\n });\n this.startCheckConnectionLoop();\n } catch (_err) {\n console.log('Unable to reconnect to Ledger');\n }\n };\n\n public reset = () => {\n clearInterval(this.connectionCheckInterval ?? 0);\n this.connectionCheckInterval = null;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { CrossWindowProvider } from 'lib/sdkWebWalletCrossWindowProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { guardTransactions } from '../helpers/signTransactions/helpers/guardTransactions/guardTransactions';\n\ntype CrossWindowProviderProps = {\n address?: string;\n walletAddress?: string;\n};\n\nexport class CrossWindowProviderStrategy extends BaseProviderStrategy {\n private readonly provider: CrossWindowProvider;\n private readonly walletAddress?: string;\n\n constructor(config?: CrossWindowProviderProps) {\n super(config?.address);\n this.walletAddress = config?.walletAddress;\n this.provider = CrossWindowProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const network = networkSelector(getState());\n\n const isProviderInitialized = await this.provider.init();\n\n this.provider.setWalletUrl(this.walletAddress ?? network.walletAddress);\n\n if (this.address) {\n this.provider.setAddress(this.address);\n }\n\n return isProviderInitialized;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.crossWindow;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { onClose, manager } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n const optionallyGuardedTransactions =\n await guardTransactions(signedTransactions);\n\n return optionallyGuardedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.crossWindow\n });\n\n return signedMessage;\n };\n}\n", "import { ExtensionProvider } from '@multiversx/sdk-extension-provider/out/extensionProvider';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nexport class ExtensionProviderStrategy extends BaseProviderStrategy {\n private readonly provider: ExtensionProvider;\n\n constructor(address?: string) {\n super(address);\n this.provider = ExtensionProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n async init(): Promise<boolean> {\n this.initializeAddress();\n return this.initializeProvider();\n }\n\n private async initializeProvider() {\n const initialized = await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n return initialized;\n }\n\n getAddress(): Promise<string | undefined> {\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.extension;\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions: Transaction[] =\n (await this.provider.signTransactions(transactions)) ?? [];\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: false });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n });\n\n return signedMessage;\n };\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { IframeProvider } from 'lib/sdkWebWalletIframeProvider';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport { IframeProviderType } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\nimport { signTransactions } from '../helpers/signTransactions/signTransactions';\n\nexport class IframeProviderStrategy extends BaseProviderStrategy {\n private readonly provider: IframeProvider;\n private walletUrl: string;\n\n constructor({ address, walletUrl }: IframeProviderType = {}) {\n super(address);\n this.walletUrl = walletUrl ?? '';\n this.provider = IframeProvider.getInstance();\n this._login = this.provider.login.bind(this.provider);\n }\n\n init(): Promise<boolean> {\n this.initializeAddress();\n this.initializeWalletUrl();\n return this.initializeProvider();\n }\n\n private initializeWalletUrl() {\n if (this.walletUrl) {\n return;\n }\n\n const network = networkSelector(getState());\n\n if (!network.iframeWalletAddress) {\n throw new Error('Invalid walletUrl');\n }\n\n this.walletUrl = network.iframeWalletAddress;\n }\n\n private async initializeProvider() {\n await this.provider.init();\n\n if (this.address) {\n this.setAccount({ address: this.address });\n }\n\n this.provider.setWalletUrl(this.walletUrl);\n\n return true;\n }\n\n logout(): Promise<boolean> {\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.metamask;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.getAddress();\n }\n\n setAccount(account: IDAppProviderAccount): void {\n this.provider.setAccount(account);\n }\n\n isInitialized(): boolean {\n return this.provider.isInitialized();\n }\n\n cancelAction = async () => {\n this.provider.cancelAction();\n };\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n try {\n const signedTransactions = await signTransactions({\n transactions,\n handleSign: this.provider.signTransactions.bind(this.provider)\n });\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const signedMessage = await signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels[ProviderTypeEnum.metamask]\n });\n\n return signedMessage;\n };\n}\n", "import {\n SessionEventTypes,\n SessionTypes,\n OptionalOperation\n} from '@multiversx/sdk-wallet-connect-provider/out';\nimport { providerLabels } from 'constants/providerFactory.constants';\nimport { fallbackWalletConnectConfigurations } from 'constants/walletConnect.constants';\nimport { Message, Transaction } from 'lib/sdkCore';\nimport { IDAppProviderAccount } from 'lib/sdkDappUtils';\nimport { WalletConnectStateManager } from 'managers/internal/WalletConnectStateManager/WalletConnectStateManager';\nimport { getIsLoggedIn } from 'methods/account/getIsLoggedIn';\nimport {\n ProviderTypeEnum,\n ProviderType\n} from 'providers/types/providerFactory.types';\nimport { logoutAction } from 'store/actions';\nimport { chainIdSelector, nativeAuthConfigSelector } from 'store/selectors';\nimport { getState } from 'store/store';\nimport { ProviderErrorsEnum } from 'types/provider.types';\nimport {\n WalletConnectOptionalMethodsEnum,\n WalletConnectV2Provider\n} from 'utils/walletconnect/__sdkWalletconnectProvider';\nimport { WalletConnectV2Error, WalletConnectConfig } from './types';\nimport { BaseProviderStrategy } from '../BaseProviderStrategy/BaseProviderStrategy';\nimport { signMessage } from '../helpers/signMessage/signMessage';\n\nconst dappMethods: string[] = [\n WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n WalletConnectOptionalMethodsEnum.SIGN_LOGIN_TOKEN\n];\n\ntype WalletConnectProviderStrategyConfigType = WalletConnectConfig & {\n anchor?: HTMLElement;\n};\n\nexport class WalletConnectProviderStrategy extends BaseProviderStrategy {\n private provider: WalletConnectV2Provider | null = null;\n private readonly config: WalletConnectProviderStrategyConfigType;\n private methods: string[] = [];\n private _approval: (() => Promise<SessionTypes.Struct>) | null = null;\n protected cancelActionAbortController: AbortController | null = null;\n\n constructor(config: WalletConnectProviderStrategyConfigType) {\n super();\n this.config = config;\n }\n\n async init(): Promise<boolean> {\n try {\n await this.initializeProvider();\n } catch {\n return false;\n }\n\n return true;\n }\n\n logout(): Promise<boolean> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.logout();\n }\n\n getType(): ProviderType {\n return ProviderTypeEnum.walletConnect;\n }\n\n getAddress(): Promise<string | undefined> {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return Promise.resolve(this.provider.getAddress());\n }\n\n setAccount(account: IDAppProviderAccount): void {\n return this.provider?.setAccount(account);\n }\n\n isInitialized(): boolean {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n return this.provider.isInitialized();\n }\n\n private async initializeProvider() {\n await this.initWalletConnectManager();\n\n if (!this.config) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const { walletConnectProvider, dappMethods: dAppMethods } =\n await this.createWalletConnectProvider(this.config);\n\n this.provider = walletConnectProvider;\n this.methods = dAppMethods;\n\n const { uri = '', approval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n this._approval = approval;\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n }\n\n private async initWalletConnectManager() {\n const shouldInitiateLogin = !getIsLoggedIn();\n\n if (!shouldInitiateLogin) {\n return;\n }\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n await walletConnectManager.init(this.config?.anchor);\n }\n\n private async createWalletConnectProvider(config: WalletConnectConfig) {\n const isLoggedIn = getIsLoggedIn();\n const chainId = chainIdSelector(getState());\n const nativeAuthConfig = nativeAuthConfigSelector(getState());\n\n if (nativeAuthConfig) {\n dappMethods.push(WalletConnectOptionalMethodsEnum.SIGN_NATIVE_AUTH_TOKEN);\n }\n\n if (!config?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n const handleOnLogin = () => {};\n\n const handleOnLogout = () => {\n logoutAction();\n };\n\n const handleOnEvent = (_event: SessionEventTypes['event']) => {};\n\n const providerHandlers = {\n onClientLogin: handleOnLogin,\n onClientLogout: handleOnLogout,\n onClientEvent: handleOnEvent\n };\n\n try {\n const {\n walletConnectV2ProjectId,\n walletConnectV2Options = {},\n walletConnectV2RelayAddress = ''\n } = config;\n const walletConnectProvider = new WalletConnectV2Provider(\n providerHandlers,\n chainId,\n walletConnectV2RelayAddress,\n walletConnectV2ProjectId,\n walletConnectV2Options\n );\n\n await walletConnectProvider.init();\n\n return { walletConnectProvider, dappMethods };\n } catch (err) {\n console.error(WalletConnectV2Error.connectError, err);\n\n if (isLoggedIn) {\n await this.logout();\n }\n\n throw err;\n }\n }\n\n async login(options?: { token?: string }): Promise<{\n address: string;\n signature: string;\n }> {\n if (!this.provider) {\n throw new Error(\n 'Provider is not initialized. Call createProvider first.'\n );\n }\n\n const reconnect = async (): Promise<{\n address: string;\n signature: string;\n }> => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.init();\n const walletConnectManager = WalletConnectStateManager.getInstance();\n\n const { uri = '', approval: wcApproval } = await this.provider.connect({\n methods: this.methods\n });\n\n const walletConnectDeepLink =\n this.config.walletConnectDeepLink ??\n fallbackWalletConnectConfigurations.walletConnectDeepLink;\n\n walletConnectManager.updateData({\n wcURI: uri,\n walletConnectDeepLink: `${walletConnectDeepLink}?wallet-connect=${encodeURIComponent(uri)}`\n });\n\n const providerInfo = await this.provider.login({\n approval: wcApproval,\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerInfo ?? {};\n\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch {\n return await reconnect();\n }\n };\n\n if (!this._approval) {\n throw new Error('Approval or login is not initialized');\n }\n\n try {\n const providerData = await this.provider.login({\n approval: this._approval.bind(this),\n token: options?.token\n });\n\n const { address = '', signature = '' } = providerData ?? {};\n\n const walletConnectManager = WalletConnectStateManager.getInstance();\n walletConnectManager.handleClose({ isLoginFinished: Boolean(address) });\n return { address, signature };\n } catch (error) {\n console.error(WalletConnectV2Error.userRejected, error);\n return await reconnect();\n }\n }\n\n signTransactions = async (transactions: Transaction[]) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n const { manager, onClose } = await this.initSignState();\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n try {\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedTransactions: Transaction[] = await Promise.race([\n this.provider.signTransactions(transactions),\n abortPromise\n ]);\n\n return signedTransactions;\n } catch (error) {\n await onClose({ shouldCancelAction: true });\n throw error;\n } finally {\n manager.closeUI();\n }\n };\n\n cancelAction = async () => {\n this.sendCustomRequest({\n method: WalletConnectOptionalMethodsEnum.CANCEL_ACTION,\n action: OptionalOperation.CANCEL_ACTION\n });\n\n this.cancelActionAbortController?.abort();\n };\n\n signMessage = async (message: Message) => {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n this.cancelActionAbortController = new AbortController();\n const signal = this.cancelActionAbortController.signal;\n\n const abortPromise = new Promise<never>((_, reject) => {\n signal.addEventListener('abort', () => {\n reject(new Error('cancelled by user'));\n });\n });\n\n const signedMessage = await Promise.race([\n signMessage({\n message,\n handleSignMessage: this.provider.signMessage.bind(this.provider),\n cancelAction: this.cancelAction,\n providerType: providerLabels.extension\n }),\n abortPromise\n ]);\n\n return signedMessage;\n };\n\n private async sendCustomRequest({\n action,\n method\n }: {\n action: OptionalOperation;\n method: WalletConnectOptionalMethodsEnum;\n }) {\n if (!this.provider) {\n throw new Error(ProviderErrorsEnum.notInitialized);\n }\n\n try {\n await this.provider.sendCustomRequest?.({\n request: {\n method,\n params: { action }\n }\n });\n } catch (error) {\n console.error(WalletConnectV2Error.actionError, error);\n }\n }\n}\n", "import { PROVIDER_SEARCH_PARAM } from 'constants/providerFactory.constants';\nimport { CrossWindowProvider } from 'lib/sdkWebWalletCrossWindowProvider';\nimport { LedgerIdleStateManager } from 'managers/internal/LedgerIdleStateManager/LedgerIdleStateManager';\nimport { getAddress } from 'methods/account/getAddress';\nimport {\n CrossWindowProviderStrategy,\n ExtensionProviderStrategy,\n IframeProviderStrategy,\n LedgerProviderStrategy,\n WalletConnectProviderStrategy,\n WalletConnectV2Error\n} from 'providers/strategies';\nimport { setProviderType } from 'store/actions/loginInfo/loginInfoActions';\nimport { walletConnectConfigSelector } from 'store/selectors/configSelectors';\nimport { networkSelector } from 'store/selectors/networkSelectors';\nimport { getState } from 'store/store';\nimport { DappProvider } from './DappProvider/DappProvider';\nimport {\n getAccountProvider,\n setAccountProvider\n} from './helpers/accountProvider';\nimport { clearInitiatedLogins } from './helpers/clearInitiatedLogins';\nimport { WebviewProviderStrategy } from './strategies/WebviewProviderStrategy';\nimport {\n ICustomProvider,\n IProvider,\n IProviderFactory,\n ProviderTypeEnum\n} from './types/providerFactory.types';\n\nexport class ProviderFactory {\n private static _customProviders: ICustomProvider[] = [];\n\n public static set customProviders(providers: ICustomProvider[]) {\n this._customProviders = providers;\n }\n\n public static get customProviders() {\n return this._customProviders;\n }\n\n public static async create({\n type,\n anchor\n }: IProviderFactory): Promise<DappProvider> {\n let createdProvider: IProvider | null = null;\n\n switch (type) {\n case ProviderTypeEnum.extension: {\n createdProvider = new ExtensionProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.crossWindow: {\n createdProvider = new CrossWindowProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.ledger: {\n createdProvider = new LedgerProviderStrategy({ anchor });\n\n const ledgerIdleStateManager = LedgerIdleStateManager.getInstance();\n await ledgerIdleStateManager.init();\n\n break;\n }\n\n case ProviderTypeEnum.metamask: {\n createdProvider = new IframeProviderStrategy();\n\n break;\n }\n\n case ProviderTypeEnum.passkey: {\n const network = networkSelector(getState());\n\n createdProvider = new CrossWindowProviderStrategy({\n walletAddress: `${network.walletAddress}?${PROVIDER_SEARCH_PARAM}=${ProviderTypeEnum.passkey}`\n });\n\n break;\n }\n\n case ProviderTypeEnum.walletConnect: {\n const walletConnectConfig = walletConnectConfigSelector(getState());\n\n if (!walletConnectConfig?.walletConnectV2ProjectId) {\n throw new Error(WalletConnectV2Error.invalidConfig);\n }\n\n createdProvider = new WalletConnectProviderStrategy({\n anchor,\n ...walletConnectConfig\n });\n\n break;\n }\n case ProviderTypeEnum.webview: {\n createdProvider = new WebviewProviderStrategy();\n break;\n }\n\n default: {\n const address = getAddress();\n\n for (const customProvider of this._customProviders) {\n if (customProvider.type === type) {\n createdProvider = await customProvider.constructor({\n address,\n anchor\n });\n }\n }\n break;\n }\n }\n\n if (!createdProvider) {\n throw new Error('Unable to create provider');\n }\n\n await createdProvider.init();\n\n const dappProvider = new DappProvider(createdProvider);\n setAccountProvider(dappProvider);\n\n const shouldClearInitiatedLogins =\n 'provider' in createdProvider &&\n createdProvider.provider instanceof CrossWindowProvider;\n\n // Clear initiated logins and skip the login method if it's crossWindow or metamask\n clearInitiatedLogins(\n shouldClearInitiatedLogins\n ? { skipLoginMethod: ProviderTypeEnum.crossWindow }\n : null\n );\n\n return dappProvider;\n }\n\n public static async destroy() {\n const provider = getAccountProvider();\n provider.cancelLogin();\n setAccountProvider(null);\n setProviderType(ProviderTypeEnum.none);\n }\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { PendingTransactionsEventsEnum } from 'managers/internal/PendingTransactionsStateManager/types/pendingTransactions.types';\nimport { ProviderFactory } from 'providers/ProviderFactory';\nimport {\n ProviderType,\n ProviderTypeEnum,\n ICustomProvider\n} from 'providers/types/providerFactory.types';\nimport { SigningWarningsEnum } from 'types/enums.types';\nimport { getPendingTransactionsHandlers } from '../getPendingTransactionsHandlers';\n\ntype SignMessageWithModalPropsType<T> = {\n message: Message;\n handleSignMessage: (message: Message) => Promise<Message>;\n cancelAction?: () => Promise<T> | undefined;\n providerType: string;\n};\n\nconst isProviderType = (\n allProviders: ICustomProvider[],\n type: string\n): type is ProviderType =>\n allProviders.some((provider) => provider.type === type);\n\nexport async function signMessage<T>({\n message,\n handleSignMessage,\n cancelAction,\n providerType\n}: SignMessageWithModalPropsType<T>): Promise<Message> {\n const signedMsg = await new Promise<Awaited<Message>>(\n async (resolve, reject) => {\n const { manager, onClose } = await getPendingTransactionsHandlers({\n cancelAction\n });\n\n const allProviders = Object.values(ProviderFactory.customProviders);\n const allCustomProviderLabels = allProviders.reduce(\n (acc, provider) => {\n acc[provider.type] = provider.name;\n return acc;\n },\n {} as Record<ProviderType, string>\n );\n\n const allProviderLabels = {\n ...providerLabels,\n ...allCustomProviderLabels\n };\n\n const handleClose = async () => {\n await onClose({ shouldCancelAction: true });\n reject({ message: SigningWarningsEnum.cancelled });\n };\n\n manager.subscribeToEventBus(\n PendingTransactionsEventsEnum.CLOSE,\n handleClose\n );\n\n const providerKey = isProviderType(allProviders, providerType)\n ? providerType\n : ProviderTypeEnum.none;\n\n manager.updateData({\n name: allProviderLabels[providerKey],\n type: providerKey\n });\n\n try {\n const signedMessage = await handleSignMessage(message);\n resolve(signedMessage);\n } catch (err) {\n await onClose({ shouldCancelAction: true });\n reject(err);\n } finally {\n manager.closeUI();\n }\n }\n );\n return signedMsg;\n}\n", "import { providerLabels } from 'constants/providerFactory.constants';\nimport { Message } from 'lib/sdkCore';\nimport { getLedgerErrorCodes } from './getLedgerErrorCodes';\nimport { signMessage } from '../../helpers/signMessage/signMessage';\n\nexport async function signLedgerMessage({\n message,\n handleSignMessage\n}: {\n message: Message;\n handleSignMessage: (msg: Message) => Promise<Message>;\n}): Promise<Message> {\n try {\n const signedMessage = await signMessage({\n message,\n handleSignMessage: handleSignMessage,\n providerType: providerLabels.ledger\n });\n return signedMessage;\n } catch (error) {\n const { errorMessage } = getLedgerErrorCodes(error);\n throw errorMessage ? { message: errorMessage } : error;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["LedgerProviderStrategy", "BaseProviderStrategy", "address", "anchor", "shouldInitProvider", "options", "signature", "authenticateLedgerAccount", "getIsLoggedIn", "LedgerConnectStateManager", "transactions", "signTransactions", "message", "signLedgerMessage", "ledgerProvider", "getLedgerProvider", "error", "createCustomToast", "ProviderTypeEnum", "account", "ledgerConnectManager", "ledgerConfig", "resolve", "reject", "initializeLedgerProvider", "LEDGER_IDLE_STATE_CHECK_INTERVAL", "LEDGER_IDLE_STATE_RECONNECT_INTERVAL", "RECONNECT_SUCCESS_DURATION", "LedgerIdleStateManager", "_LedgerIdleStateManager", "getStore", "state", "providerType", "loginInfoSelector", "isLoggedIn", "isLoggedInSelector", "ProviderTypeEnum", "isSigningProcess", "isSidePanelOpenSelector", "getState", "getAccountProvider", "ToastManager", "createdProvider", "LedgerProviderStrategy", "dappProvider", "DappProvider", "setAccountProvider", "CrossWindowProviderStrategy", "BaseProviderStrategy", "config", "transactions", "onClose", "manager", "signedTransactions", "guardTransactions", "error", "message", "signMessage", "providerLabels", "CrossWindowProvider", "network", "networkSelector", "getState", "isProviderInitialized", "ProviderTypeEnum", "account", "ExtensionProvider", "ExtensionProviderStrategy", "BaseProviderStrategy", "address", "transactions", "manager", "onClose", "error", "message", "signMessage", "providerLabels", "ExtensionProvider", "initialized", "account", "ProviderTypeEnum", "IframeProviderStrategy", "BaseProviderStrategy", "address", "walletUrl", "transactions", "manager", "onClose", "signTransactions", "error", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "IframeProvider", "network", "networkSelector", "getState", "account", "OptionalOperation", "dappMethods", "WalletConnectOptionalMethodsEnum", "WalletConnectProviderStrategy", "BaseProviderStrategy", "config", "transactions", "manager", "onClose", "signal", "abortPromise", "_", "reject", "error", "OptionalOperation", "message", "signMessage", "providerLabels", "ProviderTypeEnum", "account", "walletConnectProvider", "dAppMethods", "uri", "approval", "walletConnectDeepLink", "fallbackWalletConnectConfigurations", "WalletConnectStateManager", "getIsLoggedIn", "isLoggedIn", "chainId", "chainIdSelector", "getState", "nativeAuthConfigSelector", "providerHandlers", "logoutAction", "_event", "walletConnectV2ProjectId", "walletConnectV2Options", "walletConnectV2RelayAddress", "WalletConnectV2Provider", "err", "options", "reconnect", "walletConnectManager", "wcApproval", "providerInfo", "address", "signature", "providerData", "action", "method", "ProviderFactory", "providers", "type", "anchor", "createdProvider", "ProviderTypeEnum", "ExtensionProviderStrategy", "CrossWindowProviderStrategy", "LedgerProviderStrategy", "LedgerIdleStateManager", "IframeProviderStrategy", "network", "networkSelector", "getState", "PROVIDER_SEARCH_PARAM", "walletConnectConfig", "walletConnectConfigSelector", "WalletConnectProviderStrategy", "WebviewProviderStrategy", "address", "getAddress", "customProvider", "dappProvider", "DappProvider", "setAccountProvider", "shouldClearInitiatedLogins", "CrossWindowProvider", "clearInitiatedLogins", "getAccountProvider", "setProviderType", "isProviderType", "allProviders", "type", "provider", "signMessage", "message", "handleSignMessage", "cancelAction", "providerType", "resolve", "reject", "manager", "onClose", "getPendingTransactionsHandlers", "ProviderFactory", "allCustomProviderLabels", "acc", "allProviderLabels", "providerLabels", "handleClose", "providerKey", "ProviderTypeEnum", "signedMessage", "err", "signLedgerMessage", "message", "handleSignMessage", "signMessage", "providerLabels", "error", "errorMessage", "getLedgerErrorCodes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{q as c}from"./chunk-QEE4T6UM.mjs";import{a as o}from"./chunk-JMC7CMTU.mjs";var r=e=>{c().setState(({account:t})=>{let s=t.address===e.address;t.accounts={[t.address]:s?e:o}},!1,"setAccount")},u=e=>c().setState(({account:t})=>{t.ledgerAccount=e},!1,"setLedgerAccount"),p=e=>c().setState(({account:t})=>{t.walletConnectAccount=e},!1,"setWalletConnectAccount"),l=e=>c().setState(({account:t})=>{t.websocketEvent={timestamp:Date.now(),message:e}},!1,"setWebsocketEvent"),m=e=>c().setState(({account:t})=>{t.websocketBatchEvent={timestamp:Date.now(),data:e}},!1,"setWebsocketBatchEvent"),A=e=>{c().setState(({account:t})=>{t.accounts[t.address].nonce=e},!1,"setAccountNonce")};export{r as a,u as b,p as c,l as d,m as e,A as f};
2
- //# sourceMappingURL=chunk-JVI373HI.mjs.map
1
+ import{q as c}from"./chunk-ICTG3GLU.mjs";import{a as o}from"./chunk-JMC7CMTU.mjs";var r=e=>{c().setState(({account:t})=>{let s=t.address===e.address;t.accounts={[t.address]:s?e:o}},!1,"setAccount")},u=e=>c().setState(({account:t})=>{t.ledgerAccount=e},!1,"setLedgerAccount"),p=e=>c().setState(({account:t})=>{t.walletConnectAccount=e},!1,"setWalletConnectAccount"),l=e=>c().setState(({account:t})=>{t.websocketEvent={timestamp:Date.now(),message:e}},!1,"setWebsocketEvent"),m=e=>c().setState(({account:t})=>{t.websocketBatchEvent={timestamp:Date.now(),data:e}},!1,"setWebsocketBatchEvent"),A=e=>{c().setState(({account:t})=>{t.accounts[t.address].nonce=e},!1,"setAccountNonce")};export{r as a,u as b,p as c,l as d,m as e,A as f};
2
+ //# sourceMappingURL=chunk-KLDTJCML.mjs.map
@@ -0,0 +1,2 @@
1
+ import{a as t}from"./chunk-JTIXXP4J.mjs";import{c as n}from"./chunk-ICTG3GLU.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-KOLL3XGD.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-SK2W4LXI.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-HKKKOC5V.mjs.map
1
+ import{a as s}from"./chunk-A4KEELZM.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-LFBY6WV3.mjs.map
@@ -0,0 +1,2 @@
1
+ var e={extension:"extension",metamask:"metamask",passkey:"passkey",walletConnect:"walletConnect",ledger:"ledger",crossWindow:"crossWindow",webview:"webview",none:""};export{e as a};
2
+ //# sourceMappingURL=chunk-LJX4MW7B.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/providers/types/providerFactory.types.ts"],
4
+ "sourcesContent": ["import type { IDAppProviderBase } from '@multiversx/sdk-dapp-utils';\n\nexport interface IProvider<T extends ProviderType = ProviderType>\n extends IDAppProviderBase {\n init: () => Promise<boolean>;\n login: (options?: { callbackUrl?: string; token?: string }) => Promise<{\n address: string;\n signature: string;\n multisig?: string;\n impersonate?: string;\n accessToken?: string;\n [key: string]: unknown;\n }>;\n logout: () => Promise<boolean>;\n cancelLogin?: () => void;\n getType: () => T;\n getAddress(): Promise<string | undefined>;\n}\n\nexport interface IProviderConfig {\n account?: {\n address: string;\n };\n}\n\nexport const ProviderTypeEnum = {\n extension: 'extension',\n metamask: 'metamask',\n passkey: 'passkey',\n walletConnect: 'walletConnect',\n ledger: 'ledger',\n crossWindow: 'crossWindow',\n webview: 'webview',\n none: ''\n} as const;\n\nexport type ProviderBaseType =\n (typeof ProviderTypeEnum)[keyof typeof ProviderTypeEnum];\n\nexport type ProviderType = ProviderBaseType | (string & {}); // This allows custom providers to be used as a string\n\nexport interface IProviderFactory<T extends ProviderType = ProviderType> {\n type: T;\n anchor?: HTMLElement;\n}\n\nexport interface IProviderBase<T extends ProviderType = ProviderType> {\n name: string;\n type: T;\n iconUrl?: string;\n}\nexport interface ICustomProvider<T extends ProviderType = ProviderType>\n extends IProviderBase<T> {\n constructor: (options?: {\n address?: string;\n anchor?: HTMLElement;\n }) => Promise<IProvider>;\n}\n"],
5
+ "mappings": "AAyBO,IAAMA,EAAmB,CAC9B,UAAW,YACX,SAAU,WACV,QAAS,UACT,cAAe,gBACf,OAAQ,SACR,YAAa,cACb,QAAS,UACT,KAAM,EACR",
6
+ "names": ["ProviderTypeEnum"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-ZBJRLPCR.mjs";import{c as e}from"./chunk-MGFIOCA4.mjs";var o=class i extends s{constructor(){super({uiDataUpdateEvent:"DATA_UPDATE_SIGN_TRANSACTIONS",uiTag:"mvx-sign-transactions-panel"});this.addressesPerPage=10;this._ppuMap={};this.initialData={commonData:{transactionsCount:0,currentIndexToSign:0,egldLabel:"",currentIndex:0,ppuOptions:[],address:"",origin:""},tokenTransaction:null,nftTransaction:null,sftTransaction:null};this.data={...this.initialData}}static getInstance(){return i.instance||(i.instance=new i),i.instance}get transactionsCount(){return this.data.commonData.transactionsCount}initializeGasPriceMap(a){let t=0;a.filter(n=>n!=null).forEach(n=>{let r=n?Number(n.gasPrice):0;this.updateGasPriceMap({nonce:Number(n.nonce),ppu:t,initialGasPrice:r})}),this.updateCommonData({ppu:t})}updateGasPriceMap({nonce:a,ppu:t,initialGasPrice:n}){this._ppuMap[a]={...this._ppuMap[a],ppu:t},n&&(this._ppuMap[a].initialGasPrice=n)}updateCommonData(a){this.data.commonData={...this.data.commonData,...a},this.notifyDataUpdate()}updateIsLoading(a){this.data.isLoading=a,this.notifyDataUpdate()}updateTokenTransaction(a){this.data.tokenTransaction=a,this.data.sftTransaction=null,this.data.nftTransaction=null,this.notifyDataUpdate()}updateNonFungibleTransaction(a,t){switch(a){case"NonFungibleESDT":this.data.nftTransaction=t,this.data.tokenTransaction=null,this.data.sftTransaction=null;break;case"SemiFungibleESDT":this.data.sftTransaction=t,this.data.nftTransaction=null,this.data.tokenTransaction=null;break;default:break}this.notifyDataUpdate()}get currentScreenIndex(){return this.data.commonData.currentIndex}get ppuMap(){return this._ppuMap}async setupEventListeners(){this.eventBus&&this.subscribeToEventBus("CLOSE_SIGN_TRANSACTIONS",this.closeUI.bind(this))}};export{o as a};
2
- //# sourceMappingURL=chunk-F6QODHDC.mjs.map
1
+ import{a as s}from"./chunk-J6WJ6ULQ.mjs";import{c as e}from"./chunk-MGFIOCA4.mjs";var o=class i extends s{constructor(){super({uiDataUpdateEvent:"DATA_UPDATE_SIGN_TRANSACTIONS",uiTag:"mvx-sign-transactions-panel"});this.addressesPerPage=10;this._ppuMap={};this.initialData={commonData:{transactionsCount:0,currentIndexToSign:0,egldLabel:"",currentIndex:0,ppuOptions:[],address:"",origin:""},tokenTransaction:null,nftTransaction:null,sftTransaction:null};this.data={...this.initialData}}static getInstance(){return i.instance||(i.instance=new i),i.instance}get transactionsCount(){return this.data.commonData.transactionsCount}initializeGasPriceMap(a){let t=0;a.filter(n=>n!=null).forEach(n=>{let r=n?Number(n.gasPrice):0;this.updateGasPriceMap({nonce:Number(n.nonce),ppu:t,initialGasPrice:r})}),this.updateCommonData({ppu:t})}updateGasPriceMap({nonce:a,ppu:t,initialGasPrice:n}){this._ppuMap[a]={...this._ppuMap[a],ppu:t},n&&(this._ppuMap[a].initialGasPrice=n)}updateCommonData(a){this.data.commonData={...this.data.commonData,...a},this.notifyDataUpdate()}updateIsLoading(a){this.data.isLoading=a,this.notifyDataUpdate()}updateTokenTransaction(a){this.data.tokenTransaction=a,this.data.sftTransaction=null,this.data.nftTransaction=null,this.notifyDataUpdate()}updateNonFungibleTransaction(a,t){switch(a){case"NonFungibleESDT":this.data.nftTransaction=t,this.data.tokenTransaction=null,this.data.sftTransaction=null;break;case"SemiFungibleESDT":this.data.sftTransaction=t,this.data.nftTransaction=null,this.data.tokenTransaction=null;break;default:break}this.notifyDataUpdate()}get currentScreenIndex(){return this.data.commonData.currentIndex}get ppuMap(){return this._ppuMap}async setupEventListeners(){this.eventBus&&this.subscribeToEventBus("CLOSE_SIGN_TRANSACTIONS",this.closeUI.bind(this))}};export{o as a};
2
+ //# sourceMappingURL=chunk-LUCBMBG7.mjs.map
@@ -1,2 +1,2 @@
1
1
  var _="cancel-transaction-toast",T="error-signing-toast",A=6e3,S=5,t=9e4,o=6e5,R=1e4,E="-",N=75,O=25,I=100,D=5e3,n=36e3;export{_ as a,T as b,A as c,S as d,t as e,o as f,R as g,E as h,N as i,O as j,I as k,D as l,n as m};
2
- //# sourceMappingURL=chunk-2IUBMLF4.mjs.map
2
+ //# sourceMappingURL=chunk-M6MN4RXG.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants/transactions.constants.ts"],
4
- "sourcesContent": ["export const CANCEL_TRANSACTION_TOAST_ID = 'cancel-transaction-toast';\nexport const ERROR_SIGNING_TOAST_ID = 'error-signing-toast';\nexport const AVERAGE_TX_DURATION_MS = 6000;\nexport const CROSS_SHARD_ROUNDS = 5;\nexport const TRANSACTIONS_STATUS_POLLING_INTERVAL_MS = 90 * 1000; // 90sec\nexport const TRANSACTIONS_STATUS_DROP_INTERVAL_MS = 10 * 60 * 1000; // 10min\nexport const CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION = 10000;\nexport const BATCH_TRANSACTIONS_ID_SEPARATOR = '-';\nexport const SAME_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE = 75;\nexport const CROSS_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE = 25;\nexport const PROGRESS_INTERVAL_DURATION_MS = 100;\nexport const DEFAULT_TOAST_LIEFTIME = 5000;\nexport const MAX_DECODE_TX_DATA_LENGTH = 36000;\n"],
4
+ "sourcesContent": ["export const CANCEL_TRANSACTION_TOAST_ID = 'cancel-transaction-toast';\nexport const ERROR_SIGNING_TOAST_ID = 'error-signing-toast';\nexport const AVERAGE_TX_DURATION_MS = 6000;\nexport const CROSS_SHARD_ROUNDS = 5;\nexport const TRANSACTIONS_STATUS_POLLING_INTERVAL_MS = 90 * 1000; // 90sec\nexport const TRANSACTIONS_STATUS_DROP_INTERVAL_MS = 10 * 60 * 1000; // 10min\nexport const CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION = 10000;\nexport const BATCH_TRANSACTIONS_ID_SEPARATOR = '-';\nexport const SAME_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE = 75;\nexport const CROSS_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE = 25;\nexport const PROGRESS_INTERVAL_DURATION_MS = 100;\nexport const DEFAULT_TOAST_LIFETIME = 5000;\nexport const MAX_DECODE_TX_DATA_LENGTH = 36000;\n"],
5
5
  "mappings": "AAAO,IAAMA,EAA8B,2BAC9BC,EAAyB,sBACzBC,EAAyB,IACzBC,EAAqB,EACrBC,EAA0C,IAC1CC,EAAuC,IACvCC,EAA4C,IAC5CC,EAAkC,IAClCC,EAA8C,GAC9CC,EAA+C,GAC/CC,EAAgC,IAChCC,EAAyB,IACzBC,EAA4B",
6
- "names": ["CANCEL_TRANSACTION_TOAST_ID", "ERROR_SIGNING_TOAST_ID", "AVERAGE_TX_DURATION_MS", "CROSS_SHARD_ROUNDS", "TRANSACTIONS_STATUS_POLLING_INTERVAL_MS", "TRANSACTIONS_STATUS_DROP_INTERVAL_MS", "CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION", "BATCH_TRANSACTIONS_ID_SEPARATOR", "SAME_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE", "CROSS_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE", "PROGRESS_INTERVAL_DURATION_MS", "DEFAULT_TOAST_LIEFTIME", "MAX_DECODE_TX_DATA_LENGTH"]
6
+ "names": ["CANCEL_TRANSACTION_TOAST_ID", "ERROR_SIGNING_TOAST_ID", "AVERAGE_TX_DURATION_MS", "CROSS_SHARD_ROUNDS", "TRANSACTIONS_STATUS_POLLING_INTERVAL_MS", "TRANSACTIONS_STATUS_DROP_INTERVAL_MS", "CANCEL_TRANSACTION_TOAST_DEFAULT_DURATION", "BATCH_TRANSACTIONS_ID_SEPARATOR", "SAME_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE", "CROSS_SHARD_MAX_TOAST_WIDTH_PERCENT_DECREASE", "PROGRESS_INTERVAL_DURATION_MS", "DEFAULT_TOAST_LIFETIME", "MAX_DECODE_TX_DATA_LENGTH"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{s as o}from"./chunk-ICTG3GLU.mjs";import{a as t}from"./chunk-7VHTZYM2.mjs";function f(r=o()){return t(r)}export{f as a};
2
+ //# sourceMappingURL=chunk-MSF6QQXH.mjs.map
@@ -1,2 +1,2 @@
1
- import{k as n,l as s,m as r}from"./chunk-65L5EBBL.mjs";function f(e){return!e||e.length===0?"invalid":e.every(t=>n(t.status))?"success":e.some(t=>s(t.status))?"fail":e.every(t=>r(t.status))?"invalid":null}export{f as a};
2
- //# sourceMappingURL=chunk-L3MWDI6J.mjs.map
1
+ import{k as n,l as s,m as r}from"./chunk-E2GGD7D4.mjs";function f(e){return!e||e.length===0?"invalid":e.every(t=>n(t.status))?"success":e.some(t=>s(t.status))?"fail":e.every(t=>r(t.status))?"invalid":null}export{f as a};
2
+ //# sourceMappingURL=chunk-N55JEIM6.mjs.map
@@ -0,0 +1,2 @@
1
+ var u=({transactions:e})=>e,p=({transactions:e})=>{let n={};return Object.entries(e).forEach(([t,s])=>{s.transactions.some(({status:r})=>r==="pending")&&s.status==="sent"&&(n[t]=s)}),n},S=({transactions:e})=>{let n={};return Object.entries(e).forEach(([t,s])=>{s.transactions.some(({status:r})=>r==="success")&&s.status==="sent"&&(n[t]=s)}),n},l=({transactions:e})=>{let n={};return Object.entries(e).forEach(([t,s])=>{s.transactions.some(({status:r})=>r&&["fail","invalid","cancelled","timedOut"].map(c=>String(c)).includes(r))&&s.status==="sent"&&(n[t]=s)}),n},f=({transactions:e})=>{let n=[];return Object.values(e).forEach(({transactions:t})=>{t.forEach(s=>{s.status&&["pending","sent"].map(o=>String(o)).includes(s.status)&&n.push(s)})}),n},d=({transactions:e})=>{let n=[];return Object.values(e).forEach(({transactions:t})=>{t.forEach(s=>{s.status==="success"&&n.push(s)})}),n},g=({transactions:e})=>{let n=[];return Object.values(e).forEach(({transactions:t})=>{t.forEach(s=>{s.status&&["fail","invalid","cancelled","timedOut"].map(o=>String(o)).includes(s.status)&&n.push(s)})}),n},h=({transactions:e})=>{let n=[];return Object.values(e).forEach(({transactions:t})=>{t.forEach(s=>{s.status==="timedOut"&&n.push(s)})}),n};export{u as a,p as b,S as c,l as d,f as e,d as f,g,h};
2
+ //# sourceMappingURL=chunk-NGM3AVCY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/store/selectors/transactionsSelector.ts"],
4
+ "sourcesContent": ["import { StoreType } from 'store/store.types';\nimport {\n TransactionBatchStatusesEnum,\n TransactionServerStatusesEnum\n} from 'types/enums.types';\nimport {\n SignedTransactionType,\n SessionTransactionType\n} from 'types/transactions.types';\n\nexport const transactionsSliceSelector = ({ transactions }: StoreType) =>\n transactions;\n\nexport const pendingTransactionsSessionsSelector = ({\n transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n const pendingSessions: Record<string, SessionTransactionType> = {};\n\n Object.entries(state).forEach(([sessionId, data]) => {\n const hasPendingTransactions = data.transactions.some(\n ({ status }) => status === TransactionServerStatusesEnum.pending\n );\n if (hasPendingTransactions && data.status === 'sent') {\n pendingSessions[sessionId] = data;\n }\n });\n\n return pendingSessions;\n};\n\nexport const successfulTransactionsSessionsSelector = ({\n transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n const successfulSessions: Record<string, SessionTransactionType> = {};\n\n Object.entries(state).forEach(([sessionId, data]) => {\n const hasSuccessfulTransactions = data.transactions.some(\n ({ status }) => status === TransactionServerStatusesEnum.success\n );\n if (hasSuccessfulTransactions && data.status === 'sent') {\n successfulSessions[sessionId] = data;\n }\n });\n\n return successfulSessions;\n};\n\nexport const failedTransactionsSessionsSelector = ({\n transactions: state\n}: StoreType): Record<string, SessionTransactionType> => {\n const failedSessions: Record<string, SessionTransactionType> = {};\n\n Object.entries(state).forEach(([sessionId, data]) => {\n const hasFailedTransactions = data.transactions.some(\n ({ status }) =>\n status &&\n [\n TransactionServerStatusesEnum.fail,\n TransactionServerStatusesEnum.invalid,\n TransactionBatchStatusesEnum.cancelled,\n TransactionBatchStatusesEnum.timedOut\n ]\n .map((el) => String(el))\n .includes(status)\n );\n if (hasFailedTransactions && data.status === 'sent') {\n failedSessions[sessionId] = data;\n }\n });\n\n return failedSessions;\n};\n\nexport const pendingTransactionsSelector = ({\n transactions: state\n}: StoreType): SignedTransactionType[] => {\n const pendingTransactions: SignedTransactionType[] = [];\n\n Object.values(state).forEach(({ transactions }) => {\n transactions.forEach((transaction) => {\n if (\n transaction.status &&\n [\n TransactionServerStatusesEnum.pending,\n TransactionBatchStatusesEnum.sent\n ]\n .map((el) => String(el))\n .includes(transaction.status)\n ) {\n pendingTransactions.push(transaction);\n }\n });\n });\n\n return pendingTransactions;\n};\n\nexport const successfulTransactionsSelector = ({\n transactions: state\n}: StoreType) => {\n const successfulTransactions: SignedTransactionType[] = [];\n\n Object.values(state).forEach(({ transactions }) => {\n transactions.forEach((transaction) => {\n if (transaction.status === TransactionServerStatusesEnum.success) {\n successfulTransactions.push(transaction);\n }\n });\n });\n\n return successfulTransactions;\n};\n\nexport const failedTransactionsSelector = ({\n transactions: state\n}: StoreType) => {\n const failedTransactions: SignedTransactionType[] = [];\n\n Object.values(state).forEach(({ transactions }) => {\n transactions.forEach((transaction) => {\n if (\n transaction.status &&\n [\n TransactionServerStatusesEnum.fail,\n TransactionServerStatusesEnum.invalid,\n TransactionBatchStatusesEnum.cancelled,\n TransactionBatchStatusesEnum.timedOut\n ]\n .map((el) => String(el))\n .includes(transaction.status)\n ) {\n failedTransactions.push(transaction);\n }\n });\n });\n\n return failedTransactions;\n};\n\nexport const timedOutTransactionsSelector = ({\n transactions: state\n}: StoreType) => {\n const timedOutTransactions: SignedTransactionType[] = [];\n\n Object.values(state).forEach(({ transactions }) => {\n transactions.forEach((transaction) => {\n if (transaction.status === TransactionBatchStatusesEnum.timedOut) {\n timedOutTransactions.push(transaction);\n }\n });\n });\n\n return timedOutTransactions;\n};\n"],
5
+ "mappings": "AAUO,IAAMA,EAA4B,CAAC,CAAE,aAAAC,CAAa,IACvDA,EAEWC,EAAsC,CAAC,CAClD,aAAcC,CAChB,IAAyD,CACvD,IAAMC,EAA0D,CAAC,EAEjE,cAAO,QAAQD,CAAK,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAI,IAAM,CACpBA,EAAK,aAAa,KAC/C,CAAC,CAAE,OAAAC,CAAO,IAAMA,aAClB,GAC8BD,EAAK,SAAW,SAC5CF,EAAgBC,CAAS,EAAIC,EAEjC,CAAC,EAEMF,CACT,EAEaI,EAAyC,CAAC,CACrD,aAAcL,CAChB,IAAyD,CACvD,IAAMM,EAA6D,CAAC,EAEpE,cAAO,QAAQN,CAAK,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAI,IAAM,CACjBA,EAAK,aAAa,KAClD,CAAC,CAAE,OAAAC,CAAO,IAAMA,aAClB,GACiCD,EAAK,SAAW,SAC/CG,EAAmBJ,CAAS,EAAIC,EAEpC,CAAC,EAEMG,CACT,EAEaC,EAAqC,CAAC,CACjD,aAAcP,CAChB,IAAyD,CACvD,IAAMQ,EAAyD,CAAC,EAEhE,cAAO,QAAQR,CAAK,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAI,IAAM,CACrBA,EAAK,aAAa,KAC9C,CAAC,CAAE,OAAAC,CAAO,IACRA,GACA,wCAKA,EACG,IAAKK,GAAO,OAAOA,CAAE,CAAC,EACtB,SAASL,CAAM,CACtB,GAC6BD,EAAK,SAAW,SAC3CK,EAAeN,CAAS,EAAIC,EAEhC,CAAC,EAEMK,CACT,EAEaE,EAA8B,CAAC,CAC1C,aAAcV,CAChB,IAA0C,CACxC,IAAMW,EAA+C,CAAC,EAEtD,cAAO,OAAOX,CAAK,EAAE,QAAQ,CAAC,CAAE,aAAAF,CAAa,IAAM,CACjDA,EAAa,QAASc,GAAgB,CAElCA,EAAY,QACZ,iBAGA,EACG,IAAKH,GAAO,OAAOA,CAAE,CAAC,EACtB,SAASG,EAAY,MAAM,GAE9BD,EAAoB,KAAKC,CAAW,CAExC,CAAC,CACH,CAAC,EAEMD,CACT,EAEaE,EAAiC,CAAC,CAC7C,aAAcb,CAChB,IAAiB,CACf,IAAMc,EAAkD,CAAC,EAEzD,cAAO,OAAOd,CAAK,EAAE,QAAQ,CAAC,CAAE,aAAAF,CAAa,IAAM,CACjDA,EAAa,QAASc,GAAgB,CAChCA,EAAY,oBACdE,EAAuB,KAAKF,CAAW,CAE3C,CAAC,CACH,CAAC,EAEME,CACT,EAEaC,EAA6B,CAAC,CACzC,aAAcf,CAChB,IAAiB,CACf,IAAMgB,EAA8C,CAAC,EAErD,cAAO,OAAOhB,CAAK,EAAE,QAAQ,CAAC,CAAE,aAAAF,CAAa,IAAM,CACjDA,EAAa,QAASc,GAAgB,CAElCA,EAAY,QACZ,wCAKA,EACG,IAAKH,GAAO,OAAOA,CAAE,CAAC,EACtB,SAASG,EAAY,MAAM,GAE9BI,EAAmB,KAAKJ,CAAW,CAEvC,CAAC,CACH,CAAC,EAEMI,CACT,EAEaC,EAA+B,CAAC,CAC3C,aAAcjB,CAChB,IAAiB,CACf,IAAMkB,EAAgD,CAAC,EAEvD,cAAO,OAAOlB,CAAK,EAAE,QAAQ,CAAC,CAAE,aAAAF,CAAa,IAAM,CACjDA,EAAa,QAASc,GAAgB,CAChCA,EAAY,qBACdM,EAAqB,KAAKN,CAAW,CAEzC,CAAC,CACH,CAAC,EAEMM,CACT",
6
+ "names": ["transactionsSliceSelector", "transactions", "pendingTransactionsSessionsSelector", "state", "pendingSessions", "sessionId", "data", "status", "successfulTransactionsSessionsSelector", "successfulSessions", "failedTransactionsSessionsSelector", "failedSessions", "el", "pendingTransactionsSelector", "pendingTransactions", "transaction", "successfulTransactionsSelector", "successfulTransactions", "failedTransactionsSelector", "failedTransactions", "timedOutTransactionsSelector", "timedOutTransactions"]
7
+ }