@0xsequence/checkout 0.0.0-20250314205219

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 (416) hide show
  1. package/LICENSE +219 -0
  2. package/README.md +256 -0
  3. package/dist/cjs/api/data.js +165 -0
  4. package/dist/cjs/api/data.js.map +1 -0
  5. package/dist/cjs/api/index.js +18 -0
  6. package/dist/cjs/api/index.js.map +1 -0
  7. package/dist/cjs/components/CopyButton.js +24 -0
  8. package/dist/cjs/components/CopyButton.js.map +1 -0
  9. package/dist/cjs/components/DefaultIcon.js +13 -0
  10. package/dist/cjs/components/DefaultIcon.js.map +1 -0
  11. package/dist/cjs/components/NavigationHeader.js +23 -0
  12. package/dist/cjs/components/NavigationHeader.js.map +1 -0
  13. package/dist/cjs/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js +215 -0
  14. package/dist/cjs/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js.map +1 -0
  15. package/dist/cjs/components/SequenceCheckoutProvider/index.js +18 -0
  16. package/dist/cjs/components/SequenceCheckoutProvider/index.js.map +1 -0
  17. package/dist/cjs/constants/abi.js +188 -0
  18. package/dist/cjs/constants/abi.js.map +1 -0
  19. package/dist/cjs/constants/index.js +8 -0
  20. package/dist/cjs/constants/index.js.map +1 -0
  21. package/dist/cjs/contexts/AddFundsModal.js +7 -0
  22. package/dist/cjs/contexts/AddFundsModal.js.map +1 -0
  23. package/dist/cjs/contexts/CheckoutModal.js +8 -0
  24. package/dist/cjs/contexts/CheckoutModal.js.map +1 -0
  25. package/dist/cjs/contexts/Navigation.js +8 -0
  26. package/dist/cjs/contexts/Navigation.js.map +1 -0
  27. package/dist/cjs/contexts/SelectPaymentModal.js +7 -0
  28. package/dist/cjs/contexts/SelectPaymentModal.js.map +1 -0
  29. package/dist/cjs/contexts/SwapModal.js +8 -0
  30. package/dist/cjs/contexts/SwapModal.js.map +1 -0
  31. package/dist/cjs/contexts/TransactionStatusModal.js +7 -0
  32. package/dist/cjs/contexts/TransactionStatusModal.js.map +1 -0
  33. package/dist/cjs/contexts/TransferFundsModal.js +7 -0
  34. package/dist/cjs/contexts/TransferFundsModal.js.map +1 -0
  35. package/dist/cjs/contexts/genericContext.js +20 -0
  36. package/dist/cjs/contexts/genericContext.js.map +1 -0
  37. package/dist/cjs/contexts/index.js +24 -0
  38. package/dist/cjs/contexts/index.js.map +1 -0
  39. package/dist/cjs/hooks/index.js +30 -0
  40. package/dist/cjs/hooks/index.js.map +1 -0
  41. package/dist/cjs/hooks/useAddFundsModal.js +10 -0
  42. package/dist/cjs/hooks/useAddFundsModal.js.map +1 -0
  43. package/dist/cjs/hooks/useCheckoutModal.js +10 -0
  44. package/dist/cjs/hooks/useCheckoutModal.js.map +1 -0
  45. package/dist/cjs/hooks/useCheckoutOptionsSalesContract.js +20 -0
  46. package/dist/cjs/hooks/useCheckoutOptionsSalesContract.js.map +1 -0
  47. package/dist/cjs/hooks/useCheckoutWhitelistStatus.js +21 -0
  48. package/dist/cjs/hooks/useCheckoutWhitelistStatus.js.map +1 -0
  49. package/dist/cjs/hooks/useERC1155SaleContractCheckout.js +157 -0
  50. package/dist/cjs/hooks/useERC1155SaleContractCheckout.js.map +1 -0
  51. package/dist/cjs/hooks/useMarketplaceClient.js +40 -0
  52. package/dist/cjs/hooks/useMarketplaceClient.js.map +1 -0
  53. package/dist/cjs/hooks/useModalTheme.js +10 -0
  54. package/dist/cjs/hooks/useModalTheme.js.map +1 -0
  55. package/dist/cjs/hooks/useNavigation.js +24 -0
  56. package/dist/cjs/hooks/useNavigation.js.map +1 -0
  57. package/dist/cjs/hooks/useSardineClientToken.js +20 -0
  58. package/dist/cjs/hooks/useSardineClientToken.js.map +1 -0
  59. package/dist/cjs/hooks/useSelectPaymentModal.js +10 -0
  60. package/dist/cjs/hooks/useSelectPaymentModal.js.map +1 -0
  61. package/dist/cjs/hooks/useSkipOnCloseCallback.js +22 -0
  62. package/dist/cjs/hooks/useSkipOnCloseCallback.js.map +1 -0
  63. package/dist/cjs/hooks/useSwapModal.js +10 -0
  64. package/dist/cjs/hooks/useSwapModal.js.map +1 -0
  65. package/dist/cjs/hooks/useTransactionStatusModal.js +10 -0
  66. package/dist/cjs/hooks/useTransactionStatusModal.js.map +1 -0
  67. package/dist/cjs/hooks/useTransferFundsModal.js +10 -0
  68. package/dist/cjs/hooks/useTransferFundsModal.js.map +1 -0
  69. package/dist/cjs/index.js +27 -0
  70. package/dist/cjs/index.js.map +1 -0
  71. package/dist/cjs/utils/index.js +18 -0
  72. package/dist/cjs/utils/index.js.map +1 -0
  73. package/dist/cjs/utils/sardine.js +52 -0
  74. package/dist/cjs/utils/sardine.js.map +1 -0
  75. package/dist/cjs/utils/sizing.js +12 -0
  76. package/dist/cjs/utils/sizing.js.map +1 -0
  77. package/dist/cjs/utils/transak.js +41 -0
  78. package/dist/cjs/utils/transak.js.map +1 -0
  79. package/dist/cjs/views/AddFunds.js +50 -0
  80. package/dist/cjs/views/AddFunds.js.map +1 -0
  81. package/dist/cjs/views/CheckoutSelection/component/OrderSummaryItem.js +35 -0
  82. package/dist/cjs/views/CheckoutSelection/component/OrderSummaryItem.js.map +1 -0
  83. package/dist/cjs/views/CheckoutSelection/index.js +83 -0
  84. package/dist/cjs/views/CheckoutSelection/index.js.map +1 -0
  85. package/dist/cjs/views/PaymentSelection/Footer.js +12 -0
  86. package/dist/cjs/views/PaymentSelection/Footer.js.map +1 -0
  87. package/dist/cjs/views/PaymentSelection/OrderSummary/Price.js +42 -0
  88. package/dist/cjs/views/PaymentSelection/OrderSummary/Price.js.map +1 -0
  89. package/dist/cjs/views/PaymentSelection/OrderSummary/index.js +63 -0
  90. package/dist/cjs/views/PaymentSelection/OrderSummary/index.js.map +1 -0
  91. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js +10 -0
  92. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js.map +1 -0
  93. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/index.js +112 -0
  94. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/index.js.map +1 -0
  95. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js +9 -0
  96. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js.map +1 -0
  97. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.js +134 -0
  98. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.js.map +1 -0
  99. package/dist/cjs/views/PaymentSelection/TransferFunds.js +50 -0
  100. package/dist/cjs/views/PaymentSelection/TransferFunds.js.map +1 -0
  101. package/dist/cjs/views/PaymentSelection/index.js +332 -0
  102. package/dist/cjs/views/PaymentSelection/index.js.map +1 -0
  103. package/dist/cjs/views/PendingCreditCardTransaction.js +295 -0
  104. package/dist/cjs/views/PendingCreditCardTransaction.js.map +1 -0
  105. package/dist/cjs/views/Swap/index.js +173 -0
  106. package/dist/cjs/views/Swap/index.js.map +1 -0
  107. package/dist/cjs/views/TransactionError.js +23 -0
  108. package/dist/cjs/views/TransactionError.js.map +1 -0
  109. package/dist/cjs/views/TransactionStatus/index.js +178 -0
  110. package/dist/cjs/views/TransactionStatus/index.js.map +1 -0
  111. package/dist/cjs/views/TransactionSuccess.js +23 -0
  112. package/dist/cjs/views/TransactionSuccess.js.map +1 -0
  113. package/dist/cjs/views/TransferToWallet/CopyButton.js +24 -0
  114. package/dist/cjs/views/TransferToWallet/CopyButton.js.map +1 -0
  115. package/dist/cjs/views/TransferToWallet/QRCode.js +13 -0
  116. package/dist/cjs/views/TransferToWallet/QRCode.js.map +1 -0
  117. package/dist/cjs/views/TransferToWallet/index.js +17 -0
  118. package/dist/cjs/views/TransferToWallet/index.js.map +1 -0
  119. package/dist/cjs/views/index.js +26 -0
  120. package/dist/cjs/views/index.js.map +1 -0
  121. package/dist/esm/api/data.js +159 -0
  122. package/dist/esm/api/data.js.map +1 -0
  123. package/dist/esm/api/index.js +2 -0
  124. package/dist/esm/api/index.js.map +1 -0
  125. package/dist/esm/components/CopyButton.js +20 -0
  126. package/dist/esm/components/CopyButton.js.map +1 -0
  127. package/dist/esm/components/DefaultIcon.js +9 -0
  128. package/dist/esm/components/DefaultIcon.js.map +1 -0
  129. package/dist/esm/components/NavigationHeader.js +19 -0
  130. package/dist/esm/components/NavigationHeader.js.map +1 -0
  131. package/dist/esm/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js +210 -0
  132. package/dist/esm/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js.map +1 -0
  133. package/dist/esm/components/SequenceCheckoutProvider/index.js +2 -0
  134. package/dist/esm/components/SequenceCheckoutProvider/index.js.map +1 -0
  135. package/dist/esm/constants/abi.js +185 -0
  136. package/dist/esm/constants/abi.js.map +1 -0
  137. package/dist/esm/constants/index.js +5 -0
  138. package/dist/esm/constants/index.js.map +1 -0
  139. package/dist/esm/contexts/AddFundsModal.js +3 -0
  140. package/dist/esm/contexts/AddFundsModal.js.map +1 -0
  141. package/dist/esm/contexts/CheckoutModal.js +4 -0
  142. package/dist/esm/contexts/CheckoutModal.js.map +1 -0
  143. package/dist/esm/contexts/Navigation.js +4 -0
  144. package/dist/esm/contexts/Navigation.js.map +1 -0
  145. package/dist/esm/contexts/SelectPaymentModal.js +3 -0
  146. package/dist/esm/contexts/SelectPaymentModal.js.map +1 -0
  147. package/dist/esm/contexts/SwapModal.js +4 -0
  148. package/dist/esm/contexts/SwapModal.js.map +1 -0
  149. package/dist/esm/contexts/TransactionStatusModal.js +3 -0
  150. package/dist/esm/contexts/TransactionStatusModal.js.map +1 -0
  151. package/dist/esm/contexts/TransferFundsModal.js +3 -0
  152. package/dist/esm/contexts/TransferFundsModal.js.map +1 -0
  153. package/dist/esm/contexts/genericContext.js +16 -0
  154. package/dist/esm/contexts/genericContext.js.map +1 -0
  155. package/dist/esm/contexts/index.js +8 -0
  156. package/dist/esm/contexts/index.js.map +1 -0
  157. package/dist/esm/hooks/index.js +14 -0
  158. package/dist/esm/hooks/index.js.map +1 -0
  159. package/dist/esm/hooks/useAddFundsModal.js +6 -0
  160. package/dist/esm/hooks/useAddFundsModal.js.map +1 -0
  161. package/dist/esm/hooks/useCheckoutModal.js +6 -0
  162. package/dist/esm/hooks/useCheckoutModal.js.map +1 -0
  163. package/dist/esm/hooks/useCheckoutOptionsSalesContract.js +16 -0
  164. package/dist/esm/hooks/useCheckoutOptionsSalesContract.js.map +1 -0
  165. package/dist/esm/hooks/useCheckoutWhitelistStatus.js +17 -0
  166. package/dist/esm/hooks/useCheckoutWhitelistStatus.js.map +1 -0
  167. package/dist/esm/hooks/useERC1155SaleContractCheckout.js +151 -0
  168. package/dist/esm/hooks/useERC1155SaleContractCheckout.js.map +1 -0
  169. package/dist/esm/hooks/useMarketplaceClient.js +36 -0
  170. package/dist/esm/hooks/useMarketplaceClient.js.map +1 -0
  171. package/dist/esm/hooks/useModalTheme.js +6 -0
  172. package/dist/esm/hooks/useModalTheme.js.map +1 -0
  173. package/dist/esm/hooks/useNavigation.js +20 -0
  174. package/dist/esm/hooks/useNavigation.js.map +1 -0
  175. package/dist/esm/hooks/useSardineClientToken.js +16 -0
  176. package/dist/esm/hooks/useSardineClientToken.js.map +1 -0
  177. package/dist/esm/hooks/useSelectPaymentModal.js +6 -0
  178. package/dist/esm/hooks/useSelectPaymentModal.js.map +1 -0
  179. package/dist/esm/hooks/useSkipOnCloseCallback.js +18 -0
  180. package/dist/esm/hooks/useSkipOnCloseCallback.js.map +1 -0
  181. package/dist/esm/hooks/useSwapModal.js +6 -0
  182. package/dist/esm/hooks/useSwapModal.js.map +1 -0
  183. package/dist/esm/hooks/useTransactionStatusModal.js +6 -0
  184. package/dist/esm/hooks/useTransactionStatusModal.js.map +1 -0
  185. package/dist/esm/hooks/useTransferFundsModal.js +6 -0
  186. package/dist/esm/hooks/useTransferFundsModal.js.map +1 -0
  187. package/dist/esm/index.js +13 -0
  188. package/dist/esm/index.js.map +1 -0
  189. package/dist/esm/utils/index.js +2 -0
  190. package/dist/esm/utils/index.js.map +1 -0
  191. package/dist/esm/utils/sardine.js +48 -0
  192. package/dist/esm/utils/sardine.js.map +1 -0
  193. package/dist/esm/utils/sizing.js +8 -0
  194. package/dist/esm/utils/sizing.js.map +1 -0
  195. package/dist/esm/utils/transak.js +36 -0
  196. package/dist/esm/utils/transak.js.map +1 -0
  197. package/dist/esm/views/AddFunds.js +46 -0
  198. package/dist/esm/views/AddFunds.js.map +1 -0
  199. package/dist/esm/views/CheckoutSelection/component/OrderSummaryItem.js +30 -0
  200. package/dist/esm/views/CheckoutSelection/component/OrderSummaryItem.js.map +1 -0
  201. package/dist/esm/views/CheckoutSelection/index.js +79 -0
  202. package/dist/esm/views/CheckoutSelection/index.js.map +1 -0
  203. package/dist/esm/views/PaymentSelection/Footer.js +8 -0
  204. package/dist/esm/views/PaymentSelection/Footer.js.map +1 -0
  205. package/dist/esm/views/PaymentSelection/OrderSummary/Price.js +38 -0
  206. package/dist/esm/views/PaymentSelection/OrderSummary/Price.js.map +1 -0
  207. package/dist/esm/views/PaymentSelection/OrderSummary/index.js +59 -0
  208. package/dist/esm/views/PaymentSelection/OrderSummary/index.js.map +1 -0
  209. package/dist/esm/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js +6 -0
  210. package/dist/esm/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js.map +1 -0
  211. package/dist/esm/views/PaymentSelection/PayWithCreditCard/index.js +108 -0
  212. package/dist/esm/views/PaymentSelection/PayWithCreditCard/index.js.map +1 -0
  213. package/dist/esm/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js +5 -0
  214. package/dist/esm/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js.map +1 -0
  215. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.js +130 -0
  216. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.js.map +1 -0
  217. package/dist/esm/views/PaymentSelection/TransferFunds.js +46 -0
  218. package/dist/esm/views/PaymentSelection/TransferFunds.js.map +1 -0
  219. package/dist/esm/views/PaymentSelection/index.js +326 -0
  220. package/dist/esm/views/PaymentSelection/index.js.map +1 -0
  221. package/dist/esm/views/PendingCreditCardTransaction.js +286 -0
  222. package/dist/esm/views/PendingCreditCardTransaction.js.map +1 -0
  223. package/dist/esm/views/Swap/index.js +169 -0
  224. package/dist/esm/views/Swap/index.js.map +1 -0
  225. package/dist/esm/views/TransactionError.js +18 -0
  226. package/dist/esm/views/TransactionError.js.map +1 -0
  227. package/dist/esm/views/TransactionStatus/index.js +170 -0
  228. package/dist/esm/views/TransactionStatus/index.js.map +1 -0
  229. package/dist/esm/views/TransactionSuccess.js +18 -0
  230. package/dist/esm/views/TransactionSuccess.js.map +1 -0
  231. package/dist/esm/views/TransferToWallet/CopyButton.js +20 -0
  232. package/dist/esm/views/TransferToWallet/CopyButton.js.map +1 -0
  233. package/dist/esm/views/TransferToWallet/QRCode.js +9 -0
  234. package/dist/esm/views/TransferToWallet/QRCode.js.map +1 -0
  235. package/dist/esm/views/TransferToWallet/index.js +13 -0
  236. package/dist/esm/views/TransferToWallet/index.js.map +1 -0
  237. package/dist/esm/views/index.js +10 -0
  238. package/dist/esm/views/index.js.map +1 -0
  239. package/dist/types/api/data.d.ts +21 -0
  240. package/dist/types/api/data.d.ts.map +1 -0
  241. package/dist/types/api/index.d.ts +2 -0
  242. package/dist/types/api/index.d.ts.map +1 -0
  243. package/dist/types/components/CopyButton.d.ts +9 -0
  244. package/dist/types/components/CopyButton.d.ts.map +1 -0
  245. package/dist/types/components/DefaultIcon.d.ts +6 -0
  246. package/dist/types/components/DefaultIcon.d.ts.map +1 -0
  247. package/dist/types/components/NavigationHeader.d.ts +8 -0
  248. package/dist/types/components/NavigationHeader.d.ts.map +1 -0
  249. package/dist/types/components/SequenceCheckoutProvider/SequenceCheckoutProvider.d.ts +7 -0
  250. package/dist/types/components/SequenceCheckoutProvider/SequenceCheckoutProvider.d.ts.map +1 -0
  251. package/dist/types/components/SequenceCheckoutProvider/index.d.ts +2 -0
  252. package/dist/types/components/SequenceCheckoutProvider/index.d.ts.map +1 -0
  253. package/dist/types/constants/abi.d.ts +46 -0
  254. package/dist/types/constants/abi.d.ts.map +1 -0
  255. package/dist/types/constants/index.d.ts +5 -0
  256. package/dist/types/constants/index.d.ts.map +1 -0
  257. package/dist/types/contexts/AddFundsModal.d.ts +22 -0
  258. package/dist/types/contexts/AddFundsModal.d.ts.map +1 -0
  259. package/dist/types/contexts/CheckoutModal.d.ts +56 -0
  260. package/dist/types/contexts/CheckoutModal.d.ts.map +1 -0
  261. package/dist/types/contexts/Navigation.d.ts +38 -0
  262. package/dist/types/contexts/Navigation.d.ts.map +1 -0
  263. package/dist/types/contexts/SelectPaymentModal.d.ts +43 -0
  264. package/dist/types/contexts/SelectPaymentModal.d.ts.map +1 -0
  265. package/dist/types/contexts/SwapModal.d.ts +25 -0
  266. package/dist/types/contexts/SwapModal.d.ts.map +1 -0
  267. package/dist/types/contexts/TransactionStatusModal.d.ts +25 -0
  268. package/dist/types/contexts/TransactionStatusModal.d.ts.map +1 -0
  269. package/dist/types/contexts/TransferFundsModal.d.ts +13 -0
  270. package/dist/types/contexts/TransferFundsModal.d.ts.map +1 -0
  271. package/dist/types/contexts/genericContext.d.ts +2 -0
  272. package/dist/types/contexts/genericContext.d.ts.map +1 -0
  273. package/dist/types/contexts/index.d.ts +8 -0
  274. package/dist/types/contexts/index.d.ts.map +1 -0
  275. package/dist/types/hooks/index.d.ts +14 -0
  276. package/dist/types/hooks/index.d.ts.map +1 -0
  277. package/dist/types/hooks/useAddFundsModal.d.ts +6 -0
  278. package/dist/types/hooks/useAddFundsModal.d.ts.map +1 -0
  279. package/dist/types/hooks/useCheckoutModal.d.ts +6 -0
  280. package/dist/types/hooks/useCheckoutModal.d.ts.map +1 -0
  281. package/dist/types/hooks/useCheckoutOptionsSalesContract.d.ts +6 -0
  282. package/dist/types/hooks/useCheckoutOptionsSalesContract.d.ts.map +1 -0
  283. package/dist/types/hooks/useCheckoutWhitelistStatus.d.ts +3 -0
  284. package/dist/types/hooks/useCheckoutWhitelistStatus.d.ts.map +1 -0
  285. package/dist/types/hooks/useERC1155SaleContractCheckout.d.ts +37 -0
  286. package/dist/types/hooks/useERC1155SaleContractCheckout.d.ts.map +1 -0
  287. package/dist/types/hooks/useMarketplaceClient.d.ts +9 -0
  288. package/dist/types/hooks/useMarketplaceClient.d.ts.map +1 -0
  289. package/dist/types/hooks/useModalTheme.d.ts +2 -0
  290. package/dist/types/hooks/useModalTheme.d.ts.map +1 -0
  291. package/dist/types/hooks/useNavigation.d.ts +11 -0
  292. package/dist/types/hooks/useNavigation.d.ts.map +1 -0
  293. package/dist/types/hooks/useSardineClientToken.d.ts +3 -0
  294. package/dist/types/hooks/useSardineClientToken.d.ts.map +1 -0
  295. package/dist/types/hooks/useSelectPaymentModal.d.ts +6 -0
  296. package/dist/types/hooks/useSelectPaymentModal.d.ts.map +1 -0
  297. package/dist/types/hooks/useSkipOnCloseCallback.d.ts +6 -0
  298. package/dist/types/hooks/useSkipOnCloseCallback.d.ts.map +1 -0
  299. package/dist/types/hooks/useSwapModal.d.ts +6 -0
  300. package/dist/types/hooks/useSwapModal.d.ts.map +1 -0
  301. package/dist/types/hooks/useTransactionStatusModal.d.ts +6 -0
  302. package/dist/types/hooks/useTransactionStatusModal.d.ts.map +1 -0
  303. package/dist/types/hooks/useTransferFundsModal.d.ts +6 -0
  304. package/dist/types/hooks/useTransferFundsModal.d.ts.map +1 -0
  305. package/dist/types/index.d.ts +14 -0
  306. package/dist/types/index.d.ts.map +1 -0
  307. package/dist/types/utils/index.d.ts +2 -0
  308. package/dist/types/utils/index.d.ts.map +1 -0
  309. package/dist/types/utils/sardine.d.ts +6 -0
  310. package/dist/types/utils/sardine.d.ts.map +1 -0
  311. package/dist/types/utils/sizing.d.ts +2 -0
  312. package/dist/types/utils/sizing.d.ts.map +1 -0
  313. package/dist/types/utils/transak.d.ts +7 -0
  314. package/dist/types/utils/transak.d.ts.map +1 -0
  315. package/dist/types/views/AddFunds.d.ts +2 -0
  316. package/dist/types/views/AddFunds.d.ts.map +1 -0
  317. package/dist/types/views/CheckoutSelection/component/OrderSummaryItem.d.ts +10 -0
  318. package/dist/types/views/CheckoutSelection/component/OrderSummaryItem.d.ts.map +1 -0
  319. package/dist/types/views/CheckoutSelection/index.d.ts +2 -0
  320. package/dist/types/views/CheckoutSelection/index.d.ts.map +1 -0
  321. package/dist/types/views/PaymentSelection/Footer.d.ts +2 -0
  322. package/dist/types/views/PaymentSelection/Footer.d.ts.map +1 -0
  323. package/dist/types/views/PaymentSelection/OrderSummary/Price.d.ts +2 -0
  324. package/dist/types/views/PaymentSelection/OrderSummary/Price.d.ts.map +1 -0
  325. package/dist/types/views/PaymentSelection/OrderSummary/index.d.ts +2 -0
  326. package/dist/types/views/PaymentSelection/OrderSummary/index.d.ts.map +1 -0
  327. package/dist/types/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.d.ts +11 -0
  328. package/dist/types/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.d.ts.map +1 -0
  329. package/dist/types/views/PaymentSelection/PayWithCreditCard/index.d.ts +9 -0
  330. package/dist/types/views/PaymentSelection/PayWithCreditCard/index.d.ts.map +1 -0
  331. package/dist/types/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.d.ts +2 -0
  332. package/dist/types/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.d.ts.map +1 -0
  333. package/dist/types/views/PaymentSelection/PayWithCrypto/index.d.ts +12 -0
  334. package/dist/types/views/PaymentSelection/PayWithCrypto/index.d.ts.map +1 -0
  335. package/dist/types/views/PaymentSelection/TransferFunds.d.ts +2 -0
  336. package/dist/types/views/PaymentSelection/TransferFunds.d.ts.map +1 -0
  337. package/dist/types/views/PaymentSelection/index.d.ts +4 -0
  338. package/dist/types/views/PaymentSelection/index.d.ts.map +1 -0
  339. package/dist/types/views/PendingCreditCardTransaction.d.ts +8 -0
  340. package/dist/types/views/PendingCreditCardTransaction.d.ts.map +1 -0
  341. package/dist/types/views/Swap/index.d.ts +2 -0
  342. package/dist/types/views/Swap/index.d.ts.map +1 -0
  343. package/dist/types/views/TransactionError.d.ts +3 -0
  344. package/dist/types/views/TransactionError.d.ts.map +1 -0
  345. package/dist/types/views/TransactionStatus/index.d.ts +9 -0
  346. package/dist/types/views/TransactionStatus/index.d.ts.map +1 -0
  347. package/dist/types/views/TransactionSuccess.d.ts +3 -0
  348. package/dist/types/views/TransactionSuccess.d.ts.map +1 -0
  349. package/dist/types/views/TransferToWallet/CopyButton.d.ts +10 -0
  350. package/dist/types/views/TransferToWallet/CopyButton.d.ts.map +1 -0
  351. package/dist/types/views/TransferToWallet/QRCode.d.ts +6 -0
  352. package/dist/types/views/TransferToWallet/QRCode.d.ts.map +1 -0
  353. package/dist/types/views/TransferToWallet/index.d.ts +2 -0
  354. package/dist/types/views/TransferToWallet/index.d.ts.map +1 -0
  355. package/dist/types/views/index.d.ts +10 -0
  356. package/dist/types/views/index.d.ts.map +1 -0
  357. package/package.json +73 -0
  358. package/src/api/data.ts +194 -0
  359. package/src/api/index.ts +1 -0
  360. package/src/components/CopyButton.tsx +32 -0
  361. package/src/components/DefaultIcon.tsx +22 -0
  362. package/src/components/NavigationHeader.tsx +57 -0
  363. package/src/components/SequenceCheckoutProvider/SequenceCheckoutProvider.tsx +363 -0
  364. package/src/components/SequenceCheckoutProvider/index.ts +1 -0
  365. package/src/constants/abi.ts +185 -0
  366. package/src/constants/index.ts +4 -0
  367. package/src/contexts/AddFundsModal.ts +25 -0
  368. package/src/contexts/CheckoutModal.ts +65 -0
  369. package/src/contexts/Navigation.ts +56 -0
  370. package/src/contexts/SelectPaymentModal.ts +50 -0
  371. package/src/contexts/SwapModal.ts +31 -0
  372. package/src/contexts/TransactionStatusModal.ts +29 -0
  373. package/src/contexts/TransferFundsModal.ts +16 -0
  374. package/src/contexts/genericContext.ts +19 -0
  375. package/src/contexts/index.ts +7 -0
  376. package/src/hooks/index.ts +13 -0
  377. package/src/hooks/useAddFundsModal.ts +7 -0
  378. package/src/hooks/useCheckoutModal.ts +7 -0
  379. package/src/hooks/useCheckoutOptionsSalesContract.ts +28 -0
  380. package/src/hooks/useCheckoutWhitelistStatus.ts +20 -0
  381. package/src/hooks/useERC1155SaleContractCheckout.ts +260 -0
  382. package/src/hooks/useMarketplaceClient.ts +49 -0
  383. package/src/hooks/useModalTheme.ts +7 -0
  384. package/src/hooks/useNavigation.ts +33 -0
  385. package/src/hooks/useSardineClientToken.ts +18 -0
  386. package/src/hooks/useSelectPaymentModal.ts +7 -0
  387. package/src/hooks/useSkipOnCloseCallback.ts +25 -0
  388. package/src/hooks/useSwapModal.ts +7 -0
  389. package/src/hooks/useTransactionStatusModal.ts +7 -0
  390. package/src/hooks/useTransferFundsModal.ts +7 -0
  391. package/src/index.ts +19 -0
  392. package/src/utils/index.ts +1 -0
  393. package/src/utils/sardine.ts +62 -0
  394. package/src/utils/sizing.ts +8 -0
  395. package/src/utils/transak.ts +72 -0
  396. package/src/views/AddFunds.tsx +59 -0
  397. package/src/views/CheckoutSelection/component/OrderSummaryItem.tsx +82 -0
  398. package/src/views/CheckoutSelection/index.tsx +207 -0
  399. package/src/views/PaymentSelection/Footer.tsx +39 -0
  400. package/src/views/PaymentSelection/OrderSummary/Price.tsx +66 -0
  401. package/src/views/PaymentSelection/OrderSummary/index.tsx +113 -0
  402. package/src/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.tsx +38 -0
  403. package/src/views/PaymentSelection/PayWithCreditCard/index.tsx +177 -0
  404. package/src/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.tsx +11 -0
  405. package/src/views/PaymentSelection/PayWithCrypto/index.tsx +250 -0
  406. package/src/views/PaymentSelection/TransferFunds.tsx +98 -0
  407. package/src/views/PaymentSelection/index.tsx +484 -0
  408. package/src/views/PendingCreditCardTransaction.tsx +429 -0
  409. package/src/views/Swap/index.tsx +289 -0
  410. package/src/views/TransactionError.tsx +39 -0
  411. package/src/views/TransactionStatus/index.tsx +337 -0
  412. package/src/views/TransactionSuccess.tsx +51 -0
  413. package/src/views/TransferToWallet/CopyButton.tsx +37 -0
  414. package/src/views/TransferToWallet/QRCode.tsx +25 -0
  415. package/src/views/TransferToWallet/index.tsx +36 -0
  416. package/src/views/index.ts +9 -0
@@ -0,0 +1,484 @@
1
+ import {
2
+ useAnalyticsContext,
3
+ compareAddress,
4
+ TRANSACTION_CONFIRMATIONS_DEFAULT,
5
+ sendTransactions,
6
+ ContractVerificationStatus
7
+ } from '@0xsequence/connect'
8
+ import { Button, Divider, Text } from '@0xsequence/design-system'
9
+ import { findSupportedNetwork } from '@0xsequence/network'
10
+ import {
11
+ useClearCachedBalances,
12
+ useGetTokenBalancesSummary,
13
+ useGetContractInfo,
14
+ SwapPricesWithCurrencyInfo,
15
+ useGetSwapPrices,
16
+ useGetSwapQuote,
17
+ useIndexerClient
18
+ } from '@0xsequence/react-hooks'
19
+ import { useState, useEffect } from 'react'
20
+ import { encodeFunctionData, Hex, zeroAddress } from 'viem'
21
+ import { usePublicClient, useWalletClient, useReadContract, useAccount } from 'wagmi'
22
+
23
+ import { NavigationHeader } from '../../components/NavigationHeader'
24
+ import { HEADER_HEIGHT, NFT_CHECKOUT_SOURCE } from '../../constants'
25
+ import { ERC_20_CONTRACT_ABI } from '../../constants/abi'
26
+ import { useSelectPaymentModal, useTransactionStatusModal, useSkipOnCloseCallback } from '../../hooks'
27
+
28
+ import { Footer } from './Footer'
29
+ import { OrderSummary } from './OrderSummary'
30
+ import { PayWithCreditCard } from './PayWithCreditCard'
31
+ import { PayWithCrypto } from './PayWithCrypto/index'
32
+ import { TransferFunds } from './TransferFunds'
33
+
34
+ export const PaymentSelection = () => {
35
+ return (
36
+ <>
37
+ <PaymentSelectionHeader />
38
+ <PaymentSelectionContent />
39
+ </>
40
+ )
41
+ }
42
+
43
+ export const PaymentSelectionHeader = () => {
44
+ return <NavigationHeader primaryText="Checkout" />
45
+ }
46
+
47
+ export const PaymentSelectionContent = () => {
48
+ const { openTransactionStatusModal } = useTransactionStatusModal()
49
+ const { selectPaymentSettings } = useSelectPaymentModal()
50
+ const { analytics } = useAnalyticsContext()
51
+
52
+ const [disableButtons, setDisableButtons] = useState(false)
53
+ const [isError, setIsError] = useState<boolean>(false)
54
+
55
+ if (!selectPaymentSettings) {
56
+ return null
57
+ }
58
+ const {
59
+ chain,
60
+ collectibles,
61
+ collectionAddress,
62
+ currencyAddress,
63
+ targetContractAddress,
64
+ price,
65
+ txData,
66
+ enableTransferFunds = true,
67
+ enableMainCurrencyPayment = true,
68
+ enableSwapPayments = true,
69
+ creditCardProviders = [],
70
+ transactionConfirmations = TRANSACTION_CONFIRMATIONS_DEFAULT,
71
+ onSuccess = () => {},
72
+ onError = () => {},
73
+ onClose = () => {},
74
+ supplementaryAnalyticsInfo
75
+ } = selectPaymentSettings
76
+
77
+ const isNativeToken = compareAddress(currencyAddress, zeroAddress)
78
+
79
+ const [selectedCurrency, setSelectedCurrency] = useState<string>()
80
+ const network = findSupportedNetwork(chain)
81
+ const chainId = network?.chainId || 137
82
+ const { address: userAddress, connector } = useAccount()
83
+ const { data: walletClient } = useWalletClient({
84
+ chainId
85
+ })
86
+ const publicClient = usePublicClient({
87
+ chainId
88
+ })
89
+ const indexerClient = useIndexerClient(chainId)
90
+ const { clearCachedBalances } = useClearCachedBalances()
91
+ const { closeSelectPaymentModal } = useSelectPaymentModal()
92
+ const { skipOnCloseCallback } = useSkipOnCloseCallback(onClose)
93
+
94
+ const { data: allowanceData, isLoading: allowanceIsLoading } = useReadContract({
95
+ abi: ERC_20_CONTRACT_ABI,
96
+ functionName: 'allowance',
97
+ chainId: chainId,
98
+ address: currencyAddress as Hex,
99
+ args: [userAddress, targetContractAddress],
100
+ query: {
101
+ enabled: !!userAddress && !isNativeToken
102
+ }
103
+ })
104
+
105
+ const { data: _currencyBalanceData, isLoading: currencyBalanceIsLoading } = useGetTokenBalancesSummary({
106
+ chainIds: [chainId],
107
+ filter: {
108
+ accountAddresses: userAddress ? [userAddress] : [],
109
+ contractStatus: ContractVerificationStatus.ALL,
110
+ contractWhitelist: [currencyAddress],
111
+ omitNativeBalances: false
112
+ },
113
+ // omitMetadata must be true to avoid a bug
114
+ omitMetadata: true
115
+ })
116
+
117
+ const { data: _currencyInfoData, isLoading: isLoadingCurrencyInfo } = useGetContractInfo({
118
+ chainID: String(chainId),
119
+ contractAddress: currencyAddress
120
+ })
121
+
122
+ const buyCurrencyAddress = currencyAddress
123
+ const sellCurrencyAddress = selectedCurrency || ''
124
+
125
+ const { data: swapPrices = [], isLoading: _swapPricesIsLoading } = useGetSwapPrices(
126
+ {
127
+ userAddress: userAddress ?? '',
128
+ buyCurrencyAddress,
129
+ chainId: chainId,
130
+ buyAmount: price,
131
+ withContractInfo: true
132
+ },
133
+ { disabled: !enableSwapPayments }
134
+ )
135
+
136
+ const disableSwapQuote = !selectedCurrency || compareAddress(selectedCurrency, buyCurrencyAddress)
137
+
138
+ const { data: swapQuote, isLoading: isLoadingSwapQuote } = useGetSwapQuote(
139
+ {
140
+ userAddress: userAddress ?? '',
141
+ buyCurrencyAddress: currencyAddress,
142
+ buyAmount: price,
143
+ chainId: chainId,
144
+ sellCurrencyAddress,
145
+ includeApprove: true
146
+ },
147
+ {
148
+ disabled: disableSwapQuote
149
+ }
150
+ )
151
+
152
+ const isLoading = (allowanceIsLoading && !isNativeToken) || currencyBalanceIsLoading || isLoadingCurrencyInfo
153
+
154
+ const isApproved: boolean = (allowanceData as bigint) >= BigInt(price) || isNativeToken
155
+
156
+ // const balanceInfo = currencyBalanceData?.find(balanceData => compareAddress(currencyAddress, balanceData.contractAddress))
157
+ // const balance: bigint = BigInt(balanceInfo?.balance || '0')
158
+ // let balanceFormatted = Number(formatUnits(balance, currencyInfoData?.decimals || 0))
159
+ // balanceFormatted = Math.trunc(Number(balanceFormatted) * 10000) / 10000
160
+
161
+ useEffect(() => {
162
+ clearCachedBalances()
163
+ }, [])
164
+
165
+ const onPurchaseMainCurrency = async () => {
166
+ if (!walletClient || !userAddress || !publicClient || !userAddress || !connector) {
167
+ return
168
+ }
169
+
170
+ setIsError(false)
171
+ setDisableButtons(true)
172
+
173
+ try {
174
+ const walletClientChainId = await walletClient.getChainId()
175
+ if (walletClientChainId !== chainId) {
176
+ await walletClient.switchChain({ id: chainId })
177
+ }
178
+
179
+ const approveTxData = encodeFunctionData({
180
+ abi: ERC_20_CONTRACT_ABI,
181
+ functionName: 'approve',
182
+ args: [targetContractAddress, price]
183
+ })
184
+
185
+ const transactions = [
186
+ ...(isApproved
187
+ ? []
188
+ : [
189
+ {
190
+ to: currencyAddress as Hex,
191
+ data: approveTxData,
192
+ chainId
193
+ }
194
+ ]),
195
+ {
196
+ to: targetContractAddress as Hex,
197
+ data: txData,
198
+ chainId,
199
+ ...(isNativeToken
200
+ ? {
201
+ value: BigInt(price)
202
+ }
203
+ : {})
204
+ }
205
+ ]
206
+
207
+ const txHash = await sendTransactions({
208
+ chainId,
209
+ senderAddress: userAddress,
210
+ publicClient,
211
+ walletClient,
212
+ indexerClient,
213
+ connector,
214
+ transactions,
215
+ transactionConfirmations,
216
+ waitConfirmationForLastTransaction: false
217
+ })
218
+
219
+ analytics?.track({
220
+ event: 'SEND_TRANSACTION_REQUEST',
221
+ props: {
222
+ ...supplementaryAnalyticsInfo,
223
+ type: 'crypto',
224
+ source: NFT_CHECKOUT_SOURCE,
225
+ chainId: String(chainId),
226
+ listedCurrency: currencyAddress,
227
+ purchasedCurrency: currencyAddress,
228
+ origin: window.location.origin,
229
+ from: userAddress,
230
+ to: targetContractAddress,
231
+ item_ids: JSON.stringify(collectibles.map(c => c.tokenId)),
232
+ item_quantities: JSON.stringify(collectibles.map(c => c.quantity)),
233
+ txHash
234
+ }
235
+ })
236
+
237
+ closeSelectPaymentModal()
238
+
239
+ skipOnCloseCallback()
240
+
241
+ openTransactionStatusModal({
242
+ chainId,
243
+ currencyAddress,
244
+ collectionAddress,
245
+ txHash,
246
+ items: collectibles.map(collectible => ({
247
+ tokenId: collectible.tokenId,
248
+ quantity: collectible.quantity,
249
+ decimals: collectible.decimals,
250
+ price: collectible.price || price
251
+ })),
252
+ onSuccess: () => {
253
+ clearCachedBalances()
254
+ onSuccess(txHash)
255
+ },
256
+ onClose
257
+ })
258
+ } catch (e) {
259
+ console.error('Failed to purchase...', e)
260
+ onError(e as Error)
261
+ setIsError(true)
262
+ }
263
+
264
+ setDisableButtons(false)
265
+ }
266
+
267
+ const onClickPurchaseSwap = async (swapPrice: SwapPricesWithCurrencyInfo) => {
268
+ if (!walletClient || !userAddress || !publicClient || !userAddress || !connector || !swapQuote) {
269
+ return
270
+ }
271
+
272
+ setIsError(false)
273
+ setDisableButtons(true)
274
+
275
+ try {
276
+ const walletClientChainId = await walletClient.getChainId()
277
+ if (walletClientChainId !== chainId) {
278
+ await walletClient.switchChain({ id: chainId })
279
+ }
280
+
281
+ const approveTxData = encodeFunctionData({
282
+ abi: ERC_20_CONTRACT_ABI,
283
+ functionName: 'approve',
284
+ args: [targetContractAddress, price]
285
+ })
286
+
287
+ const isSwapNativeToken = compareAddress(zeroAddress, swapPrice.price.currencyAddress)
288
+
289
+ const transactions = [
290
+ // Swap quote optional approve step
291
+ ...(swapQuote?.approveData && !isSwapNativeToken
292
+ ? [
293
+ {
294
+ to: swapPrice.price.currencyAddress as Hex,
295
+ data: swapQuote.approveData as Hex,
296
+ chain: chainId
297
+ }
298
+ ]
299
+ : []),
300
+ // Swap quote tx
301
+ {
302
+ to: swapQuote.to as Hex,
303
+ data: swapQuote.transactionData as Hex,
304
+ chain: chainId,
305
+ ...(isSwapNativeToken
306
+ ? {
307
+ value: BigInt(swapQuote.transactionValue)
308
+ }
309
+ : {})
310
+ },
311
+ // Actual transaction optional approve step
312
+ ...(isApproved || isNativeToken
313
+ ? []
314
+ : [
315
+ {
316
+ to: currencyAddress as Hex,
317
+ data: approveTxData as Hex,
318
+ chainId: chainId
319
+ }
320
+ ]),
321
+ // transaction on the contract
322
+ {
323
+ to: targetContractAddress as Hex,
324
+ data: txData as Hex,
325
+ chainId,
326
+ ...(isNativeToken
327
+ ? {
328
+ value: BigInt(price)
329
+ }
330
+ : {})
331
+ }
332
+ ]
333
+
334
+ const txHash = await sendTransactions({
335
+ chainId,
336
+ senderAddress: userAddress,
337
+ publicClient,
338
+ walletClient,
339
+ indexerClient,
340
+ connector,
341
+ transactions,
342
+ transactionConfirmations,
343
+ waitConfirmationForLastTransaction: false
344
+ })
345
+
346
+ analytics?.track({
347
+ event: 'SEND_TRANSACTION_REQUEST',
348
+ props: {
349
+ ...supplementaryAnalyticsInfo,
350
+ type: 'crypto',
351
+ source: NFT_CHECKOUT_SOURCE,
352
+ chainId: String(chainId),
353
+ listedCurrency: swapPrice.price.currencyAddress,
354
+ purchasedCurrency: currencyAddress,
355
+ origin: window.location.origin,
356
+ from: userAddress,
357
+ to: targetContractAddress,
358
+ item_ids: JSON.stringify(collectibles.map(c => c.tokenId)),
359
+ item_quantities: JSON.stringify(collectibles.map(c => c.quantity)),
360
+ txHash
361
+ }
362
+ })
363
+
364
+ closeSelectPaymentModal()
365
+
366
+ skipOnCloseCallback()
367
+
368
+ openTransactionStatusModal({
369
+ chainId,
370
+ currencyAddress,
371
+ collectionAddress,
372
+ txHash,
373
+ items: collectibles.map(collectible => ({
374
+ tokenId: collectible.tokenId,
375
+ quantity: collectible.quantity,
376
+ decimals: collectible.decimals,
377
+ price: collectible.price || price
378
+ })),
379
+ onSuccess: () => {
380
+ clearCachedBalances()
381
+ onSuccess(txHash)
382
+ },
383
+ onClose
384
+ })
385
+ } catch (e) {
386
+ console.error('Failed to purchase...', e)
387
+ onError(e as Error)
388
+ setIsError(true)
389
+ }
390
+
391
+ setDisableButtons(false)
392
+ }
393
+
394
+ const onClickPurchase = () => {
395
+ if (compareAddress(selectedCurrency || '', currencyAddress)) {
396
+ onPurchaseMainCurrency()
397
+ } else {
398
+ const foundSwap = swapPrices?.find(price => price.info?.address === selectedCurrency)
399
+ if (foundSwap) {
400
+ onClickPurchaseSwap(foundSwap)
401
+ }
402
+ }
403
+ }
404
+
405
+ return (
406
+ <>
407
+ <div
408
+ className="flex flex-col gap-2 items-start w-full pb-0 px-6 h-full"
409
+ style={{
410
+ paddingTop: HEADER_HEIGHT
411
+ }}
412
+ >
413
+ <div className="flex flex-col w-full gap-2">
414
+ <OrderSummary />
415
+ </div>
416
+ {(enableMainCurrencyPayment || enableSwapPayments) && (
417
+ <>
418
+ <Divider className="w-full my-3" />
419
+ <PayWithCrypto
420
+ settings={selectPaymentSettings}
421
+ disableButtons={disableButtons}
422
+ selectedCurrency={selectedCurrency}
423
+ setSelectedCurrency={setSelectedCurrency}
424
+ isLoading={isLoading}
425
+ />
426
+ </>
427
+ )}
428
+ {creditCardProviders?.length > 0 && (
429
+ <>
430
+ <Divider className="w-full my-3" />
431
+ <PayWithCreditCard
432
+ settings={selectPaymentSettings}
433
+ disableButtons={disableButtons}
434
+ skipOnCloseCallback={skipOnCloseCallback}
435
+ />
436
+ </>
437
+ )}
438
+ {enableTransferFunds && (
439
+ <>
440
+ <Divider className="w-full my-3" />
441
+ <TransferFunds />
442
+ </>
443
+ )}
444
+ {(enableMainCurrencyPayment || enableSwapPayments) && (
445
+ <>
446
+ {isError && (
447
+ <div className="w-full" style={{ marginBottom: '-18px' }}>
448
+ <Text color="negative" variant="small">
449
+ A problem occurred while executing the transaction.
450
+ </Text>
451
+ </div>
452
+ )}
453
+ <div className="w-full">
454
+ <Button
455
+ className="mt-6 w-full"
456
+ onClick={onClickPurchase}
457
+ disabled={isLoading || disableButtons || !selectedCurrency || (!disableSwapQuote && isLoadingSwapQuote)}
458
+ shape="square"
459
+ variant="primary"
460
+ label="Complete Purchase"
461
+ />
462
+ <div className="flex w-full justify-center items-center gap-0.5 my-2">
463
+ {/* Replace by icon from design-system once new release is out */}
464
+ <svg width="13" height="12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 12" fill="none">
465
+ <path
466
+ fillRule="evenodd"
467
+ clipRule="evenodd"
468
+ d="M8.82807 5.24497V3.52873C8.82807 2.24258 7.78549 1.19995 6.49934 1.19995C5.21319 1.19995 4.17057 2.24258 4.17057 3.52873L4.17057 5.24497H3.9832C3.32046 5.24497 2.7832 5.78223 2.7832 6.44497V9.49529C2.7832 10.158 3.32046 10.6953 3.9832 10.6953H9.01546C9.6782 10.6953 10.2155 10.158 10.2155 9.49529V6.44497C10.2155 5.78223 9.6782 5.24497 9.01546 5.24497H8.82807ZM6.49934 2.06705C5.69209 2.06705 5.03769 2.72144 5.03766 3.52867L5.03767 5.24497H7.96097V3.52867C7.96094 2.72144 7.30658 2.06705 6.49934 2.06705Z"
469
+ fill="#6D6D6D"
470
+ />
471
+ </svg>
472
+ <Text className="mt-0.5" variant="xsmall" color="muted">
473
+ Secure Checkout
474
+ </Text>
475
+ </div>
476
+ </div>
477
+ </>
478
+ )}
479
+ </div>
480
+ <Divider className="my-0" />
481
+ <Footer />
482
+ </>
483
+ )
484
+ }