@funkit/connect 5.5.10 → 5.5.11

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 (32) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/components/FunPayments/FunPaymentMethods.d.ts +3 -2
  3. package/dist/components/SourceMeldQuoteItem/SourceMeldQuoteItem.d.ts +3 -1
  4. package/dist/hooks/queries/useMeldLimits.d.ts +1 -1
  5. package/dist/index.js +347 -277
  6. package/dist/modals/CheckoutModal/InputAmount/InputAmount.d.ts +1 -1
  7. package/dist/modals/CheckoutModal/InputAmount/QuickOptions.d.ts +1 -1
  8. package/dist/modals/CheckoutModal/InputAmount/state.d.ts +4 -4
  9. package/dist/modals/CheckoutModal/MeldQuotes/MeldQuotes.d.ts +1 -1
  10. package/dist/modals/CheckoutModal/MeldQuotes/useMeldQuotes.d.ts +15 -4
  11. package/dist/utils/consts.d.ts +2 -0
  12. package/dist/utils/flags/config.d.ts +29 -2
  13. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  14. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  15. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  16. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  17. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  18. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  19. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  20. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  21. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  22. package/dist/wallets/walletConnectors/index.js +58 -58
  23. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  24. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  25. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  26. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  27. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  28. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  29. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  30. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  31. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  32. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -3593,48 +3593,54 @@ var flagConfig = {
3593
3593
  type: "boolean",
3594
3594
  default_value: false,
3595
3595
  overrides: [
3596
- // {
3597
- // if_any: [
3598
- // {
3599
- // key: 'userId',
3600
- // type: 'isAnyOf',
3601
- // values: [
3602
- // '0x6ec0c2f25d323e7779925Cc20c3740101f990d9F',
3603
- // '0xbeFE12aA8cBa36DD79F50eE5E23828adB62f2FD6',
3604
- // '0x2A8Bd916E85d98d8175258De99fc0ddbcC102eF6',
3605
- // '0xda6b07Eb94f699F511a943e9bFC12B64B7fe3486',
3606
- // '0x0D6e43CA32545B3dc2FE6f93AafBD7e640F548d4',
3607
- // '0x236c60C57a8B9ca563Fb0dA5199FDdCB686d91E8', // greg
3608
- // '0x4a1457fa2845bAfE8D3909cA3C5ac6107be312Dd', // william PM
3609
- // '0xfCB8B2d294eD7373B3B590dd7C0CBC430d41a9a0', // Arun from Meld
3610
- // '0x9CB7F86F360459cC96C74a0F81aF2C4cC7a54bd2', // felix
3611
- // ],
3612
- // },
3613
- // ],
3614
- // value: true,
3615
- // },
3616
- // {
3617
- // if_all: [
3618
- // {
3619
- // key: 'userId',
3620
- // type: 'pctRollout',
3621
- // pct: 5,
3622
- // },
3623
- // {
3624
- // key: 'apiKey',
3625
- // type: 'isAnyOf',
3626
- // values: [POLYMARKET_API_KEY],
3627
- // },
3628
- // ],
3629
- // if_any: [
3630
- // {
3631
- // key: 'userId',
3632
- // type: 'pctRollout',
3633
- // pct: 0,
3634
- // },
3635
- // ],
3636
- // value: true,
3637
- // },
3596
+ {
3597
+ if_any: [
3598
+ {
3599
+ key: "userId",
3600
+ type: "isAnyOf",
3601
+ values: [
3602
+ "0x6ec0c2f25d323e7779925Cc20c3740101f990d9F",
3603
+ "0xbeFE12aA8cBa36DD79F50eE5E23828adB62f2FD6",
3604
+ "0x2A8Bd916E85d98d8175258De99fc0ddbcC102eF6",
3605
+ "0xda6b07Eb94f699F511a943e9bFC12B64B7fe3486",
3606
+ "0x0D6e43CA32545B3dc2FE6f93AafBD7e640F548d4",
3607
+ "0x236c60C57a8B9ca563Fb0dA5199FDdCB686d91E8",
3608
+ // greg
3609
+ "0x4a1457fa2845bAfE8D3909cA3C5ac6107be312Dd",
3610
+ // william PM
3611
+ "0xfCB8B2d294eD7373B3B590dd7C0CBC430d41a9a0",
3612
+ // Arun from Meld
3613
+ "0x9CB7F86F360459cC96C74a0F81aF2C4cC7a54bd2",
3614
+ // felix
3615
+ "0xbC805309dde14dFC14f91f7D4Cb9972Ecc915D39"
3616
+ // Rana from Meld
3617
+ ]
3618
+ }
3619
+ ],
3620
+ value: true
3621
+ },
3622
+ {
3623
+ if_all: [
3624
+ {
3625
+ key: "userId",
3626
+ type: "pctRollout",
3627
+ pct: 15
3628
+ },
3629
+ {
3630
+ key: "apiKey",
3631
+ type: "isAnyOf",
3632
+ values: [POLYMARKET_API_KEY2]
3633
+ }
3634
+ ],
3635
+ if_any: [
3636
+ {
3637
+ key: "userId",
3638
+ type: "pctRollout",
3639
+ pct: 0
3640
+ }
3641
+ ],
3642
+ value: true
3643
+ },
3638
3644
  {
3639
3645
  if_any: [
3640
3646
  {
@@ -3670,9 +3676,9 @@ var flagConfig = {
3670
3676
  [FlagKey.MinTokenTransferValue]: {
3671
3677
  type: "string",
3672
3678
  default_value: JSON.stringify({
3673
- CA: { mainnet: 80, nonMainnet: 15 },
3674
- AU: { mainnet: 90, nonMainnet: 20 },
3675
- DEFAULT: { mainnet: 50, nonMainnet: 10 }
3679
+ CA: { mainnet: 80, nonMainnet: 3 },
3680
+ AU: { mainnet: 90, nonMainnet: 3.5 },
3681
+ DEFAULT: { mainnet: 50, nonMainnet: 2.5 }
3676
3682
  })
3677
3683
  }
3678
3684
  };
@@ -4108,6 +4114,7 @@ function useCheckoutDirectExecution() {
4108
4114
  const multiplier = 10 ** toTokenDecimals;
4109
4115
  return await getRelayQuote({
4110
4116
  actionParams,
4117
+ clientId: clientData?.id ?? "",
4111
4118
  fromChainId,
4112
4119
  fromTokenAddress,
4113
4120
  logger,
@@ -4115,9 +4122,10 @@ function useCheckoutDirectExecution() {
4115
4122
  toChainId,
4116
4123
  toTokenAddress,
4117
4124
  toTokenAmountBaseUnit: BigInt(Math.floor(toTokenAmount * multiplier)),
4118
- tradeType: "EXACT_OUTPUT",
4119
- userAddress: address,
4120
- clientId: clientData?.id || ""
4125
+ // When no contract action is required: expected_output
4126
+ // When a contract action is required: exact_output
4127
+ tradeType: actionParams?.length ? "EXACT_OUTPUT" : "EXPECTED_OUTPUT",
4128
+ userAddress: address
4121
4129
  });
4122
4130
  },
4123
4131
  [address, clientData]
@@ -4236,6 +4244,8 @@ import { formatCurrencyAndStringify } from "@funkit/utils";
4236
4244
 
4237
4245
  // src/utils/consts.ts
4238
4246
  var MIN_CHECKOUT_AMOUNT_USD = 1;
4247
+ var MIN_MOONPAY_AMOUNT_USD = 35;
4248
+ var MAX_MOONPAY_AMOUNT_USD = 1e4;
4239
4249
  var LOW_BALANCE = "Low Balance";
4240
4250
  var CONTACT_US_LINK = "https://intercom.help/funxyz/en/articles/10732578-contact-us";
4241
4251
  var DEFAULT_CHECKOUT_HISTORY_DETAIL_TITLE = "Your Purchase";
@@ -8378,7 +8388,7 @@ import {
8378
8388
  formatSecondsToReadableForm,
8379
8389
  safeParseJson as safeParseJson2
8380
8390
  } from "@funkit/utils";
8381
- import React82, { Fragment, useEffect as useEffect17 } from "react";
8391
+ import React81, { Fragment, useEffect as useEffect17 } from "react";
8382
8392
 
8383
8393
  // src/domains/bridge.ts
8384
8394
  import {
@@ -10202,33 +10212,10 @@ var FunPaymentMethodItem = ({
10202
10212
  );
10203
10213
  };
10204
10214
 
10205
- // src/components/Icons/CheckIcon.tsx
10206
- import React80 from "react";
10207
- var CheckIcon = ({ size = 16 }) => /* @__PURE__ */ React80.createElement(
10208
- "svg",
10209
- {
10210
- width: size,
10211
- height: size,
10212
- viewBox: "0 0 16 16",
10213
- fill: "none",
10214
- xmlns: "http://www.w3.org/2000/svg"
10215
- },
10216
- /* @__PURE__ */ React80.createElement(
10217
- "path",
10218
- {
10219
- d: "M12.4919 4.88281L6.25757 11.1172L3.50781 8",
10220
- stroke: "currentColor",
10221
- strokeWidth: "1.5",
10222
- strokeLinecap: "round",
10223
- strokeLinejoin: "round"
10224
- }
10225
- )
10226
- );
10227
-
10228
10215
  // src/components/Icons/CreditCardIcons.tsx
10229
- import React81 from "react";
10216
+ import React80 from "react";
10230
10217
  var MasterCardIcon = () => {
10231
- return /* @__PURE__ */ React81.createElement(
10218
+ return /* @__PURE__ */ React80.createElement(
10232
10219
  "svg",
10233
10220
  {
10234
10221
  width: "20",
@@ -10237,21 +10224,21 @@ var MasterCardIcon = () => {
10237
10224
  fill: "none",
10238
10225
  xmlns: "http://www.w3.org/2000/svg"
10239
10226
  },
10240
- /* @__PURE__ */ React81.createElement(
10227
+ /* @__PURE__ */ React80.createElement(
10241
10228
  "path",
10242
10229
  {
10243
10230
  d: "M12.7041 11.0401H7.29614V1.32129H12.7042L12.7041 11.0401Z",
10244
10231
  fill: "#FF5F00"
10245
10232
  }
10246
10233
  ),
10247
- /* @__PURE__ */ React81.createElement(
10234
+ /* @__PURE__ */ React80.createElement(
10248
10235
  "path",
10249
10236
  {
10250
10237
  d: "M7.63905 6.18093C7.63905 4.20948 8.56213 2.4533 9.99955 1.32154C8.9115 0.463596 7.56574 -0.00204062 6.18013 6.72263e-06C2.76685 6.72263e-06 0 2.76726 0 6.18093C0 9.59461 2.76685 12.3619 6.18013 12.3619C7.56578 12.3639 8.91157 11.8983 9.99965 11.0403C8.56233 9.90877 7.63905 8.15249 7.63905 6.18093Z",
10251
10238
  fill: "#EB001B"
10252
10239
  }
10253
10240
  ),
10254
- /* @__PURE__ */ React81.createElement(
10241
+ /* @__PURE__ */ React80.createElement(
10255
10242
  "path",
10256
10243
  {
10257
10244
  d: "M19.9999 6.18093C19.9999 9.59461 17.2331 12.3619 13.8198 12.3619C12.434 12.3639 11.088 11.8983 9.99976 11.0403C11.4376 9.90857 12.3607 8.15249 12.3607 6.18093C12.3607 4.20938 11.4376 2.4533 9.99976 1.32154C11.088 0.463622 12.4339 -0.00200473 13.8197 6.48814e-06C17.233 6.48814e-06 19.9998 2.76726 19.9998 6.18093",
@@ -10261,7 +10248,7 @@ var MasterCardIcon = () => {
10261
10248
  );
10262
10249
  };
10263
10250
  var VisaCardIcon = () => {
10264
- return /* @__PURE__ */ React81.createElement(
10251
+ return /* @__PURE__ */ React80.createElement(
10265
10252
  "svg",
10266
10253
  {
10267
10254
  width: "30",
@@ -10270,35 +10257,35 @@ var VisaCardIcon = () => {
10270
10257
  fill: "none",
10271
10258
  xmlns: "http://www.w3.org/2000/svg"
10272
10259
  },
10273
- /* @__PURE__ */ React81.createElement(
10260
+ /* @__PURE__ */ React80.createElement(
10274
10261
  "path",
10275
10262
  {
10276
10263
  d: "M 26.835 10.17 C 26.76 10.14 26.764 10.12 26.821 10.107 C 26.83 10.147 26.835 10.17 26.835 10.17 Z M 26.821 10.107 C 26.774 9.89 26.618 9.174 26.561 8.93 C 26.233 8.93 23.932 8.927 23.674 8.927 C 23.586 9.15 23.2 10.17 23.2 10.17 L 20.833 10.17 L 24.18 2.59 C 24.418 2.051 24.82 1.903 25.361 1.903 L 27.102 1.903 L 28.927 10.169 C 28.927 10.169 27.124 10.039 26.821 10.107 Z M 25.52 4.134 C 25.405 4.445 25.207 4.945 25.22 4.923 C 25.22 4.923 24.507 6.759 24.322 7.235 L 26.194 7.235 C 26.103 6.821 25.671 4.847 25.671 4.847 Z",
10277
10264
  fill: "currentColor"
10278
10265
  }
10279
10266
  ),
10280
- /* @__PURE__ */ React81.createElement(
10267
+ /* @__PURE__ */ React80.createElement(
10281
10268
  "path",
10282
10269
  {
10283
10270
  d: "M 1.22551 1.82339 L 1.19653 1.98919 C 3.91596 2.64774 5.71538 4.23847 6.46205 6.15037 L 5.70205 2.49528 C 5.57104 1.99151 5.19132 1.8413599999999999 4.72002 1.82339 L 1.22551 1.82339",
10284
10271
  fill: "currentColor"
10285
10272
  }
10286
10273
  ),
10287
- /* @__PURE__ */ React81.createElement(
10274
+ /* @__PURE__ */ React80.createElement(
10288
10275
  "path",
10289
10276
  {
10290
10277
  d: "M 5.45393 10.1597 L 7.83945 10.1579 L 11.389 1.9028100000000001 L 9.00062 1.9028100000000001 L 6.79307 7.54283 L 6.55771 6.69124 C 6.12234 5.66573 4.8864 4.1921 3.4353800000000003 3.2634 L 5.45393 10.1597",
10291
10278
  fill: "currentColor"
10292
10279
  }
10293
10280
  ),
10294
- /* @__PURE__ */ React81.createElement(
10281
+ /* @__PURE__ */ React80.createElement(
10295
10282
  "path",
10296
10283
  {
10297
10284
  d: "M 13.1444 10.1666 L 14.5548 1.89528 L 12.2998 1.89528 L 10.8905 10.1666 L 13.1444 10.1666",
10298
10285
  fill: "currentColor"
10299
10286
  }
10300
10287
  ),
10301
- /* @__PURE__ */ React81.createElement(
10288
+ /* @__PURE__ */ React80.createElement(
10302
10289
  "path",
10303
10290
  {
10304
10291
  d: "M 17.0667 10.2901 C 19.4372 10.2901 20.9752 9.1811 20.9925 7.46515 C 21.0007 6.52428 20.3995 5.80834 19.0992 5.21819 C 18.3108 4.83442 17.8285 4.57935 17.8331 4.1921 C 17.8331 3.84833 18.2424 3.48079 19.1247 3.48079 C 19.8627 3.4692 20.3966 3.63036 20.811700000000002 3.79731 L 21.0152 3.89297 L 21.3195 2.1005 C 20.8731 1.93296 20.1734 1.75325 19.3004 1.75325 C 17.0725 1.75325 15.5027 2.8749900000000004 15.4905 4.48253 C 15.4766 5.67036 16.6093 6.33356 17.465 6.7289200000000005 C 18.3427 7.13472 18.6372 7.39327 18.6331 7.75559 C 18.6267 8.30979 17.9328 8.56313 17.2853 8.56313 C 16.3827 8.56313 15.9033 8.43791 15.163 8.12892 L 14.8725 7.99733 L 14.5554 9.84835 C 15.083 10.0797 16.0563 10.2797 17.0667 10.2901",
@@ -10308,7 +10295,7 @@ var VisaCardIcon = () => {
10308
10295
  );
10309
10296
  };
10310
10297
  var CombinedCreditCardOptionsIcon = () => {
10311
- return /* @__PURE__ */ React81.createElement(Box, { display: "flex", gap: "2", alignItems: "center", color: "primaryText" }, /* @__PURE__ */ React81.createElement(MasterCardIcon, null), /* @__PURE__ */ React81.createElement(VisaCardIcon, null));
10298
+ return /* @__PURE__ */ React80.createElement(Box, { display: "flex", gap: "2", alignItems: "center", color: "primaryText" }, /* @__PURE__ */ React80.createElement(MasterCardIcon, null), /* @__PURE__ */ React80.createElement(VisaCardIcon, null));
10312
10299
  };
10313
10300
 
10314
10301
  // src/components/FunPayments/FunPaymentMethods.tsx
@@ -10317,21 +10304,21 @@ var BrokerageConditionalIcons = () => {
10317
10304
  const { getActiveConnection } = useFunkitMesh();
10318
10305
  return supportedExchanges.filter((brokerType) => !getActiveConnection(brokerType)).map((brokerType) => {
10319
10306
  const icon = getExchangeIcon(brokerType, 12);
10320
- return icon ? /* @__PURE__ */ React82.createElement(Fragment, { key: brokerType }, icon) : null;
10307
+ return icon ? /* @__PURE__ */ React81.createElement(Fragment, { key: brokerType }, icon) : null;
10321
10308
  }).filter((icon) => icon !== null).slice(0, 5);
10322
10309
  };
10323
10310
  var getDynamicValueIconComponent = () => {
10324
10311
  const defaultChains = getDefaultChains();
10325
- return /* @__PURE__ */ React82.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "flex-end" }, defaultChains.map(({ id: chainId }, index) => {
10312
+ return /* @__PURE__ */ React81.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "flex-end" }, defaultChains.map(({ id: chainId }, index) => {
10326
10313
  const metadata = chainMetadataById[chainId];
10327
- return /* @__PURE__ */ React82.createElement(
10314
+ return /* @__PURE__ */ React81.createElement(
10328
10315
  Box,
10329
10316
  {
10330
10317
  key: chainId,
10331
10318
  position: "relative",
10332
10319
  style: { right: `${(defaultChains.length - index - 1) * -2}px` }
10333
10320
  },
10334
- /* @__PURE__ */ React82.createElement(
10321
+ /* @__PURE__ */ React81.createElement(
10335
10322
  AsyncImage,
10336
10323
  {
10337
10324
  alt: metadata.name,
@@ -10352,7 +10339,7 @@ function ConnectWalletItem({
10352
10339
  onClick
10353
10340
  }) {
10354
10341
  const walletLabel = useWalletLabel();
10355
- return /* @__PURE__ */ React82.createElement(
10342
+ return /* @__PURE__ */ React81.createElement(
10356
10343
  FunPaymentMethodItem,
10357
10344
  {
10358
10345
  keyIcon: paymentIcon,
@@ -10366,16 +10353,16 @@ function ConnectWalletItem({
10366
10353
  );
10367
10354
  }
10368
10355
  function SupportedChainList({ chainIdList }) {
10369
- return /* @__PURE__ */ React82.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "flex-end" }, chainIdList.map((chainId, index) => {
10356
+ return /* @__PURE__ */ React81.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "flex-end" }, chainIdList.map((chainId, index) => {
10370
10357
  const metadata = chainMetadataById[chainId];
10371
- return /* @__PURE__ */ React82.createElement(
10358
+ return /* @__PURE__ */ React81.createElement(
10372
10359
  Box,
10373
10360
  {
10374
10361
  key: chainId,
10375
10362
  position: "relative",
10376
10363
  style: { right: `${(chainIdList.length - index - 1) * -2}px` }
10377
10364
  },
10378
- /* @__PURE__ */ React82.createElement(
10365
+ /* @__PURE__ */ React81.createElement(
10379
10366
  AsyncImage,
10380
10367
  {
10381
10368
  alt: metadata.name,
@@ -10392,7 +10379,7 @@ function PaymentMethodIcon({
10392
10379
  paymentIcon,
10393
10380
  keyIconSize
10394
10381
  }) {
10395
- return /* @__PURE__ */ React82.createElement(
10382
+ return /* @__PURE__ */ React81.createElement(
10396
10383
  Box,
10397
10384
  {
10398
10385
  display: "flex",
@@ -10405,10 +10392,11 @@ function PaymentMethodIcon({
10405
10392
  }
10406
10393
  var ConnectedMeshPaymentMethodItem = ({
10407
10394
  paymentMethodInfo,
10408
- isSelected,
10395
+ isActive,
10409
10396
  onSelect,
10410
10397
  onBrokerageError,
10411
- targetChainId
10398
+ targetChainId,
10399
+ customValueIcon
10412
10400
  }) => {
10413
10401
  const {
10414
10402
  data: meshAssets,
@@ -10430,16 +10418,16 @@ var ConnectedMeshPaymentMethodItem = ({
10430
10418
  onBrokerageError?.();
10431
10419
  }
10432
10420
  }, [balanceError, isPending, isFetching, paymentMethodInfo.meta.brokerType]);
10433
- return /* @__PURE__ */ React82.createElement(
10421
+ return /* @__PURE__ */ React81.createElement(
10434
10422
  FunPaymentMethodItem,
10435
10423
  {
10436
10424
  isDisabled,
10437
- badge: hasLowBalance && /* @__PURE__ */ React82.createElement(FunBadge, { borderColor: "generalBorder" }, LOW_BALANCE),
10425
+ badge: hasLowBalance && /* @__PURE__ */ React81.createElement(FunBadge, { borderColor: "generalBorder" }, LOW_BALANCE),
10438
10426
  isError: !!balanceError,
10439
- isActive: isSelected,
10427
+ isActive,
10440
10428
  keyIcon: label.icon,
10441
10429
  keyText: label.text,
10442
- valueIcon: isSelected ? /* @__PURE__ */ React82.createElement(CheckIcon, null) : null,
10430
+ valueIcon: customValueIcon,
10443
10431
  onClick: onSelect,
10444
10432
  disclaimerText
10445
10433
  }
@@ -10460,16 +10448,16 @@ var AccountBalancePaymentMethodItem = ({
10460
10448
  const uniqueChainIds = Array.from(
10461
10449
  new Set(Object.values(usableWalletAssets).map((asset) => asset.chainId))
10462
10450
  );
10463
- return /* @__PURE__ */ React82.createElement(SupportedChainList, { chainIdList: uniqueChainIds });
10451
+ return /* @__PURE__ */ React81.createElement(SupportedChainList, { chainIdList: uniqueChainIds });
10464
10452
  };
10465
10453
  const dynamicLimit = formatCurrencyAndStringify2(totalBalance);
10466
10454
  const disclaimerText = `${dynamicLimit ?? "No limit"} \u2022 Instant`;
10467
10455
  const keyIconSize = 20;
10468
- return /* @__PURE__ */ React82.createElement(
10456
+ return /* @__PURE__ */ React81.createElement(
10469
10457
  FunPaymentMethodItem,
10470
10458
  {
10471
10459
  isActive,
10472
- keyIcon: isLoadingAssets ? /* @__PURE__ */ React82.createElement(SpinnerIcon, { size: keyIconSize }) : /* @__PURE__ */ React82.createElement(
10460
+ keyIcon: isLoadingAssets ? /* @__PURE__ */ React81.createElement(SpinnerIcon, { size: keyIconSize }) : /* @__PURE__ */ React81.createElement(
10473
10461
  PaymentMethodIcon,
10474
10462
  {
10475
10463
  keyIconSize,
@@ -10493,16 +10481,16 @@ var CardPaymentMethodItem = ({
10493
10481
  }) => {
10494
10482
  const { textCustomizations } = useFunkitConfig();
10495
10483
  const timeEstimate = useCheckoutTimeEstimate(2 * 60, "card" /* CARD */);
10496
- return /* @__PURE__ */ React82.createElement(
10484
+ return /* @__PURE__ */ React81.createElement(
10497
10485
  FunPaymentMethodItem,
10498
10486
  {
10499
10487
  isActive,
10500
10488
  keyIcon: paymentIcon,
10501
10489
  keyText: textCustomizations.debitOrCredit,
10502
- valueIcon: customValueIcon ?? /* @__PURE__ */ React82.createElement(CombinedCreditCardOptionsIcon, null),
10490
+ valueIcon: customValueIcon ?? /* @__PURE__ */ React81.createElement(CombinedCreditCardOptionsIcon, null),
10503
10491
  onClick,
10504
10492
  isDisabled: !isClickable,
10505
- badge: /* @__PURE__ */ React82.createElement(
10493
+ badge: /* @__PURE__ */ React81.createElement(
10506
10494
  FunBadge,
10507
10495
  {
10508
10496
  background: "approvedBadgeBackground",
@@ -10529,9 +10517,9 @@ var TransferPaymentMethodItem = ({
10529
10517
  const getTokenTransferIcon = () => {
10530
10518
  const uniqueChainIds = new Set(Object.keys(enabledChainTokens));
10531
10519
  const hasNewChain = bannerData?.isChainNew && uniqueChainIds.delete(`${bannerData.chainId}`);
10532
- return /* @__PURE__ */ React82.createElement(Box, { display: "flex", gap: "8" }, /* @__PURE__ */ React82.createElement(SupportedChainList, { chainIdList: Array.from(uniqueChainIds) }), hasNewChain && /* @__PURE__ */ React82.createElement(NewTokenBadge, { iconSymbol: bannerData.symbol }));
10520
+ return /* @__PURE__ */ React81.createElement(Box, { display: "flex", gap: "8" }, /* @__PURE__ */ React81.createElement(SupportedChainList, { chainIdList: Array.from(uniqueChainIds) }), hasNewChain && /* @__PURE__ */ React81.createElement(NewTokenBadge, { iconSymbol: bannerData.symbol }));
10533
10521
  };
10534
- return /* @__PURE__ */ React82.createElement(
10522
+ return /* @__PURE__ */ React81.createElement(
10535
10523
  FunPaymentMethodItem,
10536
10524
  {
10537
10525
  isActive,
@@ -10553,13 +10541,13 @@ var BrokeragePaymentMethodItem = ({
10553
10541
  }) => {
10554
10542
  const { textCustomizations } = useFunkitConfig();
10555
10543
  const timeEstimate = useCheckoutTimeEstimate(3 * 60, "brokerage" /* BROKERAGE */);
10556
- return /* @__PURE__ */ React82.createElement(
10544
+ return /* @__PURE__ */ React81.createElement(
10557
10545
  FunPaymentMethodItem,
10558
10546
  {
10559
10547
  isActive,
10560
10548
  keyIcon: paymentIcon,
10561
10549
  keyText: textCustomizations.brokerageOrExchange,
10562
- valueIcon: customValueIcon ?? /* @__PURE__ */ React82.createElement(Box, { display: "flex", gap: "2", alignItems: "center" }, /* @__PURE__ */ React82.createElement(BrokerageConditionalIcons, null)),
10550
+ valueIcon: customValueIcon ?? /* @__PURE__ */ React81.createElement(Box, { display: "flex", gap: "2", alignItems: "center" }, /* @__PURE__ */ React81.createElement(BrokerageConditionalIcons, null)),
10563
10551
  onClick,
10564
10552
  isDisabled: !isClickable,
10565
10553
  disclaimerText: `No limit \u2022 ${formatSecondsToReadableForm(timeEstimate, true)}`
@@ -10574,12 +10562,12 @@ var ActiveFiatAccountPaymentMethodItem = ({
10574
10562
  }) => {
10575
10563
  const label = usePaymentMethodInfoLabel(paymentMethodInfo);
10576
10564
  const customerStatus = paymentMethodInfo.bridgeCustomer?.status;
10577
- return /* @__PURE__ */ React82.createElement(
10565
+ return /* @__PURE__ */ React81.createElement(
10578
10566
  FunPaymentMethodItem,
10579
10567
  {
10580
10568
  isActive,
10581
10569
  keyIcon: label.icon,
10582
- valueIcon: customValueIcon ?? (customerStatus === BridgeCustomerStatus3.OFFBOARDED && /* @__PURE__ */ React82.createElement(BridgeCustomerStatusBadge, { status: customerStatus })),
10570
+ valueIcon: customValueIcon ?? (customerStatus === BridgeCustomerStatus3.OFFBOARDED && /* @__PURE__ */ React81.createElement(BridgeCustomerStatusBadge, { status: customerStatus })),
10583
10571
  keyText: label.text,
10584
10572
  onClick,
10585
10573
  disclaimerText: `No limit \u2022 ${FIAT_PROCESSING_TIME}`
@@ -10595,13 +10583,13 @@ var CreateFiatAccountPaymentMethodItem = ({
10595
10583
  }) => {
10596
10584
  const { data: fiatAccounts } = useVirtualFiatAccounts();
10597
10585
  const { textCustomizations } = useFunkitConfig();
10598
- return /* @__PURE__ */ React82.createElement(
10586
+ return /* @__PURE__ */ React81.createElement(
10599
10587
  FunPaymentMethodItem,
10600
10588
  {
10601
10589
  isActive,
10602
10590
  keyIcon: paymentIcon,
10603
10591
  keyText: textCustomizations.virtualFiat,
10604
- valueIcon: customValueIcon ?? /* @__PURE__ */ React82.createElement(
10592
+ valueIcon: customValueIcon ?? /* @__PURE__ */ React81.createElement(
10605
10593
  BridgeCustomerStatusBadge,
10606
10594
  {
10607
10595
  status: fiatAccounts?.bridgeCustomer?.status,
@@ -10622,7 +10610,7 @@ function AddPaymentMethodItem({
10622
10610
  customValueIcon
10623
10611
  }) {
10624
10612
  const icon = usePaymentMethodIcon(paymentMethod);
10625
- const paymentIcon = /* @__PURE__ */ React82.createElement(PaymentMethodIcon, { keyIconSize: 20, paymentIcon: icon });
10613
+ const paymentIcon = /* @__PURE__ */ React81.createElement(PaymentMethodIcon, { keyIconSize: 20, paymentIcon: icon });
10626
10614
  const commonProps = {
10627
10615
  isActive,
10628
10616
  isClickable,
@@ -10631,26 +10619,26 @@ function AddPaymentMethodItem({
10631
10619
  paymentIcon
10632
10620
  };
10633
10621
  if (paymentMethod === "balance" /* ACCOUNT_BALANCE */) {
10634
- return /* @__PURE__ */ React82.createElement(ConnectWalletItem, { ...commonProps });
10622
+ return /* @__PURE__ */ React81.createElement(ConnectWalletItem, { ...commonProps });
10635
10623
  }
10636
10624
  if (paymentMethod === "card" /* CARD */) {
10637
- return /* @__PURE__ */ React82.createElement(CardPaymentMethodItem, { ...commonProps });
10625
+ return /* @__PURE__ */ React81.createElement(CardPaymentMethodItem, { ...commonProps });
10638
10626
  }
10639
10627
  if (paymentMethod === "token_transfer" /* TOKEN_TRANSFER */) {
10640
- return /* @__PURE__ */ React82.createElement(TransferPaymentMethodItem, { ...commonProps });
10628
+ return /* @__PURE__ */ React81.createElement(TransferPaymentMethodItem, { ...commonProps });
10641
10629
  }
10642
10630
  if (paymentMethod === "brokerage" /* BROKERAGE */) {
10643
- return /* @__PURE__ */ React82.createElement(BrokeragePaymentMethodItem, { ...commonProps });
10631
+ return /* @__PURE__ */ React81.createElement(BrokeragePaymentMethodItem, { ...commonProps });
10644
10632
  }
10645
10633
  if (paymentMethod === "virtual_bank" /* VIRTUAL_BANK */) {
10646
- return /* @__PURE__ */ React82.createElement(CreateFiatAccountPaymentMethodItem, { ...commonProps });
10634
+ return /* @__PURE__ */ React81.createElement(CreateFiatAccountPaymentMethodItem, { ...commonProps });
10647
10635
  }
10648
10636
  }
10649
10637
 
10650
10638
  // src/components/Icons/New/BankIcon.tsx
10651
- import React83 from "react";
10639
+ import React82 from "react";
10652
10640
  var BankIcon = ({ size = 20 }) => {
10653
- return /* @__PURE__ */ React83.createElement(
10641
+ return /* @__PURE__ */ React82.createElement(
10654
10642
  "svg",
10655
10643
  {
10656
10644
  width: size,
@@ -10659,14 +10647,14 @@ var BankIcon = ({ size = 20 }) => {
10659
10647
  fill: "none",
10660
10648
  xmlns: "http://www.w3.org/2000/svg"
10661
10649
  },
10662
- /* @__PURE__ */ React83.createElement(
10650
+ /* @__PURE__ */ React82.createElement(
10663
10651
  "path",
10664
10652
  {
10665
10653
  d: "M10 9.41667C9.3975 9.41667 8.90909 9.90169 8.90909 10.5C8.90909 11.0983 9.3975 11.5833 10 11.5833C10.6025 11.5833 11.0909 11.0983 11.0909 10.5C11.0909 9.90169 10.6025 9.41667 10 9.41667Z",
10666
10654
  fill: "currentColor"
10667
10655
  }
10668
10656
  ),
10669
- /* @__PURE__ */ React83.createElement(
10657
+ /* @__PURE__ */ React82.createElement(
10670
10658
  "path",
10671
10659
  {
10672
10660
  fillRule: "evenodd",
@@ -10678,7 +10666,7 @@ var BankIcon = ({ size = 20 }) => {
10678
10666
  );
10679
10667
  };
10680
10668
  var BankIconActive = ({ size = 20 }) => {
10681
- return /* @__PURE__ */ React83.createElement(
10669
+ return /* @__PURE__ */ React82.createElement(
10682
10670
  "svg",
10683
10671
  {
10684
10672
  width: size,
@@ -10687,14 +10675,14 @@ var BankIconActive = ({ size = 20 }) => {
10687
10675
  fill: "none",
10688
10676
  xmlns: "http://www.w3.org/2000/svg"
10689
10677
  },
10690
- /* @__PURE__ */ React83.createElement(
10678
+ /* @__PURE__ */ React82.createElement(
10691
10679
  "path",
10692
10680
  {
10693
10681
  d: "M10 8.41667C9.3975 8.41667 8.90909 8.90169 8.90909 9.5C8.90909 10.0983 9.3975 10.5833 10 10.5833C10.6025 10.5833 11.0909 10.0983 11.0909 9.5C11.0909 8.90169 10.6025 8.41667 10 8.41667Z",
10694
10682
  fill: "url(#paint0_linear_28198_245196)"
10695
10683
  }
10696
10684
  ),
10697
- /* @__PURE__ */ React83.createElement(
10685
+ /* @__PURE__ */ React82.createElement(
10698
10686
  "path",
10699
10687
  {
10700
10688
  fillRule: "evenodd",
@@ -10703,7 +10691,7 @@ var BankIconActive = ({ size = 20 }) => {
10703
10691
  fill: "url(#paint1_linear_28198_245196)"
10704
10692
  }
10705
10693
  ),
10706
- /* @__PURE__ */ React83.createElement("defs", null, /* @__PURE__ */ React83.createElement(
10694
+ /* @__PURE__ */ React82.createElement("defs", null, /* @__PURE__ */ React82.createElement(
10707
10695
  "linearGradient",
10708
10696
  {
10709
10697
  id: "paint0_linear_28198_245196",
@@ -10713,9 +10701,9 @@ var BankIconActive = ({ size = 20 }) => {
10713
10701
  y2: "16.9215",
10714
10702
  gradientUnits: "userSpaceOnUse"
10715
10703
  },
10716
- /* @__PURE__ */ React83.createElement("stop", { stopColor: "#055DF5" }),
10717
- /* @__PURE__ */ React83.createElement("stop", { offset: "1", stopColor: "#508FFB" })
10718
- ), /* @__PURE__ */ React83.createElement(
10704
+ /* @__PURE__ */ React82.createElement("stop", { stopColor: "#055DF5" }),
10705
+ /* @__PURE__ */ React82.createElement("stop", { offset: "1", stopColor: "#508FFB" })
10706
+ ), /* @__PURE__ */ React82.createElement(
10719
10707
  "linearGradient",
10720
10708
  {
10721
10709
  id: "paint1_linear_28198_245196",
@@ -10725,8 +10713,8 @@ var BankIconActive = ({ size = 20 }) => {
10725
10713
  y2: "16.9215",
10726
10714
  gradientUnits: "userSpaceOnUse"
10727
10715
  },
10728
- /* @__PURE__ */ React83.createElement("stop", { stopColor: "#055DF5" }),
10729
- /* @__PURE__ */ React83.createElement("stop", { offset: "1", stopColor: "#508FFB" })
10716
+ /* @__PURE__ */ React82.createElement("stop", { stopColor: "#055DF5" }),
10717
+ /* @__PURE__ */ React82.createElement("stop", { offset: "1", stopColor: "#508FFB" })
10730
10718
  ))
10731
10719
  );
10732
10720
  };
@@ -10760,13 +10748,13 @@ function addLatestWalletId(walletId) {
10760
10748
  }
10761
10749
 
10762
10750
  // src/components/FunButton/FunSignInButton.tsx
10763
- import React84 from "react";
10751
+ import React83 from "react";
10764
10752
  function FunSignInButton({
10765
10753
  title,
10766
10754
  titlePrefix,
10767
10755
  onClick
10768
10756
  }) {
10769
- return /* @__PURE__ */ React84.createElement(
10757
+ return /* @__PURE__ */ React83.createElement(
10770
10758
  Box,
10771
10759
  {
10772
10760
  as: "button",
@@ -10784,7 +10772,7 @@ function FunSignInButton({
10784
10772
  cursor: "pointer",
10785
10773
  style: { outline: "none" }
10786
10774
  },
10787
- /* @__PURE__ */ React84.createElement(Box, { display: "flex", gap: "12", alignItems: "center", color: "primaryText" }, titlePrefix, /* @__PURE__ */ React84.createElement(Text, { as: "h2", weight: "medium", size: "13" }, title), /* @__PURE__ */ React84.createElement(
10775
+ /* @__PURE__ */ React83.createElement(Box, { display: "flex", gap: "12", alignItems: "center", color: "primaryText" }, titlePrefix, /* @__PURE__ */ React83.createElement(Text, { as: "h2", weight: "medium", size: "13" }, title), /* @__PURE__ */ React83.createElement(
10788
10776
  Box,
10789
10777
  {
10790
10778
  color: "secondaryText",
@@ -10795,22 +10783,22 @@ function FunSignInButton({
10795
10783
  alignItems: "center",
10796
10784
  justifyContent: "center"
10797
10785
  },
10798
- /* @__PURE__ */ React84.createElement(ArrowIcon, { direction: "right", size: 11 })
10786
+ /* @__PURE__ */ React83.createElement(ArrowIcon, { direction: "right", size: 11 })
10799
10787
  ))
10800
10788
  );
10801
10789
  }
10802
10790
 
10803
10791
  // src/components/FunInput/FunInput.tsx
10804
- import React86, {
10792
+ import React85, {
10805
10793
  forwardRef as forwardRef2,
10806
10794
  useState as useState15
10807
10795
  } from "react";
10808
10796
  import clsx10 from "clsx";
10809
10797
 
10810
10798
  // src/components/Icons/SearchIcon.tsx
10811
- import React85 from "react";
10799
+ import React84 from "react";
10812
10800
  var SearchIcon = () => {
10813
- return /* @__PURE__ */ React85.createElement(
10801
+ return /* @__PURE__ */ React84.createElement(
10814
10802
  "svg",
10815
10803
  {
10816
10804
  width: "15",
@@ -10819,14 +10807,14 @@ var SearchIcon = () => {
10819
10807
  fill: "none",
10820
10808
  xmlns: "http://www.w3.org/2000/svg"
10821
10809
  },
10822
- /* @__PURE__ */ React85.createElement(
10810
+ /* @__PURE__ */ React84.createElement(
10823
10811
  "path",
10824
10812
  {
10825
10813
  d: "M6.45041 12.9008C5.17464 12.9008 3.92752 12.5225 2.86676 11.8138C1.80599 11.105 0.979229 10.0975 0.491012 8.91887C0.00279446 7.74023 -0.124946 6.44321 0.123947 5.19199C0.37284 3.94074 0.987179 2.79139 1.88928 1.88928C2.79139 0.987179 3.94074 0.37284 5.19199 0.123947C6.44321 -0.124946 7.74023 0.00279446 8.91887 0.491012C10.0975 0.979229 11.105 1.80599 11.8138 2.86676C12.5225 3.92752 12.9008 5.17464 12.9008 6.45041C12.9008 7.29744 12.7339 8.13625 12.4098 8.91887C12.0856 9.70148 11.6105 10.4126 11.0115 11.0115C10.4126 11.6105 9.70148 12.0856 8.91887 12.4098C8.13625 12.7339 7.29744 12.9008 6.45041 12.9008ZM6.45041 1.29351C5.43386 1.29351 4.44014 1.59496 3.59491 2.15972C2.74968 2.72448 2.0909 3.52721 1.70189 4.46637C1.31287 5.40554 1.21108 6.43893 1.4094 7.43596C1.60772 8.43299 2.09724 9.34881 2.81604 10.0676C3.53486 10.7864 4.45067 11.276 5.44769 11.4743C6.44467 11.6726 7.47811 11.5708 8.41731 11.1818C9.35643 10.7927 10.1592 10.134 10.724 9.28876C11.2887 8.44352 11.5902 7.44984 11.5902 6.43328C11.5902 5.07012 11.0487 3.7628 10.0847 2.79891C9.12086 1.83502 7.81356 1.29351 6.45041 1.29351Z",
10826
10814
  fill: "currentColor"
10827
10815
  }
10828
10816
  ),
10829
- /* @__PURE__ */ React85.createElement(
10817
+ /* @__PURE__ */ React84.createElement(
10830
10818
  "path",
10831
10819
  {
10832
10820
  d: "M14.3567 15C14.2723 15.0003 14.1886 14.9839 14.1107 14.9515C14.0327 14.9192 13.962 14.8716 13.9027 14.8115L10.3648 11.2737C10.2513 11.1519 10.1896 10.9907 10.1925 10.8243C10.1954 10.6578 10.2629 10.4991 10.3806 10.3813C10.4983 10.2636 10.6571 10.1962 10.8236 10.1933C10.99 10.1904 11.151 10.2521 11.2729 10.3656L14.8107 13.9035C14.931 14.024 14.9986 14.1872 14.9986 14.3575C14.9986 14.5277 14.931 14.691 14.8107 14.8115C14.7515 14.8716 14.6807 14.9192 14.6027 14.9515C14.5248 14.9839 14.4411 15.0003 14.3567 15Z",
@@ -10884,7 +10872,7 @@ var FunInput = forwardRef2(
10884
10872
  hover: "inputBorderHover"
10885
10873
  };
10886
10874
  };
10887
- return /* @__PURE__ */ React86.createElement(
10875
+ return /* @__PURE__ */ React85.createElement(
10888
10876
  Box,
10889
10877
  {
10890
10878
  color: "primaryText",
@@ -10893,8 +10881,8 @@ var FunInput = forwardRef2(
10893
10881
  gap: "8",
10894
10882
  width: "full"
10895
10883
  },
10896
- label && /* @__PURE__ */ React86.createElement(Text, { size: "12", weight: textWeight }, label),
10897
- isLoading ? /* @__PURE__ */ React86.createElement(FunSkeletonBlock, { height: "44" }) : /* @__PURE__ */ React86.createElement(
10884
+ label && /* @__PURE__ */ React85.createElement(Text, { size: "12", weight: textWeight }, label),
10885
+ isLoading ? /* @__PURE__ */ React85.createElement(FunSkeletonBlock, { height: "44" }) : /* @__PURE__ */ React85.createElement(
10898
10886
  Box,
10899
10887
  {
10900
10888
  borderRadius,
@@ -10914,8 +10902,8 @@ var FunInput = forwardRef2(
10914
10902
  hover: "offBackground"
10915
10903
  }
10916
10904
  },
10917
- prefix && /* @__PURE__ */ React86.createElement(Box, { paddingLeft: "12", height: "max" }, prefix),
10918
- prefixIcon === "SearchIcon" && /* @__PURE__ */ React86.createElement(
10905
+ prefix && /* @__PURE__ */ React85.createElement(Box, { paddingLeft: "12", height: "max" }, prefix),
10906
+ prefixIcon === "SearchIcon" && /* @__PURE__ */ React85.createElement(
10919
10907
  Box,
10920
10908
  {
10921
10909
  display: "flex",
@@ -10924,15 +10912,15 @@ var FunInput = forwardRef2(
10924
10912
  alignItems: "center",
10925
10913
  color: isFocused ? "primaryText" : "secondaryText"
10926
10914
  },
10927
- /* @__PURE__ */ React86.createElement(SearchIcon, null)
10915
+ /* @__PURE__ */ React85.createElement(SearchIcon, null)
10928
10916
  ),
10929
- prefixIcon === "$" && /* @__PURE__ */ React86.createElement(Box, { display: "flex", alignItems: "center", paddingLeft: "32" }, /* @__PURE__ */ React86.createElement(
10917
+ prefixIcon === "$" && /* @__PURE__ */ React85.createElement(Box, { display: "flex", alignItems: "center", paddingLeft: "32" }, /* @__PURE__ */ React85.createElement(
10930
10918
  DollarTextIcon,
10931
10919
  {
10932
10920
  fontSize: inputStyle.fontSize || DEFAULT_ICON_FONT_SIZE
10933
10921
  }
10934
10922
  )),
10935
- /* @__PURE__ */ React86.createElement(
10923
+ /* @__PURE__ */ React85.createElement(
10936
10924
  "input",
10937
10925
  {
10938
10926
  ref,
@@ -10961,13 +10949,13 @@ var FunInput = forwardRef2(
10961
10949
  "data-auto-focus": inputProps.autoFocus
10962
10950
  }
10963
10951
  ),
10964
- suffix && /* @__PURE__ */ React86.createElement(Box, { padding: "4" }, suffix)
10952
+ suffix && /* @__PURE__ */ React85.createElement(Box, { padding: "4" }, suffix)
10965
10953
  ),
10966
- error && typeof error === "string" && /* @__PURE__ */ React86.createElement(Text, { color: "error", size: "10" }, error)
10954
+ error && typeof error === "string" && /* @__PURE__ */ React85.createElement(Text, { color: "error", size: "10" }, error)
10967
10955
  );
10968
10956
  }
10969
10957
  );
10970
- var DollarTextIcon = ({ fontSize }) => /* @__PURE__ */ React86.createElement(
10958
+ var DollarTextIcon = ({ fontSize }) => /* @__PURE__ */ React85.createElement(
10971
10959
  Text,
10972
10960
  {
10973
10961
  style: {
@@ -10980,10 +10968,10 @@ var DollarTextIcon = ({ fontSize }) => /* @__PURE__ */ React86.createElement(
10980
10968
  );
10981
10969
 
10982
10970
  // src/components/FunSocials/FunSocials.tsx
10983
- import React88 from "react";
10971
+ import React87 from "react";
10984
10972
 
10985
10973
  // src/components/ModalSelection/ModalSelection.tsx
10986
- import React87, { useState as useState16 } from "react";
10974
+ import React86, { useState as useState16 } from "react";
10987
10975
  var ModalSelection = ({
10988
10976
  as = "button",
10989
10977
  currentlySelected = false,
@@ -10999,7 +10987,7 @@ var ModalSelection = ({
10999
10987
  ...urlProps
11000
10988
  }) => {
11001
10989
  const [isMouseOver, setIsMouseOver] = useState16(false);
11002
- return /* @__PURE__ */ React87.createElement(
10990
+ return /* @__PURE__ */ React86.createElement(
11003
10991
  Box,
11004
10992
  {
11005
10993
  display: "flex",
@@ -11007,7 +10995,7 @@ var ModalSelection = ({
11007
10995
  onMouseEnter: () => setIsMouseOver(true),
11008
10996
  onMouseLeave: () => setIsMouseOver(false)
11009
10997
  },
11010
- /* @__PURE__ */ React87.createElement(
10998
+ /* @__PURE__ */ React86.createElement(
11011
10999
  Box,
11012
11000
  {
11013
11001
  as,
@@ -11031,7 +11019,7 @@ var ModalSelection = ({
11031
11019
  width: "full",
11032
11020
  ...urlProps
11033
11021
  },
11034
- /* @__PURE__ */ React87.createElement(
11022
+ /* @__PURE__ */ React86.createElement(
11035
11023
  Box,
11036
11024
  {
11037
11025
  color: currentlySelected ? "accentColorForeground" : "primaryText",
@@ -11041,7 +11029,7 @@ var ModalSelection = ({
11041
11029
  fontWeight: "medium",
11042
11030
  transition: "default"
11043
11031
  },
11044
- /* @__PURE__ */ React87.createElement(Box, { alignItems: "center", display: "flex", flexDirection: "row", gap: "12" }, icon ? icon : /* @__PURE__ */ React87.createElement(
11032
+ /* @__PURE__ */ React86.createElement(Box, { alignItems: "center", display: "flex", flexDirection: "row", gap: "12" }, icon ? icon : /* @__PURE__ */ React86.createElement(
11045
11033
  AsyncImage,
11046
11034
  {
11047
11035
  background: iconBackground,
@@ -11052,7 +11040,7 @@ var ModalSelection = ({
11052
11040
  src: iconUrl,
11053
11041
  width: "18"
11054
11042
  }
11055
- ), /* @__PURE__ */ React87.createElement(
11043
+ ), /* @__PURE__ */ React86.createElement(
11056
11044
  Box,
11057
11045
  {
11058
11046
  display: "flex",
@@ -11060,8 +11048,8 @@ var ModalSelection = ({
11060
11048
  style: { flex: 1 },
11061
11049
  alignItems: "center"
11062
11050
  },
11063
- /* @__PURE__ */ React87.createElement(Box, { maxWidth: "200" }, name),
11064
- recent && /* @__PURE__ */ React87.createElement(
11051
+ /* @__PURE__ */ React86.createElement(Box, { maxWidth: "200" }, name),
11052
+ recent && /* @__PURE__ */ React86.createElement(
11065
11053
  FunBadge,
11066
11054
  {
11067
11055
  borderRadius: "smallBadge",
@@ -11079,11 +11067,11 @@ ModalSelection.displayName = "ModalSelection";
11079
11067
  // src/components/FunSocials/FunSocials.tsx
11080
11068
  var FunSocials = ({ options, onSelect, flexDirection }) => {
11081
11069
  const isRow = flexDirection === "row";
11082
- return /* @__PURE__ */ React88.createElement(Box, { display: "flex", flexDirection, gap: "12" }, options.map((socialItem) => {
11070
+ return /* @__PURE__ */ React87.createElement(Box, { display: "flex", flexDirection, gap: "12" }, options.map((socialItem) => {
11083
11071
  if (isRow) {
11084
11072
  return (
11085
11073
  // Applying flex-grow directly on the button leads to visual defects on focus as border width changes
11086
- /* @__PURE__ */ React88.createElement(Box, { key: socialItem.provider, style: { flex: 1 } }, /* @__PURE__ */ React88.createElement(
11074
+ /* @__PURE__ */ React87.createElement(Box, { key: socialItem.provider, style: { flex: 1 } }, /* @__PURE__ */ React87.createElement(
11087
11075
  FunIconButton,
11088
11076
  {
11089
11077
  onClick: () => onSelect(socialItem.provider),
@@ -11097,7 +11085,7 @@ var FunSocials = ({ options, onSelect, flexDirection }) => {
11097
11085
  ))
11098
11086
  );
11099
11087
  }
11100
- return /* @__PURE__ */ React88.createElement(
11088
+ return /* @__PURE__ */ React87.createElement(
11101
11089
  ModalSelection,
11102
11090
  {
11103
11091
  icon: socialItem.getIcon(),
@@ -11111,9 +11099,9 @@ var FunSocials = ({ options, onSelect, flexDirection }) => {
11111
11099
  };
11112
11100
 
11113
11101
  // src/components/Icons/CryptoIcon.tsx
11114
- import React89 from "react";
11102
+ import React88 from "react";
11115
11103
  var CryptoIcon = () => {
11116
- return /* @__PURE__ */ React89.createElement(
11104
+ return /* @__PURE__ */ React88.createElement(
11117
11105
  "svg",
11118
11106
  {
11119
11107
  width: "20",
@@ -11122,7 +11110,7 @@ var CryptoIcon = () => {
11122
11110
  fill: "none",
11123
11111
  xmlns: "http://www.w3.org/2000/svg"
11124
11112
  },
11125
- /* @__PURE__ */ React89.createElement(
11113
+ /* @__PURE__ */ React88.createElement(
11126
11114
  "path",
11127
11115
  {
11128
11116
  d: "M9.76471 17.0376C8.81223 17.0376 7.91445 16.8553 7.07135 16.4907C6.2328 16.1261 5.49224 15.6226 4.84967 14.98C4.20709 14.3374 3.70351 13.5968 3.33892 12.7583C2.97434 11.9152 2.79205 11.0174 2.79205 10.0649C2.79205 9.11247 2.97434 8.21696 3.33892 7.37842C3.70351 6.53532 4.20481 5.79248 4.84283 5.1499C5.48541 4.50732 6.22597 4.00374 7.06451 3.63916C7.90761 3.27458 8.8054 3.09229 9.75787 3.09229C10.7103 3.09229 11.6081 3.27458 12.4512 3.63916C13.2943 4.00374 14.0372 4.50732 14.6797 5.1499C15.3223 5.79248 15.8259 6.53532 16.1905 7.37842C16.5551 8.21696 16.7374 9.11247 16.7374 10.0649C16.7374 11.0174 16.5551 11.9152 16.1905 12.7583C15.8259 13.5968 15.3223 14.3374 14.6797 14.98C14.0372 15.6226 13.2943 16.1261 12.4512 16.4907C11.6127 16.8553 10.7172 17.0376 9.76471 17.0376ZM9.76471 15.8755C10.5713 15.8755 11.3256 15.7251 12.0274 15.4243C12.7292 15.1235 13.3467 14.7088 13.8799 14.1802C14.4131 13.647 14.8279 13.0295 15.1241 12.3276C15.4249 11.6258 15.5753 10.8716 15.5753 10.0649C15.5753 9.2583 15.4249 8.50407 15.1241 7.80225C14.8233 7.10042 14.4063 6.48291 13.8731 5.94971C13.3445 5.4165 12.7269 5.00179 12.0206 4.70557C11.3187 4.40479 10.5645 4.25439 9.75787 4.25439C8.95123 4.25439 8.197 4.40479 7.49517 4.70557C6.79335 5.00179 6.17812 5.4165 5.64947 5.94971C5.12083 6.48291 4.70611 7.10042 4.40533 7.80225C4.10911 8.50407 3.96099 9.2583 3.96099 10.0649C3.96099 10.8716 4.10911 11.6258 4.40533 12.3276C4.70611 13.0295 5.12083 13.647 5.64947 14.1802C6.18267 14.7088 6.80019 15.1235 7.50201 15.4243C8.20383 15.7251 8.95807 15.8755 9.76471 15.8755ZM5.34185 11.3569L7.64557 8.3833C7.78228 8.21468 7.92812 8.13037 8.08307 8.13037C8.19244 8.13037 8.31777 8.16911 8.45904 8.24658L11.4258 9.83936L13.709 8.61572C13.8458 8.54281 13.9665 8.52913 14.0713 8.57471C14.1807 8.62028 14.2514 8.70003 14.2833 8.81396C14.3152 8.92334 14.2833 9.04183 14.1876 9.16943L11.877 12.1499C11.7403 12.3231 11.5922 12.4097 11.4327 12.4097C11.3279 12.4097 11.2048 12.3709 11.0635 12.2935L8.0899 10.6938L5.82721 11.9243C5.6996 11.9927 5.57883 12.0063 5.4649 11.9653C5.35097 11.9198 5.27577 11.8423 5.23932 11.7329C5.20286 11.619 5.23704 11.4937 5.34185 11.3569Z",
@@ -11133,9 +11121,9 @@ var CryptoIcon = () => {
11133
11121
  };
11134
11122
 
11135
11123
  // src/components/Icons/SocialMediaIcons.tsx
11136
- import React90 from "react";
11124
+ import React89 from "react";
11137
11125
  var GoogleIcon = ({ size = 18 }) => {
11138
- return /* @__PURE__ */ React90.createElement(
11126
+ return /* @__PURE__ */ React89.createElement(
11139
11127
  "svg",
11140
11128
  {
11141
11129
  width: size,
@@ -11144,68 +11132,68 @@ var GoogleIcon = ({ size = 18 }) => {
11144
11132
  fill: "none",
11145
11133
  xmlns: "http://www.w3.org/2000/svg"
11146
11134
  },
11147
- /* @__PURE__ */ React90.createElement("g", { clipPath: "url(#clip0_1033_2902)" }, /* @__PURE__ */ React90.createElement("g", { clipPath: "url(#clip1_1033_2902)" }, /* @__PURE__ */ React90.createElement(
11135
+ /* @__PURE__ */ React89.createElement("g", { clipPath: "url(#clip0_1033_2902)" }, /* @__PURE__ */ React89.createElement("g", { clipPath: "url(#clip1_1033_2902)" }, /* @__PURE__ */ React89.createElement(
11148
11136
  "path",
11149
11137
  {
11150
11138
  d: "M17.3612 7.68341C17.4368 7.68341 17.498 7.74467 17.498 7.82024V9.25684C17.498 9.79453 17.4481 10.3203 17.3523 10.8303C16.6113 14.7917 13.1213 17.7855 8.9381 17.7566C4.24421 17.7243 0.487676 13.9316 0.498068 9.23768C0.508395 4.55215 4.31009 0.756836 8.99804 0.756836C11.2948 0.756836 13.3787 1.668 14.9087 3.14806C14.9639 3.20148 14.9653 3.28954 14.911 3.34386L12.8786 5.37625C12.8263 5.42858 12.7417 5.42994 12.6881 5.37891C11.7278 4.46486 10.4286 3.9037 8.99804 3.9037C6.04392 3.9037 3.66508 6.26563 3.64503 9.21968C3.62487 12.1931 6.02931 14.6099 8.99804 14.6099C11.4068 14.6099 13.444 13.0187 14.1158 10.8303H9.13486C9.05929 10.8303 8.99804 10.769 8.99804 10.6934V7.8202C8.99804 7.74463 9.05929 7.68337 9.13486 7.68337H17.3612V7.68341Z",
11151
11139
  fill: "#2196F3"
11152
11140
  }
11153
- ), /* @__PURE__ */ React90.createElement(
11141
+ ), /* @__PURE__ */ React89.createElement(
11154
11142
  "path",
11155
11143
  {
11156
11144
  d: "M17.3613 7.68359H16.3352C16.4107 7.68359 16.472 7.74485 16.472 7.82042V9.25702C16.472 9.79471 16.4221 10.3205 16.3263 10.8305C15.6193 14.6097 12.4104 17.5082 8.48453 17.7417C8.63474 17.7505 8.78595 17.7557 8.93822 17.7568C13.1215 17.7856 16.6114 14.7919 17.3524 10.8305C17.4482 10.3205 17.4981 9.79471 17.4981 9.25702V7.82039C17.4981 7.74485 17.4369 7.68359 17.3613 7.68359Z",
11157
11145
  fill: "#1E88E5"
11158
11146
  }
11159
- ), /* @__PURE__ */ React90.createElement(
11147
+ ), /* @__PURE__ */ React89.createElement(
11160
11148
  "path",
11161
11149
  {
11162
11150
  d: "M4.13616 7.01503L1.55469 5.14981C3.00294 2.53038 5.79373 0.756836 8.99843 0.756836C11.2952 0.756836 13.3791 1.668 14.9091 3.14806C14.9643 3.20148 14.9657 3.28954 14.9114 3.34386L12.879 5.37625C12.8267 5.42848 12.7422 5.43011 12.6887 5.37918C11.7285 4.46496 10.4291 3.90373 8.99843 3.90373C6.84248 3.90373 4.98411 5.1782 4.13616 7.01503Z",
11163
11151
  fill: "#F44336"
11164
11152
  }
11165
- ), /* @__PURE__ */ React90.createElement(
11153
+ ), /* @__PURE__ */ React89.createElement(
11166
11154
  "path",
11167
11155
  {
11168
11156
  d: "M3.39062 6.47666L4.13587 7.01511C4.90983 5.33855 6.52576 4.13108 8.44125 3.93303C8.45566 3.93147 8.46951 3.92957 8.48418 3.92818C8.31561 3.91218 8.14478 3.90381 7.97199 3.90381C6.0244 3.90381 4.32705 4.93055 3.39062 6.47666Z",
11169
11157
  fill: "#E53935"
11170
11158
  }
11171
- ), /* @__PURE__ */ React90.createElement(
11159
+ ), /* @__PURE__ */ React89.createElement(
11172
11160
  "path",
11173
11161
  {
11174
11162
  d: "M13.882 3.14806C13.9373 3.20148 13.9387 3.28954 13.8843 3.34389L12.2347 4.99352C12.3927 5.11372 12.544 5.24228 12.6876 5.37894C12.7412 5.42998 12.8257 5.42862 12.8781 5.37629L14.9105 3.34389C14.9648 3.28954 14.9634 3.20152 14.9082 3.14806C13.3782 1.668 11.2943 0.756836 8.99753 0.756836C8.82517 0.756836 8.65418 0.76258 8.48438 0.772707C10.5775 0.897385 12.4668 1.77903 13.882 3.14806Z",
11175
11163
  fill: "#E53935"
11176
11164
  }
11177
- ), /* @__PURE__ */ React90.createElement(
11165
+ ), /* @__PURE__ */ React89.createElement(
11178
11166
  "path",
11179
11167
  {
11180
11168
  d: "M15.232 15.0335C13.6798 16.7085 11.4606 17.7569 8.99676 17.7569C5.66894 17.7569 2.78784 15.8445 1.39258 13.0585L4.02808 11.2524C4.81894 13.2203 6.74572 14.61 8.99676 14.61C10.4094 14.61 11.6942 14.0628 12.6506 13.1686L15.232 15.0335Z",
11181
11169
  fill: "#4CAF50"
11182
11170
  }
11183
- ), /* @__PURE__ */ React90.createElement(
11171
+ ), /* @__PURE__ */ React89.createElement(
11184
11172
  "path",
11185
11173
  {
11186
11174
  d: "M4.02911 11.2524L3.25195 11.785C4.15458 13.4665 5.92959 14.61 7.97161 14.61C8.1443 14.61 8.315 14.6015 8.4835 14.5856C6.45649 14.3923 4.75898 13.0686 4.02911 11.2524Z",
11187
11175
  fill: "#43A047"
11188
11176
  }
11189
- ), /* @__PURE__ */ React90.createElement(
11177
+ ), /* @__PURE__ */ React89.createElement(
11190
11178
  "path",
11191
11179
  {
11192
11180
  d: "M8.99797 17.7569C11.4618 17.7569 13.681 16.7085 15.2332 15.0334L14.601 14.5767C13.1435 16.3905 10.9571 17.5939 8.48618 17.7414C8.65551 17.7515 8.82611 17.7569 8.99797 17.7569Z",
11193
11181
  fill: "#43A047"
11194
11182
  }
11195
- ), /* @__PURE__ */ React90.createElement(
11183
+ ), /* @__PURE__ */ React89.createElement(
11196
11184
  "path",
11197
11185
  {
11198
11186
  d: "M3.64494 9.25693C3.64494 9.96223 3.7814 10.6358 4.0294 11.2525L1.39387 13.0585C0.820615 11.9147 0.498047 10.6234 0.498047 9.25693C0.498047 7.7673 0.881145 6.36726 1.5543 5.1499L4.13578 7.01512C3.82075 7.69681 3.64494 8.45654 3.64494 9.25693Z",
11199
11187
  fill: "#FFC107"
11200
11188
  }
11201
- ), /* @__PURE__ */ React90.createElement(
11189
+ ), /* @__PURE__ */ React89.createElement(
11202
11190
  "path",
11203
11191
  {
11204
11192
  d: "M3.25262 11.7849L4.02977 11.2524C3.78177 10.6357 3.64531 9.96213 3.64531 9.25683C3.64531 8.45644 3.82112 7.69671 4.13615 7.01502L3.39091 6.47656C2.90697 7.2756 2.62611 8.21322 2.61927 9.21971C2.61296 10.1479 2.84296 11.0218 3.25262 11.7849Z",
11205
11193
  fill: "#FFB300"
11206
11194
  }
11207
11195
  ))),
11208
- /* @__PURE__ */ React90.createElement("defs", null, /* @__PURE__ */ React90.createElement("clipPath", { id: "clip0_1033_2902" }, /* @__PURE__ */ React90.createElement(
11196
+ /* @__PURE__ */ React89.createElement("defs", null, /* @__PURE__ */ React89.createElement("clipPath", { id: "clip0_1033_2902" }, /* @__PURE__ */ React89.createElement(
11209
11197
  "rect",
11210
11198
  {
11211
11199
  width: "17",
@@ -11213,7 +11201,7 @@ var GoogleIcon = ({ size = 18 }) => {
11213
11201
  fill: "white",
11214
11202
  transform: "translate(0.5 0.5)"
11215
11203
  }
11216
- )), /* @__PURE__ */ React90.createElement("clipPath", { id: "clip1_1033_2902" }, /* @__PURE__ */ React90.createElement(
11204
+ )), /* @__PURE__ */ React89.createElement("clipPath", { id: "clip1_1033_2902" }, /* @__PURE__ */ React89.createElement(
11217
11205
  "rect",
11218
11206
  {
11219
11207
  width: "17",
@@ -11225,7 +11213,7 @@ var GoogleIcon = ({ size = 18 }) => {
11225
11213
  );
11226
11214
  };
11227
11215
  var TwitterIcon = ({ size = 18 }) => {
11228
- return /* @__PURE__ */ React90.createElement(
11216
+ return /* @__PURE__ */ React89.createElement(
11229
11217
  "svg",
11230
11218
  {
11231
11219
  width: size,
@@ -11234,7 +11222,7 @@ var TwitterIcon = ({ size = 18 }) => {
11234
11222
  fill: "none",
11235
11223
  xmlns: "http://www.w3.org/2000/svg"
11236
11224
  },
11237
- /* @__PURE__ */ React90.createElement(
11225
+ /* @__PURE__ */ React89.createElement(
11238
11226
  "path",
11239
11227
  {
11240
11228
  d: "M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z",
@@ -11244,7 +11232,7 @@ var TwitterIcon = ({ size = 18 }) => {
11244
11232
  );
11245
11233
  };
11246
11234
  var AppleIcon = ({ size = 18 }) => {
11247
- return /* @__PURE__ */ React90.createElement(
11235
+ return /* @__PURE__ */ React89.createElement(
11248
11236
  "svg",
11249
11237
  {
11250
11238
  width: size,
@@ -11253,7 +11241,7 @@ var AppleIcon = ({ size = 18 }) => {
11253
11241
  fill: "none",
11254
11242
  xmlns: "http://www.w3.org/2000/svg"
11255
11243
  },
11256
- /* @__PURE__ */ React90.createElement("g", { clipPath: "url(#clip0_1049_3254)" }, /* @__PURE__ */ React90.createElement(
11244
+ /* @__PURE__ */ React89.createElement("g", { clipPath: "url(#clip0_1049_3254)" }, /* @__PURE__ */ React89.createElement(
11257
11245
  "path",
11258
11246
  {
11259
11247
  fillRule: "evenodd",
@@ -11262,7 +11250,7 @@ var AppleIcon = ({ size = 18 }) => {
11262
11250
  fill: "currentColor"
11263
11251
  }
11264
11252
  )),
11265
- /* @__PURE__ */ React90.createElement("defs", null, /* @__PURE__ */ React90.createElement("clipPath", { id: "clip0_1049_3254" }, /* @__PURE__ */ React90.createElement(
11253
+ /* @__PURE__ */ React89.createElement("defs", null, /* @__PURE__ */ React89.createElement("clipPath", { id: "clip0_1049_3254" }, /* @__PURE__ */ React89.createElement(
11266
11254
  "rect",
11267
11255
  {
11268
11256
  width: "17",
@@ -11274,7 +11262,7 @@ var AppleIcon = ({ size = 18 }) => {
11274
11262
  );
11275
11263
  };
11276
11264
  var FarcasterIcon = ({ size = 20 }) => {
11277
- return /* @__PURE__ */ React90.createElement(
11265
+ return /* @__PURE__ */ React89.createElement(
11278
11266
  "svg",
11279
11267
  {
11280
11268
  width: size,
@@ -11283,21 +11271,21 @@ var FarcasterIcon = ({ size = 20 }) => {
11283
11271
  fill: "none",
11284
11272
  xmlns: "http://www.w3.org/2000/svg"
11285
11273
  },
11286
- /* @__PURE__ */ React90.createElement(
11274
+ /* @__PURE__ */ React89.createElement(
11287
11275
  "path",
11288
11276
  {
11289
11277
  d: "M257.778 155.556H742.222V844.445H671.111V528.889H670.414C662.554 441.677 589.258 373.333 500 373.333C410.742 373.333 337.446 441.677 329.586 528.889H328.889V844.445H257.778V155.556Z",
11290
11278
  fill: "#855DCD"
11291
11279
  }
11292
11280
  ),
11293
- /* @__PURE__ */ React90.createElement(
11281
+ /* @__PURE__ */ React89.createElement(
11294
11282
  "path",
11295
11283
  {
11296
11284
  d: "M128.889 253.333L157.778 351.111H182.222V746.667C169.949 746.667 160 756.616 160 768.889V795.556H155.556C143.283 795.556 133.333 805.505 133.333 817.778V844.445H382.222V817.778C382.222 805.505 372.273 795.556 360 795.556H355.556V768.889C355.556 756.616 345.606 746.667 333.333 746.667H306.667V253.333H128.889Z",
11297
11285
  fill: "#855DCD"
11298
11286
  }
11299
11287
  ),
11300
- /* @__PURE__ */ React90.createElement(
11288
+ /* @__PURE__ */ React89.createElement(
11301
11289
  "path",
11302
11290
  {
11303
11291
  d: "M675.556 746.667C663.283 746.667 653.333 756.616 653.333 768.889V795.556H648.889C636.616 795.556 626.667 805.505 626.667 817.778V844.445H875.556V817.778C875.556 805.505 865.606 795.556 853.333 795.556H848.889V768.889C848.889 756.616 838.94 746.667 826.667 746.667V351.111H851.111L880 253.333H702.222V746.667H675.556Z",
@@ -11308,9 +11296,9 @@ var FarcasterIcon = ({ size = 20 }) => {
11308
11296
  };
11309
11297
 
11310
11298
  // src/components/Icons/SocialsIcon.tsx
11311
- import React91 from "react";
11299
+ import React90 from "react";
11312
11300
  var SocialsIcon = () => {
11313
- return /* @__PURE__ */ React91.createElement(
11301
+ return /* @__PURE__ */ React90.createElement(
11314
11302
  "svg",
11315
11303
  {
11316
11304
  width: "20",
@@ -11319,7 +11307,7 @@ var SocialsIcon = () => {
11319
11307
  fill: "none",
11320
11308
  xmlns: "http://www.w3.org/2000/svg"
11321
11309
  },
11322
- /* @__PURE__ */ React91.createElement(
11310
+ /* @__PURE__ */ React90.createElement(
11323
11311
  "path",
11324
11312
  {
11325
11313
  d: "M9.75836 16.9746C8.86122 16.9746 8.01698 16.8032 7.22564 16.4604C6.4343 16.1219 5.73606 15.6501 5.13092 15.0449C4.53001 14.4398 4.05816 13.7415 3.71539 12.9502C3.37262 12.1589 3.20123 11.3146 3.20123 10.4175C3.20123 9.52035 3.37262 8.67611 3.71539 7.88477C4.05816 7.09342 4.53001 6.3973 5.13092 5.79639C5.73606 5.19124 6.43219 4.71729 7.2193 4.37451C8.01064 4.03174 8.85487 3.86035 9.75201 3.86035C10.6534 3.86035 11.4997 4.03174 12.2911 4.37451C13.0824 4.71729 13.7807 5.19124 14.3858 5.79639C14.9909 6.3973 15.4649 7.09342 15.8077 7.88477C16.1504 8.67611 16.3218 9.52035 16.3218 10.4175C16.3218 11.3146 16.1504 12.1589 15.8077 12.9502C15.4649 13.7415 14.9909 14.4398 14.3858 15.0449C13.7807 15.6501 13.0824 16.1219 12.2911 16.4604C11.4997 16.8032 10.6555 16.9746 9.75836 16.9746ZM9.75836 15.6797C10.4905 15.6797 11.1739 15.5443 11.8087 15.2734C12.4434 15.0026 13.002 14.626 13.4844 14.1436C13.9669 13.6611 14.3435 13.1025 14.6143 12.4678C14.8851 11.833 15.0206 11.1496 15.0206 10.4175C15.0206 9.68962 14.8851 9.0083 14.6143 8.37354C14.3435 7.73454 13.9669 7.17383 13.4844 6.69141C13.002 6.20898 12.4413 5.83236 11.8023 5.56152C11.1675 5.29069 10.4841 5.15527 9.75201 5.15527C9.02415 5.15527 8.34071 5.29069 7.70172 5.56152C7.06695 5.83236 6.51047 6.20898 6.03228 6.69141C5.55409 7.17383 5.17958 7.73454 4.90875 8.37354C4.63792 9.0083 4.5025 9.68962 4.5025 10.4175C4.5025 11.1496 4.63792 11.833 4.90875 12.4678C5.17958 13.1025 5.55409 13.6611 6.03228 14.1436C6.51471 14.626 7.0733 15.0026 7.70807 15.2734C8.34706 15.5443 9.03049 15.6797 9.75836 15.6797ZM13.9922 14.6069C13.5902 14.9751 13.1374 15.284 12.6338 15.5337C12.1303 15.7876 11.6267 15.9801 11.1231 16.1113C10.6195 16.2425 10.1646 16.3081 9.75836 16.3081C9.35634 16.3081 8.90142 16.2425 8.39361 16.1113C7.89003 15.9801 7.38645 15.7876 6.88287 15.5337C6.37929 15.284 5.92861 14.9751 5.53082 14.6069L5.55621 14.4927C5.69163 14.1838 5.94976 13.8854 6.33062 13.5977C6.71571 13.3057 7.20025 13.0687 7.78424 12.8867C8.36822 12.7005 9.02626 12.6074 9.75836 12.6074C10.4989 12.6074 11.1591 12.7005 11.7388 12.8867C12.3228 13.0687 12.8052 13.3057 13.1861 13.5977C13.5712 13.8854 13.8314 14.1859 13.9669 14.499L13.9922 14.6069ZM9.75836 11.5601C9.35211 11.5558 8.98394 11.45 8.65387 11.2427C8.32379 11.0311 8.06142 10.7454 7.86676 10.3857C7.67633 10.0218 7.579 9.61344 7.57476 9.16064C7.57053 8.73747 7.66575 8.34814 7.86041 7.99268C8.05507 7.63298 8.31744 7.34521 8.64752 7.12939C8.98183 6.91357 9.35211 6.80566 9.75836 6.80566C10.1688 6.80566 10.537 6.91357 10.8629 7.12939C11.1929 7.34521 11.4553 7.63298 11.65 7.99268C11.8489 8.34814 11.9483 8.73747 11.9483 9.16064C11.9483 9.61344 11.851 10.0239 11.6563 10.3921C11.4616 10.756 11.1993 11.0438 10.8692 11.2554C10.5391 11.4627 10.1688 11.5643 9.75836 11.5601Z",
@@ -11406,7 +11394,7 @@ import { useMemo as useMemo14 } from "react";
11406
11394
 
11407
11395
  // src/providers/FunkitQuoteContext.tsx
11408
11396
  import { FlagKey as FlagKey13, isNotNullish as isNotNullish6 } from "@funkit/utils";
11409
- import React92, {
11397
+ import React91, {
11410
11398
  createContext as createContext15,
11411
11399
  useCallback as useCallback17,
11412
11400
  useContext as useContext15,
@@ -12156,7 +12144,7 @@ function FunkitQuoteProvider({ children }) {
12156
12144
  setCheckoutQuote: setLatestQuote,
12157
12145
  setQuoteProgress
12158
12146
  };
12159
- return /* @__PURE__ */ React92.createElement(FunkitQuoteContext.Provider, { value: contextValue }, children);
12147
+ return /* @__PURE__ */ React91.createElement(FunkitQuoteContext.Provider, { value: contextValue }, children);
12160
12148
  }
12161
12149
  function useQuoteContext() {
12162
12150
  return useContext15(FunkitQuoteContext);
@@ -12204,6 +12192,31 @@ import { createPortal as createPortal2 } from "react-dom";
12204
12192
 
12205
12193
  // src/components/FunCheckbox/FunCheckbox.tsx
12206
12194
  import React93 from "react";
12195
+
12196
+ // src/components/Icons/CheckIcon.tsx
12197
+ import React92 from "react";
12198
+ var CheckIcon = ({ size = 16 }) => /* @__PURE__ */ React92.createElement(
12199
+ "svg",
12200
+ {
12201
+ width: size,
12202
+ height: size,
12203
+ viewBox: "0 0 16 16",
12204
+ fill: "none",
12205
+ xmlns: "http://www.w3.org/2000/svg"
12206
+ },
12207
+ /* @__PURE__ */ React92.createElement(
12208
+ "path",
12209
+ {
12210
+ d: "M12.4919 4.88281L6.25757 11.1172L3.50781 8",
12211
+ stroke: "currentColor",
12212
+ strokeWidth: "1.5",
12213
+ strokeLinecap: "round",
12214
+ strokeLinejoin: "round"
12215
+ }
12216
+ )
12217
+ );
12218
+
12219
+ // src/components/FunCheckbox/FunCheckbox.tsx
12207
12220
  var FunCheckbox = ({
12208
12221
  label,
12209
12222
  onChange,
@@ -14303,6 +14316,7 @@ function renderRelayFee(relayQuote) {
14303
14316
  const maxSlippage = Number.parseFloat(
14304
14317
  details?.slippageTolerance?.destination?.percent || "0"
14305
14318
  );
14319
+ const minReceived = Number.parseFloat(details?.currencyOut?.amountUsd || "0") - Number.parseFloat(details?.slippageTolerance?.destination?.usd || "0");
14306
14320
  return {
14307
14321
  collapsed: {
14308
14322
  value: formatCurrencyAndStringify4(gasUsd),
@@ -14360,12 +14374,12 @@ function renderRelayFee(relayQuote) {
14360
14374
  },
14361
14375
  /* @__PURE__ */ React124.createElement(Text, { size: "10" }, "Fun.xyz fee"),
14362
14376
  /* @__PURE__ */ React124.createElement(Text, { size: "10", weight: "medium" }, formatPercent(appFeePercent))
14363
- )), /* @__PURE__ */ React124.createElement(FunDivider, null), /* @__PURE__ */ React124.createElement(Box, null, "Price impact is the difference between the expected and executed price.", /* @__PURE__ */ React124.createElement("br", null), /* @__PURE__ */ React124.createElement("br", null), "Final cost may vary based on network conditions."))
14377
+ )))
14364
14378
  },
14365
14379
  {
14366
14380
  label: "Max slippage",
14367
14381
  value: formatPercent(maxSlippage),
14368
- tooltipText: /* @__PURE__ */ React124.createElement(React124.Fragment, null, "Slippage occurs due to price changes during trade execution. Slippage limits are adjusted based on your asset to ensure a reliable, timely execution.", /* @__PURE__ */ React124.createElement("br", null), /* @__PURE__ */ React124.createElement("br", null), "The slippage is set as low as possible. If it is required to be higher than 1.50% during execution, Fun.xyz will cover the difference.")
14382
+ tooltipText: `Slippage occurs due to price changes during trade execution. Minimum received: ${formatCurrencyAndStringify4(minReceived)}`
14369
14383
  }
14370
14384
  ]
14371
14385
  };
@@ -16557,7 +16571,7 @@ var useMeldLimit = (fiatCurrency) => {
16557
16571
  };
16558
16572
  var useMeldLimitError = (amount, fiatCurrency) => {
16559
16573
  const { data: meldLimit } = useMeldLimit(fiatCurrency);
16560
- if (!meldLimit) return void 0;
16574
+ if (!meldLimit || amount === void 0) return void 0;
16561
16575
  if (amount < meldLimit.minimumAmount) {
16562
16576
  const limit = formatCurrencyAndStringify5(
16563
16577
  meldLimit.minimumAmount ?? 0,
@@ -16593,7 +16607,7 @@ var useMeldLimitError = (amount, fiatCurrency) => {
16593
16607
 
16594
16608
  // src/modals/CheckoutModal/InputAmount/InputAmountLoaded.tsx
16595
16609
  import {
16596
- FlagKey as FlagKey21,
16610
+ FlagKey as FlagKey22,
16597
16611
  formatCryptoAndStringify as formatCryptoAndStringify4,
16598
16612
  formatCurrencyAndStringify as formatCurrencyAndStringify9,
16599
16613
  isTokenEquivalent as isTokenEquivalent6,
@@ -16751,6 +16765,8 @@ var MeldQuoteItem = ({
16751
16765
  {},
16752
16766
  { currency: quote.sourceCurrencyCode }
16753
16767
  );
16768
+ const customerScore = quote.customerScore;
16769
+ const lowKyc = quote.lowKyc;
16754
16770
  return /* @__PURE__ */ React141.createElement(
16755
16771
  FunOptionBox,
16756
16772
  {
@@ -16776,7 +16792,9 @@ var MeldQuoteItem = ({
16776
16792
  MeldProviderLabel,
16777
16793
  {
16778
16794
  serviceProvider: quote.serviceProvider,
16779
- isBest: isBestQuote
16795
+ isBest: isBestQuote,
16796
+ shouldBuyMore: customerScore ? customerScore >= 30 : false,
16797
+ hasDocumentUpload: !lowKyc
16780
16798
  }
16781
16799
  )),
16782
16800
  /* @__PURE__ */ React141.createElement(Box, { display: "flex", alignItems: "center", gap: "8" }, /* @__PURE__ */ React141.createElement(
@@ -16788,7 +16806,7 @@ var MeldQuoteItem = ({
16788
16806
  gap: "2"
16789
16807
  },
16790
16808
  /* @__PURE__ */ React141.createElement(Text, { size: "12", weight: "medium" }, cryptoAmount),
16791
- /* @__PURE__ */ React141.createElement(Text, { color: "secondaryText", size: "10" }, "~", fiatAmount)
16809
+ /* @__PURE__ */ React141.createElement(Text, { color: "secondaryText", size: "10" }, fiatAmount)
16792
16810
  ))
16793
16811
  );
16794
16812
  };
@@ -16816,7 +16834,7 @@ var SourceMeldQuoteItem = ({
16816
16834
  onClick,
16817
16835
  disabled: disabled || isLoading || !quote
16818
16836
  },
16819
- /* @__PURE__ */ React142.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React142.createElement(Text, { size: "12", weight: "medium" }, "Provider"), isPreselected && /* @__PURE__ */ React142.createElement(Text, { color: "secondaryText", size: "12", weight: "medium" }, "Best rate auto-picked")),
16837
+ /* @__PURE__ */ React142.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React142.createElement(Text, { size: "12", weight: "medium" }, "Provider"), isPreselected && /* @__PURE__ */ React142.createElement(Text, { color: "secondaryText", size: "12", weight: "medium" }, "Auto-picked for you")),
16820
16838
  /* @__PURE__ */ React142.createElement(Box, { display: "flex", alignItems: "center", gap: "12" }, /* @__PURE__ */ React142.createElement(Box, { display: "flex", alignItems: "center", gap: "6" }, error ? /* @__PURE__ */ React142.createElement(Text, { size: "12", color: "secondaryText", weight: "medium" }, error) : isLoading ? /* @__PURE__ */ React142.createElement(React142.Fragment, null, /* @__PURE__ */ React142.createElement(FunSkeletonCircle, { size: "32" }), /* @__PURE__ */ React142.createElement(FunSkeletonBlock, { width: "36", height: "14" })) : quote ? /* @__PURE__ */ React142.createElement(React142.Fragment, null, /* @__PURE__ */ React142.createElement(
16821
16839
  AsyncImage,
16822
16840
  {
@@ -16838,9 +16856,11 @@ var SourceMeldQuoteItem = ({
16838
16856
  };
16839
16857
  var MeldProviderLabel = ({
16840
16858
  serviceProvider,
16841
- isBest
16859
+ isBest,
16860
+ shouldBuyMore = false,
16861
+ hasDocumentUpload = true
16842
16862
  }) => {
16843
- return /* @__PURE__ */ React142.createElement(Box, { display: "flex", flexDirection: "column", gap: "2" }, /* @__PURE__ */ React142.createElement(Text, { size: "12", weight: "medium", style: { whiteSpace: "nowrap" } }, providerLabelMap[serviceProvider] ?? serviceProvider), isBest && /* @__PURE__ */ React142.createElement(
16863
+ return /* @__PURE__ */ React142.createElement(Box, { display: "flex", flexDirection: "column", gap: "2" }, /* @__PURE__ */ React142.createElement(Text, { size: "12", weight: "medium", style: { whiteSpace: "nowrap" } }, providerLabelMap[serviceProvider] ?? serviceProvider), shouldBuyMore && /* @__PURE__ */ React142.createElement(Text, { color: "secondaryText", size: "10", style: { whiteSpace: "nowrap" } }, "Buy more"), !hasDocumentUpload && /* @__PURE__ */ React142.createElement(Text, { color: "secondaryText", size: "10", style: { whiteSpace: "nowrap" } }, "No document upload"), isBest && /* @__PURE__ */ React142.createElement(
16844
16864
  Text,
16845
16865
  {
16846
16866
  color: "approvedBadgeText",
@@ -17761,7 +17781,7 @@ var useMeldQuotes = (sourceAmount, fiatCurrency) => {
17761
17781
  destinationCurrencyCode
17762
17782
  ],
17763
17783
  queryFn: async () => {
17764
- if (!userIpInfo || !apiKey || !destinationCurrencyCode) {
17784
+ if (!userIpInfo || !apiKey || !destinationCurrencyCode || debouncedSourceAmount === void 0) {
17765
17785
  return [];
17766
17786
  }
17767
17787
  const response = await getMeldQuotes({
@@ -17778,7 +17798,7 @@ var useMeldQuotes = (sourceAmount, fiatCurrency) => {
17778
17798
  (a, b) => b.destinationAmount - a.destinationAmount
17779
17799
  );
17780
17800
  },
17781
- enabled: !!userIpInfo && !!apiKey && !!destinationCurrencyCode && !isAway && !!fiatCurrency,
17801
+ enabled: !!userIpInfo && !!apiKey && !!destinationCurrencyCode && !isAway && !!fiatCurrency && debouncedSourceAmount !== void 0,
17782
17802
  refetchInterval: COUNTDOWN_INTERVAL_SEC * 1e3,
17783
17803
  refetchOnWindowFocus: false,
17784
17804
  retry: false
@@ -17789,7 +17809,16 @@ var useMeldQuotes = (sourceAmount, fiatCurrency) => {
17789
17809
  isHidden: query.isPending,
17790
17810
  autoRestart: true
17791
17811
  });
17792
- return { query, countdown };
17812
+ const isOutdated = sourceAmount !== debouncedSourceAmount;
17813
+ return {
17814
+ countdown,
17815
+ query: {
17816
+ ...query,
17817
+ error: isOutdated ? null : query.error,
17818
+ isError: query.isError && !isOutdated,
17819
+ isOutdated
17820
+ }
17821
+ };
17793
17822
  };
17794
17823
 
17795
17824
  // src/modals/CheckoutModal/InputAmount/InputAmountLayout.tsx
@@ -17905,18 +17934,26 @@ function deduplicateArray(arr) {
17905
17934
  return Array.from(new Set(arr));
17906
17935
  }
17907
17936
  function useFiatAmountOptions(currency) {
17937
+ const isMeldEnabled = useFlag(FlagKey20.EnableMeldPayment);
17908
17938
  const currencyQuickOptionStr = useFlag(FlagKey20.MeldQuickOptions);
17909
17939
  const currencyQuickOption = safeJSONParse(
17910
17940
  currencyQuickOptionStr
17911
17941
  );
17912
17942
  const { data: meldLimit, isPending } = useMeldLimit(currency);
17943
+ if (!isMeldEnabled) {
17944
+ return deduplicateArray(
17945
+ currencyQuickOption?.USD?.map(
17946
+ (val) => clamp(val, MIN_MOONPAY_AMOUNT_USD, MAX_MOONPAY_AMOUNT_USD)
17947
+ ) || []
17948
+ );
17949
+ }
17913
17950
  if (isPending || !meldLimit) {
17914
17951
  return [];
17915
17952
  }
17916
17953
  const minimumAmount = meldLimit.minimumAmount;
17917
17954
  const maximumAmount = meldLimit.maximumAmount;
17918
17955
  return deduplicateArray(
17919
- currencyQuickOption?.[currency]?.map(
17956
+ currencyQuickOption?.[currency ?? "USD"]?.map(
17920
17957
  (val) => clamp(val, minimumAmount, maximumAmount)
17921
17958
  ) || []
17922
17959
  );
@@ -17965,6 +18002,7 @@ var QuickOptions = ({
17965
18002
  // src/modals/CheckoutModal/InputAmount/useAmountInput.ts
17966
18003
  import { useCallback as useCallback28, useEffect as useEffect27, useReducer as useReducer3 } from "react";
17967
18004
  import {
18005
+ FlagKey as FlagKey21,
17968
18006
  formatCryptoAndStringify as formatCryptoAndStringify3,
17969
18007
  formatCurrencyAndStringify as formatCurrencyAndStringify8
17970
18008
  } from "@funkit/utils";
@@ -17973,7 +18011,7 @@ import {
17973
18011
  import { round as round2 } from "@funkit/utils";
17974
18012
  function getInputValueFromAmount(params) {
17975
18013
  const amount = params.isInputInFiat ? params.fiatAmount : params.assetAmount;
17976
- if (!amount) return "";
18014
+ if (amount === void 0) return "";
17977
18015
  const formattedAmount = amount.toFixed(
17978
18016
  params.isInputInFiat ? USD_DECIMALS : ASSET_DECIMALS
17979
18017
  );
@@ -18016,8 +18054,8 @@ function initializeState({
18016
18054
  usdMaxAmount ?? Number.MAX_VALUE
18017
18055
  );
18018
18056
  const rounding = finalFiatAmount === initialFiatAmount ? "round" : finalFiatAmount === usdMinAmount ? "ceil" : "floor";
18019
- const assetAmount = finalFiatAmount ? targetAssetAmount && finalFiatAmount === targetAssetAmount * unitPrice ? targetAssetAmount : finalFiatAmount / unitPrice || 0 : 0;
18020
- const fiatAmount = finalFiatAmount ? round2(finalFiatAmount, USD_DECIMALS, rounding) : 0;
18057
+ const fiatAmount = finalFiatAmount ? round2(finalFiatAmount, USD_DECIMALS, rounding) : void 0;
18058
+ const assetAmount = finalFiatAmount ? targetAssetAmount && finalFiatAmount === targetAssetAmount * unitPrice ? targetAssetAmount : finalFiatAmount / unitPrice : void 0;
18021
18059
  const inputValue = getInputValueFromAmount({
18022
18060
  assetAmount,
18023
18061
  currencySymbol: getCurrencySymbol(fiatCurrency),
@@ -18053,23 +18091,23 @@ function reduceState(state, action) {
18053
18091
  const currencySymbol = getCurrencySymbol(state.fiatCurrency);
18054
18092
  const regex = state.isInputInFiat ? /\d+(\.\d{0,2})?/ : /\d+(\.\d{0,5})?/;
18055
18093
  const match = regex.exec(rawInputValue);
18056
- const numericInputValue = match?.[0] || "";
18057
- const newInputValue = numericInputValue && state.isInputInFiat ? `${currencySymbol}${numericInputValue}` : numericInputValue;
18094
+ const numericInputValue = match?.[0];
18095
+ const newInputValue = numericInputValue !== void 0 && state.isInputInFiat ? `${currencySymbol}${numericInputValue}` : numericInputValue;
18058
18096
  if (newInputValue === state.inputValue) return state;
18059
- const newInputAmount = Number.parseFloat(numericInputValue) || 0;
18097
+ const newInputAmount = numericInputValue !== void 0 ? Number.parseFloat(numericInputValue) : void 0;
18060
18098
  if (state.isInputInFiat) {
18061
18099
  return {
18062
18100
  ...state,
18063
- assetAmount: newInputAmount / unitPrice || 0,
18064
- inputValue: newInputValue,
18101
+ assetAmount: newInputAmount !== void 0 ? newInputAmount / unitPrice : void 0,
18102
+ inputValue: newInputValue ?? "",
18065
18103
  fiatAmount: newInputAmount
18066
18104
  };
18067
18105
  }
18068
18106
  return {
18069
18107
  ...state,
18070
18108
  assetAmount: newInputAmount,
18071
- inputValue: newInputValue,
18072
- fiatAmount: round2(newInputAmount * unitPrice, USD_DECIMALS)
18109
+ inputValue: newInputValue ?? "",
18110
+ fiatAmount: newInputAmount !== void 0 ? round2(newInputAmount * unitPrice, USD_DECIMALS) : void 0
18073
18111
  };
18074
18112
  }
18075
18113
  case "setFiatCurrency": {
@@ -18108,6 +18146,11 @@ function getAmountInputError(state) {
18108
18146
  type: "noAvailableBalance"
18109
18147
  };
18110
18148
  }
18149
+ if (fiatAmount === void 0) {
18150
+ return {
18151
+ type: "noInput"
18152
+ };
18153
+ }
18111
18154
  if (usdAvailableAmount && fiatAmount > usdAvailableAmount) {
18112
18155
  return {
18113
18156
  type: "aboveAvailable",
@@ -18126,11 +18169,6 @@ function getAmountInputError(state) {
18126
18169
  usdMinAmount
18127
18170
  };
18128
18171
  }
18129
- if (fiatAmount === 0) {
18130
- return {
18131
- type: "noInput"
18132
- };
18133
- }
18134
18172
  }
18135
18173
  function getDerivedState(state) {
18136
18174
  const inputError = getAmountInputError(state);
@@ -18143,8 +18181,10 @@ function getDerivedState(state) {
18143
18181
 
18144
18182
  // src/modals/CheckoutModal/InputAmount/useAmountInput.ts
18145
18183
  function useAmountInput(options) {
18184
+ const isMeldEnabled = useFlag(FlagKey21.EnableMeldPayment);
18146
18185
  const [state, dispatch] = useReducer3(reduceState, options, initializeState);
18147
18186
  const isCardCheckout = options.paymentMethod === "card" /* CARD */;
18187
+ const isMeldFlow = isCardCheckout && isMeldEnabled;
18148
18188
  const {
18149
18189
  unitPrice: realUnitPrice,
18150
18190
  checkoutConfig,
@@ -18169,7 +18209,7 @@ function useAmountInput(options) {
18169
18209
  },
18170
18210
  [unitPrice]
18171
18211
  );
18172
- const defaultAmount = isCardCheckout ? getDefaultAmountFromQuickOptions(quickOptions) : void 0;
18212
+ const defaultAmount = isMeldFlow ? getDefaultAmountFromQuickOptions(quickOptions) : void 0;
18173
18213
  useEffect27(() => {
18174
18214
  if (state.fiatCurrency !== fiatCurrency) {
18175
18215
  dispatch({
@@ -18216,20 +18256,44 @@ function useAmountInput(options) {
18216
18256
  { currency: fiatCurrency, currencyDisplay: "narrowSymbol" }
18217
18257
  ) : formatCryptoAndStringify3(0),
18218
18258
  setFiatAmount,
18219
- suggestion: getInputAmountSuggestion(derivedState.inputError),
18259
+ // Meld flow does not support update amount suggestions
18260
+ suggestion: isMeldFlow ? void 0 : getInputAmountSuggestion(derivedState.inputError),
18220
18261
  toggleInputInFiat
18221
18262
  };
18222
18263
  }
18223
18264
 
18224
18265
  // src/modals/CheckoutModal/InputAmount/InputAmountLoaded.tsx
18266
+ function autoPickBestQuote(quotes) {
18267
+ const quotesSortedByScore = quotes.sort(
18268
+ (a, b) => (b.customerScore ?? 0) - (a.customerScore ?? 0)
18269
+ );
18270
+ if (quotesSortedByScore[0].customerScore && quotesSortedByScore[0].customerScore >= 30) {
18271
+ return quotesSortedByScore[0];
18272
+ }
18273
+ const quotesSortedByDestinationAmount = quotes.sort(
18274
+ (a, b) => (b.destinationAmount ?? 0) - (a.destinationAmount ?? 0)
18275
+ );
18276
+ return quotesSortedByDestinationAmount[0];
18277
+ }
18278
+ function isBestPriceQuote(quotes, quote) {
18279
+ if (!quotes || quotes.length === 0 || !quote) {
18280
+ return false;
18281
+ }
18282
+ for (const q of quotes) {
18283
+ if (q.destinationAmount > quote.destinationAmount) {
18284
+ return false;
18285
+ }
18286
+ }
18287
+ return true;
18288
+ }
18225
18289
  function useMeld(manuallySelectedQuote, usdAmount, fiatCurrency) {
18226
18290
  const { query: meldQuotesQuery } = useMeldQuotes(usdAmount, fiatCurrency);
18227
18291
  const { mutateAsync, isPending: isMeldLinkPending } = useMeldLink(
18228
- usdAmount,
18292
+ usdAmount ?? 0,
18229
18293
  fiatCurrency
18230
18294
  );
18231
18295
  const meldLimitError = useMeldLimitError(usdAmount, fiatCurrency);
18232
- const bestRateQuote = meldQuotesQuery.data?.[0];
18296
+ const bestRateQuote = meldQuotesQuery.data ? autoPickBestQuote(meldQuotesQuery.data) : void 0;
18233
18297
  const selectedQuote = manuallySelectedQuote ?? bestRateQuote;
18234
18298
  const isSelectedQuoteUnavailable = manuallySelectedQuote && !meldQuotesQuery.isPending && !meldQuotesQuery.data?.find(
18235
18299
  (quote) => quote.serviceProvider === selectedQuote?.serviceProvider
@@ -18250,15 +18314,15 @@ function InputAmountLoaded({
18250
18314
  onNext,
18251
18315
  sourceHolding,
18252
18316
  unitPrice,
18253
- defaultFiatCurrency = "USD",
18317
+ defaultFiatCurrency,
18254
18318
  textCustomizations
18255
18319
  }) {
18256
- const maxCheckoutUsdString = useFlag(FlagKey21.MaxCheckoutUsd);
18320
+ const maxCheckoutUsdString = useFlag(FlagKey22.MaxCheckoutUsd);
18257
18321
  const { apiKey } = useFunkitConfig();
18258
18322
  const { paymentMethod } = modalState.paymentMethodInfo;
18259
18323
  const { quote: manuallySelectedQuote } = modalState;
18260
18324
  const isCardCheckout = paymentMethod === "card" /* CARD */;
18261
- const meldEnabled = useFlag(FlagKey21.EnableMeldPayment) && isCardCheckout;
18325
+ const meldEnabled = useFlag(FlagKey22.EnableMeldPayment) && isCardCheckout;
18262
18326
  const { targetAssetTicker, targetAssetMinAmount } = checkoutConfig;
18263
18327
  const { updateTargetAssetAmount } = useCheckoutContext();
18264
18328
  const minUsd = targetAssetMinAmount && unitPrice ? Math.ceil(targetAssetMinAmount * unitPrice * 100) / 100 : void 0;
@@ -18340,6 +18404,7 @@ function InputAmountLoaded({
18340
18404
  resetText();
18341
18405
  };
18342
18406
  const handleContinue = async (assetAmount2) => {
18407
+ if (assetAmount2 === void 0) return;
18343
18408
  updateTargetAssetAmount(assetAmount2);
18344
18409
  if (!meldEnabled) {
18345
18410
  onNext({});
@@ -18363,10 +18428,10 @@ function InputAmountLoaded({
18363
18428
  handleSubmit();
18364
18429
  };
18365
18430
  const displayAssetAmount = round3(
18366
- isStablecoin(targetAssetTicker) ? fiatAmount : assetAmount,
18431
+ (isStablecoin(targetAssetTicker) ? fiatAmount : assetAmount) ?? 0,
18367
18432
  ASSET_DECIMALS
18368
18433
  );
18369
- const isConvertedAmountShown = targetAssetTicker && (!isInputInFiat || isCardCheckout && fiatCurrency === "USD" || !isCardCheckout);
18434
+ const isConvertedAmountShown = targetAssetTicker && (!isInputInFiat || meldEnabled && fiatCurrency === "USD" || !meldEnabled);
18370
18435
  const isMeldContinueDisabled = meldEnabled && (!!meldLimitError || isMeldLinkPending || !!meldQuotesQuery.error || meldQuotesQuery.isFetching || isSelectedQuoteUnavailable);
18371
18436
  return /* @__PURE__ */ React150.createElement(
18372
18437
  InputAmountLayout,
@@ -18446,18 +18511,18 @@ function InputAmountLoaded({
18446
18511
  /* @__PURE__ */ React150.createElement(
18447
18512
  FunIconButton,
18448
18513
  {
18449
- icon: !isCardCheckout && /* @__PURE__ */ React150.createElement(SwitchIcon, null),
18514
+ icon: !meldEnabled && /* @__PURE__ */ React150.createElement(SwitchIcon, null),
18450
18515
  paddingY: "1",
18451
18516
  paddingX: "6",
18452
18517
  color: { base: "actionColor", hover: "actionColorHover" },
18453
18518
  onClick: handleIsAmountInAbsoluteToggle,
18454
18519
  borderRadius: "inputAmountSwitcher",
18455
- isDisabled: isCardCheckout
18520
+ isDisabled: meldEnabled
18456
18521
  },
18457
18522
  /* @__PURE__ */ React150.createElement(Text, { color: "secondaryText", size: "14" }, isInputInFiat ? formatCryptoAndStringify4(
18458
18523
  displayAssetAmount,
18459
18524
  targetAssetTicker
18460
- ) : formatCurrencyAndStringify9(fiatAmount))
18525
+ ) : formatCurrencyAndStringify9(fiatAmount ?? 0))
18461
18526
  )
18462
18527
  ),
18463
18528
  amountOptions: (!!usdAvailableAmount || isCardCheckout) && /* @__PURE__ */ React150.createElement(
@@ -18482,8 +18547,11 @@ function InputAmountLoaded({
18482
18547
  nextStep: "meld_quotes" /* MELD_QUOTES */
18483
18548
  }),
18484
18549
  quote: selectedQuote,
18485
- isLoading: meldQuotesQuery.isPending,
18486
- isBestQuote: selectedQuote?.serviceProvider === bestRateQuote?.serviceProvider,
18550
+ isLoading: meldQuotesQuery.isFetching,
18551
+ isBestQuote: isBestPriceQuote(
18552
+ meldQuotesQuery.data,
18553
+ selectedQuote
18554
+ ),
18487
18555
  disabled: !meldQuotesQuery.data || meldQuotesQuery.data.length === 0,
18488
18556
  isPreselected: !manuallySelectedQuote && !!bestRateQuote,
18489
18557
  error: meldLimitError?.issue
@@ -18544,7 +18612,7 @@ function YouPayYouReceiveWrapper({
18544
18612
  }
18545
18613
 
18546
18614
  // src/modals/CheckoutModal/InputAmount/InputAmountLoading.tsx
18547
- import { FlagKey as FlagKey22, formatCryptoAndStringify as formatCryptoAndStringify5 } from "@funkit/utils";
18615
+ import { FlagKey as FlagKey23, formatCryptoAndStringify as formatCryptoAndStringify5 } from "@funkit/utils";
18548
18616
  import React151, { useMemo as useMemo23 } from "react";
18549
18617
  function InputAmountLoading({
18550
18618
  modalState,
@@ -18555,7 +18623,7 @@ function InputAmountLoading({
18555
18623
  const { paymentMethodInfo } = modalState;
18556
18624
  const { checkoutItem } = useCheckoutContext();
18557
18625
  const { unlinkBrokerage } = useFunkitMesh();
18558
- const meldEnabled = useFlag(FlagKey22.EnableMeldPayment);
18626
+ const meldEnabled = useFlag(FlagKey23.EnableMeldPayment);
18559
18627
  const targetAssetAmount = checkoutItem?.initSettings.config.targetAssetAmount;
18560
18628
  const targetAssetTicker = checkoutItem?.initSettings.config.targetAssetTicker;
18561
18629
  const error = useMemo23(() => {
@@ -18856,7 +18924,7 @@ function InputAmount(props) {
18856
18924
  import React155, { useEffect as useEffect29 } from "react";
18857
18925
 
18858
18926
  // src/hooks/usePaymentSources.ts
18859
- import { FlagKey as FlagKey23, isNotNullish as isNotNullish8 } from "@funkit/utils";
18927
+ import { FlagKey as FlagKey24, isNotNullish as isNotNullish8 } from "@funkit/utils";
18860
18928
  function useRemainingMeshExchangeConnections(selected) {
18861
18929
  const { getActiveConnection } = useFunkitMesh();
18862
18930
  const supportedExchanges = useSupportedExchanges();
@@ -18885,10 +18953,10 @@ function usePaymentMethodEnablement({
18885
18953
  checkoutConfig
18886
18954
  }) {
18887
18955
  const { apiKey, uiCustomizations } = useFunkitConfig();
18888
- const isTokenTransferFlagEnabled = useFlag(FlagKey23.EnableTokenTransfer);
18956
+ const isTokenTransferFlagEnabled = useFlag(FlagKey24.EnableTokenTransfer);
18889
18957
  const isFiatFlagEnabled = useFiatEnabled();
18890
- const isCardFlagEnabled = useFlag(FlagKey23.EnableCard);
18891
- const isBrokerageFlagEnabled = useFlag(FlagKey23.EnableBrokerage);
18958
+ const isCardFlagEnabled = useFlag(FlagKey24.EnableCard);
18959
+ const isBrokerageFlagEnabled = useFlag(FlagKey24.EnableBrokerage);
18892
18960
  const isKatanaEarnFlowAction = isKatanaEarnFlow({ apiKey, checkoutConfig });
18893
18961
  const isUsKatanaUser = useIsUsKatanaUser();
18894
18962
  const isFiatEnabled = isFiatFlagEnabled && !isKatanaEarnFlowAction;
@@ -18939,10 +19007,10 @@ var usePaymentSources = (paymentMethodInfo, targetChainId, checkoutConfig) => {
18939
19007
  const isBankInNewSources = !matchingFiatAccount && isUserLoggedIn && isFiatEnabled;
18940
19008
  const newSources = [
18941
19009
  isTokenInNewSources && "token_transfer" /* TOKEN_TRANSFER */,
19010
+ !fallback2.includes("card" /* CARD */) && isCardEnabled && "card" /* CARD */,
18942
19011
  isBrokerageEnabled && "brokerage" /* BROKERAGE */,
18943
19012
  isBankInNewSources && "virtual_bank" /* VIRTUAL_BANK */,
18944
- isWalletInNewSources && "balance" /* ACCOUNT_BALANCE */,
18945
- !fallback2.includes("card" /* CARD */) && isCardEnabled && "card" /* CARD */
19013
+ isWalletInNewSources && "balance" /* ACCOUNT_BALANCE */
18946
19014
  ].filter((b) => !!b);
18947
19015
  return {
18948
19016
  preferred: connected.length > 0 ? connected : fallback2,
@@ -19550,7 +19618,7 @@ import {
19550
19618
  meshExecuteTransfer,
19551
19619
  meshExecuteTransferProxy
19552
19620
  } from "@funkit/api-base";
19553
- import { ClientError as ClientError4, FlagKey as FlagKey24, formatAddress as formatAddress4 } from "@funkit/utils";
19621
+ import { ClientError as ClientError4, FlagKey as FlagKey25, formatAddress as formatAddress4 } from "@funkit/utils";
19554
19622
  import React172, { useMemo as useMemo26, useState as useState38 } from "react";
19555
19623
  import { createPortal as createPortal9 } from "react-dom";
19556
19624
 
@@ -20048,7 +20116,7 @@ function MeshVerification({
20048
20116
  const executionStatus = executionContent?.status;
20049
20117
  const { checkoutItem } = useCheckoutContext();
20050
20118
  const bottomSectionRef = useBottomSectionRef();
20051
- const enableFrogProxyServer = useFlag(FlagKey24.EnableFrogProxyServer);
20119
+ const enableFrogProxyServer = useFlag(FlagKey25.EnableFrogProxyServer);
20052
20120
  const handleCompletion = useEffectEvent(async (finalOtpInput) => {
20053
20121
  try {
20054
20122
  setIsExecuting(true);
@@ -21076,13 +21144,13 @@ var ReceiveTokenDropdown = ({
21076
21144
 
21077
21145
  // src/components/NewTokenDepositAlert/NewTokenDepositAlert.tsx
21078
21146
  import React182 from "react";
21079
- import { FlagKey as FlagKey25, safeParseJson as safeParseJson4 } from "@funkit/utils";
21147
+ import { FlagKey as FlagKey26, safeParseJson as safeParseJson4 } from "@funkit/utils";
21080
21148
  var NewTokenDepositAlert = ({
21081
21149
  onClick
21082
21150
  }) => {
21083
- const alertJson = useFlag(FlagKey25.NewTokenAssetSelectionBanner);
21151
+ const alertJson = useFlag(FlagKey26.NewTokenAssetSelectionBanner);
21084
21152
  const alertData = safeParseJson4(alertJson);
21085
- const isTokenTransferEnabled = useFlag(FlagKey25.EnableTokenTransfer);
21153
+ const isTokenTransferEnabled = useFlag(FlagKey26.EnableTokenTransfer);
21086
21154
  if (!alertData || !isTokenTransferEnabled) return null;
21087
21155
  return /* @__PURE__ */ React182.createElement(
21088
21156
  FunAlert,
@@ -21563,7 +21631,7 @@ function SelectMeshAsset({
21563
21631
  )) : null;
21564
21632
  const accountHoldings = data ?? {};
21565
21633
  const totalBalance = getTotalAssetBalance(accountHoldings);
21566
- return /* @__PURE__ */ React183.createElement(React183.Fragment, null, /* @__PURE__ */ React183.createElement(Box, { display: "flex", gap: "8", flexDirection: "column" }, /* @__PURE__ */ React183.createElement(
21634
+ return /* @__PURE__ */ React183.createElement(React183.Fragment, null, isOstiumCustomer(apiKey) ? /* @__PURE__ */ React183.createElement(NewTokenDepositAlert, { onClick: onTokenTransfer }) : /* @__PURE__ */ React183.createElement(Box, { display: "flex", gap: "8", flexDirection: "column" }, /* @__PURE__ */ React183.createElement(
21567
21635
  SourcePaymentMethodItem,
21568
21636
  {
21569
21637
  type: paymentMethodInfo.paymentMethod,
@@ -21739,7 +21807,7 @@ function SelectBrokerage({
21739
21807
 
21740
21808
  // src/modals/CheckoutModal/SourceChange/SourceChange.tsx
21741
21809
  import { BridgeCustomerStatus as BridgeCustomerStatus6 } from "@funkit/api-base";
21742
- import { FlagKey as FlagKey26 } from "@funkit/utils";
21810
+ import { FlagKey as FlagKey27 } from "@funkit/utils";
21743
21811
  import React186, { useEffect as useEffect36, useState as useState45 } from "react";
21744
21812
  import { createPortal as createPortal12 } from "react-dom";
21745
21813
 
@@ -21908,6 +21976,7 @@ var ConnectedSource = ({
21908
21976
  onSelect,
21909
21977
  onBrokerageError
21910
21978
  }) => {
21979
+ const { apiKey } = useFunkitConfig();
21911
21980
  if (paymentInfo.paymentMethod === "balance" /* ACCOUNT_BALANCE */) {
21912
21981
  const isSelected2 = selectedPaymentInfo?.paymentMethod === "balance" /* ACCOUNT_BALANCE */;
21913
21982
  return /* @__PURE__ */ React186.createElement(
@@ -21915,7 +21984,7 @@ var ConnectedSource = ({
21915
21984
  {
21916
21985
  isActive: isSelected2,
21917
21986
  onClick: onSelect,
21918
- customValueIcon: isSelected2 ? /* @__PURE__ */ React186.createElement(CheckIcon, null) : null,
21987
+ customValueIcon: isSelected2 && !isOstiumCustomer(apiKey) ? /* @__PURE__ */ React186.createElement(CheckIcon, null) : null,
21919
21988
  targetChainId
21920
21989
  }
21921
21990
  );
@@ -21936,8 +22005,9 @@ var ConnectedSource = ({
21936
22005
  ConnectedMeshPaymentMethodItem,
21937
22006
  {
21938
22007
  paymentMethodInfo: paymentInfo,
21939
- isSelected,
22008
+ isActive: isSelected,
21940
22009
  onSelect,
22010
+ customValueIcon: isSelected && !isOstiumCustomer(apiKey) ? /* @__PURE__ */ React186.createElement(CheckIcon, null) : null,
21941
22011
  onBrokerageError,
21942
22012
  targetChainId
21943
22013
  }
@@ -21956,7 +22026,7 @@ function SourceChange({
21956
22026
  const { data: fiatAccounts } = useVirtualFiatAccounts();
21957
22027
  const matchingFiatAccount = useMatchingVirtualFiatAccount(fiatAccounts);
21958
22028
  const { apiKey, textCustomizations } = useFunkitConfig();
21959
- const enableMeldPayment = useFlag(FlagKey26.EnableMeldPayment);
22029
+ const enableMeldPayment = useFlag(FlagKey27.EnableMeldPayment);
21960
22030
  const hasAutoContinue = !isOstiumCustomer(apiKey);
21961
22031
  useEffect36(() => {
21962
22032
  if (!paymentMethodInfo) return;
@@ -22128,7 +22198,7 @@ function SourceChange({
22128
22198
  }
22129
22199
 
22130
22200
  // src/modals/CheckoutModal/TransferToken/TransferToken.tsx
22131
- import { FlagKey as FlagKey29 } from "@funkit/utils";
22201
+ import { FlagKey as FlagKey30 } from "@funkit/utils";
22132
22202
  import { motion as motion8, useAnimationControls as useAnimationControls3 } from "motion/react";
22133
22203
  import React200, { useEffect as useEffect37, useRef as useRef15, useState as useState48 } from "react";
22134
22204
  import { createPortal as createPortal13 } from "react-dom";
@@ -22190,13 +22260,13 @@ function CopyInputDisplayedAddress({
22190
22260
  }
22191
22261
 
22192
22262
  // src/components/Dropdown/TokenDropdown.tsx
22193
- import { FlagKey as FlagKey27, safeParseJson as safeParseJson5 } from "@funkit/utils";
22263
+ import { FlagKey as FlagKey28, safeParseJson as safeParseJson5 } from "@funkit/utils";
22194
22264
  import React189, { useState as useState46 } from "react";
22195
22265
  var TOKEN_ICON_SIZE2 = 16;
22196
22266
  var useNewTokens = () => {
22197
- const bannerJson = useFlag(FlagKey27.NewTokenAssetSelectionBanner);
22267
+ const bannerJson = useFlag(FlagKey28.NewTokenAssetSelectionBanner);
22198
22268
  const bannerData = safeParseJson5(bannerJson);
22199
- const newBadgeTokensJson = useFlag(FlagKey27.TokenTransferNewTokens);
22269
+ const newBadgeTokensJson = useFlag(FlagKey28.TokenTransferNewTokens);
22200
22270
  const newBadgeData = safeParseJson5(newBadgeTokensJson);
22201
22271
  const newTokens = newBadgeData && Object.values(newBadgeData).flat();
22202
22272
  const newUniqueTokens = new Set(newTokens);
@@ -22887,12 +22957,12 @@ var TransferTokenDetails = ({
22887
22957
 
22888
22958
  // src/hooks/useTokenTransfer.ts
22889
22959
  import { solanaChain as solanaChain2 } from "@funkit/chains";
22890
- import { FlagKey as FlagKey28 } from "@funkit/utils";
22960
+ import { FlagKey as FlagKey29 } from "@funkit/utils";
22891
22961
  import { mainnet as mainnet8, polygon as polygon5 } from "viem/chains";
22892
22962
  var useTokenTransfer = (selectedChainId, selectedToken) => {
22893
22963
  const { checkoutItem } = useCheckoutContext();
22894
22964
  const enableUniversal = useFlag(
22895
- FlagKey28.EnableTokenTransferUniversalDepositAddress,
22965
+ FlagKey29.EnableTokenTransferUniversalDepositAddress,
22896
22966
  false
22897
22967
  );
22898
22968
  const estPriceImpact = usePriceImpactEstimation(selectedToken);
@@ -22923,7 +22993,7 @@ var useTokenTransfer = (selectedChainId, selectedToken) => {
22923
22993
  };
22924
22994
  };
22925
22995
  var useMinTransferValue = (selectedChainId) => {
22926
- const minTransferValueJsonString = useFlag(FlagKey28.MinTokenTransferValue);
22996
+ const minTransferValueJsonString = useFlag(FlagKey29.MinTokenTransferValue);
22927
22997
  const minTransferValue = safeJSONParse(
22928
22998
  minTransferValueJsonString
22929
22999
  );
@@ -22957,7 +23027,7 @@ var getMaxSlippage = (sourceToken, targetToken, isSameChain) => {
22957
23027
  // src/modals/CheckoutModal/TransferToken/TransferToken.tsx
22958
23028
  var TransferTokenInfo = {
22959
23029
  Component: TransferToken,
22960
- disableBack: () => true,
23030
+ disableBack: ({ apiKey }) => !isOstiumCustomer(apiKey),
22961
23031
  onNext: (state) => {
22962
23032
  const common = extractCommonState(state);
22963
23033
  return {
@@ -22976,14 +23046,14 @@ function TransferToken({
22976
23046
  const defaultValues = modalState.transferToken;
22977
23047
  const controls = useAnimationControls3();
22978
23048
  const [qrCodeHover, setQrCodeHover] = useState48(false);
22979
- const { textCustomizations } = useFunkitConfig();
23049
+ const { textCustomizations, apiKey } = useFunkitConfig();
22980
23050
  const { checkoutItem } = useCheckoutContext();
22981
23051
  const checkoutConfig = checkoutItem?.initSettings.config;
22982
23052
  const { transferInit } = useCheckoutTransferInit(checkoutConfig);
22983
23053
  const filteredAssets = useEnabledTokenTransferChainTokens(
22984
23054
  transferInit ?? null
22985
23055
  );
22986
- const defaultChainIdFlag = useFlag(FlagKey29.TokenTransferDefaultChainId);
23056
+ const defaultChainIdFlag = useFlag(FlagKey30.TokenTransferDefaultChainId);
22987
23057
  const defaultChainId = defaultValues?.chainId ?? Number(defaultChainIdFlag);
22988
23058
  const validDefaultChainId = filteredAssets[defaultChainId] !== void 0 ? defaultChainId : polygon6.id;
22989
23059
  const [selectedChainId, setSelectedChainId] = useState48(validDefaultChainId);
@@ -23029,7 +23099,7 @@ function TransferToken({
23029
23099
  justifyContent: "center",
23030
23100
  gap: "18"
23031
23101
  },
23032
- /* @__PURE__ */ React200.createElement(Box, { display: "flex", flexDirection: "column", width: "full" }, /* @__PURE__ */ React200.createElement(
23102
+ !isOstiumCustomer(apiKey) && /* @__PURE__ */ React200.createElement(Box, { display: "flex", flexDirection: "column", width: "full" }, /* @__PURE__ */ React200.createElement(
23033
23103
  SourcePaymentMethodItem,
23034
23104
  {
23035
23105
  type: "token_transfer" /* TOKEN_TRANSFER */,
@@ -23427,7 +23497,7 @@ var AccountDetailsScreen = ({
23427
23497
  const { paymentMethodInfo } = modalState;
23428
23498
  const { matchingFiatAccount } = paymentMethodInfo;
23429
23499
  const label = usePaymentMethodInfoLabel(paymentMethodInfo);
23430
- const { appName } = useFunkitConfig();
23500
+ const { appName, apiKey } = useFunkitConfig();
23431
23501
  const { animation, animate } = useAnimatedNavigation(void 0);
23432
23502
  const [activeTab, setActiveTab] = useState49(0);
23433
23503
  const [detailsExpanded, setDetailsExpanded] = useState49(false);
@@ -23443,7 +23513,7 @@ var AccountDetailsScreen = ({
23443
23513
  flexDirection: "column",
23444
23514
  gap: "16"
23445
23515
  },
23446
- /* @__PURE__ */ React204.createElement(
23516
+ !isOstiumCustomer(apiKey) && /* @__PURE__ */ React204.createElement(
23447
23517
  SourcePaymentMethodItem,
23448
23518
  {
23449
23519
  onClick: () => onNext({}),
@@ -27129,16 +27199,16 @@ function ChainModal({ onClose, open }) {
27129
27199
  // src/modals/CheckoutModal/FunCheckoutModal.tsx
27130
27200
  import { FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST as FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST3 } from "@funkit/chains";
27131
27201
  import { LogLevel, initializeRelayClient } from "@funkit/fun-relay";
27132
- import { FlagKey as FlagKey32 } from "@funkit/utils";
27202
+ import { FlagKey as FlagKey33 } from "@funkit/utils";
27133
27203
  import React253, { useRef as useRef24 } from "react";
27134
27204
 
27135
27205
  // src/components/DydxSwitchModalTab/DydxSwitchModalTab.tsx
27136
27206
  import React245, { useCallback as useCallback44 } from "react";
27137
27207
 
27138
27208
  // src/hooks/useFunkitMaxCheckoutUsdInfo.ts
27139
- import { FlagKey as FlagKey30, formatCurrencyAndStringify as formatCurrencyAndStringify15 } from "@funkit/utils";
27209
+ import { FlagKey as FlagKey31, formatCurrencyAndStringify as formatCurrencyAndStringify15 } from "@funkit/utils";
27140
27210
  var useFunkitMaxCheckoutUsdInfo = () => {
27141
- const maxCheckoutUsd = Number(useFlag(FlagKey30.MaxCheckoutUsd));
27211
+ const maxCheckoutUsd = Number(useFlag(FlagKey31.MaxCheckoutUsd));
27142
27212
  const limitText = maxCheckoutUsd === Number.MAX_VALUE ? "no" : formatCurrencyAndStringify15(maxCheckoutUsd, {
27143
27213
  decimalPrecisionForSuffix: 0,
27144
27214
  minimumSignificantDigits: 0,
@@ -27326,13 +27396,13 @@ var FunNotificationShowMoreButton = ({
27326
27396
  import {
27327
27397
  getCheckoutsByUserId as getCheckoutsByUserId2
27328
27398
  } from "@funkit/api-base";
27329
- import { FlagKey as FlagKey31 } from "@funkit/utils";
27399
+ import { FlagKey as FlagKey32 } from "@funkit/utils";
27330
27400
  import { useQuery as useQuery16 } from "@tanstack/react-query";
27331
27401
  var hasCorrectPaymentMethod = (checkout, paymentMethod) => !paymentMethod || checkout.clientMetadata.selectedPaymentMethodInfo?.paymentMethod === paymentMethod;
27332
27402
  var isRecent = (checkout, timestampCutoff) => checkout.createdTimeMs > timestampCutoff;
27333
27403
  var DEFAULT_NOTIF_CUTOFF = 7 * 24 * 60 * 60 * 1e3;
27334
27404
  function useCheckoutRefreshInterval() {
27335
- const str = useFlag(FlagKey31.CheckoutNotificationsRefreshInterval);
27405
+ const str = useFlag(FlagKey32.CheckoutNotificationsRefreshInterval);
27336
27406
  return safeJSONParse(str) || { listRefresh: 50 * 1e3, itemRefresh: 5 * 1e3 };
27337
27407
  }
27338
27408
  var useRecentCheckouts = ({
@@ -28463,7 +28533,7 @@ function FunCheckoutModalInner({
28463
28533
  const hasBack = hasHistoryEntry && !disableBack;
28464
28534
  const checkoutConfig = checkoutItem.initSettings.config;
28465
28535
  const showDydxSwitch = !hasBack && modalState.step !== "checkout_complete" /* CHECKOUT_COMPLETE */;
28466
- const helpButtonUrl = useFlag(FlagKey32.HelpTutorialUrl);
28536
+ const helpButtonUrl = useFlag(FlagKey33.HelpTutorialUrl);
28467
28537
  const { onScroll, topbar, withTopDivider } = useCustomStatusAnimationAboveTopbar({
28468
28538
  depositAddress: checkoutItem.depositAddress ?? void 0,
28469
28539
  isCheckoutDetailView: modalState.step === "checkout_complete" /* CHECKOUT_COMPLETE */,
@@ -30297,9 +30367,9 @@ function cssStringFromTheme(theme, options = {}) {
30297
30367
  }
30298
30368
 
30299
30369
  // src/hooks/useIsFunkitCheckoutActivated.ts
30300
- import { FlagKey as FlagKey33 } from "@funkit/utils";
30370
+ import { FlagKey as FlagKey34 } from "@funkit/utils";
30301
30371
  var useIsFunkitCheckoutActivated = () => {
30302
- const isCheckoutActivated = useFlag(FlagKey33.IsCheckoutActivated);
30372
+ const isCheckoutActivated = useFlag(FlagKey34.IsCheckoutActivated);
30303
30373
  return {
30304
30374
  isActivated: isCheckoutActivated
30305
30375
  };
@@ -30404,7 +30474,7 @@ function setFunkitConnectVersion({ version }) {
30404
30474
  localStorage.setItem(storageKey5, version);
30405
30475
  }
30406
30476
  function getCurrentSdkVersion() {
30407
- return "5.5.10";
30477
+ return "5.5.11";
30408
30478
  }
30409
30479
  function useFingerprint() {
30410
30480
  const fingerprint = useCallback49(() => {