@mintmoney/react 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (265) hide show
  1. package/README.md +19 -0
  2. package/dist/css/styles.css +51 -6
  3. package/dist/esm/api/checkouts.js +16 -0
  4. package/dist/esm/api/checkouts.js.map +1 -0
  5. package/dist/esm/api/generated.js +615 -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 +33 -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 +44 -0
  16. package/dist/esm/checkout/index.js.map +1 -0
  17. package/dist/esm/checkout/modal.js +88 -0
  18. package/dist/esm/checkout/modal.js.map +1 -0
  19. package/dist/esm/checkout/views/amount-header.js +35 -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 +12 -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 +48 -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 +26 -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 +26 -0
  30. package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -0
  31. package/dist/esm/checkout/views/crypto-intent/processing.js +40 -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 +35 -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/initial.js +30 -0
  42. package/dist/esm/checkout/views/initial.js.map +1 -0
  43. package/dist/esm/checkout/views/method-select.js +23 -0
  44. package/dist/esm/checkout/views/method-select.js.map +1 -0
  45. package/dist/esm/checkout/views/restart.js +10 -0
  46. package/dist/esm/checkout/views/restart.js.map +1 -0
  47. package/dist/esm/components/buttons/async-button.js +16 -0
  48. package/dist/esm/components/buttons/async-button.js.map +1 -0
  49. package/dist/esm/components/buttons/index.js +98 -15
  50. package/dist/esm/components/buttons/index.js.map +1 -1
  51. package/dist/esm/components/buttons/use-async-button.js +44 -0
  52. package/dist/esm/components/buttons/use-async-button.js.map +1 -0
  53. package/dist/esm/components/crypto/currency-selector.js +26 -0
  54. package/dist/esm/components/crypto/currency-selector.js.map +1 -0
  55. package/dist/esm/components/crypto/default-currency-selector.js +57 -0
  56. package/dist/esm/components/crypto/default-currency-selector.js.map +1 -0
  57. package/dist/esm/components/icons/alert.js +20 -0
  58. package/dist/esm/components/icons/alert.js.map +1 -0
  59. package/dist/esm/components/icons/checkMark.js +1 -1
  60. package/dist/esm/components/icons/checkMark.js.map +1 -1
  61. package/dist/esm/components/icons/close.js +1 -1
  62. package/dist/esm/components/icons/close.js.map +1 -1
  63. package/dist/esm/components/icons/index.js +3 -0
  64. package/dist/esm/components/icons/index.js.map +1 -1
  65. package/dist/esm/components/icons/link.js +20 -0
  66. package/dist/esm/components/icons/link.js.map +1 -0
  67. package/dist/esm/components/icons/loading.js +26 -0
  68. package/dist/esm/components/icons/loading.js.map +1 -0
  69. package/dist/esm/components/inputs/index.js +32 -0
  70. package/dist/esm/components/inputs/index.js.map +1 -0
  71. package/dist/esm/components/lists/index.js +1 -1
  72. package/dist/esm/components/lists/index.js.map +1 -1
  73. package/dist/esm/components/loading/index.js.map +1 -1
  74. package/dist/esm/components/modals/modal-with-views.js +0 -1
  75. package/dist/esm/components/modals/modal-with-views.js.map +1 -1
  76. package/dist/esm/components/modals/modal.js +2 -2
  77. package/dist/esm/components/modals/modal.js.map +1 -1
  78. package/dist/esm/components/modals/use-modal-with-views.js +11 -2
  79. package/dist/esm/components/modals/use-modal-with-views.js.map +1 -1
  80. package/dist/esm/components/text/index.js +1 -0
  81. package/dist/esm/components/text/index.js.map +1 -1
  82. package/dist/esm/components/wallet-selector/component.js +61 -0
  83. package/dist/esm/components/wallet-selector/component.js.map +1 -0
  84. package/dist/esm/components/wallet-selector/domain.js +2 -0
  85. package/dist/esm/components/wallet-selector/domain.js.map +1 -0
  86. package/dist/esm/components/wallet-selector/helper.js +12 -0
  87. package/dist/esm/components/wallet-selector/helper.js.map +1 -0
  88. package/dist/esm/components/wallet-selector/index.js +5 -0
  89. package/dist/esm/components/wallet-selector/index.js.map +1 -0
  90. package/dist/esm/components/wallet-selector/provider.js +15 -0
  91. package/dist/esm/components/wallet-selector/provider.js.map +1 -0
  92. package/dist/esm/components/wallet-selector/schemas.js +6 -0
  93. package/dist/esm/components/wallet-selector/schemas.js.map +1 -0
  94. package/dist/esm/components/wallet-selector/store.js +134 -0
  95. package/dist/esm/components/wallet-selector/store.js.map +1 -0
  96. package/dist/esm/components/wallet-selector/util/exceptions.js +16 -0
  97. package/dist/esm/components/wallet-selector/util/exceptions.js.map +1 -0
  98. package/dist/esm/components/wallet-selector/wallets/index.js +3 -0
  99. package/dist/esm/components/wallet-selector/wallets/index.js.map +1 -0
  100. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +211 -0
  101. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -0
  102. package/dist/esm/components/wallet-selector/wallets/wagmi/usdt-abi.json +671 -0
  103. package/dist/esm/config.js +10 -1
  104. package/dist/esm/config.js.map +1 -1
  105. package/dist/esm/context.js +2 -1
  106. package/dist/esm/context.js.map +1 -1
  107. package/dist/esm/index.js +5 -1
  108. package/dist/esm/index.js.map +1 -1
  109. package/dist/esm/state/checkout/store.js +457 -0
  110. package/dist/esm/state/checkout/store.js.map +1 -0
  111. package/dist/esm/themes/default.js +42 -0
  112. package/dist/esm/themes/default.js.map +1 -1
  113. package/dist/esm/themes/types.js +1 -1
  114. package/dist/esm/themes/types.js.map +1 -1
  115. package/dist/esm/utils/cn.js +4 -0
  116. package/dist/esm/utils/cn.js.map +1 -0
  117. package/dist/types/api/checkouts.d.ts +9 -0
  118. package/dist/types/api/checkouts.d.ts.map +1 -0
  119. package/dist/types/api/generated.d.ts +1210 -0
  120. package/dist/types/api/generated.d.ts.map +1 -0
  121. package/dist/types/api/index.d.ts +6 -0
  122. package/dist/types/api/index.d.ts.map +1 -0
  123. package/dist/types/api/payments.d.ts +7 -0
  124. package/dist/types/api/payments.d.ts.map +1 -0
  125. package/dist/types/api/types.d.ts +25 -0
  126. package/dist/types/api/types.d.ts.map +1 -0
  127. package/dist/types/checkout/container.d.ts +2 -0
  128. package/dist/types/checkout/container.d.ts.map +1 -0
  129. package/dist/types/checkout/index.d.ts +11 -0
  130. package/dist/types/checkout/index.d.ts.map +1 -0
  131. package/dist/types/checkout/modal.d.ts +12 -0
  132. package/dist/types/checkout/modal.d.ts.map +1 -0
  133. package/dist/types/checkout/views/amount-header.d.ts +8 -0
  134. package/dist/types/checkout/views/amount-header.d.ts.map +1 -0
  135. package/dist/types/checkout/views/back.d.ts +7 -0
  136. package/dist/types/checkout/views/back.d.ts.map +1 -0
  137. package/dist/types/checkout/views/card-intent/details.d.ts +3 -0
  138. package/dist/types/checkout/views/card-intent/details.d.ts.map +1 -0
  139. package/dist/types/checkout/views/crypto-intent/currency-select.d.ts +3 -0
  140. package/dist/types/checkout/views/crypto-intent/currency-select.d.ts.map +1 -0
  141. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +3 -0
  142. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -0
  143. package/dist/types/checkout/views/crypto-intent/methods.d.ts +3 -0
  144. package/dist/types/checkout/views/crypto-intent/methods.d.ts.map +1 -0
  145. package/dist/types/checkout/views/crypto-intent/processing.d.ts +3 -0
  146. package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -0
  147. package/dist/types/checkout/views/crypto-intent/success.d.ts +8 -0
  148. package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -0
  149. package/dist/types/checkout/views/crypto-intent/test-payment.d.ts +3 -0
  150. package/dist/types/checkout/views/crypto-intent/test-payment.d.ts.map +1 -0
  151. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts +3 -0
  152. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -0
  153. package/dist/types/checkout/views/failed.d.ts +2 -0
  154. package/dist/types/checkout/views/failed.d.ts.map +1 -0
  155. package/dist/types/checkout/views/initial.d.ts +7 -0
  156. package/dist/types/checkout/views/initial.d.ts.map +1 -0
  157. package/dist/types/checkout/views/method-select.d.ts +3 -0
  158. package/dist/types/checkout/views/method-select.d.ts.map +1 -0
  159. package/dist/types/checkout/views/restart.d.ts +4 -0
  160. package/dist/types/checkout/views/restart.d.ts.map +1 -0
  161. package/dist/types/components/buttons/async-button.d.ts +14 -0
  162. package/dist/types/components/buttons/async-button.d.ts.map +1 -0
  163. package/dist/types/components/buttons/index.d.ts +21 -3
  164. package/dist/types/components/buttons/index.d.ts.map +1 -1
  165. package/dist/types/components/buttons/use-async-button.d.ts +16 -0
  166. package/dist/types/components/buttons/use-async-button.d.ts.map +1 -0
  167. package/dist/types/components/crypto/currency-selector.d.ts +11 -0
  168. package/dist/types/components/crypto/currency-selector.d.ts.map +1 -0
  169. package/dist/types/components/crypto/default-currency-selector.d.ts +9 -0
  170. package/dist/types/components/crypto/default-currency-selector.d.ts.map +1 -0
  171. package/dist/types/components/icons/alert.d.ts +7 -0
  172. package/dist/types/components/icons/alert.d.ts.map +1 -0
  173. package/dist/types/components/icons/checkMark.d.ts.map +1 -1
  174. package/dist/types/components/icons/close.d.ts.map +1 -1
  175. package/dist/types/components/icons/index.d.ts +3 -0
  176. package/dist/types/components/icons/index.d.ts.map +1 -1
  177. package/dist/types/components/icons/link.d.ts +6 -0
  178. package/dist/types/components/icons/link.d.ts.map +1 -0
  179. package/dist/types/components/icons/loading.d.ts +6 -0
  180. package/dist/types/components/icons/loading.d.ts.map +1 -0
  181. package/dist/types/components/inputs/index.d.ts +7 -0
  182. package/dist/types/components/inputs/index.d.ts.map +1 -0
  183. package/dist/types/components/lists/empty.d.ts.map +1 -1
  184. package/dist/types/components/lists/index.d.ts +2 -1
  185. package/dist/types/components/lists/index.d.ts.map +1 -1
  186. package/dist/types/components/loading/index.d.ts.map +1 -1
  187. package/dist/types/components/modals/modal-with-views.d.ts.map +1 -1
  188. package/dist/types/components/modals/modal.d.ts.map +1 -1
  189. package/dist/types/components/modals/use-modal-with-views.d.ts.map +1 -1
  190. package/dist/types/components/text/index.d.ts.map +1 -1
  191. package/dist/types/components/wallet-selector/component.d.ts +13 -0
  192. package/dist/types/components/wallet-selector/component.d.ts.map +1 -0
  193. package/dist/types/components/wallet-selector/domain.d.ts +86 -0
  194. package/dist/types/components/wallet-selector/domain.d.ts.map +1 -0
  195. package/dist/types/components/wallet-selector/helper.d.ts +4 -0
  196. package/dist/types/components/wallet-selector/helper.d.ts.map +1 -0
  197. package/dist/types/components/wallet-selector/index.d.ts +7 -0
  198. package/dist/types/components/wallet-selector/index.d.ts.map +1 -0
  199. package/dist/types/components/wallet-selector/provider.d.ts +10 -0
  200. package/dist/types/components/wallet-selector/provider.d.ts.map +1 -0
  201. package/dist/types/components/wallet-selector/schemas.d.ts +4 -0
  202. package/dist/types/components/wallet-selector/schemas.d.ts.map +1 -0
  203. package/dist/types/components/wallet-selector/store.d.ts +33 -0
  204. package/dist/types/components/wallet-selector/store.d.ts.map +1 -0
  205. package/dist/types/components/wallet-selector/util/exceptions.d.ts +7 -0
  206. package/dist/types/components/wallet-selector/util/exceptions.d.ts.map +1 -0
  207. package/dist/types/components/wallet-selector/wallets/index.d.ts +3 -0
  208. package/dist/types/components/wallet-selector/wallets/index.d.ts.map +1 -0
  209. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +34 -0
  210. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -0
  211. package/dist/types/config.d.ts +7 -0
  212. package/dist/types/config.d.ts.map +1 -1
  213. package/dist/types/context.d.ts.map +1 -1
  214. package/dist/types/index.d.ts +5 -1
  215. package/dist/types/index.d.ts.map +1 -1
  216. package/dist/types/state/checkout/store.d.ts +128 -0
  217. package/dist/types/state/checkout/store.d.ts.map +1 -0
  218. package/dist/types/themes/default.d.ts +2 -2
  219. package/dist/types/themes/default.d.ts.map +1 -1
  220. package/dist/types/themes/types.d.ts +9 -0
  221. package/dist/types/themes/types.d.ts.map +1 -1
  222. package/dist/types/utils/cn.d.ts +4 -0
  223. package/dist/types/utils/cn.d.ts.map +1 -0
  224. package/package.json +79 -62
  225. package/dist/esm/components/buttons/buttons.stories.js +0 -18
  226. package/dist/esm/components/buttons/buttons.stories.js.map +0 -1
  227. package/dist/esm/components/lists/lists.stories.js +0 -42
  228. package/dist/esm/components/lists/lists.stories.js.map +0 -1
  229. package/dist/esm/components/loading/loading.stories.js +0 -8
  230. package/dist/esm/components/loading/loading.stories.js.map +0 -1
  231. package/dist/esm/components/text/text.stories.js +0 -34
  232. package/dist/esm/components/text/text.stories.js.map +0 -1
  233. package/dist/esm/exports/components.js +0 -2
  234. package/dist/esm/exports/components.js.map +0 -1
  235. package/dist/esm/exports/config.js +0 -3
  236. package/dist/esm/exports/config.js.map +0 -1
  237. package/dist/esm/exports/index.js +0 -4
  238. package/dist/esm/exports/index.js.map +0 -1
  239. package/dist/esm/exports/themes.js +0 -2
  240. package/dist/esm/exports/themes.js.map +0 -1
  241. package/dist/types/components/buttons/buttons.stories.d.ts +0 -7
  242. package/dist/types/components/buttons/buttons.stories.d.ts.map +0 -1
  243. package/dist/types/components/lists/lists.stories.d.ts +0 -27
  244. package/dist/types/components/lists/lists.stories.d.ts.map +0 -1
  245. package/dist/types/components/loading/loading.stories.d.ts +0 -4
  246. package/dist/types/components/loading/loading.stories.d.ts.map +0 -1
  247. package/dist/types/components/text/text.stories.d.ts +0 -5
  248. package/dist/types/components/text/text.stories.d.ts.map +0 -1
  249. package/dist/types/exports/components.d.ts +0 -2
  250. package/dist/types/exports/components.d.ts.map +0 -1
  251. package/dist/types/exports/config.d.ts +0 -3
  252. package/dist/types/exports/config.d.ts.map +0 -1
  253. package/dist/types/exports/index.d.ts +0 -5
  254. package/dist/types/exports/index.d.ts.map +0 -1
  255. package/dist/types/exports/themes.d.ts +0 -2
  256. package/dist/types/exports/themes.d.ts.map +0 -1
  257. package/src/components/index.ts +0 -6
  258. package/src/components/modals/index.ts +0 -3
  259. package/src/config.ts +0 -29
  260. package/src/exports/components.ts +0 -1
  261. package/src/exports/config.ts +0 -2
  262. package/src/exports/index.ts +0 -7
  263. package/src/exports/themes.ts +0 -1
  264. package/src/index.ts +0 -0
  265. package/src/themes/types.ts +0 -35
@@ -0,0 +1,86 @@
1
+ import { Signer } from "ethers";
2
+ export type Address = string;
3
+ export type Transfer = {
4
+ blockchainId?: number;
5
+ sendingAddress: Address;
6
+ destinationAddress: Address;
7
+ amount: number;
8
+ stacks?: {
9
+ memo?: string;
10
+ };
11
+ root?: {
12
+ extrinsicId?: number;
13
+ };
14
+ solana?: {
15
+ implementationAddress?: Address;
16
+ };
17
+ evm?: {
18
+ implementationAddress?: Address;
19
+ assetName?: string;
20
+ };
21
+ };
22
+ export interface WalletInterface {
23
+ /**
24
+ * Name of the wallet IE Metamask
25
+ */
26
+ name: string;
27
+ /**
28
+ * Icon for the wallet, this typically comes from the provider
29
+ */
30
+ icon?: React.ReactNode;
31
+ /**
32
+ * URL to download the wallet
33
+ */
34
+ url?: string;
35
+ /**
36
+ * If the wallet is installed
37
+ */
38
+ installed: boolean;
39
+ /**
40
+ * Prompt the user to connect their wallet
41
+ * @returns The users first selected address
42
+ */
43
+ connect: (networkId?: number, blockchainId?: number) => Promise<Address | null>;
44
+ /**
45
+ * Prompt the user to sign a message using their wallet
46
+ */
47
+ signMessage: (message: string) => Promise<string | null>;
48
+ /**
49
+ * NOTE: currently supports ERC-20 approvals
50
+ * This fn checks if a given spenderAddress has enough allowance to spend a specified amount
51
+ * of tokens from the user's account.
52
+ * If the existing allowance is insufficient,
53
+ * it prompts the user to approve the contract for the desired token amount by sending an approve transaction.
54
+ */
55
+ approveTokenTransfer?: (amount: number, spenderAddress: string, currencyAddress: string) => Promise<string | undefined>;
56
+ /**
57
+ * Execute a transaction using the users connected wallet.
58
+ */
59
+ executeTransfer: (config: Transfer) => Promise<string | null>;
60
+ /**
61
+ * Get the users first selected address from their connected wallet
62
+ */
63
+ getAddress: () => Promise<Address | null>;
64
+ /**
65
+ * Get the users wallet balance
66
+ * @returns The users wallet balance
67
+ */
68
+ getBalance: (address: Address, tokenAddress?: Address) => Promise<{
69
+ uiAmount: string | null;
70
+ intAmount: bigint | null;
71
+ decimals: number | null;
72
+ }>;
73
+ /**
74
+ * Get the users wallet signer
75
+ * @returns The users wallet signer
76
+ */
77
+ getSigner?: () => Promise<Signer>;
78
+ /**
79
+ * Render the configuration step for the wallet
80
+ */
81
+ renderConfigureStep?: (callback: (wallet: WalletInterface | null) => void) => React.ReactNode;
82
+ }
83
+ export type WalletProviders = (() => WalletInterface | WalletInterface[] | null)[];
84
+ export type WithRequired<T, K extends keyof T> = T & Required<Pick<T, K>>;
85
+ export type PartialWith<T, K extends keyof T> = Partial<T> & Required<Pick<T, K>>;
86
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,OAAO,EAAE,CACP,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CACrB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEjC;;OAEG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE9D;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,EAAE,CACV,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,OAAO,KACnB,OAAO,CAAC;QACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC,CAAC;IAEH;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,mBAAmB,CAAC,EAAE,CACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,KAC/C,KAAK,CAAC,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAC3B,eAAe,GACf,eAAe,EAAE,GACjB,IAAI,CAAC,EAAE,CAAC;AAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GACxD,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { WithRequired } from "./domain.js";
2
+ export declare const ensureConfig: <Config, Keys extends keyof Config>(config: Partial<Config>, properties: Keys[]) => WithRequired<Config, Keys>;
3
+ export declare const normaliseName: (n: string) => string;
4
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,eAAO,MAAM,YAAY,GAAI,MAAM,EAAE,IAAI,SAAS,MAAM,MAAM,EAC5D,QAAQ,OAAO,CAAC,MAAM,CAAC,EACvB,YAAY,IAAI,EAAE,KAUD,YAAY,CAAC,MAAM,EAAE,IAAI,CAC3C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,WAAwC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import WalletSelector from "./component.js";
2
+ import { normaliseName } from "./helper.js";
3
+ import type { WalletInterface, Transfer } from "./domain.js";
4
+ export type { WalletInterface, Transfer };
5
+ export { WalletSelector, normaliseName };
6
+ export * from "./wallets/index.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { WalletInterface } from "./domain.js";
3
+ export declare const WalletContext: React.Context<{
4
+ wallet: WalletInterface | null;
5
+ setWallet: (wallet: WalletInterface) => void;
6
+ }>;
7
+ export declare const WalletProvider: ({ children, }: {
8
+ children: React.ReactElement;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,aAAa;YAChB,eAAe,GAAG,IAAI;eACnB,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;EAI5C,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,eAE5B;IACD,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B,4CAUA,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare class PopupBlockedError extends Error {
2
+ constructor();
3
+ }
4
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/schemas.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;;CAI3C"}
@@ -0,0 +1,33 @@
1
+ import { CryptoCurrency } from "../../api/types.js";
2
+ import { WalletInterface, WalletProviders } from "./domain.js";
3
+ export declare enum ACTIONS {
4
+ GET_WALLETS = "GET_WALLETS",
5
+ GET_BALANCES = "GET_BALANCES"
6
+ }
7
+ interface Actions {
8
+ initialiseWallets: (initialisers: WalletProviders) => Record<string, WalletInterface>;
9
+ clearError: (action?: ACTIONS) => void;
10
+ clearLoading: (action?: ACTIONS) => void;
11
+ fetchBalances: (currencies: CryptoCurrency[]) => Promise<void>;
12
+ setBalances: (balances: Record<string, string>) => void;
13
+ }
14
+ type StoreError = {
15
+ id: string;
16
+ title: string;
17
+ message: string;
18
+ };
19
+ interface WalletState {
20
+ wallets: Record<string, WalletInterface>;
21
+ loading: Record<ACTIONS, boolean>;
22
+ error: Record<ACTIONS, StoreError | null | undefined>;
23
+ balances: Record<string, string>;
24
+ actions: Actions;
25
+ }
26
+ export declare const useWalletStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<WalletState>, "setState"> & {
27
+ setState(nextStateOrUpdater: WalletState | Partial<WalletState> | ((state: import("immer").WritableDraft<WalletState>) => void), shouldReplace?: false): void;
28
+ setState(nextStateOrUpdater: WalletState | ((state: import("immer").WritableDraft<WalletState>) => void), shouldReplace: true): void;
29
+ }>;
30
+ export declare const useWalletActions: () => Actions;
31
+ export declare const useWalletBalances: () => Record<string, string>;
32
+ export {};
33
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/components/wallet-selector/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/D,oBAAY,OAAO;IACjB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,UAAU,OAAO;IACf,iBAAiB,EAAE,CACjB,YAAY,EAAE,eAAe,KAC1B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACzD;AAWD,KAAK,UAAU,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,cAAc;;;EAwH1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAAiD,CAAC;AAC/E,eAAO,MAAM,iBAAiB,8BACa,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare abstract class BaseError extends Error {
2
+ }
3
+ export declare class NotEnoughBalance extends BaseError {
4
+ message: string;
5
+ constructor(message: string);
6
+ }
7
+ //# sourceMappingURL=exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet-selector/util/exceptions.ts"],"names":[],"mappings":"AAAA,8BAAsB,SAAU,SAAQ,KAAK;CAAG;AAEhD,qBAAa,gBAAiB,SAAQ,SAAS;IACpC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM;CAK5B"}
@@ -0,0 +1,3 @@
1
+ import { WagmiWallets } from "./wagmi/index.js";
2
+ export { WagmiWallets };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet-selector/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Connector, Config } from "@wagmi/core";
2
+ import { JsonRpcSigner } from "ethers";
3
+ import React from "react";
4
+ import type { Address, Transfer, WalletInterface } from "../../domain.js";
5
+ import type { Account, Chain, Client, Transport } from "viem";
6
+ export declare const transferNativeCoin: (wagmiConfig: Config, address: string, amount: number) => Promise<`0x${string}`>;
7
+ export declare const transferCoins: (wagmiConfig: Config, address: string, amount: number, contractAddress: string, currency: string) => Promise<`0x${string}`>;
8
+ export declare function clientToSigner(client: Client<Transport, Chain, Account>): JsonRpcSigner;
9
+ export declare class WagmiWalletInterface implements WalletInterface {
10
+ connector: Connector;
11
+ name: string;
12
+ icon?: string;
13
+ installed: boolean;
14
+ wagmiConfig: Config;
15
+ constructor(connector: Connector, wagmiConfig: Config);
16
+ connect(networkId?: number): Promise<`0x${string}`>;
17
+ signMessage(message: string): Promise<`0x${string}`>;
18
+ getAddress(): Promise<`0x${string}` | null>;
19
+ approveTokenTransfer(amount: number, spenderAddress: string, currencyAddress: string): Promise<`0x${string}` | undefined>;
20
+ executeTransfer(transfer: Transfer): Promise<`0x${string}`>;
21
+ getBalance(address: Address, tokenAddress?: Address): Promise<{
22
+ uiAmount: string;
23
+ intAmount: bigint;
24
+ decimals: number;
25
+ }>;
26
+ getSigner(): Promise<JsonRpcSigner>;
27
+ }
28
+ export declare const WagmiWallets: (config: Config, extraConfig?: {
29
+ recommendedWallets?: WalletInterface[];
30
+ allowedWallets?: string[];
31
+ excludedWallets?: string[];
32
+ icons: Record<string, string | React.ReactNode>;
33
+ }) => (() => WalletInterface[]);
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet-selector/wallets/wagmi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAUT,MAAM,EACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAE9D,eAAO,MAAM,kBAAkB,GAC7B,aAAa,MAAM,EACnB,SAAS,MAAM,EACf,QAAQ,MAAM,2BAiBZ,CAAC;AA8EL,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,iBAAiB,MAAM,EACvB,UAAU,MAAM,2BAmBjB,CAAC;AAEF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,iBAUvE;AAED,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,UAAQ;IAEjB,WAAW,EAAE,MAAM,CAAC;gBAER,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;IAO/C,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM;IAc1B,WAAW,CAAC,OAAO,EAAE,MAAM;IAI3B,UAAU;IAIV,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM;IAUnB,eAAe,CAAC,QAAQ,EAAE,QAAQ;IAkBlC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO;;;;;IAcnD,SAAS;CAKhB;AAED,eAAO,MAAM,YAAY,GAErB,QAAQ,MAAM,EACd,cAAc;IACZ,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;CACjD,KACA,CAAC,MAAM,eAAe,EAAE,CA8B1B,CAAC"}
@@ -1,14 +1,21 @@
1
+ import { PaymentStatus } from "./api/types.js";
1
2
  import { ThemeConfig } from "./themes/types.js";
3
+ export type CryptoCheckoutConfig = {
4
+ numBlockConfirmations: number;
5
+ paymentConfirmationStatus: PaymentStatus;
6
+ };
2
7
  export type Config = {
3
8
  publicKey: string;
4
9
  checkoutId: string;
5
10
  apiUrl: string;
11
+ cryptoCheckoutConfig: CryptoCheckoutConfig;
6
12
  theme: ThemeConfig;
7
13
  };
8
14
  type ConfigOptions = {
9
15
  apiUrl?: string;
10
16
  checkoutId: string;
11
17
  theme?: Partial<ThemeConfig>;
18
+ cryptoCheckoutConfig?: CryptoCheckoutConfig;
12
19
  };
13
20
  export declare const createConfig: (publicKey: string, options?: ConfigOptions) => Config;
14
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,YAAY,cACZ,MAAM,YACP,aAAa,KACtB,MAKF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yBAAyB,EAAE,aAAa,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C,CAAC;AAIF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,EACjB,UAAU,aAAa,KACtB,MAgBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CASxB;AAED,wBAAgB,kBAAkB,WAQjC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CAUxB;AAED,wBAAgB,kBAAkB,WAQjC"}
@@ -1,2 +1,6 @@
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 { getPaymentById } from "./api/payments.js";
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","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,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { Checkout, CheckoutMethod, CryptoCurrency, Payment, CryptoPaymentAttempt, PaymentStatus } from "../../api/types.js";
2
+ import { WalletInterface, Transfer } from "../../components/wallet-selector/domain.js";
3
+ export declare enum ACTIONS {
4
+ GET_CHECKOUT_CONFIG = "GET_CHECKOUT_CONFIG",
5
+ GET_CRYPTO_CURRENCIES = "GET_CRYPTO_CURRENCIES",
6
+ CREATE_PAYMENT = "CREATE_PAYMENT",
7
+ GET_PAYMENT = "GET_PAYMENT",
8
+ CREATE_PAYMENT_ATTEMPT = "CREATE_PAYMENT_ATTEMPT",
9
+ CREATE_TEST_PAYMENT_ATTEMPT = "CREATE_TEST_PAYMENT_ATTEMPT",
10
+ EXECUTE_TRANSFER = "EXECUTE_TRANSFER",
11
+ POLL_PAYMENT = "POLL_PAYMENT",
12
+ CHECK_CHAIN_STATUS = "CHECK_CHAIN_STATUS"
13
+ }
14
+ interface TransferState {
15
+ status: "idle" | "pending" | "failed" | "success";
16
+ error: string | null;
17
+ transactionHash: string | null;
18
+ chainStatus: "pending" | "confirmed" | "failed";
19
+ }
20
+ interface PollingState {
21
+ isPolling: boolean;
22
+ pollCount: number;
23
+ lastPollTime: number | null;
24
+ }
25
+ interface CheckoutState {
26
+ checkoutId: string | null;
27
+ selectedMethod: CheckoutMethod | null;
28
+ selectedCurrency: CryptoCurrency | null;
29
+ checkout: Checkout | null;
30
+ payment: Payment | null;
31
+ cryptoPaymentAttempt: CryptoPaymentAttempt | null;
32
+ methods: CheckoutMethod[] | null;
33
+ cryptoCurrencies: CryptoCurrency[] | null;
34
+ loading: Record<ACTIONS, boolean>;
35
+ error: Record<ACTIONS, string | null | undefined>;
36
+ processing: boolean;
37
+ transfer: TransferState;
38
+ polling: PollingState;
39
+ }
40
+ export declare const useCheckoutStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<CheckoutState>, "setState"> & {
41
+ setState(nextStateOrUpdater: CheckoutState | Partial<CheckoutState> | ((state: import("immer").WritableDraft<CheckoutState>) => void), shouldReplace?: false): void;
42
+ setState(nextStateOrUpdater: CheckoutState | ((state: import("immer").WritableDraft<CheckoutState>) => void), shouldReplace: true): void;
43
+ }>;
44
+ export declare const clearErrors: () => void;
45
+ export declare const initialiseStore: (payment: Payment) => Promise<void>;
46
+ export declare const createCheckoutCryptoPaymentAttempt: (currency: CryptoCurrency) => Promise<void>;
47
+ export declare const createSuccessfulTestPaymentAttempt: () => Promise<void>;
48
+ export declare const createFailedTestPaymentAttempt: () => Promise<void>;
49
+ export declare function getAvailableCheckoutMethods(checkout: Checkout): CheckoutMethod[];
50
+ export declare const getCheckoutConfig: (checkoutId: string) => Promise<void>;
51
+ export declare const getPayment: () => Promise<{
52
+ id: string;
53
+ currency: string;
54
+ created_at: string;
55
+ updated_at: string;
56
+ checkout_id: string;
57
+ checkout: {
58
+ id: string;
59
+ organization_id: string;
60
+ name: string;
61
+ created_at: string;
62
+ updated_at: string;
63
+ checkout_config: {
64
+ crypto?: {
65
+ enabled?: boolean;
66
+ assets?: {
67
+ chain: string;
68
+ asset: string;
69
+ asset_name: string;
70
+ chain_name: string;
71
+ }[];
72
+ withdrawAddress?: {
73
+ chain: string;
74
+ address: string;
75
+ }[];
76
+ };
77
+ card?: {
78
+ enabled?: boolean;
79
+ };
80
+ };
81
+ is_live: boolean;
82
+ logo_url?: string;
83
+ };
84
+ organization_id: string;
85
+ status: "pending" | "confirming_payment" | "paid" | "failed";
86
+ is_test: boolean;
87
+ payment_attempt?: {
88
+ payment_id: string;
89
+ asset: string;
90
+ amount: number;
91
+ amount_formatted: number;
92
+ chain: string;
93
+ asset_address: string;
94
+ destination_address: string;
95
+ created_at: string;
96
+ updated_at: string;
97
+ required_confirmations: number;
98
+ };
99
+ order_id?: string | null;
100
+ customer_id?: string;
101
+ metadata?: Record<string, string | number>;
102
+ line_items?: {
103
+ name: string;
104
+ quantity: number;
105
+ image_url: string;
106
+ price: number;
107
+ }[];
108
+ amount: number;
109
+ } | null>;
110
+ interface TransferWalletInterface {
111
+ getAddress(): Promise<string | null>;
112
+ executeTransfer(config: Transfer): Promise<string | null>;
113
+ }
114
+ export declare const executeTransfer: (wallet: TransferWalletInterface) => Promise<string>;
115
+ export declare const checkChainStatus: (wallet: WalletInterface) => Promise<void>;
116
+ export declare const resetTransfer: () => void;
117
+ export declare const startPaymentPolling: (onPaymentStatusChange: (status: PaymentStatus) => void) => {
118
+ stop: () => void;
119
+ };
120
+ export declare const stopPaymentPolling: () => void;
121
+ export declare const resetCheckoutStore: () => void;
122
+ export declare const setCheckoutMethod: (method: CheckoutMethod) => void;
123
+ export declare const setProcessing: (processing: boolean) => void;
124
+ export declare const getProcessing: () => boolean;
125
+ export declare const setSelectedCurrency: (currency: CryptoCurrency | null) => void;
126
+ export declare const isTestMode: () => boolean;
127
+ export {};
128
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/state/checkout/store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ThemeConfig } from "./types.js";
2
- export declare const defaultTheme: ThemeConfig;
1
+ import { DefaultTheme } from "styled-components";
2
+ export declare const defaultTheme: DefaultTheme;
3
3
  //# sourceMappingURL=default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/themes/default.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,YAAY,EA0DpB,WAAW,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/themes/default.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,YAAY,EAAE,YAoG1B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import "styled-components";
1
2
  export type BtnThemeOptions = {
2
3
  backgroundColor: string;
3
4
  borderColor: string;
@@ -23,11 +24,19 @@ export type ThemeConfig = {
23
24
  btn: {
24
25
  primary: BtnOptions;
25
26
  secondary: BtnOptions;
27
+ success: BtnOptions;
28
+ error: BtnOptions;
26
29
  };
27
30
  icon: {
28
31
  loader: SvgIconOptions;
29
32
  close: SvgIconOptions;
30
33
  check: SvgIconOptions;
34
+ link: SvgIconOptions;
35
+ alert: SvgIconOptions;
31
36
  };
32
37
  };
38
+ declare module "styled-components" {
39
+ interface DefaultTheme extends ThemeConfig {
40
+ }
41
+ }
33
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/themes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,cAAc,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;QACtB,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/themes/types.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,cAAc,CAAC;QACvB,KAAK,EAAE,cAAc,CAAC;QACtB,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,cAAc,CAAC;QACrB,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;CACH,CAAC;AAGF,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,YAAa,SAAQ,WAAW;KAAG;CAC9C"}
@@ -0,0 +1,4 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare const cn: (...inputs: ClassValue[]) => string;
3
+ export default cn;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAE7C,eAAO,MAAM,EAAE,GAAI,GAAG,QAAQ,UAAU,EAAE,WAAiB,CAAC;AAE5D,eAAe,EAAE,CAAC"}