@m0-foundation/swap-component 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/m0-swap-component/ConstantsUtil-btJ3XIXu.js +28 -0
  2. package/dist/m0-swap-component/ConstantsUtil-btJ3XIXu.js.map +1 -0
  3. package/dist/m0-swap-component/HelpersUtil-5wkO4kIW.js +142 -0
  4. package/dist/m0-swap-component/HelpersUtil-5wkO4kIW.js.map +1 -0
  5. package/dist/m0-swap-component/PhArrowCircleDown-BiDIiYXi.js +76 -0
  6. package/dist/m0-swap-component/PhArrowCircleDown-BiDIiYXi.js.map +1 -0
  7. package/dist/m0-swap-component/PhArrowClockwise-BRnlxNUR.js +76 -0
  8. package/dist/m0-swap-component/PhArrowClockwise-BRnlxNUR.js.map +1 -0
  9. package/dist/m0-swap-component/PhArrowDown-Co2hyXIs.js +76 -0
  10. package/dist/m0-swap-component/PhArrowDown-Co2hyXIs.js.map +1 -0
  11. package/dist/m0-swap-component/PhArrowLeft-Cb8ijwK6.js +76 -0
  12. package/dist/m0-swap-component/PhArrowLeft-Cb8ijwK6.js.map +1 -0
  13. package/dist/m0-swap-component/PhArrowRight-B9t--Gmh.js +76 -0
  14. package/dist/m0-swap-component/PhArrowRight-B9t--Gmh.js.map +1 -0
  15. package/dist/m0-swap-component/PhArrowSquareOut-eGBMEr5T.js +76 -0
  16. package/dist/m0-swap-component/PhArrowSquareOut-eGBMEr5T.js.map +1 -0
  17. package/dist/m0-swap-component/PhArrowUp-CjSpT-xh.js +76 -0
  18. package/dist/m0-swap-component/PhArrowUp-CjSpT-xh.js.map +1 -0
  19. package/dist/m0-swap-component/PhArrowUpRight-B8u6wk-A.js +76 -0
  20. package/dist/m0-swap-component/PhArrowUpRight-B8u6wk-A.js.map +1 -0
  21. package/dist/m0-swap-component/PhArrowsClockwise-CBcfV6j6.js +76 -0
  22. package/dist/m0-swap-component/PhArrowsClockwise-CBcfV6j6.js.map +1 -0
  23. package/dist/m0-swap-component/PhArrowsDownUp-CMVR84b1.js +76 -0
  24. package/dist/m0-swap-component/PhArrowsDownUp-CMVR84b1.js.map +1 -0
  25. package/dist/m0-swap-component/PhArrowsLeftRight-CmXk8rs2.js +76 -0
  26. package/dist/m0-swap-component/PhArrowsLeftRight-CmXk8rs2.js.map +1 -0
  27. package/dist/m0-swap-component/PhBank-BigtjnS8.js +76 -0
  28. package/dist/m0-swap-component/PhBank-BigtjnS8.js.map +1 -0
  29. package/dist/m0-swap-component/PhBrowser-BOulLD8D.js +76 -0
  30. package/dist/m0-swap-component/PhBrowser-BOulLD8D.js.map +1 -0
  31. package/dist/m0-swap-component/PhCaretDown-BvvZ65ad.js +76 -0
  32. package/dist/m0-swap-component/PhCaretDown-BvvZ65ad.js.map +1 -0
  33. package/dist/m0-swap-component/PhCaretLeft-DtwjZbZ7.js +76 -0
  34. package/dist/m0-swap-component/PhCaretLeft-DtwjZbZ7.js.map +1 -0
  35. package/dist/m0-swap-component/PhCaretRight-C8LuSZkO.js +76 -0
  36. package/dist/m0-swap-component/PhCaretRight-C8LuSZkO.js.map +1 -0
  37. package/dist/m0-swap-component/PhCaretUp-B2lAObip.js +76 -0
  38. package/dist/m0-swap-component/PhCaretUp-B2lAObip.js.map +1 -0
  39. package/dist/m0-swap-component/PhCheck-DQtuVrQf.js +76 -0
  40. package/dist/m0-swap-component/PhCheck-DQtuVrQf.js.map +1 -0
  41. package/dist/m0-swap-component/PhCircleHalf-CXfZ0QZv.js +76 -0
  42. package/dist/m0-swap-component/PhCircleHalf-CXfZ0QZv.js.map +1 -0
  43. package/dist/m0-swap-component/PhClock-CXsmuc_a.js +76 -0
  44. package/dist/m0-swap-component/PhClock-CXsmuc_a.js.map +1 -0
  45. package/dist/m0-swap-component/PhCompass-Cg-qnMon.js +76 -0
  46. package/dist/m0-swap-component/PhCompass-Cg-qnMon.js.map +1 -0
  47. package/dist/m0-swap-component/PhCopy-kGRKcvb4.js +76 -0
  48. package/dist/m0-swap-component/PhCopy-kGRKcvb4.js.map +1 -0
  49. package/dist/m0-swap-component/PhCreditCard-jYFausLO.js +76 -0
  50. package/dist/m0-swap-component/PhCreditCard-jYFausLO.js.map +1 -0
  51. package/dist/m0-swap-component/PhCurrencyDollar-C8vSY3fy.js +76 -0
  52. package/dist/m0-swap-component/PhCurrencyDollar-C8vSY3fy.js.map +1 -0
  53. package/dist/m0-swap-component/PhDesktop-AczlBCho.js +76 -0
  54. package/dist/m0-swap-component/PhDesktop-AczlBCho.js.map +1 -0
  55. package/dist/m0-swap-component/PhDeviceMobile-3rFbdWLA.js +76 -0
  56. package/dist/m0-swap-component/PhDeviceMobile-3rFbdWLA.js.map +1 -0
  57. package/dist/m0-swap-component/PhDotsThree-cJsXXsvY.js +76 -0
  58. package/dist/m0-swap-component/PhDotsThree-cJsXXsvY.js.map +1 -0
  59. package/dist/m0-swap-component/PhEnvelope-C1bxHVXw.js +76 -0
  60. package/dist/m0-swap-component/PhEnvelope-C1bxHVXw.js.map +1 -0
  61. package/dist/m0-swap-component/PhFunnelSimple-DhqB9fsu.js +76 -0
  62. package/dist/m0-swap-component/PhFunnelSimple-DhqB9fsu.js.map +1 -0
  63. package/dist/m0-swap-component/PhGlobe-BFp6kx95.js +76 -0
  64. package/dist/m0-swap-component/PhGlobe-BFp6kx95.js.map +1 -0
  65. package/dist/m0-swap-component/PhIdentificationCard-BdYxckWB.js +76 -0
  66. package/dist/m0-swap-component/PhIdentificationCard-BdYxckWB.js.map +1 -0
  67. package/dist/m0-swap-component/PhImage-CXxX5oq3.js +76 -0
  68. package/dist/m0-swap-component/PhImage-CXxX5oq3.js.map +1 -0
  69. package/dist/m0-swap-component/PhInfo-BcuP36hY.js +76 -0
  70. package/dist/m0-swap-component/PhInfo-BcuP36hY.js.map +1 -0
  71. package/dist/m0-swap-component/PhLightbulb-DkWwRl94.js +76 -0
  72. package/dist/m0-swap-component/PhLightbulb-DkWwRl94.js.map +1 -0
  73. package/dist/m0-swap-component/PhMagnifyingGlass-B_fFjslY.js +76 -0
  74. package/dist/m0-swap-component/PhMagnifyingGlass-B_fFjslY.js.map +1 -0
  75. package/dist/m0-swap-component/PhPaperPlaneRight-BIzGG3QW.js +76 -0
  76. package/dist/m0-swap-component/PhPaperPlaneRight-BIzGG3QW.js.map +1 -0
  77. package/dist/m0-swap-component/PhPlus-BGosT2zu.js +76 -0
  78. package/dist/m0-swap-component/PhPlus-BGosT2zu.js.map +1 -0
  79. package/dist/m0-swap-component/PhPower-BMqDnP1n.js +76 -0
  80. package/dist/m0-swap-component/PhPower-BMqDnP1n.js.map +1 -0
  81. package/dist/m0-swap-component/PhPuzzlePiece-DNMpiJNU.js +76 -0
  82. package/dist/m0-swap-component/PhPuzzlePiece-DNMpiJNU.js.map +1 -0
  83. package/dist/m0-swap-component/PhQrCode-DrHkqrU4.js +76 -0
  84. package/dist/m0-swap-component/PhQrCode-DrHkqrU4.js.map +1 -0
  85. package/dist/m0-swap-component/PhQuestion-zTfvwqNz.js +76 -0
  86. package/dist/m0-swap-component/PhQuestion-zTfvwqNz.js.map +1 -0
  87. package/dist/m0-swap-component/PhQuestionMark-h3Nk1Yf1.js +76 -0
  88. package/dist/m0-swap-component/PhQuestionMark-h3Nk1Yf1.js.map +1 -0
  89. package/dist/m0-swap-component/PhSealCheck-DPPqSt6G.js +76 -0
  90. package/dist/m0-swap-component/PhSealCheck-DPPqSt6G.js.map +1 -0
  91. package/dist/m0-swap-component/PhSignOut-CJgnrE_v.js +76 -0
  92. package/dist/m0-swap-component/PhSignOut-CJgnrE_v.js.map +1 -0
  93. package/dist/m0-swap-component/PhSpinner-CMTEIWbw.js +76 -0
  94. package/dist/m0-swap-component/PhSpinner-CMTEIWbw.js.map +1 -0
  95. package/dist/m0-swap-component/PhTrash-CeDVW4am.js +76 -0
  96. package/dist/m0-swap-component/PhTrash-CeDVW4am.js.map +1 -0
  97. package/dist/m0-swap-component/PhUser-lQ9WUtAV.js +76 -0
  98. package/dist/m0-swap-component/PhUser-lQ9WUtAV.js.map +1 -0
  99. package/dist/m0-swap-component/PhVault-EnLnS_IQ.js +76 -0
  100. package/dist/m0-swap-component/PhVault-EnLnS_IQ.js.map +1 -0
  101. package/dist/m0-swap-component/PhWallet-CUeDZydd.js +76 -0
  102. package/dist/m0-swap-component/PhWallet-CUeDZydd.js.map +1 -0
  103. package/dist/m0-swap-component/PhWarning-CokeGZs2.js +76 -0
  104. package/dist/m0-swap-component/PhWarning-CokeGZs2.js.map +1 -0
  105. package/dist/m0-swap-component/PhWarningCircle-vWtA7S0R.js +76 -0
  106. package/dist/m0-swap-component/PhWarningCircle-vWtA7S0R.js.map +1 -0
  107. package/dist/m0-swap-component/PhX-DwCRIvoc.js +76 -0
  108. package/dist/m0-swap-component/PhX-DwCRIvoc.js.map +1 -0
  109. package/dist/m0-swap-component/data-capture-BmovBbKV.js +573 -0
  110. package/dist/m0-swap-component/data-capture-BmovBbKV.js.map +1 -0
  111. package/dist/m0-swap-component/email-B4niz3Ms.js +445 -0
  112. package/dist/m0-swap-component/email-B4niz3Ms.js.map +1 -0
  113. package/dist/m0-swap-component/embedded-wallet-D6bzjX_K.js +988 -0
  114. package/dist/m0-swap-component/embedded-wallet-D6bzjX_K.js.map +1 -0
  115. package/dist/m0-swap-component/features-EhJNVE-M.js +355 -0
  116. package/dist/m0-swap-component/features-EhJNVE-M.js.map +1 -0
  117. package/dist/m0-swap-component/if-defined-2CMpVr2R.js +12 -0
  118. package/dist/m0-swap-component/if-defined-2CMpVr2R.js.map +1 -0
  119. package/dist/m0-swap-component/index-B4xuj7uR.js +965 -0
  120. package/dist/m0-swap-component/index-B4xuj7uR.js.map +1 -0
  121. package/dist/m0-swap-component/index-BVZ66GYf.js +206 -0
  122. package/dist/m0-swap-component/index-BVZ66GYf.js.map +1 -0
  123. package/dist/m0-swap-component/index-BZXyMieH.js +150 -0
  124. package/dist/m0-swap-component/index-BZXyMieH.js.map +1 -0
  125. package/dist/m0-swap-component/index-Bj5sA_Ri.js +252 -0
  126. package/dist/m0-swap-component/index-Bj5sA_Ri.js.map +1 -0
  127. package/dist/m0-swap-component/index-Bs-pPJYj.js +129 -0
  128. package/dist/m0-swap-component/index-Bs-pPJYj.js.map +1 -0
  129. package/dist/m0-swap-component/index-CMS76VPf.js +474 -0
  130. package/dist/m0-swap-component/index-CMS76VPf.js.map +1 -0
  131. package/dist/m0-swap-component/index-CoMTkqee.js +95 -0
  132. package/dist/m0-swap-component/index-CoMTkqee.js.map +1 -0
  133. package/dist/m0-swap-component/index-DE0OtbL2.js +3566 -0
  134. package/dist/m0-swap-component/index-DE0OtbL2.js.map +1 -0
  135. package/dist/m0-swap-component/index-DEG-YczD.js +231 -0
  136. package/dist/m0-swap-component/index-DEG-YczD.js.map +1 -0
  137. package/dist/m0-swap-component/index-DY_Ijq_4.js +4345 -0
  138. package/dist/m0-swap-component/index-DY_Ijq_4.js.map +1 -0
  139. package/dist/m0-swap-component/index-IRpGhIhy.js +9394 -0
  140. package/dist/m0-swap-component/index-IRpGhIhy.js.map +1 -0
  141. package/dist/m0-swap-component/index-Z70nBYWG.js +113 -0
  142. package/dist/m0-swap-component/index-Z70nBYWG.js.map +1 -0
  143. package/dist/m0-swap-component/index-iNFotRMa.js +73 -0
  144. package/dist/m0-swap-component/index-iNFotRMa.js.map +1 -0
  145. package/dist/m0-swap-component/index-n1fooC-v.js +37757 -0
  146. package/dist/m0-swap-component/index-n1fooC-v.js.map +1 -0
  147. package/dist/m0-swap-component/index.esm.js +2 -0
  148. package/dist/m0-swap-component/index.esm.js.map +1 -0
  149. package/dist/m0-swap-component/loader.esm.js.map +1 -0
  150. package/dist/m0-swap-component/m0-swap-component.esm.js +48 -0
  151. package/dist/m0-swap-component/m0-swap-component.esm.js.map +1 -0
  152. package/dist/m0-swap-component/native-CPtqJIn7.js +18 -0
  153. package/dist/m0-swap-component/native-CPtqJIn7.js.map +1 -0
  154. package/dist/m0-swap-component/onramp-BppY2eDR.js +1003 -0
  155. package/dist/m0-swap-component/onramp-BppY2eDR.js.map +1 -0
  156. package/dist/m0-swap-component/pay-with-exchange-BJYQgTMB.js +639 -0
  157. package/dist/m0-swap-component/pay-with-exchange-BJYQgTMB.js.map +1 -0
  158. package/dist/m0-swap-component/property-BN-VaT99.js +625 -0
  159. package/dist/m0-swap-component/property-BN-VaT99.js.map +1 -0
  160. package/dist/m0-swap-component/receive-BptRM_5_.js +281 -0
  161. package/dist/m0-swap-component/receive-BptRM_5_.js.map +1 -0
  162. package/dist/m0-swap-component/ref-3xALOvo5.js +25 -0
  163. package/dist/m0-swap-component/ref-3xALOvo5.js.map +1 -0
  164. package/dist/m0-swap-component/send-BCyHM4Zr.js +1408 -0
  165. package/dist/m0-swap-component/send-BCyHM4Zr.js.map +1 -0
  166. package/dist/m0-swap-component/socials-BbajCSWV.js +824 -0
  167. package/dist/m0-swap-component/socials-BbajCSWV.js.map +1 -0
  168. package/dist/m0-swap-component/swap-module-5ZLM-vAV.js +140887 -0
  169. package/dist/m0-swap-component/swap-module-5ZLM-vAV.js.map +1 -0
  170. package/dist/m0-swap-component/swap-module.entry.esm.js.map +1 -0
  171. package/dist/m0-swap-component/swap-module.entry.js +15 -0
  172. package/dist/m0-swap-component/swaps-DyGe65DR.js +2121 -0
  173. package/dist/m0-swap-component/swaps-DyGe65DR.js.map +1 -0
  174. package/dist/m0-swap-component/transactions-BZ9l4zt5.js +60 -0
  175. package/dist/m0-swap-component/transactions-BZ9l4zt5.js.map +1 -0
  176. package/dist/m0-swap-component/utils-RCeZbvdb.js +95 -0
  177. package/dist/m0-swap-component/utils-RCeZbvdb.js.map +1 -0
  178. package/dist/m0-swap-component/w3m-modal-D0HWVPsj.js +2097 -0
  179. package/dist/m0-swap-component/w3m-modal-D0HWVPsj.js.map +1 -0
  180. package/dist/m0-swap-component/wui-button-BeTWD3Va.js +223 -0
  181. package/dist/m0-swap-component/wui-button-BeTWD3Va.js.map +1 -0
  182. package/dist/m0-swap-component/wui-email-input-CgnfUH0c.js +65 -0
  183. package/dist/m0-swap-component/wui-email-input-CgnfUH0c.js.map +1 -0
  184. package/dist/m0-swap-component/wui-icon-B0uTDhW-.js +4 -0
  185. package/dist/m0-swap-component/wui-icon-B0uTDhW-.js.map +1 -0
  186. package/dist/m0-swap-component/wui-icon-box-s87lODBB.js +4 -0
  187. package/dist/m0-swap-component/wui-icon-box-s87lODBB.js.map +1 -0
  188. package/dist/m0-swap-component/wui-icon-link-BFpV9kPE.js +127 -0
  189. package/dist/m0-swap-component/wui-icon-link-BFpV9kPE.js.map +1 -0
  190. package/dist/m0-swap-component/wui-image-BvjxoR51.js +4 -0
  191. package/dist/m0-swap-component/wui-image-BvjxoR51.js.map +1 -0
  192. package/dist/m0-swap-component/wui-input-amount-CWQfP3RO.js +182 -0
  193. package/dist/m0-swap-component/wui-input-amount-CWQfP3RO.js.map +1 -0
  194. package/dist/m0-swap-component/wui-input-text-g0sN4B2y.js +4 -0
  195. package/dist/m0-swap-component/wui-input-text-g0sN4B2y.js.map +1 -0
  196. package/dist/m0-swap-component/wui-link-VqM3wLny.js +123 -0
  197. package/dist/m0-swap-component/wui-link-VqM3wLny.js.map +1 -0
  198. package/dist/m0-swap-component/wui-list-item-BIijofqN.js +170 -0
  199. package/dist/m0-swap-component/wui-list-item-BIijofqN.js.map +1 -0
  200. package/dist/m0-swap-component/wui-list-social-C7GhkRc8.js +119 -0
  201. package/dist/m0-swap-component/wui-list-social-C7GhkRc8.js.map +1 -0
  202. package/dist/m0-swap-component/wui-list-token-C94lmAbT.js +134 -0
  203. package/dist/m0-swap-component/wui-list-token-C94lmAbT.js.map +1 -0
  204. package/dist/m0-swap-component/wui-list-wallet-C7fnQvCW.js +622 -0
  205. package/dist/m0-swap-component/wui-list-wallet-C7fnQvCW.js.map +1 -0
  206. package/dist/m0-swap-component/wui-loading-spinner-CW2_5SKA.js +4 -0
  207. package/dist/m0-swap-component/wui-loading-spinner-CW2_5SKA.js.map +1 -0
  208. package/dist/m0-swap-component/wui-loading-thumbnail-y3sGkT5j.js +337 -0
  209. package/dist/m0-swap-component/wui-loading-thumbnail-y3sGkT5j.js.map +1 -0
  210. package/dist/m0-swap-component/wui-qr-code-DekJTDGf.js +3412 -0
  211. package/dist/m0-swap-component/wui-qr-code-DekJTDGf.js.map +1 -0
  212. package/dist/m0-swap-component/wui-separator-DMZIL_Av.js +67 -0
  213. package/dist/m0-swap-component/wui-separator-DMZIL_Av.js.map +1 -0
  214. package/dist/m0-swap-component/wui-shimmer-CVFC8fMx.js +4 -0
  215. package/dist/m0-swap-component/wui-shimmer-CVFC8fMx.js.map +1 -0
  216. package/dist/m0-swap-component/wui-text-BS_lZKY4.js +1127 -0
  217. package/dist/m0-swap-component/wui-text-BS_lZKY4.js.map +1 -0
  218. package/dist/m0-swap-component/wui-token-button-CsOFoNJG.js +214 -0
  219. package/dist/m0-swap-component/wui-token-button-CsOFoNJG.js.map +1 -0
  220. package/dist/m0-swap-component/wui-visual-hU2Mkyrv.js +565 -0
  221. package/dist/m0-swap-component/wui-visual-hU2Mkyrv.js.map +1 -0
  222. package/dist/m0-swap-component/wui-wallet-switch-CWbdtfbN.js +459 -0
  223. package/dist/m0-swap-component/wui-wallet-switch-CWbdtfbN.js.map +1 -0
  224. package/dist/types/components/swap-module/balances.d.ts +16 -0
  225. package/dist/types/components/swap-module/chains.d.ts +16 -0
  226. package/dist/types/components/swap-module/store.d.ts +34 -0
  227. package/dist/types/components/swap-module/swap-module.d.ts +113 -0
  228. package/dist/types/components/swap-module/utils/constants.d.ts +7 -0
  229. package/dist/types/components/swap-module/utils/formatters.d.ts +23 -0
  230. package/dist/types/components/swap-module/utils/reown.d.ts +59 -0
  231. package/dist/types/components/swap-module/utils/wallet.d.ts +83 -0
  232. package/dist/types/components.d.ts +165 -0
  233. package/dist/types/index.d.ts +1 -0
  234. package/dist/types/stencil-public-runtime.d.ts +1732 -0
  235. package/loader/cdn.js +1 -0
  236. package/loader/index.cjs.js +1 -0
  237. package/loader/index.d.ts +24 -0
  238. package/loader/index.es2017.js +1 -0
  239. package/loader/index.js +2 -0
  240. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DE0OtbL2.js","sources":["../../../node_modules/.pnpm/@reown+appkit-ui@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.13_0b5ba54bea83b995bc8e1888346a1083/node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-icon-button/styles.js","../../../node_modules/.pnpm/@reown+appkit-ui@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.13_0b5ba54bea83b995bc8e1888346a1083/node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-icon-button/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/types/errors.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/utils/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/utils/PaymentUtil.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/utils/ApiUtil.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/utils/AssetUtil.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/controllers/PayController.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-view/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-view/index.js","../../../node_modules/.pnpm/@reown+appkit-ui@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.13_0b5ba54bea83b995bc8e1888346a1083/node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-pulse/styles.js","../../../node_modules/.pnpm/@reown+appkit-ui@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.13_0b5ba54bea83b995bc8e1888346a1083/node_modules/@reown/appkit-ui/dist/esm/src/composites/wui-pulse/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-loading-view/constants.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-loading-view/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-loading-view/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-fees-skeleton/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-fees-skeleton/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-fees/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-fees/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options-empty/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options-empty/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options-skeleton/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options-skeleton/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/partials/w3m-pay-options/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-quote-view/styles.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/ui/w3m-pay-quote-view/index.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/client.js","../../../node_modules/.pnpm/@reown+appkit-pay@1.8.16_@types+react@19.1.16_bufferutil@4.0.9_db0@0.3.4_encoding@0.1.1_24ca847cd3078b0f5ec9a8abd50e1546/node_modules/@reown/appkit-pay/dist/esm/src/types/assets.js"],"sourcesContent":["import { css } from '../../utils/ThemeHelperUtil.js';\nexport default css `\n :host {\n position: relative;\n }\n\n button {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n padding: ${({ spacing }) => spacing[1]};\n }\n\n /* -- Colors --------------------------------------------------- */\n button[data-type='accent'] wui-icon {\n color: ${({ tokens }) => tokens.core.iconAccentPrimary};\n }\n\n button[data-type='neutral'][data-variant='primary'] wui-icon {\n color: ${({ tokens }) => tokens.theme.iconInverse};\n }\n\n button[data-type='neutral'][data-variant='secondary'] wui-icon {\n color: ${({ tokens }) => tokens.theme.iconDefault};\n }\n\n button[data-type='success'] wui-icon {\n color: ${({ tokens }) => tokens.core.iconSuccess};\n }\n\n button[data-type='error'] wui-icon {\n color: ${({ tokens }) => tokens.core.iconError};\n }\n\n /* -- Sizes --------------------------------------------------- */\n button[data-size='xs'] {\n width: 16px;\n height: 16px;\n\n border-radius: ${({ borderRadius }) => borderRadius[1]};\n }\n\n button[data-size='sm'] {\n width: 20px;\n height: 20px;\n border-radius: ${({ borderRadius }) => borderRadius[1]};\n }\n\n button[data-size='md'] {\n width: 24px;\n height: 24px;\n border-radius: ${({ borderRadius }) => borderRadius[2]};\n }\n\n button[data-size='lg'] {\n width: 28px;\n height: 28px;\n border-radius: ${({ borderRadius }) => borderRadius[2]};\n }\n\n button[data-size='xs'] wui-icon {\n width: 8px;\n height: 8px;\n }\n\n button[data-size='sm'] wui-icon {\n width: 12px;\n height: 12px;\n }\n\n button[data-size='md'] wui-icon {\n width: 16px;\n height: 16px;\n }\n\n button[data-size='lg'] wui-icon {\n width: 20px;\n height: 20px;\n }\n\n /* -- Hover --------------------------------------------------- */\n @media (hover: hover) {\n button[data-type='accent']:hover:enabled {\n background-color: ${({ tokens }) => tokens.core.foregroundAccent010};\n }\n\n button[data-variant='primary'][data-type='neutral']:hover:enabled {\n background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};\n }\n\n button[data-variant='secondary'][data-type='neutral']:hover:enabled {\n background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};\n }\n\n button[data-type='success']:hover:enabled {\n background-color: ${({ tokens }) => tokens.core.backgroundSuccess};\n }\n\n button[data-type='error']:hover:enabled {\n background-color: ${({ tokens }) => tokens.core.backgroundError};\n }\n }\n\n /* -- Focus --------------------------------------------------- */\n button:focus-visible {\n box-shadow: 0 0 0 4px ${({ tokens }) => tokens.core.foregroundAccent020};\n }\n\n /* -- Properties --------------------------------------------------- */\n button[data-full-width='true'] {\n width: 100%;\n }\n\n :host([fullWidth]) {\n width: 100%;\n }\n\n button[disabled] {\n opacity: 0.5;\n cursor: not-allowed;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../../components/wui-icon/index.js';\nimport { elementStyles, resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nlet WuiIconButton = class WuiIconButton extends LitElement {\n constructor() {\n super(...arguments);\n this.icon = 'card';\n this.variant = 'primary';\n this.type = 'accent';\n this.size = 'md';\n this.iconSize = undefined;\n this.fullWidth = false;\n this.disabled = false;\n }\n render() {\n return html `<button\n data-variant=${this.variant}\n data-type=${this.type}\n data-size=${this.size}\n data-full-width=${this.fullWidth}\n ?disabled=${this.disabled}\n >\n <wui-icon color=\"inherit\" name=${this.icon} size=${ifDefined(this.iconSize)}></wui-icon>\n </button>`;\n }\n};\nWuiIconButton.styles = [resetStyles, elementStyles, styles];\n__decorate([\n property()\n], WuiIconButton.prototype, \"icon\", void 0);\n__decorate([\n property()\n], WuiIconButton.prototype, \"variant\", void 0);\n__decorate([\n property()\n], WuiIconButton.prototype, \"type\", void 0);\n__decorate([\n property()\n], WuiIconButton.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiIconButton.prototype, \"iconSize\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconButton.prototype, \"fullWidth\", void 0);\n__decorate([\n property({ type: Boolean })\n], WuiIconButton.prototype, \"disabled\", void 0);\nWuiIconButton = __decorate([\n customElement('wui-icon-button')\n], WuiIconButton);\nexport { WuiIconButton };\n//# sourceMappingURL=index.js.map","export const AppKitPayErrorCodes = {\n INVALID_PAYMENT_CONFIG: 'INVALID_PAYMENT_CONFIG',\n INVALID_RECIPIENT: 'INVALID_RECIPIENT',\n INVALID_ASSET: 'INVALID_ASSET',\n INVALID_AMOUNT: 'INVALID_AMOUNT',\n UNKNOWN_ERROR: 'UNKNOWN_ERROR',\n UNABLE_TO_INITIATE_PAYMENT: 'UNABLE_TO_INITIATE_PAYMENT',\n INVALID_CHAIN_NAMESPACE: 'INVALID_CHAIN_NAMESPACE',\n GENERIC_PAYMENT_ERROR: 'GENERIC_PAYMENT_ERROR',\n UNABLE_TO_GET_EXCHANGES: 'UNABLE_TO_GET_EXCHANGES',\n ASSET_NOT_SUPPORTED: 'ASSET_NOT_SUPPORTED',\n UNABLE_TO_GET_PAY_URL: 'UNABLE_TO_GET_PAY_URL',\n UNABLE_TO_GET_BUY_STATUS: 'UNABLE_TO_GET_BUY_STATUS',\n UNABLE_TO_GET_TOKEN_BALANCES: 'UNABLE_TO_GET_TOKEN_BALANCES',\n UNABLE_TO_GET_QUOTE: 'UNABLE_TO_GET_QUOTE',\n UNABLE_TO_GET_QUOTE_STATUS: 'UNABLE_TO_GET_QUOTE_STATUS',\n INVALID_RECIPIENT_ADDRESS_FOR_ASSET: 'INVALID_RECIPIENT_ADDRESS_FOR_ASSET'\n};\nexport const AppKitPayErrorMessages = {\n [AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG]: 'Invalid payment configuration',\n [AppKitPayErrorCodes.INVALID_RECIPIENT]: 'Invalid recipient address',\n [AppKitPayErrorCodes.INVALID_ASSET]: 'Invalid asset specified',\n [AppKitPayErrorCodes.INVALID_AMOUNT]: 'Invalid payment amount',\n [AppKitPayErrorCodes.INVALID_RECIPIENT_ADDRESS_FOR_ASSET]: 'Invalid recipient address for the asset selected',\n [AppKitPayErrorCodes.UNKNOWN_ERROR]: 'Unknown payment error occurred',\n [AppKitPayErrorCodes.UNABLE_TO_INITIATE_PAYMENT]: 'Unable to initiate payment',\n [AppKitPayErrorCodes.INVALID_CHAIN_NAMESPACE]: 'Invalid chain namespace',\n [AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR]: 'Unable to process payment',\n [AppKitPayErrorCodes.UNABLE_TO_GET_EXCHANGES]: 'Unable to get exchanges',\n [AppKitPayErrorCodes.ASSET_NOT_SUPPORTED]: 'Asset not supported by the selected exchange',\n [AppKitPayErrorCodes.UNABLE_TO_GET_PAY_URL]: 'Unable to get payment URL',\n [AppKitPayErrorCodes.UNABLE_TO_GET_BUY_STATUS]: 'Unable to get buy status',\n [AppKitPayErrorCodes.UNABLE_TO_GET_TOKEN_BALANCES]: 'Unable to get token balances',\n [AppKitPayErrorCodes.UNABLE_TO_GET_QUOTE]: 'Unable to get quote. Please choose a different token',\n [AppKitPayErrorCodes.UNABLE_TO_GET_QUOTE_STATUS]: 'Unable to get quote status'\n};\nexport class AppKitPayError extends Error {\n get message() {\n return AppKitPayErrorMessages[this.code];\n }\n constructor(code, details) {\n super(AppKitPayErrorMessages[code]);\n this.name = 'AppKitPayError';\n this.code = code;\n this.details = details;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AppKitPayError);\n }\n }\n}\nexport function createAppKitPayError(code, details) {\n const errorCode = code || AppKitPayErrorCodes.UNKNOWN_ERROR;\n return new AppKitPayError(errorCode, details);\n}\n//# sourceMappingURL=errors.js.map","export const API_URL = 'https://rpc.walletconnect.org/v1/json-rpc';\nexport const REOWN_TEST_EXCHANGE_ID = 'reown_test';\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil, ContractUtil, ParseUtil } from '@reown/appkit-common';\nimport { ChainController, ConnectionController, CoreHelperUtil, ProviderController } from '@reown/appkit-controllers';\nimport { DIRECT_TRANSFER_DEPOSIT_TYPE, DIRECT_TRANSFER_REQUEST_ID, DIRECT_TRANSFER_TRANSACTION_TYPE, PayController } from '../controllers/PayController.js';\nimport { AppKitPayError } from '../types/errors.js';\nimport { AppKitPayErrorCodes } from '../types/errors.js';\nexport async function ensureCorrectNetwork(options) {\n const { paymentAssetNetwork, activeCaipNetwork, approvedCaipNetworkIds, requestedCaipNetworks } = options;\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n const assetCaipNetwork = sortedNetworks.find(network => network.caipNetworkId === paymentAssetNetwork);\n if (!assetCaipNetwork) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG);\n }\n if (assetCaipNetwork.caipNetworkId === activeCaipNetwork.caipNetworkId) {\n return;\n }\n const isSupportingAllNetworks = ChainController.getNetworkProp('supportsAllNetworks', assetCaipNetwork.chainNamespace);\n const isSwitchAllowed = approvedCaipNetworkIds?.includes(assetCaipNetwork.caipNetworkId) || isSupportingAllNetworks;\n if (!isSwitchAllowed) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG);\n }\n try {\n await ChainController.switchActiveNetwork(assetCaipNetwork);\n }\n catch (error) {\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR, error);\n }\n}\nexport function ensureCorrectAddress() {\n const { chainNamespace } = ParseUtil.parseCaipNetworkId(PayController.state.paymentAsset.network);\n const isAddress = CoreHelperUtil.isAddress(PayController.state.recipient, chainNamespace);\n if (!isAddress) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_RECIPIENT_ADDRESS_FOR_ASSET, `Provide valid recipient address for namespace \"${chainNamespace}\"`);\n }\n}\nexport async function processEvmNativePayment(paymentAsset, chainNamespace, params) {\n if (chainNamespace !== ConstantsUtil.CHAIN.EVM) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_CHAIN_NAMESPACE);\n }\n if (!params.fromAddress) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, 'fromAddress is required for native EVM payments.');\n }\n const amountValue = typeof params.amount === 'string' ? parseFloat(params.amount) : params.amount;\n if (isNaN(amountValue)) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG);\n }\n const decimals = paymentAsset.metadata?.decimals ?? 18;\n const amountBigInt = ConnectionController.parseUnits(amountValue.toString(), decimals);\n if (typeof amountBigInt !== 'bigint') {\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR);\n }\n const txResponse = await ConnectionController.sendTransaction({\n chainNamespace,\n to: params.recipient,\n address: params.fromAddress,\n value: amountBigInt,\n data: '0x'\n });\n return txResponse ?? undefined;\n}\nexport async function processEvmErc20Payment(paymentAsset, params) {\n if (!params.fromAddress) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, 'fromAddress is required for ERC20 EVM payments.');\n }\n const tokenAddress = paymentAsset.asset;\n const recipientAddress = params.recipient;\n const decimals = Number(paymentAsset.metadata.decimals);\n const amountBigInt = ConnectionController.parseUnits(params.amount.toString(), decimals);\n if (amountBigInt === undefined) {\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR);\n }\n const txResponse = await ConnectionController.writeContract({\n fromAddress: params.fromAddress,\n tokenAddress,\n args: [recipientAddress, amountBigInt],\n method: 'transfer',\n abi: ContractUtil.getERC20Abi(tokenAddress),\n chainNamespace: ConstantsUtil.CHAIN.EVM\n });\n return txResponse ?? undefined;\n}\nexport async function processSolanaPayment(chainNamespace, params) {\n if (chainNamespace !== ConstantsUtil.CHAIN.SOLANA) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_CHAIN_NAMESPACE);\n }\n if (!params.fromAddress) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, 'fromAddress is required for Solana payments.');\n }\n const amountValue = typeof params.amount === 'string' ? parseFloat(params.amount) : params.amount;\n if (isNaN(amountValue) || amountValue <= 0) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, 'Invalid payment amount.');\n }\n try {\n const provider = ProviderController.getProvider(chainNamespace);\n if (!provider) {\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR, 'No Solana provider available.');\n }\n const txResponse = await ConnectionController.sendTransaction({\n chainNamespace: ConstantsUtil.CHAIN.SOLANA,\n to: params.recipient,\n value: amountValue,\n tokenMint: params.tokenMint\n });\n if (!txResponse) {\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR, 'Transaction failed.');\n }\n return txResponse;\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n throw error;\n }\n throw new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR, `Solana payment failed: ${error}`);\n }\n}\nexport async function getDirectTransferQuote({ sourceToken, toToken, amount, recipient }) {\n const originalAmount = ConnectionController.parseUnits(amount, sourceToken.metadata.decimals);\n const destinationAmount = ConnectionController.parseUnits(amount, toToken.metadata.decimals);\n return Promise.resolve({\n type: DIRECT_TRANSFER_REQUEST_ID,\n origin: {\n amount: originalAmount?.toString() ?? '0',\n currency: sourceToken\n },\n destination: {\n amount: destinationAmount?.toString() ?? '0',\n currency: toToken\n },\n fees: [\n {\n id: 'service',\n label: 'Service Fee',\n amount: '0',\n currency: toToken\n }\n ],\n steps: [\n {\n requestId: DIRECT_TRANSFER_REQUEST_ID,\n type: 'deposit',\n deposit: {\n amount: originalAmount?.toString() ?? '0',\n currency: sourceToken.asset,\n receiver: recipient\n }\n }\n ],\n timeInSeconds: 6\n });\n}\nexport function getTransferStep(quote) {\n if (!quote) {\n return null;\n }\n const step = quote.steps[0];\n if (!step || step.type !== DIRECT_TRANSFER_DEPOSIT_TYPE) {\n return null;\n }\n return step;\n}\nexport function getTransactionsSteps(quote, completedTransactionsCount = 0) {\n if (!quote) {\n return [];\n }\n const steps = quote.steps.filter(step => step.type === DIRECT_TRANSFER_TRANSACTION_TYPE);\n const stepsToShow = steps.filter((_, idx) => {\n const incrementedIdx = idx + 1;\n return incrementedIdx > completedTransactionsCount;\n });\n return steps.length > 0 && steps.length < 3 ? stepsToShow : [];\n}\n//# sourceMappingURL=PaymentUtil.js.map","import { NumberUtil, ParseUtil } from '@reown/appkit-common';\nimport { CoreHelperUtil, FetchUtil, OptionsController, getNativeTokenAddress } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { API_URL } from './ConstantsUtil.js';\nimport { getDirectTransferQuote } from './PaymentUtil.js';\nconst api = new FetchUtil({ baseUrl: CoreHelperUtil.getApiUrl(), clientId: null });\nclass JsonRpcError extends Error {\n}\nexport function getApiUrl() {\n const projectId = OptionsController.getSnapshot().projectId;\n return `${API_URL}?projectId=${projectId}`;\n}\nfunction getSdkProperties() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n projectId,\n st: sdkType || 'appkit',\n sv: sdkVersion || 'html-wagmi-4.2.2'\n };\n}\nasync function sendRequest(method, params) {\n const url = getApiUrl();\n const { sdkType: st, sdkVersion: sv, projectId } = OptionsController.getSnapshot();\n const requestBody = {\n jsonrpc: '2.0',\n id: 1,\n method,\n params: {\n ...(params || {}),\n st,\n sv,\n projectId\n }\n };\n const response = await fetch(url, {\n method: 'POST',\n body: JSON.stringify(requestBody),\n headers: { 'Content-Type': 'application/json' }\n });\n const json = await response.json();\n if (json.error) {\n throw new JsonRpcError(json.error.message);\n }\n return json;\n}\nexport async function getExchanges(params) {\n const response = await sendRequest('reown_getExchanges', params);\n return response.result;\n}\nexport async function getPayUrl(params) {\n const response = await sendRequest('reown_getExchangePayUrl', params);\n return response.result;\n}\nexport async function getBuyStatus(params) {\n const response = await sendRequest('reown_getExchangeBuyStatus', params);\n return response.result;\n}\nexport async function getTransfersQuote(params) {\n const amount = NumberUtil.bigNumber(params.amount)\n .times(10 ** params.toToken.metadata.decimals)\n .toString();\n const { chainId: originChainId, chainNamespace: originChainNamespace } = ParseUtil.parseCaipNetworkId(params.sourceToken.network);\n const { chainId: destinationChainId, chainNamespace: destinationChainNamespace } = ParseUtil.parseCaipNetworkId(params.toToken.network);\n const originCurrency = params.sourceToken.asset === 'native'\n ? getNativeTokenAddress(originChainNamespace)\n : params.sourceToken.asset;\n const destinationCurrency = params.toToken.asset === 'native'\n ? getNativeTokenAddress(destinationChainNamespace)\n : params.toToken.asset;\n const response = await api.post({\n path: '/appkit/v1/transfers/quote',\n body: {\n user: params.address,\n originChainId: originChainId.toString(),\n originCurrency,\n destinationChainId: destinationChainId.toString(),\n destinationCurrency,\n recipient: params.recipient,\n amount\n },\n params: getSdkProperties()\n });\n return response;\n}\nexport async function getQuote(params) {\n const isSameChain = HelpersUtil.isLowerCaseMatch(params.sourceToken.network, params.toToken.network);\n const isSameAsset = HelpersUtil.isLowerCaseMatch(params.sourceToken.asset, params.toToken.asset);\n if (isSameChain && isSameAsset) {\n return getDirectTransferQuote(params);\n }\n return getTransfersQuote(params);\n}\nexport async function getQuoteStatus(params) {\n const response = await api.get({\n path: '/appkit/v1/transfers/status',\n params: {\n requestId: params.requestId,\n ...getSdkProperties()\n }\n });\n return response;\n}\nexport async function getAssetsForExchange(exchangeId) {\n const response = await api.get({\n path: `/appkit/v1/transfers/assets/exchanges/${exchangeId}`,\n params: getSdkProperties()\n });\n return response;\n}\n//# sourceMappingURL=ApiUtil.js.map","import { NumberUtil, ParseUtil } from '@reown/appkit-common';\nimport { ChainController, CoreHelperUtil } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nconst SUPPORT_PAY_WITH_WALLET_CHAIN_NAMESPACES = ['eip155', 'solana'];\nconst CHAIN_ASSET_INFO_MAP = {\n eip155: {\n native: { assetNamespace: 'slip44', assetReference: '60' },\n defaultTokenNamespace: 'erc20'\n },\n solana: {\n native: { assetNamespace: 'slip44', assetReference: '501' },\n defaultTokenNamespace: 'token'\n }\n};\nexport function formatCaip19Asset(caipNetworkId, asset) {\n const { chainNamespace, chainId } = ParseUtil.parseCaipNetworkId(caipNetworkId);\n const chainInfo = CHAIN_ASSET_INFO_MAP[chainNamespace];\n if (!chainInfo) {\n throw new Error(`Unsupported chain namespace for CAIP-19 formatting: ${chainNamespace}`);\n }\n let assetNamespace = chainInfo.native.assetNamespace;\n let assetReference = chainInfo.native.assetReference;\n if (asset !== 'native') {\n assetNamespace = chainInfo.defaultTokenNamespace;\n assetReference = asset;\n }\n const networkPart = `${chainNamespace}:${chainId}`;\n return `${networkPart}/${assetNamespace}:${assetReference}`;\n}\nexport function isPayWithWalletSupported(networkId) {\n const { chainNamespace } = ParseUtil.parseCaipNetworkId(networkId);\n return SUPPORT_PAY_WITH_WALLET_CHAIN_NAMESPACES.includes(chainNamespace);\n}\nexport function formatBalanceToPaymentAsset(balance) {\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === balance.chainId);\n let asset = balance.address;\n if (!targetNetwork) {\n throw new Error(`Target network not found for balance chainId \"${balance.chainId}\"`);\n }\n if (HelpersUtil.isLowerCaseMatch(balance.symbol, targetNetwork.nativeCurrency.symbol)) {\n asset = 'native';\n }\n else if (CoreHelperUtil.isCaipAddress(asset)) {\n const { address } = ParseUtil.parseCaipAddress(asset);\n asset = address;\n }\n else if (!asset) {\n throw new Error(`Balance address not found for balance symbol \"${balance.symbol}\"`);\n }\n return {\n network: targetNetwork.caipNetworkId,\n asset,\n metadata: {\n name: balance.name,\n symbol: balance.symbol,\n decimals: Number(balance.quantity.decimals),\n logoURI: balance.iconUrl\n },\n amount: balance.quantity.numeric\n };\n}\nexport function formatPaymentAssetToBalance(paymentAsset) {\n return {\n chainId: paymentAsset.network,\n address: `${paymentAsset.network}:${paymentAsset.asset}`,\n symbol: paymentAsset.metadata.symbol,\n name: paymentAsset.metadata.name,\n iconUrl: paymentAsset.metadata.logoURI || '',\n price: 0,\n quantity: {\n numeric: '0',\n decimals: paymentAsset.metadata.decimals.toString()\n }\n };\n}\nexport function formatAmount(amount) {\n const num = NumberUtil.bigNumber(amount, { safe: true });\n if (num.lt(0.001)) {\n return '<0.001';\n }\n return num.round(4).toString();\n}\nexport function isTestnetAsset(paymentAsset) {\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === paymentAsset.network);\n if (!targetNetwork) {\n return false;\n }\n return Boolean(targetNetwork.testnet);\n}\n//# sourceMappingURL=AssetUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil, NumberUtil, ParseUtil } from '@reown/appkit-common';\nimport { AssetUtil, ChainController, ConnectionController, CoreHelperUtil, EventsController, ModalController, SnackController } from '@reown/appkit-controllers';\nimport { BalanceUtil } from '@reown/appkit-controllers/utils';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { AppKitPayErrorCodes, AppKitPayErrorMessages } from '../types/errors.js';\nimport { AppKitPayError } from '../types/errors.js';\nimport { getAssetsForExchange, getBuyStatus, getExchanges, getPayUrl, getQuote, getQuoteStatus } from '../utils/ApiUtil.js';\nimport { formatCaip19Asset, formatPaymentAssetToBalance } from '../utils/AssetUtil.js';\nimport { ensureCorrectAddress, getTransferStep, processEvmErc20Payment, processEvmNativePayment, processSolanaPayment } from '../utils/PaymentUtil.js';\nconst DEFAULT_PAGE = 0;\nconst DEFAULT_PAYMENT_ID = 'unknown';\nexport const DIRECT_TRANSFER_REQUEST_ID = 'direct-transfer';\nexport const DIRECT_TRANSFER_DEPOSIT_TYPE = 'deposit';\nexport const DIRECT_TRANSFER_TRANSACTION_TYPE = 'transaction';\nconst state = proxy({\n paymentAsset: {\n network: 'eip155:1',\n asset: '0x0',\n metadata: {\n name: '0x0',\n symbol: '0x0',\n decimals: 0\n }\n },\n recipient: '0x0',\n amount: 0,\n isConfigured: false,\n error: null,\n isPaymentInProgress: false,\n exchanges: [],\n isLoading: false,\n openInNewTab: true,\n redirectUrl: undefined,\n payWithExchange: undefined,\n currentPayment: undefined,\n analyticsSet: false,\n paymentId: undefined,\n choice: 'pay',\n tokenBalances: {\n [ConstantsUtil.CHAIN.EVM]: [],\n [ConstantsUtil.CHAIN.SOLANA]: []\n },\n isFetchingTokenBalances: false,\n selectedPaymentAsset: null,\n quote: undefined,\n quoteStatus: 'waiting',\n quoteError: null,\n isFetchingQuote: false,\n selectedExchange: undefined,\n exchangeUrlForQuote: undefined,\n requestId: undefined\n});\nexport const PayController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async handleOpenPay(options) {\n this.resetState();\n this.setPaymentConfig(options);\n this.initializeAnalytics();\n ensureCorrectAddress();\n await this.prepareTokenLogo();\n state.isConfigured = true;\n EventsController.sendEvent({\n type: 'track',\n event: 'PAY_MODAL_OPEN',\n properties: {\n exchanges: state.exchanges,\n configuration: {\n network: state.paymentAsset.network,\n asset: state.paymentAsset.asset,\n recipient: state.recipient,\n amount: state.amount\n }\n }\n });\n await ModalController.open({\n view: 'Pay'\n });\n },\n resetState() {\n state.paymentAsset = {\n network: 'eip155:1',\n asset: '0x0',\n metadata: { name: '0x0', symbol: '0x0', decimals: 0 }\n };\n state.recipient = '0x0';\n state.amount = 0;\n state.isConfigured = false;\n state.error = null;\n state.isPaymentInProgress = false;\n state.isLoading = false;\n state.currentPayment = undefined;\n state.selectedExchange = undefined;\n state.exchangeUrlForQuote = undefined;\n state.requestId = undefined;\n },\n resetQuoteState() {\n state.quote = undefined;\n state.quoteStatus = 'waiting';\n state.quoteError = null;\n state.isFetchingQuote = false;\n state.requestId = undefined;\n },\n setPaymentConfig(config) {\n if (!config.paymentAsset) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG);\n }\n try {\n state.choice = config.choice ?? 'pay';\n state.paymentAsset = config.paymentAsset;\n state.recipient = config.recipient;\n state.amount = config.amount;\n state.openInNewTab = config.openInNewTab ?? true;\n state.redirectUrl = config.redirectUrl;\n state.payWithExchange = config.payWithExchange;\n state.error = null;\n }\n catch (error) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, error.message);\n }\n },\n setSelectedPaymentAsset(paymentAsset) {\n state.selectedPaymentAsset = paymentAsset;\n },\n setSelectedExchange(exchange) {\n state.selectedExchange = exchange;\n },\n setRequestId(requestId) {\n state.requestId = requestId;\n },\n setPaymentInProgress(isPaymentInProgress) {\n state.isPaymentInProgress = isPaymentInProgress;\n },\n getPaymentAsset() {\n return state.paymentAsset;\n },\n getExchanges() {\n return state.exchanges;\n },\n async fetchExchanges() {\n try {\n state.isLoading = true;\n const response = await getExchanges({\n page: DEFAULT_PAGE\n });\n state.exchanges = response.exchanges.slice(0, 2);\n }\n catch (error) {\n SnackController.showError(AppKitPayErrorMessages.UNABLE_TO_GET_EXCHANGES);\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_EXCHANGES);\n }\n finally {\n state.isLoading = false;\n }\n },\n async getAvailableExchanges(params) {\n try {\n const asset = params?.asset && params?.network\n ? formatCaip19Asset(params.network, params.asset)\n : undefined;\n const response = await getExchanges({\n page: params?.page ?? DEFAULT_PAGE,\n asset,\n amount: params?.amount?.toString()\n });\n return response;\n }\n catch (error) {\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_EXCHANGES);\n }\n },\n async getPayUrl(exchangeId, params, headless = false) {\n try {\n const numericAmount = Number(params.amount);\n const response = await getPayUrl({\n exchangeId,\n asset: formatCaip19Asset(params.network, params.asset),\n amount: numericAmount.toString(),\n recipient: `${params.network}:${params.recipient}`\n });\n EventsController.sendEvent({\n type: 'track',\n event: 'PAY_EXCHANGE_SELECTED',\n properties: {\n source: 'pay',\n exchange: {\n id: exchangeId\n },\n configuration: {\n network: params.network,\n asset: params.asset,\n recipient: params.recipient,\n amount: numericAmount\n },\n currentPayment: {\n type: 'exchange',\n exchangeId\n },\n headless\n }\n });\n if (headless) {\n this.initiatePayment();\n EventsController.sendEvent({\n type: 'track',\n event: 'PAY_INITIATED',\n properties: {\n source: 'pay',\n paymentId: state.paymentId || DEFAULT_PAYMENT_ID,\n configuration: {\n network: params.network,\n asset: params.asset,\n recipient: params.recipient,\n amount: numericAmount\n },\n currentPayment: {\n type: 'exchange',\n exchangeId\n }\n }\n });\n }\n return response;\n }\n catch (error) {\n if (error instanceof Error && error.message.includes('is not supported')) {\n throw new AppKitPayError(AppKitPayErrorCodes.ASSET_NOT_SUPPORTED);\n }\n throw new Error(error.message);\n }\n },\n async generateExchangeUrlForQuote({ exchangeId, paymentAsset, amount, recipient }) {\n const response = await getPayUrl({\n exchangeId,\n asset: formatCaip19Asset(paymentAsset.network, paymentAsset.asset),\n amount: amount.toString(),\n recipient\n });\n state.exchangeSessionId = response.sessionId;\n state.exchangeUrlForQuote = response.url;\n },\n async openPayUrl(openParams, params, headless = false) {\n try {\n const payUrl = await this.getPayUrl(openParams.exchangeId, params, headless);\n if (!payUrl) {\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_PAY_URL);\n }\n const shouldOpenInNewTab = openParams.openInNewTab ?? true;\n const target = shouldOpenInNewTab ? '_blank' : '_self';\n CoreHelperUtil.openHref(payUrl.url, target);\n return payUrl;\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n state.error = error.message;\n }\n else {\n state.error = AppKitPayErrorMessages.GENERIC_PAYMENT_ERROR;\n }\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_PAY_URL);\n }\n },\n async onTransfer({ chainNamespace, fromAddress, toAddress, amount, paymentAsset }) {\n state.currentPayment = {\n type: 'wallet',\n status: 'IN_PROGRESS'\n };\n if (state.isPaymentInProgress) {\n return;\n }\n try {\n this.initiatePayment();\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === paymentAsset.network);\n if (!targetNetwork) {\n throw new Error('Target network not found');\n }\n const caipNetwork = ChainController.state.activeCaipNetwork;\n if (!HelpersUtil.isLowerCaseMatch(caipNetwork?.caipNetworkId, targetNetwork.caipNetworkId)) {\n await ChainController.switchActiveNetwork(targetNetwork);\n }\n switch (chainNamespace) {\n case ConstantsUtil.CHAIN.EVM:\n if (paymentAsset.asset === 'native') {\n state.currentPayment.result = await processEvmNativePayment(paymentAsset, chainNamespace, {\n recipient: toAddress,\n amount,\n fromAddress: fromAddress\n });\n }\n if (paymentAsset.asset.startsWith('0x')) {\n state.currentPayment.result = await processEvmErc20Payment(paymentAsset, {\n recipient: toAddress,\n amount,\n fromAddress: fromAddress\n });\n }\n state.currentPayment.status = 'SUCCESS';\n break;\n case ConstantsUtil.CHAIN.SOLANA:\n state.currentPayment.result = await processSolanaPayment(chainNamespace, {\n recipient: toAddress,\n amount,\n fromAddress,\n tokenMint: paymentAsset.asset === 'native' ? undefined : paymentAsset.asset\n });\n state.currentPayment.status = 'SUCCESS';\n break;\n default:\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_CHAIN_NAMESPACE);\n }\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n state.error = error.message;\n }\n else {\n state.error = AppKitPayErrorMessages.GENERIC_PAYMENT_ERROR;\n }\n state.currentPayment.status = 'FAILED';\n SnackController.showError(state.error);\n throw error;\n }\n finally {\n state.isPaymentInProgress = false;\n }\n },\n async onSendTransaction(params) {\n try {\n const { namespace, transactionStep } = params;\n PayController.initiatePayment();\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === state.paymentAsset?.network);\n if (!targetNetwork) {\n throw new Error('Target network not found');\n }\n const caipNetwork = ChainController.state.activeCaipNetwork;\n if (!HelpersUtil.isLowerCaseMatch(caipNetwork?.caipNetworkId, targetNetwork.caipNetworkId)) {\n await ChainController.switchActiveNetwork(targetNetwork);\n }\n if (namespace === ConstantsUtil.CHAIN.EVM) {\n const { from, to, data, value } = transactionStep.transaction;\n await ConnectionController.sendTransaction({\n address: from,\n to,\n data,\n value: BigInt(value),\n chainNamespace: namespace\n });\n }\n else if (namespace === ConstantsUtil.CHAIN.SOLANA) {\n const { instructions } = transactionStep.transaction;\n await ConnectionController.writeSolanaTransaction({\n instructions\n });\n }\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n state.error = error.message;\n }\n else {\n state.error = AppKitPayErrorMessages.GENERIC_PAYMENT_ERROR;\n }\n SnackController.showError(state.error);\n throw error;\n }\n finally {\n state.isPaymentInProgress = false;\n }\n },\n getExchangeById(exchangeId) {\n return state.exchanges.find(exchange => exchange.id === exchangeId);\n },\n validatePayConfig(config) {\n const { paymentAsset, recipient, amount } = config;\n if (!paymentAsset) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG);\n }\n if (!recipient) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_RECIPIENT);\n }\n if (!paymentAsset.asset) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_ASSET);\n }\n if (amount === undefined || amount === null || amount <= 0) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_AMOUNT);\n }\n },\n async handlePayWithExchange(exchangeId) {\n try {\n state.currentPayment = {\n type: 'exchange',\n exchangeId\n };\n const { network, asset } = state.paymentAsset;\n const payUrlParams = {\n network,\n asset,\n amount: state.amount,\n recipient: state.recipient\n };\n const payUrl = await this.getPayUrl(exchangeId, payUrlParams);\n if (!payUrl) {\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_INITIATE_PAYMENT);\n }\n state.currentPayment.sessionId = payUrl.sessionId;\n state.currentPayment.status = 'IN_PROGRESS';\n state.currentPayment.exchangeId = exchangeId;\n this.initiatePayment();\n return {\n url: payUrl.url,\n openInNewTab: state.openInNewTab\n };\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n state.error = error.message;\n }\n else {\n state.error = AppKitPayErrorMessages.GENERIC_PAYMENT_ERROR;\n }\n state.isPaymentInProgress = false;\n SnackController.showError(state.error);\n return null;\n }\n },\n async getBuyStatus(exchangeId, sessionId) {\n try {\n const status = await getBuyStatus({ sessionId, exchangeId });\n if (status.status === 'SUCCESS' || status.status === 'FAILED') {\n EventsController.sendEvent({\n type: 'track',\n event: status.status === 'SUCCESS' ? 'PAY_SUCCESS' : 'PAY_ERROR',\n properties: {\n message: status.status === 'FAILED' ? CoreHelperUtil.parseError(state.error) : undefined,\n source: 'pay',\n paymentId: state.paymentId || DEFAULT_PAYMENT_ID,\n configuration: {\n network: state.paymentAsset.network,\n asset: state.paymentAsset.asset,\n recipient: state.recipient,\n amount: state.amount\n },\n currentPayment: {\n type: 'exchange',\n exchangeId: state.currentPayment?.exchangeId,\n sessionId: state.currentPayment?.sessionId,\n result: status.txHash\n }\n }\n });\n }\n return status;\n }\n catch (error) {\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_BUY_STATUS);\n }\n },\n async fetchTokensFromEOA({ caipAddress, caipNetwork, namespace }) {\n if (!caipAddress) {\n return [];\n }\n const { address } = ParseUtil.parseCaipAddress(caipAddress);\n let overideCaipNetwork = caipNetwork;\n if (namespace === ConstantsUtil.CHAIN.EVM) {\n overideCaipNetwork = undefined;\n }\n const balances = await BalanceUtil.getMyTokensWithBalance({\n address,\n caipNetwork: overideCaipNetwork\n });\n return balances;\n },\n async fetchTokensFromExchange() {\n if (!state.selectedExchange) {\n return [];\n }\n const assets = await getAssetsForExchange(state.selectedExchange.id);\n const allAssets = Object.values(assets.assets).flat();\n const balanceWithImages = await Promise.all(allAssets.map(async (token) => {\n const balance = formatPaymentAssetToBalance(token);\n const { chainNamespace } = ParseUtil.parseCaipNetworkId(balance.chainId);\n let address = balance.address;\n if (CoreHelperUtil.isCaipAddress(address)) {\n const { address: parsedAddress } = ParseUtil.parseCaipAddress(address);\n address = parsedAddress;\n }\n const image = await AssetUtil.getImageByToken(address ?? '', chainNamespace).catch(() => undefined);\n balance.iconUrl = image ?? '';\n return balance;\n }));\n return balanceWithImages;\n },\n async fetchTokens({ caipAddress, caipNetwork, namespace }) {\n try {\n state.isFetchingTokenBalances = true;\n const isUsingExchange = Boolean(state.selectedExchange);\n const balancesFnPromise = isUsingExchange\n ? this.fetchTokensFromExchange()\n : this.fetchTokensFromEOA({ caipAddress, caipNetwork, namespace });\n const balances = await balancesFnPromise;\n state.tokenBalances = { ...state.tokenBalances, [namespace]: balances };\n }\n catch (err) {\n const message = err instanceof Error ? err.message : 'Unable to get token balances';\n SnackController.showError(message);\n }\n finally {\n state.isFetchingTokenBalances = false;\n }\n },\n async fetchQuote({ amount, address, sourceToken, toToken, recipient }) {\n try {\n PayController.resetQuoteState();\n state.isFetchingQuote = true;\n const quote = await getQuote({\n amount,\n address: state.selectedExchange ? undefined : address,\n sourceToken,\n toToken,\n recipient\n });\n if (state.selectedExchange) {\n const transferStep = getTransferStep(quote);\n if (transferStep) {\n const caipDepositAddress = `${sourceToken.network}:${transferStep.deposit.receiver}`;\n const depositAmount = NumberUtil.formatNumber(transferStep.deposit.amount, {\n decimals: sourceToken.metadata.decimals ?? 0,\n round: 8\n });\n await PayController.generateExchangeUrlForQuote({\n exchangeId: state.selectedExchange.id,\n paymentAsset: sourceToken,\n amount: depositAmount.toString(),\n recipient: caipDepositAddress\n });\n }\n }\n state.quote = quote;\n }\n catch (err) {\n let errMessage = AppKitPayErrorMessages.UNABLE_TO_GET_QUOTE;\n if (err instanceof Error && err.cause && err.cause instanceof Response) {\n try {\n const errorData = await err.cause.json();\n if (errorData.error && typeof errorData.error === 'string') {\n errMessage = errorData.error;\n }\n }\n catch {\n }\n }\n state.quoteError = errMessage;\n SnackController.showError(errMessage);\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_QUOTE);\n }\n finally {\n state.isFetchingQuote = false;\n }\n },\n async fetchQuoteStatus({ requestId }) {\n try {\n if (requestId === DIRECT_TRANSFER_REQUEST_ID) {\n const selectedExchange = state.selectedExchange;\n const sessionId = state.exchangeSessionId;\n if (selectedExchange && sessionId) {\n const status = await this.getBuyStatus(selectedExchange.id, sessionId);\n switch (status.status) {\n case 'IN_PROGRESS':\n state.quoteStatus = 'waiting';\n break;\n case 'SUCCESS':\n state.quoteStatus = 'success';\n state.isPaymentInProgress = false;\n break;\n case 'FAILED':\n state.quoteStatus = 'failure';\n state.isPaymentInProgress = false;\n break;\n case 'UNKNOWN':\n state.quoteStatus = 'waiting';\n break;\n default:\n state.quoteStatus = 'waiting';\n break;\n }\n return;\n }\n state.quoteStatus = 'success';\n return;\n }\n const { status } = await getQuoteStatus({ requestId });\n state.quoteStatus = status;\n }\n catch {\n state.quoteStatus = 'failure';\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_GET_QUOTE_STATUS);\n }\n },\n initiatePayment() {\n state.isPaymentInProgress = true;\n state.paymentId = crypto.randomUUID();\n },\n initializeAnalytics() {\n if (state.analyticsSet) {\n return;\n }\n state.analyticsSet = true;\n this.subscribeKey('isPaymentInProgress', _ => {\n if (state.currentPayment?.status && state.currentPayment.status !== 'UNKNOWN') {\n const eventType = {\n IN_PROGRESS: 'PAY_INITIATED',\n SUCCESS: 'PAY_SUCCESS',\n FAILED: 'PAY_ERROR'\n }[state.currentPayment.status];\n EventsController.sendEvent({\n type: 'track',\n event: eventType,\n properties: {\n message: state.currentPayment.status === 'FAILED'\n ? CoreHelperUtil.parseError(state.error)\n : undefined,\n source: 'pay',\n paymentId: state.paymentId || DEFAULT_PAYMENT_ID,\n configuration: {\n network: state.paymentAsset.network,\n asset: state.paymentAsset.asset,\n recipient: state.recipient,\n amount: state.amount\n },\n currentPayment: {\n type: state.currentPayment.type,\n exchangeId: state.currentPayment.exchangeId,\n sessionId: state.currentPayment.sessionId,\n result: state.currentPayment.result\n }\n }\n });\n }\n });\n },\n async prepareTokenLogo() {\n if (!state.paymentAsset.metadata.logoURI) {\n try {\n const { chainNamespace } = ParseUtil.parseCaipNetworkId(state.paymentAsset.network);\n const imageUrl = await AssetUtil.getImageByToken(state.paymentAsset.asset, chainNamespace);\n state.paymentAsset.metadata.logoURI = imageUrl;\n }\n catch {\n }\n }\n }\n};\n//# sourceMappingURL=PayController.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n wui-separator {\n margin: var(--apkt-spacing-3) calc(var(--apkt-spacing-3) * -1) var(--apkt-spacing-2)\n calc(var(--apkt-spacing-3) * -1);\n width: calc(100% + var(--apkt-spacing-3) * 2);\n }\n\n .token-display {\n padding: var(--apkt-spacing-3) var(--apkt-spacing-3);\n border-radius: var(--apkt-borderRadius-5);\n background-color: var(--apkt-tokens-theme-backgroundPrimary);\n margin-top: var(--apkt-spacing-3);\n margin-bottom: var(--apkt-spacing-3);\n }\n\n .token-display wui-text {\n text-transform: none;\n }\n\n wui-loading-spinner {\n padding: var(--apkt-spacing-2);\n }\n\n .left-image-container {\n position: relative;\n justify-content: center;\n align-items: center;\n }\n\n .token-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n width: 40px;\n height: 40px;\n }\n\n .chain-image {\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: -3px;\n right: -5px;\n border-radius: ${({ borderRadius }) => borderRadius.round};\n border: 2px solid ${({ tokens }) => tokens.theme.backgroundPrimary};\n }\n\n .payment-methods-container {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n border-top-right-radius: ${({ borderRadius }) => borderRadius[8]};\n border-top-left-radius: ${({ borderRadius }) => borderRadius[8]};\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport {} from '@reown/appkit-common';\nimport { AssetUtil, ChainController, ConnectionController, ConnectorController, ModalController, RouterController, SnackController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-button';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-icon';\nimport '@reown/appkit-ui/wui-icon-button';\nimport '@reown/appkit-ui/wui-icon-link';\nimport '@reown/appkit-ui/wui-image';\nimport '@reown/appkit-ui/wui-list-item';\nimport '@reown/appkit-ui/wui-loading-spinner';\nimport '@reown/appkit-ui/wui-loading-spinner';\nimport '@reown/appkit-ui/wui-network-image';\nimport '@reown/appkit-ui/wui-separator';\nimport '@reown/appkit-ui/wui-text';\nimport '@reown/appkit-ui/wui-wallet-image';\nimport { PayController } from '../../controllers/PayController.js';\nimport { formatAmount, isPayWithWalletSupported, isTestnetAsset } from '../../utils/AssetUtil.js';\nimport { REOWN_TEST_EXCHANGE_ID } from '../../utils/ConstantsUtil.js';\nimport styles from './styles.js';\nlet W3mPayView = class W3mPayView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.amount = PayController.state.amount;\n this.namespace = undefined;\n this.paymentAsset = PayController.state.paymentAsset;\n this.activeConnectorIds = ConnectorController.state.activeConnectorIds;\n this.caipAddress = undefined;\n this.exchanges = PayController.state.exchanges;\n this.isLoading = PayController.state.isLoading;\n this.initializeNamespace();\n this.unsubscribe.push(PayController.subscribeKey('amount', val => (this.amount = val)));\n this.unsubscribe.push(ConnectorController.subscribeKey('activeConnectorIds', ids => (this.activeConnectorIds = ids)));\n this.unsubscribe.push(PayController.subscribeKey('exchanges', val => (this.exchanges = val)));\n this.unsubscribe.push(PayController.subscribeKey('isLoading', val => (this.isLoading = val)));\n PayController.fetchExchanges();\n PayController.setSelectedExchange(undefined);\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n <wui-flex flexDirection=\"column\">\n ${this.paymentDetailsTemplate()} ${this.paymentMethodsTemplate()}\n </wui-flex>\n `;\n }\n paymentMethodsTemplate() {\n return html `\n <wui-flex flexDirection=\"column\" padding=\"3\" gap=\"2\" class=\"payment-methods-container\">\n ${this.payWithWalletTemplate()} ${this.templateSeparator()}\n ${this.templateExchangeOptions()}\n </wui-flex>\n `;\n }\n initializeNamespace() {\n const namespace = ChainController.state.activeChain;\n this.namespace = namespace;\n this.caipAddress = ChainController.getAccountData(namespace)?.caipAddress;\n this.unsubscribe.push(ChainController.subscribeChainProp('accountState', accountState => {\n this.caipAddress = accountState?.caipAddress;\n }, namespace));\n }\n paymentDetailsTemplate() {\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === this.paymentAsset.network);\n return html `\n <wui-flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n .padding=${['6', '8', '6', '8']}\n gap=\"2\"\n >\n <wui-flex alignItems=\"center\" gap=\"1\">\n <wui-text variant=\"h1-regular\" color=\"primary\">\n ${formatAmount(this.amount || '0')}\n </wui-text>\n\n <wui-flex flexDirection=\"column\">\n <wui-text variant=\"h6-regular\" color=\"secondary\">\n ${this.paymentAsset.metadata.symbol || 'Unknown'}\n </wui-text>\n <wui-text variant=\"md-medium\" color=\"secondary\"\n >on ${targetNetwork?.name || 'Unknown'}</wui-text\n >\n </wui-flex>\n </wui-flex>\n\n <wui-flex class=\"left-image-container\">\n <wui-image\n src=${ifDefined(this.paymentAsset.metadata.logoURI)}\n class=\"token-image\"\n ></wui-image>\n <wui-image\n src=${ifDefined(AssetUtil.getNetworkImage(targetNetwork))}\n class=\"chain-image\"\n ></wui-image>\n </wui-flex>\n </wui-flex>\n `;\n }\n payWithWalletTemplate() {\n if (!isPayWithWalletSupported(this.paymentAsset.network)) {\n return html ``;\n }\n return this.caipAddress ? this.connectedWalletTemplate() : this.disconnectedWalletTemplate();\n }\n connectedWalletTemplate() {\n const { name, image } = this.getWalletProperties({\n namespace: this.namespace\n });\n return html `\n <wui-flex flexDirection=\"column\" gap=\"3\">\n <wui-list-item\n type=\"secondary\"\n boxColor=\"foregroundSecondary\"\n @click=${this.onWalletPayment}\n .boxed=${false}\n ?chevron=${true}\n ?fullSize=${false}\n ?rounded=${true}\n data-testid=\"wallet-payment-option\"\n imageSrc=${ifDefined(image)}\n imageSize=\"3xl\"\n >\n <wui-text variant=\"lg-regular\" color=\"primary\">Pay with ${name}</wui-text>\n </wui-list-item>\n\n <wui-list-item\n type=\"secondary\"\n icon=\"power\"\n iconColor=\"error\"\n @click=${this.onDisconnect}\n data-testid=\"disconnect-button\"\n ?chevron=${false}\n boxColor=\"foregroundSecondary\"\n >\n <wui-text variant=\"lg-regular\" color=\"secondary\">Disconnect</wui-text>\n </wui-list-item>\n </wui-flex>\n `;\n }\n disconnectedWalletTemplate() {\n return html `<wui-list-item\n type=\"secondary\"\n boxColor=\"foregroundSecondary\"\n variant=\"icon\"\n iconColor=\"default\"\n iconVariant=\"overlay\"\n icon=\"wallet\"\n @click=${this.onWalletPayment}\n ?chevron=${true}\n data-testid=\"wallet-payment-option\"\n >\n <wui-text variant=\"lg-regular\" color=\"primary\">Pay with wallet</wui-text>\n </wui-list-item>`;\n }\n templateExchangeOptions() {\n if (this.isLoading) {\n return html `<wui-flex justifyContent=\"center\" alignItems=\"center\">\n <wui-loading-spinner size=\"md\"></wui-loading-spinner>\n </wui-flex>`;\n }\n const exchangesToShow = this.exchanges.filter(exchange => {\n if (isTestnetAsset(this.paymentAsset)) {\n return exchange.id === REOWN_TEST_EXCHANGE_ID;\n }\n return exchange.id !== REOWN_TEST_EXCHANGE_ID;\n });\n if (exchangesToShow.length === 0) {\n return html `<wui-flex justifyContent=\"center\" alignItems=\"center\">\n <wui-text variant=\"md-medium\" color=\"primary\">No exchanges available</wui-text>\n </wui-flex>`;\n }\n return exchangesToShow.map(exchange => html `\n <wui-list-item\n type=\"secondary\"\n boxColor=\"foregroundSecondary\"\n @click=${() => this.onExchangePayment(exchange)}\n data-testid=\"exchange-option-${exchange.id}\"\n ?chevron=${true}\n imageSrc=${ifDefined(exchange.imageUrl)}\n >\n <wui-text flexGrow=\"1\" variant=\"lg-regular\" color=\"primary\">\n Pay with ${exchange.name}\n </wui-text>\n </wui-list-item>\n `);\n }\n templateSeparator() {\n return html `<wui-separator text=\"or\" bgColor=\"secondary\"></wui-separator>`;\n }\n async onWalletPayment() {\n if (!this.namespace) {\n throw new Error('Namespace not found');\n }\n if (this.caipAddress) {\n RouterController.push('PayQuote');\n }\n else {\n await ConnectorController.connect();\n await ModalController.open({ view: 'PayQuote' });\n }\n }\n onExchangePayment(exchange) {\n PayController.setSelectedExchange(exchange);\n RouterController.push('PayQuote');\n }\n async onDisconnect() {\n try {\n await ConnectionController.disconnect();\n await ModalController.open({ view: 'Pay' });\n }\n catch {\n console.error('Failed to disconnect');\n SnackController.showError('Failed to disconnect');\n }\n }\n getWalletProperties({ namespace }) {\n if (!namespace) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorId = this.activeConnectorIds[namespace];\n if (!connectorId) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connector = ConnectorController.getConnector({ id: connectorId, namespace });\n if (!connector) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorImage = AssetUtil.getConnectorImage(connector);\n return {\n name: connector.name,\n image: connectorImage\n };\n }\n};\nW3mPayView.styles = styles;\n__decorate([\n state()\n], W3mPayView.prototype, \"amount\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"namespace\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"paymentAsset\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"activeConnectorIds\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"exchanges\", void 0);\n__decorate([\n state()\n], W3mPayView.prototype, \"isLoading\", void 0);\nW3mPayView = __decorate([\n customElement('w3m-pay-view')\n], W3mPayView);\nexport { W3mPayView };\n//# sourceMappingURL=index.js.map","import { css } from '../../utils/ThemeHelperUtil.js';\nexport default css `\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .pulse-container {\n position: relative;\n width: var(--pulse-size);\n height: var(--pulse-size);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .pulse-rings {\n position: absolute;\n inset: 0;\n pointer-events: none;\n }\n\n .pulse-ring {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n border: 2px solid var(--pulse-color);\n opacity: 0;\n animation: pulse var(--pulse-duration, 2s) ease-out infinite;\n }\n\n .pulse-content {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n @keyframes pulse {\n 0% {\n transform: scale(0.5);\n opacity: var(--pulse-opacity, 0.3);\n }\n 50% {\n opacity: calc(var(--pulse-opacity, 0.3) * 0.5);\n }\n 100% {\n transform: scale(1.2);\n opacity: 0;\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { vars } from '../../utils/ThemeHelperUtil.js';\nimport { resetStyles } from '../../utils/ThemeUtil.js';\nimport { customElement } from '../../utils/WebComponentsUtil.js';\nimport styles from './styles.js';\nconst DEFAULT_RINGS = 3;\nconst DEFAULT_DURATION = 2;\nconst DEFAULT_OPACITY = 0.3;\nconst DEFAULT_SIZE = '200px';\nconst COLOR_BY_VARIANT = {\n 'accent-primary': vars.tokens.core.backgroundAccentPrimary\n};\nlet WuiPulse = class WuiPulse extends LitElement {\n constructor() {\n super(...arguments);\n this.rings = DEFAULT_RINGS;\n this.duration = DEFAULT_DURATION;\n this.opacity = DEFAULT_OPACITY;\n this.size = DEFAULT_SIZE;\n this.variant = 'accent-primary';\n }\n render() {\n const color = COLOR_BY_VARIANT[this.variant];\n this.style.cssText = `\n --pulse-size: ${this.size};\n --pulse-duration: ${this.duration}s;\n --pulse-color: ${color};\n --pulse-opacity: ${this.opacity};\n `;\n const ringElements = Array.from({ length: this.rings }, (_, i) => this.renderRing(i, this.rings));\n return html `\n <div class=\"pulse-container\">\n <div class=\"pulse-rings\">${ringElements}</div>\n <div class=\"pulse-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n renderRing(index, total) {\n const delay = (index / total) * this.duration;\n const style = `animation-delay: ${delay}s;`;\n return html `<div class=\"pulse-ring\" style=${style}></div>`;\n }\n};\nWuiPulse.styles = [resetStyles, styles];\n__decorate([\n property({ type: Number })\n], WuiPulse.prototype, \"rings\", void 0);\n__decorate([\n property({ type: Number })\n], WuiPulse.prototype, \"duration\", void 0);\n__decorate([\n property({ type: Number })\n], WuiPulse.prototype, \"opacity\", void 0);\n__decorate([\n property()\n], WuiPulse.prototype, \"size\", void 0);\n__decorate([\n property()\n], WuiPulse.prototype, \"variant\", void 0);\nWuiPulse = __decorate([\n customElement('wui-pulse')\n], WuiPulse);\nexport { WuiPulse };\n//# sourceMappingURL=index.js.map","export const STEPS = [\n {\n id: 'received',\n title: 'Receiving funds',\n icon: 'dollar'\n },\n {\n id: 'processing',\n title: 'Swapping asset',\n icon: 'recycleHorizontal'\n },\n {\n id: 'sending',\n title: 'Sending asset to the recipient address',\n icon: 'send'\n }\n];\nexport const TERMINAL_STATES = [\n 'success',\n 'submitted',\n 'failure',\n 'timeout',\n 'refund'\n];\n//# sourceMappingURL=constants.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n :host {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n wui-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n }\n\n .token-badge-container {\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n border-radius: ${({ borderRadius }) => borderRadius[4]};\n z-index: 3;\n min-width: 105px;\n }\n\n .token-badge-container.loading {\n background-color: ${({ tokens }) => tokens.theme.backgroundPrimary};\n border: 3px solid ${({ tokens }) => tokens.theme.backgroundPrimary};\n }\n\n .token-badge-container.success {\n background-color: ${({ tokens }) => tokens.theme.backgroundPrimary};\n border: 3px solid ${({ tokens }) => tokens.theme.backgroundPrimary};\n }\n\n .token-image-container {\n position: relative;\n }\n\n .token-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n width: 64px;\n height: 64px;\n }\n\n .token-image.success {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n }\n\n .token-image.error {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n }\n\n .token-image.loading {\n background: ${({ colors }) => colors.accent010};\n }\n\n .token-image wui-icon {\n width: 32px;\n height: 32px;\n }\n\n .token-badge {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n border: 1px solid ${({ tokens }) => tokens.theme.foregroundSecondary};\n border-radius: ${({ borderRadius }) => borderRadius[4]};\n }\n\n .token-badge wui-text {\n white-space: nowrap;\n }\n\n .payment-lifecycle-container {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n border-top-right-radius: ${({ borderRadius }) => borderRadius[6]};\n border-top-left-radius: ${({ borderRadius }) => borderRadius[6]};\n }\n\n .payment-step-badge {\n padding: ${({ spacing }) => spacing[1]} ${({ spacing }) => spacing[2]};\n border-radius: ${({ borderRadius }) => borderRadius[1]};\n }\n\n .payment-step-badge.loading {\n background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};\n }\n\n .payment-step-badge.error {\n background-color: ${({ tokens }) => tokens.core.backgroundError};\n }\n\n .payment-step-badge.success {\n background-color: ${({ tokens }) => tokens.core.backgroundSuccess};\n }\n\n .step-icon-container {\n position: relative;\n height: 40px;\n width: 40px;\n border-radius: ${({ borderRadius }) => borderRadius.round};\n background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};\n }\n\n .step-icon-box {\n position: absolute;\n right: -4px;\n bottom: -1px;\n padding: 2px;\n border-radius: ${({ borderRadius }) => borderRadius.round};\n border: 2px solid ${({ tokens }) => tokens.theme.backgroundPrimary};\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n }\n\n .step-icon-box.success {\n background-color: ${({ tokens }) => tokens.core.backgroundSuccess};\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { NumberUtil, ParseUtil } from '@reown/appkit-common';\nimport { AssetUtil, ChainController, ConnectorController } from '@reown/appkit-controllers';\nimport { UiHelperUtil, customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-image';\nimport '@reown/appkit-ui/wui-loading-spinner';\nimport '@reown/appkit-ui/wui-pulse';\nimport '@reown/appkit-ui/wui-separator';\nimport '@reown/appkit-ui/wui-text';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { PayController } from '../../controllers/PayController.js';\nimport { formatAmount } from '../../utils/AssetUtil.js';\nimport { STEPS, TERMINAL_STATES } from './constants.js';\nimport styles from './styles.js';\nconst STEP_COMPLETED_STATUSES = {\n received: ['pending', 'success', 'submitted'],\n processing: ['success', 'submitted'],\n sending: ['success', 'submitted']\n};\nconst POLLING_INTERVAL_MS = 3000;\nlet W3mPayLoadingView = class W3mPayLoadingView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.pollingInterval = null;\n this.paymentAsset = PayController.state.paymentAsset;\n this.quoteStatus = PayController.state.quoteStatus;\n this.quote = PayController.state.quote;\n this.amount = PayController.state.amount;\n this.namespace = undefined;\n this.caipAddress = undefined;\n this.profileName = null;\n this.activeConnectorIds = ConnectorController.state.activeConnectorIds;\n this.selectedExchange = PayController.state.selectedExchange;\n this.initializeNamespace();\n this.unsubscribe.push(...[\n PayController.subscribeKey('quoteStatus', val => (this.quoteStatus = val)),\n PayController.subscribeKey('quote', val => (this.quote = val)),\n ConnectorController.subscribeKey('activeConnectorIds', ids => (this.activeConnectorIds = ids)),\n PayController.subscribeKey('selectedExchange', val => (this.selectedExchange = val))\n ]);\n }\n connectedCallback() {\n super.connectedCallback();\n this.startPolling();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stopPolling();\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n return html `\n <wui-flex flexDirection=\"column\" .padding=${['3', '0', '0', '0']} gap=\"2\">\n ${this.tokenTemplate()} ${this.paymentTemplate()} ${this.paymentLifecycleTemplate()}\n </wui-flex>\n `;\n }\n tokenTemplate() {\n const amount = formatAmount(this.amount || '0');\n const symbol = this.paymentAsset.metadata.symbol ?? 'Unknown';\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === this.paymentAsset.network);\n const hasTransactionFailed = this.quoteStatus === 'failure' ||\n this.quoteStatus === 'timeout' ||\n this.quoteStatus === 'refund';\n const hasTransactionSucceeded = this.quoteStatus === 'success' || this.quoteStatus === 'submitted';\n if (hasTransactionSucceeded) {\n return html `<wui-flex alignItems=\"center\" justifyContent=\"center\">\n <wui-flex justifyContent=\"center\" alignItems=\"center\" class=\"token-image success\">\n <wui-icon name=\"checkmark\" color=\"success\" size=\"inherit\"></wui-icon>\n </wui-flex>\n </wui-flex>`;\n }\n if (hasTransactionFailed) {\n return html `<wui-flex alignItems=\"center\" justifyContent=\"center\">\n <wui-flex justifyContent=\"center\" alignItems=\"center\" class=\"token-image error\">\n <wui-icon name=\"close\" color=\"error\" size=\"inherit\"></wui-icon>\n </wui-flex>\n </wui-flex>`;\n }\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"center\">\n <wui-flex class=\"token-image-container\">\n <wui-pulse size=\"125px\" rings=\"3\" duration=\"4\" opacity=\"0.5\" variant=\"accent-primary\">\n <wui-flex justifyContent=\"center\" alignItems=\"center\" class=\"token-image loading\">\n <wui-icon name=\"paperPlaneTitle\" color=\"accent-primary\" size=\"inherit\"></wui-icon>\n </wui-flex>\n </wui-pulse>\n\n <wui-flex\n justifyContent=\"center\"\n alignItems=\"center\"\n class=\"token-badge-container loading\"\n >\n <wui-flex\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"01\"\n padding=\"1\"\n class=\"token-badge\"\n >\n <wui-image\n src=${ifDefined(AssetUtil.getNetworkImage(targetNetwork))}\n class=\"chain-image\"\n size=\"mdl\"\n ></wui-image>\n\n <wui-text variant=\"lg-regular\" color=\"primary\">${amount} ${symbol}</wui-text>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n `;\n }\n paymentTemplate() {\n return html `\n <wui-flex flexDirection=\"column\" gap=\"2\" .padding=${['0', '6', '0', '6']}>\n ${this.renderPayment()}\n <wui-separator></wui-separator>\n ${this.renderWallet()}\n </wui-flex>\n `;\n }\n paymentLifecycleTemplate() {\n const stepsWithStatus = this.getStepsWithStatus();\n return html `\n <wui-flex flexDirection=\"column\" padding=\"4\" gap=\"2\" class=\"payment-lifecycle-container\">\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">PAYMENT CYCLE</wui-text>\n\n ${this.renderPaymentCycleBadge()}\n </wui-flex>\n\n <wui-flex flexDirection=\"column\" gap=\"5\" .padding=${['2', '0', '2', '0']}>\n ${stepsWithStatus.map(step => this.renderStep(step))}\n </wui-flex>\n </wui-flex>\n `;\n }\n renderPaymentCycleBadge() {\n const hasTransactionFailed = this.quoteStatus === 'failure' ||\n this.quoteStatus === 'timeout' ||\n this.quoteStatus === 'refund';\n const hasTransactionSucceeded = this.quoteStatus === 'success' || this.quoteStatus === 'submitted';\n if (hasTransactionFailed) {\n return html `\n <wui-flex\n justifyContent=\"center\"\n alignItems=\"center\"\n class=\"payment-step-badge error\"\n gap=\"1\"\n >\n <wui-icon name=\"close\" color=\"error\" size=\"xs\"></wui-icon>\n <wui-text variant=\"sm-regular\" color=\"error\">Failed</wui-text>\n </wui-flex>\n `;\n }\n if (hasTransactionSucceeded) {\n return html `\n <wui-flex\n justifyContent=\"center\"\n alignItems=\"center\"\n class=\"payment-step-badge success\"\n gap=\"1\"\n >\n <wui-icon name=\"checkmark\" color=\"success\" size=\"xs\"></wui-icon>\n <wui-text variant=\"sm-regular\" color=\"success\">Completed</wui-text>\n </wui-flex>\n `;\n }\n const timeEstimate = this.quote?.timeInSeconds ?? 0;\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\" gap=\"3\">\n <wui-flex\n justifyContent=\"center\"\n alignItems=\"center\"\n class=\"payment-step-badge loading\"\n gap=\"1\"\n >\n <wui-icon name=\"clock\" color=\"default\" size=\"xs\"></wui-icon>\n <wui-text variant=\"sm-regular\" color=\"primary\">Est. ${timeEstimate} sec</wui-text>\n </wui-flex>\n\n <wui-icon name=\"chevronBottom\" color=\"default\" size=\"xxs\"></wui-icon>\n </wui-flex>\n `;\n }\n renderPayment() {\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => {\n const network = this.quote?.origin.currency.network;\n if (!network) {\n return false;\n }\n const { chainId } = ParseUtil.parseCaipNetworkId(network);\n return HelpersUtil.isLowerCaseMatch(net.id.toString(), chainId.toString());\n });\n const formatBigNumber = NumberUtil.formatNumber(this.quote?.origin.amount || '0', {\n decimals: this.quote?.origin.currency.metadata.decimals ?? 0\n }).toString();\n const formattedAmount = formatAmount(formatBigNumber);\n const symbol = this.quote?.origin.currency.metadata.symbol ?? 'Unknown';\n return html `\n <wui-flex\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n .padding=${['3', '0', '3', '0']}\n >\n <wui-text variant=\"lg-regular\" color=\"secondary\">Payment Method</wui-text>\n\n <wui-flex flexDirection=\"column\" alignItems=\"flex-end\" gap=\"1\">\n <wui-flex alignItems=\"center\" gap=\"01\">\n <wui-text variant=\"lg-regular\" color=\"primary\">${formattedAmount}</wui-text>\n <wui-text variant=\"lg-regular\" color=\"secondary\">${symbol}</wui-text>\n </wui-flex>\n\n <wui-flex alignItems=\"center\" gap=\"1\">\n <wui-text variant=\"md-regular\" color=\"secondary\">on</wui-text>\n <wui-image\n src=${ifDefined(AssetUtil.getNetworkImage(targetNetwork))}\n size=\"xs\"\n ></wui-image>\n <wui-text variant=\"md-regular\" color=\"secondary\">${targetNetwork?.name}</wui-text>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n `;\n }\n renderWallet() {\n return html `\n <wui-flex\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n .padding=${['3', '0', '3', '0']}\n >\n <wui-text variant=\"lg-regular\" color=\"secondary\">Wallet</wui-text>\n\n ${this.renderWalletText()}\n </wui-flex>\n `;\n }\n renderWalletText() {\n const { image } = this.getWalletProperties({ namespace: this.namespace });\n const { address } = this.caipAddress ? ParseUtil.parseCaipAddress(this.caipAddress) : {};\n const exchangeName = this.selectedExchange?.name;\n if (this.selectedExchange) {\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"flex-end\" gap=\"1\">\n <wui-text variant=\"lg-regular\" color=\"primary\">${exchangeName}</wui-text>\n <wui-image src=${ifDefined(this.selectedExchange.imageUrl)} size=\"mdl\"></wui-image>\n </wui-flex>\n `;\n }\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"flex-end\" gap=\"1\">\n <wui-text variant=\"lg-regular\" color=\"primary\">\n ${UiHelperUtil.getTruncateString({\n string: this.profileName || address || exchangeName || '',\n charsStart: this.profileName ? 16 : 4,\n charsEnd: this.profileName ? 0 : 6,\n truncate: this.profileName ? 'end' : 'middle'\n })}\n </wui-text>\n\n <wui-image src=${ifDefined(image)} size=\"mdl\"></wui-image>\n </wui-flex>\n `;\n }\n getStepsWithStatus() {\n const hasTransactionFailed = this.quoteStatus === 'failure' ||\n this.quoteStatus === 'timeout' ||\n this.quoteStatus === 'refund';\n if (hasTransactionFailed) {\n return STEPS.map(step => ({ ...step, status: 'failed' }));\n }\n return STEPS.map(step => {\n const completedStatuses = STEP_COMPLETED_STATUSES[step.id] ?? [];\n const status = completedStatuses.includes(this.quoteStatus) ? 'completed' : 'pending';\n return { ...step, status };\n });\n }\n renderStep({ title, icon, status }) {\n const classes = {\n 'step-icon-box': true,\n success: status === 'completed'\n };\n return html `\n <wui-flex alignItems=\"center\" gap=\"3\">\n <wui-flex justifyContent=\"center\" alignItems=\"center\" class=\"step-icon-container\">\n <wui-icon name=${icon} color=\"default\" size=\"mdl\"></wui-icon>\n\n <wui-flex alignItems=\"center\" justifyContent=\"center\" class=${classMap(classes)}>\n ${this.renderStatusIndicator(status)}\n </wui-flex>\n </wui-flex>\n\n <wui-text variant=\"md-regular\" color=\"primary\">${title}</wui-text>\n </wui-flex>\n `;\n }\n renderStatusIndicator(status) {\n if (status === 'completed') {\n return html `<wui-icon size=\"sm\" color=\"success\" name=\"checkmark\"></wui-icon>`;\n }\n if (status === 'failed') {\n return html `<wui-icon size=\"sm\" color=\"error\" name=\"close\"></wui-icon>`;\n }\n if (status === 'pending') {\n return html `<wui-loading-spinner color=\"accent-primary\" size=\"sm\"></wui-loading-spinner>`;\n }\n return null;\n }\n startPolling() {\n if (!this.pollingInterval) {\n this.fetchQuoteStatus();\n this.pollingInterval = setInterval(() => {\n this.fetchQuoteStatus();\n }, POLLING_INTERVAL_MS);\n }\n }\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n }\n async fetchQuoteStatus() {\n const requestId = PayController.state.requestId;\n if (!requestId || TERMINAL_STATES.includes(this.quoteStatus)) {\n this.stopPolling();\n }\n else {\n try {\n await PayController.fetchQuoteStatus({ requestId });\n if (TERMINAL_STATES.includes(this.quoteStatus)) {\n this.stopPolling();\n }\n }\n catch {\n this.stopPolling();\n }\n }\n }\n initializeNamespace() {\n const namespace = ChainController.state.activeChain;\n this.namespace = namespace;\n this.caipAddress = ChainController.getAccountData(namespace)?.caipAddress;\n this.profileName = ChainController.getAccountData(namespace)?.profileName ?? null;\n this.unsubscribe.push(ChainController.subscribeChainProp('accountState', accountState => {\n this.caipAddress = accountState?.caipAddress;\n this.profileName = accountState?.profileName ?? null;\n }, namespace));\n }\n getWalletProperties({ namespace }) {\n if (!namespace) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorId = this.activeConnectorIds[namespace];\n if (!connectorId) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connector = ConnectorController.getConnector({ id: connectorId, namespace });\n if (!connector) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorImage = AssetUtil.getConnectorImage(connector);\n return {\n name: connector.name,\n image: connectorImage\n };\n }\n};\nW3mPayLoadingView.styles = styles;\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"paymentAsset\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"quoteStatus\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"quote\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"amount\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"namespace\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"activeConnectorIds\", void 0);\n__decorate([\n state()\n], W3mPayLoadingView.prototype, \"selectedExchange\", void 0);\nW3mPayLoadingView = __decorate([\n customElement('w3m-pay-loading-view')\n], W3mPayLoadingView);\nexport { W3mPayLoadingView };\n//# sourceMappingURL=index.js.map","import { css } from 'lit';\nexport default css `\n :host {\n display: block;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-shimmer';\nimport '@reown/appkit-ui/wui-text';\nimport styles from './styles.js';\nlet W3mPayFeesSkeleton = class W3mPayFeesSkeleton extends LitElement {\n render() {\n return html `\n <wui-flex flexDirection=\"column\" gap=\"4\">\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">Pay</wui-text>\n <wui-shimmer width=\"60px\" height=\"16px\" borderRadius=\"4xs\" variant=\"light\"></wui-shimmer>\n </wui-flex>\n\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">Network Fee</wui-text>\n\n <wui-flex flexDirection=\"column\" alignItems=\"flex-end\" gap=\"2\">\n <wui-shimmer\n width=\"75px\"\n height=\"16px\"\n borderRadius=\"4xs\"\n variant=\"light\"\n ></wui-shimmer>\n\n <wui-flex alignItems=\"center\" gap=\"01\">\n <wui-shimmer width=\"14px\" height=\"14px\" rounded variant=\"light\"></wui-shimmer>\n <wui-shimmer\n width=\"49px\"\n height=\"14px\"\n borderRadius=\"4xs\"\n variant=\"light\"\n ></wui-shimmer>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">Service Fee</wui-text>\n <wui-shimmer width=\"75px\" height=\"16px\" borderRadius=\"4xs\" variant=\"light\"></wui-shimmer>\n </wui-flex>\n </wui-flex>\n `;\n }\n};\nW3mPayFeesSkeleton.styles = [styles];\nW3mPayFeesSkeleton = __decorate([\n customElement('w3m-pay-fees-skeleton')\n], W3mPayFeesSkeleton);\nexport { W3mPayFeesSkeleton };\n//# sourceMappingURL=index.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n :host {\n display: block;\n }\n\n wui-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { NumberUtil } from '@reown/appkit-common';\nimport { AssetUtil, ChainController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-image';\nimport '@reown/appkit-ui/wui-text';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { PayController } from '../../controllers/PayController.js';\nimport styles from './styles.js';\nlet W3mPayFees = class W3mPayFees extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.quote = PayController.state.quote;\n this.unsubscribe.push(PayController.subscribeKey('quote', val => (this.quote = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const amount = NumberUtil.formatNumber(this.quote?.origin.amount || '0', {\n decimals: this.quote?.origin.currency.metadata.decimals ?? 0,\n round: 6\n }).toString();\n return html `\n <wui-flex flexDirection=\"column\" gap=\"4\">\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">Pay</wui-text>\n <wui-text variant=\"md-regular\" color=\"primary\">\n ${amount} ${this.quote?.origin.currency.metadata.symbol || 'Unknown'}\n </wui-text>\n </wui-flex>\n\n ${this.quote && this.quote.fees.length > 0\n ? this.quote.fees.map(fee => this.renderFee(fee))\n : null}\n </wui-flex>\n `;\n }\n renderFee(fee) {\n const isNetworkFee = fee.id === 'network';\n const feeAmount = NumberUtil.formatNumber(fee.amount || '0', {\n decimals: fee.currency.metadata.decimals ?? 0,\n round: 6\n }).toString();\n if (isNetworkFee) {\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => HelpersUtil.isLowerCaseMatch(net.caipNetworkId, fee.currency.network));\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">${fee.label}</wui-text>\n\n <wui-flex flexDirection=\"column\" alignItems=\"flex-end\" gap=\"2\">\n <wui-text variant=\"md-regular\" color=\"primary\">\n ${feeAmount} ${fee.currency.metadata.symbol || 'Unknown'}\n </wui-text>\n\n <wui-flex alignItems=\"center\" gap=\"01\">\n <wui-image\n src=${ifDefined(AssetUtil.getNetworkImage(targetNetwork))}\n size=\"xs\"\n ></wui-image>\n <wui-text variant=\"sm-regular\" color=\"secondary\">\n ${targetNetwork?.name || 'Unknown'}\n </wui-text>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n `;\n }\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-text variant=\"md-regular\" color=\"secondary\">${fee.label}</wui-text>\n <wui-text variant=\"md-regular\" color=\"primary\">\n ${feeAmount} ${fee.currency.metadata.symbol || 'Unknown'}\n </wui-text>\n </wui-flex>\n `;\n }\n};\nW3mPayFees.styles = [styles];\n__decorate([\n state()\n], W3mPayFees.prototype, \"quote\", void 0);\nW3mPayFees = __decorate([\n customElement('w3m-pay-fees')\n], W3mPayFees);\nexport { W3mPayFees };\n//# sourceMappingURL=index.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n :host {\n display: block;\n width: 100%;\n }\n\n .disabled-container {\n padding: ${({ spacing }) => spacing[2]};\n min-height: 168px;\n }\n\n wui-icon {\n width: ${({ spacing }) => spacing[8]};\n height: ${({ spacing }) => spacing[8]};\n }\n\n wui-flex > wui-text {\n max-width: 273px;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-button';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-icon';\nimport '@reown/appkit-ui/wui-text';\nimport { PayController } from '../../controllers/PayController.js';\nimport styles from './styles.js';\nlet W3mPayOptionsEmpty = class W3mPayOptionsEmpty extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.selectedExchange = PayController.state.selectedExchange;\n this.unsubscribe.push(PayController.subscribeKey('selectedExchange', val => (this.selectedExchange = val)));\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n render() {\n const isUsingExchange = Boolean(this.selectedExchange);\n return html `\n <wui-flex\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"3\"\n class=\"disabled-container\"\n >\n <wui-icon name=\"coins\" color=\"default\" size=\"inherit\"></wui-icon>\n\n <wui-text variant=\"md-regular\" color=\"primary\" align=\"center\">\n You don't have enough funds to complete this transaction\n </wui-text>\n\n ${isUsingExchange\n ? null\n : html `<wui-button\n size=\"md\"\n variant=\"neutral-secondary\"\n @click=${this.dispatchConnectOtherWalletEvent.bind(this)}\n >Connect other wallet</wui-button\n >`}\n </wui-flex>\n `;\n }\n dispatchConnectOtherWalletEvent() {\n this.dispatchEvent(new CustomEvent('connectOtherWallet', {\n detail: true,\n bubbles: true,\n composed: true\n }));\n }\n};\nW3mPayOptionsEmpty.styles = [styles];\n__decorate([\n property({ type: Array })\n], W3mPayOptionsEmpty.prototype, \"selectedExchange\", void 0);\nW3mPayOptionsEmpty = __decorate([\n customElement('w3m-pay-options-empty')\n], W3mPayOptionsEmpty);\nexport { W3mPayOptionsEmpty };\n//# sourceMappingURL=index.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n :host {\n display: block;\n width: 100%;\n }\n\n .pay-options-container {\n max-height: 196px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n }\n\n .pay-options-container::-webkit-scrollbar {\n display: none;\n }\n\n .pay-option-container {\n border-radius: ${({ borderRadius }) => borderRadius[4]};\n padding: ${({ spacing }) => spacing[3]};\n min-height: 60px;\n }\n\n .token-images-container {\n position: relative;\n justify-content: center;\n align-items: center;\n }\n\n .chain-image {\n position: absolute;\n bottom: -3px;\n right: -5px;\n border: 2px solid ${({ tokens }) => tokens.theme.foregroundSecondary};\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-shimmer';\nimport styles from './styles.js';\nlet W3mPayOptionsSkeleton = class W3mPayOptionsSkeleton extends LitElement {\n render() {\n return html `\n <wui-flex flexDirection=\"column\" gap=\"2\" class=\"pay-options-container\">\n ${this.renderOptionEntry()} ${this.renderOptionEntry()} ${this.renderOptionEntry()}\n </wui-flex>\n `;\n }\n renderOptionEntry() {\n return html `\n <wui-flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"2\"\n class=\"pay-option-container\"\n >\n <wui-flex alignItems=\"center\" gap=\"2\">\n <wui-flex class=\"token-images-container\">\n <wui-shimmer\n width=\"32px\"\n height=\"32px\"\n rounded\n variant=\"light\"\n class=\"token-image\"\n ></wui-shimmer>\n <wui-shimmer\n width=\"16px\"\n height=\"16px\"\n rounded\n variant=\"light\"\n class=\"chain-image\"\n ></wui-shimmer>\n </wui-flex>\n\n <wui-flex flexDirection=\"column\" gap=\"1\">\n <wui-shimmer\n width=\"74px\"\n height=\"16px\"\n borderRadius=\"4xs\"\n variant=\"light\"\n ></wui-shimmer>\n <wui-shimmer\n width=\"46px\"\n height=\"14px\"\n borderRadius=\"4xs\"\n variant=\"light\"\n ></wui-shimmer>\n </wui-flex>\n </wui-flex>\n </wui-flex>\n `;\n }\n};\nW3mPayOptionsSkeleton.styles = [styles];\nW3mPayOptionsSkeleton = __decorate([\n customElement('w3m-pay-options-skeleton')\n], W3mPayOptionsSkeleton);\nexport { W3mPayOptionsSkeleton };\n//# sourceMappingURL=index.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n :host {\n display: block;\n width: 100%;\n }\n\n .pay-options-container {\n max-height: 196px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n mask-image: var(--options-mask-image);\n -webkit-mask-image: var(--options-mask-image);\n }\n\n .pay-options-container::-webkit-scrollbar {\n display: none;\n }\n\n .pay-option-container {\n cursor: pointer;\n border-radius: ${({ borderRadius }) => borderRadius[4]};\n padding: ${({ spacing }) => spacing[3]};\n transition: background-color ${({ durations }) => durations['lg']}\n ${({ easings }) => easings['ease-out-power-1']};\n will-change: background-color;\n }\n\n .token-images-container {\n position: relative;\n justify-content: center;\n align-items: center;\n }\n\n .token-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n width: 32px;\n height: 32px;\n }\n\n .chain-image {\n position: absolute;\n width: 16px;\n height: 16px;\n bottom: -3px;\n right: -5px;\n border-radius: ${({ borderRadius }) => borderRadius.round};\n border: 2px solid ${({ tokens }) => tokens.theme.backgroundPrimary};\n }\n\n @media (hover: hover) and (pointer: fine) {\n .pay-option-container:hover {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { NumberUtil } from '@reown/appkit-common';\nimport { AssetUtil, ChainController } from '@reown/appkit-controllers';\nimport { MathUtil, customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-text';\nimport styles from './styles.js';\nconst SCROLL_THRESHOLD = 300;\nlet W3mPayOptions = class W3mPayOptions extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.options = [];\n this.selectedPaymentAsset = null;\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.resizeObserver?.disconnect();\n const optionsEl = this.shadowRoot?.querySelector('.pay-options-container');\n optionsEl?.removeEventListener('scroll', this.handleOptionsListScroll.bind(this));\n }\n firstUpdated() {\n const optionsEl = this.shadowRoot?.querySelector('.pay-options-container');\n if (optionsEl) {\n requestAnimationFrame(this.handleOptionsListScroll.bind(this));\n optionsEl?.addEventListener('scroll', this.handleOptionsListScroll.bind(this));\n this.resizeObserver = new ResizeObserver(() => {\n this.handleOptionsListScroll();\n });\n this.resizeObserver?.observe(optionsEl);\n this.handleOptionsListScroll();\n }\n }\n render() {\n return html `\n <wui-flex flexDirection=\"column\" gap=\"2\" class=\"pay-options-container\">\n ${this.options.map(option => this.payOptionTemplate(option))}\n </wui-flex>\n `;\n }\n payOptionTemplate(paymentAsset) {\n const { network, metadata, asset, amount = '0' } = paymentAsset;\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n const targetNetwork = allNetworks.find(net => net.caipNetworkId === network);\n const paymentCaipAddress = `${network}:${asset}`;\n const selectedPaymentCaipAddress = `${this.selectedPaymentAsset?.network}:${this.selectedPaymentAsset?.asset}`;\n const isSelected = paymentCaipAddress === selectedPaymentCaipAddress;\n const bigAmount = NumberUtil.bigNumber(amount, { safe: true });\n const hasEnoughBalance = bigAmount.gt(0);\n return html `\n <wui-flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"2\"\n @click=${() => this.onSelect?.(paymentAsset)}\n class=\"pay-option-container\"\n >\n <wui-flex alignItems=\"center\" gap=\"2\">\n <wui-flex class=\"token-images-container\">\n <wui-image\n src=${ifDefined(metadata.logoURI)}\n class=\"token-image\"\n size=\"3xl\"\n ></wui-image>\n <wui-image\n src=${ifDefined(AssetUtil.getNetworkImage(targetNetwork))}\n class=\"chain-image\"\n size=\"md\"\n ></wui-image>\n </wui-flex>\n\n <wui-flex flexDirection=\"column\" gap=\"1\">\n <wui-text variant=\"lg-regular\" color=\"primary\">${metadata.symbol}</wui-text>\n ${hasEnoughBalance\n ? html `<wui-text variant=\"sm-regular\" color=\"secondary\">\n ${bigAmount.round(6).toString()} ${metadata.symbol}\n </wui-text>`\n : null}\n </wui-flex>\n </wui-flex>\n\n ${isSelected\n ? html `<wui-icon name=\"checkmark\" size=\"md\" color=\"success\"></wui-icon>`\n : null}\n </wui-flex>\n `;\n }\n handleOptionsListScroll() {\n const optionsEl = this.shadowRoot?.querySelector('.pay-options-container');\n if (!optionsEl) {\n return;\n }\n const shouldApplyMask = optionsEl.scrollHeight > SCROLL_THRESHOLD;\n if (shouldApplyMask) {\n optionsEl.style.setProperty('--options-mask-image', `linear-gradient(\n to bottom,\n rgba(0, 0, 0, calc(1 - var(--options-scroll--top-opacity))) 0px,\n rgba(200, 200, 200, calc(1 - var(--options-scroll--top-opacity))) 1px,\n black 50px,\n black calc(100% - 50px),\n rgba(155, 155, 155, calc(1 - var(--options-scroll--bottom-opacity))) calc(100% - 1px),\n rgba(0, 0, 0, calc(1 - var(--options-scroll--bottom-opacity))) 100%\n )`);\n optionsEl.style.setProperty('--options-scroll--top-opacity', MathUtil.interpolate([0, 50], [0, 1], optionsEl.scrollTop).toString());\n optionsEl.style.setProperty('--options-scroll--bottom-opacity', MathUtil.interpolate([0, 50], [0, 1], optionsEl.scrollHeight - optionsEl.scrollTop - optionsEl.offsetHeight).toString());\n }\n else {\n optionsEl.style.setProperty('--options-mask-image', 'none');\n optionsEl.style.setProperty('--options-scroll--top-opacity', '0');\n optionsEl.style.setProperty('--options-scroll--bottom-opacity', '0');\n }\n }\n};\nW3mPayOptions.styles = [styles];\n__decorate([\n property({ type: Array })\n], W3mPayOptions.prototype, \"options\", void 0);\n__decorate([\n property()\n], W3mPayOptions.prototype, \"selectedPaymentAsset\", void 0);\n__decorate([\n property()\n], W3mPayOptions.prototype, \"onSelect\", void 0);\nW3mPayOptions = __decorate([\n customElement('w3m-pay-options')\n], W3mPayOptions);\nexport { W3mPayOptions };\n//# sourceMappingURL=index.js.map","import { css } from '@reown/appkit-ui';\nexport default css `\n .payment-methods-container {\n background-color: ${({ tokens }) => tokens.theme.foregroundPrimary};\n border-top-right-radius: ${({ borderRadius }) => borderRadius[5]};\n border-top-left-radius: ${({ borderRadius }) => borderRadius[5]};\n }\n\n .pay-options-container {\n background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};\n border-radius: ${({ borderRadius }) => borderRadius[5]};\n padding: ${({ spacing }) => spacing[1]};\n }\n\n w3m-tooltip-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: fit-content;\n }\n\n wui-image {\n border-radius: ${({ borderRadius }) => borderRadius.round};\n }\n\n w3m-pay-options.disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { NumberUtil, ParseUtil } from '@reown/appkit-common';\nimport { AssetUtil, ChainController, ConnectorController, CoreHelperUtil, ModalController, RouterController, SnackController } from '@reown/appkit-controllers';\nimport { customElement } from '@reown/appkit-ui';\nimport '@reown/appkit-ui/wui-flex';\nimport '@reown/appkit-ui/wui-text';\nimport '@reown/appkit-ui/wui-wallet-switch';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { PayController } from '../../controllers/PayController.js';\nimport '../../partials/w3m-pay-fees-skeleton/index.js';\nimport '../../partials/w3m-pay-fees/index.js';\nimport '../../partials/w3m-pay-options-empty/index.js';\nimport '../../partials/w3m-pay-options-skeleton/index.js';\nimport '../../partials/w3m-pay-options/index.js';\nimport { formatAmount, formatBalanceToPaymentAsset } from '../../utils/AssetUtil.js';\nimport { getTransactionsSteps, getTransferStep } from '../../utils/PaymentUtil.js';\nimport styles from './styles.js';\nconst NAMESPACE_ICONS = {\n eip155: 'ethereum',\n solana: 'solana',\n bip122: 'bitcoin',\n ton: 'ton'\n};\nconst NAMESPACE_LABELS = {\n eip155: { icon: NAMESPACE_ICONS.eip155, label: 'EVM' },\n solana: { icon: NAMESPACE_ICONS.solana, label: 'Solana' },\n bip122: { icon: NAMESPACE_ICONS.bip122, label: 'Bitcoin' },\n ton: { icon: NAMESPACE_ICONS.ton, label: 'Ton' }\n};\nlet W3mPayQuoteView = class W3mPayQuoteView extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.profileName = null;\n this.paymentAsset = PayController.state.paymentAsset;\n this.namespace = undefined;\n this.caipAddress = undefined;\n this.amount = PayController.state.amount;\n this.recipient = PayController.state.recipient;\n this.activeConnectorIds = ConnectorController.state.activeConnectorIds;\n this.selectedPaymentAsset = PayController.state.selectedPaymentAsset;\n this.selectedExchange = PayController.state.selectedExchange;\n this.isFetchingQuote = PayController.state.isFetchingQuote;\n this.quoteError = PayController.state.quoteError;\n this.quote = PayController.state.quote;\n this.isFetchingTokenBalances = PayController.state.isFetchingTokenBalances;\n this.tokenBalances = PayController.state.tokenBalances;\n this.isPaymentInProgress = PayController.state.isPaymentInProgress;\n this.exchangeUrlForQuote = PayController.state.exchangeUrlForQuote;\n this.completedTransactionsCount = 0;\n this.unsubscribe.push(PayController.subscribeKey('paymentAsset', val => (this.paymentAsset = val)));\n this.unsubscribe.push(PayController.subscribeKey('tokenBalances', val => this.onTokenBalancesChanged(val)));\n this.unsubscribe.push(PayController.subscribeKey('isFetchingTokenBalances', val => (this.isFetchingTokenBalances = val)));\n this.unsubscribe.push(ConnectorController.subscribeKey('activeConnectorIds', newActiveConnectorIds => (this.activeConnectorIds = newActiveConnectorIds)));\n this.unsubscribe.push(PayController.subscribeKey('selectedPaymentAsset', val => (this.selectedPaymentAsset = val)));\n this.unsubscribe.push(PayController.subscribeKey('isFetchingQuote', val => (this.isFetchingQuote = val)));\n this.unsubscribe.push(PayController.subscribeKey('quoteError', val => (this.quoteError = val)));\n this.unsubscribe.push(PayController.subscribeKey('quote', val => (this.quote = val)));\n this.unsubscribe.push(PayController.subscribeKey('amount', val => (this.amount = val)));\n this.unsubscribe.push(PayController.subscribeKey('recipient', val => (this.recipient = val)));\n this.unsubscribe.push(PayController.subscribeKey('isPaymentInProgress', val => (this.isPaymentInProgress = val)));\n this.unsubscribe.push(PayController.subscribeKey('selectedExchange', val => (this.selectedExchange = val)));\n this.unsubscribe.push(PayController.subscribeKey('exchangeUrlForQuote', val => (this.exchangeUrlForQuote = val)));\n this.resetQuoteState();\n this.initializeNamespace();\n this.fetchTokens();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resetAssetsState();\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n const shouldFetchQuote = changedProperties.has('selectedPaymentAsset');\n if (shouldFetchQuote) {\n this.fetchQuote();\n }\n }\n render() {\n return html `\n <wui-flex flexDirection=\"column\">\n ${this.profileTemplate()}\n\n <wui-flex\n flexDirection=\"column\"\n gap=\"4\"\n class=\"payment-methods-container\"\n .padding=${['4', '4', '5', '4']}\n >\n ${this.paymentOptionsViewTemplate()} ${this.amountWithFeeTemplate()}\n\n <wui-flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n .padding=${['1', '0', '1', '0']}\n >\n <wui-separator></wui-separator>\n </wui-flex>\n\n ${this.paymentActionsTemplate()}\n </wui-flex>\n </wui-flex>\n `;\n }\n profileTemplate() {\n if (this.selectedExchange) {\n const amount = NumberUtil.formatNumber(this.quote?.origin.amount, {\n decimals: this.quote?.origin.currency.metadata.decimals ?? 0\n }).toString();\n return html `\n <wui-flex\n .padding=${['4', '3', '4', '3']}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"2\"\n >\n <wui-text variant=\"lg-regular\" color=\"secondary\">Paying with</wui-text>\n\n ${this.quote\n ? html `<wui-text variant=\"lg-regular\" color=\"primary\">\n ${NumberUtil.bigNumber(amount, { safe: true }).round(6).toString()}\n ${this.quote.origin.currency.metadata.symbol}\n </wui-text>`\n : html `<wui-shimmer width=\"80px\" height=\"18px\" variant=\"light\"></wui-shimmer>`}\n </wui-flex>\n `;\n }\n const address = CoreHelperUtil.getPlainAddress(this.caipAddress) ?? '';\n const { name, image } = this.getWalletProperties({ namespace: this.namespace });\n const { icon: chainIcon, label: chainLabel } = NAMESPACE_LABELS[this.namespace] ?? {};\n return html `\n <wui-flex\n .padding=${['4', '3', '4', '3']}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"2\"\n >\n <wui-wallet-switch\n profileName=${ifDefined(this.profileName)}\n address=${ifDefined(address)}\n imageSrc=${ifDefined(image)}\n alt=${ifDefined(name)}\n @click=${this.onConnectOtherWallet.bind(this)}\n data-testid=\"wui-wallet-switch\"\n ></wui-wallet-switch>\n\n <wui-wallet-switch\n profileName=${ifDefined(chainLabel)}\n address=${ifDefined(address)}\n icon=${ifDefined(chainIcon)}\n iconSize=\"xs\"\n .enableGreenCircle=${false}\n alt=${ifDefined(chainLabel)}\n @click=${this.onConnectOtherWallet.bind(this)}\n data-testid=\"wui-wallet-switch\"\n ></wui-wallet-switch>\n </wui-flex>\n `;\n }\n initializeNamespace() {\n const namespace = ChainController.state.activeChain;\n this.namespace = namespace;\n this.caipAddress = ChainController.getAccountData(namespace)?.caipAddress;\n this.profileName = ChainController.getAccountData(namespace)?.profileName ?? null;\n this.unsubscribe.push(ChainController.subscribeChainProp('accountState', accountState => this.onAccountStateChanged(accountState), namespace));\n }\n async fetchTokens() {\n if (this.namespace) {\n let caipNetwork = undefined;\n if (this.caipAddress) {\n const { chainId, chainNamespace } = ParseUtil.parseCaipAddress(this.caipAddress);\n const caipNetworkId = `${chainNamespace}:${chainId}`;\n const allNetworks = ChainController.getAllRequestedCaipNetworks();\n caipNetwork = allNetworks.find(net => net.caipNetworkId === caipNetworkId);\n }\n await PayController.fetchTokens({\n caipAddress: this.caipAddress,\n caipNetwork,\n namespace: this.namespace\n });\n }\n }\n fetchQuote() {\n if (this.amount && this.recipient && this.selectedPaymentAsset && this.paymentAsset) {\n const { address } = this.caipAddress ? ParseUtil.parseCaipAddress(this.caipAddress) : {};\n PayController.fetchQuote({\n amount: this.amount.toString(),\n address,\n sourceToken: this.selectedPaymentAsset,\n toToken: this.paymentAsset,\n recipient: this.recipient\n });\n }\n }\n getWalletProperties({ namespace }) {\n if (!namespace) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorId = this.activeConnectorIds[namespace];\n if (!connectorId) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connector = ConnectorController.getConnector({ id: connectorId, namespace });\n if (!connector) {\n return {\n name: undefined,\n image: undefined\n };\n }\n const connectorImage = AssetUtil.getConnectorImage(connector);\n return {\n name: connector.name,\n image: connectorImage\n };\n }\n paymentOptionsViewTemplate() {\n return html `\n <wui-flex flexDirection=\"column\" gap=\"2\">\n <wui-text variant=\"sm-regular\" color=\"secondary\">CHOOSE PAYMENT OPTION</wui-text>\n <wui-flex class=\"pay-options-container\">${this.paymentOptionsTemplate()}</wui-flex>\n </wui-flex>\n `;\n }\n paymentOptionsTemplate() {\n const paymentAssets = this.getPaymentAssetFromTokenBalances();\n if (this.isFetchingTokenBalances) {\n return html `<w3m-pay-options-skeleton></w3m-pay-options-skeleton>`;\n }\n if (paymentAssets.length === 0) {\n return html `<w3m-pay-options-empty\n @connectOtherWallet=${this.onConnectOtherWallet.bind(this)}\n ></w3m-pay-options-empty>`;\n }\n const classes = {\n disabled: this.isFetchingQuote\n };\n return html `<w3m-pay-options\n class=${classMap(classes)}\n .options=${paymentAssets}\n .selectedPaymentAsset=${ifDefined(this.selectedPaymentAsset)}\n .onSelect=${this.onSelectedPaymentAssetChanged.bind(this)}\n ></w3m-pay-options>`;\n }\n amountWithFeeTemplate() {\n if (this.isFetchingQuote || !this.selectedPaymentAsset || this.quoteError) {\n return html `<w3m-pay-fees-skeleton></w3m-pay-fees-skeleton>`;\n }\n return html `<w3m-pay-fees></w3m-pay-fees>`;\n }\n paymentActionsTemplate() {\n const isLoading = this.isFetchingQuote || this.isFetchingTokenBalances;\n const isDisabled = this.isFetchingQuote ||\n this.isFetchingTokenBalances ||\n !this.selectedPaymentAsset ||\n Boolean(this.quoteError);\n const amount = NumberUtil.formatNumber(this.quote?.origin.amount ?? 0, {\n decimals: this.quote?.origin.currency.metadata.decimals ?? 0\n }).toString();\n if (this.selectedExchange) {\n if (isLoading || isDisabled) {\n return html `\n <wui-shimmer width=\"100%\" height=\"48px\" variant=\"light\" ?rounded=${true}></wui-shimmer>\n `;\n }\n return html `<wui-button\n size=\"lg\"\n fullWidth\n variant=\"accent-secondary\"\n @click=${this.onPayWithExchange.bind(this)}\n >\n ${`Continue in ${this.selectedExchange.name}`}\n\n <wui-icon name=\"arrowRight\" color=\"inherit\" size=\"sm\" slot=\"iconRight\"></wui-icon>\n </wui-button>`;\n }\n return html `\n <wui-flex alignItems=\"center\" justifyContent=\"space-between\">\n <wui-flex flexDirection=\"column\" gap=\"1\">\n <wui-text variant=\"md-regular\" color=\"secondary\">Order Total</wui-text>\n\n ${isLoading || isDisabled\n ? html `<wui-shimmer width=\"58px\" height=\"32px\" variant=\"light\"></wui-shimmer>`\n : html `<wui-flex alignItems=\"center\" gap=\"01\">\n <wui-text variant=\"h4-regular\" color=\"primary\">${formatAmount(amount)}</wui-text>\n\n <wui-text variant=\"lg-regular\" color=\"secondary\">\n ${this.quote?.origin.currency.metadata.symbol || 'Unknown'}\n </wui-text>\n </wui-flex>`}\n </wui-flex>\n\n ${this.actionButtonTemplate({ isLoading, isDisabled })}\n </wui-flex>\n `;\n }\n actionButtonTemplate(params) {\n const allTransactionSteps = getTransactionsSteps(this.quote);\n const { isLoading, isDisabled } = params;\n let label = 'Pay';\n const isApprovalRequired = allTransactionSteps.length > 1 && this.completedTransactionsCount === 0;\n if (isApprovalRequired) {\n label = 'Approve';\n }\n return html `\n <wui-button\n size=\"lg\"\n variant=\"accent-primary\"\n ?loading=${isLoading || this.isPaymentInProgress}\n ?disabled=${isDisabled || this.isPaymentInProgress}\n @click=${() => {\n if (allTransactionSteps.length > 0) {\n this.onSendTransactions();\n }\n else {\n this.onTransfer();\n }\n }}\n >\n ${label}\n ${isLoading\n ? null\n : html `<wui-icon\n name=\"arrowRight\"\n color=\"inherit\"\n size=\"sm\"\n slot=\"iconRight\"\n ></wui-icon>`}\n </wui-button>\n `;\n }\n getPaymentAssetFromTokenBalances() {\n if (!this.namespace) {\n return [];\n }\n const balances = this.tokenBalances[this.namespace] ?? [];\n const paymentOptionsWithFormattedBalances = balances\n .map(balance => {\n try {\n return formatBalanceToPaymentAsset(balance);\n }\n catch (err) {\n return null;\n }\n })\n .filter((option) => Boolean(option));\n const paymentOptionsToShow = paymentOptionsWithFormattedBalances.filter(option => {\n const { chainId: optionChainId } = ParseUtil.parseCaipNetworkId(option.network);\n const { chainId: paymentAssetChainId } = ParseUtil.parseCaipNetworkId(this.paymentAsset.network);\n if (HelpersUtil.isLowerCaseMatch(option.asset, this.paymentAsset.asset)) {\n return true;\n }\n if (this.selectedExchange) {\n return !HelpersUtil.isLowerCaseMatch(optionChainId.toString(), paymentAssetChainId.toString());\n }\n return true;\n });\n return paymentOptionsToShow;\n }\n onTokenBalancesChanged(tokenBalances) {\n this.tokenBalances = tokenBalances;\n const [paymentAsset] = this.getPaymentAssetFromTokenBalances();\n if (paymentAsset) {\n PayController.setSelectedPaymentAsset(paymentAsset);\n }\n }\n async onConnectOtherWallet() {\n await ConnectorController.connect();\n await ModalController.open({ view: 'PayQuote' });\n }\n onAccountStateChanged(accountState) {\n const { address: oldAddress } = this.caipAddress\n ? ParseUtil.parseCaipAddress(this.caipAddress)\n : {};\n this.caipAddress = accountState?.caipAddress;\n this.profileName = accountState?.profileName ?? null;\n if (oldAddress) {\n const { address: newAddress } = this.caipAddress\n ? ParseUtil.parseCaipAddress(this.caipAddress)\n : {};\n if (!newAddress) {\n ModalController.close();\n }\n else if (!HelpersUtil.isLowerCaseMatch(newAddress, oldAddress)) {\n this.resetAssetsState();\n this.resetQuoteState();\n this.fetchTokens();\n }\n }\n }\n onSelectedPaymentAssetChanged(paymentAsset) {\n if (!this.isFetchingQuote) {\n PayController.setSelectedPaymentAsset(paymentAsset);\n }\n }\n async onTransfer() {\n const transferStep = getTransferStep(this.quote);\n if (transferStep) {\n const isQuoteAssetSameAsSelectedPaymentAsset = HelpersUtil.isLowerCaseMatch(this.selectedPaymentAsset?.asset, transferStep.deposit.currency);\n if (!isQuoteAssetSameAsSelectedPaymentAsset) {\n throw new Error('Quote asset is not the same as the selected payment asset');\n }\n const currentAmount = this.selectedPaymentAsset?.amount ?? '0';\n const amountToTransfer = NumberUtil.formatNumber(transferStep.deposit.amount, {\n decimals: this.selectedPaymentAsset?.metadata.decimals ?? 0\n }).toString();\n const hasEnoughFunds = NumberUtil.bigNumber(currentAmount).gte(amountToTransfer);\n if (!hasEnoughFunds) {\n SnackController.showError('Insufficient funds');\n return;\n }\n if (this.quote && this.selectedPaymentAsset && this.caipAddress && this.namespace) {\n const { address: fromAddress } = ParseUtil.parseCaipAddress(this.caipAddress);\n await PayController.onTransfer({\n chainNamespace: this.namespace,\n fromAddress,\n toAddress: transferStep.deposit.receiver,\n amount: amountToTransfer,\n paymentAsset: this.selectedPaymentAsset\n });\n PayController.setRequestId(transferStep.requestId);\n RouterController.push('PayLoading');\n }\n }\n }\n async onSendTransactions() {\n const currentAmount = this.selectedPaymentAsset?.amount ?? '0';\n const amountToSwap = NumberUtil.formatNumber(this.quote?.origin.amount ?? 0, {\n decimals: this.selectedPaymentAsset?.metadata.decimals ?? 0\n }).toString();\n const hasEnoughFunds = NumberUtil.bigNumber(currentAmount).gte(amountToSwap);\n if (!hasEnoughFunds) {\n SnackController.showError('Insufficient funds');\n return;\n }\n const allTransactionSteps = getTransactionsSteps(this.quote);\n const [transactionStep] = getTransactionsSteps(this.quote, this.completedTransactionsCount);\n if (transactionStep && this.namespace) {\n await PayController.onSendTransaction({\n namespace: this.namespace,\n transactionStep\n });\n this.completedTransactionsCount += 1;\n const hasCompletedAllTransactions = this.completedTransactionsCount === allTransactionSteps.length;\n if (hasCompletedAllTransactions) {\n PayController.setRequestId(transactionStep.requestId);\n RouterController.push('PayLoading');\n }\n }\n }\n onPayWithExchange() {\n if (this.exchangeUrlForQuote) {\n const popupWindow = CoreHelperUtil.returnOpenHref('', 'popupWindow', 'scrollbar=yes,width=480,height=720');\n if (!popupWindow) {\n throw new Error('Could not create popup window');\n }\n popupWindow.location.href = this.exchangeUrlForQuote;\n const transactionStep = getTransferStep(this.quote);\n if (transactionStep) {\n PayController.setRequestId(transactionStep.requestId);\n }\n PayController.initiatePayment();\n RouterController.push('PayLoading');\n }\n }\n resetAssetsState() {\n PayController.setSelectedPaymentAsset(null);\n }\n resetQuoteState() {\n PayController.resetQuoteState();\n }\n};\nW3mPayQuoteView.styles = styles;\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"profileName\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"paymentAsset\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"namespace\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"amount\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"recipient\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"activeConnectorIds\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"selectedPaymentAsset\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"selectedExchange\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"isFetchingQuote\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"quoteError\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"quote\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"isFetchingTokenBalances\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"tokenBalances\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"isPaymentInProgress\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"exchangeUrlForQuote\", void 0);\n__decorate([\n state()\n], W3mPayQuoteView.prototype, \"completedTransactionsCount\", void 0);\nW3mPayQuoteView = __decorate([\n customElement('w3m-pay-quote-view')\n], W3mPayQuoteView);\nexport { W3mPayQuoteView };\n//# sourceMappingURL=index.js.map","import { PayController } from './controllers/PayController.js';\nimport { AppKitPayError, AppKitPayErrorCodes } from './types/errors.js';\nconst PAYMENT_TIMEOUT_MS = 300000;\nexport async function openPay(options) {\n return PayController.handleOpenPay(options);\n}\nexport async function pay(options, timeoutMs = PAYMENT_TIMEOUT_MS) {\n if (timeoutMs <= 0) {\n throw new AppKitPayError(AppKitPayErrorCodes.INVALID_PAYMENT_CONFIG, 'Timeout must be greater than 0');\n }\n try {\n await openPay(options);\n }\n catch (error) {\n if (error instanceof AppKitPayError) {\n throw error;\n }\n throw new AppKitPayError(AppKitPayErrorCodes.UNABLE_TO_INITIATE_PAYMENT, error.message);\n }\n return new Promise((resolve, reject) => {\n let isSettled = false;\n const timeoutId = setTimeout(() => {\n if (isSettled) {\n return;\n }\n isSettled = true;\n cleanup();\n reject(new AppKitPayError(AppKitPayErrorCodes.GENERIC_PAYMENT_ERROR, 'Payment timeout'));\n }, timeoutMs);\n function checkAndResolve() {\n if (isSettled) {\n return;\n }\n const currentPayment = PayController.state.currentPayment;\n const error = PayController.state.error;\n const isInProgress = PayController.state.isPaymentInProgress;\n if (currentPayment?.status === 'SUCCESS') {\n isSettled = true;\n cleanup();\n clearTimeout(timeoutId);\n resolve({\n success: true,\n result: currentPayment.result\n });\n return;\n }\n if (currentPayment?.status === 'FAILED') {\n isSettled = true;\n cleanup();\n clearTimeout(timeoutId);\n resolve({\n success: false,\n error: error || 'Payment failed'\n });\n return;\n }\n if (error && !isInProgress && !currentPayment) {\n isSettled = true;\n cleanup();\n clearTimeout(timeoutId);\n resolve({\n success: false,\n error\n });\n }\n }\n const unsubscribePayment = subscribeStateKey('currentPayment', checkAndResolve);\n const unsubscribeError = subscribeStateKey('error', checkAndResolve);\n const unsubscribeProgress = subscribeStateKey('isPaymentInProgress', checkAndResolve);\n const cleanup = createCleanupHandler([\n unsubscribePayment,\n unsubscribeError,\n unsubscribeProgress\n ]);\n checkAndResolve();\n });\n}\nexport function getAvailableExchanges(params) {\n return PayController.getAvailableExchanges(params);\n}\nexport function getPayUrl(exchangeId, params) {\n return PayController.getPayUrl(exchangeId, params, true);\n}\nexport function openPayUrl(exchangeId, params, openInNewTab) {\n return PayController.openPayUrl({ exchangeId, openInNewTab }, params, true);\n}\nexport function getExchanges() {\n return PayController.getExchanges();\n}\nexport function getPayResult() {\n return PayController.state.currentPayment?.result;\n}\nexport function getPayError() {\n return PayController.state.error;\n}\nexport function getIsPaymentInProgress() {\n return PayController.state.isPaymentInProgress;\n}\nexport function subscribeStateKey(key, callback) {\n return PayController.subscribeKey(key, callback);\n}\nfunction createCleanupHandler(unsubscribeFunctions) {\n return () => {\n unsubscribeFunctions.forEach(unsubscribe => {\n try {\n unsubscribe();\n }\n catch {\n }\n });\n };\n}\n//# sourceMappingURL=client.js.map","export const baseETH = {\n network: 'eip155:8453',\n asset: 'native',\n metadata: {\n name: 'Ethereum',\n symbol: 'ETH',\n decimals: 18\n }\n};\nexport const baseUSDC = {\n network: 'eip155:8453',\n asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const baseSepoliaETH = {\n network: 'eip155:84532',\n asset: 'native',\n metadata: {\n name: 'Ethereum',\n symbol: 'ETH',\n decimals: 18\n }\n};\nexport const ethereumUSDC = {\n network: 'eip155:1',\n asset: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const optimismUSDC = {\n network: 'eip155:10',\n asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const arbitrumUSDC = {\n network: 'eip155:42161',\n asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const polygonUSDC = {\n network: 'eip155:137',\n asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const solanaUSDC = {\n network: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n asset: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n metadata: {\n name: 'USD Coin',\n symbol: 'USDC',\n decimals: 6\n }\n};\nexport const ethereumUSDT = {\n network: 'eip155:1',\n asset: '0xdAC17F958D2ee523a2206206994597C13D831ec7',\n metadata: {\n name: 'Tether USD',\n symbol: 'USDT',\n decimals: 6\n }\n};\nexport const optimismUSDT = {\n network: 'eip155:10',\n asset: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58',\n metadata: {\n name: 'Tether USD',\n symbol: 'USDT',\n decimals: 6\n }\n};\nexport const arbitrumUSDT = {\n network: 'eip155:42161',\n asset: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',\n metadata: {\n name: 'Tether USD',\n symbol: 'USDT',\n decimals: 6\n }\n};\nexport const polygonUSDT = {\n network: 'eip155:137',\n asset: '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',\n metadata: {\n name: 'Tether USD',\n symbol: 'USDT',\n decimals: 6\n }\n};\nexport const solanaUSDT = {\n network: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n asset: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',\n metadata: {\n name: 'Tether USD',\n symbol: 'USDT',\n decimals: 6\n }\n};\nexport const solanaSOL = {\n network: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n asset: 'native',\n metadata: {\n name: 'Solana',\n symbol: 'SOL',\n decimals: 9\n }\n};\n//# sourceMappingURL=assets.js.map"],"names":["__decorate","this","LitElement","html","ifDefined","styles","property","getExchanges","getPayUrl","sub","subKey","state","classMap","css"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}