@rozoai/intent-pay 0.1.46 → 0.1.47

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 (29) hide show
  1. package/build/constants/rozoConfig.d.ts +2 -0
  2. package/build/hooks/usePaymentState.d.ts +7 -0
  3. package/build/lib/analytics/events.d.ts +2 -0
  4. package/build/package.json.js +1 -1
  5. package/build/payment/createPaymentPayload.d.ts +12 -1
  6. package/build/src/components/Pages/PayWithToken/index.js +212 -171
  7. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  8. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +39 -5
  9. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  10. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +131 -17
  11. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
  12. package/build/src/constants/rozoConfig.js +9 -1
  13. package/build/src/constants/rozoConfig.js.map +1 -1
  14. package/build/src/hooks/usePaymentState.js +71 -16
  15. package/build/src/hooks/usePaymentState.js.map +1 -1
  16. package/build/src/lib/analytics/events.js +1 -0
  17. package/build/src/lib/analytics/events.js.map +1 -1
  18. package/build/src/payment/createPaymentPayload.js +38 -3
  19. package/build/src/payment/createPaymentPayload.js.map +1 -1
  20. package/build/src/payment/paymentEffects.js +6 -5
  21. package/build/src/payment/paymentEffects.js.map +1 -1
  22. package/build/src/utils/paymentRequestScope.js +27 -1
  23. package/build/src/utils/paymentRequestScope.js.map +1 -1
  24. package/build/src/utils/stellar/spendableBalance.js +22 -0
  25. package/build/src/utils/stellar/spendableBalance.js.map +1 -0
  26. package/build/utils/paymentRequestScope.d.ts +8 -0
  27. package/build/utils/stellar/index.d.ts +2 -0
  28. package/build/utils/stellar/spendableBalance.d.ts +16 -0
  29. package/package.json +1 -1
@@ -7,3 +7,5 @@ export declare const DEFAULT_ROZO_APP_ID = "rozoIntentPay";
7
7
  export declare const DEFAULT_STELLAR_RPC_URL = "https://horizon.stellar.org";
8
8
  export declare const POSTHOG_KEY = "phc_uWihkYfFeVLE3x62fSVei5h2f2otanBhXg8Jsy7YP8qj";
9
9
  export declare const POSTHOG_HOST = "https://us.i.posthog.com";
10
+ export declare const STELLAR_INSUFFICIENT_XLM_BASE = "Your Stellar account needs a little XLM to pay the network fee. Please add XLM and try again.";
11
+ export declare function getStellarInsufficientXlmMessage(spendable: number, baseFeeXlm: number): string;
@@ -75,6 +75,7 @@ export interface PaymentState {
75
75
  }>;
76
76
  payWithSolanaTokenRozo: (walletPaymentOption: WalletPaymentOption, rozoPayment: {
77
77
  destAddress: string;
78
+ amount: bigint;
78
79
  memo?: string;
79
80
  }) => Promise<{
80
81
  txHash: string;
@@ -82,6 +83,7 @@ export interface PaymentState {
82
83
  }>;
83
84
  payWithStellarToken: (walletPaymentOption: WalletPaymentOption, rozoPayment: {
84
85
  destAddress: string;
86
+ amount: string;
85
87
  memo?: string;
86
88
  }) => Promise<{
87
89
  signedTx: string;
@@ -99,6 +101,11 @@ export interface PaymentState {
99
101
  rozoPaymentId: string | undefined;
100
102
  setSenderAddress: (address: string | undefined) => void;
101
103
  senderAddress: string | undefined;
104
+ pendingPaymentAttemptId: string | undefined;
105
+ tryClaimPaymentAttempt: (orderId: string) => boolean;
106
+ replacePaymentAttempt: (orderId: string, nextOrderId: string) => boolean;
107
+ releasePaymentAttempt: (orderId: string) => void;
108
+ clearPaymentAttempt: () => void;
102
109
  ethWalletAddress: string | undefined;
103
110
  solanaPubKey: string | undefined;
104
111
  stellarPubKey: string | undefined;
@@ -13,6 +13,7 @@ export declare const PAYMENT_EVENTS: {
13
13
  readonly PAYMENT_QUOTE_RECEIVED: "payment_quote_received";
14
14
  readonly PAYMENT_QUOTE_FAILED: "payment_quote_failed";
15
15
  readonly PAYMENT_CONFIRMED: "payment_confirmed";
16
+ readonly PAYMENT_WALLET_CONFIRMATION_PENDING: "payment_wallet_confirmation_pending";
16
17
  readonly PAYMENT_SUBMITTED: "payment_submitted";
17
18
  readonly PAYMENT_COMPLETED: "payment_completed";
18
19
  readonly PAYMENT_FAILED: "payment_failed";
@@ -36,6 +37,7 @@ export declare const ROZO_EVENTS: {
36
37
  readonly PAYMENT_QUOTE_RECEIVED: "payment_quote_received";
37
38
  readonly PAYMENT_QUOTE_FAILED: "payment_quote_failed";
38
39
  readonly PAYMENT_CONFIRMED: "payment_confirmed";
40
+ readonly PAYMENT_WALLET_CONFIRMATION_PENDING: "payment_wallet_confirmation_pending";
39
41
  readonly PAYMENT_SUBMITTED: "payment_submitted";
40
42
  readonly PAYMENT_COMPLETED: "payment_completed";
41
43
  readonly PAYMENT_FAILED: "payment_failed";
@@ -1,4 +1,4 @@
1
- var version = "0.1.46";
1
+ var version = "0.1.47";
2
2
  var packageJson = {
3
3
  version: version};
4
4
 
@@ -1,4 +1,4 @@
1
- import { ApiVersion, CreateNewPaymentParams, DepositAddressPaymentOptionMetadata, FeeResponseData, FeeType, RozoPayHydratedOrderWithOrg, RozoPayOrderWithOrg, Token, TokenSymbol, WalletPaymentOption } from "@rozoai/intent-common";
1
+ import { ApiVersion, CreateNewPaymentParams, DepositAddressPaymentOptionMetadata, FeeResponseData, FeeType, PaymentResponse, RozoPayHydratedOrderWithOrg, RozoPayOrderWithOrg, Token, TokenSymbol, WalletPaymentOption } from "@rozoai/intent-common";
2
2
  import { PayParams } from "./paymentFsm";
3
3
  type OrderLike = RozoPayHydratedOrderWithOrg | RozoPayOrderWithOrg;
4
4
  export type CreatePaymentContext = {
@@ -77,4 +77,15 @@ export declare function buildDepositWalletOption(option: DepositAddressPaymentOp
77
77
  * asset isn't $1-pegged — pass a real quote whenever one exists.
78
78
  */
79
79
  export declare function resolveDepositSourceAmount(responseAmount: string | null | undefined, fees: FeeResponseData | null | undefined, fallback: number | string): string;
80
+ export type WalletSourceQuoteOrder = {
81
+ sourceQuote?: {
82
+ amount: string;
83
+ chainId: number;
84
+ tokenAddress: string;
85
+ };
86
+ };
87
+ /** Preserve payment/checkout's authoritative source quote on SDK-owned state. */
88
+ export declare function withWalletSourceQuote<T extends RozoPayHydratedOrderWithOrg>(order: T, response: PaymentResponse): T & WalletSourceQuoteOrder;
89
+ /** Amount authorized by payment/checkout, validated against selected source token. */
90
+ export declare function resolveWalletPaymentAmount(order: WalletSourceQuoteOrder, option: Pick<WalletPaymentOption, "required">): bigint;
80
91
  export {};
@@ -12,7 +12,7 @@ import { ROZO_EVENTS } from '../../../lib/analytics/events.js';
12
12
  import { useAnalytics } from '../../../provider/AnalyticsProvider.js';
13
13
  import { buildFeeQuoteParams, getCachedFee } from '../../../utils/feeCache.js';
14
14
  import Button from '../../Common/Button/index.js';
15
- import { PageContent, ModalContent, ModalH1, Link } from '../../Common/Modal/styles.js';
15
+ import { PageContent, ModalContent, ModalBody, ModalH1, Link } from '../../Common/Modal/styles.js';
16
16
  import PaymentBreakdown from '../../Common/PaymentBreakdown/index.js';
17
17
  import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
18
18
 
@@ -22,12 +22,13 @@ var PayState;
22
22
  PayState["PreparingTransaction"] = "Preparing Transaction";
23
23
  PayState["RequestCancelled"] = "Payment Cancelled";
24
24
  PayState["RequestSuccessful"] = "Payment Successful";
25
+ PayState["WaitingForWallet"] = "Wallet Confirmation Pending";
25
26
  PayState["RequestFailed"] = "Payment Failed";
26
27
  })(PayState || (PayState = {}));
27
28
  const PayWithToken = () => {
28
29
  const walletChainId = useChainId();
29
30
  const { triggerResize, paymentState, setRoute, log } = usePayContext();
30
- const { payWithToken, setSenderAddress, selectedTokenOption, walletPaymentOptions, } = paymentState;
31
+ const { payWithToken, setSenderAddress, selectedTokenOption, walletPaymentOptions, pendingPaymentAttemptId, tryClaimPaymentAttempt, releasePaymentAttempt, } = paymentState;
31
32
  const { switchChainAsync } = useSwitchChain();
32
33
  const { address } = useAccount();
33
34
  const { store, setPaymentUnpaid, rozoPaymentId, order, paymentState: rozoPaymentState, } = useRozoPay();
@@ -54,8 +55,10 @@ const PayWithToken = () => {
54
55
  // });
55
56
  };
56
57
  const switchChainErrorRef = useRef(null);
57
- const trySwitchingChain = async (option, forceSwitch = false) => {
58
- if (walletChainId !== option.required.token.chainId || forceSwitch) {
58
+ const transferInFlightRef = useRef(false);
59
+ const autoTransferOrderRef = useRef(null);
60
+ const trySwitchingChain = async (option) => {
61
+ if (walletChainId !== option.required.token.chainId) {
59
62
  const resultChain = await (async () => {
60
63
  try {
61
64
  return await switchChainAsync({
@@ -81,197 +84,232 @@ const PayWithToken = () => {
81
84
  return true;
82
85
  };
83
86
  const handleTransfer = useCallback(async (option) => {
84
- // Read the freshest order straight from the store instead of the React
85
- // closure snapshot. For payId mode this is the getPayment-derived order
86
- // loaded by runSetPayIdEffects, so getFee below runs against the latest
87
- // payment response (correct appId, amount, destination, etc.).
88
- const currentState = store.getState();
89
- const currentOrder = currentState.type !== "idle" ? currentState.order : undefined;
90
- if (!currentOrder) {
91
- throw new Error("Order not initialized");
92
- }
93
- capture(ROZO_EVENTS.PAYMENT_CONFIRMED, {
94
- payment_id: rozoPaymentId ?? order?.externalId,
95
- source_chain: option.required.token.chainId,
96
- token_symbol: option.required.token.symbol,
97
- amount: paymentState.payParams?.toUnits != null
98
- ? String(paymentState.payParams.toUnits)
99
- : order?.destFinalCallTokenAmount?.usd != null
100
- ? String(order.destFinalCallTokenAmount.usd)
101
- : undefined,
102
- });
103
- // Switch chain if necessary
104
- setPayState(PayState.PreparingTransaction);
105
- const switchChain = await trySwitchingChain(option);
106
- if (!switchChain) {
107
- console.error("Switching chain failed");
108
- setFeeLoading(false);
109
- setRoute(ROUTES.ERROR, {
110
- error: switchChainErrorRef.current ?? "switch_chain_failed",
111
- });
87
+ if (transferInFlightRef.current) {
88
+ log("[PayWithToken] transfer already in flight");
112
89
  return;
113
90
  }
91
+ transferInFlightRef.current = true;
92
+ let attemptId;
114
93
  try {
115
- const currentRozoPaymentId = rozoPaymentId ?? currentOrder.externalId ?? undefined;
116
- // Only set unpaid if state is payment_started (for retry scenarios and cross-chain switches)
117
- if (currentRozoPaymentId && rozoPaymentState === "payment_started") {
118
- try {
119
- await setPaymentUnpaid(currentRozoPaymentId);
120
- }
121
- catch (e) {
122
- console.error("Failed to set payment unpaid:", e);
123
- // If already unpaid, continue anyway
124
- }
94
+ // Read the freshest order straight from the store instead of the React
95
+ // closure snapshot. For payId mode this is the getPayment-derived order
96
+ // loaded by runSetPayIdEffects, so getFee below runs against the latest
97
+ // payment response (correct appId, amount, destination, etc.).
98
+ const currentState = store.getState();
99
+ const currentOrder = currentState.type !== "idle" ? currentState.order : undefined;
100
+ if (!currentOrder) {
101
+ throw new Error("Order not initialized");
125
102
  }
126
- // @NOTE: Fee calculation
127
- const request = beginRequestScope(PAYMENT_REQUEST_SCOPE);
128
- setFeeLoading(true);
129
- const destToken = currentOrder.destFinalCallTokenAmount?.token;
130
- const destAmountAtomic = currentOrder.destFinalCallTokenAmount?.amount;
131
- const toUnits = destAmountAtomic && destToken
132
- ? formatUnits(BigInt(destAmountAtomic), destToken.decimals)
133
- : option.required.usd.toString();
134
- const feeParams = buildFeeQuoteParams({
135
- order: currentOrder,
136
- payParams: paymentState.payParams,
137
- destChainId: destToken.chainId,
138
- destTokenAddress: destToken.token,
139
- destAddress: getCanonicalDestination(currentOrder).finalDestinationAddress ??
140
- "",
141
- sourceChainId: option.required.token.chainId,
142
- sourceTokenAddress: option.required.token.token,
143
- toUnits,
144
- feeUsd: option.fees.usd,
145
- });
146
- const feeData = await getCachedFee(feeParams, { signal: request.signal });
147
- setFeeLoading(false);
148
- if (request.signal.aborted) {
149
- return;
150
- }
151
- if (feeData.error) {
152
- if (feeData.error.name === "AbortError") {
153
- return;
154
- }
155
- capture(ROZO_EVENTS.PAYMENT_FAILED, {
156
- payment_id: rozoPaymentId ?? order?.externalId,
157
- error_message: feeData.error.message,
103
+ attemptId = currentOrder.externalId ?? String(currentOrder.id);
104
+ if (!tryClaimPaymentAttempt(attemptId)) {
105
+ log("[PayWithToken] wallet request already pending");
106
+ capture(ROZO_EVENTS.PAYMENT_WALLET_CONFIRMATION_PENDING, {
107
+ payment_id: currentOrder.externalId,
158
108
  source_chain: option.required.token.chainId,
159
- source_token: option.required.token.symbol,
160
- dest_chain: destToken.chainId,
161
- dest_token: destToken.symbol,
109
+ token_symbol: option.required.token.symbol,
162
110
  });
163
- console.error("Fee calculation failed", feeData.error);
164
- setRoute(ROUTES.ERROR, { error: feeData.error.message });
111
+ setPayState(PayState.WaitingForWallet);
165
112
  return;
166
113
  }
167
- setFeeData(feeData.data);
168
- setPayState(PayState.WaitingForPayment);
169
- const result = await payWithToken({
170
- ...option,
171
- fees: {
172
- ...option.fees,
173
- usd: feeData.data?.source.fee != null
174
- ? Number(feeData.data.source.fee)
175
- : option.fees.usd,
176
- },
177
- }, store);
178
- setTxURL(getChainExplorerTxUrl(option.required.token.chainId, result.txHash));
179
- if (result.success) {
180
- capture(ROZO_EVENTS.PAYMENT_SUBMITTED, {
181
- payment_id: rozoPaymentId ?? order?.externalId,
182
- tx_hash: result.txHash,
183
- source_chain: option.required.token.chainId,
184
- token_symbol: option.required.token.symbol,
114
+ capture(ROZO_EVENTS.PAYMENT_CONFIRMED, {
115
+ payment_id: rozoPaymentId ?? order?.externalId,
116
+ source_chain: option.required.token.chainId,
117
+ token_symbol: option.required.token.symbol,
118
+ amount: paymentState.payParams?.toUnits != null
119
+ ? String(paymentState.payParams.toUnits)
120
+ : order?.destFinalCallTokenAmount?.usd != null
121
+ ? String(order.destFinalCallTokenAmount.usd)
122
+ : undefined,
123
+ });
124
+ // Switch chain if necessary
125
+ setPayState(PayState.PreparingTransaction);
126
+ const switchChain = await trySwitchingChain(option);
127
+ if (!switchChain) {
128
+ console.error("Switching chain failed");
129
+ setFeeLoading(false);
130
+ setRoute(ROUTES.ERROR, {
131
+ error: switchChainErrorRef.current ?? "switch_chain_failed",
185
132
  });
186
- try {
187
- sessionStorage.setItem(`rozo_submitted_at:${rozoPaymentId ?? order?.externalId}`, String(Date.now()));
188
- }
189
- catch { }
190
- setSenderAddress(address);
191
- setPayState(PayState.RequestSuccessful);
192
- setTimeout(() => {
193
- setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
194
- }, 200);
195
- // Refresh wallet payment options after 1 second to prevent stale balances
196
- setTimeout(() => {
197
- walletPaymentOptions.refreshOptions();
198
- }, 2000);
133
+ return;
199
134
  }
200
- else {
201
- capture(ROZO_EVENTS.PAYMENT_FAILED, {
202
- payment_id: rozoPaymentId ?? order?.externalId,
203
- error_message: "payment_unsuccessful",
204
- source_chain: option.required.token.chainId,
135
+ try {
136
+ const currentRozoPaymentId = rozoPaymentId ?? currentOrder.externalId ?? undefined;
137
+ // Only set unpaid if state is payment_started (for retry scenarios and cross-chain switches)
138
+ if (currentRozoPaymentId && rozoPaymentState === "payment_started") {
139
+ try {
140
+ await setPaymentUnpaid(currentRozoPaymentId);
141
+ }
142
+ catch (e) {
143
+ console.error("Failed to set payment unpaid:", e);
144
+ // If already unpaid, continue anyway
145
+ }
146
+ }
147
+ // @NOTE: Fee calculation
148
+ const request = beginRequestScope(PAYMENT_REQUEST_SCOPE);
149
+ setFeeLoading(true);
150
+ const destToken = currentOrder.destFinalCallTokenAmount?.token;
151
+ const destAmountAtomic = currentOrder.destFinalCallTokenAmount?.amount;
152
+ const toUnits = destAmountAtomic && destToken
153
+ ? formatUnits(BigInt(destAmountAtomic), destToken.decimals)
154
+ : option.required.usd.toString();
155
+ const feeParams = buildFeeQuoteParams({
156
+ order: currentOrder,
157
+ payParams: paymentState.payParams,
158
+ destChainId: destToken.chainId,
159
+ destTokenAddress: destToken.token,
160
+ destAddress: getCanonicalDestination(currentOrder).finalDestinationAddress ??
161
+ "",
162
+ sourceChainId: option.required.token.chainId,
163
+ sourceTokenAddress: option.required.token.token,
164
+ toUnits,
165
+ feeUsd: option.fees.usd,
205
166
  });
206
- setPayState(PayState.RequestFailed);
207
- }
208
- }
209
- catch (e) {
210
- // Abort = user navigated away (Back / reset). Not a payment failure.
211
- if (isAbortError(e))
212
- return;
213
- if (e?.name === "ConnectorChainMismatchError") {
214
- // Workaround for Rainbow wallet bug -- user is able to switch chain without
215
- // the wallet updating the chain ID for wagmi.
216
- log("Chain mismatch detected, attempting to switch and retry");
217
- const switchSuccessful = await trySwitchingChain(option, true);
218
- if (switchSuccessful) {
167
+ const feeData = await getCachedFee(feeParams, { signal: request.signal });
168
+ setFeeLoading(false);
169
+ if (request.signal.aborted) {
170
+ return;
171
+ }
172
+ if (feeData.error) {
173
+ if (feeData.error.name === "AbortError") {
174
+ return;
175
+ }
176
+ capture(ROZO_EVENTS.PAYMENT_FAILED, {
177
+ payment_id: rozoPaymentId ?? order?.externalId,
178
+ error_message: feeData.error.message,
179
+ source_chain: option.required.token.chainId,
180
+ source_token: option.required.token.symbol,
181
+ dest_chain: destToken.chainId,
182
+ dest_token: destToken.symbol,
183
+ });
184
+ console.error("Fee calculation failed", feeData.error);
185
+ setRoute(ROUTES.ERROR, { error: feeData.error.message });
186
+ return;
187
+ }
188
+ setFeeData(feeData.data);
189
+ setPayState(PayState.WaitingForPayment);
190
+ const result = await payWithToken({
191
+ ...option,
192
+ fees: {
193
+ ...option.fees,
194
+ usd: feeData.data?.source.fee != null
195
+ ? Number(feeData.data.source.fee)
196
+ : option.fees.usd,
197
+ },
198
+ }, store);
199
+ setTxURL(getChainExplorerTxUrl(option.required.token.chainId, result.txHash));
200
+ if (result.success) {
201
+ capture(ROZO_EVENTS.PAYMENT_SUBMITTED, {
202
+ payment_id: rozoPaymentId ?? order?.externalId,
203
+ tx_hash: result.txHash,
204
+ source_chain: option.required.token.chainId,
205
+ token_symbol: option.required.token.symbol,
206
+ });
219
207
  try {
220
- const retryResult = await payWithToken(option, store);
221
- setTxURL(getChainExplorerTxUrl(option.required.token.chainId, retryResult.txHash));
222
- if (retryResult.success) {
223
- capture(ROZO_EVENTS.PAYMENT_SUBMITTED, {
224
- payment_id: rozoPaymentId ?? order?.externalId,
225
- tx_hash: retryResult.txHash,
226
- source_chain: option.required.token.chainId,
227
- token_symbol: option.required.token.symbol,
228
- });
229
- try {
230
- sessionStorage.setItem(`rozo_submitted_at:${rozoPaymentId ?? order?.externalId}`, String(Date.now()));
208
+ sessionStorage.setItem(`rozo_submitted_at:${rozoPaymentId ?? order?.externalId}`, String(Date.now()));
209
+ }
210
+ catch { }
211
+ setSenderAddress(address);
212
+ setPayState(PayState.RequestSuccessful);
213
+ setTimeout(() => {
214
+ setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
215
+ }, 200);
216
+ // Refresh wallet payment options after 1 second to prevent stale balances
217
+ setTimeout(() => {
218
+ walletPaymentOptions.refreshOptions();
219
+ }, 2000);
220
+ }
221
+ else {
222
+ capture(ROZO_EVENTS.PAYMENT_FAILED, {
223
+ payment_id: rozoPaymentId ?? order?.externalId,
224
+ error_message: "payment_unsuccessful",
225
+ source_chain: option.required.token.chainId,
226
+ });
227
+ setPayState(PayState.RequestFailed);
228
+ }
229
+ }
230
+ catch (e) {
231
+ // Abort = user navigated away (Back / reset). Not a payment failure.
232
+ if (isAbortError(e))
233
+ return;
234
+ if (e?.name === "ConnectorChainMismatchError") {
235
+ // Workaround for Rainbow wallet bug -- user is able to switch chain without
236
+ // the wallet updating the chain ID for wagmi.
237
+ log("Chain mismatch detected, attempting to switch and retry");
238
+ const switchSuccessful = await trySwitchingChain(option);
239
+ if (switchSuccessful) {
240
+ try {
241
+ const retryResult = await payWithToken(option, store);
242
+ setTxURL(getChainExplorerTxUrl(option.required.token.chainId, retryResult.txHash));
243
+ if (retryResult.success) {
244
+ capture(ROZO_EVENTS.PAYMENT_SUBMITTED, {
245
+ payment_id: rozoPaymentId ?? order?.externalId,
246
+ tx_hash: retryResult.txHash,
247
+ source_chain: option.required.token.chainId,
248
+ token_symbol: option.required.token.symbol,
249
+ });
250
+ try {
251
+ sessionStorage.setItem(`rozo_submitted_at:${rozoPaymentId ?? order?.externalId}`, String(Date.now()));
252
+ }
253
+ catch { }
254
+ setSenderAddress(address);
255
+ setPayState(PayState.RequestSuccessful);
256
+ setTimeout(() => {
257
+ setRoute(ROUTES.CONFIRMATION, {
258
+ event: "wait-pay-with-token",
259
+ });
260
+ }, 200);
261
+ // Refresh wallet payment options after 1 second to prevent stale balances
262
+ setTimeout(() => {
263
+ walletPaymentOptions.refreshOptions();
264
+ }, 2000);
231
265
  }
232
- catch { }
233
- setSenderAddress(address);
234
- setPayState(PayState.RequestSuccessful);
235
- setTimeout(() => {
236
- setRoute(ROUTES.CONFIRMATION, {
237
- event: "wait-pay-with-token",
266
+ else {
267
+ capture(ROZO_EVENTS.PAYMENT_FAILED, {
268
+ payment_id: rozoPaymentId ?? order?.externalId,
269
+ error_message: "payment_unsuccessful_after_chain_switch",
270
+ source_chain: option.required.token.chainId,
238
271
  });
239
- }, 200);
240
- // Refresh wallet payment options after 1 second to prevent stale balances
241
- setTimeout(() => {
242
- walletPaymentOptions.refreshOptions();
243
- }, 2000);
272
+ setPayState(PayState.RequestFailed);
273
+ }
274
+ return; // Payment handled after switching chain
244
275
  }
245
- else {
246
- capture(ROZO_EVENTS.PAYMENT_FAILED, {
247
- payment_id: rozoPaymentId ?? order?.externalId,
248
- error_message: "payment_unsuccessful_after_chain_switch",
249
- source_chain: option.required.token.chainId,
250
- });
251
- setPayState(PayState.RequestFailed);
276
+ catch (retryError) {
277
+ console.error("Failed to pay with token after switching chain", retryError);
278
+ throw retryError;
252
279
  }
253
- return; // Payment handled after switching chain
254
- }
255
- catch (retryError) {
256
- console.error("Failed to pay with token after switching chain", retryError);
257
- throw retryError;
258
280
  }
259
281
  }
282
+ capture(ROZO_EVENTS.PAYMENT_FAILED, {
283
+ payment_id: rozoPaymentId ?? order?.externalId,
284
+ error_message: e?.message ?? "unknown_error",
285
+ source_chain: option.required.token.chainId,
286
+ });
287
+ setPayState(PayState.RequestCancelled);
288
+ console.error("Failed to pay with token", e);
260
289
  }
261
- capture(ROZO_EVENTS.PAYMENT_FAILED, {
262
- payment_id: rozoPaymentId ?? order?.externalId,
263
- error_message: e?.message ?? "unknown_error",
264
- source_chain: option.required.token.chainId,
265
- });
266
- setPayState(PayState.RequestCancelled);
267
- console.error("Failed to pay with token", e);
290
+ }
291
+ finally {
292
+ if (attemptId)
293
+ releasePaymentAttempt(attemptId);
294
+ transferInFlightRef.current = false;
268
295
  }
269
296
  },
270
297
  // eslint-disable-next-line react-hooks/exhaustive-deps
271
298
  [walletPaymentOptions, rozoPaymentId, order, rozoPaymentState]);
299
+ useEffect(() => {
300
+ if (!pendingPaymentAttemptId && payState === PayState.WaitingForWallet) {
301
+ setPayState(PayState.RequestCancelled);
302
+ }
303
+ }, [pendingPaymentAttemptId, payState]);
272
304
  useEffect(() => {
273
305
  if (!selectedTokenOption)
274
306
  return;
307
+ const currentState = store.getState();
308
+ const currentOrder = currentState.type !== "idle" ? currentState.order : undefined;
309
+ const orderKey = currentOrder?.externalId ?? String(currentOrder?.id ?? "");
310
+ if (!orderKey || autoTransferOrderRef.current === orderKey)
311
+ return;
312
+ autoTransferOrderRef.current = orderKey;
275
313
  const transferTimeout = setTimeout(() => {
276
314
  handleTransfer(selectedTokenOption);
277
315
  }, 100);
@@ -287,7 +325,10 @@ const PayWithToken = () => {
287
325
  if (selectedTokenOption == null) {
288
326
  return jsx(PageContent, {});
289
327
  }
290
- return (jsxs(PageContent, { children: [jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token }), jsxs(ModalContent, { style: { paddingBottom: 0 }, "$preserveDisplay": true, children: [txURL ? (jsx(ModalH1, { children: jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) })) : (jsx(ModalH1, { children: payState })), jsx(PaymentBreakdown, { paymentOption: {
328
+ if (payState === PayState.WaitingForWallet) {
329
+ return (jsxs(PageContent, { children: [jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token }), jsx(ModalContent, { style: { paddingBottom: 0 }, "$preserveDisplay": true, children: jsx(ModalBody, { children: "Wallet confirmation pending. Finish or reject request in your wallet." }) })] }));
330
+ }
331
+ return (jsxs(PageContent, { children: [jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token }), jsxs(ModalContent, { style: { paddingBottom: 0 }, "$preserveDisplay": true, children: [txURL ? (jsx(ModalH1, { children: jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) })) : (jsx(ModalH1, { children: payState })), (payState !== PayState.RequestCancelled || (feeData && !feeLoading)) && (jsx(PaymentBreakdown, { paymentOption: {
291
332
  ...selectedTokenOption,
292
333
  fees: {
293
334
  ...selectedTokenOption.fees,
@@ -295,7 +336,7 @@ const PayWithToken = () => {
295
336
  ? Number(feeData.source.fee)
296
337
  : selectedTokenOption.fees.usd,
297
338
  },
298
- }, feeData: feeData, feeLoading: feeLoading }), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => handleTransfer(selectedTokenOption), children: "Retry Payment" })), payState === PayState.RequestFailed && (jsx(Button, { onClick: handleContactClick, children: "Contact Support" }))] })] }));
339
+ }, feeData: feeData, feeLoading: feeLoading })), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => handleTransfer(selectedTokenOption), children: "Retry Payment" })), payState === PayState.RequestFailed && (jsx(Button, { onClick: handleContactClick, children: "Contact Support" }))] })] }));
299
340
  };
300
341
 
301
342
  export { PayWithToken as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAK,QAMJ;AAND,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC;AACzC,IAAA,QAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C;AAC9C,IAAA,QAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,QAAA,CAAA,mBAAA,CAAA,GAAA,oBAAwC;AACxC,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAClC,CAAC,EANI,QAAQ,KAAR,QAAQ,GAAA,EAAA,CAAA,CAAA;AAQb,MAAM,YAAY,GAAa,MAAK;AAClC,IAAA,MAAM,aAAa,GAAG,UAAU,EAAE;AAClC,IAAA,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE;IACtE,MAAM,EACJ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,GAAG,YAAY;AAChB,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE;AAC7C,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE;AAChC,IAAA,MAAM,EACJ,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,YAAY,EAAE,gBAAgB,GAC/B,GAAG,UAAU,EAAE;AAChB,IAAA,MAAM,kBAAkB,GAAG,iBAAiB,EAAE;AAE9C,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE;AAClC,IAAA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAC3C,QAAQ,CAAC,oBAAoB,CAC9B;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;IAElD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,gBAAgB,KAAK,OAAO,EAAE;AAChC,YAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB;QACF;AACF,IAAA,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAEtB,IAAA,MAAM,WAAW,GAAG,CAAC,KAAe,KAAI;QACtC,IAAI,KAAK,KAAK,QAAQ;YAAE;QACxB,gBAAgB,CAAC,KAAK,CAAC;AACvB,QAAA,GAAG,CAAC,CAAA,yBAAA,EAA4B,KAAK,CAAA,CAAE,CAAC;;;;;AAK1C,IAAA,CAAC;AAED,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAgB,IAAI,CAAC;IAEvD,MAAM,iBAAiB,GAAG,OACxB,MAA2B,EAC3B,WAAA,GAAuB,KAAK,KACR;AACpB,QAAA,IAAI,aAAa,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;AAClE,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,YAAW;AACpC,gBAAA,IAAI;oBACF,OAAO,MAAM,gBAAgB,CAAC;AAC5B,wBAAA,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AACvC,qBAAA,CAAC;gBACJ;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,MAAM,OAAO,GAAI,CAAW,EAAE,OAAO,IAAI,qBAAqB;AAC9D,oBAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC1C,oBAAA,mBAAmB,CAAC,OAAO,GAAG,OAAO;AACrC,oBAAA,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE;AAClC,wBAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,wBAAA,aAAa,EAAE,OAAO;AACtB,wBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC5C,qBAAA,CAAC;AACF,oBAAA,OAAO,IAAI;gBACb;YACF,CAAC,GAAG;AAEJ,YAAA,IAAI,WAAW,EAAE,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;AACrD,gBAAA,OAAO,KAAK;YACd;QACF;AAEA,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,OAAO,MAA2B,KAAI;;;;;AAKpC,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE;AACrC,QAAA,MAAM,YAAY,GAChB,YAAY,CAAC,IAAI,KAAK,MAAM,GAAG,YAAY,CAAC,KAAK,GAAG,SAAS;QAC/D,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC1C;AAEA,QAAA,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;AACrC,YAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,YAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC3C,YAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC1C,YAAA,MAAM,EACJ,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI;kBAC/B,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO;AACvC,kBAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,IAAI;sBACtC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG;AAC3C,sBAAE,SAAS;AAClB,SAAA,CAAC;;AAEF,QAAA,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAC1C,QAAA,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACvC,aAAa,CAAC,KAAK,CAAC;AACpB,YAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;AACrB,gBAAA,KAAK,EAAE,mBAAmB,CAAC,OAAO,IAAI,qBAAqB;AAC5D,aAAA,CAAC;YACF;QACF;AAEA,QAAA,IAAI;YACF,MAAM,oBAAoB,GACxB,aAAa,IAAI,YAAY,CAAC,UAAU,IAAI,SAAS;;AAEvD,YAAA,IAAI,oBAAoB,IAAI,gBAAgB,KAAK,iBAAiB,EAAE;AAClE,gBAAA,IAAI;AACF,oBAAA,MAAM,gBAAgB,CAAC,oBAAoB,CAAC;gBAC9C;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC;;gBAEnD;YACF;;AAGA,YAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,qBAAqB,CAAC;YACxD,aAAa,CAAC,IAAI,CAAC;AACnB,YAAA,MAAM,SAAS,GAAG,YAAY,CAAC,wBAAwB,EAAE,KAAK;AAC9D,YAAA,MAAM,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,EAAE,MAAM;AACtE,YAAA,MAAM,OAAO,GAAG,gBAAgB,IAAI;kBAChC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,QAAQ;kBACxD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE;YAClC,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACpC,gBAAA,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,WAAW,EAAE,SAAS,CAAC,OAAO;gBAC9B,gBAAgB,EAAE,SAAS,CAAC,KAAK;AACjC,gBAAA,WAAW,EACT,uBAAuB,CAAC,YAAY,CAAC,CAAC,uBAAuB;oBAC7D,EAAE;AACJ,gBAAA,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC5C,gBAAA,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAC/C,OAAO;AACP,gBAAA,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;AACxB,aAAA,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACzE,aAAa,CAAC,KAAK,CAAC;AAEpB,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B;YACF;AAEA,YAAA,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;oBACvC;gBACF;AACA,gBAAA,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE;AAClC,oBAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,oBAAA,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;AACpC,oBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC3C,oBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;oBAC1C,UAAU,EAAE,SAAS,CAAC,OAAO;oBAC7B,UAAU,EAAE,SAAS,CAAC,MAAM;AAC7B,iBAAA,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC;AACtD,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACxD;YACF;AAEA,YAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;AACxB,YAAA,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AAEvC,YAAA,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B;AACE,gBAAA,GAAG,MAAM;AACT,gBAAA,IAAI,EAAE;oBACJ,GAAG,MAAM,CAAC,IAAI;oBACd,GAAG,EACD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI;0BACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;AAChC,0BAAE,MAAM,CAAC,IAAI,CAAC,GAAG;AACtB,iBAAA;aACF,EACD,KAAY,CACb;AACD,YAAA,QAAQ,CACN,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CACpE;AACD,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,gBAAA,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;AACrC,oBAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;oBAC9C,OAAO,EAAE,MAAM,CAAC,MAAM;AACtB,oBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC3C,oBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC3C,iBAAA,CAAC;AACF,gBAAA,IAAI;AACF,oBAAA,cAAc,CAAC,OAAO,CACpB,qBAAqB,aAAa,IAAI,KAAK,EAAE,UAAU,EAAE,EACzD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CACnB;gBACH;gBAAE,MAAM,EAAC;gBACT,gBAAgB,CAAC,OAAO,CAAC;AACzB,gBAAA,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvC,UAAU,CAAC,MAAK;oBACd,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;gBACjE,CAAC,EAAE,GAAG,CAAC;;gBAEP,UAAU,CAAC,MAAK;oBACd,oBAAoB,CAAC,cAAc,EAAE;gBACvC,CAAC,EAAE,IAAI,CAAC;YACV;iBAAO;AACL,gBAAA,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE;AAClC,oBAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,oBAAA,aAAa,EAAE,sBAAsB;AACrC,oBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC5C,iBAAA,CAAC;AACF,gBAAA,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;YACrC;QACF;QAAE,OAAO,CAAM,EAAE;;YAEf,IAAI,YAAY,CAAC,CAAC,CAAC;gBAAE;AAErB,YAAA,IAAI,CAAC,EAAE,IAAI,KAAK,6BAA6B,EAAE;;;gBAG7C,GAAG,CAAC,yDAAyD,CAAC;gBAC9D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC9D,IAAI,gBAAgB,EAAE;AACpB,oBAAA,IAAI;wBACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,KAAY,CAAC;AAC5D,wBAAA,QAAQ,CACN,qBAAqB,CACnB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAC7B,WAAW,CAAC,MAAM,CACnB,CACF;AACD,wBAAA,IAAI,WAAW,CAAC,OAAO,EAAE;AACvB,4BAAA,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;AACrC,gCAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;gCAC9C,OAAO,EAAE,WAAW,CAAC,MAAM;AAC3B,gCAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC3C,gCAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC3C,6BAAA,CAAC;AACF,4BAAA,IAAI;AACF,gCAAA,cAAc,CAAC,OAAO,CACpB,qBAAqB,aAAa,IAAI,KAAK,EAAE,UAAU,EAAE,EACzD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CACnB;4BACH;4BAAE,MAAM,EAAC;4BACT,gBAAgB,CAAC,OAAO,CAAC;AACzB,4BAAA,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BACvC,UAAU,CAAC,MAAK;AACd,gCAAA,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;AAC5B,oCAAA,KAAK,EAAE,qBAAqB;AAC7B,iCAAA,CAAC;4BACJ,CAAC,EAAE,GAAG,CAAC;;4BAEP,UAAU,CAAC,MAAK;gCACd,oBAAoB,CAAC,cAAc,EAAE;4BACvC,CAAC,EAAE,IAAI,CAAC;wBACV;6BAAO;AACL,4BAAA,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE;AAClC,gCAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,gCAAA,aAAa,EAAE,yCAAyC;AACxD,gCAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC5C,6BAAA,CAAC;AACF,4BAAA,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;wBACrC;AACA,wBAAA,OAAO;oBACT;oBAAE,OAAO,UAAU,EAAE;AACnB,wBAAA,OAAO,CAAC,KAAK,CACX,gDAAgD,EAChD,UAAU,CACX;AACD,wBAAA,MAAM,UAAU;oBAClB;gBACF;YACF;AACA,YAAA,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE;AAClC,gBAAA,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE,UAAU;AAC9C,gBAAA,aAAa,EAAG,CAAW,EAAE,OAAO,IAAI,eAAe;AACvD,gBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC5C,aAAA,CAAC;AACF,YAAA,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AACtC,YAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAC9C;IACF,CAAC;;IAED,CAAC,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAC/D;IAED,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,mBAAmB;YAAE;AAE1B,QAAA,MAAM,eAAe,GAAG,UAAU,CAAC,MAAK;YACtC,cAAc,CAAC,mBAAmB,CAAC;QACrC,CAAC,EAAE,GAAG,CAAC;AACP,QAAA,OAAO,MAAK;YACV,YAAY,CAAC,eAAe,CAAC;AAC/B,QAAA,CAAC;;AAEH,IAAA,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAEzB,SAAS,CAAC,MAAK;AACb,QAAA,aAAa,EAAE;;AAEjB,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEd,IAAA,IAAI,mBAAmB,IAAI,IAAI,EAAE;QAC/B,OAAOA,GAAA,CAAC,WAAW,EAAA,EAAA,CAAe;IACpC;AAEA,IAAA,QACEC,IAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACVD,IAAC,gBAAgB,EAAA,EAAC,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAA,CAAI,EAC/DC,IAAA,CAAC,YAAY,EAAA,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAA,kBAAA,EAAoB,IAAI,EAAA,QAAA,EAAA,CAC9D,KAAK,IACJD,GAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EACNA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YACzD,QAAQ,EAAA,CACJ,EAAA,CACC,KAEVA,IAAC,OAAO,EAAA,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAW,CAC9B,EACDA,GAAA,CAAC,gBAAgB,EAAA,EACf,aAAa,EAAE;AACb,4BAAA,GAAG,mBAAmB;AACtB,4BAAA,IAAI,EAAE;gCACJ,GAAG,mBAAmB,CAAC,IAAI;AAC3B,gCAAA,GAAG,EACD,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI;sCACnB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;AAC3B,sCAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG;AACnC,6BAAA;yBACF,EACD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EAAA,CACtB,EACD,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,KACrCA,GAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAE,MAAM,cAAc,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,eAAA,EAAA,CAEjD,CACV,EACA,QAAQ,KAAK,QAAQ,CAAC,aAAa,KAClCA,GAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAE,kBAAkB,gCAA0B,CAC9D,CAAA,EAAA,CACY,CAAA,EAAA,CACH;AAElB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}