@b3dotfun/sdk 0.0.20 → 0.0.21-alpha.0

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 (136) hide show
  1. package/dist/cjs/anyspend/index.native.d.ts +0 -2
  2. package/dist/cjs/anyspend/index.native.js +0 -4
  3. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +3 -3
  4. package/dist/cjs/anyspend/react/components/AnySpend.js +43 -55
  5. package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +1 -1
  6. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +159 -84
  7. package/dist/cjs/anyspend/react/components/AnySpendFingerprintWrapper.d.ts +1 -1
  8. package/dist/cjs/anyspend/react/components/AnySpendFingerprintWrapper.js +2 -5
  9. package/dist/cjs/anyspend/react/components/AnySpendNFT.js +1 -1
  10. package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.js +1 -1
  11. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +4 -4
  12. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +50 -102
  13. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +1 -1
  14. package/dist/cjs/anyspend/react/components/common/OrderDetails.d.ts +2 -2
  15. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +7 -9
  16. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +2 -2
  17. package/dist/cjs/anyspend/react/components/common/PaymentStripeWeb2.js +1 -3
  18. package/dist/cjs/anyspend/react/components/common/RecipientSelection.d.ts +42 -0
  19. package/dist/cjs/anyspend/react/components/common/RecipientSelection.example.d.ts +7 -0
  20. package/dist/cjs/anyspend/react/components/common/RecipientSelection.example.js +27 -0
  21. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +36 -0
  22. package/dist/cjs/anyspend/react/components/common/TransferCryptoDetails.js +1 -1
  23. package/dist/cjs/anyspend/react/components/index.d.ts +1 -0
  24. package/dist/cjs/anyspend/react/components/index.js +3 -1
  25. package/dist/cjs/anyspend/react/hooks/index.d.ts +1 -0
  26. package/dist/cjs/anyspend/react/hooks/index.js +1 -0
  27. package/dist/cjs/anyspend/react/hooks/useConnectedUserProfile.d.ts +12 -0
  28. package/dist/cjs/anyspend/react/hooks/useConnectedUserProfile.js +25 -0
  29. package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +5 -5
  30. package/dist/cjs/anyspend/react/index.d.ts +1 -1
  31. package/dist/cjs/anyspend/react/index.js +1 -1
  32. package/dist/cjs/anyspend/react/providers/index.d.ts +2 -0
  33. package/dist/cjs/anyspend/react/providers/index.js +18 -0
  34. package/dist/cjs/anyspend/types/api.d.ts +35 -56
  35. package/dist/cjs/anyspend/utils/chain.d.ts +1 -1
  36. package/dist/cjs/anyspend/utils/chain.js +122 -15
  37. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +5 -1
  38. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +2 -2
  39. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  40. package/dist/cjs/global-account/react/hooks/useProfile.d.ts +2 -1
  41. package/dist/cjs/global-account/react/hooks/useProfile.js +9 -7
  42. package/dist/cjs/shared/constants/index.js +5 -3
  43. package/dist/cjs/shared/utils/formatUsername.d.ts +1 -1
  44. package/dist/cjs/shared/utils/formatUsername.js +3 -1
  45. package/dist/esm/anyspend/index.native.d.ts +0 -2
  46. package/dist/esm/anyspend/index.native.js +0 -4
  47. package/dist/esm/anyspend/react/components/AnySpend.d.ts +3 -3
  48. package/dist/esm/anyspend/react/components/AnySpend.js +46 -58
  49. package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +1 -1
  50. package/dist/esm/anyspend/react/components/AnySpendCustom.js +163 -88
  51. package/dist/esm/anyspend/react/components/AnySpendFingerprintWrapper.d.ts +1 -1
  52. package/dist/esm/anyspend/react/components/AnySpendFingerprintWrapper.js +2 -5
  53. package/dist/esm/anyspend/react/components/AnySpendNFT.js +1 -1
  54. package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.js +1 -1
  55. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +4 -4
  56. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +52 -104
  57. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +1 -1
  58. package/dist/esm/anyspend/react/components/common/OrderDetails.d.ts +2 -2
  59. package/dist/esm/anyspend/react/components/common/OrderDetails.js +8 -10
  60. package/dist/esm/anyspend/react/components/common/OrderStatus.js +2 -2
  61. package/dist/esm/anyspend/react/components/common/PaymentStripeWeb2.js +1 -3
  62. package/dist/esm/anyspend/react/components/common/RecipientSelection.d.ts +42 -0
  63. package/dist/esm/anyspend/react/components/common/RecipientSelection.example.d.ts +7 -0
  64. package/dist/esm/anyspend/react/components/common/RecipientSelection.example.js +22 -0
  65. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +33 -0
  66. package/dist/esm/anyspend/react/components/common/TransferCryptoDetails.js +1 -1
  67. package/dist/esm/anyspend/react/components/index.d.ts +1 -0
  68. package/dist/esm/anyspend/react/components/index.js +1 -0
  69. package/dist/esm/anyspend/react/hooks/index.d.ts +1 -0
  70. package/dist/esm/anyspend/react/hooks/index.js +1 -0
  71. package/dist/esm/anyspend/react/hooks/useConnectedUserProfile.d.ts +12 -0
  72. package/dist/esm/anyspend/react/hooks/useConnectedUserProfile.js +22 -0
  73. package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +5 -5
  74. package/dist/esm/anyspend/react/index.d.ts +1 -1
  75. package/dist/esm/anyspend/react/index.js +1 -1
  76. package/dist/esm/anyspend/react/providers/index.d.ts +2 -0
  77. package/dist/esm/anyspend/react/providers/index.js +2 -0
  78. package/dist/esm/anyspend/types/api.d.ts +35 -56
  79. package/dist/esm/anyspend/utils/chain.d.ts +1 -1
  80. package/dist/esm/anyspend/utils/chain.js +122 -15
  81. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +5 -1
  82. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +2 -2
  83. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  84. package/dist/esm/global-account/react/hooks/useProfile.d.ts +2 -1
  85. package/dist/esm/global-account/react/hooks/useProfile.js +9 -7
  86. package/dist/esm/shared/constants/index.js +5 -3
  87. package/dist/esm/shared/utils/formatUsername.d.ts +1 -1
  88. package/dist/esm/shared/utils/formatUsername.js +3 -1
  89. package/dist/styles/index.css +1 -1
  90. package/dist/types/anyspend/index.native.d.ts +0 -2
  91. package/dist/types/anyspend/react/components/AnySpend.d.ts +3 -3
  92. package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +1 -1
  93. package/dist/types/anyspend/react/components/AnySpendFingerprintWrapper.d.ts +1 -1
  94. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +4 -4
  95. package/dist/types/anyspend/react/components/common/OrderDetails.d.ts +2 -2
  96. package/dist/types/anyspend/react/components/common/RecipientSelection.d.ts +42 -0
  97. package/dist/types/anyspend/react/components/common/RecipientSelection.example.d.ts +7 -0
  98. package/dist/types/anyspend/react/components/index.d.ts +1 -0
  99. package/dist/types/anyspend/react/hooks/index.d.ts +1 -0
  100. package/dist/types/anyspend/react/hooks/useConnectedUserProfile.d.ts +12 -0
  101. package/dist/types/anyspend/react/hooks/useSigMint.d.ts +5 -5
  102. package/dist/types/anyspend/react/index.d.ts +1 -1
  103. package/dist/types/anyspend/react/providers/index.d.ts +2 -0
  104. package/dist/types/anyspend/types/api.d.ts +35 -56
  105. package/dist/types/anyspend/utils/chain.d.ts +1 -1
  106. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +5 -1
  107. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  108. package/dist/types/global-account/react/hooks/useProfile.d.ts +2 -1
  109. package/dist/types/shared/utils/formatUsername.d.ts +1 -1
  110. package/package.json +2 -2
  111. package/src/anyspend/index.native.ts +0 -6
  112. package/src/anyspend/react/components/AnySpend.tsx +110 -134
  113. package/src/anyspend/react/components/AnySpendCustom.tsx +488 -196
  114. package/src/anyspend/react/components/AnySpendFingerprintWrapper.tsx +4 -8
  115. package/src/anyspend/react/components/AnySpendNFT.tsx +1 -1
  116. package/src/anyspend/react/components/common/ConnectWalletPayment.tsx +1 -1
  117. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +76 -108
  118. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +1 -1
  119. package/src/anyspend/react/components/common/OrderDetails.tsx +12 -13
  120. package/src/anyspend/react/components/common/OrderStatus.tsx +2 -2
  121. package/src/anyspend/react/components/common/PaymentStripeWeb2.tsx +1 -3
  122. package/src/anyspend/react/components/common/RecipientSelection.example.tsx +52 -0
  123. package/src/anyspend/react/components/common/RecipientSelection.tsx +146 -0
  124. package/src/anyspend/react/components/common/TransferCryptoDetails.tsx +1 -0
  125. package/src/anyspend/react/components/index.ts +1 -0
  126. package/src/anyspend/react/hooks/index.ts +1 -0
  127. package/src/anyspend/react/hooks/useConnectedUserProfile.ts +26 -0
  128. package/src/anyspend/react/index.ts +1 -1
  129. package/src/anyspend/react/providers/index.ts +2 -0
  130. package/src/anyspend/types/api.ts +37 -58
  131. package/src/anyspend/utils/chain.ts +126 -18
  132. package/src/global-account/react/components/B3Provider/B3Provider.tsx +6 -1
  133. package/src/global-account/react/hooks/index.ts +1 -1
  134. package/src/global-account/react/hooks/useProfile.ts +10 -5
  135. package/src/shared/constants/index.ts +5 -3
  136. package/src/shared/utils/formatUsername.ts +3 -2
@@ -10,7 +10,7 @@ const constants_1 = require("../../../anyspend/constants");
10
10
  const react_1 = require("../../../anyspend/react");
11
11
  const react_2 = require("../../../global-account/react");
12
12
  const utils_1 = require("../../../shared/utils");
13
- const centerTruncate_1 = __importDefault(require("../../../shared/utils/centerTruncate"));
13
+ const formatAddress_1 = require("../../../shared/utils/formatAddress");
14
14
  const number_1 = require("../../../shared/utils/number");
15
15
  const simplehash_1 = require("../../../shared/utils/simplehash");
16
16
  const invariant_1 = __importDefault(require("invariant"));
@@ -19,17 +19,23 @@ const react_3 = require("motion/react");
19
19
  const react_4 = require("react");
20
20
  const sonner_1 = require("sonner");
21
21
  const chains_1 = require("viem/chains");
22
+ const AnySpendFingerprintWrapper_1 = require("./AnySpendFingerprintWrapper");
23
+ const CryptoPaymentMethod_1 = require("./common/CryptoPaymentMethod");
24
+ const FiatPaymentMethod_1 = require("./common/FiatPaymentMethod");
22
25
  const OrderDetails_1 = require("./common/OrderDetails");
23
26
  const OrderHistory_1 = require("./common/OrderHistory");
24
27
  const OrderStatus_1 = require("./common/OrderStatus");
25
28
  const OrderToken_1 = require("./common/OrderToken");
26
- const PanelOnrampPayment_1 = require("./common/PanelOnrampPayment");
29
+ const RecipientSelection_1 = require("./common/RecipientSelection");
27
30
  var PanelView;
28
31
  (function (PanelView) {
29
32
  PanelView[PanelView["CONFIRM_ORDER"] = 0] = "CONFIRM_ORDER";
30
33
  PanelView[PanelView["HISTORY"] = 1] = "HISTORY";
31
34
  PanelView[PanelView["ORDER_DETAILS"] = 2] = "ORDER_DETAILS";
32
35
  PanelView[PanelView["LOADING"] = 3] = "LOADING";
36
+ PanelView[PanelView["RECIPIENT_SELECTION"] = 4] = "RECIPIENT_SELECTION";
37
+ PanelView[PanelView["CRYPTO_PAYMENT_METHOD"] = 5] = "CRYPTO_PAYMENT_METHOD";
38
+ PanelView[PanelView["FIAT_PAYMENT_METHOD"] = 6] = "FIAT_PAYMENT_METHOD";
33
39
  })(PanelView || (PanelView = {}));
34
40
  function generateGetRelayQuoteRequest({ orderType, srcChainId, srcToken, dstChainId, dstToken, dstAmount, contractAddress, tokenId, contractType, encodedData, spenderAddress, }) {
35
41
  switch (orderType) {
@@ -88,23 +94,25 @@ function generateGetRelayQuoteRequest({ orderType, srcChainId, srcToken, dstChai
88
94
  }
89
95
  }
90
96
  }
91
- function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipientAddress: recipientAddressProps, spenderAddress, orderType, dstChainId, dstToken, dstAmount, contractAddress, encodedData, metadata, header, onSuccess, showRecipient = true, }) {
97
+ function AnySpendCustom(props) {
98
+ const fingerprintConfig = (0, AnySpendFingerprintWrapper_1.getFingerprintConfig)();
99
+ return ((0, jsx_runtime_1.jsx)(AnySpendFingerprintWrapper_1.AnySpendFingerprintWrapper, { fingerprint: fingerprintConfig, children: (0, jsx_runtime_1.jsx)(AnySpendCustomInner, { ...props }) }));
100
+ }
101
+ function AnySpendCustomInner({ isMainnet = true, loadOrder, mode = "modal", recipientAddress: recipientAddressProps, spenderAddress, orderType, dstChainId, dstToken, dstAmount, contractAddress, encodedData, metadata, header, onSuccess, showRecipient = true, }) {
92
102
  const hasMounted = (0, react_2.useHasMounted)();
93
103
  const searchParams = (0, react_2.useSearchParamsSSR)();
94
104
  const router = (0, react_2.useRouter)();
95
105
  const [activePanel, setActivePanel] = (0, react_4.useState)(loadOrder ? PanelView.ORDER_DETAILS : PanelView.CONFIRM_ORDER);
96
106
  const [activeTab, setActiveTab] = (0, react_4.useState)("crypto");
107
+ // Add state for selected payment methods
108
+ const [selectedCryptoPaymentMethod, setSelectedCryptoPaymentMethod] = (0, react_4.useState)(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE);
109
+ const [selectedFiatPaymentMethod, setSelectedFiatPaymentMethod] = (0, react_4.useState)(FiatPaymentMethod_1.FiatPaymentMethod.NONE);
97
110
  // Get current user's wallet
98
111
  const currentWallet = (0, react_2.useAccountWallet)();
99
- // Add state for recipient modal
100
- const [isRecipientModalOpen, setIsRecipientModalOpen] = (0, react_4.useState)(false);
101
112
  // Add state for custom recipient
102
113
  const [customRecipientAddress, setCustomRecipientAddress] = (0, react_4.useState)(recipientAddressProps);
103
114
  // Update recipient logic to use custom recipient
104
115
  const recipientAddress = customRecipientAddress || currentWallet.address;
105
- const recipientPropsProfile = (0, react_2.useProfile)({ address: recipientAddress });
106
- const recipientEnsName = recipientPropsProfile.data?.name?.replace(/\.b3\.fun/g, "");
107
- const recipientImageUrl = recipientPropsProfile.data?.avatar || currentWallet.wallet.meta?.icon;
108
116
  const [orderId, setOrderId] = (0, react_4.useState)(loadOrder);
109
117
  const [srcChainId, setSrcChainId] = (0, react_4.useState)(isMainnet ? chains_1.base.id : chains_1.baseSepolia.id);
110
118
  // Get token list for token balance check
@@ -216,7 +224,7 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
216
224
  const formattedSrcAmount = srcAmount ? (0, number_1.formatTokenAmount)(srcAmount, srcToken.decimals, 6, false) : null;
217
225
  const srcFiatAmount = (0, react_4.useMemo)(() => (activeTab === "fiat" && srcAmount ? (0, number_1.formatUnits)(srcAmount.toString(), constants_1.USDC_BASE.decimals) : "0"), [activeTab, srcAmount]);
218
226
  // Get geo data and onramp options (after quote is available)
219
- const { geoData, isOnrampSupported } = (0, react_1.useGeoOnrampOptions)(isMainnet, srcFiatAmount);
227
+ const { geoData, isOnrampSupported, coinbaseAvailablePaymentMethods, isStripeOnrampSupported, stripeWeb2Support } = (0, react_1.useGeoOnrampOptions)(isMainnet, srcFiatAmount);
220
228
  (0, react_4.useEffect)(() => {
221
229
  if (oat?.data?.order.status === "executed") {
222
230
  console.log("Calling onSuccess");
@@ -243,6 +251,9 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
243
251
  },
244
252
  });
245
253
  const isCreatingOrder = isCreatingRegularOrder || isCreatingOnrampOrder;
254
+ const { address: connectedAddress, name: connectedName, profile: connectedProfile } = (0, react_1.useConnectedUserProfile)();
255
+ const recipientProfile = (0, react_2.useProfile)({ address: recipientAddress });
256
+ const recipientName = recipientProfile.data?.name;
246
257
  const handleCreateOrder = async (recipientAddress, onramp) => {
247
258
  try {
248
259
  (0, invariant_1.default)(anyspendQuote, "Relay price is not found");
@@ -262,7 +273,7 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
262
273
  ? {
263
274
  type: "erc1155",
264
275
  contractAddress: metadata.nftContract.contractAddress,
265
- tokenId: metadata.nftContract.tokenId,
276
+ tokenId: metadata.nftContract.tokenId ?? 0,
266
277
  name: metadata.nftContract.name,
267
278
  description: metadata.nftContract.description,
268
279
  imageUrl: metadata.nftContract.imageUrl,
@@ -297,15 +308,18 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
297
308
  : undefined,
298
309
  };
299
310
  if (onramp) {
300
- (0, invariant_1.default)(srcToken.address === constants_1.USDC_BASE.address, "Selected src token is not USDC");
301
- (0, invariant_1.default)(srcChainId === chains_1.base.id, "Selected src chain is not base");
311
+ const effectiveSrcToken = activeTab === "fiat" ? constants_1.USDC_BASE : srcToken;
312
+ (0, invariant_1.default)(effectiveSrcToken.address === constants_1.USDC_BASE.address, "Selected src token is not USDC");
313
+ (0, invariant_1.default)((activeTab === "fiat" ? chains_1.base.id : srcChainId) === chains_1.base.id, "Selected src chain is not base");
314
+ // Get the current geo data from the hook
315
+ const currentGeoData = geoData;
302
316
  void createOnrampOrder({
303
317
  ...createOrderParams,
304
318
  srcFiatAmount: srcFiatAmount,
305
319
  onramp: {
306
320
  vendor: onramp.vendor,
307
321
  paymentMethod: onramp.paymentMethod,
308
- country: geoData?.country || "US",
322
+ country: currentGeoData?.country || "US",
309
323
  redirectUrl: window.location.origin === "https://basement.fun"
310
324
  ? "https://basement.fun/deposit"
311
325
  : window.location.origin,
@@ -324,22 +338,21 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
324
338
  }
325
339
  };
326
340
  const handleConfirmOrder = async (onramp) => {
327
- // if (!isAuthenticated) {
328
- // // Copied from https://github.com/b3-fun/b3-mono/blob/main/apps/anyspend-web/components/User/index.tsx#L85
329
- // setB3ModalContentType({
330
- // chain: {
331
- // ...b3,
332
- // rpc: "https://mainnet-rpc.b3.fun",
333
- // blockExplorers: [{ name: "B3 Explorer", url: "https://explorer.b3.fun/" }],
334
- // testnet: undefined,
335
- // },
336
- // partnerId: String(process.env.NEXT_PUBLIC_THIRDWEB_PARTNER_ID),
337
- // type: "signInWithB3",
338
- // showBackButton: false,
339
- // });
340
- // setB3ModalOpen(true);
341
- // return;
342
- // }
341
+ // Check if recipient is selected
342
+ if (!recipientAddress) {
343
+ setActivePanel(PanelView.RECIPIENT_SELECTION);
344
+ return;
345
+ }
346
+ // Check payment method selection for crypto tab
347
+ if (activeTab === "crypto" && selectedCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE) {
348
+ setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD);
349
+ return;
350
+ }
351
+ // Check payment method selection for fiat tab
352
+ if (activeTab === "fiat" && selectedFiatPaymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.NONE) {
353
+ setActivePanel(PanelView.FIAT_PAYMENT_METHOD);
354
+ return;
355
+ }
343
356
  if (recipientAddress) {
344
357
  try {
345
358
  await handleCreateOrder(recipientAddress, onramp);
@@ -350,21 +363,63 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
350
363
  }
351
364
  }
352
365
  };
366
+ // Handle fiat order creation
367
+ const handleFiatOrder = async (paymentMethod) => {
368
+ try {
369
+ (0, invariant_1.default)(anyspendQuote, "Relay price is not found");
370
+ (0, invariant_1.default)(recipientAddress, "Recipient address is not found");
371
+ if (!srcFiatAmount || parseFloat(srcFiatAmount) <= 0) {
372
+ sonner_1.toast.error("Please enter a valid amount");
373
+ return;
374
+ }
375
+ // Determine vendor and payment method string based on selected payment method
376
+ let vendor;
377
+ let paymentMethodString = "";
378
+ if (paymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.COINBASE_PAY) {
379
+ if (coinbaseAvailablePaymentMethods.length === 0) {
380
+ sonner_1.toast.error("Coinbase Pay not available");
381
+ return;
382
+ }
383
+ vendor = "coinbase";
384
+ paymentMethodString = coinbaseAvailablePaymentMethods[0]?.id || "";
385
+ }
386
+ else if (paymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.STRIPE) {
387
+ if (!isStripeOnrampSupported && (!stripeWeb2Support || !stripeWeb2Support.isSupport)) {
388
+ sonner_1.toast.error("Stripe not available");
389
+ return;
390
+ }
391
+ vendor = stripeWeb2Support && stripeWeb2Support.isSupport ? "stripe-web2" : "stripe";
392
+ paymentMethodString = "";
393
+ }
394
+ else {
395
+ sonner_1.toast.error("Please select a payment method");
396
+ return;
397
+ }
398
+ await handleCreateOrder(recipientAddress, {
399
+ paymentMethod: paymentMethodString,
400
+ vendor: vendor,
401
+ });
402
+ }
403
+ catch (err) {
404
+ console.error(err);
405
+ sonner_1.toast.error("Failed to create order: " + err.message);
406
+ }
407
+ };
353
408
  const recipientSection = showRecipient ? ((0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
354
409
  opacity: hasMounted ? 1 : 0,
355
410
  y: hasMounted ? 0 : 20,
356
411
  filter: hasMounted ? "blur(0px)" : "blur(10px)",
357
- }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: "flex w-full items-center justify-between gap-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-b3-react-foreground", children: orderType === "swap"
412
+ }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: "flex w-full items-center justify-between gap-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-as-tertiarry text-sm", children: orderType === "swap"
358
413
  ? "Recipient"
359
414
  : orderType === "mint_nft"
360
415
  ? "Receive NFT at"
361
416
  : orderType === "join_tournament"
362
417
  ? "Join for"
363
- : "Recipient" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)(react_2.Button, { variant: "outline", className: "w-full justify-between border-none p-0", onClick: () => setIsRecipientModalOpen(true), children: [recipientAddress ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [recipientImageUrl && ((0, jsx_runtime_1.jsx)("img", { src: recipientImageUrl, alt: recipientImageUrl, className: "bg-b3-react-foreground size-7 rounded-full object-cover opacity-100" })), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-start gap-1", children: [recipientEnsName && (0, jsx_runtime_1.jsxs)("span", { children: ["@", recipientEnsName] }), (0, jsx_runtime_1.jsx)("span", { children: (0, centerTruncate_1.default)(recipientAddress) })] })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "text-b3-react-foreground/60 flex items-center gap-2", children: (0, jsx_runtime_1.jsx)("span", { children: "Select address" }) })), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightCircle, { className: "ml-2 size-4 shrink-0 opacity-50" })] }) })] }, recipientAddress)) : null;
418
+ : "Recipient" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [recipientAddress ? ((0, jsx_runtime_1.jsx)("button", { className: (0, utils_1.cn)("text-as-tertiarry flex h-7 items-center gap-2 rounded-lg"), onClick: () => setActivePanel(PanelView.RECIPIENT_SELECTION), children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [recipientProfile && ((0, jsx_runtime_1.jsx)("img", { src: recipientProfile.data?.avatar || "", alt: recipientProfile.data?.name || "", className: "bg-b3-react-foreground size-6 rounded-full object-cover opacity-100" })), (0, jsx_runtime_1.jsxs)("div", { className: "text-as-tertiarry flex items-center gap-1 text-sm", children: [recipientName && (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatUsername)(recipientName) }), (0, jsx_runtime_1.jsx)("span", { children: (0, formatAddress_1.shortenAddress)(recipientAddress) })] })] }) })) : ((0, jsx_runtime_1.jsx)("button", { className: "text-as-primary/70 flex items-center gap-1 rounded-lg", onClick: () => setActivePanel(PanelView.RECIPIENT_SELECTION), children: (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-medium", children: "Select recipient" }) })), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })] }, recipientAddress)) : null;
364
419
  const historyView = ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("mx-auto flex w-full max-w-2xl flex-col items-center p-5", mode === "modal" && "bg-b3-react-background"), children: (0, jsx_runtime_1.jsx)(OrderHistory_1.OrderHistory, { mode: mode, onBack: () => {
365
420
  setActivePanel(PanelView.HISTORY);
366
421
  }, onSelectOrder: onSelectOrder }) }));
367
- const orderDetailsView = ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("mx-auto flex w-full flex-col items-center gap-4 p-5", mode === "modal" && "bg-b3-react-background"), children: [oat && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(OrderStatus_1.OrderStatus, { order: oat.data.order }), (0, jsx_runtime_1.jsx)(OrderDetails_1.OrderDetails, { isMainnet: isMainnet, mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTx: oat.data.relayTx, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, onBack: () => {
422
+ const orderDetailsView = ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("mx-auto flex w-full flex-col items-center gap-4 p-5", mode === "modal" && "bg-b3-react-background rounded-xl"), children: [oat && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(OrderStatus_1.OrderStatus, { order: oat.data.order }), (0, jsx_runtime_1.jsx)(OrderDetails_1.OrderDetails, { isMainnet: isMainnet, mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTx: oat.data.relayTx, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod: activeTab === "fiat" ? CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE : selectedCryptoPaymentMethod, onBack: () => {
368
423
  setOrderId(undefined);
369
424
  setActivePanel(PanelView.CONFIRM_ORDER);
370
425
  // Remove orderId from URL when canceling
@@ -374,66 +429,86 @@ function AnySpendCustom({ isMainnet = true, loadOrder, mode = "modal", recipient
374
429
  } })] })), mode === "page" && (0, jsx_runtime_1.jsx)("div", { className: "h-12" })] }));
375
430
  const loadingView = ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("mx-auto flex w-full flex-col items-center gap-4 p-5", mode === "modal" && "bg-b3-react-background"), children: [(0, jsx_runtime_1.jsxs)(react_2.Badge, { variant: "default", className: "bg-b3-react-muted/30 border-b3-react-border hover:bg-b3-react-muted/50 flex items-center gap-3 px-4 py-1 text-base transition-all", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "text-b3-react-foreground size-4 animate-spin" }), (0, jsx_runtime_1.jsx)(react_2.TextShimmer, { duration: 1, className: "font-sf-rounded text-base font-semibold", children: "Loading..." })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex w-full flex-1 flex-col", children: [(0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex flex-col gap-1", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-4 w-24" }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-8 w-48" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "ml-4 h-8 w-32" })] }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "mt-4 h-8 w-24" })] }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "mb-4 h-12 w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex w-full items-center justify-between gap-4", children: [(0, jsx_runtime_1.jsxs)(react_2.Skeleton, { className: "rounded-lg bg-white/5 p-6 pb-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "size-[200px]" }), (0, jsx_runtime_1.jsx)("div", { className: "mt-3 flex items-center justify-center gap-2", children: (0, jsx_runtime_1.jsx)("div", { className: "size-5 rounded-full" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-1 flex-col gap-2", children: [1, 2, 3].map(i => ((0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-10 w-full" }, i))) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "bg-b3-react-muted/30 mt-8 w-full rounded-lg p-4", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "mb-3 h-4 w-48" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-10 flex-1" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-10 flex-1" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "flex w-full flex-col gap-3", children: [1, 2, 3, 4, 5].map(i => ((0, jsx_runtime_1.jsxs)("div", { className: "flex w-full justify-between", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-4 w-24" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-4 w-32" })] }, i))) }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { className: "h-10 w-full" }), mode === "page" && (0, jsx_runtime_1.jsx)("div", { className: "h-12" })] }));
376
431
  // Confirm order view.
377
- const confirmOrderView = ((0, jsx_runtime_1.jsxs)("div", { className: "relative mx-auto flex w-full flex-col items-center", children: [header({ anyspendPrice: anyspendQuote, isLoadingAnyspendPrice: isLoadingAnyspendQuote }), (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), (0, jsx_runtime_1.jsxs)(react_2.Tabs, { value: activeTab, onValueChange: value => setActiveTab(value), className: "bg-b3-react-background max-h-[60dvh] w-full overflow-y-auto p-5", children: [(0, jsx_runtime_1.jsxs)(react_2.TabsList, { hideGradient: true, className: "justify-center", children: [(0, jsx_runtime_1.jsx)(react_2.TabTrigger, { value: "crypto", children: (0, jsx_runtime_1.jsx)("span", { className: "text-as-primary w-[140px]", children: "Pay with crypto" }) }), isOnrampSupported ? ((0, jsx_runtime_1.jsx)(react_2.TabTrigger, { value: "fiat", children: (0, jsx_runtime_1.jsx)("span", { className: "text-as-primary w-[140px]", children: "Pay with fiat" }) })) : ((0, jsx_runtime_1.jsxs)(react_2.Tooltip, { children: [(0, jsx_runtime_1.jsx)(react_2.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(react_2.TabTrigger, { value: "fiat", disabled: true, children: (0, jsx_runtime_1.jsx)("span", { className: "text-as-primary w-[140px]", children: "Pay with fiat" }) }) }), (0, jsx_runtime_1.jsx)(react_2.TooltipContent, { children: (0, jsx_runtime_1.jsx)("span", { className: "text-as-primary w-[140px]", children: "Fiat payments are not supported for this amount" }) })] }))] }), (0, jsx_runtime_1.jsx)(react_2.TabsContent, { value: "crypto", children: (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 flex flex-col gap-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-4", children: [(0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
432
+ const confirmOrderView = ((0, jsx_runtime_1.jsxs)("div", { className: "relative mx-auto flex w-full flex-col items-center", children: [header({ anyspendPrice: anyspendQuote, isLoadingAnyspendPrice: isLoadingAnyspendQuote }), (0, jsx_runtime_1.jsxs)(react_2.Tabs, { value: activeTab, onValueChange: value => setActiveTab(value), className: "bg-b3-react-background max-h-[60dvh] w-full overflow-y-auto p-5", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-full", children: (0, jsx_runtime_1.jsxs)("div", { className: "bg-as-surface-secondary relative mb-4 grid h-10 grid-cols-2 rounded-xl", children: [(0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("bg-as-brand absolute bottom-0 left-0 top-0 z-0 rounded-xl transition-transform duration-100", "h-full w-1/2", activeTab === "fiat" ? "translate-x-full" : "translate-x-0"), style: { willChange: "transform" } }), (0, jsx_runtime_1.jsx)("button", { className: (0, utils_1.cn)("relative z-10 h-full w-full rounded-xl px-3 text-sm font-medium transition-colors duration-100", activeTab === "crypto" ? "text-white" : "text-as-primary/70 hover:bg-as-on-surface-2 bg-transparent"), onClick: () => {
433
+ setActiveTab("crypto");
434
+ setSelectedCryptoPaymentMethod(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE);
435
+ setSelectedFiatPaymentMethod(FiatPaymentMethod_1.FiatPaymentMethod.NONE);
436
+ }, children: "Pay with crypto" }), isOnrampSupported ? ((0, jsx_runtime_1.jsx)("button", { className: (0, utils_1.cn)("relative z-10 h-full w-full rounded-xl px-3 text-sm font-medium transition-colors duration-100", activeTab === "fiat" ? "text-white" : "text-as-primary/70 hover:bg-as-on-surface-2 bg-transparent"), onClick: () => {
437
+ setActiveTab("fiat");
438
+ setSelectedCryptoPaymentMethod(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE);
439
+ setSelectedFiatPaymentMethod(FiatPaymentMethod_1.FiatPaymentMethod.NONE);
440
+ }, children: "Pay with fiat" })) : ((0, jsx_runtime_1.jsxs)(react_2.Tooltip, { children: [(0, jsx_runtime_1.jsx)(react_2.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("button", { className: (0, utils_1.cn)("relative z-10 h-full w-full rounded-xl px-3 text-sm font-medium transition-colors duration-100", "text-as-primary/50 cursor-not-allowed bg-transparent"), disabled: true, children: "Pay with fiat" }) }), (0, jsx_runtime_1.jsx)(react_2.TooltipContent, { children: (0, jsx_runtime_1.jsx)("span", { className: "text-as-primary w-[140px]", children: "Fiat payments are not supported for this amount" }) })] }))] }) }), (0, jsx_runtime_1.jsx)(react_2.TabsContent, { value: "crypto", children: (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 flex flex-col gap-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "border-as-border-secondary bg-as-surface-secondary flex w-full flex-col gap-4 rounded-xl border p-4", children: [(0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
441
+ opacity: hasMounted ? 1 : 0,
442
+ y: hasMounted ? 0 : 20,
443
+ filter: hasMounted ? "blur(0px)" : "blur(10px)",
444
+ }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-as-tertiarry flex h-7 items-center text-sm", children: "Pay" }), (0, jsx_runtime_1.jsx)("button", { className: "text-as-tertiarry flex h-7 items-center gap-2 text-sm transition-colors hover:text-blue-700", onClick: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), children: selectedCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.CONNECT_WALLET ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [connectedAddress ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [connectedProfile?.data?.avatar && ((0, jsx_runtime_1.jsx)("img", { src: connectedProfile.data?.avatar || "", alt: "Connected Wallet", className: "bg-as-primary h-6 w-6 rounded-full" })), (0, jsx_runtime_1.jsxs)("span", { className: "text-as-tertiarry flex items-center gap-1", children: [connectedName && (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatUsername)(connectedName) }), (0, jsx_runtime_1.jsx)("span", { children: (0, formatAddress_1.shortenAddress)(connectedAddress || "") })] })] })) : ("Connect wallet"), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) : selectedCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.TRANSFER_CRYPTO ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Transfer crypto", (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Select payment method", (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) })] }), (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), recipientSection, (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-4", children: [(0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
445
+ opacity: hasMounted ? 1 : 0,
446
+ y: hasMounted ? 0 : 20,
447
+ filter: hasMounted ? "blur(0px)" : "blur(10px)",
448
+ }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-as-tertiarry text-sm", children: "Pay with" }), (0, jsx_runtime_1.jsx)(OrderToken_1.OrderToken, { address: currentWallet?.wallet?.address, context: "from", chainId: srcChainId, setChainId: setSrcChainId, token: srcToken, setToken: token => {
449
+ setDirtySelectSrcToken(true);
450
+ setSrcToken(token);
451
+ }, requiredAmount: srcAmount || undefined })] }), (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), (0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
452
+ opacity: hasMounted ? 1 : 0,
453
+ y: hasMounted ? 0 : 20,
454
+ filter: hasMounted ? "blur(0px)" : "blur(10px)",
455
+ }, transition: { duration: 0.3, delay: 0.1, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsxs)("span", { className: "text-as-tertiarry text-sm", children: ["Total ", (0, jsx_runtime_1.jsx)("span", { className: "text-as-tertiarry", children: "(with fee)" })] }), (0, jsx_runtime_1.jsxs)("span", { className: "text-as-primary font-semibold", children: [formattedSrcAmount || "--", " ", srcToken.symbol] })] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("flex w-full flex-col items-center justify-between gap-2"), children: (0, jsx_runtime_1.jsx)(react_3.motion.div, { initial: false, animate: {
456
+ opacity: hasMounted ? 1 : 0,
457
+ y: hasMounted ? 0 : 20,
458
+ filter: hasMounted ? "blur(0px)" : "blur(10px)",
459
+ }, transition: { duration: 0.3, delay: 0.3, ease: "easeInOut" }, className: "flex w-full flex-col gap-2", children: (0, jsx_runtime_1.jsx)(react_2.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", disabled: isCreatingOrder || isLoadingAnyspendQuote || !anyspendQuote, onClick: () => handleConfirmOrder(), className: "relative w-full", children: isCreatingOrder ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Creating order..." })] })) : isLoadingAnyspendQuote ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Loading quote..." })] })) : !recipientAddress ? ("Select recipient") : selectedCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE ? ("Choose payment method") : anyspendQuote ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: "Checkout" }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightCircle, { className: "absolute right-0 top-1/2 size-6 -translate-y-1/2 opacity-70" })] })) : ("No quote found") }) }) })] }) }), (0, jsx_runtime_1.jsx)(react_2.TabsContent, { value: "fiat", children: (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 flex flex-col gap-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "border-as-border-secondary bg-as-surface-secondary flex w-full flex-col gap-4 rounded-xl border p-4", children: [(0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
378
460
  opacity: hasMounted ? 1 : 0,
379
461
  y: hasMounted ? 0 : 20,
380
462
  filter: hasMounted ? "blur(0px)" : "blur(10px)",
381
- }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsx)("div", { className: "font-medium", children: "Pay with" }), (0, jsx_runtime_1.jsx)(OrderToken_1.OrderToken, { address: currentWallet?.wallet?.address, context: "from", chainId: srcChainId, setChainId: setSrcChainId, token: srcToken, setToken: token => {
382
- setDirtySelectSrcToken(true);
383
- setSrcToken(token);
384
- }, requiredAmount: srcAmount || undefined })] }), (0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
463
+ }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-as-tertiarry flex h-7 items-center text-sm", children: "Pay with" }), (0, jsx_runtime_1.jsx)("button", { className: "text-as-tertiarry flex h-7 items-center gap-1 text-sm transition-colors hover:text-blue-700", onClick: () => setActivePanel(PanelView.FIAT_PAYMENT_METHOD), children: selectedFiatPaymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.COINBASE_PAY ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-blue-600", children: (0, jsx_runtime_1.jsx)("span", { className: "text-xs font-bold text-white", children: "C" }) }), "Coinbase Pay"] }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) : selectedFiatPaymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.STRIPE ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-blue-600", children: (0, jsx_runtime_1.jsx)("span", { className: "text-xs font-bold text-white", children: "S" }) }), "Credit/Debit Card"] }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Select payment method", (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) })] }), (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), recipientSection, (0, jsx_runtime_1.jsx)("div", { className: "divider w-full" }), (0, jsx_runtime_1.jsxs)(react_3.motion.div, { initial: false, animate: {
385
464
  opacity: hasMounted ? 1 : 0,
386
465
  y: hasMounted ? 0 : 20,
387
466
  filter: hasMounted ? "blur(0px)" : "blur(10px)",
388
- }, transition: { duration: 0.3, delay: 0.1, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsxs)("span", { className: "font-medium", children: ["Total ", (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-gray-500", children: "(with fee)" })] }), (0, jsx_runtime_1.jsxs)("h2", { className: (0, utils_1.cn)("text-as-primary text-2xl font-semibold"), children: [formattedSrcAmount || "--", " ", srcToken.symbol] })] })] }), recipientSection, (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("flex w-full flex-col items-center justify-between gap-2"), children: (0, jsx_runtime_1.jsx)(react_3.motion.div, { initial: false, animate: {
467
+ }, transition: { duration: 0.3, delay: 0.1, ease: "easeInOut" }, className: "relative flex w-full items-center justify-between", children: [(0, jsx_runtime_1.jsxs)("span", { className: "text-as-tertiarry text-sm", children: ["Total ", (0, jsx_runtime_1.jsx)("span", { className: "text-as-tertiarry", children: "(USD)" })] }), (0, jsx_runtime_1.jsxs)("span", { className: "text-as-primary text-xl font-semibold", children: ["$", srcFiatAmount || "0.00"] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("flex w-full flex-col items-center justify-between gap-2"), children: (0, jsx_runtime_1.jsx)(react_3.motion.div, { initial: false, animate: {
389
468
  opacity: hasMounted ? 1 : 0,
390
469
  y: hasMounted ? 0 : 20,
391
470
  filter: hasMounted ? "blur(0px)" : "blur(10px)",
392
- }, transition: { duration: 0.3, delay: 0.3, ease: "easeInOut" }, className: "flex w-full flex-col gap-2", children: (0, jsx_runtime_1.jsx)(react_2.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", disabled: isCreatingOrder || isLoadingAnyspendQuote || !anyspendQuote || !recipientAddress, onClick: () => handleConfirmOrder(), className: "relative w-full", children: isCreatingOrder ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Creating order..." })] })) : isLoadingAnyspendQuote ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Loading quote..." })] })) : anyspendQuote && recipientAddress ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: "Checkout" }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightCircle, { className: "absolute right-0 top-1/2 size-6 -translate-y-1/2 opacity-70" })] })) : recipientAddress ? ("No quote found") : ("Please select a recipient") }) }) })] }) }), (0, jsx_runtime_1.jsx)(react_2.TabsContent, { value: "fiat", children: (0, jsx_runtime_1.jsx)("div", { className: "mt-6 flex w-full flex-col gap-6", children: (0, jsx_runtime_1.jsx)(PanelOnrampPayment_1.PanelOnrampPayment, { srcAmountOnRamp: srcAmount ? (0, number_1.formatUnits)(srcAmount.toString(), constants_1.USDC_BASE.decimals) : "0", recipientName: recipientEnsName, recipientAddress: recipientAddress, isMainnet: isMainnet, isBuyMode: false, selectedDstChainId: dstChainId, selectedDstToken: dstToken, anyspendQuote: anyspendQuote, globalAddress: currentWallet?.wallet?.address, onOrderCreated: (orderId) => setOrderId(orderId), onBack: () => setActiveTab("crypto"), orderType: orderType, nft: metadata.type === "mint_nft"
393
- ? metadata.nftContract.type === "erc1155"
394
- ? {
395
- type: "erc1155",
396
- contractAddress: metadata.nftContract.contractAddress,
397
- tokenId: metadata.nftContract.tokenId,
398
- imageUrl: metadata.nftContract.imageUrl,
399
- name: metadata.nftContract.name,
400
- description: metadata.nftContract.description,
401
- price: dstAmount,
402
- }
403
- : {
404
- type: "erc721",
405
- contractAddress: metadata.nftContract.contractAddress,
406
- name: metadata.nftContract.name,
407
- description: metadata.nftContract.description,
408
- imageUrl: metadata.nftContract.imageUrl,
409
- price: dstAmount,
410
- }
411
- : undefined, payload: metadata.type === "custom"
412
- ? {
413
- ...metadata,
414
- amount: dstAmount,
415
- data: encodedData,
416
- to: contractAddress,
417
- spenderAddress: spenderAddress,
418
- }
419
- : undefined, recipientEnsName: recipientEnsName, recipientImageUrl: recipientImageUrl }) }) })] })] }));
471
+ }, transition: { duration: 0.3, delay: 0.3, ease: "easeInOut" }, className: "flex w-full flex-col gap-2", children: (0, jsx_runtime_1.jsx)(react_2.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", disabled: isCreatingOrder || isLoadingAnyspendQuote || !anyspendQuote, onClick: () => {
472
+ if (selectedFiatPaymentMethod !== FiatPaymentMethod_1.FiatPaymentMethod.NONE) {
473
+ handleFiatOrder(selectedFiatPaymentMethod);
474
+ }
475
+ else {
476
+ handleConfirmOrder();
477
+ }
478
+ }, className: "relative w-full", children: isCreatingOrder ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Creating order..." })] })) : isLoadingAnyspendQuote ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "size-4 animate-spin" }), (0, jsx_runtime_1.jsx)("span", { children: "Loading quote..." })] })) : !recipientAddress ? ("Select recipient") : selectedFiatPaymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.NONE ? ("Select payment method") : anyspendQuote ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: "Buy" }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightCircle, { className: "absolute right-0 top-1/2 size-6 -translate-y-1/2 opacity-70" })] })) : ("No quote found") }) }) })] }) })] })] }));
479
+ // Recipient selection view
480
+ const recipientSelectionView = ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("bg-as-surface-primary mx-auto w-[460px] max-w-full rounded-xl p-4"), children: (0, jsx_runtime_1.jsx)(RecipientSelection_1.RecipientSelection, { initialValue: customRecipientAddress || "", title: "Add recipient address or ENS", description: "Send tokens to another address", onBack: () => setActivePanel(PanelView.CONFIRM_ORDER), onConfirm: address => {
481
+ setCustomRecipientAddress(address);
482
+ setActivePanel(PanelView.CONFIRM_ORDER);
483
+ } }) }));
484
+ // Crypto payment method view
485
+ const cryptoPaymentMethodView = ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("bg-as-surface-primary mx-auto w-[460px] max-w-full rounded-xl p-4"), children: (0, jsx_runtime_1.jsx)(CryptoPaymentMethod_1.CryptoPaymentMethod, { globalAddress: currentWallet?.wallet?.address, globalWallet: currentWallet?.wallet, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.CONFIRM_ORDER), onSelectPaymentMethod: (method) => {
486
+ setSelectedCryptoPaymentMethod(method);
487
+ setActivePanel(PanelView.CONFIRM_ORDER);
488
+ } }) }));
489
+ // Fiat payment method view
490
+ const fiatPaymentMethodView = ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("bg-as-surface-primary mx-auto w-[460px] max-w-full rounded-xl p-4"), children: (0, jsx_runtime_1.jsx)(FiatPaymentMethod_1.FiatPaymentMethodComponent, { selectedPaymentMethod: selectedFiatPaymentMethod, setSelectedPaymentMethod: setSelectedFiatPaymentMethod, onBack: () => setActivePanel(PanelView.CONFIRM_ORDER), onSelectPaymentMethod: (method) => {
491
+ setSelectedFiatPaymentMethod(method);
492
+ setActivePanel(PanelView.CONFIRM_ORDER);
493
+ }, srcAmountOnRamp: srcFiatAmount, isMainnet: isMainnet }) }));
420
494
  // Return the TransitionPanel with all views
421
- return ((0, jsx_runtime_1.jsxs)(react_2.StyleRoot, { children: [(0, jsx_runtime_1.jsx)(react_2.TransitionPanel, { activeIndex: orderId
422
- ? oat
423
- ? PanelView.ORDER_DETAILS
424
- : PanelView.LOADING
425
- : activePanel === PanelView.ORDER_DETAILS
426
- ? PanelView.CONFIRM_ORDER
427
- : activePanel, className: (0, utils_1.cn)("w-full"), variants: {
428
- enter: { x: 300, opacity: 0 },
429
- center: { x: 0, opacity: 1 },
430
- exit: { x: -300, opacity: 0 },
431
- }, transition: { type: "spring", stiffness: 300, damping: 30 }, children: [
432
- (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: confirmOrderView }, "edit-recipient-view"),
433
- (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: historyView }, "history-view"),
434
- (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: orderDetailsView }, "order-details-view"),
435
- (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: loadingView }, "loading-view"),
436
- ] }), (0, jsx_runtime_1.jsx)(react_2.Dialog, { open: isRecipientModalOpen, onOpenChange: setIsRecipientModalOpen, children: (0, jsx_runtime_1.jsx)(react_2.DialogContent, { className: "w-[420px] max-w-[calc(100vw-32px)] rounded-2xl p-3.5", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-as-primary font-semibold", children: "To address" }), (0, jsx_runtime_1.jsx)(react_2.Input, { value: customRecipientAddress || "", onChange: e => setCustomRecipientAddress(e.target.value), placeholder: "Enter address", className: "h-12 rounded-lg", spellCheck: false }), (0, jsx_runtime_1.jsx)(react_2.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "w-full rounded-lg", onClick: () => {
437
- setIsRecipientModalOpen(false);
438
- }, children: "Save" })] }) }) })] }));
495
+ return ((0, jsx_runtime_1.jsx)(react_2.StyleRoot, { children: (0, jsx_runtime_1.jsx)(react_2.TransitionPanel, { activeIndex: orderId
496
+ ? oat
497
+ ? PanelView.ORDER_DETAILS
498
+ : PanelView.LOADING
499
+ : activePanel === PanelView.ORDER_DETAILS
500
+ ? PanelView.CONFIRM_ORDER
501
+ : activePanel, className: (0, utils_1.cn)("w-full"), variants: {
502
+ enter: { x: 300, opacity: 0 },
503
+ center: { x: 0, opacity: 1 },
504
+ exit: { x: -300, opacity: 0 },
505
+ }, transition: { type: "spring", stiffness: 300, damping: 30 }, children: [
506
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: confirmOrderView }, "confirm-order-view"),
507
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: historyView }, "history-view"),
508
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: orderDetailsView }, "order-details-view"),
509
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: loadingView }, "loading-view"),
510
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: recipientSelectionView }, "recipient-selection-view"),
511
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: cryptoPaymentMethodView }, "crypto-payment-method-view"),
512
+ (0, jsx_runtime_1.jsx)("div", { className: "w-full", children: fiatPaymentMethodView }, "fiat-payment-method-view"),
513
+ ] }) }));
439
514
  }
@@ -13,5 +13,5 @@ interface AnySpendFingerprintWrapperProps {
13
13
  * This prevents unnecessary fingerprinting of users who don't interact with AnySpend.
14
14
  */
15
15
  export declare function AnySpendFingerprintWrapper({ children, fingerprint }: AnySpendFingerprintWrapperProps): import("react/jsx-runtime").JSX.Element;
16
- export declare function getFingerprintConfig(): FingerprintConfig | undefined;
16
+ export declare function getFingerprintConfig(): FingerprintConfig;
17
17
  export {};
@@ -26,14 +26,11 @@ function AnySpendFingerprintWrapper({ children, fingerprint }) {
26
26
  : undefined,
27
27
  }, children: children }));
28
28
  }
29
+ const defaultApiKey = "80EnsS6POsxPAR9xGxmN";
29
30
  // Helper function to get fingerprint config from environment variables
30
31
  function getFingerprintConfig() {
31
- const apiKey = process.env.NEXT_PUBLIC_FINGERPRINT_API_KEY;
32
- if (!apiKey) {
33
- return undefined;
34
- }
35
32
  return {
36
- apiKey,
33
+ apiKey: process.env.NEXT_PUBLIC_FINGERPRINT_API_KEY || defaultApiKey,
37
34
  endpoint: process.env.NEXT_PUBLIC_FINGERPRINT_ENDPOINT,
38
35
  scriptUrlPattern: process.env.NEXT_PUBLIC_FINGERPRINT_SCRIPT_URL,
39
36
  };
@@ -83,7 +83,7 @@ function AnySpendNFT({ isMainnet = true, loadOrder, mode = "modal", recipientAdd
83
83
  }
84
84
  fetchContractMetadata();
85
85
  }, [nftContract.contractAddress, nftContract.chainId, nftContract.imageUrl, nftContract.tokenId]);
86
- const header = ({ anyspendPrice, isLoadingAnyspendPrice, }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative size-[200px]", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 scale-95 bg-black/30 blur-md" }), (0, jsx_runtime_1.jsxs)(react_1.GlareCard, { className: "overflow-hidden", children: [imageUrlWithFallback && ((0, jsx_runtime_1.jsx)("img", { src: imageUrlWithFallback, alt: nftContract.name, className: "size-full object-cover" })), (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 rounded-xl border border-white/10" })] }), (0, jsx_runtime_1.jsx)(DropdownMenu, { nftContract: nftContract })] }), (0, jsx_runtime_1.jsxs)("div", { className: "from-b3-react-background to-as-on-surface-1 mt-[-100px] w-full rounded-t-lg bg-gradient-to-t", children: [(0, jsx_runtime_1.jsx)("div", { className: "h-[100px] w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "mb-1 flex w-full flex-col items-center gap-2 p-5", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-sf-rounded text-2xl font-semibold", children: nftContract.name }), (0, jsx_runtime_1.jsx)("div", { className: "flex w-fit items-center gap-1", children: anyspendPrice ? ((0, jsx_runtime_1.jsx)(react_2.AnimatePresence, { mode: "wait", children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("text-as-primary group flex items-center text-3xl font-semibold transition-all", {
86
+ const header = ({ anyspendPrice, isLoadingAnyspendPrice, }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative size-[200px]", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 scale-95 bg-black/30 blur-md" }), (0, jsx_runtime_1.jsxs)(react_1.GlareCard, { className: "overflow-hidden", children: [imageUrlWithFallback && ((0, jsx_runtime_1.jsx)("img", { src: imageUrlWithFallback, alt: nftContract.name, className: "size-full object-cover" })), (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 rounded-xl border border-white/10" })] }), (0, jsx_runtime_1.jsx)(DropdownMenu, { nftContract: nftContract })] }), (0, jsx_runtime_1.jsxs)("div", { className: "from-b3-react-background to-as-on-surface-1 -mb-5 mt-[-100px] w-full rounded-t-lg bg-gradient-to-t", children: [(0, jsx_runtime_1.jsx)("div", { className: "h-[100px] w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "mb-1 flex w-full flex-col items-center gap-2 p-5", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-sf-rounded text-2xl font-semibold", children: nftContract.name }), (0, jsx_runtime_1.jsx)("div", { className: "flex w-fit items-center gap-1", children: anyspendPrice ? ((0, jsx_runtime_1.jsx)(react_2.AnimatePresence, { mode: "wait", children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("text-as-primary group flex items-center text-3xl font-semibold transition-all", {
87
87
  "opacity-0": isLoadingAnyspendPrice,
88
88
  }), children: (0, number_1.formatDisplayNumber)(anyspendPrice?.data?.currencyIn?.amountUsd, { style: "currency" }) }) })) : ((0, jsx_runtime_1.jsx)("div", { className: "h-[36px] w-full" })) })] })] })] }));
89
89
  return ((0, jsx_runtime_1.jsx)(AnySpendCustom_1.AnySpendCustom, { isMainnet: isMainnet, loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, orderType: "mint_nft", dstChainId: nftContract.chainId, dstToken: nftContract.currency, dstAmount: nftContract.price, contractAddress: nftContract.contractAddress, encodedData: "0x", metadata: {
@@ -43,7 +43,7 @@ function ConnectWalletPayment({ order, onPayment, txLoading, isSwitchingOrExecut
43
43
  if (!srcToken || !dstToken) {
44
44
  return (0, jsx_runtime_1.jsx)("div", { children: "Loading..." });
45
45
  }
46
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex w-full flex-col items-center gap-6", children: [(0, jsx_runtime_1.jsx)(StepProgress_1.StepProgress, { steps: steps, currentStepIndex: 1 }), (0, jsx_runtime_1.jsxs)(framer_motion_1.motion.div, { initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.5 }, className: "flex w-full flex-col items-center gap-2", children: [(0, jsx_runtime_1.jsx)(react_1.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "flex w-5/6 items-center gap-2 sm:px-0", disabled: txLoading || isSwitchingOrExecuting, onClick: onPayment, children: txLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Transaction Pending", (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "ml-2 h-5 w-5 animate-spin" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "whitespace-nowrap pl-4 text-lg md:text-sm", children: order.srcChain === anyspend_1.RELAY_SOLANA_MAINNET_CHAIN_ID && phantomWalletAddress
46
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex w-full flex-col items-center gap-6", children: [(0, jsx_runtime_1.jsx)(StepProgress_1.StepProgress, { steps: steps, currentStepIndex: 1 }), (0, jsx_runtime_1.jsxs)(framer_motion_1.motion.div, { initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.5 }, className: "flex w-full flex-col items-center gap-2", children: [(0, jsx_runtime_1.jsx)(react_1.ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "flex w-5/6 max-w-[400px] items-center gap-2 sm:px-0", disabled: txLoading || isSwitchingOrExecuting, onClick: onPayment, children: txLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Transaction Pending", (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "ml-2 h-5 w-5 animate-spin" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "whitespace-nowrap pl-4 text-lg md:text-sm", children: order.srcChain === anyspend_1.RELAY_SOLANA_MAINNET_CHAIN_ID && phantomWalletAddress
47
47
  ? "Pay from Phantom Wallet"
48
48
  : "Pay from Connected Wallet" }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" })] })) }), (0, jsx_runtime_1.jsx)("div", { className: "mt-4", children: (0, jsx_runtime_1.jsx)(OrderDetailsCollapsible_1.OrderDetailsCollapsible, { order: order, dstToken: dstToken, tournament: tournament, nft: nft, recipientName: recipientName, formattedExpectedDstAmount: formattedExpectedDstAmount }) })] })] }));
49
49
  }
@@ -1,4 +1,4 @@
1
- export declare enum PaymentMethod {
1
+ export declare enum CryptoPaymentMethodType {
2
2
  NONE = "none",
3
3
  CONNECT_WALLET = "connect_wallet",
4
4
  TRANSFER_CRYPTO = "transfer_crypto"
@@ -10,11 +10,11 @@ interface CryptoPaymentMethodProps {
10
10
  icon?: string;
11
11
  };
12
12
  };
13
- selectedPaymentMethod: PaymentMethod;
14
- setSelectedPaymentMethod: (method: PaymentMethod) => void;
13
+ selectedPaymentMethod: CryptoPaymentMethodType;
14
+ setSelectedPaymentMethod: (method: CryptoPaymentMethodType) => void;
15
15
  isCreatingOrder: boolean;
16
16
  onBack: () => void;
17
- onSelectPaymentMethod: (method: PaymentMethod) => void;
17
+ onSelectPaymentMethod: (method: CryptoPaymentMethodType) => void;
18
18
  }
19
19
  export declare function CryptoPaymentMethod({ selectedPaymentMethod, setSelectedPaymentMethod, isCreatingOrder, onBack, onSelectPaymentMethod, }: CryptoPaymentMethodProps): import("react/jsx-runtime").JSX.Element;
20
20
  export {};