@mintmoney/react 0.1.0-alpha.3 → 0.1.0-alpha.30

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 (293) hide show
  1. package/README.md +19 -0
  2. package/dist/css/styles.css +225 -7
  3. package/dist/esm/api/checkouts.js +24 -0
  4. package/dist/esm/api/checkouts.js.map +1 -0
  5. package/dist/esm/api/generated.js +779 -0
  6. package/dist/esm/api/generated.js.map +1 -0
  7. package/dist/esm/api/index.js +15 -0
  8. package/dist/esm/api/index.js.map +1 -0
  9. package/dist/esm/api/payments.js +53 -0
  10. package/dist/esm/api/payments.js.map +1 -0
  11. package/dist/esm/api/types.js +8 -0
  12. package/dist/esm/api/types.js.map +1 -0
  13. package/dist/esm/checkout/container.js +10 -0
  14. package/dist/esm/checkout/container.js.map +1 -0
  15. package/dist/esm/checkout/index.js +48 -0
  16. package/dist/esm/checkout/index.js.map +1 -0
  17. package/dist/esm/checkout/modal.js +91 -0
  18. package/dist/esm/checkout/modal.js.map +1 -0
  19. package/dist/esm/checkout/views/amount-header.js +42 -0
  20. package/dist/esm/checkout/views/amount-header.js.map +1 -0
  21. package/dist/esm/checkout/views/back.js +8 -0
  22. package/dist/esm/checkout/views/back.js.map +1 -0
  23. package/dist/esm/checkout/views/card-intent/details.js +36 -0
  24. package/dist/esm/checkout/views/card-intent/details.js.map +1 -0
  25. package/dist/esm/checkout/views/crypto-intent/currency-select.js +44 -0
  26. package/dist/esm/checkout/views/crypto-intent/currency-select.js.map +1 -0
  27. package/dist/esm/checkout/views/crypto-intent/direct-details.js +199 -0
  28. package/dist/esm/checkout/views/crypto-intent/direct-details.js.map +1 -0
  29. package/dist/esm/checkout/views/crypto-intent/methods.js +52 -0
  30. package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -0
  31. package/dist/esm/checkout/views/crypto-intent/processing.js +54 -0
  32. package/dist/esm/checkout/views/crypto-intent/processing.js.map +1 -0
  33. package/dist/esm/checkout/views/crypto-intent/success.js +41 -0
  34. package/dist/esm/checkout/views/crypto-intent/success.js.map +1 -0
  35. package/dist/esm/checkout/views/crypto-intent/test-payment.js +35 -0
  36. package/dist/esm/checkout/views/crypto-intent/test-payment.js.map +1 -0
  37. package/dist/esm/checkout/views/crypto-intent/wallet-select.js +63 -0
  38. package/dist/esm/checkout/views/crypto-intent/wallet-select.js.map +1 -0
  39. package/dist/esm/checkout/views/failed.js +26 -0
  40. package/dist/esm/checkout/views/failed.js.map +1 -0
  41. package/dist/esm/checkout/views/fiat-intent/bank-payment.js +35 -0
  42. package/dist/esm/checkout/views/fiat-intent/bank-payment.js.map +1 -0
  43. package/dist/esm/checkout/views/initial.js +30 -0
  44. package/dist/esm/checkout/views/initial.js.map +1 -0
  45. package/dist/esm/checkout/views/method-select.js +23 -0
  46. package/dist/esm/checkout/views/method-select.js.map +1 -0
  47. package/dist/esm/checkout/views/restart.js +10 -0
  48. package/dist/esm/checkout/views/restart.js.map +1 -0
  49. package/dist/esm/components/buttons/async-button.js +16 -0
  50. package/dist/esm/components/buttons/async-button.js.map +1 -0
  51. package/dist/esm/components/buttons/index.js +98 -15
  52. package/dist/esm/components/buttons/index.js.map +1 -1
  53. package/dist/esm/components/buttons/use-async-button.js +44 -0
  54. package/dist/esm/components/buttons/use-async-button.js.map +1 -0
  55. package/dist/esm/components/crypto/currency-selector.js +26 -0
  56. package/dist/esm/components/crypto/currency-selector.js.map +1 -0
  57. package/dist/esm/components/crypto/default-currency-selector.js +62 -0
  58. package/dist/esm/components/crypto/default-currency-selector.js.map +1 -0
  59. package/dist/esm/components/icons/alert.js +20 -0
  60. package/dist/esm/components/icons/alert.js.map +1 -0
  61. package/dist/esm/components/icons/checkMark.js +1 -1
  62. package/dist/esm/components/icons/checkMark.js.map +1 -1
  63. package/dist/esm/components/icons/clipboard-add.js +20 -0
  64. package/dist/esm/components/icons/clipboard-add.js.map +1 -0
  65. package/dist/esm/components/icons/clipboard-check.js +20 -0
  66. package/dist/esm/components/icons/clipboard-check.js.map +1 -0
  67. package/dist/esm/components/icons/close.js +1 -1
  68. package/dist/esm/components/icons/close.js.map +1 -1
  69. package/dist/esm/components/icons/index.js +5 -0
  70. package/dist/esm/components/icons/index.js.map +1 -1
  71. package/dist/esm/components/icons/link.js +20 -0
  72. package/dist/esm/components/icons/link.js.map +1 -0
  73. package/dist/esm/components/icons/loading.js +26 -0
  74. package/dist/esm/components/icons/loading.js.map +1 -0
  75. package/dist/esm/components/inputs/index.js +32 -0
  76. package/dist/esm/components/inputs/index.js.map +1 -0
  77. package/dist/esm/components/lists/index.js +1 -1
  78. package/dist/esm/components/lists/index.js.map +1 -1
  79. package/dist/esm/components/loading/index.js.map +1 -1
  80. package/dist/esm/components/modals/modal-with-views.js +4 -3
  81. package/dist/esm/components/modals/modal-with-views.js.map +1 -1
  82. package/dist/esm/components/modals/modal.js +2 -2
  83. package/dist/esm/components/modals/modal.js.map +1 -1
  84. package/dist/esm/components/modals/use-modal-with-views.js +11 -2
  85. package/dist/esm/components/modals/use-modal-with-views.js.map +1 -1
  86. package/dist/esm/components/text/index.js +1 -0
  87. package/dist/esm/components/text/index.js.map +1 -1
  88. package/dist/esm/components/wallet-selector/component.js +61 -0
  89. package/dist/esm/components/wallet-selector/component.js.map +1 -0
  90. package/dist/esm/components/wallet-selector/domain.js +2 -0
  91. package/dist/esm/components/wallet-selector/domain.js.map +1 -0
  92. package/dist/esm/components/wallet-selector/helper.js +12 -0
  93. package/dist/esm/components/wallet-selector/helper.js.map +1 -0
  94. package/dist/esm/components/wallet-selector/index.js +5 -0
  95. package/dist/esm/components/wallet-selector/index.js.map +1 -0
  96. package/dist/esm/components/wallet-selector/provider.js +15 -0
  97. package/dist/esm/components/wallet-selector/provider.js.map +1 -0
  98. package/dist/esm/components/wallet-selector/schemas.js +6 -0
  99. package/dist/esm/components/wallet-selector/schemas.js.map +1 -0
  100. package/dist/esm/components/wallet-selector/store.js +134 -0
  101. package/dist/esm/components/wallet-selector/store.js.map +1 -0
  102. package/dist/esm/components/wallet-selector/util/exceptions.js +16 -0
  103. package/dist/esm/components/wallet-selector/util/exceptions.js.map +1 -0
  104. package/dist/esm/components/wallet-selector/wallets/index.js +3 -0
  105. package/dist/esm/components/wallet-selector/wallets/index.js.map +1 -0
  106. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +211 -0
  107. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -0
  108. package/dist/esm/components/wallet-selector/wallets/wagmi/usdt-abi.json +671 -0
  109. package/dist/esm/config.js +10 -1
  110. package/dist/esm/config.js.map +1 -1
  111. package/dist/esm/context.js +2 -1
  112. package/dist/esm/context.js.map +1 -1
  113. package/dist/esm/index.js +7 -1
  114. package/dist/esm/index.js.map +1 -1
  115. package/dist/esm/integrations/index.js +3 -0
  116. package/dist/esm/integrations/index.js.map +1 -0
  117. package/dist/esm/integrations/instaxchange.js +44 -0
  118. package/dist/esm/integrations/instaxchange.js.map +1 -0
  119. package/dist/esm/integrations/types.js +2 -0
  120. package/dist/esm/integrations/types.js.map +1 -0
  121. package/dist/esm/state/checkout/store.js +494 -0
  122. package/dist/esm/state/checkout/store.js.map +1 -0
  123. package/dist/esm/themes/default.js +42 -0
  124. package/dist/esm/themes/default.js.map +1 -1
  125. package/dist/esm/themes/types.js +1 -1
  126. package/dist/esm/themes/types.js.map +1 -1
  127. package/dist/esm/utils/cn.js +4 -0
  128. package/dist/esm/utils/cn.js.map +1 -0
  129. package/dist/esm/utils/string.js +34 -0
  130. package/dist/esm/utils/string.js.map +1 -0
  131. package/dist/types/api/checkouts.d.ts +4 -0
  132. package/dist/types/api/checkouts.d.ts.map +1 -0
  133. package/dist/types/api/generated.d.ts +1611 -0
  134. package/dist/types/api/generated.d.ts.map +1 -0
  135. package/dist/types/api/index.d.ts +6 -0
  136. package/dist/types/api/index.d.ts.map +1 -0
  137. package/dist/types/api/payments.d.ts +14 -0
  138. package/dist/types/api/payments.d.ts.map +1 -0
  139. package/dist/types/api/types.d.ts +34 -0
  140. package/dist/types/api/types.d.ts.map +1 -0
  141. package/dist/types/checkout/container.d.ts +2 -0
  142. package/dist/types/checkout/container.d.ts.map +1 -0
  143. package/dist/types/checkout/index.d.ts +11 -0
  144. package/dist/types/checkout/index.d.ts.map +1 -0
  145. package/dist/types/checkout/modal.d.ts +12 -0
  146. package/dist/types/checkout/modal.d.ts.map +1 -0
  147. package/dist/types/checkout/views/amount-header.d.ts +9 -0
  148. package/dist/types/checkout/views/amount-header.d.ts.map +1 -0
  149. package/dist/types/checkout/views/back.d.ts +7 -0
  150. package/dist/types/checkout/views/back.d.ts.map +1 -0
  151. package/dist/types/checkout/views/card-intent/details.d.ts +3 -0
  152. package/dist/types/checkout/views/card-intent/details.d.ts.map +1 -0
  153. package/dist/types/checkout/views/crypto-intent/currency-select.d.ts +3 -0
  154. package/dist/types/checkout/views/crypto-intent/currency-select.d.ts.map +1 -0
  155. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +3 -0
  156. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -0
  157. package/dist/types/checkout/views/crypto-intent/methods.d.ts +3 -0
  158. package/dist/types/checkout/views/crypto-intent/methods.d.ts.map +1 -0
  159. package/dist/types/checkout/views/crypto-intent/processing.d.ts +3 -0
  160. package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -0
  161. package/dist/types/checkout/views/crypto-intent/success.d.ts +8 -0
  162. package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -0
  163. package/dist/types/checkout/views/crypto-intent/test-payment.d.ts +3 -0
  164. package/dist/types/checkout/views/crypto-intent/test-payment.d.ts.map +1 -0
  165. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts +3 -0
  166. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -0
  167. package/dist/types/checkout/views/failed.d.ts +2 -0
  168. package/dist/types/checkout/views/failed.d.ts.map +1 -0
  169. package/dist/types/checkout/views/fiat-intent/bank-payment.d.ts +2 -0
  170. package/dist/types/checkout/views/fiat-intent/bank-payment.d.ts.map +1 -0
  171. package/dist/types/checkout/views/initial.d.ts +7 -0
  172. package/dist/types/checkout/views/initial.d.ts.map +1 -0
  173. package/dist/types/checkout/views/method-select.d.ts +3 -0
  174. package/dist/types/checkout/views/method-select.d.ts.map +1 -0
  175. package/dist/types/checkout/views/restart.d.ts +4 -0
  176. package/dist/types/checkout/views/restart.d.ts.map +1 -0
  177. package/dist/types/components/buttons/async-button.d.ts +14 -0
  178. package/dist/types/components/buttons/async-button.d.ts.map +1 -0
  179. package/dist/types/components/buttons/index.d.ts +21 -3
  180. package/dist/types/components/buttons/index.d.ts.map +1 -1
  181. package/dist/types/components/buttons/use-async-button.d.ts +16 -0
  182. package/dist/types/components/buttons/use-async-button.d.ts.map +1 -0
  183. package/dist/types/components/crypto/currency-selector.d.ts +11 -0
  184. package/dist/types/components/crypto/currency-selector.d.ts.map +1 -0
  185. package/dist/types/components/crypto/default-currency-selector.d.ts +9 -0
  186. package/dist/types/components/crypto/default-currency-selector.d.ts.map +1 -0
  187. package/dist/types/components/icons/alert.d.ts +7 -0
  188. package/dist/types/components/icons/alert.d.ts.map +1 -0
  189. package/dist/types/components/icons/checkMark.d.ts.map +1 -1
  190. package/dist/types/components/icons/clipboard-add.d.ts +6 -0
  191. package/dist/types/components/icons/clipboard-add.d.ts.map +1 -0
  192. package/dist/types/components/icons/clipboard-check.d.ts +6 -0
  193. package/dist/types/components/icons/clipboard-check.d.ts.map +1 -0
  194. package/dist/types/components/icons/close.d.ts.map +1 -1
  195. package/dist/types/components/icons/index.d.ts +5 -0
  196. package/dist/types/components/icons/index.d.ts.map +1 -1
  197. package/dist/types/components/icons/link.d.ts +6 -0
  198. package/dist/types/components/icons/link.d.ts.map +1 -0
  199. package/dist/types/components/icons/loading.d.ts +6 -0
  200. package/dist/types/components/icons/loading.d.ts.map +1 -0
  201. package/dist/types/components/inputs/index.d.ts +7 -0
  202. package/dist/types/components/inputs/index.d.ts.map +1 -0
  203. package/dist/types/components/lists/index.d.ts +2 -1
  204. package/dist/types/components/lists/index.d.ts.map +1 -1
  205. package/dist/types/components/loading/index.d.ts.map +1 -1
  206. package/dist/types/components/modals/modal-with-views.d.ts +1 -0
  207. package/dist/types/components/modals/modal-with-views.d.ts.map +1 -1
  208. package/dist/types/components/modals/modal.d.ts.map +1 -1
  209. package/dist/types/components/modals/use-modal-with-views.d.ts.map +1 -1
  210. package/dist/types/components/text/index.d.ts.map +1 -1
  211. package/dist/types/components/wallet-selector/component.d.ts +13 -0
  212. package/dist/types/components/wallet-selector/component.d.ts.map +1 -0
  213. package/dist/types/components/wallet-selector/domain.d.ts +86 -0
  214. package/dist/types/components/wallet-selector/domain.d.ts.map +1 -0
  215. package/dist/types/components/wallet-selector/helper.d.ts +4 -0
  216. package/dist/types/components/wallet-selector/helper.d.ts.map +1 -0
  217. package/dist/types/components/wallet-selector/index.d.ts +7 -0
  218. package/dist/types/components/wallet-selector/index.d.ts.map +1 -0
  219. package/dist/types/components/wallet-selector/provider.d.ts +10 -0
  220. package/dist/types/components/wallet-selector/provider.d.ts.map +1 -0
  221. package/dist/types/components/wallet-selector/schemas.d.ts +4 -0
  222. package/dist/types/components/wallet-selector/schemas.d.ts.map +1 -0
  223. package/dist/types/components/wallet-selector/store.d.ts +33 -0
  224. package/dist/types/components/wallet-selector/store.d.ts.map +1 -0
  225. package/dist/types/components/wallet-selector/util/exceptions.d.ts +7 -0
  226. package/dist/types/components/wallet-selector/util/exceptions.d.ts.map +1 -0
  227. package/dist/types/components/wallet-selector/wallets/index.d.ts +3 -0
  228. package/dist/types/components/wallet-selector/wallets/index.d.ts.map +1 -0
  229. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +34 -0
  230. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -0
  231. package/dist/types/config.d.ts +7 -0
  232. package/dist/types/config.d.ts.map +1 -1
  233. package/dist/types/context.d.ts.map +1 -1
  234. package/dist/types/index.d.ts +7 -1
  235. package/dist/types/index.d.ts.map +1 -1
  236. package/dist/types/integrations/index.d.ts +3 -0
  237. package/dist/types/integrations/index.d.ts.map +1 -0
  238. package/dist/types/integrations/instaxchange.d.ts +4 -0
  239. package/dist/types/integrations/instaxchange.d.ts.map +1 -0
  240. package/dist/types/integrations/types.d.ts +5 -0
  241. package/dist/types/integrations/types.d.ts.map +1 -0
  242. package/dist/types/state/checkout/store.d.ts +155 -0
  243. package/dist/types/state/checkout/store.d.ts.map +1 -0
  244. package/dist/types/themes/default.d.ts +2 -2
  245. package/dist/types/themes/default.d.ts.map +1 -1
  246. package/dist/types/themes/types.d.ts +9 -0
  247. package/dist/types/themes/types.d.ts.map +1 -1
  248. package/dist/types/utils/cn.d.ts +4 -0
  249. package/dist/types/utils/cn.d.ts.map +1 -0
  250. package/dist/types/utils/string.d.ts +23 -0
  251. package/dist/types/utils/string.d.ts.map +1 -0
  252. package/package.json +82 -61
  253. package/dist/esm/components/buttons/buttons.stories.js +0 -18
  254. package/dist/esm/components/buttons/buttons.stories.js.map +0 -1
  255. package/dist/esm/components/lists/lists.stories.js +0 -42
  256. package/dist/esm/components/lists/lists.stories.js.map +0 -1
  257. package/dist/esm/components/loading/loading.stories.js +0 -8
  258. package/dist/esm/components/loading/loading.stories.js.map +0 -1
  259. package/dist/esm/components/text/text.stories.js +0 -34
  260. package/dist/esm/components/text/text.stories.js.map +0 -1
  261. package/dist/esm/exports/components.js +0 -2
  262. package/dist/esm/exports/components.js.map +0 -1
  263. package/dist/esm/exports/config.js +0 -3
  264. package/dist/esm/exports/config.js.map +0 -1
  265. package/dist/esm/exports/index.js +0 -4
  266. package/dist/esm/exports/index.js.map +0 -1
  267. package/dist/esm/exports/themes.js +0 -2
  268. package/dist/esm/exports/themes.js.map +0 -1
  269. package/dist/types/components/buttons/buttons.stories.d.ts +0 -7
  270. package/dist/types/components/buttons/buttons.stories.d.ts.map +0 -1
  271. package/dist/types/components/lists/lists.stories.d.ts +0 -27
  272. package/dist/types/components/lists/lists.stories.d.ts.map +0 -1
  273. package/dist/types/components/loading/loading.stories.d.ts +0 -4
  274. package/dist/types/components/loading/loading.stories.d.ts.map +0 -1
  275. package/dist/types/components/text/text.stories.d.ts +0 -5
  276. package/dist/types/components/text/text.stories.d.ts.map +0 -1
  277. package/dist/types/exports/components.d.ts +0 -2
  278. package/dist/types/exports/components.d.ts.map +0 -1
  279. package/dist/types/exports/config.d.ts +0 -3
  280. package/dist/types/exports/config.d.ts.map +0 -1
  281. package/dist/types/exports/index.d.ts +0 -5
  282. package/dist/types/exports/index.d.ts.map +0 -1
  283. package/dist/types/exports/themes.d.ts +0 -2
  284. package/dist/types/exports/themes.d.ts.map +0 -1
  285. package/src/components/index.ts +0 -6
  286. package/src/components/modals/index.ts +0 -3
  287. package/src/config.ts +0 -29
  288. package/src/exports/components.ts +0 -1
  289. package/src/exports/config.ts +0 -2
  290. package/src/exports/index.ts +0 -7
  291. package/src/exports/themes.ts +0 -1
  292. package/src/index.ts +0 -0
  293. package/src/themes/types.ts +0 -35
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAenD,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,OAAuB,EACf,EAAE;IACV,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC;KAC9D,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAuBnD,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,OAAuB,EACf,EAAE;IACV,MAAM,mBAAmB,GAAyB;QAChD,qBAAqB,EAAE,CAAC;QACxB,yBAAyB,EAAE,aAAa,CAAC,kBAAkB;KAC5D,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,GAAG,KAAK,CACN;YACE,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,YAAY;YACnB,oBAAoB,EAAE,mBAAmB;SAC1C,EACD,OAAO,CACR;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
- import { api } from "@mintmoney/core";
5
4
  import { ThemeProvider } from "styled-components";
5
+ import { api } from "./api/index.js";
6
6
  const MintMoneyContext = createContext(undefined);
7
7
  export function MintMoneyProvider({ config, children, }) {
8
+ api.baseUrl = config.apiUrl;
8
9
  api.setSecurityData(config.publicKey);
9
10
  return (_jsx(MintMoneyContext.Provider, { value: config, children: _jsx(ThemeProvider, { theme: config.theme, children: _jsx("div", { className: "mm-root", children: children }) }) }));
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,GAAG,aAAa,CAAqB,SAAS,CAAC,CAAC;AAOtE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACe;IACvB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACtC,KAAC,aAAa,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAChC,cAAK,SAAS,EAAC,SAAS,YAAE,QAAQ,GAAO,GAC3B,GACU,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIrC,MAAM,gBAAgB,GAAG,aAAa,CAAqB,SAAS,CAAC,CAAC;AAOtE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACe;IACvB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACtC,KAAC,aAAa,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAChC,cAAK,SAAS,EAAC,SAAS,YAAE,QAAQ,GAAO,GAC3B,GACU,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,8 @@
1
- export {};
1
+ export * from "./checkout/index.js";
2
+ export * from "./components/index.js";
3
+ export * from "./api/index.js";
4
+ export * from "./themes/index.js";
5
+ export * from "./integrations/index.js";
6
+ export { getPaymentById } from "./api/payments.js";
7
+ export { createConfig } from "./config.js";
2
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types.js";
2
+ export * from "./instaxchange.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect } from "react";
3
+ import { useModalWithView } from "../components/modals/use-modal-with-views.js";
4
+ export const InstaXchangePayment = ({ onError, clientParams, }) => {
5
+ const { goToView } = useModalWithView();
6
+ const handleMessage = useCallback((event) => {
7
+ if (event.data &&
8
+ typeof event.data === "object" &&
9
+ "type" in event.data &&
10
+ event.data.type === "FIAT_PAYMENT_COMPLETED") {
11
+ goToView("paymentStatus");
12
+ }
13
+ }, [goToView]);
14
+ useEffect(() => {
15
+ window.addEventListener("message", handleMessage);
16
+ return () => {
17
+ window.removeEventListener("message", handleMessage);
18
+ };
19
+ }, [handleMessage]);
20
+ useEffect(() => {
21
+ if (!clientParams) {
22
+ onError("No client parameters provided");
23
+ goToView("failed");
24
+ return;
25
+ }
26
+ const sessionId = clientParams?.sessionId || clientParams?.session_id || clientParams?.id;
27
+ if (!sessionId) {
28
+ onError("No session ID provided in client parameters");
29
+ goToView("failed");
30
+ }
31
+ }, [clientParams, onError, goToView]);
32
+ // Get sessionId from clientParams
33
+ const sessionId = clientParams?.sessionId || clientParams?.session_id || clientParams?.id;
34
+ // If no sessionId, don't render anything (will go to failed view via useEffect)
35
+ if (!sessionId || typeof sessionId !== "string") {
36
+ return null;
37
+ }
38
+ const iframeUrl = `https://instaxchange.com/order/${sessionId}`;
39
+ return (_jsx("div", { className: "space-y-4 flex-1", children: _jsx("iframe", { src: iframeUrl, className: "w-full h-[800px] border border-gray-200 rounded-lg", title: "InstaXchange Payment Form", allow: "payment", onError: () => {
40
+ onError("Failed to load payment form");
41
+ goToView("failed");
42
+ } }) }));
43
+ };
44
+ //# sourceMappingURL=instaxchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instaxchange.js","sourceRoot":"","sources":["../../../src/integrations/instaxchange.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAIhF,MAAM,CAAC,MAAM,mBAAmB,GAAmC,CAAC,EAClE,OAAO,EACP,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAmB,EAAE,EAAE;QACtB,IACE,KAAK,CAAC,IAAI;YACV,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,MAAM,IAAI,KAAK,CAAC,IAAI;YACnB,KAAK,CAAC,IAAyB,CAAC,IAAI,KAAK,wBAAwB,EAClE,CAAC;YACD,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACzC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GACb,YAAY,EAAE,SAAS,IAAI,YAAY,EAAE,UAAU,IAAI,YAAY,EAAE,EAAE,CAAC;QAE1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,6CAA6C,CAAC,CAAC;YACvD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,kCAAkC;IAClC,MAAM,SAAS,GACb,YAAY,EAAE,SAAS,IAAI,YAAY,EAAE,UAAU,IAAI,YAAY,EAAE,EAAE,CAAC;IAE1E,gFAAgF;IAChF,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,kCAAkC,SAAS,EAAE,CAAC;IAEhE,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,YAC/B,iBACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAC,oDAAoD,EAC9D,KAAK,EAAC,2BAA2B,EACjC,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,6BAA6B,CAAC,CAAC;gBACvC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/integrations/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,494 @@
1
+ import { waitForTransactionReceipt } from "@wagmi/core";
2
+ import { create } from "zustand";
3
+ import { immer } from "zustand/middleware/immer";
4
+ import { getCheckoutById, getCheckoutCryptoCurrencies, } from "../../api/checkouts.js";
5
+ import { createPaymentAttempt, createTestPaymentAttempt, createFiatPaymentAttempt, getPaymentById, } from "../../api/payments.js";
6
+ import { PaymentStatus, } from "../../api/types.js";
7
+ import { WagmiWalletInterface } from "../../components/wallet-selector/wallets/wagmi/index.js";
8
+ export var ACTIONS;
9
+ (function (ACTIONS) {
10
+ ACTIONS["GET_CHECKOUT_CONFIG"] = "GET_CHECKOUT_CONFIG";
11
+ ACTIONS["GET_CRYPTO_CURRENCIES"] = "GET_CRYPTO_CURRENCIES";
12
+ ACTIONS["CREATE_PAYMENT"] = "CREATE_PAYMENT";
13
+ ACTIONS["GET_PAYMENT"] = "GET_PAYMENT";
14
+ ACTIONS["CREATE_PAYMENT_ATTEMPT"] = "CREATE_PAYMENT_ATTEMPT";
15
+ ACTIONS["CREATE_FIAT_PAYMENT_ATTEMPT"] = "CREATE_FIAT_PAYMENT_ATTEMPT";
16
+ ACTIONS["CREATE_TEST_PAYMENT_ATTEMPT"] = "CREATE_TEST_PAYMENT_ATTEMPT";
17
+ ACTIONS["EXECUTE_TRANSFER"] = "EXECUTE_TRANSFER";
18
+ ACTIONS["POLL_PAYMENT"] = "POLL_PAYMENT";
19
+ ACTIONS["CHECK_CHAIN_STATUS"] = "CHECK_CHAIN_STATUS";
20
+ })(ACTIONS || (ACTIONS = {}));
21
+ const initialActionState = (initialValue) => Object.values(ACTIONS).reduce((acc, action) => {
22
+ acc[action] = initialValue;
23
+ return acc;
24
+ }, {});
25
+ export const useCheckoutStore = create()(immer((_set, _get) => ({
26
+ checkoutId: null,
27
+ selectedMethod: null,
28
+ selectedCurrency: null,
29
+ methods: null,
30
+ cryptoCurrency: null,
31
+ checkout: null,
32
+ payment: null,
33
+ cryptoPaymentAttempt: null,
34
+ fiatPaymentAttempt: null,
35
+ loading: initialActionState(false),
36
+ error: initialActionState(null),
37
+ processing: false,
38
+ transfer: {
39
+ status: "idle",
40
+ error: null,
41
+ transactionHash: null,
42
+ chainStatus: "pending",
43
+ },
44
+ polling: {
45
+ isPolling: false,
46
+ pollCount: 0,
47
+ lastPollTime: null,
48
+ },
49
+ })));
50
+ const set = (fn) => {
51
+ useCheckoutStore.setState(fn);
52
+ };
53
+ const get = () => useCheckoutStore.getState();
54
+ export const clearErrors = () => {
55
+ set((state) => {
56
+ Object.values(ACTIONS).forEach((action) => {
57
+ state.error[action] = null;
58
+ });
59
+ });
60
+ };
61
+ export const initialiseStore = async (payment) => {
62
+ set((state) => {
63
+ state.payment = payment;
64
+ });
65
+ try {
66
+ await getCheckoutConfig(payment.checkout_id);
67
+ }
68
+ catch (err) {
69
+ set((state) => {
70
+ state.error[ACTIONS.GET_CHECKOUT_CONFIG] = "Failed to load checkout";
71
+ });
72
+ }
73
+ };
74
+ export const createCheckoutCryptoPaymentAttempt = async (currency) => {
75
+ const paymentId = useCheckoutStore.getState().payment?.id;
76
+ if (!paymentId) {
77
+ throw Error("Cannot create payment attempt without payment object.");
78
+ }
79
+ try {
80
+ set((state) => {
81
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = null;
82
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = true;
83
+ });
84
+ const attempt = await createPaymentAttempt(paymentId, currency, 1);
85
+ const payment = await getPaymentById(paymentId);
86
+ set((state) => {
87
+ state.payment = payment;
88
+ state.cryptoPaymentAttempt = attempt;
89
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = null;
90
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = false;
91
+ });
92
+ }
93
+ catch (err) {
94
+ const error = err;
95
+ set((state) => {
96
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = error.message;
97
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = false;
98
+ });
99
+ }
100
+ };
101
+ export const createSuccessfulTestPaymentAttempt = async () => {
102
+ const paymentId = useCheckoutStore.getState().payment?.id;
103
+ if (!paymentId) {
104
+ throw Error("Cannot create test payment attempt without payment object.");
105
+ }
106
+ try {
107
+ set((state) => {
108
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = null;
109
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = true;
110
+ });
111
+ const attempt = await createTestPaymentAttempt(paymentId, "0xsuccess");
112
+ const payment = await getPaymentById(paymentId);
113
+ set((state) => {
114
+ state.payment = payment;
115
+ state.cryptoPaymentAttempt = attempt;
116
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = null;
117
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = false;
118
+ });
119
+ }
120
+ catch (err) {
121
+ const error = err;
122
+ set((state) => {
123
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = error.message;
124
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = false;
125
+ });
126
+ throw error;
127
+ }
128
+ };
129
+ export const createFailedTestPaymentAttempt = async () => {
130
+ const paymentId = useCheckoutStore.getState().payment?.id;
131
+ if (!paymentId) {
132
+ throw Error("Cannot create test payment attempt without payment object.");
133
+ }
134
+ try {
135
+ set((state) => {
136
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = null;
137
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = true;
138
+ });
139
+ const attempt = await createTestPaymentAttempt(paymentId, "0xfail");
140
+ const payment = await getPaymentById(paymentId);
141
+ set((state) => {
142
+ state.payment = payment;
143
+ state.cryptoPaymentAttempt = attempt;
144
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = null;
145
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = false;
146
+ });
147
+ }
148
+ catch (err) {
149
+ const error = err;
150
+ set((state) => {
151
+ state.error[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = error.message;
152
+ state.loading[ACTIONS.CREATE_TEST_PAYMENT_ATTEMPT] = false;
153
+ });
154
+ throw error;
155
+ }
156
+ };
157
+ export const createCheckoutFiatPaymentAttempt = async (method) => {
158
+ const paymentId = useCheckoutStore.getState().payment?.id;
159
+ if (!paymentId) {
160
+ throw Error("Cannot create fiat payment attempt without payment object.");
161
+ }
162
+ try {
163
+ set((state) => {
164
+ state.error[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = null;
165
+ state.loading[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = true;
166
+ });
167
+ const attempt = await createFiatPaymentAttempt(paymentId, method);
168
+ set((state) => {
169
+ state.fiatPaymentAttempt = attempt;
170
+ state.error[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = null;
171
+ state.loading[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = false;
172
+ });
173
+ }
174
+ catch (err) {
175
+ const error = err;
176
+ set((state) => {
177
+ state.error[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = error.message;
178
+ state.loading[ACTIONS.CREATE_FIAT_PAYMENT_ATTEMPT] = false;
179
+ });
180
+ throw error;
181
+ }
182
+ };
183
+ export function getAvailableCheckoutMethods(checkout) {
184
+ const methods = [];
185
+ if (checkout.checkout_config.crypto?.enabled) {
186
+ methods.push({
187
+ name: "Pay with Crypto",
188
+ intentName: "cryptoIntent",
189
+ });
190
+ }
191
+ if (checkout.checkout_config.card?.enabled) {
192
+ methods.push({
193
+ name: "Pay by Card",
194
+ intentName: "cardIntent",
195
+ });
196
+ }
197
+ if (checkout.checkout_config.bank?.enabled) {
198
+ methods.push({
199
+ name: "Pay by Bank",
200
+ intentName: "bankIntent",
201
+ });
202
+ }
203
+ return methods;
204
+ }
205
+ export const getCheckoutConfig = async (checkoutId) => {
206
+ const ACTION = ACTIONS.GET_CHECKOUT_CONFIG;
207
+ set((state) => {
208
+ state.loading[ACTION] = true;
209
+ state.error[ACTION] = null;
210
+ });
211
+ try {
212
+ const resp = await getCheckoutById(checkoutId);
213
+ if (resp) {
214
+ set((state) => {
215
+ state.checkout = resp;
216
+ state.methods = getAvailableCheckoutMethods(resp);
217
+ state.cryptoCurrency = getCheckoutCryptoCurrencies(resp);
218
+ state.loading[ACTION] = false;
219
+ state.error[ACTION] = null;
220
+ });
221
+ }
222
+ else {
223
+ set((state) => {
224
+ state.loading[ACTION] = false;
225
+ state.error[ACTION] = "Failed to load checkout";
226
+ });
227
+ }
228
+ }
229
+ catch (error) {
230
+ set((state) => {
231
+ state.loading[ACTION] = false;
232
+ state.error[ACTION] = "Failed to load checkout methods";
233
+ });
234
+ }
235
+ };
236
+ export const getPayment = async () => {
237
+ const ACTION = ACTIONS.GET_PAYMENT;
238
+ set((state) => {
239
+ state.loading[ACTION] = true;
240
+ state.error[ACTION] = null;
241
+ });
242
+ const payment = get().payment;
243
+ if (!payment) {
244
+ set((state) => {
245
+ state.loading[ACTION] = false;
246
+ state.error[ACTION] = "No payment found";
247
+ });
248
+ return null;
249
+ }
250
+ try {
251
+ const resp = await getPaymentById(payment.id);
252
+ if (resp) {
253
+ set((state) => {
254
+ state.payment = resp;
255
+ state.loading[ACTION] = false;
256
+ state.error[ACTION] = null;
257
+ });
258
+ return resp;
259
+ }
260
+ else {
261
+ set((state) => {
262
+ state.loading[ACTION] = false;
263
+ state.error[ACTION] = "Failed to load payment";
264
+ });
265
+ return null;
266
+ }
267
+ }
268
+ catch (error) {
269
+ set((state) => {
270
+ state.loading[ACTION] = false;
271
+ state.error[ACTION] = "Failed to load payment";
272
+ });
273
+ return null;
274
+ }
275
+ };
276
+ export const executeTransfer = async (wallet) => {
277
+ const ACTION = ACTIONS.EXECUTE_TRANSFER;
278
+ const state = get();
279
+ console.log("[Execute Transfer] State:", state);
280
+ if (!state.cryptoPaymentAttempt || !state.selectedCurrency) {
281
+ throw new Error("Missing required data for payment execution");
282
+ }
283
+ set((state) => {
284
+ state.loading[ACTION] = true;
285
+ state.error[ACTION] = null;
286
+ state.transfer.status = "pending";
287
+ state.transfer.error = null;
288
+ });
289
+ try {
290
+ const address = await wallet.getAddress();
291
+ if (!address) {
292
+ throw new Error("Failed to get wallet address");
293
+ }
294
+ const transfer = {
295
+ sendingAddress: address,
296
+ destinationAddress: state.cryptoPaymentAttempt.destination_address,
297
+ amount: Number(state.cryptoPaymentAttempt.amount),
298
+ evm: {
299
+ implementationAddress: state.cryptoPaymentAttempt.settlement_token_address,
300
+ assetName: state.selectedCurrency.asset,
301
+ },
302
+ };
303
+ const txHash = await wallet.executeTransfer(transfer);
304
+ if (!txHash) {
305
+ throw new Error("Failed to get transaction hash");
306
+ }
307
+ set((state) => {
308
+ state.transfer.status = "success";
309
+ state.transfer.transactionHash = txHash;
310
+ state.loading[ACTION] = false;
311
+ state.error[ACTION] = null;
312
+ });
313
+ return txHash;
314
+ }
315
+ catch (error) {
316
+ const errorMessage = error instanceof Error ? error.message : "Failed to execute transfer";
317
+ set((state) => {
318
+ state.transfer.status = "failed";
319
+ state.transfer.error = errorMessage;
320
+ state.loading[ACTION] = false;
321
+ state.error[ACTION] = errorMessage;
322
+ });
323
+ throw error;
324
+ }
325
+ };
326
+ export const checkChainStatus = async (wallet) => {
327
+ const ACTION = ACTIONS.CHECK_CHAIN_STATUS;
328
+ const state = get();
329
+ if (state.transfer.status !== "success" || !state.transfer.transactionHash) {
330
+ return;
331
+ }
332
+ // Check if the wallet is a WagmiWalletInterface
333
+ if (!(wallet instanceof WagmiWalletInterface)) {
334
+ console.error("Wallet does not support chain status checks");
335
+ set((state) => {
336
+ state.transfer.chainStatus = "failed";
337
+ state.error[ACTION] = "Wallet does not support chain status checks";
338
+ });
339
+ return;
340
+ }
341
+ set((state) => {
342
+ state.loading[ACTION] = true;
343
+ state.error[ACTION] = null;
344
+ });
345
+ try {
346
+ await waitForTransactionReceipt(wallet.wagmiConfig, {
347
+ hash: state.transfer.transactionHash,
348
+ confirmations: 1,
349
+ });
350
+ set((state) => {
351
+ state.transfer.chainStatus = "confirmed";
352
+ state.loading[ACTION] = false;
353
+ state.error[ACTION] = null;
354
+ });
355
+ }
356
+ catch (error) {
357
+ console.error("Error checking transaction status:", error);
358
+ set((state) => {
359
+ state.transfer.chainStatus = "failed";
360
+ state.loading[ACTION] = false;
361
+ state.error[ACTION] =
362
+ error instanceof Error ? error.message : "Failed to check chain status";
363
+ });
364
+ }
365
+ };
366
+ export const resetTransfer = () => {
367
+ set((state) => {
368
+ state.transfer = {
369
+ status: "idle",
370
+ error: null,
371
+ transactionHash: null,
372
+ chainStatus: "pending",
373
+ };
374
+ });
375
+ };
376
+ export const startPaymentPolling = (onPaymentStatusChange, confirmationStatus = PaymentStatus.PAID) => {
377
+ const ACTION = ACTIONS.POLL_PAYMENT;
378
+ const POLL_INTERVAL = 5000;
379
+ let pollInterval = null;
380
+ const pollPaymentStatus = async () => {
381
+ const state = get();
382
+ if (!state.polling.isPolling)
383
+ return;
384
+ set((state) => {
385
+ state.polling.pollCount++;
386
+ state.polling.lastPollTime = Date.now();
387
+ });
388
+ console.log(`[Payment Poll] Starting poll attempt #${state.polling.pollCount}`);
389
+ try {
390
+ const updatedPayment = await getPayment();
391
+ if (!updatedPayment) {
392
+ console.log(`[Payment Poll] No payment data, skipping poll #${state.polling.pollCount}`);
393
+ return;
394
+ }
395
+ console.log(`[Payment Poll] Payment status: ${updatedPayment.status} (poll #${state.polling.pollCount})`);
396
+ const successStatuses = confirmationStatus === PaymentStatus.PAID
397
+ ? [PaymentStatus.PAID]
398
+ : [confirmationStatus, PaymentStatus.PAID];
399
+ if (successStatuses.includes(updatedPayment.status) ||
400
+ updatedPayment.status === PaymentStatus.FAILED) {
401
+ onPaymentStatusChange(updatedPayment.status);
402
+ stopPaymentPolling();
403
+ }
404
+ }
405
+ catch (error) {
406
+ console.error(`[Payment Poll] Error fetching payment status (poll #${state.polling.pollCount}):`, error);
407
+ }
408
+ };
409
+ const stopPolling = () => {
410
+ if (pollInterval) {
411
+ clearInterval(pollInterval);
412
+ pollInterval = null;
413
+ }
414
+ set((state) => {
415
+ state.polling.isPolling = false;
416
+ });
417
+ };
418
+ set((state) => {
419
+ state.polling.isPolling = true;
420
+ state.polling.pollCount = 0;
421
+ state.polling.lastPollTime = null;
422
+ state.loading[ACTION] = true;
423
+ state.error[ACTION] = null;
424
+ });
425
+ // Start polling immediately
426
+ void pollPaymentStatus();
427
+ // Set up interval for subsequent polls
428
+ pollInterval = setInterval(pollPaymentStatus, POLL_INTERVAL);
429
+ return {
430
+ stop: stopPolling,
431
+ };
432
+ };
433
+ export const stopPaymentPolling = () => {
434
+ set((state) => {
435
+ state.polling.isPolling = false;
436
+ state.polling.pollCount = 0;
437
+ state.polling.lastPollTime = null;
438
+ state.loading[ACTIONS.POLL_PAYMENT] = false;
439
+ });
440
+ };
441
+ export const resetCheckoutStore = () => {
442
+ set((state) => {
443
+ Object.assign(state, {
444
+ amount: null,
445
+ checkoutId: null,
446
+ selectedMethod: null,
447
+ selectedCurrency: null,
448
+ methods: null,
449
+ cryptoCurrency: null,
450
+ checkout: null,
451
+ payment: null,
452
+ cryptoPaymentAttempt: null,
453
+ loading: initialActionState(false),
454
+ error: initialActionState(null),
455
+ transfer: {
456
+ status: "idle",
457
+ error: null,
458
+ transactionHash: null,
459
+ chainStatus: "pending",
460
+ },
461
+ polling: {
462
+ isPolling: false,
463
+ pollCount: 0,
464
+ lastPollTime: null,
465
+ },
466
+ });
467
+ });
468
+ };
469
+ export const setCheckoutMethod = (method) => {
470
+ set((state) => {
471
+ state.selectedMethod = method;
472
+ });
473
+ };
474
+ export const setProcessing = (processing) => {
475
+ set((state) => {
476
+ state.processing = processing;
477
+ });
478
+ };
479
+ export const getProcessing = () => {
480
+ return get().processing;
481
+ };
482
+ export const setSelectedCurrency = (currency) => {
483
+ set((state) => {
484
+ state.selectedCurrency = currency;
485
+ });
486
+ };
487
+ export const isTestMode = () => {
488
+ const state = get();
489
+ if (state.checkout?.is_live !== undefined) {
490
+ return !state.checkout.is_live;
491
+ }
492
+ return false;
493
+ };
494
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/state/checkout/store.ts"],"names":[],"mappings":"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"}