@credenza3/passport-evm 0.2.11 → 0.2.13
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.
- package/dist/{App-VC5GuWAF.js → App-kj2N4vPy.js} +18 -18
- package/dist/{App-VC5GuWAF.js.map → App-kj2N4vPy.js.map} +1 -1
- package/dist/{Button-CN_vR-Om.js → Button-B5NuARMZ.js} +4 -4
- package/dist/{Button-CN_vR-Om.js.map → Button-B5NuARMZ.js.map} +1 -1
- package/dist/{ButtonBack-Cki4gaha.js → ButtonBack-BF3HAPeq.js} +4 -4
- package/dist/{ButtonBack-Cki4gaha.js.map → ButtonBack-BF3HAPeq.js.map} +1 -1
- package/dist/{ButtonLink-BnmKOTbI.js → ButtonLink-CNHR9vYE.js} +3 -3
- package/dist/{ButtonLink-BnmKOTbI.js.map → ButtonLink-CNHR9vYE.js.map} +1 -1
- package/dist/{ConfirmAccount-DHdEuDwH.js → ConfirmAccount-8tuNaMwf.js} +9 -9
- package/dist/{ConfirmAccount-DHdEuDwH.js.map → ConfirmAccount-8tuNaMwf.js.map} +1 -1
- package/dist/{ContentHeader-Bo98UOT-.js → ContentHeader-Pk5CWdO1.js} +3 -3
- package/dist/{ContentHeader-Bo98UOT-.js.map → ContentHeader-Pk5CWdO1.js.map} +1 -1
- package/dist/{Error-mmzWJdc4.js → Error-8mE3l02i.js} +5 -5
- package/dist/{Error-mmzWJdc4.js.map → Error-8mE3l02i.js.map} +1 -1
- package/dist/{Input-DOJRu6G2.js → Input-vRMdj4DR.js} +4 -4
- package/dist/{Input-DOJRu6G2.js.map → Input-vRMdj4DR.js.map} +1 -1
- package/dist/{Label-CBmDXdqP.js → Label-TLrtjwn-.js} +3 -3
- package/dist/{Label-CBmDXdqP.js.map → Label-TLrtjwn-.js.map} +1 -1
- package/dist/{Loader-Bt4wjg67.js → Loader-DdgI-uiE.js} +3 -3
- package/dist/{Loader-Bt4wjg67.js.map → Loader-DdgI-uiE.js.map} +1 -1
- package/dist/{Login-BhYbdHdO.js → Login-CJpDvUAN.js} +9 -9
- package/dist/{Login-BhYbdHdO.js.map → Login-CJpDvUAN.js.map} +1 -1
- package/dist/{Logout-C4MAqRTh.js → Logout-CwQSnRlJ.js} +6 -6
- package/dist/{Logout-C4MAqRTh.js.map → Logout-CwQSnRlJ.js.map} +1 -1
- package/dist/{Nav-C2Izd6lz.js → Nav-Do3U1inl.js} +5 -5
- package/dist/{Nav-C2Izd6lz.js.map → Nav-Do3U1inl.js.map} +1 -1
- package/dist/{PassportId-Bg5lL-c4.js → PassportId-BNVPe1Am.js} +6 -6
- package/dist/{PassportId-Bg5lL-c4.js.map → PassportId-BNVPe1Am.js.map} +1 -1
- package/dist/Payment-C_fBZsET.js +1036 -0
- package/dist/Payment-C_fBZsET.js.map +1 -0
- package/dist/PaymentResult-Bjz3yTq5.js +290 -0
- package/dist/PaymentResult-Bjz3yTq5.js.map +1 -0
- package/dist/{Profile-CFVASDHX.js → Profile-CYB2B-hk.js} +7 -7
- package/dist/{Profile-CFVASDHX.js.map → Profile-CYB2B-hk.js.map} +1 -1
- package/dist/{ProgressVideo-DsSnYIwd.js → ProgressVideo-CgHBd04r.js} +5 -5
- package/dist/{ProgressVideo-DsSnYIwd.js.map → ProgressVideo-CgHBd04r.js.map} +1 -1
- package/dist/{RichAlert-DF9eHVCu.js → RichAlert-BEDgkSWE.js} +6 -6
- package/dist/{RichAlert-DF9eHVCu.js.map → RichAlert-BEDgkSWE.js.map} +1 -1
- package/dist/{Scanner-Bi-cZZmX.js → Scanner-BMqLXnuL.js} +6 -6
- package/dist/{Scanner-Bi-cZZmX.js.map → Scanner-BMqLXnuL.js.map} +1 -1
- package/dist/{SendTokens-CiK3UAQf.js → SendTokens-BHgA4aTc.js} +7 -7
- package/dist/{SendTokens-CiK3UAQf.js.map → SendTokens-BHgA4aTc.js.map} +1 -1
- package/dist/{Sign-C4JAaDfp.js → Sign-CfF7QBAv.js} +6 -6
- package/dist/{Sign-C4JAaDfp.js.map → Sign-CfF7QBAv.js.map} +1 -1
- package/dist/Stripe.service-Cfc5Lppf.js +61 -0
- package/dist/Stripe.service-Cfc5Lppf.js.map +1 -0
- package/dist/{UpdateProfile-DTRZaTVg.js → UpdateProfile-BRY1t5_7.js} +10 -10
- package/dist/{UpdateProfile-DTRZaTVg.js.map → UpdateProfile-BRY1t5_7.js.map} +1 -1
- package/dist/{UserInfo-qBWponsA.js → UserInfo-3bi_Wbys.js} +4 -4
- package/dist/{UserInfo-qBWponsA.js.map → UserInfo-3bi_Wbys.js.map} +1 -1
- package/dist/{Wallet-BSDSQdi5.js → Wallet-BUDt3csh.js} +7 -7
- package/dist/{Wallet-BSDSQdi5.js.map → Wallet-BUDt3csh.js.map} +1 -1
- package/dist/{each-DDdt2P4U.js → each-DakgVd_U.js} +2 -2
- package/dist/{each-DDdt2P4U.js.map → each-DakgVd_U.js.map} +1 -1
- package/dist/{html-CYyyazLe.js → html-yzUmWp_T.js} +3 -3
- package/dist/{html-CYyyazLe.js.map → html-yzUmWp_T.js.map} +1 -1
- package/dist/{index-DJNwAb6V.js → index-CTXNvlUV.js} +1025 -1030
- package/dist/{index-DJNwAb6V.js.map → index-CTXNvlUV.js.map} +1 -1
- package/dist/{index-client-0TDA22-x.js → index-client-BNILD_Bx.js} +2 -2
- package/dist/{index-client-0TDA22-x.js.map → index-client-BNILD_Bx.js.map} +1 -1
- package/dist/{input-CBwJlKeA.js → input-KJDd2gwd.js} +3 -3
- package/dist/{input-CBwJlKeA.js.map → input-KJDd2gwd.js.map} +1 -1
- package/dist/{legacy-g6609pC7.js → legacy-cKGSjdx_.js} +2 -2
- package/dist/{legacy-g6609pC7.js.map → legacy-cKGSjdx_.js.map} +1 -1
- package/dist/passport.es.js +1 -1
- package/dist/passport.umd.js +42 -42
- package/dist/passport.umd.js.map +1 -1
- package/dist/types/app/pages/payment/Payment.service.d.ts +8 -0
- package/dist/types/app/pages/payment/oders.types.d.ts +23 -0
- package/dist/types/app/pages/payment/order.service.d.ts +4 -0
- package/dist/types/app/pages/payment/paystack/Paystack.service.d.ts +2 -0
- package/dist/types/app/pages/payment/stripe/Stripe.service.d.ts +1 -36
- package/package.json +1 -1
- package/dist/Payment-BkBLuMV1.js +0 -1042
- package/dist/Payment-BkBLuMV1.js.map +0 -1
- package/dist/PaymentResult-ahKlt__c.js +0 -328
- package/dist/PaymentResult-ahKlt__c.js.map +0 -1
- package/dist/Stripe.service-VprSc6cY.js +0 -94
- package/dist/Stripe.service-VprSc6cY.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Payment-BkBLuMV1.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","../../utils/lib/orders/index.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,\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","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","<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 { validateOrderItems } from '@lib/orders'\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\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 { chain_txs, items, failedMemberships } = await processPayment(tokenId)\n const failedOrdersMessage = validateOrderItems(chain_txs, items, failedMemberships?.data)\n dispatch(PassportEvents.PAYMENT, {\n type: TransactionTypes.STRIPE,\n results: { tokens: purchaseConfig.tokens, memberships: purchaseConfig.memberships },\n })\n toastAlert('Your payment was successful')\n dispatch(PassportEvents.RECHECK_BALANCE, chain_txs)\n\n const user = get(userStore)\n if (user) {\n analytics.track('cp_payment_fiat', {\n $email: user.email,\n $phone: user.phone,\n chain: config.chainId,\n clientId: config.clientId,\n address: await getAddress(),\n location: window.location.href,\n tokens: purchaseConfig?.tokens,\n memberships: purchaseConfig?.memberships,\n total: priceCents / 100,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n\n await waitVideoEnded()\n\n if (priceCents === 0) pageOptsStore.set({ subtitle: 'Your claim was successful!', receipt: false })\n\n if (failedOrdersMessage) {\n pageOptsStore.set({\n title: 'Done!',\n subtitle: 'Your payment was partly successful',\n orders: items,\n failedMemberships,\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 || err })\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 { get } from 'svelte/store'\nimport { accessTokenStore } from '@packages/stores'\nimport { RecieptTarget } from '@packages/utils/enums'\nimport { configStore } from '@src/stores/config'\nimport { getClientConfigByClientId } from '@lib/clients'\n\nexport const requestReceipt = async ({\n hash,\n stripeChargeId,\n title,\n subtitle,\n amount,\n currency,\n}: {\n hash?: string\n stripeChargeId?: string\n title?: string\n subtitle?: string\n amount?: number\n currency?: string\n}) => {\n const { credenza, recieptTarget, clientId } = get(configStore)\n\n const result = await fetch(`${credenza.evmApiUrl}/contracts/receipt`, {\n method: 'POST',\n body: JSON.stringify({\n ...(hash ? { tx: hash } : { charge_id: stripeChargeId }),\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 { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n import { onMount } from 'svelte'\n import { Pages } from '@packages/utils/enums'\n import { clientPublicStore, fn, pageOptsStore, pageStore, userStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { TransactionTypes } from '@packages/utils/enums'\n import { sendContractTx, getTxScanAddress } from '@src/lib/tx/tx'\n import { requestReceipt } from '@pages/payment/Payment.service'\n import { analytics } from '@lib/mixpanel/mixpanel'\n import { waitVideoEnded } from '@components/progress/ProgressVideo.service'\n import { type TEvmContract, type TPaymentItem } from '@packages/utils/types'\n import { getCryptoCurrencySymbol } from '@lib/strings/strings'\n import { CredenzaBalance } from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore, providerStore } from '@src/stores'\n import Loader from '@packages/ui/main/shared/Loader.svelte'\n\n export let totalPriceToken: number\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export let purchaseConfig: any\n export let isLoading: boolean\n export let isPriceLoading: boolean\n export let pricesByToken: { [key: string]: number }\n\n const { getCREDContract, toastAlert } = get(fn)\n const { chainId, clientId } = get(configStore)\n\n let isBalanceLoading: boolean = false\n let balance: bigint = BigInt(0)\n let formattedBalance: string\n let symbol: string = ''\n let contract: ethers.Contract\n let decimals: number\n let userAddress: string\n let signer: ethers.Signer\n let credContract: {\n address: string\n decimals: number\n contract: ethers.Contract\n }\n\n const processPaymentItem = async (item: TPaymentItem, index: number) => {\n try {\n const { credenzaSellableMinAbi } = await import('@src/lib/abi')\n const credenzaSellableContract = new ethers.Contract(item.contractAddress, credenzaSellableMinAbi, signer)\n const tokenOrTypeId = item.tokenId ? item.tokenId : (item.typeId as string)\n const priceToken = pricesByToken[`${item.contractAddress}/${tokenOrTypeId}`]\n\n const approveTx = await contract.approve.populateTransaction(\n await credenzaSellableContract.getAddress(),\n priceToken,\n )\n\n await sendContractTx(approveTx, contract)\n const buyTx = await credenzaSellableContract.buyWithToken.populateTransaction(\n tokenOrTypeId,\n item.amount || 1,\n userAddress,\n )\n\n const result = await sendContractTx(buyTx, credenzaSellableContract)\n\n toastAlert(`<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Purchase TX #${index}</a> was created`)\n dispatch(PassportEvents.PAYMENT, { type: TransactionTypes.ERC20, data: result })\n dispatch(PassportEvents.RECHECK_BALANCE)\n\n await requestReceipt({\n hash: result.hash,\n title: purchaseConfig.title,\n subtitle: purchaseConfig.subtitle,\n currency: 'CRED',\n amount: +ethers.formatUnits(priceToken, decimals),\n })\n dispatch(PassportEvents.RECEIPT, { hash: result.hash })\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 const payWithCredenza = async () => {\n try {\n if (BigInt(totalPriceToken) > balance) return\n\n isLoading = true\n const paymentPromises = [...(purchaseConfig.tokens || []), ...(purchaseConfig.memberships || [])].map(\n (item, index) => processPaymentItem(item, index + 1),\n )\n await Promise.all(paymentPromises)\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 chain: chainId,\n clientId,\n address: userAddress,\n location: window.location.href,\n tokens: purchaseConfig.tokens,\n memberships: purchaseConfig.memberships,\n total: totalPriceToken,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n\n await waitVideoEnded()\n\n if (totalPriceToken === 0) pageOptsStore.set({ subtitle: 'Your claim was successful!', receipt: false })\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 try {\n isBalanceLoading = true\n credContract = (await getCREDContract()) as TEvmContract\n\n signer = await get(providerStore).getSigner()\n contract = credContract.contract\n decimals = credContract.decimals\n ;[userAddress, symbol] = await Promise.all([getAddress(), contract.symbol()])\n balance = await contract.balanceOf(userAddress)\n\n formattedBalance = `${ethers.formatUnits(BigInt(balance) - BigInt(totalPriceToken), decimals)} ${getCryptoCurrencySymbol(symbol, 'cred')}`\n } catch (err) {\n console.log(err)\n } finally {\n isBalanceLoading = false\n }\n })\n</script>\n\n{#if isBalanceLoading}\n <div class=\"crtw-w-full crtw-justify-items-center crtw-my-5\">\n <Loader />\n </div>\n{:else}\n <CredenzaBalance\n options={{\n formattedBalance,\n balance: Number((+ethers.formatUnits(BigInt(balance), decimals)).toFixed(2)),\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n onPay: payWithCredenza,\n onGetCred: () => pageStore.set(Pages.WALLET),\n totalToPay: (+ethers.formatUnits(totalPriceToken, decimals)).toFixed(2),\n isLoading,\n isPaymentDisabled: !Number(balance) || BigInt(totalPriceToken) > balance || isPriceLoading,\n }}\n />\n{/if}\n","<script lang=\"ts\">\n import { Pages } from '@packages/utils/enums'\n import { onDestroy } from 'svelte'\n import { get } from 'svelte/store'\n import { ethers } from '@credenza3/core-web-evm-ext'\n\n import { pageOptsStore, userStore, pageStore, fn } from '@packages/stores'\n import { DEFAULT_TOKEN_ID } from '@packages/utils/constants'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import type { TPaymentItem } from '@packages/utils/types'\n import { Payment } from '@packages/ui'\n import Stripe from './stripe/Stripe.svelte'\n import CredenzaBalance from './credenza-balance/CredenzaBalance.svelte'\n import { configStore, providerStore, contractsStore } from '@src/stores'\n\n const { close } = get(fn)\n const chainId = get(configStore).chainId\n\n $: if ($configStore.chainId !== chainId) close()\n\n let totalSumCents: number = 0\n let totalSumToken: number = 0\n let isPriceLoading: boolean = false\n let isLoading: boolean = false\n\n let pricesByToken: { [key: string]: number } = {}\n\n const getTokenPrice = async (sellableContract: ethers.Contract, tokenId: number): Promise<[number, number]> => {\n let priceCents = await sellableContract.getPriceFiat(tokenId).then((result) => Number(result))\n let priceToken = 0\n\n if (priceCents === 0) {\n ;[priceCents, priceToken] = await Promise.all([\n sellableContract.getPriceFiat(DEFAULT_TOKEN_ID).then((result) => Number(result)),\n sellableContract.getPriceToken(DEFAULT_TOKEN_ID).then((result) => Number(result)),\n ])\n } else {\n priceToken = await sellableContract.getPriceToken(tokenId).then((result) => Number(result))\n }\n\n return [priceCents, priceToken]\n }\n\n const calculateTotalPrice = async (items: TPaymentItem[]): Promise<void> => {\n try {\n isPriceLoading = true\n for (const token of items) {\n if (token.contractAddress === $contractsStore.erc20Cred.address) {\n totalSumCents += token.amount * 100\n } else {\n const { credenzaSellableMinAbi } = await import('@src/lib/abi')\n const sellableContract = new ethers.Contract(token.contractAddress, credenzaSellableMinAbi, $providerStore)\n const tokenId = token.tokenId || (token.typeId as string) || DEFAULT_TOKEN_ID\n\n let [priceCents, priceToken] = await getTokenPrice(sellableContract, +tokenId)\n\n if (token?.amount && token?.amount !== 0) {\n priceCents *= token.amount\n priceToken *= token.amount\n }\n\n totalSumCents += priceCents\n totalSumToken += priceToken\n\n pricesByToken[`${token.contractAddress}/${tokenId}`] = priceToken\n }\n }\n } catch (err) {\n dispatch(PassportEvents.ERROR, err)\n } finally {\n isPriceLoading = false\n }\n }\n\n const unsub = pageOptsStore.subscribe(async (store) => {\n if (!store?.tokens?.length && !store?.memberships?.length) return\n\n await calculateTotalPrice([...(store?.tokens || []), ...(store?.memberships || [])])\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,\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 {pricesByToken}\n totalPriceToken={totalSumToken}\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","getOrderDetails","apiUrl","orderId","maxRetries","attempts","res","get","accessTokenStore","validateOrderItems","txs","orders","failedMemberships","errorMessages","item","purchaseConfig","toastAlert","fn","config","configStore","Stripe","cardElement","isButtonActive","clientName","getClientConfigByClientId","$.set","handleSubmit","result","tokenId","processPayment","chain_txs","items","failedOrdersMessage","TransactionTypes","userStore","analytics","getAddress","_b","waitVideoEnded","pageOptsStore","pageStore","Pages","requestReceipt","hash","stripeChargeId","amount","currency","credenza","recieptTarget","clientId","RecieptTarget","totalPriceToken","pricesByToken","getCREDContract","chainId","isBalanceLoading","symbol","contract","decimals","userAddress","signer","credContract","processPaymentItem","index","credenzaSellableMinAbi","credenzaSellableContract","ethers","tokenOrTypeId","priceToken","approveTx","sendContractTx","buyTx","getTxScanAddress","payWithCredenza","paymentPromises","providerStore","getCryptoCurrencySymbol","$clientPublicStore","close","totalSumToken","getTokenPrice","sellableContract","DEFAULT_TOKEN_ID","calculateTotalPrice","token","$contractsStore","$providerStore","unsub","store","onDestroy","$configStore","$.await","node_1","module","$.component","node_2","$$anchor","$$component","$userStore","$pageOptsStore","_d","_c"],"mappings":"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"}
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
import { c as gt, p as Ct, h as ht, f as x, i as S, r as _, b as i, d as xt, u as bt, s as mt, a as ct, k as Et, e as Nt, t as it, n as Yt, o as Ft } from "./legacy-g6609pC7.js";
|
|
2
|
-
import { v as yt, L as kt, N as Mt, B as n, C as c, E as g, G as s, D as h, z as It, u as Ut, y as D, K as t, I as vt, A as Vt, S as ft, F as _t, W as qt, O as Bt } from "./index-DJNwAb6V.js";
|
|
3
|
-
import { e as ot, i as lt } from "./each-DDdt2P4U.js";
|
|
4
|
-
function wt(N, v, Y, M) {
|
|
5
|
-
if (Y === "sui")
|
|
6
|
-
return `https://suiscan.xyz/${M}/tx/${v}`;
|
|
7
|
-
switch (String(N.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), Wt = x('<span> </span> <span class="crtw-break-all crtw-whitespace-normal crtw-break-words"> </span>', 1), Ht = x('<div class="crtw-mb-3"><p class="crtw-text-red-600 break-words"><!></p></div>'), Jt = x('<p class="crtw-text-red-600"> </p>'), Qt = 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 St(N, v) {
|
|
32
|
-
if (new.target) return gt({ component: St, ...N });
|
|
33
|
-
yt(v, !1);
|
|
34
|
-
let Y = Ct(v, "options", 12);
|
|
35
|
-
const { openUI: M } = kt(Mt);
|
|
36
|
-
let {
|
|
37
|
-
title: A,
|
|
38
|
-
subtitle: G,
|
|
39
|
-
orders: z,
|
|
40
|
-
networkType: st,
|
|
41
|
-
tokenImage: F,
|
|
42
|
-
failedMemberships: d = {
|
|
43
|
-
data: [],
|
|
44
|
-
error: void 0,
|
|
45
|
-
message: void 0
|
|
46
|
-
},
|
|
47
|
-
isSui: Q
|
|
48
|
-
} = Y();
|
|
49
|
-
const X = (z ?? []).filter((r) => r.tx), R = (z ?? []).filter((r) => !r.tx);
|
|
50
|
-
function Z() {
|
|
51
|
-
var r, o;
|
|
52
|
-
if (R.some((l) => l.asset)) {
|
|
53
|
-
const l = R.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
|
-
M(ft.PAYMENT, {
|
|
61
|
-
subtitle: "Retrying failed orders",
|
|
62
|
-
payments: { credenzaStoredValue: { disabled: !1 } },
|
|
63
|
-
assets: l
|
|
64
|
-
});
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const b = [], p = [];
|
|
68
|
-
for (const l of R) {
|
|
69
|
-
const m = l.directive;
|
|
70
|
-
m.type !== "membership" && b.push({
|
|
71
|
-
contractAddress: m.resource_id,
|
|
72
|
-
tokenId: (r = m.value) === null || r === void 0 ? void 0 : r.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
|
-
!b.length && !p.length || M(ft.PAYMENT, {
|
|
82
|
-
subtitle: "Retrying failed orders",
|
|
83
|
-
payments: { credenzaStoredValue: { disabled: !1 } },
|
|
84
|
-
tokens: b,
|
|
85
|
-
memberships: p
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
ht();
|
|
89
|
-
var U = te(), V = n(U), tt = n(V, !0);
|
|
90
|
-
c(V);
|
|
91
|
-
var q = g(V, 2), et = n(q, !0);
|
|
92
|
-
c(q);
|
|
93
|
-
var K = g(q, 2);
|
|
94
|
-
{
|
|
95
|
-
var At = (r) => {
|
|
96
|
-
var o = Dt(), P = n(o), b = n(P);
|
|
97
|
-
c(P), c(o), h(() => mt(b, "src", F)), i(r, o);
|
|
98
|
-
};
|
|
99
|
-
S(K, (r) => {
|
|
100
|
-
F && r(At);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
var dt = g(K, 2), zt = n(dt);
|
|
104
|
-
{
|
|
105
|
-
var Rt = (r) => {
|
|
106
|
-
var o = Qt(), P = g(n(o), 2);
|
|
107
|
-
ot(P, 1, () => X, lt, (u, a) => {
|
|
108
|
-
var B = ct(), L = D(B);
|
|
109
|
-
{
|
|
110
|
-
var e = (w) => {
|
|
111
|
-
var j = Kt(), W = n(j), at = n(W), rt = n(at);
|
|
112
|
-
{
|
|
113
|
-
var C = (f) => {
|
|
114
|
-
var y = it();
|
|
115
|
-
h(() => _(y, (t(a), s(() => t(a).metadata.name)))), i(f, y);
|
|
116
|
-
}, T = (f) => {
|
|
117
|
-
var y = Gt(), k = D(y), $ = n(k, !0);
|
|
118
|
-
c(k);
|
|
119
|
-
var E = g(k, 2), H = n(E);
|
|
120
|
-
c(E), h(() => {
|
|
121
|
-
_($, (t(a), s(() => t(a).directive.type))), _(H, `(${t(a), s(() => t(a).directive.resource_id) ?? ""})`);
|
|
122
|
-
}), i(f, y);
|
|
123
|
-
};
|
|
124
|
-
S(rt, (f) => {
|
|
125
|
-
t(a), s(() => {
|
|
126
|
-
var y;
|
|
127
|
-
return (y = t(a).metadata) == null ? void 0 : y.name;
|
|
128
|
-
}) ? f(C) : f(T, !1);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
c(at), c(W), c(j), h(
|
|
132
|
-
(f) => mt(W, "href", f),
|
|
133
|
-
[
|
|
134
|
-
() => (Vt(wt), t(a), s(() => {
|
|
135
|
-
var f;
|
|
136
|
-
return wt(
|
|
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
|
-
st || ""
|
|
143
|
-
);
|
|
144
|
-
}))
|
|
145
|
-
],
|
|
146
|
-
vt
|
|
147
|
-
), i(w, j);
|
|
148
|
-
};
|
|
149
|
-
S(L, (w) => {
|
|
150
|
-
t(a), s(() => t(a).tx) && w(e);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
i(u, B);
|
|
154
|
-
});
|
|
155
|
-
var b = g(P, 2);
|
|
156
|
-
let p;
|
|
157
|
-
var l = g(b, 2);
|
|
158
|
-
{
|
|
159
|
-
var m = (u) => {
|
|
160
|
-
var a = ct(), B = D(a);
|
|
161
|
-
ot(B, 1, () => R, lt, (L, e) => {
|
|
162
|
-
var w = Ht(), j = n(w), W = n(j);
|
|
163
|
-
{
|
|
164
|
-
var at = (C) => {
|
|
165
|
-
var T = it();
|
|
166
|
-
h(() => _(T, (t(e), s(() => t(e).metadata.name)))), i(C, T);
|
|
167
|
-
}, rt = (C, T) => {
|
|
168
|
-
{
|
|
169
|
-
var f = (k) => {
|
|
170
|
-
var $ = Lt(), E = D($), H = n(E, !0);
|
|
171
|
-
c(E);
|
|
172
|
-
var O = g(E, 2), I = n(O);
|
|
173
|
-
c(O), h(() => {
|
|
174
|
-
_(H, (t(e), s(() => t(e).directive.type))), _(I, `(${t(e), s(() => t(e).directive.resource_id) ?? ""})`);
|
|
175
|
-
}), i(k, $);
|
|
176
|
-
}, y = (k, $) => {
|
|
177
|
-
{
|
|
178
|
-
var E = (O) => {
|
|
179
|
-
var I = it();
|
|
180
|
-
h(() => _(I, `AssetId ${t(e), s(() => t(e).asset.assetId) ?? ""} : ${t(e), s(() => t(e).error) ?? ""}`)), i(O, I);
|
|
181
|
-
}, H = (O) => {
|
|
182
|
-
var I = Wt(), nt = D(I), Pt = n(nt, !0);
|
|
183
|
-
c(nt);
|
|
184
|
-
var pt = g(nt, 2), jt = n(pt);
|
|
185
|
-
c(pt), h(() => {
|
|
186
|
-
_(Pt, (t(e), s(() => {
|
|
187
|
-
var J;
|
|
188
|
-
return (J = t(e).asset) == null ? void 0 : J.type;
|
|
189
|
-
}))), _(jt, `(${t(e), s(() => {
|
|
190
|
-
var J;
|
|
191
|
-
return (J = t(e).asset) == null ? void 0 : J.packageId;
|
|
192
|
-
}) ?? ""}) : ${t(e), s(() => t(e).error) ?? ""}`);
|
|
193
|
-
}), i(O, I);
|
|
194
|
-
};
|
|
195
|
-
S(
|
|
196
|
-
k,
|
|
197
|
-
(O) => {
|
|
198
|
-
t(e), s(() => {
|
|
199
|
-
var I;
|
|
200
|
-
return (I = t(e).asset) == null ? void 0 : I.assetId;
|
|
201
|
-
}) ? O(E) : O(H, !1);
|
|
202
|
-
},
|
|
203
|
-
$
|
|
204
|
-
);
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
S(
|
|
208
|
-
C,
|
|
209
|
-
(k) => {
|
|
210
|
-
t(e), s(() => {
|
|
211
|
-
var $;
|
|
212
|
-
return ($ = t(e).directive) == null ? void 0 : $.type;
|
|
213
|
-
}) ? k(f) : k(y, !1);
|
|
214
|
-
},
|
|
215
|
-
T
|
|
216
|
-
);
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
S(W, (C) => {
|
|
220
|
-
t(e), s(() => {
|
|
221
|
-
var T;
|
|
222
|
-
return (T = t(e).metadata) == null ? void 0 : T.name;
|
|
223
|
-
}) ? C(at) : C(rt, !1);
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
c(j), c(w), i(L, w);
|
|
227
|
-
}), i(u, a);
|
|
228
|
-
};
|
|
229
|
-
S(l, (u) => {
|
|
230
|
-
s(() => R.length) && u(m);
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
var ut = g(l, 2);
|
|
234
|
-
{
|
|
235
|
-
var $t = (u) => {
|
|
236
|
-
var a = ct(), B = D(a);
|
|
237
|
-
ot(B, 1, () => s(() => d.data), lt, (L, e) => {
|
|
238
|
-
var w = Jt(), j = n(w);
|
|
239
|
-
c(w), h(() => _(j, `Membership (${t(e), s(() => t(e).contract_address) ?? ""})`)), i(L, w);
|
|
240
|
-
}), i(u, a);
|
|
241
|
-
};
|
|
242
|
-
S(ut, (u) => {
|
|
243
|
-
s(() => {
|
|
244
|
-
var a;
|
|
245
|
-
return (a = d == null ? void 0 : d.data) == null ? void 0 : a.length;
|
|
246
|
-
}) && u($t);
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
var Ot = g(ut, 2);
|
|
250
|
-
c(o), h(
|
|
251
|
-
(u) => p = Et(b, 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: !R.length && !((u = d == null ? void 0 : d.data) != null && u.length)
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
],
|
|
260
|
-
vt
|
|
261
|
-
), Nt("click", Ot, Z), i(r, o);
|
|
262
|
-
}, Tt = (r, o) => {
|
|
263
|
-
{
|
|
264
|
-
var P = (p) => {
|
|
265
|
-
var l = Xt();
|
|
266
|
-
_t(2), i(p, l);
|
|
267
|
-
}, b = (p) => {
|
|
268
|
-
var l = Zt();
|
|
269
|
-
_t(2), i(p, l);
|
|
270
|
-
};
|
|
271
|
-
S(
|
|
272
|
-
r,
|
|
273
|
-
(p) => {
|
|
274
|
-
Q ? p(P) : p(b, !1);
|
|
275
|
-
},
|
|
276
|
-
o
|
|
277
|
-
);
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
S(zt, (r) => {
|
|
281
|
-
s(() => z.length) ? r(Rt) : r(Tt, !1);
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
return c(dt), c(U), h(() => {
|
|
285
|
-
_(tt, A), _(et, G);
|
|
286
|
-
}), i(N, U), It({
|
|
287
|
-
get options() {
|
|
288
|
-
return Y();
|
|
289
|
-
},
|
|
290
|
-
set options(r) {
|
|
291
|
-
Y(r), Ut();
|
|
292
|
-
},
|
|
293
|
-
$set: bt,
|
|
294
|
-
$on: (r, o) => xt(v, r, o)
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
function ee(N, v) {
|
|
298
|
-
if (new.target) return gt({ component: ee, ...N });
|
|
299
|
-
yt(v, !1);
|
|
300
|
-
const [Y, M] = Yt(), A = () => Ft(Bt, "$pageOptsStore", Y);
|
|
301
|
-
let G = kt(qt);
|
|
302
|
-
ht();
|
|
303
|
-
const z = vt(() => (A(), s(() => {
|
|
304
|
-
var F, d, Q, X, R, Z, U, V, tt, q, et, K;
|
|
305
|
-
return {
|
|
306
|
-
title: ((F = A()) == null ? void 0 : F.title) || ((Q = (d = G.content) == null ? void 0 : d.paymentResult) == null ? void 0 : Q.title) || "Success!",
|
|
307
|
-
subtitle: ((X = A()) == null ? void 0 : X.subtitle) || ((Z = (R = G.content) == null ? void 0 : R.paymentResult) == null ? void 0 : Z.subtitle) || "Your payment was successful!",
|
|
308
|
-
description: ((U = A()) == null ? void 0 : U.description) || ((tt = (V = G.content) == null ? void 0 : V.paymentResult) == null ? void 0 : tt.description),
|
|
309
|
-
orders: ((q = A()) == null ? void 0 : q.orders) || [],
|
|
310
|
-
failedMemberships: ((et = A()) == null ? void 0 : et.failedMemberships) || [],
|
|
311
|
-
tokenImage: ((K = A()) == null ? void 0 : K.tokenImage) || ""
|
|
312
|
-
};
|
|
313
|
-
})));
|
|
314
|
-
St(N, {
|
|
315
|
-
get options() {
|
|
316
|
-
return t(z);
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
var st = It({
|
|
320
|
-
$set: bt,
|
|
321
|
-
$on: (F, d) => xt(v, F, d)
|
|
322
|
-
});
|
|
323
|
-
return M(), st;
|
|
324
|
-
}
|
|
325
|
-
export {
|
|
326
|
-
ee as default
|
|
327
|
-
};
|
|
328
|
-
//# sourceMappingURL=PaymentResult-ahKlt__c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentResult-ahKlt__c.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: $pageOptsStore?.title || config.content?.paymentResult?.title || 'Success!',\n subtitle: $pageOptsStore?.subtitle || config.content?.paymentResult?.subtitle || 'Your payment was successful!',\n description: $pageOptsStore?.description || config.content?.paymentResult?.description,\n orders: $pageOptsStore?.orders || [],\n failedMemberships: $pageOptsStore?.failedMemberships || [],\n tokenImage: $pageOptsStore?.tokenImage || '',\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","$pageOptsStore","_c","_d","_f","_e","_g","_i","_h","_j","_k","_l"],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { L as i, W as b, O as g, b0 as k, a2 as w, bc as P, b4 as O, M as u, P as I, bB as v } from "./index-DJNwAb6V.js";
|
|
2
|
-
import { g as C, r as S } from "./Payment-BkBLuMV1.js";
|
|
3
|
-
const D = async (m) => {
|
|
4
|
-
var o, d;
|
|
5
|
-
const s = i(b), n = i(g), t = i(k), r = await w(), c = (t == null ? void 0 : t.email) || ((o = t == null ? void 0 : t.pending) == null ? void 0 : o.email), e = (t == null ? void 0 : t.phone) || ((d = t == null ? void 0 : t.pending) == null ? void 0 : d.phone), p = `Passport Payment: (${JSON.stringify({
|
|
6
|
-
...n.tokens,
|
|
7
|
-
...n.memberships,
|
|
8
|
-
userAddress: r,
|
|
9
|
-
chainId: s.chainId,
|
|
10
|
-
email: c,
|
|
11
|
-
phone: e
|
|
12
|
-
})})`, h = P(s.clientId).name, a = {
|
|
13
|
-
card_token: (s.stripe.pk[h] ?? s.stripe.pk.DEFAULT).includes("pk_live") ? m : "tok_visa",
|
|
14
|
-
client: h,
|
|
15
|
-
description: p,
|
|
16
|
-
address: r,
|
|
17
|
-
chain_id: Number(s.chainId)
|
|
18
|
-
};
|
|
19
|
-
return await x(a);
|
|
20
|
-
}, x = async (m) => {
|
|
21
|
-
var h, l;
|
|
22
|
-
const s = i(g), n = ((h = s.tokens) == null ? void 0 : h.map(
|
|
23
|
-
({
|
|
24
|
-
contractAddress: a,
|
|
25
|
-
tokenId: o,
|
|
26
|
-
amount: d
|
|
27
|
-
}) => ({
|
|
28
|
-
contract_address: a,
|
|
29
|
-
token_id: +o,
|
|
30
|
-
amount: d
|
|
31
|
-
})
|
|
32
|
-
)) || [], t = ((l = s.memberships) == null ? void 0 : l.map(({ contractAddress: a }) => ({
|
|
33
|
-
contract_address: a
|
|
34
|
-
}))) || [], r = [
|
|
35
|
-
{
|
|
36
|
-
data: n,
|
|
37
|
-
endpoint: "/contracts/buy-tokens",
|
|
38
|
-
payloadKey: "tokens"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
data: t,
|
|
42
|
-
endpoint: "/contracts/buy-memberships",
|
|
43
|
-
payloadKey: "memberships"
|
|
44
|
-
}
|
|
45
|
-
], c = [], e = [];
|
|
46
|
-
let p;
|
|
47
|
-
for (const { data: a, endpoint: o, payloadKey: d } of r)
|
|
48
|
-
if (a.length !== 0)
|
|
49
|
-
try {
|
|
50
|
-
const y = {
|
|
51
|
-
...m,
|
|
52
|
-
[d]: a
|
|
53
|
-
}, { chain_txs: f, items: _ } = await A(o, y);
|
|
54
|
-
c.push(...f), e.push(..._);
|
|
55
|
-
} catch (y) {
|
|
56
|
-
console.error("Error processing order:", y), p = {
|
|
57
|
-
endpoint: o,
|
|
58
|
-
reason: y instanceof Error ? y.message : "Unknown error",
|
|
59
|
-
data: a
|
|
60
|
-
};
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
return {
|
|
64
|
-
chain_txs: c,
|
|
65
|
-
items: e,
|
|
66
|
-
failedMemberships: p
|
|
67
|
-
};
|
|
68
|
-
}, A = async (m, s) => {
|
|
69
|
-
const n = i(b), t = i(g), r = await fetch(n.credenza.evmApiUrl + m, {
|
|
70
|
-
headers: {
|
|
71
|
-
"Content-Type": "application/json",
|
|
72
|
-
Authorization: `Bearer ${i(O)}`
|
|
73
|
-
},
|
|
74
|
-
method: "POST",
|
|
75
|
-
body: JSON.stringify(s)
|
|
76
|
-
});
|
|
77
|
-
if (!r.ok) throw new Error("Failed to create order");
|
|
78
|
-
const { _id: c } = await r.json(), e = await C(n.credenza.generalApiUrl, c);
|
|
79
|
-
if (e.payment_provider_tx && (await S({
|
|
80
|
-
stripeChargeId: e.payment_provider_tx,
|
|
81
|
-
title: t.title,
|
|
82
|
-
subtitle: t.subtitle
|
|
83
|
-
}), u(I.RECEIPT, { stripeChargeId: e.payment_provider_tx })), e.items[0].directive.type !== "membership" && e.items[0].directive.type !== "erc20")
|
|
84
|
-
try {
|
|
85
|
-
await v(e.items);
|
|
86
|
-
} catch (p) {
|
|
87
|
-
throw p;
|
|
88
|
-
}
|
|
89
|
-
return e;
|
|
90
|
-
};
|
|
91
|
-
export {
|
|
92
|
-
D as processPayment
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=Stripe.service-VprSc6cY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Stripe.service-VprSc6cY.js","sources":["../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { get } from 'svelte/store'\nimport { userStore, pageOptsStore, accessTokenStore } from '@packages/stores'\nimport { requestReceipt } from '../Payment.service'\nimport { attachMetadataToItems, getAddress } from '@src/passport/blockchain'\nimport { configStore } from '@src/stores/config'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { getOrderDetails } from '@lib/orders'\nimport { type TPaymentReturn } from '@packages/utils/types'\n\ntype TBasicPaymentData = {\n card_token: string\n client: string\n description: string\n address: string\n chain_id: number\n tokens?: TTokenPaymentData[]\n memberships?: TMembershipPaymentData[]\n}\ntype TTokenPaymentData = {\n contract_address: string\n token_id: number\n amount: string | number\n}\ntype TMembershipPaymentData = {\n contract_address: string\n}\n\nexport const processPayment = async (stripeTokenId: string) => {\n const config = get(configStore)\n const paymentOpts = get(pageOptsStore)\n const user = get(userStore)\n const userAddress = await getAddress()\n\n const email = user?.email || user?.pending?.email\n const phone = user?.phone || user?.pending?.phone\n const description =\n 'Passport Payment: ' +\n `(${JSON.stringify({\n ...paymentOpts.tokens,\n ...paymentOpts.memberships,\n userAddress,\n chainId: config.chainId,\n email,\n phone,\n })})`\n\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n const basicPaymentData: TBasicPaymentData = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n client: clientName,\n description,\n address: userAddress,\n chain_id: Number(config.chainId),\n }\n\n return await processAllOrders(basicPaymentData)\n}\n\nconst processAllOrders = async (basicPaymentData: TBasicPaymentData) => {\n const paymentOpts = get(pageOptsStore)\n\n const tokensPaymentData: TTokenPaymentData[] =\n paymentOpts.tokens?.map(\n ({\n contractAddress,\n tokenId,\n amount,\n }: {\n contractAddress: string\n tokenId: number\n amount: string | number\n }) => ({\n contract_address: contractAddress,\n token_id: +tokenId,\n amount,\n }),\n ) || []\n\n const membershipsPaymentData: TMembershipPaymentData[] =\n paymentOpts.memberships?.map(({ contractAddress }: { contractAddress: string }) => ({\n contract_address: contractAddress,\n })) || []\n\n const ordersStrategy = [\n {\n data: tokensPaymentData,\n endpoint: '/contracts/buy-tokens',\n payloadKey: 'tokens',\n },\n {\n data: membershipsPaymentData,\n endpoint: '/contracts/buy-memberships',\n payloadKey: 'memberships',\n },\n ]\n\n const resChainTx: string[] = []\n const resItems: TPaymentReturn['items'] = []\n let resFailedMemberships\n\n for (const { data, endpoint, payloadKey } of ordersStrategy) {\n if (data.length === 0) continue\n\n try {\n const payload = {\n ...basicPaymentData,\n [payloadKey]: data,\n }\n\n const { chain_txs, items } = await processOrder(endpoint, payload)\n\n resChainTx.push(...chain_txs)\n resItems.push(...items)\n } catch (error) {\n console.error('Error processing order:', error)\n resFailedMemberships = {\n endpoint,\n reason: error instanceof Error ? error.message : 'Unknown error',\n data,\n }\n\n continue\n }\n }\n\n return {\n chain_txs: resChainTx,\n items: resItems,\n failedMemberships: resFailedMemberships,\n }\n}\n\nconst processOrder = async (endpoint: string, body: TBasicPaymentData): Promise<TPaymentReturn> => {\n const config = get(configStore)\n const paymentOpts = get(pageOptsStore)\n const res = await fetch(config.credenza.evmApiUrl + endpoint, {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(body),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n\n const data = (await getOrderDetails(config.credenza.generalApiUrl, _id)) as TPaymentReturn\n\n if (data.payment_provider_tx) {\n await requestReceipt({\n stripeChargeId: data.payment_provider_tx,\n title: paymentOpts.title,\n subtitle: paymentOpts.subtitle,\n })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n if (data.items[0].directive.type !== \"membership\" && data.items[0].directive.type !== \"erc20\") {\n try {\n await attachMetadataToItems(data.items)\n } catch (error) {\n throw error\n }\n }\n return data\n}"],"names":["processPayment","stripeTokenId","config","get","configStore","paymentOpts","pageOptsStore","user","userStore","userAddress","getAddress","email","_a","phone","_b","description","clientName","getClientConfigByClientId","basicPaymentData","processAllOrders","tokensPaymentData","contractAddress","tokenId","amount","membershipsPaymentData","ordersStrategy","resChainTx","resItems","resFailedMemberships","data","endpoint","payloadKey","payload","chain_txs","items","processOrder","error","body","res","accessTokenStore","_id","getOrderDetails","requestReceipt","dispatch","PassportEvents","attachMetadataToItems"],"mappings":"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"}
|