@credenza3/passport-sui 0.1.10 → 0.1.12

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 (88) hide show
  1. package/dist/{App-BgNenBZk.js → App-CCqleyA9.js} +18 -18
  2. package/dist/{App-BgNenBZk.js.map → App-CCqleyA9.js.map} +1 -1
  3. package/dist/{Button-OHov6eXd.js → Button-DAy_umSd.js} +4 -4
  4. package/dist/{Button-OHov6eXd.js.map → Button-DAy_umSd.js.map} +1 -1
  5. package/dist/{ButtonBack-tT2V5PQf.js → ButtonBack-BkUKUIsw.js} +4 -4
  6. package/dist/{ButtonBack-tT2V5PQf.js.map → ButtonBack-BkUKUIsw.js.map} +1 -1
  7. package/dist/{ButtonLink-BcNeNAnT.js → ButtonLink-dIXfKKup.js} +3 -3
  8. package/dist/{ButtonLink-BcNeNAnT.js.map → ButtonLink-dIXfKKup.js.map} +1 -1
  9. package/dist/{ConfirmAccount-B9g7gpaB.js → ConfirmAccount-B7b6KLqs.js} +9 -9
  10. package/dist/{ConfirmAccount-B9g7gpaB.js.map → ConfirmAccount-B7b6KLqs.js.map} +1 -1
  11. package/dist/{ContentHeader-CN5mY_EI.js → ContentHeader-CVumJwvG.js} +3 -3
  12. package/dist/{ContentHeader-CN5mY_EI.js.map → ContentHeader-CVumJwvG.js.map} +1 -1
  13. package/dist/{Error-C1Y4N30A.js → Error-DcbLpmXf.js} +5 -5
  14. package/dist/{Error-C1Y4N30A.js.map → Error-DcbLpmXf.js.map} +1 -1
  15. package/dist/{Input-C7c35Njj.js → Input-BHT27RVM.js} +4 -4
  16. package/dist/{Input-C7c35Njj.js.map → Input-BHT27RVM.js.map} +1 -1
  17. package/dist/{Label-DcMHoGi2.js → Label-Bf8cAqMv.js} +3 -3
  18. package/dist/{Label-DcMHoGi2.js.map → Label-Bf8cAqMv.js.map} +1 -1
  19. package/dist/{Loader-hEgPdNjW.js → Loader-Ck8Qf90h.js} +3 -3
  20. package/dist/{Loader-hEgPdNjW.js.map → Loader-Ck8Qf90h.js.map} +1 -1
  21. package/dist/{Login-CLbnawha.js → Login-DmuALQOZ.js} +9 -9
  22. package/dist/{Login-CLbnawha.js.map → Login-DmuALQOZ.js.map} +1 -1
  23. package/dist/Logout-DtZQa3PS.js +96 -0
  24. package/dist/Logout-DtZQa3PS.js.map +1 -0
  25. package/dist/{Nav-CMk6wqla.js → Nav-hlhnBpCA.js} +5 -5
  26. package/dist/{Nav-CMk6wqla.js.map → Nav-hlhnBpCA.js.map} +1 -1
  27. package/dist/{PassportId-Dq93qrlP.js → PassportId-CT8seyyl.js} +7 -7
  28. package/dist/{PassportId-Dq93qrlP.js.map → PassportId-CT8seyyl.js.map} +1 -1
  29. package/dist/Payment-BNT5dOy3.js +1179 -0
  30. package/dist/Payment-BNT5dOy3.js.map +1 -0
  31. package/dist/PaymentResult-iREwxUTO.js +292 -0
  32. package/dist/PaymentResult-iREwxUTO.js.map +1 -0
  33. package/dist/{Profile-CHAGS1Rz.js → Profile-G2t70NsO.js} +7 -7
  34. package/dist/{Profile-CHAGS1Rz.js.map → Profile-G2t70NsO.js.map} +1 -1
  35. package/dist/{ProgressVideo-CyHro4TM.js → ProgressVideo-oh7nRG8_.js} +6 -6
  36. package/dist/{ProgressVideo-CyHro4TM.js.map → ProgressVideo-oh7nRG8_.js.map} +1 -1
  37. package/dist/{ProgressVideo.service-C5ZBidgs.js → ProgressVideo.service-CVnZS8ec.js} +2 -2
  38. package/dist/{ProgressVideo.service-C5ZBidgs.js.map → ProgressVideo.service-CVnZS8ec.js.map} +1 -1
  39. package/dist/{RichAlert-DOXrdOSp.js → RichAlert-17dhVxyd.js} +13 -13
  40. package/dist/{RichAlert-DOXrdOSp.js.map → RichAlert-17dhVxyd.js.map} +1 -1
  41. package/dist/{Scanner-CP7zZLmb.js → Scanner-B_IyknFU.js} +32 -32
  42. package/dist/{Scanner-CP7zZLmb.js.map → Scanner-B_IyknFU.js.map} +1 -1
  43. package/dist/{SendTokens-DcWtNKZU.js → SendTokens-_Zq1xtui.js} +7 -7
  44. package/dist/{SendTokens-DcWtNKZU.js.map → SendTokens-_Zq1xtui.js.map} +1 -1
  45. package/dist/{Sign-CVIrZkub.js → Sign-D20a5-Eh.js} +7 -7
  46. package/dist/{Sign-CVIrZkub.js.map → Sign-D20a5-Eh.js.map} +1 -1
  47. package/dist/Stripe.service-d8J1Nj0-.js +13 -0
  48. package/dist/Stripe.service-d8J1Nj0-.js.map +1 -0
  49. package/dist/{UpdateProfile-CPUOEBMo.js → UpdateProfile-BS4vHKox.js} +10 -10
  50. package/dist/{UpdateProfile-CPUOEBMo.js.map → UpdateProfile-BS4vHKox.js.map} +1 -1
  51. package/dist/{UserInfo-wgTHlE5j.js → UserInfo-FF1YiHB_.js} +4 -4
  52. package/dist/{UserInfo-wgTHlE5j.js.map → UserInfo-FF1YiHB_.js.map} +1 -1
  53. package/dist/{Wallet-BEmYMCut.js → Wallet-CLL_Ao5n.js} +8 -8
  54. package/dist/{Wallet-BEmYMCut.js.map → Wallet-CLL_Ao5n.js.map} +1 -1
  55. package/dist/{each-sGAWFUwm.js → each-ChczGHVd.js} +10 -10
  56. package/dist/{each-sGAWFUwm.js.map → each-ChczGHVd.js.map} +1 -1
  57. package/dist/{html-nUzEbV7C.js → html-BIHkWqNq.js} +3 -3
  58. package/dist/{html-nUzEbV7C.js.map → html-BIHkWqNq.js.map} +1 -1
  59. package/dist/{index-By5ED3Yb.js → index-Cpr_yChD.js} +9090 -8989
  60. package/dist/index-Cpr_yChD.js.map +1 -0
  61. package/dist/{index-client-BsxnbQnl.js → index-client-CJ3dIYTW.js} +2 -2
  62. package/dist/{index-client-BsxnbQnl.js.map → index-client-CJ3dIYTW.js.map} +1 -1
  63. package/dist/{input-J57TPqRp.js → input-BJ8poX2h.js} +3 -3
  64. package/dist/{input-J57TPqRp.js.map → input-BJ8poX2h.js.map} +1 -1
  65. package/dist/{legacy-DjyLhwW_.js → legacy-YR9wiUnf.js} +2 -2
  66. package/dist/{legacy-DjyLhwW_.js.map → legacy-YR9wiUnf.js.map} +1 -1
  67. package/dist/passport.es.js +1 -1
  68. package/dist/passport.umd.js +156 -154
  69. package/dist/passport.umd.js.map +1 -1
  70. package/dist/{socket-io-CvJnsIiD.js → socket-io-DDnfOdoo.js} +2 -2
  71. package/dist/{socket-io-CvJnsIiD.js.map → socket-io-DDnfOdoo.js.map} +1 -1
  72. package/dist/types/app/pages/payment/Payment.service.d.ts +12 -0
  73. package/dist/types/app/pages/payment/oder.types.d.ts +8 -0
  74. package/dist/types/app/pages/payment/order.service.d.ts +4 -0
  75. package/dist/types/app/pages/payment/payment.constants.d.ts +1 -0
  76. package/dist/types/app/pages/payment/paystack/Paystack.svelte.d.ts +1 -0
  77. package/dist/types/app/pages/payment/stripe/Stripe.service.d.ts +1 -2
  78. package/dist/types/app/pages/payment/stripe/stripe.helper.d.ts +6 -10
  79. package/package.json +1 -1
  80. package/dist/Logout-C7UvmtHw.js +0 -96
  81. package/dist/Logout-C7UvmtHw.js.map +0 -1
  82. package/dist/Payment-D_PmGbx9.js +0 -990
  83. package/dist/Payment-D_PmGbx9.js.map +0 -1
  84. package/dist/PaymentResult-DKsYHo0Y.js +0 -330
  85. package/dist/PaymentResult-DKsYHo0Y.js.map +0 -1
  86. package/dist/Stripe.service-ChsNBYNx.js +0 -77
  87. package/dist/Stripe.service-ChsNBYNx.js.map +0 -1
  88. package/dist/index-By5ED3Yb.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payment-D_PmGbx9.js","sources":["../../ui/images/lock.svg","../../ui/main/payment/PaymentSwitchButton.svelte","../../ui/main/payment/Payment.svelte","../../ui/main/payment/Stripe.svelte","../../ui/main/payment/CredenzaBalance.svelte","../src/app/pages/payment/stripe/wallet-pay/WalletPay.svelte","../src/app/pages/payment/stripe/Stripe.styles.ts","../../utils/lib/scripts/scripts.ts","../src/app/pages/payment/stripe/Stripe.svelte","../src/app/pages/payment/Payment.service.ts","../src/app/pages/payment/credenza-balance/CredenzaBalance.svelte","../src/app/pages/payment/Payment.svelte"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='22'%20height='22'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23bbb'%20d='M17%209.761v-4.761c0-2.761-2.238-5-5-5-2.763%200-5%202.239-5%205v4.761c-1.827%201.466-3%203.714-3%206.239%200%204.418%203.582%208%208%208s8-3.582%208-8c0-2.525-1.173-4.773-3-6.239zm-8-4.761c0-1.654%201.346-3%203-3s3%201.346%203%203v3.587c-.927-.376-1.938-.587-3-.587s-2.073.211-3%20.587v-3.587zm4%2011.723v2.277h-2v-2.277c-.596-.347-1-.984-1-1.723%200-1.104.896-2%202-2s2%20.896%202%202c0%20.738-.404%201.376-1%201.723z'/%3e%3c/svg%3e\"","<style>\n .active {\n background-color: #ffff;\n font-weight: 500;\n color: #000;\n }\n .btn-disabled {\n pointer-events: none;\n background-color: #d0d2d5;\n }\n</style>\n\n<script lang=\"ts\">\n import Loader from '../shared/Loader.svelte'\n \n export let onClick: (...args: unknown[]) => unknown\n export let text: string\n export let disabled: boolean = false\n export let isLoading: boolean = false\n export let isActive: boolean = false\n</script>\n\n<button\n type=\"submit\"\n class=\"crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer crtw-border crtw-border-gray-300\n crtw-rounded crtw-font-['poppins'] crtw-text-gray-600\"\n class:btn-disabled={disabled || isLoading}\n class:active={isActive}\n on:click|preventDefault={onClick}\n>\n {#if isLoading}\n <Loader />\n {:else}\n {text}\n {/if}\n</button>","<script lang=\"ts\">\n import { PaymentViews } from '../../../utils/enums';\n import ButtonBack from '../shared/inputs/button-back/ButtonBack.svelte';\n import LockIcon from '../../images/lock.svg'\n import type { TUser } from '../../../utils/types';\n import PaymentSwitchButton from './PaymentSwitchButton.svelte';\n\n export let isLoading: boolean\n export let options: {\n user: TUser| null\n title: string\n subtitle?: string\n onBackClick: () => void\n isStripeDisabled: boolean\n isCredezaValueDisabled: boolean,\n isPriceLoading: boolean\n totalSumCents: number,\n currencySymbol?: string\n }\n\n \n let { user, title, subtitle, onBackClick, isStripeDisabled, currencySymbol = '$' } = options\n let activeTab = isStripeDisabled ? PaymentViews.CREDENZA_BALANCE : PaymentViews.CREDIT_CARD\n\n $: isPriceLoading = options.isPriceLoading\n $: totalSumCents = options.totalSumCents\n $: isCredezaValueDisabled = options.isCredezaValueDisabled\n</script>\n\n<div class=\"cpui-payment crtw-text-left crtw-w-full\" class:crtw-hidden={isLoading}>\n <div class=\"crtw-text-right crtw-text-[13px] crtw-text-gray-400 crtw-mb-6\">\n <div class=\"crtw-break-words\">{user?.email || user?.pending?.email || ''}</div>\n <div>{user?.phone || user?.pending?.phone || ''}</div>\n </div>\n <div class=\"crtw-font-bold crtw-text-xl\">{title}</div>\n <div class=\"crtw-flex crtw-justify-between crtw-mb-3 crtw-text-gray-600 crtw-font-bold\">\n {#if subtitle}\n <div>{subtitle}</div>\n {/if}\n {#if isPriceLoading}\n <div>Getting price...</div>\n {:else if totalSumCents}\n <div>{currencySymbol}{(+totalSumCents / 100).toFixed(2)}</div>\n {/if}\n </div>\n <div class=\"crtw-flex crtw-bg-gray-200 crtw-rounded-md crtw-p-px\">\n <PaymentSwitchButton\n text=\"Credit Card\"\n onClick={() => (activeTab = PaymentViews.CREDIT_CARD)}\n isActive={activeTab === PaymentViews.CREDIT_CARD}\n disabled={isStripeDisabled}\n />\n <PaymentSwitchButton\n text=\"Credenza Balance\"\n onClick={() => (activeTab = PaymentViews.CREDENZA_BALANCE)}\n isActive={activeTab === PaymentViews.CREDENZA_BALANCE}\n disabled={isCredezaValueDisabled}\n />\n </div>\n <hr class=\"crtw-block crtw-border-t-2 crtw-border-gray-200 crtw-w-1/2 crtw-mx-auto crtw-mt-3.5 crtw-mb-[30px]\" />\n {#if activeTab === PaymentViews.CREDIT_CARD}\n <slot name=\"credit-card\" />\n {:else if activeTab === PaymentViews.CREDENZA_BALANCE}\n <slot name=\"cred-balance\" />\n {/if}\n <div class=\"crtw-flex crtw-w-full crtw-justify-center crtw-items-center\">\n <img src={LockIcon} alt=\"\" /><span class=\"crtw-text-sm crtw-text-gray-400 crtw-ml-1\"\n >Payments are secure and encrypted</span\n >\n </div>\n <div class=\"crtw-mt-1.5\">\n <ButtonBack onClick={onBackClick} />\n </div>\n</div>\n","<script lang=\"ts\">\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n isCardFocused: boolean\n onPay: () => void\n currencySymbol?: string\n }\n export let isPaymentDisabled: boolean\n export let isLoading: boolean\n export let totalToPay: string\n\n let { isCardFocused, onPay, currencySymbol = '$' } = options\n</script>\n\n<div class=\"crtw-text-base crtw-mb-1.5\">Credit card details</div>\n<div\n id=\"cpui-card-element\"\n class=\"crtw-border crtw-border-gray-300 crtw-rounded crtw-px-2.5 crtw-py-4 crtw-mb-2.5 crtw-w-full\"\n style={isCardFocused ? 'border-color: #121e2b' : ''}\n/>\n<!-- Used to display Element errors. -->\n<div id=\"card-errors\" role=\"alert\" />\n<Button\n text={`Pay ${currencySymbol}${totalToPay}`}\n onClick={onPay}\n disabled={isPaymentDisabled}\n bind:isLoading\n/>","<script lang=\"ts\">\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n formattedBalance: string\n balance: number\n credAlias: string\n onPay: () => void\n onGetCred: () => void\n totalToPay: string\n isLoading: boolean\n isPaymentDisabled: boolean\n }\n\n let { credAlias, onPay, onGetCred } = options\n\n $: isLoading = options.isLoading\n $: isPaymentDisabled = options.isPaymentDisabled\n $: formattedBalance = options.formattedBalance\n $: totalToPay = options.totalToPay\n $: balance = options.balance\n</script>\n\n<div class=\"crtw-w-full crtw-text-center crtw-my-5\">\n <div class=\"crtw-text-3xl crtw-text-black crtw-font-bold\">\n {#if Number(totalToPay) > balance}\n INSUFFICIENT FUNDS\n {:else}\n {formattedBalance}\n {/if}\n \n </div>\n <div class=\"crtw-mb-5 crtw-text-gray-600\">\n {#if Number(totalToPay) > balance}\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n You do not have enough stored value to make this payment. \n <span\n class=\"crtw-text-black crtw-cursor-pointer\"\n role=\"button\"\n tabindex=\"0\"\n on:click={onGetCred}\n >\n Click to get some {credAlias}\n </span>\n {:else}\n Your balance after purchase\n {/if}\n </div>\n\n <Button\n text={`Pay ${totalToPay} ${credAlias}`}\n onClick={onPay}\n disabled={isPaymentDisabled}\n {isLoading}\n />\n</div>","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { dispatch, PassportEvents } from '@lib/events/events'\n\n export let doPayment: (stripeTokenId: string) => Promise<void>\n export let stripe: Window['Stripe']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export let stripeElements: any\n export let priceCents: number\n export let isLoading: boolean\n\n onMount(async () => {\n const paymentRequest = stripe.paymentRequest({\n country: 'US',\n currency: 'usd',\n total: {\n label: 'Apple/Google payment',\n amount: priceCents / 100,\n },\n requestPayerName: true,\n requestPayerEmail: true,\n })\n const canMakePayment = await paymentRequest.canMakePayment()\n if (!canMakePayment) return\n\n const walletPayElement = document.getElementById('ctui-wallet-pay')\n if (walletPayElement) walletPayElement.style.display = 'crtw-block'\n\n const prButton = stripeElements.create('paymentRequestButton', {\n paymentRequest: paymentRequest,\n style: {\n paymentRequestButton: {\n height: '48px',\n },\n },\n })\n prButton.mount('#ctui-payment-request-button')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n paymentRequest.on('token', async (event: any) => {\n isLoading = true\n try {\n await doPayment(event.token.id)\n await event.complete('success')\n } catch (err) {\n await event.complete('error')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n })\n })\n</script>\n\n<div id=\"ctui-wallet-pay\" class=\"crtw-w-full crtw-my-4\" style=\"dispay: none;\">\n <div id=\"ctui-payment-request-button\"></div>\n</div>\n","export const stripeStyles = {\n base: {\n color: '#121e2b',\n fontSize: '12px',\n '::placeholder': {\n color: '#d9d9d9',\n },\n },\n invalid: {\n color: '#fa755a',\n },\n}\n","export const loadScript = (src: string) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = src\n document.body.appendChild(script)\n script.addEventListener('load', () => resolve(script))\n script.addEventListener('error', () => reject(script))\n })\n}\n","<script lang=\"ts\">\n import WalletPay from './wallet-pay/WalletPay.svelte'\n import { onMount } from 'svelte'\n import { get } from 'svelte/store'\n import { stripeStyles } from '@pages/payment/stripe/Stripe.styles'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { TransactionTypes } from '@packages/utils/enums'\n import { loadScript } from '@lib/scripts/scripts'\n import { pageOptsStore, pageStore, userStore, fn } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { analytics } from '@lib/mixpanel/mixpanel'\n import { waitVideoEnded } from '@components/progress/ProgressVideo.service'\n import { Stripe as StripeComponent } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import { getClientConfigByClientId } from '@lib/clients'\n import { initSuiClient } from '@src/libs/sui'\n\n export let priceCents: number\n export let isLoading: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export let purchaseConfig: any\n export let isPriceLoading: boolean\n\n const { toastAlert } = get(fn)\n const config = get(configStore)\n\n let Stripe: Window['Stripe']\n let stripe: Window['Stripe']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let stripeElements: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let cardElement: any\n let isButtonActive: boolean\n\n let isCardFocused = false\n onMount(async () => {\n try {\n if (!Stripe) {\n if (!window.Stripe) {\n await loadScript('https://js.stripe.com/v3/')\n if (!window.Stripe) throw {}\n }\n Stripe = window.Stripe\n }\n } catch (err) {\n return console.log('Please include stripe to use payments.')\n }\n if (stripe) return\n const clientName = getClientConfigByClientId(config.clientId).name\n stripe = Stripe(config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT)\n stripeElements = stripe.elements()\n cardElement = stripeElements.create('card', { style: stripeStyles })\n cardElement.mount('#cpui-card-element')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n cardElement.on('change', (event: any) => {\n isButtonActive = event.complete && !event.error\n })\n cardElement.on('focus', () => (isCardFocused = true))\n cardElement.on('blur', () => (isCardFocused = false))\n })\n\n const handleSubmit = async () => {\n try {\n if (!isButtonActive) return\n isLoading = true\n const result = await stripe.createToken(cardElement)\n if (result.error) throw result.error\n await doPayment(result.token.id)\n } catch (err) {\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const doPayment = async (tokenId: string) => {\n try {\n const { processPayment } = await import('@pages/payment/stripe/Stripe.service')\n\n const { assets } = purchaseConfig\n if (!assets?.length) throw new Error('No purchase config assets found')\n\n const orderErrors = []\n const allItems = []\n\n for (const [index, asset] of assets.entries()) {\n const client = await initSuiClient(asset.packageId)\n let metadata = null\n if (asset.assetId) {\n metadata = await client.CredenzaAssetCollection.getAssetMetadata(asset.assetId)\n }\n try {\n const { chain_txs, items } = await processPayment(tokenId, asset)\n const enrichedItems = items.map((item) => ({ ...item, metadata }))\n allItems.push(...enrichedItems)\n dispatch(PassportEvents.PAYMENT, { type: TransactionTypes.STRIPE, results: { chain_txs } })\n toastAlert(`Your payment #${index + 1} was successful`)\n dispatch(PassportEvents.RECHECK_BALANCE, chain_txs)\n } catch (err) {\n const enrichedErrorItem = { asset, metadata, error: err.message }\n allItems.push(enrichedErrorItem)\n toastAlert(`Your payment #${index + 1} was NOT successful`)\n orderErrors.push(\n `Payment #${index + 1}: ${err.message}, resource_id: ${asset.packageId}, asset_id: ${asset.assetId}`,\n )\n } finally {\n await new Promise((resolve) => setTimeout(resolve, 1000))\n }\n }\n const user = get(userStore)\n if (user) {\n analytics.track('cp_payment_fiat', {\n $email: user.email,\n $phone: user.phone,\n suiNetwork: config.suiNetwork,\n clientId: config.clientId,\n address: await getAddress(),\n location: window.location.href,\n assets: purchaseConfig?.assets,\n total: priceCents / 100,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n\n await waitVideoEnded()\n if (allItems?.every((item) => item.error != null)) {\n throw new Error('All payments failed')\n }\n\n if (orderErrors.length) {\n pageOptsStore.set({\n title: 'Done!',\n subtitle: 'Your payment was partly successful',\n orders: allItems,\n })\n }\n pageStore.set(Pages.PAYMENT_RESULT)\n } catch (err) {\n toastAlert(`Payment error: ${err.message || err}`, 'failure')\n pageOptsStore.set({ errorMessage: err.message })\n pageStore.set(Pages.ERROR)\n dispatch(PassportEvents.ERROR, { error: err })\n }\n }\n\n $: isPaymentDisabled = !isButtonActive || isLoading || isPriceLoading\n $: totalToPay = (priceCents / 100).toFixed(2)\n</script>\n\n<StripeComponent\n bind:isPaymentDisabled\n bind:isLoading\n bind:totalToPay\n options={{\n isCardFocused,\n onPay: handleSubmit,\n currencySymbol: getClientConfigByClientId(config.clientId).currencySymbol,\n }}\n/>\n\n{#if stripe && stripeElements}\n <WalletPay {doPayment} {stripe} {stripeElements} {priceCents} bind:isLoading />\n{/if}\n","import { RecieptTarget } from '@packages/utils/enums'\nimport { accessTokenStore } from '@packages/stores'\nimport { get } from 'svelte/store'\nimport { configStore } from '@src/stores/config'\nimport { getClientConfigByClientId } from '@lib/clients'\n\nexport const requestSuiReceipt = async ({\n stripeChargeId,\n title,\n digest,\n subtitle,\n amount,\n currency,\n}: {\n stripeChargeId?: string\n digest?: string\n amount?: number\n currency?: string\n title: string\n subtitle: string\n}) => {\n const { credenza, recieptTarget, clientId } = get(configStore)\n\n const result = await fetch(`${credenza.suiApiUrl}/tokens/receipt`, {\n method: 'POST',\n body: JSON.stringify({\n ...(stripeChargeId ? { charge_id: stripeChargeId } : {}),\n ...(digest ? { digest } : {}),\n ...(amount ? { amount } : {}),\n ...(currency ? { currency } : {}),\n target: recieptTarget || RecieptTarget.EMAIL,\n title,\n subtitle,\n source: getClientConfigByClientId(clientId).name,\n }),\n headers: {\n Authorization: `Bearer ${get(accessTokenStore)}`,\n 'Content-Type': 'application/json',\n },\n })\n\n return result.ok\n}\n","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { Pages } from '@packages/utils/enums'\n import { pageOptsStore, fn, pageStore, userStore, clientPublicStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { CredenzaBalance } from '@packages/ui'\n import { get } from 'svelte/store'\n import { analytics } from '@lib/mixpanel/mixpanel'\n import { configStore } from '@src/stores/config'\n import { buyWithCred, getAddress, getBalance } from '@src/passport/blockchain'\n import { getCryptoCurrencySymbol } from '@lib/strings/strings'\n import { waitVideoEnded } from '@components/progress/ProgressVideo.service'\n import { requestSuiReceipt } from '../Payment.service'\n\n export let totalPriceToken: number\n export let purchaseConfig: {\n assets: { type: string; packageId: string; assetId?: number; amount?: number }[]\n title: string\n subtitle: string\n }\n export let isLoading: boolean\n export let isPriceLoading: boolean\n export let pricesByAsset: number[] = []\n\n const { toastAlert } = get(fn)\n const config = get(configStore)\n\n let balance = 0\n\n const processPaymentTx = async (\n asset: { type: string; packageId: string; assetId?: number; amount?: number },\n index: number,\n ) => {\n const { type, packageId, assetId, amount } = asset\n const paymentRes = await buyWithCred(type, packageId, { assetId, amount })\n const { title, subtitle } = purchaseConfig\n dispatch(PassportEvents.PAYMENT)\n dispatch(PassportEvents.RECHECK_BALANCE)\n await requestSuiReceipt({\n digest: paymentRes.digest,\n title,\n subtitle,\n amount: pricesByAsset[index],\n currency: 'CRED',\n })\n dispatch(PassportEvents.RECEIPT, { digest: paymentRes.digest })\n }\n\n const payWithCredenza = async () => {\n try {\n if (BigInt(totalPriceToken) > balance) return\n\n isLoading = true\n const { assets } = purchaseConfig\n\n for (const [index, asset] of assets.entries()) {\n await processPaymentTx(asset, index)\n\n await new Promise((resolve) => setTimeout(resolve, 1000))\n }\n\n const user = get(userStore)\n if (user) {\n analytics.track('cp_payment_stored_value', {\n $email: user.email,\n $phone: user.phone,\n suiNetwork: config.suiNetwork,\n clientId: config.clientId,\n location: window.location.href,\n address: await getAddress(),\n assets,\n total: totalPriceToken,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n await waitVideoEnded()\n\n pageStore.set(Pages.PAYMENT_RESULT)\n } catch (err) {\n toastAlert(`Payment error: ${err.message || err}`, 'failure')\n pageOptsStore.set({ errorMessage: err.message })\n pageStore.set(Pages.ERROR)\n dispatch(PassportEvents.ERROR, { error: err })\n } finally {\n isLoading = false\n }\n }\n\n onMount(async () => {\n balance = Number(await getBalance())\n })\n\n $: formattedBalance = `${(balance - totalPriceToken).toFixed(2)} ${getCryptoCurrencySymbol('cred', 'cred')}`\n</script>\n\n<CredenzaBalance\n options={{\n formattedBalance,\n balance,\n credAlias:$clientPublicStore.ui_settings.cred_alias,\n onPay: payWithCredenza,\n onGetCred: () => pageStore.set(Pages.WALLET),\n totalToPay: String(totalPriceToken),\n isLoading,\n isPaymentDisabled: !Number(balance) || totalPriceToken > balance || isPriceLoading,\n }}\n/>\n","<script lang=\"ts\">\n import { Pages } from '@packages/utils/enums'\n import { onDestroy } from 'svelte'\n\n import { pageOptsStore, userStore, pageStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { Payment } from '@packages/ui'\n import Stripe from './stripe/Stripe.svelte'\n import { getSuiCredCoinType, getSellableConfigId, getSuiObject, getAssetPrice } from '@src/utils/blockchain'\n import { TSuiPaymentItem } from '@app/types'\n import { toastAlert } from '@src/passport/ui'\n import CredenzaBalance from './credenza-balance/CredenzaBalance.svelte'\n import { SUI_CRED_DECIMALS } from '@src/constants/blockchain'\n import { AssetType } from './payment.constants'\n import { getClientConfigByClientId } from '@lib/clients'\n import { configStore } from '@src/stores/config'\n import { get } from 'svelte/store'\n\n let isPriceLoading: boolean = false\n let isLoading: boolean = false\n let pricesByAsset: number[] = []\n\n let totalSumCents: number = 0\n let totalSumCoins: number = 0\n\n const getTokenPrice = async (packageId: string, type: string, assetId?: string): Promise<[number, number]> => {\n if (assetId && type === AssetType.CREDENZA_ASSET_COLLECTION) {\n return await getAssetPrice(packageId, assetId)\n }\n\n const sellableConfigId = await getSellableConfigId(packageId, type)\n const sellableObj = await getSuiObject(sellableConfigId)\n\n const {\n content: {\n fields: { price_fiat, price_coin },\n },\n } = sellableObj\n return [+price_fiat, +price_coin]\n }\n\n const calculateTotalPrice = async (assets: TSuiPaymentItem[]): Promise<void> => {\n try {\n isPriceLoading = true\n\n for (const asset of assets) {\n const { packageId, type, amount, assetId } = asset\n const packageIdWCoinType = `${packageId}::${type}::${type.toUpperCase()}`\n if (packageIdWCoinType === getSuiCredCoinType() && amount) {\n totalSumCents += amount * 100\n } else {\n let [cents, coins] = await getTokenPrice(packageId, type, assetId)\n if (amount && amount !== 0) {\n cents *= amount\n coins *= amount\n }\n\n totalSumCents += cents\n totalSumCoins += coins / SUI_CRED_DECIMALS\n\n pricesByAsset.push(coins / SUI_CRED_DECIMALS)\n }\n }\n } catch (err) {\n console.log(err)\n toastAlert('Error calculating the price', 'failure')\n dispatch(PassportEvents.ERROR, err)\n } finally {\n isPriceLoading = false\n }\n }\n\n const unsub = pageOptsStore.subscribe(async (store) => {\n if (!store?.assets || !store.assets.length) return\n await calculateTotalPrice(store.assets)\n })\n\n onDestroy(unsub)\n</script>\n\n{#if isLoading}\n {#await import('@components/progress/ProgressVideo.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n{/if}\n\n<Payment\n bind:isLoading\n options={{\n user: $userStore,\n title: $pageOptsStore.title || `Order Summary`,\n subtitle: $pageOptsStore.subtitle,\n onBackClick: () => pageStore.set(Pages.WALLET),\n isStripeDisabled: $pageOptsStore.payments?.stripe?.disabled,\n isCredezaValueDisabled: !totalSumCents || $pageOptsStore.payments?.credenzaStoredValue?.disabled,\n isPriceLoading,\n totalSumCents: totalSumCents,\n currencySymbol: getClientConfigByClientId(get(configStore).clientId).currencySymbol,\n }}\n>\n <div slot=\"credit-card\">\n <Stripe priceCents={totalSumCents} {isPriceLoading} purchaseConfig={$pageOptsStore} bind:isLoading />\n </div>\n <div slot=\"cred-balance\">\n <CredenzaBalance\n {pricesByAsset}\n totalPriceToken={totalSumCoins}\n {isPriceLoading}\n purchaseConfig={$pageOptsStore}\n bind:isLoading\n />\n </div>\n</Payment>\n"],"names":["LockIcon","onClick","$.prop","$$props","text","disabled","isLoading","isActive","$$render","consequent","alternate","_a","$$args","options","user","title","subtitle","onBackClick","isStripeDisabled","currencySymbol","activeTab","$.mutable_source","PaymentViews","isPriceLoading","totalSumCents","isCredezaValueDisabled","$0","$.untrack","$.get","consequent_2","consequent_1","isPaymentDisabled","totalToPay","isCardFocused","onPay","expression","$.derived_safe_equal","credAlias","onGetCred","formattedBalance","balance","__awaiter","thisArg","_arguments","P","generator","doPayment","stripe","stripeElements","priceCents","onMount","paymentRequest","walletPayElement","event","err","dispatch","PassportEvents","stripeStyles","loadScript","src","resolve","reject","script","purchaseConfig","toastAlert","get","fn","config","configStore","Stripe","cardElement","isButtonActive","clientName","getClientConfigByClientId","$.set","handleSubmit","result","tokenId","processPayment","assets","orderErrors","allItems","index","asset","client","initSuiClient","metadata","chain_txs","items","enrichedItems","item","TransactionTypes","enrichedErrorItem","userStore","analytics","getAddress","_b","waitVideoEnded","pageOptsStore","pageStore","Pages","requestSuiReceipt","stripeChargeId","digest","amount","currency","credenza","recieptTarget","clientId","RecieptTarget","accessTokenStore","totalPriceToken","pricesByAsset","processPaymentTx","type","packageId","assetId","paymentRes","buyWithCred","payWithCredenza","getBalance","getCryptoCurrencySymbol","$clientPublicStore","totalSumCoins","getTokenPrice","AssetType","getAssetPrice","sellableConfigId","getSellableConfigId","sellableObj","getSuiObject","price_fiat","price_coin","calculateTotalPrice","getSuiCredCoinType","cents","coins","SUI_CRED_DECIMALS","unsub","store","onDestroy","$.await","node_1","module","$.component","node_2","$$anchor","$$component","$userStore","$pageOptsStore","_d","_c"],"mappings":"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"}
@@ -1,330 +0,0 @@
1
- import { c as wt, p as Ct, h as gt, f as x, i as S, r as _, b as i, d as ht, u as xt, s as pt, a as rt, k as Et, e as Nt, t as nt, n as Yt, o as Ft } from "./legacy-DjyLhwW_.js";
2
- import { v as yt, L as bt, N as Mt, B as n, C as c, E as g, G as r, D as h, z as kt, u as Ut, y as G, K as t, I as ot, A as Vt, S as mt, F as ft, $ as qt, O as Bt } from "./index-By5ED3Yb.js";
3
- import { e as ct, i as it } from "./each-sGAWFUwm.js";
4
- function _t(E, v, N, F) {
5
- if (N === "sui")
6
- return `https://suiscan.xyz/${F}/tx/${v}`;
7
- switch (String(E.chainId)) {
8
- case "137":
9
- return `https://polygonscan.com/tx/${v}`;
10
- case "88888":
11
- return `https://chiliscan.com/tx/${v}`;
12
- case "43114":
13
- return `https://subnets.avax.network/c-chain/tx/${v}`;
14
- case "80002":
15
- return `https://amoy.polygonscan.com/tx/${v}`;
16
- case "88882":
17
- return `https://testnet.chiliscan.com/tx/${v}`;
18
- case "43113":
19
- return `https://subnets-test.avax.network/c-chain/block/${v}`;
20
- default:
21
- return null;
22
- }
23
- }
24
- var Dt = x('<div class="crtw-my-4 flex justify-center"><div class="crtw-w-64 crtw-h-64 crtw-rounded-xl crtw-shadow-md crtw-bg-white flex items-center justify-center overflow-hidden"><img alt="Token" class="max-w-full max-h-full object-contain"/></div></div>'), Gt = x('<span> </span> <span class="crtw-break-all crtw-whitespace-normal crtw-break-words"> </span>', 1), Kt = x('<div class="crtw-mb-2"><a target="_blank" rel="noopener noreferrer" class="crtw-text-blue-600 crtw-underline"><div class="crtw-break-words"><!></div></a></div>'), Lt = x('<span> </span> <span class="text-gray-500 break-all whitespace-normal"> </span>', 1), Ht = x('<span> </span> <span class="crtw-break-all crtw-whitespace-normal crtw-break-words"> </span>', 1), Jt = x('<div class="crtw-mb-3"><p class="crtw-text-red-600 break-words"><!></p></div>'), Qt = x('<p class="crtw-text-red-600"> </p>'), Wt = x('<div class="crtw-mt-6"><div class="crtw-text-lg crtw-font-semibold crtw-mb-2">Successful</div> <!> <div>Failed</div> <!> <!> <button class="crtw-bg-black hover:crtw-bg-gray-800 crtw-text-white crtw-px-4 crtw-py-2 crtw-rounded-md crtw-mt-4">Try Again</button></div>'), Xt = x('If you are not seeing your new token, please contact <a href="mailto:support@credenza3.com" class="text-blue-600 underline">support@credenza3.com</a>.', 1), Zt = x(
25
- `Typically, your purchase will be processed within a few seconds. In the
26
- event of unusually high traffic, you may have to wait as much as a minute
27
- or so. If several minutes pass and you are not seeing your purchase,
28
- please contact <a class="crtw-underline" href="mailto:support@credenza3.com">support@credenza3.com</a>.`,
29
- 1
30
- ), te = x('<div><div class="crtw-text-black-900 crtw-text-xl md:crtw-text-2xl crtw-font-semibold crtw-pt-5 crtw-mb-3.5 crtw-text-center"> </div> <div class="crtw-mb-3.5 crtw-text-sm crtw-text-justify"> </div> <!> <div class="crtw-mb-3.5 crtw-text-sm crtw-text-justify"><!></div></div>');
31
- function It(E, v) {
32
- if (new.target) return wt({ component: It, ...E });
33
- yt(v, !1);
34
- let N = Ct(v, "options", 12);
35
- const { openUI: F } = bt(Mt);
36
- let {
37
- title: M,
38
- subtitle: U,
39
- orders: A,
40
- networkType: et,
41
- tokenImage: Y,
42
- failedMemberships: d = {
43
- data: [],
44
- error: void 0,
45
- message: void 0
46
- },
47
- isSui: Q
48
- } = N();
49
- const W = (A ?? []).filter((s) => s.tx), T = (A ?? []).filter((s) => !s.tx);
50
- function X() {
51
- var s, o;
52
- if (T.some((l) => l.asset)) {
53
- const l = T.filter((m) => m.asset).map((m) => ({
54
- packageId: m.asset.packageId,
55
- type: m.asset.type,
56
- assetId: m.asset.assetId,
57
- amount: m.asset.amount
58
- }));
59
- if (!l.length) return;
60
- F(mt.PAYMENT, {
61
- subtitle: "Retrying failed orders",
62
- payments: { credenzaStoredValue: { disabled: !1 } },
63
- assets: l
64
- });
65
- return;
66
- }
67
- const y = [], p = [];
68
- for (const l of T) {
69
- const m = l.directive;
70
- m.type !== "membership" && y.push({
71
- contractAddress: m.resource_id,
72
- tokenId: (s = m.value) === null || s === void 0 ? void 0 : s.token_id,
73
- amount: m.value.amount
74
- });
75
- }
76
- if (!((o = d.data) === null || o === void 0) && o.length)
77
- for (const l of d.data)
78
- p.push({
79
- contractAddress: l.contract_address
80
- });
81
- !y.length && !p.length || F(mt.PAYMENT, {
82
- subtitle: "Retrying failed orders",
83
- payments: { credenzaStoredValue: { disabled: !1 } },
84
- tokens: y,
85
- memberships: p
86
- });
87
- }
88
- gt();
89
- var V = te(), q = n(V), Z = n(q, !0);
90
- c(q);
91
- var B = g(q, 2), St = n(B, !0);
92
- c(B);
93
- var lt = g(B, 2);
94
- {
95
- var At = (s) => {
96
- var o = Dt(), O = n(o), y = n(O);
97
- c(O), c(o), h(() => pt(y, "src", Y)), i(s, o);
98
- };
99
- S(lt, (s) => {
100
- Y && s(At);
101
- });
102
- }
103
- var vt = g(lt, 2), Tt = n(vt);
104
- {
105
- var zt = (s) => {
106
- var o = Wt(), O = g(n(o), 2);
107
- ct(O, 1, () => W, it, (u, a) => {
108
- var D = rt(), K = G(D);
109
- {
110
- var e = (w) => {
111
- var P = Kt(), L = n(P), tt = n(L), at = n(tt);
112
- {
113
- var j = (f) => {
114
- var b = nt();
115
- h(() => _(b, (t(a), r(() => t(a).metadata.name)))), i(f, b);
116
- }, z = (f) => {
117
- var b = Gt(), k = G(b), $ = n(k, !0);
118
- c(k);
119
- var C = g(k, 2), H = n(C);
120
- c(C), h(() => {
121
- _($, (t(a), r(() => t(a).directive.type))), _(H, `(${t(a), r(() => t(a).directive.resource_id) ?? ""})`);
122
- }), i(f, b);
123
- };
124
- S(at, (f) => {
125
- t(a), r(() => {
126
- var b;
127
- return (b = t(a).metadata) == null ? void 0 : b.name;
128
- }) ? f(j) : f(z, !1);
129
- });
130
- }
131
- c(tt), c(L), c(P), h(
132
- (f) => pt(L, "href", f),
133
- [
134
- () => (Vt(_t), t(a), r(() => {
135
- var f;
136
- return _t(
137
- {
138
- chainId: ((f = t(a).directive) == null ? void 0 : f.chain_id) || ""
139
- },
140
- t(a).tx,
141
- t(a).directive.chain_type,
142
- et || ""
143
- );
144
- }))
145
- ],
146
- ot
147
- ), i(w, P);
148
- };
149
- S(K, (w) => {
150
- t(a), r(() => t(a).tx) && w(e);
151
- });
152
- }
153
- i(u, D);
154
- });
155
- var y = g(O, 2);
156
- let p;
157
- var l = g(y, 2);
158
- {
159
- var m = (u) => {
160
- var a = rt(), D = G(a);
161
- ct(D, 1, () => T, it, (K, e) => {
162
- var w = Jt(), P = n(w), L = n(P);
163
- {
164
- var tt = (j) => {
165
- var z = nt();
166
- h(() => _(z, (t(e), r(() => t(e).metadata.name)))), i(j, z);
167
- }, at = (j, z) => {
168
- {
169
- var f = (k) => {
170
- var $ = Lt(), C = G($), H = n(C, !0);
171
- c(C);
172
- var R = g(C, 2), I = n(R);
173
- c(R), h(() => {
174
- _(H, (t(e), r(() => t(e).directive.type))), _(I, `(${t(e), r(() => t(e).directive.resource_id) ?? ""})`);
175
- }), i(k, $);
176
- }, b = (k, $) => {
177
- {
178
- var C = (R) => {
179
- var I = nt();
180
- h(() => _(I, `AssetId ${t(e), r(() => t(e).asset.assetId) ?? ""} : ${t(e), r(() => t(e).error) ?? ""}`)), i(R, I);
181
- }, H = (R) => {
182
- var I = Ht(), st = G(I), Pt = n(st, !0);
183
- c(st);
184
- var ut = g(st, 2), jt = n(ut);
185
- c(ut), h(() => {
186
- _(Pt, (t(e), r(() => {
187
- var J;
188
- return (J = t(e).asset) == null ? void 0 : J.type;
189
- }))), _(jt, `(${t(e), r(() => {
190
- var J;
191
- return (J = t(e).asset) == null ? void 0 : J.packageId;
192
- }) ?? ""}) : ${t(e), r(() => t(e).error) ?? ""}`);
193
- }), i(R, I);
194
- };
195
- S(
196
- k,
197
- (R) => {
198
- t(e), r(() => {
199
- var I;
200
- return (I = t(e).asset) == null ? void 0 : I.assetId;
201
- }) ? R(C) : R(H, !1);
202
- },
203
- $
204
- );
205
- }
206
- };
207
- S(
208
- j,
209
- (k) => {
210
- t(e), r(() => {
211
- var $;
212
- return ($ = t(e).directive) == null ? void 0 : $.type;
213
- }) ? k(f) : k(b, !1);
214
- },
215
- z
216
- );
217
- }
218
- };
219
- S(L, (j) => {
220
- t(e), r(() => {
221
- var z;
222
- return (z = t(e).metadata) == null ? void 0 : z.name;
223
- }) ? j(tt) : j(at, !1);
224
- });
225
- }
226
- c(P), c(w), i(K, w);
227
- }), i(u, a);
228
- };
229
- S(l, (u) => {
230
- r(() => T.length) && u(m);
231
- });
232
- }
233
- var dt = g(l, 2);
234
- {
235
- var Rt = (u) => {
236
- var a = rt(), D = G(a);
237
- ct(D, 1, () => r(() => d.data), it, (K, e) => {
238
- var w = Qt(), P = n(w);
239
- c(w), h(() => _(P, `Membership (${t(e), r(() => t(e).contract_address) ?? ""})`)), i(K, w);
240
- }), i(u, a);
241
- };
242
- S(dt, (u) => {
243
- r(() => {
244
- var a;
245
- return (a = d == null ? void 0 : d.data) == null ? void 0 : a.length;
246
- }) && u(Rt);
247
- });
248
- }
249
- var Ot = g(dt, 2);
250
- c(o), h(
251
- (u) => p = Et(y, 1, "crtw-text-lg crtw-font-semibold crtw-mt-6 crtw-mb-2", null, p, u),
252
- [
253
- () => {
254
- var u;
255
- return {
256
- hidden: !T.length && !((u = d == null ? void 0 : d.data) != null && u.length)
257
- };
258
- }
259
- ],
260
- ot
261
- ), Nt("click", Ot, X), i(s, o);
262
- }, $t = (s, o) => {
263
- {
264
- var O = (p) => {
265
- var l = Xt();
266
- ft(2), i(p, l);
267
- }, y = (p) => {
268
- var l = Zt();
269
- ft(2), i(p, l);
270
- };
271
- S(
272
- s,
273
- (p) => {
274
- Q ? p(O) : p(y, !1);
275
- },
276
- o
277
- );
278
- }
279
- };
280
- S(Tt, (s) => {
281
- r(() => A.length) ? s(zt) : s($t, !1);
282
- });
283
- }
284
- return c(vt), c(V), h(() => {
285
- _(Z, M), _(St, U);
286
- }), i(E, V), kt({
287
- get options() {
288
- return N();
289
- },
290
- set options(s) {
291
- N(s), Ut();
292
- },
293
- $set: xt,
294
- $on: (s, o) => ht(v, s, o)
295
- });
296
- }
297
- function ee(E, v) {
298
- if (new.target) return wt({ component: ee, ...E });
299
- yt(v, !1);
300
- const [N, F] = Yt(), M = () => Ft(Bt, "$pageOptsStore", N);
301
- let U = bt(qt);
302
- gt();
303
- const A = ot(() => {
304
- var Y, d, Q, W, T, X, V, q, Z, B;
305
- return {
306
- title: ((d = (Y = U.content) == null ? void 0 : Y.paymentResult) == null ? void 0 : d.title) || "Success!",
307
- subtitle: ((Q = M()) == null ? void 0 : Q.subtitle) || ((T = (W = U.content) == null ? void 0 : W.paymentResult) == null ? void 0 : T.subtitle) || "Your payment was successful!",
308
- description: (V = (X = U.content) == null ? void 0 : X.paymentResult) == null ? void 0 : V.description,
309
- orders: ((q = M()) == null ? void 0 : q.orders) || [],
310
- networkType: U.networkType,
311
- failedMemberships: ((Z = M()) == null ? void 0 : Z.failedMemberships) || [],
312
- tokenImage: ((B = M()) == null ? void 0 : B.tokenImage) || "",
313
- isSui: !0
314
- };
315
- });
316
- It(E, {
317
- get options() {
318
- return t(A);
319
- }
320
- });
321
- var et = kt({
322
- $set: xt,
323
- $on: (Y, d) => ht(v, Y, d)
324
- });
325
- return F(), et;
326
- }
327
- export {
328
- ee as default
329
- };
330
- //# sourceMappingURL=PaymentResult-DKsYHo0Y.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaymentResult-DKsYHo0Y.js","sources":["../../ui/main/payment-result/service.ts","../../ui/main/payment-result/PaymentResult.svelte","../src/app/pages/payment-result/PaymentResult.svelte"],"sourcesContent":["export function getTxUrl(\n item: { chainId: string },\n tx: string,\n chainType: string,\n networkType: string\n ) { \n if (chainType === \"sui\") {\n return `https://suiscan.xyz/${networkType}/tx/${tx}`;\n }\n\n switch (String(item.chainId)) {\n case \"137\":\n return `https://polygonscan.com/tx/${tx}`;\n case \"88888\":\n return `https://chiliscan.com/tx/${tx}`;\n case \"43114\":\n return `https://subnets.avax.network/c-chain/tx/${tx}`;\n case \"80002\":\n return `https://amoy.polygonscan.com/tx/${tx}`;\n case \"88882\":\n return `https://testnet.chiliscan.com/tx/${tx}`;\n case \"43113\":\n return `https://subnets-test.avax.network/c-chain/block/${tx}`;\n default:\n return null;\n }\n }","<script lang=\"ts\">\n import { fn } from \"../../../stores\";\n import { Pages } from \"../../../utils/enums\";\n import type { TPaymentReturn } from \"../../../utils/types\";\n import { get } from \"svelte/store\";\n import { getTxUrl } from \"./service\";\n export let options: {\n title: string;\n isSui?: boolean;\n description: string | undefined;\n subtitle: string;\n orders: TPaymentReturn[\"items\"];\n networkType?: string;\n tokenImage?: string;\n failedMemberships?: {\n data?: {\n contract_address: string;\n }[];\n error?: string;\n message?: string;\n };\n };\n const { openUI } = get(fn);\n let {\n title,\n subtitle,\n orders,\n networkType,\n tokenImage,\n failedMemberships = { data: [], error: undefined, message: undefined },\n isSui,\n } = options;\n\n const successfulOrders = (orders ?? []).filter((o) => o.tx);\n const failedOrders = (orders ?? []).filter((o) => !o.tx);\n\n function retryPurchase() {\n const hasAssets = failedOrders.some((order) => order.asset);\n if (hasAssets) {\n const assets = failedOrders\n .filter((order) => order.asset)\n .map((order) => ({\n packageId: order.asset!.packageId,\n type: order.asset!.type,\n assetId: order.asset!.assetId,\n amount: order.asset!.amount,\n }));\n if (!assets.length) return;\n\n openUI(Pages.PAYMENT, {\n subtitle: \"Retrying failed orders\",\n payments: {\n credenzaStoredValue: {\n disabled: false,\n },\n },\n assets,\n });\n\n return;\n }\n const tokens: {\n contractAddress: string;\n tokenId: number;\n amount: number;\n }[] = [];\n\n const memberships: {\n contractAddress: string;\n }[] = [];\n\n for (const order of failedOrders) {\n const directive = order.directive;\n if (directive.type !== \"membership\") {\n tokens.push({\n contractAddress: directive.resource_id,\n tokenId: directive.value?.token_id,\n amount: directive.value.amount,\n });\n }\n }\n if (failedMemberships.data?.length) {\n for (const failedMembership of failedMemberships.data) {\n memberships.push({\n contractAddress: failedMembership.contract_address,\n });\n }\n }\n if (!tokens.length && !memberships.length) return;\n openUI(Pages.PAYMENT, {\n subtitle: \"Retrying failed orders\",\n payments: {\n credenzaStoredValue: {\n disabled: false,\n },\n },\n tokens,\n memberships,\n });\n }\n</script>\n\n<div>\n <div\n class=\"crtw-text-black-900 crtw-text-xl md:crtw-text-2xl crtw-font-semibold crtw-pt-5 crtw-mb-3.5 crtw-text-center\"\n >\n {title}\n </div>\n <div class=\"crtw-mb-3.5 crtw-text-sm crtw-text-justify\">\n {subtitle}\n </div>\n {#if tokenImage}\n <div class=\"crtw-my-4 flex justify-center\">\n <div\n class=\"crtw-w-64 crtw-h-64 crtw-rounded-xl crtw-shadow-md crtw-bg-white flex items-center justify-center overflow-hidden\"\n >\n <img\n src={tokenImage}\n alt=\"Token\"\n class=\"max-w-full max-h-full object-contain\"\n />\n </div>\n </div>\n {/if}\n\n <div class=\"crtw-mb-3.5 crtw-text-sm crtw-text-justify\">\n {#if orders.length}\n <div class=\"crtw-mt-6\">\n <div class=\"crtw-text-lg crtw-font-semibold crtw-mb-2\">Successful</div>\n {#each successfulOrders as order}\n {#if order.tx}\n <div class=\"crtw-mb-2\">\n <a\n href={getTxUrl(\n { chainId: order.directive?.chain_id || \"\" },\n order.tx,\n order.directive.chain_type,\n networkType || \"\"\n )}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"crtw-text-blue-600 crtw-underline\"\n >\n <div class=\"crtw-break-words\">\n {#if order.metadata?.name}\n {order.metadata.name}\n {:else}\n <span>{order.directive.type}</span>\n <span\n class=\"crtw-break-all crtw-whitespace-normal crtw-break-words\"\n >\n ({order.directive.resource_id})\n </span>\n {/if}\n </div>\n </a>\n </div>\n {/if}\n {/each}\n\n <div\n class=\"crtw-text-lg crtw-font-semibold crtw-mt-6 crtw-mb-2\"\n class:hidden={!failedOrders.length &&\n !failedMemberships?.data?.length}\n >\n Failed\n </div>\n {#if failedOrders.length}\n {#each failedOrders as order}\n <div class=\"crtw-mb-3\">\n <p class=\"crtw-text-red-600 break-words\">\n {#if order.metadata?.name}\n {order.metadata.name}\n {:else if order.directive?.type}\n <span>{order.directive.type} </span>\n <span class=\"text-gray-500 break-all whitespace-normal\">\n ({order.directive.resource_id})\n </span>\n {:else if order.asset?.assetId}\n AssetId {order.asset.assetId} : {order.error}\n {:else}\n <span>{order.asset?.type}</span>\n <span\n class=\"crtw-break-all crtw-whitespace-normal crtw-break-words\"\n >\n ({order.asset?.packageId}) : {order.error}\n </span>\n {/if}\n </p>\n </div>\n {/each}\n {/if}\n {#if failedMemberships?.data?.length}\n {#each failedMemberships.data as failedMembership}\n <p class=\"crtw-text-red-600\">\n Membership ({failedMembership.contract_address})\n </p>\n {/each}\n {/if}\n <button\n class=\"crtw-bg-black hover:crtw-bg-gray-800 crtw-text-white crtw-px-4 crtw-py-2 crtw-rounded-md crtw-mt-4\"\n on:click={retryPurchase}\n >\n Try Again\n </button>\n </div>\n {:else if isSui}\n If you are not seeing your new token, please contact\n <a href=\"mailto:support@credenza3.com\" class=\"text-blue-600 underline\">\n support@credenza3.com\n </a>.\n {:else}\n Typically, your purchase will be processed within a few seconds. In the\n event of unusually high traffic, you may have to wait as much as a minute\n or so. If several minutes pass and you are not seeing your purchase,\n please contact\n <a class=\"crtw-underline\" href=\"mailto:support@credenza3.com\"\n >support@credenza3.com</a\n >.\n {/if}\n </div>\n</div>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { pageOptsStore } from '@packages/stores'\n import { PaymentResult } from '@packages/ui'\n import { configStore } from '@src/stores/config'\n\n let config = get(configStore)\n</script>\n\n<PaymentResult\n options={{\n title: config.content?.paymentResult?.title || 'Success!',\n subtitle: $pageOptsStore?.subtitle || config.content?.paymentResult?.subtitle || 'Your payment was successful!',\n description: config.content?.paymentResult?.description,\n orders: $pageOptsStore?.orders || [],\n networkType: config.networkType,\n failedMemberships: $pageOptsStore?.failedMemberships || [],\n tokenImage: $pageOptsStore?.tokenImage || '',\n isSui: true\n }}\n/>\n "],"names":["getTxUrl","item","tx","chainType","networkType","options","$.prop","$$props","openUI","get","fn","title","subtitle","orders","tokenImage","failedMemberships","isSui","successfulOrders","o","failedOrders","retryPurchase","order","assets","Pages","tokens","memberships","directive","_a","_b","failedMembership","$$render","consequent","$.each","node_2","$.get","$.untrack","node_6","consequent_6","$.index","$$anchor","consequent_9","alternate_5","consequent_8","alternate_4","config","configStore","_c","$pageOptsStore","_e","_d","_g","_f","_h","_i","_j"],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- import { L as c, $ as y, b4 as m, bk as i, bh as E, b3 as l, O as C, M as u, P as g } from "./index-By5ED3Yb.js";
2
- import { r as h } from "./Payment-D_PmGbx9.js";
3
- const _ = (s) => {
4
- const t = c(y);
5
- let e;
6
- switch (s) {
7
- case i.MEMBERSHIP:
8
- e = "/memberships/buy-order";
9
- break;
10
- case i.DECOM:
11
- e = "/tokens/decom/create-order";
12
- break;
13
- case i.CREDENZA_ASSET_COLLECTION:
14
- e = "/tokens/collection/create-order";
15
- break;
16
- default:
17
- e = "/tokens/create-order";
18
- }
19
- return t.credenza.suiApiUrl + e;
20
- }, f = (s, t) => {
21
- const e = c(y), o = m(e.clientId).name, n = e.stripe.pk[o] ?? e.stripe.pk.DEFAULT, r = t.type, p = t.packageId, d = {
22
- card_token: n.includes("pk_live") ? s : "tok_visa",
23
- source: o,
24
- asset_type: `${p}::${r}::${r.toUpperCase()}`,
25
- ...t.amount ? { amount: t.amount } : {},
26
- ...t.assetId ? { asset_id: t.assetId } : {}
27
- }, a = {
28
- [i.MEMBERSHIP]: {
29
- membership_type: `${p}::${r}::${r.toUpperCase()}`
30
- },
31
- [i.DECOM]: {
32
- token_type: `${p}::${r}::${r.toUpperCase()}`
33
- },
34
- [i.CRED]: {
35
- coin_type: E()
36
- },
37
- [i.CREDENZA_ASSET_COLLECTION]: {
38
- coin_type: `${p}::${r}::${r.toUpperCase()}`
39
- }
40
- };
41
- return Object.assign(d, a[r]), d;
42
- }, k = async (s, t, e = 3) => {
43
- let o = 0;
44
- for (; o < e; ) {
45
- const n = await fetch(`${s}/orders/completed/${t}`, {
46
- headers: {
47
- "Content-Type": "application/json",
48
- Authorization: `Bearer ${c(l)}`
49
- },
50
- method: "GET"
51
- });
52
- if (n.status === 204) {
53
- if (o++, o < e)
54
- continue;
55
- throw new Error("No content received after multiple attempts");
56
- }
57
- if (!n.ok) throw new Error("Failed to get order details");
58
- return await n.json();
59
- }
60
- }, w = async (s, t) => {
61
- const { title: e, subtitle: o } = c(C), n = f(s, t), r = await fetch(_(t.type), {
62
- headers: {
63
- "Content-Type": "application/json",
64
- Authorization: `Bearer ${c(l)}`
65
- },
66
- method: "POST",
67
- body: JSON.stringify(n)
68
- });
69
- if (!r.ok) throw new Error("Failed to create order");
70
- const { _id: p } = await r.json(), d = c(y), a = await k(d.credenza.generalApiUrl, p);
71
- if (a.items[0].error) throw new Error(a.items[0].error);
72
- return a.payment_provider_tx && (await h({ stripeChargeId: a.payment_provider_tx, title: e, subtitle: o }), u(g.RECEIPT, { stripeChargeId: a.payment_provider_tx })), a;
73
- };
74
- export {
75
- w as processPayment
76
- };
77
- //# sourceMappingURL=Stripe.service-ChsNBYNx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stripe.service-ChsNBYNx.js","sources":["../src/app/pages/payment/stripe/stripe.helper.ts","../../utils/lib/orders/index.ts","../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { configStore } from '@src/stores/config'\nimport { get } from 'svelte/store'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { AssetType, type TPaymentAsset } from '../payment.constants'\nimport { getSuiCredCoinType } from '@src/utils/blockchain'\n\nexport const getEdpointUrlByAssetType = (assetType: string) => {\n const config = get(configStore)\n\n let endpoint\n switch (assetType) {\n case AssetType.MEMBERSHIP:\n endpoint = '/memberships/buy-order'\n break\n case AssetType.DECOM:\n endpoint = '/tokens/decom/create-order'\n break\n case AssetType.CREDENZA_ASSET_COLLECTION:\n endpoint = '/tokens/collection/create-order'\n break\n default:\n endpoint = '/tokens/create-order'\n }\n\n return config.credenza.suiApiUrl + endpoint\n}\n\nexport const buildPaymentDataByAssetType = (stripeTokenId: string, asset: TPaymentAsset) => {\n const config = get(configStore)\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n\n const assetType = asset.type\n const packageId = asset.packageId\n\n const paymentData: {\n source: string\n card_token: string\n membership_type?: string\n token_type?: string\n coin_type?: string\n asset_id?: string\n asset_type: string\n amount?: number\n } = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n source: clientName,\n asset_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n ...(asset.amount ? { amount: asset.amount } : {}),\n ...(asset.assetId ? { asset_id: asset.assetId } : {}),\n }\n\n // todo: remove when prod is updated\n const assetTypeMapping = {\n [AssetType.MEMBERSHIP]: {\n membership_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.DECOM]: {\n token_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.CRED]: {\n coin_type: getSuiCredCoinType(),\n },\n [AssetType.CREDENZA_ASSET_COLLECTION]: {\n coin_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n }\n Object.assign(paymentData, assetTypeMapping[assetType])\n // end todo\n\n return paymentData\n}\n","import { get } from \"svelte/store\";\nimport { accessTokenStore } from \"../../../stores\";\nimport type { TPaymentReturn } from \"@packages/utils/types\";\n\nexport const getOrderDetails = async (\n apiUrl: string,\n orderId: string,\n maxRetries = 3\n) => {\n let attempts = 0;\n\n while (attempts < maxRetries) {\n const res = await fetch(`${apiUrl}/orders/completed/${orderId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: \"GET\",\n });\n\n if (res.status === 204) {\n attempts++;\n if (attempts < maxRetries) {\n continue;\n } else {\n throw new Error(\"No content received after multiple attempts\");\n }\n }\n\n if (!res.ok) throw new Error(\"Failed to get order details\");\n return await res.json();\n }\n};\n\nexport const validateOrderItems = (\n txs: string[] | null[],\n orders: TPaymentReturn[\"items\"],\n failedMemberships?: { contract_address: string }[]\n): string => {\n const errorMessages = orders\n .filter((item) => item.error)\n .map(\n (item) =>\n `Name: ${item.metadata.name}, reason: ${item.error}`\n )\n .join(\"\\n\");\n if (txs.every((item) => item === null) && !failedMemberships?.length) {\n throw new Error(`All transactions failed. \\n${errorMessages}`);\n } else if (orders?.every(item => item.status === \"ERROR\") && failedMemberships?.length ) {\n throw new Error(`All transactions failed.}`);\n }\n return errorMessages;\n};\n","/* eslint-disable complexity */\nimport { get } from 'svelte/store'\nimport { accessTokenStore, pageOptsStore } from '@packages/stores'\nimport { requestSuiReceipt } from '../Payment.service'\nimport { buildPaymentDataByAssetType, getEdpointUrlByAssetType } from './stripe.helper'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getOrderDetails } from '@lib/orders'\nimport { type TPaymentAsset } from '../payment.constants'\nimport { configStore } from '@src/stores/config'\nimport type { TPaymentReturn } from '@packages/utils/types'\n\nexport const processPayment = async (stripeTokenId: string, asset: TPaymentAsset) => {\n const { title, subtitle } = get(pageOptsStore)\n\n const paymentData = buildPaymentDataByAssetType(stripeTokenId, asset)\n const res = await fetch(getEdpointUrlByAssetType(asset.type), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(paymentData),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n\n const config = get(configStore)\n const data = (await getOrderDetails(config.credenza.generalApiUrl, _id)) as TPaymentReturn\n if (data.items[0].error) throw new Error(data.items[0].error)\n\n if (data.payment_provider_tx) {\n await requestSuiReceipt({ stripeChargeId: data.payment_provider_tx, title, subtitle })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n\n return data\n}\n"],"names":["getEdpointUrlByAssetType","assetType","config","get","configStore","endpoint","AssetType","buildPaymentDataByAssetType","stripeTokenId","asset","clientName","getClientConfigByClientId","stripePK","packageId","paymentData","assetTypeMapping","getSuiCredCoinType","getOrderDetails","apiUrl","orderId","maxRetries","attempts","res","accessTokenStore","processPayment","title","subtitle","pageOptsStore","_id","data","requestSuiReceipt","dispatch","PassportEvents"],"mappings":"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"}